zero 123#

Information

Abstract : Zero-shot One Image to 3D Object#


  1. 단일 RGB 이미지를 입력으로 Object 의 카메라 viewpoint 를 변경하여 이미지를 합성하는 프레임워크

  2. 제한된 셋팅 하에서 다중 view 합성 수행을 위해 large-scale diffusion model 의 Geometric priors 활용

    1. 조건부 diffusion 모델은 특정 카메라 시점 변형 하에 동일 객체의 새로운 이미지들을 생성할 수있는 상대적인 카메라 시점의 조정(control) 을 학습하기 위해 3D 합성 데이터셋 사용

    2. 합성 데이터셋에서 훈련되었음에도 wild images , OOD(out-of-distribution) 데이터 등에 대해 강력한 zero-shot 일반화 능력 보유

  3. viewpoint-conditioned diffusion 접근법은 단일 이미지로부터의 3D 재구성을 위해서도 사용 가능

1. Introduction#


  1. 인간의 3D 인지 능력

    • 사람은 단일 시점의 이미지에서도 물체의 3D 형태와 외형을 상상 가능

    • 대칭과 같은 기하학적 prior에 의존하기도 하지만 물리적 제약을 넘는 일반화가 가능

    • 현실에 존재하지 않는 객체의 3D 형태까지 예측할 수 있는 능력은 평생동안의 시각적 경험에서 축적된 사전지식(prior)를 기반으로 함.

  2. 기존 3D 재구성 접근 방식의 한계

    • 대부분의 3D 이미지 재구성 접근 방식은 closed-world setting에 제한

      • 고비용 3D annotation(CAD model) 과 카테고리별 prior에 의존

      • CO3D 등 대규모 데이터셋으로 open-world 재구성 연구가 진전되었으나 여전히 stereo view나 카메라 포즈 정보들과 같은 학습을 위한 기하적 정보가 필요

      • large-scale diffusion 모델의 성공을 가능하게 한 인터넷 규모의 text-image 데이터셋들과 비교할 때 아직 3D 데이터의 수집 규모는 미미한 상태

  3. diffusion 모델의 인터넷 규모 사전 학습과 한계

    • 인터넷 규모의 사전학습은 large-scale diffusion model 에 풍부한 semantic prior 를 부여

    • 하지만, 여전히 기하학적 정보 캡처 능력은 부족

  4. Zero 1-to-3 를 제안

    • Zero 1-to-3 :

      • Stable Diffusion과 같은 large-scale diffusion 모델이 단일 RGB 이미지를 입력으로,

      1. zero-shot novel view synthesis

      2. 3D shape reconstruction 를 수행하기 위해 카메라 view point(시점)을 조작을 컨트롤하는 매커니즘 학습

    • 주어진 단일 RGB 이미지 입력하에 이러한 TASK를 수행 하는 것은 매우 많은 제약이 존재 → Diffusion 모델을 기반으로 다양한 시점에서 방대한 객체 이미지를 생성하여 이용

      • Diffusion 모델은 카메라 포즈 없이 2D 이미지에 대한 학습만 수행되었으므로, 파인튜닝을 통해 상대적인 카메라 회전 및 이동을 컨트롤하여 새로운 시점의 이미지를 생성하는 접근법 제시

      • 파인튜닝을 통해 선택한 다른 카메라 시점에서의 임의의 이미지를 생성 가능

