[논문리뷰] CLAY: A Controllable Large-scale Generative Model for Creating High-quality 3D Assets
📑

[논문리뷰] CLAY: A Controllable Large-scale Generative Model for Creating High-quality 3D Assets

Category
딥러닝
Tags
Deep Learning
Paper Review
Text23D
Text2Texture
Published
September 21, 2024
Author
Jay

CLAY: A Controllable Large-scale Generative Model for Creating High-quality 3D Assets

 
 
CLAY 모델을 기반으로한 Deemos Technology의 Text/Image to 3D, Rodin 서비스
CLAY 모델을 기반으로한 Deemos Technology의 Text/Image to 3D, Rodin 서비스

논문에 대한 나의 생각

  • Geometry Generative Model
    • Geometry를 생성하는 새로운 Baseline을 제시
    • Diffusion Transformer 구조를 Scalable하게 설계하여 모델 퍼포먼스 향상
    • 3D 데이터는 Objaverse와 ShapeNet에서 좋은 527k개 뽑았고, 직접 Remeshing/Labeling
    • 모델 사이즈도 다양하게 실험해보았고, mesh의 topology도 기존과 확연히 차이나게 👍
  • Material Diffusion Model
    • Objaverse에서 좋은 PBR 에셋 4만개 뽑음
    • MVDream(Multi-View Diffusion)을 수정하여 4-View Material Diffusion 학습시킴
      • Normal ControlNet 및 LoRA를 붙였는데, 이 부분에 대한 자세한 서술이 없음..
      • 이것으로 Texture 상의 Mesh-Alignment를 잘 보존 하는 것 같은데, 확인 필요
    • Diffuse / Roughness / Metallic Map을 TEXTure의 Texture Projection(gradient-based optimization) 방법론으로 생성
      • 서비스 상에서 확인해 보았을 때, color 요소만 Diffuse로 깔끔하게 분리됨 👍
      • 왜 Albedo라고 표현하지 않았을까?
    • Text2Tex 방식(Automatic Viewpoint Selection)으로 Occlusion을 채움
      • 서비스 상에선 Occlusion이 거의 없는데, 과연 이 방식으로 해결하는지? 확인 필요
  • 개인적인 감상
    • Siggraph Best 페이퍼 받을만 했던 것 같음. Novelty + 성능 + 좋은 시스템 모두 챙김
    • Geometry Gen + Material Gen의 2-Stage 컨셉이 좋았고, 처음으로 그럴듯한 PBR 결과물이 나와준 것 같아 놀랍다.
    • 다만, 결국에는 3D Gen도 scalable한 transformer 기반 모델 + 대규모 Data의 싸움으로 가는 것일까? 만약 그렇다면, 향후 어떤식으로 연구를 전개해 나가야 할지에 대한 개인적인 고민
      • 결국엔 LLM처럼 자본과 데이터 싸움으로 귀결이 되는 것일지..
      • 아니면, 학습에 활용할 수 있는 절대적인 RealWorld Data가 부족하다는 3D / Graphics 도메인의 특징에 기반하여 새로운 Approach가 대세가 될지
      • 흐름을 꾸준히 지켜봐야 할 것 같다.
 

1. Introduction

  • 3D 생성 기법은 크게 두가지 전략이 존재
    • [A] 2D 생성 모델을 3D로 확장(SDS 등)하는 전략
      • 장점: 생성 결과의 다양성
      • 단점: 3D 이해도 떨어짐 → 높은 geometric fidelity를 유지하는데 실패함
    • [B] 3D 데이터셋으로부터 학습하는 전략
      • 장점: geometric fidelity를 더 잘 이해하고 보존함
      • 단점: 큰 데이터셋을 얻기 힘들고, 그 문제가 결국 3D 생성 기술이 풀고자하는 문제와 연결됨
  • 본 논문은 [A] 2D 기반 / [B] 3D 기반 생성을 결합 = “pretrain-then-adaptation” 패러다임을 제시
    • Geometry 생성
      • 3D native geometry generator(1.5B)
        • 구성 = 3DShape2VecSet, VAE, DiT (Diffusion Transformer)
      • 새로운 3D 데이터 전처리 파이프라인 활용 (remesh), GPT-4V 라벨링)
    • Material 생성
      • Multi-view material diffusion model으로 4 View 생성 후 → Projection
      • Trained on high-quality PBR textures(diffuse, roughness, and metallic) from Objaverse
       

