One-2-3-45: Any Single Image to 3D Mesh in 45 Seconds without Per-Shape Optimization

2023. 11. 23. 19:03text-to-3D

One-2-3-45: Any Single Image to 3D Mesh in 45 Seconds without Per-Shape Optimization

 

Minghua Liu, Chao Xu, Haian Jin, Linghao Chen, Mukund Varma T, Zexiang Xu, Hao Su

 

Abstract

단일 이미지 3D 재구성은 자연계에 대한 광범위한 지식을 필요로 하는 중요하지만 어려운 작업입니다.

기존의 많은 방법들은 2D 디퓨전 모델의 가이던스에 따라 neural radiance field를 최적화하여 이 문제를 해결하지만, 긴 최적화 시간, 3D 불일치 결과 및 좋지 않은 지오메트리로 인해 어려움을 겪습니다.

본 연구에서는 모든 객체의 단일 이미지를 입력으로 받아 단일 피드 포워드 패스로 전체 360도 3D 텍스처 메쉬를 생성하는 새로운 방법을 제안합니다.

저희는 단일 이미지가 주어지면 먼저 뷰-조건적 2D 디퓨전 모델인 Zero123을 사용하여 입력 뷰에 대한 멀티 뷰 이미지를 생성한 다음, 이를 최대 3D 공간으로 리프트하는 것을 목표로 합니다.

기존의 재구성 방법은 일관성 없는 멀티 뷰 예측으로 어려움을 겪기 때문에, 저희는 3D 재구성 모듈을 SDF 기반 일반화된 신경 표면 재구성 방법을 기반으로 구축하고 360도 메쉬 재구성을 가능하게 하는 몇 가지 중요한 학습 전략을 제안합니다.

저희 방법은 비용이 많이 드는 최적화 없이 기존 방법보다 훨씬 적은 시간에 3D 모양을 재구성합니다.

또한 저희의 방법은 더 나은 기하학적 구조를 선호하고 더 많은 3D 일관성 있는 결과를 생성하며 입력 이미지에 더 가까이 밀착됩니다.

저희는 합성 데이터와 야생 내 이미지 모두에 대한 저희의 접근 방식을 평가하고 메쉬 품질과 런타임 측면에서 우수성을 입증합니다.

또한 저희의 접근 방식은 기성 text-to-image 디퓨전 모델과 통합하여 텍스트에서 3D 작업을 원활하게 지원할 수 있습니다.

 

 

1  Introduction

단일 2D 이미지에서 객체의 3D 모델을 재구성하는 작업인 단일 이미지 3D 재구성은 컴퓨터 비전 커뮤니티의 오랜 문제이며 로봇 객체 조작 및 내비게이션, 3D 콘텐츠 생성 및 AR/VR [42, 9, 86]과 같은 광범위한 응용 분야에 중요합니다.

가시적인 부분의 재구성뿐만 아니라 보이지 않는 영역의 환각도 필요하기 때문에 문제가 어렵습니다.

따라서 이 문제는 단일 이미지에서 충분한 증거가 없기 때문에 종종 ill-posed며 여러 그럴듯한 해결책에 해당합니다.

반면, 인간은 3D 세계에 대한 풍부한 지식을 기반으로 보이지 않는 3D 콘텐츠를 능숙하게 추론할 수 있습니다.

지능형 에이전트에게 이러한 능력을 부여하기 위해 기존의 많은 방법 [30, 18, 24, 10, 81, 85, 15, 77]은 3D 형상 데이터 세트 [4]에 3D 생성 네트워크를 학습시켜 클래스별 priors를 활용합니다.

그러나 이러한 방법은 종종 보이지 않는 범주로 일반화하지 못하며, 재구성 품질은 공개 3D 데이터 세트의 제한된 크기에 의해 제한됩니다.

 

본 연구에서는 범주에 관계없이 모든 객체의 이미지를 고품질 3D 텍스처 메쉬로 변환하는 일반적인 솔루션을 추구합니다.

이를 달성하기 위해 3D 재구성을 위해 2D 디퓨전 모델이 학습한 강력한 priors를 효과적으로 활용할 수 있는 새로운 접근 방식을 제안합니다.

3D 데이터에 비해 2D 이미지를 더 쉽게 사용할 수 있고 확장할 수 있습니다.

최근의 2D 생성 모델(예: DALL-E [59, 58], Imagen [65], Stable Diffusion [64])과 시각-언어 모델(예: CLIP [56])은 인터넷 규모의 이미지 데이터 세트에 대한 사전 학습을 통해 크게 발전했습니다.

들은 광범위한 시각적 개념을 학습하고 3D 세계에 대한 강력한 priors를 가지고 있기 때문에 3D 작업과 일치하는 것은 당연합니다.

따라서 DreamField [25], DreamFusion [55] 및 Magic3D[35]에서 예시한 바와 같이 [25, 22, 47, 55, 35]의 신흥 연구 기관은 2D 디퓨전 모델 또는 비전 언어 모델을 사용하여 3D 생성 작업을 지원합니다.

이들의 공통적인 패러다임은 미분 가능한 렌더링과 CLIP 모델 또는 2D 디퓨전 모델의 가이던스로 모양별 최적화를 수행하는 것입니다.

다른 많은 3D 표현이 연구되었지만 최적화 중 가장 일반적으로 사용되는 표현은 신경망 분야입니다.

 

