본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
카테고리 없음

[2025-1] 이재호 - CAT3D: Create Anything in 3D with Multi-View Diffusion Models

by jeffy1234 2025. 5. 10.

https://arxiv.org/pdf/2405.10314 - Ruiqi Gao et al

NeurIPS 2024 oral

Project page: https://cat3d.github.io/  

Abstract

 

  • 기존 3D 재구성 기법은 수백~수천 장의 이미지가 필요함.
  • CAT3Dmulti-view diffusion model을 활용해 이 과정을 시뮬레이션하여 소수의 이미지로도 고품질 3D 뷰 생성 가능.
  • 주어진 입력 이미지들과 새로운 뷰포인트(target views)를 기반으로 일관된 novel view 이미지들을 생성.
  • 이 view들은 3D 재구성의 입력으로 사용되어, 다양한 시점에서 렌더링 가능한 3D 표현을 실시간으로 생성할 수 있음.
  • CAT3D는 1분 이내에 3D 장면 전체를 생성할 수 있으며, 기존 단일 이미지 또는 소수 뷰 기반 방식보다 우수한 성능을 보임.

1. Introduction

 

  • 3D 콘텐츠 수요는 높지만, 고품질 3D 생성은 여전히 시간과 자원이 많이 드는 작업임.
  • 최근 NeRF, Instant-NGP, Gaussian Splatting 등의 기법은 2D 이미지를 활용한 3D 생성 가능성을 열었지만, 수백~수천 장의 이미지가 여전히 필요함.
  • 기존 접근법은 입력 제한 상황에서(적은 이미지 등) 각기 다른 해법을 제안했지만, 이 논문은 아예 입력을 늘리는 관점으로 접근:
    • 제한된 관측 상황의 reconstruction 문제를 관측 생성 문제(generation problem) 으로 전환.
  • 최신 비디오 생성 모델은 3D 구조를 반영한 이미지를 생성할 수 있지만, 고비용 샘플링, 제어의 어려움, 부드럽고 짧은 카메라 이동에 대해서만 가능하다는 한계가 있음.
  • 제안하는 CAT3D는 multi-view diffusion model을 통해 novel view를 직접 생성함으로써 이 문제를 해결:
    • 다양한 input (다중 뷰, 단일 이미지, 텍스트(text to image로 생성된 사진을 의미)까지)로부터 고일관성 novel view 생성.
    • 생성된 이미지로 실시간 렌더링 가능한 고품질 3D 표현 생성.
    • 기존 방법들보다 빠르고(1분 이내), 성능에서도 우수하며, 다양한 입력 조건에서 강건하게 작동

2. Related Work

  • 제한된 시야에서 전체 3D 장면을 생성하는 것은 어려움이 있음.
  • 많은 기존 연구는 3D 데이터가 부족하므로 풍부한 2D data 즉, 2D priors에 의존함.

1. 2D priors

  • Text-to-image 모델 등의 사전 학습 모델은 text-to-3D 생성에 유용한 prior 제공.
  • 예시: DreamFusion, Score Distillation Sampling (SDS)
  • 하지만 최적화가 느리고, geometry 품질이 떨어질 수 있음.

2. 2D priors with camera conditioning

  • pose 정보나 이미지 조건을 명시적으로 주입 → 더 정밀한 3D 구성 가능
  • 단점: 각 뷰를 독립적으로 생성 → consistency 부족
  • 여전히 비싼 distillation 과정 필요

3. Multi-view priors

  • 여러 시점 간의 correlation을 학습해 더 강력한 3D prior를 형성
  • 예시: MVDream, ImageDream, Zero123++, SyncDreamer 등
  • CAT3D도 이 계열이며, 3d attention을 활용한 video diffusion과 유사한 아키텍처 사용

4. Video priors

  • video diffusion은 implicit하게 3D 추론 가능
  • 하지만 카메라 제어 및 다양한 scene dynamics 생성에는 제약
  • AnimateDiff, MotionCtrl, SVD-MV 등은 특정 카메라 trajectory에 한정됨
  • CAT3D는 보다 일반적인 multi-view 생성 및 3D scene 생성에 초점

5. feed forward methods

  • 최적화 없이 빠른 3D 생성 가능 (수 초 이내)
  • 하지만 품질은 보통 image-space 기반 방식보다 낮음

3. Method

 

 

  • Step 1: Multi-view Diffusion Model
    • 하나 이상의 입력 뷰를 바탕으로, multi-view diffusion 모델을 사용하여 **다수의 novel view (새로운 시점의 이미지)**를 생성. 이 과정은 다양한 시점에서 일관된 이미지를 생성하는 데 중점을 둠.
  • Step 2: 3D Reconstruction
    • 이렇게 생성된 이미지들을 활용해, robust한 3D 재구성 파이프라인을 적용하여 최종 3D 모델을 구축.