3. Large-Scale 3D Generative Model

  • 3D 생성 모델 개발에서 어려운 점들
    • 어떻게 3D 모델을 정의할 것이냐?
      • Type-1. geometry with per-vertex color
      • Type-2. geometry with texture map
    • 3D appearence(NeRF/ GS) 데이터에서 추출할 것이냐 / 직접 생성할 것이냐?
  • CLAY에서는 간단하게 Geometry 생성과 Texture 생성으로 나누었다. (Type-2)
    • 이것은 3D Geometty 생성에서 2D Generation을 활용하지 않겠다는 의미
    • 실험을 통해 3D Geometry 생성 모델의 사이즈를 키우고, 데이터를 늘리면 Diversity와 Quality 면에서 기존 2D 기반 모델들을 압도하는 것을 알 수 있었다.
  • 간단히 말해서 CLAY는 Large 3D Generative Model 이며 1.5B 사이즈이다.
    • 구조적으로(Architecture-Wise)
      • CLAY는 새로운 Multi-Resolution VAE를 통해 3DShape2VecSet의 생성모델을 확장함.
      • 이 확장은 Geometry의 encoding과 decoding을 훨씬 효율적이게 함
      • 추가로, probabilistic Geomenry 생성을 위해 발전된 Dithusion Transtormer(DiT)를 추가함.
    • 데이터셋 적으로(Dataset-Wise)
      • Remeshing 파이프라인 개발
      • GPT-4V annotation 스키마 개발 (기존 3D 데이터셋을 standardize unify 하기 위해)
        • 이 데이터셋들은 다른 포맷 / 일관성 부족으로 그간 못쓰여옴
 

3.1. Representation and Model Architecture

notion image
  • 3D 생성 모델 접근법
    • 2D 생성 모델의 기본 개념과 유사하게, 압축된 latent space에서 3D 데이터 denoising 학습에 중점
    • 3D Space의 복잡성과 연산량을 효과적으로 감소
    • 3DShape VecSet의 representation과 구조를 베이스로, Scale-Up 가능하도록 튜닝
      • 1. 3D geometry를 latent space로 인코딩
        • mesh surface 으로부터 point cloud 를 샘플링 한 뒤,
        • point cloud 가 dynamic shape( x 64)의 latent code 로 인코딩됨
        • Encoder는 transformer 기반 VAE
      • 2. DiT로 를 denoising
        • noise at step t
      • 3. Decoder(VAE)를 통해 Neural Field로 떨굼
        • Isosurface
    • Multi-resolution VAE
      • 페이퍼 참고
      • 모델 Scalability를 확보하는 것이 중요해서, dynamic shape 가능토록 하는 Multi-reoslution VAE 중요했음
    • Coarse-to-fine DiT
      • 페이퍼 참고 (다양한 사이즈 실험결과 존재)
        • notion image
      • This progressive scaling method ensures robust and efficient training of our DiT
      • 학습 디테일 나와있음
    • Scaling-up Scheme
      • 페이퍼 참고
      • Scaling-up CLAY requires enhancing both the VAE and DiT architectures with pre-normalization and GeLU activation, to facilitate faster computation of attention mechanism.
      • Our largest model, the XL, was trained on a cluster of 256 NVidia A800 GPUs, for approximately 15 days, with progressive training
      • Following the insights in Gesmundo and Maile [2023] of Head addition, Heads expansion and Hidden dimension expansion, we progressively scale up the DiT during training. This approach offers benefits such as enhanced time efficiency, improved knowledge retention, and a reduced risk of the model trapped in the local optima
      • 그렇다고 함
      •  