이러한 최적화 기반 방법은 text-to-3D 작업[55, 25, 35]과 image-to-3D 작업[43, 68] 모두에서 인상적인 결과를 얻었지만 다음과 같은 몇 가지 공통적인 딜레마에 직면해 있습니다:
 (a) time-consuimg.

형상 최적화에는 일반적으로 수만 번의 전체 이미지 볼륨 렌더링과 prior 모델 추론이 포함되어 형상당 일반적으로 수십 분이 소요됩니다.
 (b) memory intensive.

2D prior 모델은 풀 이미지가 필요하기 때문에 이미지 해상도가 올라갈 때 볼륨 렌더링이 메모리 집약적일 수 있습니다.
 (c) 3D inconsistent.

2D prior 모델은 반복할 때마다 하나의 뷰만 보고 모든 뷰를 입력처럼 보이게 하려고 하기 때문에 종종 3D 불일치 모양(예: 두 개의 얼굴이 있거나 Janus 문제[43, 55])을 생성합니다.
 (d) poor geometry.

많은 방법들이 볼륨 렌더링에서 밀도 필드를 표현으로 활용합니다.

좋은 RGB 렌더링을 만드는 것은 일반적이지만 고품질의 메쉬를 추출하는 것은 어려운 경향이 있습니다.

 

본 논문에서는 일반적인 최적화 기반 패러다임을 따르는 대신 3D 모델링에 2D prior 모델을 활용하는 새로운 접근 방식을 제안합니다.

저희 접근 방식의 핵심은 2D 디퓨전 모델과 비용-볼륨 기반 3D 재구성 기법의 결합으로 장면별 최적화 없이 피드-포워드 패스로 단일 이미지에서 고품질의 360˚ 텍스처 메쉬를 재구성할 수 있습니다.

특히 Stable Diffusion [64]에서 파인튜닝된 최신 2D 디퓨전 모델인 Zero123[36]을 활용하여 카메라 변환 시 입력 이미지의 새로운 뷰를 예측합니다.

이를 활용하여 입력 단일 이미지의 멀티뷰 예측을 생성하여 멀티뷰 3D 재구성 기법을 활용하여 3D 메쉬를 얻을 수 있습니다.

합성된 멀티뷰 예측을 통한 재구성과 관련된 두 가지 과제는 다음과 같습니다:
 (a) 다중 시점 예측 내에서 완벽한 일관성이 없기 때문에 NeRF 방법과 같은 최적화 기반 방법에서 심각한 실패를 초래할 수 있습니다 [48, 5].

 (b) 입력 이미지의 카메라 포즈가 필요하지만 알려지지 않았습니다.

이를 해결하기 위해 저희는 MVSNeRF[6]의 변형인 비용 볼륨 기반 신경 표면 재구성 접근 방식인 SparseNeuS[40]를 기반으로 재구성 모듈을 구축합니다.

또한 저희는 본질적으로 일관성 없는 다중 시점 예측에서 360도 메쉬를 재구성할 수 있는 일련의 필수 학습 전략을 소개합니다.

저희는 또한 재구성 모듈에 필요한 카메라 포즈를 계산하는 데 사용되는 Zero123의 표준 좌표계에서 입력 모양의 고도를 추정하는 고도 추정 모듈을 제안합니다.

 

저희 방법은 멀티뷰 합성, 고도 추정 및 3D 재구성의 세 가지 모듈을 통합하여 단일 이미지에서 객체의 3D 메쉬를 피드 포워드 방식으로 재구성할 수 있습니다.

저희 방법은 비용이 많이 드는 최적화 없이도 예를 들어 45초 만에 훨씬 적은 시간에 3D 모양을 재구성할 수 있습니다.

저희 방법은 SDF 표현을 사용하여 더 나은 기하학적 구조를 선호하고 카메라 조건의 멀티뷰 예측 덕분에 보다 일관성 있는 3D 메쉬를 생성합니다.

또한 저희 재구성은 기존 방법에 비해 입력 이미지에 더 가깝게 밀착됩니다.

몇 가지 예제 결과는 그림 1을 참조하십시오.

저희는 합성 데이터와 실제 이미지 모두에서 저희 방법을 평가하고 품질과 효율성 측면에서 기존 방법보다 우수하다는 것을 보여줍니다.

그림 1: One-2-3-45는 객체의 전체 360˚ 메시를 단일 이미지가 주어지면 45초 만에 재구성합니다. 각 예제에서 저희는 입력 이미지를 세 가지 다른 뷰에서 생성된 텍스처 및 텍스처 없는 메시와 함께 왼쪽 열에 보여줍니다.

 

2  Related Work

2.1 3D Generation Guided by 2D Prior Models

최근 2D 생성 모델(예: DALL-E [59, 58], Imagen [65], Stable Diffusion [64])과 비전 언어 모델(예: CLIP [56])은 인터넷 규모의 이미지 데이터 세트에 대한 사전 학습을 통해 광범위한 시각적 개념을 학습했습니다.

이들은 3D 세계에 대한 강력한 prior를 보유하고 있으며, 3D 생성 작업을 지원하기 위해 2D prior 모델을 사용하도록 점점 더 많은 연구 기관에 영감을 주었습니다.

DreamField [25], DreamFusion [55] 및 Magic3D [35]로 대표되는 일련의 작업은 형상별 최적화의 패러다임을 따릅니다.

일반적으로 3D 표현(예: NeRF, mesh, SMPL 인간 모델)을 최적화하고 다양한 뷰에서 2D 이미지를 생성하기 위해 미분 가능한 렌더링을 활용합니다.