3. Methods#

  • 목표 : 주어진 단일 RGB 이미지 \(x \in \mathbb{R}^{H \times W \times 3}\) 를 입력으로, 다른 카메라 시점에서의 객체 이미지를 합성

  • 카메라 변환

    • \(R \in \mathbb{R}^{3 \times 3}\) : relative camera rotation

    • \(T \in \mathbb{R}^{3}\) : relative camera translation

  • 모델 학습

    • 함수 \(f\) 를 학습하여 새로운 이미지를 합성

      \[ \hat{x}_{R,T} = f(x, R, T) \]
      • \(*x\) : 주어진 단일 RGB 이미지 \((x \in \mathbb{R}^{H \times W \times 3})\)*

      • \(*\hat{x}_{R,T}\) :* 합성 이미지

      • \(\hat{x}_{R,T}\) 가 실제지만 관측되지 않은 새로운 view \(x_{R,T}\) 와 지각적으로 유사하도록 추정

  • 단일 RGB 이미지에서 새로운 시점으로의 합성은 많은 제약사항이 존재 (단일 이미지로 많은 정보를 예측해야 하므로)

  • large-scale Diffusion(Stable Diffusion)을 활용하여 태스크 수행

    • 프롬프트로부터 다양한 이미지를 생성할 때 갖는 뛰어난 zero-shot 능력을 활용

  • large-scale Diffusion에서 3D 정보를 추출하는 능력을 저해하는 요인 두가지

    1. 뷰포인트 간의 명확한 대응 관계의 부족 : 대규모 생성 모델들은 다양한 객체와 시점에서 훈련되었지만, 서로 다른 시점들 간의 연관성을 명시 으로 인코딩하지 않음.

    2. 인터넷 규모 데이터셋에 반영된 뷰포인트 편향 : 생성 모델들은 인터넷에서 반영된 시점 편향을 물려받아, 특정한 자세 및 시점에서의 이미지를 생성하는 경향 존재

3.1. Learning to Control Camera Viewpoint#

  • 목표: Diffusion 모델을 통해, 촬영된 이미지에서 카메라의 외부 매개변수를 제어할 수 있는 메커니즘을 학습하여 새로운 시점의 이미지를 합성하는 것.

  • 데이터셋: 이미지 쌍과 상대적 카메라 외부 매개변수로 구성된 데이터셋 \({ (x, x_{(R,T)}, R, T) }\)

  • 접근법 [Figure3]

  • 사전 훈련된 diffusion 모델을 미세조정하여 나머지 표현을 손상시키지 않고 카메라 파라미터를 제어하도록 학습.

  • Latent Diffusion Architecture 를 이용

    • [참고] LDM

    • Encoder(\(\mathcal{E}\)), Denoiser(U-Net, \(\epsilon_\theta\)), Decoder(\(\mathcal{D}\))로 구성

    • The Objective

      \[ \text{min}_{\theta} \mathbb{E}_{z \sim \mathcal{E}(x), t, \epsilon \sim \mathcal{N}(0, 1)} \left\| \epsilon - \epsilon_{\theta}(z_t, t, c(x, R, T)) \right\|^2_2 \]
      • \(z \sim \mathcal{E}(x)\): \(x\) 에 대한 Encoder의 출력

      • \(t ∼ [1, 1000]\) : Diffusion time step

      • \(\epsilon \sim \mathcal{N}(0, 1)\): 가우시안 노이즈 샘플.

      • \(c(x, R, T)\) : input view 와 상대적 camera extrinsic 임베딩

    • \(\epsilon_\theta\) 가 훈련된 후, 추론 모델 \(f\)\(c(x, R, T)\) 를 조건으로 가우시안 noise image로부터 반복적인 denoising 을 통해 이미지를 생성

  • 본 방법론의 효과

    • 사전 훈련모델에 대한 이러한 방식의 파인튜닝을 통해 모델은 카메라 viewpoints 통제를 위한 일반적인 메커니즘을 학습 가능

      → fine tuning 데이터셋에서 보이는 객체 외부의 정보를 외삽

    • fine tuning 을 통해 제어 기능이 “부착”될 수 있고 diffusion의 포토리얼리스틱 이미지 생성 능력을 유지

    • 이러한 compositionality(구성 가능성)는 모델에서 제로샷 기능을 확립하며, 최종모델은 3D assets 이 부족하고 fine-tuning 집합에 존재하지 않는 객체 클래스에 대한 새로운 뷰를 합성 가능

3.2. View-Conditioned Diffusion#

  • 단일이미지로부터 3D 객체를 재구성하기 위해 저수준 인식(깊이, 음영, 텍스처 등)과 고수준 이해(형태, 기능, 구조 등) 모두를 필요로 함.

