https://arxiv.org/pdf/2405.10314 - Ruiqi Gao et al
NeurIPS 2024 oral
Project page: https://cat3d.github.io/
Abstract
- 기존 3D 재구성 기법은 수백~수천 장의 이미지가 필요함.
- CAT3D는 multi-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를 사용:
- 중심을 기준으로 다른 scale과 높이의 orbital path
- 전방을 향한 원형 경로 (forward-facing circle)
- 오프셋된 spline path
- 원통형 구조를 따라 회전하며 이동하는 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를 보강함.
- Photometric Reconstruction Loss
- 일반적인 픽셀 수준의 차이
- Distortion Loss
- 시점 사이에서 왜곡을 줄임
- Interlevel Loss
- 다중 해상도 사이의 예측 일관성을 유지
- L2 Weight Regularizer
- 모델 파라미터의 복잡도 제어
- 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는 고품질 텍스처 및 기하 복원을 위해 매우 중요함.
- Image and Pose Conditioning
5. Discussion
- CAT3D는 어떤 개수의 이미지 입력에서도 novel view를 생성하고, 그것으로 3D reconstruction을 수행하는 통합된 3D 생성 방법.
- Multi-view diffusion model을 이용하여 일관된 novel view를 생성한 후, 이를 3D 재구성 파이프라인에 활용.
- 기존 방식처럼 generative prior와 3D extraction을 결합하지 않고 분리된 처리 구조로 효율성과 단순함을 확보.
Limitation
- 카메라 intrinsic의 고정
학습 데이터의 카메라 파라미터가 유사하기 때문에, 다른 intrinsic을 가진 테스트 카메라에는 일반화가 어려움. - Base 모델의 표현력 의존
텍스트-이미지 모델의 성능에 따라 CAT3D 품질이 달라짐. out-of-distribution 콘텐츠에서는 성능 저하 가능. - 출력 view 수 제한
한 번에 생성 가능한 view 수가 적고, 너무 많은 view를 만들 경우 모든 view가 3D-consistent하지 않을 수 있음. - 수동 설계된 camera trajectory
카메라 경로가 수동으로 설계되어야 해서 대규모 자유도 3D 환경에서는 확장에 제약이 있음.