그런 다음 이미지는 loss 함수를 계산하기 위해 CLIP 모델[22, 25, 47, 34, 3, 31, 2, 27, 83, 38] 또는 2D 디퓨전 모델[55, 35, 68, 43, 12, 72, 82, 46, 93, 57]에 제공되며, 이는 3D 형상 최적화를 가이드하는 데 사용됩니다.

최적화 기반 3D 형상 생성 외에도 일부 작업은 3D 생성 모델을 학습하지만 CLIP[8, 39, 67]의 임베딩 공간을 활용하며, 일부 작업은 2D 모델의 prior [47, 76, 7, 46, 63]를 사용하여 입력 메쉬를 위한 텍스처 또는 재료를 생성하는 데 중점을 둡니다.

 

2.2 Single Image to 3D

CLIP 및 대규모 2D 디퓨전 모델이 등장하기 전에 사람들은 종종 3D synthetic data [4] 또는 real scans [60]로부터 3D priors에 3D를 학습합니다.

2D 이미지와 달리 3D 데이터는 다양한 형식으로 표현될 수 있으며 수많은 표현별 3D 생성 모델이 제안되었습니다.

2D 이미지 인코더와 3D 생성기를 결합하여 3D 복셀[18, 79, 10, 81, 80, 85], 포인트 클라우드[15, 88, 19, 1, 44, 90], 폴리곤 메쉬[30, 73, 77, 51] 및 매개 변수 모델[54, 94, 95]을 포함한 다양한 표현으로 3D 데이터를 생성합니다.

최근에는 단일 이미지에서 3D implicit 필드를 생성하는 학습에 대한 작업이 증가하고 있습니다.

 

앞서 언급했듯이 최근 여러 작업은 2D 디퓨전 모델을 활용하여 모양별 최적화를 수행하여 디퓨전 모델이 일반적으로 텍스트에 기반한다는 점을 감안할 때 text-to-3D 작업[55, 35, 25]을 수행할 수 있습니다.

단일 이미지에서 3D 모델을 생성할 수 있도록 일부 작업 [43, 12, 46]은 Textual Inversion [16]을 활용하여 입력 이미지에 가장 적합한 matching 텍스트 임베딩을 찾은 다음 디퓨전 모델에 입력됩니다.

NeuralLift-360 [23]은 렌더링된 이미지와 입력 이미지 간의 유사성을 강화하기 위해 CLIP loss를 추가합니다.

3DFuse [68]는 LoRA layers [23]와 희소 depth 주입기로 Stable Diffusion 모델을 파인튜닝하여 3D 일관성을 향상시킵니다.

최근 작업인 Zero123 [36]은 Stable Diffusion 모델 [65]을 파인튜닝하여 상대적인 카메라 포즈를 기반으로 입력 이미지의 새로운 뷰를 생성합니다.

이러한 방법 외에도 OpenAI은 수백만 개의 내부 3D 모델을 사용하여 포인트 클라우드를 생성하는 3D 기본 디퓨전 모델 Point-E [52]를 학습합니다.

매우 최근에 그들은 텍스처 메쉬 또는 neural radiance fields를 생성하는 데 사용할 수 있는 implicit 함수의 매개 변수를 생성하도록 학습된 또 다른 모델 Shap-E [29]를 발표했습니다.

 

2.3 Generalizable Neural Reconstruction

기존 NeRF-like 방법[48, 74]은 단일 장면을 표현하기 위해 신경망을 사용하며 장면당 최적화가 필요합니다.

그러나 일부 접근 방식은 장면 전반에 걸쳐 사전 학습을 수행하고 새로운 장면으로 일반화하는 것을 목표로 합니다.

이러한 방법은 일반적으로 몇 개의 소스 뷰를 입력으로 사용하고 2D 피쳐를 추출하기 위해 2D 네트워크를 활용합니다.

그런 다음 픽셀 피쳐는 3D 공간으로 투영되지 않고 NeRF 기반 렌더링 파이프라인이 그 위에 적용됩니다.

이러한 방법을 통해 단일 피드 포워드 패스에서 몇 개의 소스 뷰가 주어지면 3D implicit 필드를 생성할 수 있습니다.

방법 중 일부 [75, 61, 21, 89, 87, 37, 33, 70, 71]는 2D 피쳐를 MLP 또는 트랜스포머와 직접 집계하는 반면, 다른 방법은 3D 피쳐/비용 볼륨[6, 28, 92, 40]을 명시적으로 구성하고 밀도 및 색상을 디코딩하기 위해 복셀 피쳐를 활용합니다.

밀도 필드 표현 외에도 SparseNeuS [40] 및 VolRecon [62]와 같은 일부 방법은 기하학적 재구성을 위해 SDF 표현을 활용합니다.

 

그림 2: 우리의 방법은 세 가지 주요 구성 요소로 구성됩니다: (a) Multi-view synthesis: 우리 는 뷰-조건적 2D 디퓨전 모델인 Zero123 [36]을 사용하여 2단계 방식으로 멀티 뷰 이미지를 생성합니다. Zero123의 입력은 단일 이미지와 상대 카메라 변환을 포함하며, 이는 상대 구면 좌표(Δθ, Δϕ, Δr)에 의해 매개변수화됩니다. (b) Pose estimation:  저희는 Zero123에 의해 생성된 4개의 주변 뷰를 기반으로 입력 이미지의 elevation 각도 θ를 추정합니다. 그런 다음 지정된 상대 포즈를 입력 뷰의 추정 포즈와 결합하여 멀티뷰 이미지의 포즈를 얻습니다. (c) 3D reconstruction:  저희는 360˚ 메시 재구성을 위해 SDF 기반 일반화된 신경 표면 재구성 모듈에 멀티뷰 포즈 이미지를 공급합니다.