→ 하이브리드 조건부 메커니즘 채택: 두 가지 스트림을 결합

  1. 1st Stream

    • 입력 이미지를 CLIP(Contrastive Language–Image Pretraining) 임베딩으로 변환

    • 이 CLIP 임베딩에 카메라의 상대적인 회전(\(R\))과 변환(\(T\))를 연결하여 “posed CLIP” 임베딩인 \(c(x, R, T)\)을 생성

    • 이 임베딩을 통해 고수준의 의미 정보를 제공하는 cross-attention을 U-Net의 디노이징 과정에 적용

  2. 2nd Stream

    • input image 와 denoising 중의 이미지를 channel-concatenated

    • 모델이 합성되는 중인 객체의 identity 와 details 을 유지하도록 함.

  • classifier-free guidance 적용을 위해 이미지와 posed CLIP 임베딩을 무작위로 영(0) 벡터로 설정하고, 추론 중 조건부 정보를 스케일링하는 메커니즘

3.3 3D Reconstruction#

  • 많은 응용에서, 객체의 새로운 뷰를 합성하는 것만으로는 충분하지 않으며, 객체의 외관과 기하 구조를 모두 캡처하는 전체 3D 재구성이 필요

  • **Score Jacobian Chaining(SJC)**을 채택하여, 텍스트-이미지 확산 모델의 사전 정보를 사용하여 3D 표현을 최적화

    • diffusion모델의 확률적 특성으로 인해, 그래디언트 업데이트가 매우 불확실하게 변함.

    • DreamFusion을 기반으로 한 SJC에서 사용된 기술로, classifier-free guidance 값을 기존보다 상당히 증가 → 각 샘플의 다양성 감소 & reconstruction 의 fiderlity 향상

    • SJC : Dream Fusion 에서 NeRF로 만들어지는 이미지는 pretrained된 Diffusion Model을 학습시킬 때, 없었던 확률 분포이기 때문에 OOD (Out of Distribution) 문제가 발생 참고

  • 3D reconstruction with Zero-1-to-3 [Figure4]

    1. SJC 와 유사하게 임의의 뷰포인트를 샘플링하고, 볼륨 렌더링을 수행

    2. 볼륨 렌더링으로 생성된 이미지에 가우시안 노이즈를 주입

    3. input 이미지 \(x\), CLIP 임베딩 \(c(x, R, T)\) 및 타임스텝 \(t\) 를 조건부로 Denoising U-Net, \(\epsilon_\theta\)을 사용하여 non-noisy input \(x_π\)에 대한 스코어를 근사

    \[ \nabla \mathcal{L}_{SJC} = \nabla _{I_{\pi}} \log p_{\sqrt{2}\epsilon}(x_{\pi}) \]
    • \(\nabla \mathcal{L}_{SJC}\) : PAAS 스코어

  • 입력 뷰와의 MSE 손실로 최적화

  • NeRF representation 규제를 위한 추가 loss term

    • Depth smoothness loss to every sampled viewpoint

    • near-view consistency loss : 근접 뷰 간의 외관 변화(appearance change)를 규제, 가까운 뷰 간의 일관성을 유지

3.4. Dataset#

  • Dataset : Objaverse, 800K+ 3D models created by 100K+ artists

  • 데이터 구성

    • ShapeNet과 같이 명시적인 클래스 레이블이 없지만, 다양한 고품질 3D 모델을 포함

    • 모델은 정교한 기하학적 세부사항과 재질 속성을 갖춘 많은 모델을 포함

  • Camera Extrinsics matrices 샘플링

    • 각 객체에 대해, 객체 중심을 가리키는 12개 카메라 외부 매트릭스 \(\mathcal{M}_{\rceil}\)를 무작위로 샘플링

    • 각 객체에서 12개 뷰를 ray 트레이싱 엔진을 사용해 렌더링합니다.

  • Training

    • 각 객체에 대해 이미지 쌍\((x, x_{R,T})\)을 형성하기 위해 2개 뷰를 샘플링

    • 이 때 두 시점간의 맵핑을 정의하는 relative viewpoint transformation\((R, T)\) 는 두 시점 각각의 extrinsic matrices 를 통해 쉽게 유도 가능

  • 카메라 외부 파라미터 (Camera Extrinsics)

    • 3D 장면 내에서 카메라의 위치와 방향을 정의하는 요소

    • 카메라의 시점과 실제 세계 좌표계(World Coordinate system)를 연결하여, 특정 객체가 3D 공간에서 정확히 어디에 위치하는지를 파악

    • Camera Extrinsics 구성 요소

      • 회전(Rotation): 카메라가 세계 좌표계에 대해 어떤 방향으로 회전되어 있는지를 나타냄

      • 변환(Translation): 카메라가 세계 좌표계의 특정 위치에 어느 좌표로 이동해 있는지를 나타냄

      • 참조 링크