3.1 Multi-View Diffusion Model

 

# 모델 아키텍처

  • 기존 Video LDM 기반 구조를 사용하되, 시간 정보 대신 카메라 포즈 임베딩(camera raymap)을 사용
  • 입력 이미지는 VAE를 통해 latent 공간으로 인코딩됨
  • diffusion 모델은 조건 이미지의 latent를 기반으로 target 이미지 latent의 분포를 모델링
  • text-to-image LDM을 초기화로 사용하고, 2D self-attention(spatial)과 1D attention을 결합하여 3D self-attention 구조로 확장
  • 기존 LDM의 2D residual block 이후에 3D self-attention을 추가하여 최소한의 파라미터 증가로 다중 뷰 연결성을 확보
  • PixelNeRF 없이도 정합된 novel view 생성을 달성

 

# 학습 전략

  • target 이미지 latent에만 noise를 추가하고, diffusion loss는 target에 대해서만 계산
  • conditioning 이미지 latent는 clean하게 유지됨
  • latent 채널 차원에 binary mask를 붙여 조건 이미지와 target 이미지를 구분
  • 한 번에 총 8장의 latent를 사용하며, 조건 이미지 개수는 1장 또는 3장으로 랜덤 설정
  • (N+M=8) N: Conditional view, M: target view
  • target 이미지 수가 늘어나면 학습이 어려워지므로 log signal-to-noise ratio를 log(N)만큼 이동시켜 안정적인 학습을 유도
  • N: number of target images

# Camera Conditioning (Raymap)

  • 각 이미지에 대해 ray origin과 direction을 픽셀 단위로 계산하여 raymap으로 생성
  • 이 raymap은 latent와 동일한 해상도를 가지며, latent에 channel-wise로 concat
  • 첫 번째 조건 이미지의 카메라를 기준으로 상대적인 ray를 사용하여 3D 공간의 위치 및 회전에 불변하도록 설계

 

3.2 Generating Novel Views

입력된 소수의 view로부터 다양한 시점의 일관된 novel views를 생성하여, 3D reconstruction에 필요한 scene 전체를 잘 커버하도록 함.

 

# Camera trajectories

  • 일반적인 object reconstruction보다 3D scene에서는 카메라 경로 설계가 더 복잡함.
  • 다양한 scene에 대응하기 위해 네 가지 유형의 camera path를 사용:
    1. 중심을 기준으로 다른 scale과 높이의 orbital path
    2. 전방을 향한 원형 경로 (forward-facing circle)
    3. 오프셋된 spline path
    4. 원통형 구조를 따라 회전하며 이동하는 spiral path
  • 경로는 scene을 잘 커버해야 하고, object를 통과하지 않아야 함.

# Generating a large set of synthetic views

  • 학습 시 8개의 view만 사용했기 때문에 더 많은 output을 위해 sampling 전략이 필요.
  • 방법:
    • anchor views 7개를 먼저 생성 (greedy 방식)
    • anchor 기준으로 target view를 클러스터링하고, 병렬로 나머지 view들을 생성
  • 효과: 전체 scene을 커버하면서도 local consistency와 long-range dependency를 유지.
  • 생성 개수: single image setting에서는 80 views, few-view setting에서는 480–960 views

# Conditioning larger sets of input views and non-square images

  • conditioning에는 가장 가까운 M개의 view를 선택.
  • view 수를 늘릴 때는 view 수 자체를 단순히 늘리기보다, 가까운 view 기반 그룹 샘플링이 성능이 좋았음.
  • 비정사각형 이미지에 대해서는 중앙 crop을 사용해 정사각형 형태로 통일하여 처리.

3.3 Robust 3D reconstruction

 

멀티뷰 디퓨전 모델이 생성한 이미지들은 고화질이지만 완벽하게 3D 일관성(consistency)을 가지지는 않음.
→ 일반 NeRF는 **정확한 사진(일관된 view)**을 전제로 설계되어, 이러한 synthetic input에 잘 작동하지 않음.

  • 해결 방법:
    기존 NeRF의 학습 절차를 개선한 Zip-NeRF 기반으로 재구성 loss를 보강함.
  1. Photometric Reconstruction Loss
    • 일반적인 픽셀 수준의 차이
  2. Distortion Loss
    • 시점 사이에서 왜곡을 줄임
  3. Interlevel Loss
    • 다중 해상도 사이의 예측 일관성을 유지
  4. L2 Weight Regularizer
    • 모델 파라미터의 복잡도 제어
  5. LPIPS Loss 추가
    • 고수준 의미적(simantic) 유사성 유지
    • 픽셀 디테일보다는 전체 구조 보존에 효과적
  • Loss Weighting
    Generated view가 observed view에서 멀어질수록 불확실성이 커짐
    Generated view가 관측된 view에 가까울수록 loss에 더 적게 반영, 멀수록 더 많이 반영하는 거리 기반 가중치(weighting) 적용
    • 초기엔 균일 가중치
    • 학습이 진행될수록 점진적으로 거리 기반 loss weight로 조정