3  Method

전체 파이프라인은 그림 2에 나와 있습니다.

섹션 3.1에서는 멀티뷰 이미지 생성에 사용되는 뷰 조건적 2D 디퓨전 모델인 Zero123 [36]을 소개합니다.

섹션 3.2에서는 기존의 NeRF 기반 및 SDF 기반 방법이 ground truth 카메라 포즈가 주어져도 일관성 없는 멀티뷰 예측에서 고품질 메쉬를 재구성하지 못한다는 것을 보여줍니다.

따라서 섹션 3.3에서는 일관성 없는 멀티뷰 예측을 처리하고 단일 피드 포워드 패스로 3D 메쉬를 재구성하도록 학습할 수 있는 비용 볼륨 기반 신경 표면 재구성 모듈을 제안합니다.

특히, 저희는 SparseNeuS [40]를 기반으로 360˚ 메쉬 재구성을 지원하기 위한 몇 가지 중요한 학습 전략을 소개합니다.

또한 섹션 3.4에서는 3D 재구성을 위한 Zero123의 표준 공간에서 입력 뷰의 포즈를 추정해야 할 필요성을 보여줍니다.

방위각과 반경을 임의로 지정할 수 있지만 Zero123에서 생성한 4개의 인접 뷰를 활용하여 입력 뷰의 고도를 추정하는 새로운 모듈을 제안합니다.

 

3.1 Zero123: View-Conditioned 2D Diffusion

최근 2D 디퓨전 모델[59, 65, 64]은 인터넷 규모 데이터에 대한 학습을 통해 광범위한 시각적 개념과 강력한 priors 능력을 입증했습니다.

원래 디퓨전 모델은 주로 text-to-image의 작업에 초점을 맞추었지만, 최근 연구[91, 23]는 사전 학습된 모델을 파인튜닝하면 디퓨전 모델에 다양한 조건 제어를 추가하고 특정 조건을 기반으로 이미지를 생성할 수 있음을 보여주었습니다.

canny edges, 사용자 scribbles, depth 및 normal 맵과 같은 여러 조건이 이미 효과적인 것으로 입증되었습니다[91].

 

최근 연구인 Zero123[36]은 유사한 정신을 공유하며 Stable Diffusion 모델[64]에 대한 시점 조건 제어를 추가하는 것을 목표로 합니다.

특히, 객체의 단일 RGB 이미지와 상대적인 카메라 변환이 주어지면 Zero123은 이 변환된 카메라 뷰에서 새로운 이미지를 합성하도록 디퓨전 모델을 제어하는 것을 목표로 합니다.

이를 위해 Zero123은 대규모 3D 데이터 세트[11]에서 합성된 상대적인 카메라 변환과 쌍을 이루는 이미지에서 Stable Diffusion을 파인튜닝합니다.

파인튜닝 데이터 세트를 생성하는 동안 Zero123은 객체가 좌표계의 원점에 중심이 있다고 가정하고 구면 카메라를 사용한다고 가정합니다, 즉, 카메라는 구면의 표면에 배치되어 항상 원점을 바라봅니다.

두 개의 카메라 포즈(θ_1, ϕ_1, r_1)와 (θ_2, ϕ_2, r_2)에 대해 θ_i, ϕ_i, r_i는 polar 각, azimuth 각, 반경을 나타내며, 상대적인 카메라 변환은 (θ_2 - θ_1, ϕ_2 - ϕ_1, r_2 - r_1)로 매개변수화됩니다.

이들은 f(x_1, θ_2 - θ_1, ϕ_2 - ϕ_1, r_2 - r_1)가 x_2와 지각적으로 유사하도록 모델 f를 학습하는 것을 목표로 하며, 여기서 x_1과 x_2는 서로 다른 뷰에서 캡처된 객체의 두 이미지입니다.

Zero123은 이러한 파인튜닝을 통해 Stable Diffusion 모델이 카메라 시점을 제어하는 일반적인 메커니즘을 학습할 수 있으며, 이는 파인튜닝 데이터 세트에서 볼 수 있는 객체 외부를 외삽합니다.

그림 3: NeRF 기반 방법 [48] 및 SDF 기반 방법 [74]은 Zero123에 의해 예측된 멀티뷰 이미지가 주어지면 고품질 메시를 재구성하는 데 실패합니다. 재구성 결과는 그림 1을 참조하십시오.

3.2 Can NeRF Optimizatio Lift Multi-View Predictions to 3D?

객체의 단일 이미지가 주어지면 Zero123 [36]을 활용하여 멀티뷰 이미지를 생성할 수 있지만, 기존의 NeRF 기반 또는 SDF 기반 방법[5, 74]을 사용하여 이러한 예측에서 고품질 3D 메쉬를 재구성할 수 있습니까?

저희는 이 가설을 테스트하기 위해 소규모 실험을 수행합니다.

단일 이미지가 주어지면 먼저 Zero123을 사용하여 32개의 멀티뷰 이미지를 생성하고 구 표면에서 카메라 포즈를 균일하게 샘플링합니다, 그런 다음 밀도와 SDF 필드를 각각 최적화하는 NeRF 기반 방법(TensoRF [48])과 SDF 기반 방법(NeuS [74])에 예측을 제공합니다.