4.Experiments#

  • 평가 대상 : model’s performance zero-shot novel view synthesis & 3D reconstruction

  • Objaverse 데이터셋 외의 데이터와 이미지를 사용하였으므로, 제로샷 결과로 간주

  • 모델 성능을 합성 객체와 장면들을 다양한 복잡함 수준에서 정량적으로 결과 비교

  • 다양한 자연 이미지(일상적인 객체 사진부터 그림까지)를 사용하여 질적 결과를 보고

4.1. Tasks#

  • 단일 RGB 이미지를 입력으로, 밀접하게 연관된 두가지 태스크를 수행 & zero-shot 적용

  1. Novel View Synthesis

    • 단일 뷰에서 객체의 깊이, 텍스처 및 형태를 학습하도록 요구되는 오랜 3D problem

    • 입력 정보가 극히 제한적일 때, 모델은 prior 를 활용한 새로운 synthesis method 가 필요

    • 최근 방법들 : CLIP consistency 목적함수를 사용, implicit neural fields 최적화에 의존

    • 본 연구의 방법론

      • 3D reconstructionNovel View Synthesis 간에 orthogonal (독립적)

      • 3D reconstructionNovel View Synthesis의 순서를 반대로 전환하여 여전히 입력 이미지에 묘사된 객체의 정체성을 유지

      • Self-occlusion로 인한 aleatoric uncertainty을 확률적 생성 모델을 사용해 모델링

      • 대규모 Diffusion 모델로 학습된 semantic, geometric priors 들을 효율적으로 활용

  2. 3D reconstruction

    • SJC(Symmetric Jacobian Chaining) 및 DreamFusion과 같은 확률적 3D 재구성 프레임워크를 채택하여 최적의 3D 표현을 생성

    • parameterize

      • 3D 표현을 voxel radiance field으로 파라미터화

      • density 필드에서 Marching Cubes 알고리즘을 사용하여 3D 메쉬를 추출합

        • Marchinng Cube 알고리즘 : 3D 스칼라 필드에서 등치선(iso-surface)을 추출하기 위해 사용되는 알고리즘

    • 3D reconstruction 에 대한 view-conditioned diffusion model 활용

      • diffusion 모델이 학습한 풍부한 2D 외양 prior를 3D 기하학으로 전환 가능한 경로 제공

4.2. Baselines#

  • 본 방법론이 다루는 범위와 일관되도록 아래 두가지 모두에 해당되는 방법론들만 비교

    • zero-shot setting

    • input : single-view RGB image

  1. Novel View Synthesis

    1. DietNeRF: viewpoints 전반에 걸쳐 CLIP mage-to-image consistency loss 로 NeRF 규제

    2. Image Variations (IV)

      • 텍스트 프롬프트가 아닌 이미지 조건을 받기 위해 Stable Diffusion 을 파인튜닝한 모델로, Stable Diffusion 을 활용한 semantic 최근접 이웃 탐색 엔진으로 간주될 수 있음.

    3. SJC (SJC-I) :

      • diffusion-based text-to-3D 모델인 SJC 를 선택, 이때 텍스트 프롬프트 조건을 이미지 조건으로 대체한 모델을 사용하며 이를 SJC-I 로 명명

  2. 3D Reconstruction

    • Multiview Compressive Coding (MCC)

      • 신경 필드 기반 접근 방식으로, RGB-D 관측치를 바탕으로 3D 표현을 완성

      • CO3Dv2 데이터셋에서 훈련

    • Point-E

      • 색칠된 포인트 클라우드 위에 구축된 Diffusion모델

      • OpenAI의 내부 3D 데이터셋에서 훈련되어 더 큰 데이터셋을 사용

    • MCCPoint-E 외에도, SJC-I와 같은 다른 기법들과도 비교

    • 특정 데이터셋에서 낮은 수준의 정보와 높은 수준의 이해를 요구하는 3D reconstruction 수행