4. Experiments

 

  • 학습 데이터셋: CAT3D의 멀티뷰 디퓨전 모델은 카메라 포즈가 주어진 네 가지 데이터셋 (Objaverse, CO3D, RealEstate10K, MVImgNet)에서 학습됨.
  • 1. Few-view 3D Reconstruction
    • 5개의 벤치마크 데이터셋 (CO3D, RealEstate10K [in-distribution], DTU, LLFF, mip-NeRF360 [out-of-distribution])에서 평가.
    • 3, 6, 9개의 view reconstruction task에서 SOTA 성능 달성.
    • 기존 ZeroNVS, ReconFusion 대비 수 분 내 생성 가능 (이전 모델은 1시간 소요).
    • 복잡한 장면에서도 뛰어난 디테일 보존과 빠른 생성 속도 제공.

  • 2. Single Image to 3D
    • 단일 이미지만으로 다양한 스케일의 3D 장면 생성 가능.
    • ZeroNVS, RealmDreamer보다 고해상도 결과 생성.
    • ImageDream, DreamCraft3D보다 geometry는 다소 떨어지지만, CLIP score 등에서 경쟁력 유지.
    • IM-3D는 segmented object에 더 나은 성능을 보이나, scene 전체 또는 context 포함한 객체에는 적용 불가.

 

  • Ablation study
    • Image and Pose Conditioning
      • PixelNeRF처럼 feature map 기반 conditioning보다 camera pose를 attention 기반 raymap embedding으로 처리하는 것이 더 일관된 novel view와 3D 재구성을 만듦.
      • Raymap 방식은 모델 복잡도와 파라미터 수도 줄여줌.
    • Views 수 증가
      • 여러 개의 output view (5~7개)를 공동으로 모델링하면 sample metric이 향상되고 3D consistency도 높아짐.
      • 각 view를 독립적으로 모델링하는 것보다 더 일관된 view 생성 가능.
    • Attention Layer 선택
      • 3D self-attention (spatiotemporal)은 2D, 1D attention보다 뛰어난 성능.
      • 하지만 높은 해상도 (64x64)에서는 계산량이 크므로 32x32 이하 feature map에만 적용.
    • Multi-View Diffusion Training
      • pre-trained text-to-image latent diffusion을 초기화로 사용 시 out-of-domain 성능 향상.
      • 다양한 input/output 수를 가진 별도 모델보다, 8개 view를 기반으로 1 또는 3개 condtioning views를 넣은 단일 모델이 모든 설정에서 충분히 잘 작동함.
    • 3D reconstruction
      • LPIPS loss는 고품질 텍스처 및 기하 복원을 위해 매우 중요함.

5. Discussion

  • CAT3D는 어떤 개수의 이미지 입력에서도 novel view를 생성하고, 그것으로 3D reconstruction을 수행하는 통합된 3D 생성 방법.
  • Multi-view diffusion model을 이용하여 일관된 novel view를 생성한 후, 이를 3D 재구성 파이프라인에 활용.
  • 기존 방식처럼 generative prior와 3D extraction을 결합하지 않고 분리된 처리 구조로 효율성과 단순함을 확보.

Limitation

  1. 카메라 intrinsic의 고정
    학습 데이터의 카메라 파라미터가 유사하기 때문에, 다른 intrinsic을 가진 테스트 카메라에는 일반화가 어려움.
  2. Base 모델의 표현력 의존
    텍스트-이미지 모델의 성능에 따라 CAT3D 품질이 달라짐. out-of-distribution 콘텐츠에서는 성능 저하 가능.
  3. 출력 view 수 제한
    한 번에 생성 가능한 view 수가 적고, 너무 많은 view를 만들 경우 모든 view가 3D-consistent하지 않을 수 있음.
  4. 수동 설계된 camera trajectory
    카메라 경로가 수동으로 설계되어야 해서 대규모 자유도 3D 환경에서는 확장에 제약이 있음.