그러나 그림 3에서 볼 수 있듯이 두 방법 모두 만족스러운 결과를 생성하지 못해 수많은 왜곡과 플로터를 생성합니다.

이는 주로 Zero123의 예측의 불일치로 인한 것입니다.

그림 4에서는 Zero123의 예측을 ground truth 렌더링과 비교합니다.

특히 입력 상대 포즈가 크거나 목표 포즈가 비정상적인 위치(예: 아래 또는 위에서)에 있을 때 전체 PSNR이 매우 높지 않음을 알 수 있습니다.

그러나 마스크 IoU(대부분의 영역이 0.95보다 큼)와 CLIP similarity는 비교적 양호합니다.

이는 Zero123이 ground truth와 지각적으로 유사하고 유사한 윤곽이나 경계를 갖는 예측을 생성하는 경향이 있지만 픽셀 수준의 모양이 완전히 동일하지 않을 수 있음을 시사합니다.

그럼에도 불구하고 소스 뷰 간의 이러한 불일치는 이미 기존의 최적화 기반 방법에 치명적입니다.

원본 Zero123 논문에서 멀티뷰 예측을 해제하는 또 다른 방법을 제안하지만 완벽한 결과를 생성하지 못하고 시간이 많이 걸리는 최적화를 수반한다는 것을 실험에서 입증할 것입니다.

그림 4: 다양한 뷰 변환에서 Zero123의 예측을 ground truth 렌더링과 비교하여 예측 품질을 분석합니다. 각 뷰 변환에 대해 Objaverse [11] 데이터 세트에서 100개 도형의 평균 PSNR, 마스크 IoU 및 CLIP similarity를 보고합니다. 예측 마스크는 전경 객체(즉, 비백색 영역)를 고려하여 계산됩니다. Zero123은 뷰 변환이 작을 때 더 정확한 예측을 제공합니다.

3.3 Neural Surface Reconstruction from Imperfect Multi-View Predictions

저희의 재구성 모듈은 최적화 기반 접근 방식 대신 일반화 가능한 SDF 재구성 방법인 SparseNeuS [40]를 기반으로 하며, 이는 기본적으로 멀티뷰 스테레오, 신경 장면 표현 및 볼륨 렌더링을 결합한 MVSNeRF[6] 파이프라인의 변형입니다.

그림 2에 나와 있는 것처럼, 저희의 재구성 모듈은 해당 카메라 포즈를 입력으로 하는 여러 소스 이미지를 촬영하고 단일 피드포워드 패스로 텍스처 메쉬를 생성합니다.

이 섹션에서는 먼저 모듈의 네트워크 파이프라인을 간략히 설명한 다음 모듈을 학습하고 소스 이미지를 선택하고 텍스처 메쉬를 생성하는 방법을 설명합니다.

또한 섹션 3.4에서는 소스 이미지에 대한 카메라 포즈를 생성하는 방법에 대해 설명합니다.

 

그림 2에서 볼 수 있듯이 저희의 재구성 모듈은 m개의 포즈를 취한 소스 이미지를 입력으로 가져옵니다.

모듈은 2D 피쳐 네트워크를 사용하여 m개의 2D 피쳐 맵을 추출하는 것으로 시작합니다.

다음으로 모듈은 각 3D 복셀을 먼저 m개의 2D 피쳐 평면에 투영한 다음 m개의 투영된 2D 위치에서 피쳐의 분산을 가져와 내용이 계산되는 3D 비용 볼륨을 구축합니다.

그런 다음 비용 볼륨은 희소 3D CNN을 사용하여 처리되어 입력 형상의 기본 지오메트리를 인코딩하는 지오메트리 볼륨을 얻습니다.

임의의 3D 포인트에서 SDF를 예측하기 위해 MLP 네트워크는 지오메트리 인코딩 볼륨에서 3D 좌표와 해당 보간된 피쳐를 입력으로 가져옵니다.

3D 포인트의 색상을 예측하기 위해 다른 MLP 네트워크는 투영된 위치의 2D 피쳐, 지오메트리 볼륨에서 보간된 피쳐 및 소스 이미지의 뷰 방향에 대한 쿼리 ray의 뷰 방향을 입력으로 가져옵니다.

네트워크는 각 소스 뷰에 대한 블렌딩 가중치를 예측하고 3D 포인트의 색상은 투영된 색상의 가중 합으로 예측됩니다.

마지막으로 RGB 및 depth 렌더링을 위해 두 MLP 네트워크 위에 SDF 기반 렌더링 기술이 적용됩니다 [74].

 

2-Stage Source View Selection and Groundtruth-Prediction Mixed Training.

원래 SparseNeuS[40] 논문에서는 정면 뷰 재구성만 시연했지만, 저희는 특정 방식으로 소스 뷰를 선택하고 학습 중 depth supervision을 추가하여 단일 피드 포워드 패스에서 360도 메시를 재구성하도록 확장했습니다.

특히, 저희의 재구성 모델은 Zero123을 동결하면서 3D 객체 데이터 세트에 대해 학습됩니다.

저희는 Zero123을 따라 학습 모양을 정규화하고 구형 카메라 모델을 사용합니다.

각 모양에 대해 먼저 구에 균일하게 배치된 n개의 카메라 포즈의 n개의 ground-truth RGB 및 depth 이미지를 렌더링합니다.