4.3. Benchmarks and Metrics#

  • 데이터셋 평가

    • Google Scanned Objects (GSO): 고품질 스캔된 가정용 아이템 데이터셋

    • RTMV: 20개의 랜덤 객체로 구성된 복잡한 장면 데이터셋

    • 모든 실험에서 각 데이터셋의 ground truth 3D data 를 사용하여 3D reconstruction을 평가

  • Novel view synthesis evaluation metrics

    • 이미지의 유사성을 평가 → PSNR, SSIM, LPIPS, FID

  • 3D reconstruction evaluation metrics

    • Chamfer Distance, Volumetric IoU (Intersection over Union)

4.4. Novel View Synthesis Results#

  • Table 2 : RTMV에서의 새로운 뷰 합성 결과. RTMV의 장면은 Objaverse 훈련 데이터와 분포가 다르지만, 우리의 모델은 여전히 기준선을 상당한 차이로 능가.

  • Figure 5 : Novel view synthesis on Google Scanned Object 왼쪽에 표시된 입력 뷰는 두 개의 무작위 샘플링된 새로운 뷰를 합성하는 데 사용됨. 해당하는 실제 뷰는 오른쪽에 표시되어 있음. 기준 방법들과 비교할 때, 우리가 합성한 새로운 뷰는 실제와 매우 일치하는 풍부한 텍스트 및 기하학적 세부 사항을 포함하고 있으며, 반면 기준 방법들은 고주파 세부 사항의 유의미한 손실을 보임.

  • Figure 6 Novel view synthesis on RTMV 왼쪽에 표시된 입력 뷰는 두 개의 무작위로 샘플링된 새로운 뷰를 합성하는 데 사용됨. 오른쪽에는 해당하는 실제 뷰가 표시됨. 우리가 합성한 뷰는 큰 카메라 시점 변화가 있을 때조차도 높은 충실도를 유지하며, 대부분의 다른 방법들은 품질이 급격히 저하됨.


  • Point-E

    • Point-E 모델은 다른 기준선(baselines)들보다 더 뛰어난 성능을 발휘하며, 우수한 제로샷(Zero-shot) 일반화 능력을 보임

    • 그러나 생성된 포인트 클라우드의 크기가 작아 Point-E가 새로운 뷰 합성(novel view synthesis)에서의 적용 가능성을 제한함.

  • Figure 7 Novel view synthesis on in-the-wild images. 1, 3, 4 행은 iPhone으로 촬영한 이미지에 대한 결과를 보여주며, 2nd 행은 인터넷에서 다운로드한 이미지에 대한 결과를 제시. 본 방법은 서로 다른 표면 재료와 기하학을 가진 객체에 대해 로버스트함.

  • 샘플의 다양성

    • diffusion 모델이 NeRF보다 이러한 기본적인 불확실성을 포착하는 데 더 적합한 아키텍처

    • 입력 이미지가 2D이기 때문에 항상 객체의 부분적인 뷰만을 나타내고 많은 부분이 관찰되지 않으므로, diffusion 을 통해 다양한 시점에서 샘플들을 랜덤으로 생성

  • Figure 8: 입력 뷰를 고정하고, 다양한 시점에서 새로운 샘플을 랜덤으로 생성하여 시각화 이러한 다양한 결과는 입력 뷰에서 놓친 기하학적 및 외관 정보를 반영