3.2. Data Standardization for Pretraining

  • Large-Scale 3D Generative 모델의 efectiveness / Robustness는 3D 데이터셋의 퀄리티와 스케일에 달려있음. (ex나 image와 다르게 오픈 데이 터셋 부족함
  • 대규모 하이퀄리티 3D 데이터를 얻기 위해서는 비수밀(Non-Watertight) 메쉬, 일관되지 않은 방향, 그리고 부정확한 주석과 같은 문제들을 극복하는 것이 필수적
  • CLAY의 솔루션은 Remeshing 메소드를 개발하는 것, 그리고 GPT-4V로 annotation 하는 것임
  • Standardization 과정
    • 부적합한 데이터 필터링
      • 부적합한 데이터: complex scene, fragmented scans 등
      • 필터링을 통해 527K 데이터 확보 (ShapeNet과 Objaverse에서)
    • Geometry Unification
      • 필터링 후에도 비수밀(Non-Watertight) 메쉬, 즉 닫혀있지 않는 메쉬가 존재했음
      • 이에 Remeshing을 시도했고, Manifold나 mesh-to-sdf, DOGN(Dual Octree Graph Network) 실험함
      • Re-Meshing 기술은 아래의 전략들이 필요
        • (1) 기하학적 보존 - 중요한 기하학적 특징을 최소한의 변경으로 유지할 것
        • (2) 부피 보존- 모든 구조적 요소의 완전성을 보장할 것;
        • (3) 비수밀 메쉬에 대한 적응성
      • DOGN에 영감을 받아 UDF(Unsigned Distance Field) Representation를 채택함.
      • 추가로 메쉬에 구멍이 있는 경우에서 Marching Cube 알고리즘을 통해 isosurface 추출하는 경우 얇은 면만이 추출되는 문제가 있었음
        • we employ a grid-based visibility computation before isosurface extraction S
    • Geometry Annotation
      • SD 등을 봤을 때 프롬프트가 매우 중요함
      • 자체 프롬프트 태그를 개발하고, GPT-4V 를 활용하여 세부적인 주석을 생성
      • 모델이 복잡한 3D 기하학을 세밀한 디테일과 다양한 스타일로 해석하고 생성하는 능력을 향상
 

4. Asset Enhancement

  • CG 파이프라인에서 바로 사용할 수 있도록 하게위해 two-stage 방법 도입
  • post-generation geometry optimization + material synthesis
    • Geometry optimization은 Mesh 다듬기용
    • Material synthesis는 realistic Texture용
  • Mesh Quadrification and Atlasing
    • CLAY에서 Marching Cube 통해 geometry를 얻으면 uneven triangles로 이루어짐.
    • Blender 사용하여 mriangle-face를 quad-face로 바꿈
    • Quadrification 프로세스는 final mesh를 얻는데 매우 중요
 
  • Material Synthesis
    • notion image
    • PBR Material은 Diffuse / Metallic / Roughness로 구성됨.
      • (사실 이 부분은 CLAY와 다르게 Albedo / ORM(Occlusion, Roughness, Metallic) 두 개로 가도 될 듯, 가능하다면..ㅎ)
    • 기존 PBR Material 생성은 이러한 material 중 small subset만을 다룸
      • RichDreamer는 roughness와 metallic 없는 diffuse map 만을 생성
      • 등등
    • Objaverse에서 4만개 Object를 Carefully 선택함
      • (→ 이 부분에 대한 자세한 서술이 없다 ㅠㅠ 어떻게 추렸는지, 어떤 메타데이터를 활용했는지..등)
      • high-quality PBR material을 가짐
      • 이 데이터셋을 활용하여 Multi-View Material Diffusion 개발
        • 기존 방법보다 매우 Speed-Up 함
      • UV Space로는 TEXTure와 유사하게 보냄 (UV Optimization?)
    • MVDream(Multi-View Diffusion)을 수정하여 4-View Material Diffiusion 개발
      • 추가적인 채널과 모달리티에 맞추기 위함
      • HyperHuman 얼굴 텍스쳐 생성기에 영감을 받아서, UNet 변형
      • Othogonal View로 학습시켰고, LORA 파인튜닝도 붙임
      • Normal ControlNet 활용(이게 Geomeury의 Derail을 파악하는 데 중요한 듯)
      • geometry accuracy 유지에 도움이 될뿐만아니라, IP-Adapter 등을 활용해 이미지 input 활용에도 좋음
      • 4-View Material Diffusion으로 생성한 뒤
        • Text2Tex처럼 Adaptive View Selection으로 Inpainting
          • UV에서 인페인팅이 아님 (흠..)
        • Super Resolution 적용하여 2K로 Upscale
          • Real-ESRGAN/ MultiDiffusion 기법
        • 궁금한점. Mesh-Alignment를 어케 맞췄을까?
 

5. Model Adaptation

  • 다양한 control들을 어떻게 주입시켰는지에 대한 설명
  • Pass
 

6. Result

  • 대충 최고다 라는 내용
notion image
 
notion image
notion image