n개의 뷰 각각에 대해 Zero123을 사용하여 4개의 가까운 뷰를 예측합니다.

학습 중에 저희는 ground truth 포즈가 있는 4 × n개의 모든 예측을 재구성 모듈에 입력하고 n개의 ground truth RGB 이미지 뷰 중 하나를 타겟 뷰로 랜덤으로 선택합니다.

저희는 이 뷰 선택 전략을 2-stage source view selection이라고 합니다.

저희는 ground truth RGB 및 depth 값으로 학습을 supervise합니다.

이러한 방식으로 모듈은 Zero123에서 일관성 없는 예측을 처리하는 방법을 배우고 일관된 360˚ 메쉬를 재구성할 수 있습니다.

저희는 구 표면에서 n × 4개의 소스 뷰를 균일하게 선택하면 카메라 포즈 사이의 거리가 멀어지기 때문에 저희의 2단계 소스 뷰 선택 전략이 중요하다고 주장합니다.

그러나 비용 볼륨 기반 방법 [40, 28, 6]은 일반적으로 로컬 대응을 찾기 위해 매우 가까운 소스 뷰에 의존합니다.

또한 그림 4에서 볼 수 있듯이 상대 포즈가 작을 때(예: 10도 간격) Zero123은 매우 정확하고 일관된 예측을 제공할 수 있으므로 로컬 대응을 찾고 지오메트리를 추론하는 데 사용할 수 있습니다.

 

학습 중 저희는 더 나은 supervision을 위해 depth loss를 가능하게 하기 위해 첫 번째 단계에서 n개의 ground truth 렌더링을 사용합니다.

그러나 추론 중에 그림 2와 같이 n개의 ground truth 렌더링을 Zero123 예측으로 대체할 수 있으며 depth 입력이 필요하지 않습니다.

저희는 실험에서 이러한 ground truth-예측 혼합 학습 전략도 중요하다는 것을 보여줄 것입니다.

텍스처 메쉬를 내보내기 위해 marching cubes [41]를 사용하여 예측된 SDF 필드에서 메쉬를 추출하고 [74]에 설명된 대로 메쉬 정점의 색상을 쿼리합니다.

저희의 재구성 모듈은 3D 데이터 세트에서 학습되었지만 주로 로컬 대응에 의존하고 보이지 않는 모양으로 매우 잘 일반화할 수 있음을 발견했습니다.

 

3.4 Camera Pose Estimation

저희 재구성 모듈은 4 x n 소스 뷰 이미지에 카메라 포즈가 필요합니다.

저희는 이미지 합성을 위해 표준 구면 좌표계(θ, ϕ, r)에서 카메라를 매개변수화하는 Zero123을 채택했으며, 여기서 θ, ϕr은 elevation, azimuth 및 반경을 나타냅니다.

모든 소스 뷰 이미지의 azimuth 각 ϕ과 반경 r을 동시에 임의로 조정할 수 있어 재구성된 객체의 회전 및 스케일링이 발생하지만, 이 매개변수화를 위해서는 표준 XYZ 프레임에서 모든 카메라의 상대 포즈를 결정하기 위해 한 카메라의 절대 elevation 각 θ를 알아야 합니다.

보다 구체적으로, 카메라(θ_0, ϕ_0, r_0)와 카메라(θ_0 + Δθ, ϕ_0 + Δϕ , r_0) 간의 상대 포즈는 Δθ과 Δϕ가 동일한 경우에도 θ_0마다 다릅니다.

이로 인해 모든 소스 이미지의 elevation 각을 함께 변경하면(예: 30도 위 또는 30도 아래로) 재구성된 형상이 왜곡됩니다(예: 그림 10 참조).

 

따라서 입력 이미지의 elevation 각을 추론하기 위해 elevation 추정 모듈을 제안합니다.

먼저, 저희는 Zero123을 사용하여 입력 이미지의 4개의 가까운 뷰를 예측합니다.

그런 다음 모든 가능한 elevation 각을 대략적인 방식으로 열거합니다.

각 elevation 후보 각에 대해 4개의 이미지에 대한 해당 카메라 포즈를 계산하고 이 카메라 포즈 세트에 대한 재투영 오차를 계산하여 이미지와 카메라 포즈 간의 일관성을 측정합니다.

재투영 오차가 가장 작은 elevation 각은 입력 뷰의 포즈와 상대 포즈를 결합하여 모든 4 × n 개의 소스 뷰에 대한 카메라 포즈를 생성하는 데 사용됩니다.

포즈 이미지 세트에 대한 재투영 오차를 계산하는 방법에 대한 자세한 내용은 부록을 참조하십시오.

 

 

4  Experiments

4.1 Implementation Details

각 입력 이미지에 대해 구 표면에 균일하게 배치된 카메라 포즈를 선택하여 n = 8개의 이미지를 생성한 다음 8개의 뷰 각각에 대해 4개의 로컬 이미지(10˚ 간격)를 생성하여 32개의 소스 뷰 이미지를 생성하여 재구성합니다.

학습 중 Zero123 [36] 모델을 동결하고 재구성 모듈을 1,156개의 범주에 46k 3D 모델이 포함된 Objaverse-LVIS [11] 데이터 세트에서 학습합니다.

저희는 BlenderProc [13]를 사용하여 ground truth RGB 및 depth 이미지를 렌더링합니다.

배경이 있는 이미지의 경우 배경 제거를 위한 바운딩 박스 프롬프트가 있는 기성 분할 네트워크 SAM[32]를 사용합니다.