4.5. 3D Reconstruction Results#

  • 실제 ground truth 와 유사한 고충실도의 3D 메쉬를 reconstruct

  • MCC (Multiview Compressive Coding):

    • 입력 뷰에서 보이는 표면에 대한 좋은 추정을 제공하지만, 종종 물체 뒷면의 기하학을 올바르게 추론하지 못함.

  • SJC-I : 의미 있는 기하학을 재구성하는 데 실패

  • Point-E: 인상적인 제로샷 일반화 능력을 보여주며, 물체 기하학에 대한 합리적인 추정을 예측

    • 그러나, 4,096 포인트로 구성된 비균일한 희소 포인트 클라우드만 생성 가능하고, 이로 인해 재구성된 표면에 구멍이 생김.

    • 좋은 CD(Chamfer Distance) 점수를 얻지만, 부피 IoU(Intersection over Union)에서는 부족한 평가척도 결과를 보임.

  • 제안된 방법:

    • 학습된 다중 보기 우선 순위를 활용하고 NeRF 스타일 표현의 장점을 결합하여 CD와 부피 IoU 모두에서 이전 작업들보다 개선됨(표 3 및 4에서 확인).

4.6. Text to Image to 3D-#

  • 실제 환경에서 촬영된 이미지 외에도, Dall-E-2와 같은 txt2img 모델이 생성한 이미지에 대해서도 테스트

5. Discussion#

  • Zero-1-to-3 방식은 단일 이미지에서 새로운 시점을 생성하고 3D 재구성을 수행하는 제로샷 방식

  • 사전 학습된 Stable Diffusion 모델의 풍부한 의미적, 기하적 prior 를 활용하여 우수한 성능을 달성

    • 이러한 정보 추출을 위해 Stable Diffusion 모델이 카메라 시점 제어를 학습하도록 미세 조정하여, 벤치마크에서 최첨단 성능을 입증

5.1. Future Work#

From objects to scenes#

  • 본 접근법은 평범한 배경의 단일 객체 데이터셋으로 훈련

  • RTMV 데이터셋에서 여러 객체가 있는 장면에 대한 강한 일반화를 입증했지만, GSO에서의 분포 내 샘플에 비해 품질이 여전히 저하

  • 복잡한 배경이 있는 장면으로의 일반화는 앞으로의 주요 과제

6. Appendix#

C. Finetuning Stable Diffusion#

  • 렌더링된 데이터셋을 사용하여 새로운 뷰 합성을 수행하기 위해 사전 훈련된 스테이블 디퓨전 모델을 미세 조정

  • 원래의 스테이블 디퓨전 네트워크는 다중 모드 텍스트 임베딩에 대해 조건화되지 않기 때문에, 조건 정보를 이미지에서 사용할 수 있도록 원래의 스테이블 디퓨전 아키텍처를 조정하고 미세 조정해야함.

  • 이미지 CLIP 임베딩(차원 768)과 포즈 벡터(차원 4)를 연결하고, 디퓨전 모델 아키텍처와의 호환성을 확보하기 위해 또 다른 완전 연결 층(772 → 768)을 초기화

  • 이 층의 학습률은 다른 층보다 10배 크게 조정

  • 나머지 네트워크 아키텍처는 원래 스테이블 디퓨전과 동일하게 유지

C.1 훈련 세부사항#

  • 8×A100-80GB 머신에서 7일 동안 모델을 미세 조정

C.2 추론 세부사항#

  • 새로운 뷰를 생성하기 위해 Zero-1-to-3는 RTX A6000 GPU에서 단 2초 소요

  • 이전 작업에서는 일반적으로 NeRF를 훈련하여 새로운 뷰를 렌더링하는 데 상당한 시간 소요

  • 비교적으로, 본 접근 방식은 3D 재구성과 새로운 뷰 합성의 순서를 반전시켜 새로운 뷰 합성 과정을 신속하고 불확실성 하에서 다양성을 포함하도록 함

D. 3D Reconstruction#

  • 이미지에서 전체 3D 재구성을 실행하는 데 RTX A6000 GPU에서 약 30분이 소요