자세한 내용은 부록을 참조하십시오.

그림 5: 합성 이미지와 실제 이미지 모두 One-2-3-45의 정성적인 예. 각 삼중항은 입력 이미지, 텍스처링된 메쉬, 텍스처링되지 않은 메쉬를 보여줍니다.

4.2 Single Image to 3D Mesh

저희는 그림 1과 5에 합성 이미지와 실제 이미지를 모두 처리하는 데 있어 방법의 효율성을 보여주는 정성적인 예를 제시합니다.

또한 One-2-3-45를 기존의 제로샷 단일 이미지 3D 재구성 접근법과 비교하며, 여기에는 Point-E [52], Shap-E [29], Zero123 (Stable Dreamfusion 버전) [36], 3DFuse [68] 및 RealFusion [43]이 포함됩니다.

이 중 Point-E와 Shap-E는 OpenAI에서 출시한 두 가지 3D 네이티브 디퓨전 모델로 수백만 개의 내부 3D 데이터에 대해 학습되었으며, 다른 접근법은 Stable Diffusion [64]의 priors를 활용한 최적화 기반 접근법입니다.

그림 6: One-2-3-45를 Point-E [52], Shap-E [29], Zero123 (Stable Dreamfusion 버전) [36], 3DFuse [68] 및 RealFusion [43]과 비교합니다. 각 예제에서 텍스처 메쉬와 텍스처 없는 메쉬를 모두 보여줍니다. 3DFuse [68] 및 RealFusion [43]은 텍스처 메쉬 내보내기를 기본적으로 지원하지 않으므로 볼륨 렌더링 결과를 보여줍니다.

그림 6은 정성적 비교를 보여줍니다.

대부분의 방법은 단일 이미지에서 그럴듯한 3D 메쉬를 생성할 수 있지만 지오메트리 품질, 입력 준수 및 전체적인 3D 일관성 측면에서 현저한 차이가 있습니다.

지오메트리 품질 측면에서 neural radiance field를 최적화하는 RealFusion [43] 및 3DFuse [68]와 같은 접근 방식은 고품질 메쉬를 추출하는 데 어려움을 겪습니다.

마찬가지로, Point-E [52]는 출력으로 희소 포인트 클라우드를 생성하여 재구성된 메쉬에 수많은 구멍이 발생합니다.

이와 대조적으로, 저희의 접근 방식은 SDF 표현을 활용하고 더 나은 지오메트리를 선호합니다.

입력 준수와 관련하여 저희는 대부분의 기본 방법이 입력 이미지와의 유사성을 유지하는 데 어려움을 겪는다는 것을 관찰했습니다.

Shap-E는 약간 더 나은 성능을 발휘하지만 여전히 많은 실패 사례를 생성합니다(the backpack without shoulder straps, distorted shoe, and stool with three legs 참조).

이와 대조적으로, 저희의 접근 방식은 3D 공간 환각에 의존하는 대신 강력한 2D 디퓨전 모델을 활용하여 고품질 멀티뷰 이미지를 직접 생성합니다.

이 전략은 입력 뷰에 대한 더 나은 준수를 제공하고, 3D 재구성 모듈의 부담을 완화하며, 입력에 더 미세하게 맞춘 결과를 생성합니다.

또한, 많은 접근 방식이 오른쪽 그림 (two-handle mug, multi-face Mario, and two-face backpack)에서 강조되는 대로 일관된 3D 결과(Janus 문제[43, 55]라고도 함)를 달성하는 데 어려움을 겪습니다.

이 문제의 원인 중 하나는 여러 방법이 각 뷰를 독립적으로 최적화하여 각 뷰가 입력과 유사하도록 노력한다는 것입니다.

이와 대조적으로, 저희의 방법은 뷰-조건적 2D 디퓨전 모델을 활용하여 본질적으로 3D 일관성을 향상시킵니다.

표 1: GSO [14] 및 Objaverse [11] 데이터 세트의 정량적 비교.

또한 Objaverse [11] 및 GoogleScannedObjects (GSO) [14] 데이터 세트의 접근 방식을 정량적으로 비교합니다.

각 데이터 세트에 대해 랜덤으로 20개의 모양을 선택하고 모양당 단일 이미지를 렌더링하여 평가합니다.

예측을 ground-truth 메쉬와 일치시키기 위해 스케일링 인자와 회전 각도를 선형으로 검색하고 샘플링된 포인트 클라우드에 대해 Iterative Closest Point (ICP)를 적용한 후 가장 많은 인라이어 수를 가진 것을 선택합니다.

RealFusion [43]을 따라 F-score(임계값이 0.05인 경우) 및 CLIP similarity, A100 GPU의 런타임을 보고합니다.

표 1에서 볼 수 있듯이 저희의 방법은 F-Score 측면에서 모든 기본 접근 방식을 능가합니다.

CLIP similarity의 경우 동시 작업인 Shap-E [29]를 제외한 모든 방법을 능가합니다.

저희는 CLIP similarity가 색상 분포에 매우 민감하고 로컬 지오메트리 변화(즉, the number of legs of a stool, the number 

of handles of a mug)에서 덜 차별적임을 발견했습니다.

러닝 타임과 관련하여 저희의 방법은 최적화 기반 접근 방식에 비해 현저한 이점을 보여주며 Point-E [52] 및 Shap-E [29]와 같은 3D 네이티브 디퓨전 모델과 동등하게 수행합니다.

히, 저희의 3D 재구성 모듈은 약 5초 만에 3D 메쉬를 재구성하며, 나머지 시간은 주로 A100 GPU에서 이미지당 약 1초가 소요되는 Zero123 예측에 사용됩니다.

그림 8: 재구성 모듈의 학습 전략과 뷰 수에 대한 ablations

4.3 Ablation Study

Training strategies.

저희는 그림 8에서 학습 전략을 ablate합니다.

저희는 2단계 소스 뷰 선택 전략 없이 32개의 균일하게 포즈된 Zero123 예측(첫 번째 열)을 소비하도록 학습된 네트워크가 소스 뷰 간의 심각한 불일치로 인해 재구성 모듈이 완전히 실패한다는 것을 발견했습니다.

4개의 가까운 뷰 없이 8개의 소스 뷰(두 번째 열)만 제공하면 재구성은 로컬 대응을 포착하지 못하고 fine-grained 지오메트리를 재구성할 수 없습니다.

마찬가지로, 학습 중 depth loss를 적용하지 않으면(세 번째 열) 네트워크는 fine-grained 지오메트리를 재구성하는 방법을 학습하지 못합니다.

학습 중에 먼저 n개의 ground-truth 렌더링을 렌더한 다음 Zero123을 사용하여 각각에 대해 4개의 주변 뷰를 예측합니다.

학습 중(네 번째 열)에 Zero123 예측 없이 8×4개의 ground truth 렌더링에서 직접 학습하면 추론 중에 Zero123 예측에 잘 일반화하지 못하고 많은 누락된 영역이 있습니다.

대신 학습 중에 n개의 ground truth 렌더링을 n개의 Zero123 예측(다섯 번째 열)으로 교체하면 잘못된 depth supervision으로 인해 네트워크도 중단됩니다.

그림 10: 잘못된 elevation은 왜곡된 재구성으로 이어집니다. 우리 의 elevation 추정 모듈은 입력 뷰의 정확한 elevation을 예측할 수 있습니다.

Elevation estimation.

저희의 재구성 모듈은 입력 뷰의 정확한 elevation 각에 의존합니다.

그림 10에서 저희는 잘못된 elevation 각을 제공(예: 소스 뷰의 elevation 각을 ±30˚ 변경)하여 왜곡된 재구성 결과를 초래하는 영향을 보여줍니다.

대신 예측된 elevation 각을 활용하면 결과가 ground truth elevation과 완벽하게 일치할 수 있습니다.

또한 랜덤 카메라 포즈에서 1,700개의 이미지를 렌더링하여 elevation 추정 모듈을 정량적으로 테스트합니다.

그림 7에서 볼 수 있듯이, 저희의 elevation 추정 모듈은 정확한 elevation을 예측합니다.

그림 7: 예상 elevation의 오차 분포. 중앙값과 평균은 5.4도와 9.7도입니다.

Number of source views.

그림 8에서는 소스 뷰 수를 변경하는 것이 3D 재구성에 미치는 영향도 조사합니다.

재구성 모듈을 해당 설정으로 재학습하는 한 우리의 방법은 뷰 수에 그다지 민감하지 않습니다.

 

360˚ reconstruction vs. multi-view fusion.

저희의 방법은 360˚ 메쉬를 단일 패스로 재구성하는 반면, 기존의 대부분의 일반화 가능한 신경 재구성 접근법은 주로 정면 뷰 재구성에 초점을 맞춥니다 [40, 28, 6].

대안적인 접근법은 각 뷰에 대한 기하학적 구조를 독립적으로 추론한 다음 이를 함께 융합하는 것입니다.

그러나 이 전략은 그림 9에서 볼 수 있듯이 일관성 없는 Zero123 예측으로 인해 종종 멀티 뷰 융합에 어려움을 겪는 것을 관찰했습니다.

그림 9: 360˚ reconstruction vs. multi-view fusion. 다른 뷰의 메쉬는 다른 색상으로 표시됩니다.
그림 11: Text-to-3D. 첫 번째 행: "a bear in cowboy suit." 두 번째 행: "a kungfu cat." 우리는 DALL-E 2[58]를 사용하여 텍스트에 조건적 이미지를 생성한 다음 3D로 리프트합니다. 우리는 우리의 방법을 Stable Dreamfusion [55] 및 3DFuse [68]와 비교합니다. 베이스라인의 경우 볼륨 렌더링이 표시됩니다.

4.4 Text to 3D Mesh

그림 11과 같이, 기성 text-to-image 2D 디퓨전 모델[64, 58]과 통합함으로써, 우리의 방법은 text-to-image-3D 작업을 지원하고 짧은 시간에 고품질의 텍스처 메쉬를 생성하도록 자연스럽게 확장될 수 있습니다.

더 많은 예는 보충을 참조하십시오.

 

 

5  Conclusion

본 논문에서는 객체의 고품질 360˚ 메쉬를 단일 이미지에서 재구성하는 새로운 방법을 제시합니다.

저희의 결과는 기존의 제로샷 접근법에 비해 우수한 지오메트리, 향상된 3D 일관성 및 입력 이미지에 대한 현저한 밀착성을 보여줍니다.

특히 저희의 접근법은 시간이 많이 소요되는 최적화 없이 단일 전진 패스로 메쉬를 재구성하여 처리 시간을 크게 단축할 수 있습니다.

또한 text-to-3D 작업을 지원하기 위해 저희의 방법을 쉽게 확장할 수 있습니다.