저자: Jun Gao, NVIDIA, University of Toronto, Vector Institute (jung@nvidia.com) Tianchang Shen, NVIDIA, University of Toronto, Vector Institute (frshen@nvidia.com) Zian Wang, NVIDIA, University of Toronto, Vector Institute (zianw@nvidia.com) Wenzheng Chen, NVIDIA, University of Toronto, Vector Institute (wenzchen@nvidia.com) Kangxue Yin, NVIDIA (kangxuey@nvidia.com) Daiqing Li, NVIDIA (daiqingl@nvidia.com) Or Litany, NVIDIA (olitany@nvidia.com) Zan Gojcic, NVIDIA (zgojcic@nvidia.com) Sanja Fidler, NVIDIA, University of Toronto, Vector Institute (sfidler@nvidia.com) 초록 여러 산업이 방대한 3D 가상 세계 모델링으로 나아가면서 3D 콘텐츠의 양, 품질 및 다양성 측면에서 확장 가능한 콘텐츠 제작 도구의 필요성이 분명해지고 있습니다. 저희 작업에서는 3D 렌더링 엔진에서 직접 소비할 수 있는 텍스처 메쉬를 합성하는 고성능 3D 생성 모델을 훈련하는 것을 목표로 하여 다운스트림 애플리케이션에서 즉시 사용할 수 있도록 합니다. 3D 생성 모델링에 대한 이전 연구들은 기하학적 디테일이 부족하거나, 생성할 수 있는 메쉬 위상에 제한이 있거나, 일반적으로 텍스처를 지원하지 않거나, 합성 과정에서 신경 렌더러를 사용하여 일반적인 3D 소프트웨어에서 사용하기가 쉽지 않습니다. 본 연구에서는 복잡한 위상, 풍부한 기하학적 디테일 및 높은 충실도의 텍스처를 가진 enerative model that directly generates xplicit extured meshes인 GET3D를 소개합니다. 저희는 2D 이미지 컬렉션에서 모델을 훈련하기 위해 미분 가능한 표면 모델링, 미분 가능한 렌더링 및 2D 생성적 적대 신경망의 최근 성공을 활용합니다. GET3D는 자동차, 의자, 동물, 오토바이, 인간 캐릭터부터 건물에 이르기까지 고품질 3D 텍스처 메쉬를 생성할 수 있으며, 이전 방법들에 비해 상당한 개선을 달성했습니다. 저희 프로젝트 페이지: G E T 3D https://nv-tlabs.github.io/GET3D 1 서론 다양하고 고품질의 3D 콘텐츠는 게임, 로보틱스, 건축, 소셜 플랫폼을 포함한 여러 산업에서 점점 더 중요해지고 있습니다. 그러나 3D 에셋의 수동 제작은 시간이 많이 소요되며 특정 기술 지식과 예술적 모델링 기술이 필요합니다. 주요 과제 중 하나는 규모입니다. Turbosquid [ ] 또는 Sketchfab [ ]와 같은 3D 마켓플레이스에서 3D 모델을 찾을 수 있지만, 게임이나 영화를 다양한 모양의 캐릭터 군중으로 채우기 위해 많은 3D 모델을 만드는 데는 여전히 상당한 아티스트 시간이 소요됩니다. 4 3 콘텐츠 제작 프로세스를 용이하게 하고 다양한 (초보) 사용자에게 접근할 수 있도록 하기 위해 고품질의 다양한 3D 에셋을 생성할 수 있는 생성적 3D 신경망이 최근 활발한 연구 분야가 되었습니다[ , , , , , , , , , , ]. 그러나 현재의 실제 애플리케이션에 실질적으로 사용되기 위해서는 3D 생성 모델이 이상적으로 다음과 같은 요구 사항을 충족해야 합니다: 상세한 기하학 및 임의의 위상을 가진 모양을 생성할 수 있는 능력을 가져야 하며, 출력은 텍스처 메쉬여야 하며, 이는 Blender [ ] 및 Maya [ ]와 같은 표준 그래픽 소프트웨어 패키지에서 사용되는 주요 표현이며, 명시적인 3D 모양보다 더 널리 사용 가능한 2D 이미지를 감독에 활용할 수 있어야 합니다. 5 14 43 46 53 68 75 60 59 69 23 (a) (b) 15 1 (c) 3D 생성 모델링에 대한 이전 연구는 위의 요구 사항의 하위 집합에 초점을 맞췄지만, 현재까지 어떤 방법도 이 모든 요구 사항을 충족하지 못합니다 (표 ). 예를 들어, 3D 포인트 클라우드를 생성하는 방법[ , 68, 75]은 일반적으로 텍스처를 생성하지 않으며 후처리에서 메쉬로 변환해야 합니다. 1 5 복셀을 생성하는 방법은 종종 기하학적 디테일이 부족하고 텍스처를 생성하지 않습니다[ , , , ]. 신경 필드[ , ]를 기반으로 하는 생성 모델은 기하학 추출에 초점을 맞추지만 텍스처는 무시합니다. 이들 중 대부분은 명시적인 3D 감독도 필요합니다. 마지막으로, 텍스처 3D 메쉬[ , ]를 직접 출력하는 방법은 일반적으로 사전 정의된 모양 템플릿을 필요로 하며 복잡한 위상 또는 가변적인 속성을 가진 모양을 생성할 수 없습니다. 66 20 27 40 43 14 54 53 최근 신경 볼륨 렌더링[ ] 및 2D 생성 적대 신경망(GAN)[ , , , , ]의 빠른 발전은 3D 인식 이미지 합성[ , , , , , ]의 부상을 이끌었습니다. 그러나 이 작업은 신경 렌더링을 사용하여 다중 보기 일관적인 이미지를 합성하는 것을 목표로 하며 의미 있는 3D 모양을 생성할 수 있다고 보장하지는 않습니다. 메쉬는 마칭 큐브 알고리즘[ ]을 사용하여 기본 신경 필드 표현에서 잠재적으로 얻을 수 있지만, 해당 텍스처를 추출하는 것은 쉽지 않습니다. 45 34 35 33 29 52 7 57 8 49 51 25 39 본 연구에서는 실질적으로 유용한 3D 생성 모델의 모든 요구 사항을 해결하는 것을 목표로 하는 새로운 접근 방식을 소개합니다. 구체적으로, 우리는 GET3D를 제안하는데, 이는 높은 기하학적 및 텍스처 디테일과 임의의 메쉬 위상을 가진 enerative model for 3D shapes that directly outputs xplicit extured meshes입니다. 저희 접근 방식의 핵심은 미분 가능한 표면 추출 방법[ ]과 미분 가능한 렌더링 기술[ , ]을 활용하는 생성 프로세스입니다. 전자는 임의의 위상을 가진 텍스처 3D 메쉬를 직접 최적화하고 출력할 수 있게 하며, 후자는 2D 이미지를 사용하여 모델을 훈련할 수 있게 하여 2D 이미지 합성을 위해 개발된 강력하고 성숙한 판별기를 활용할 수 있게 합니다. 모델은 메쉬를 직접 생성하고 고효율 (미분 가능한) 그래픽 렌더러를 사용하기 때문에 1024 x 1024와 같이 높은 해상도의 이미지로 훈련 규모를 쉽게 확장하여 고품질의 기하학적 및 텍스처 디테일을 학습할 수 있습니다. G E T 3D 명시적 60 47 37 ShapeNet [ ], Turbosquid [ ] 및 Renderpeople [ ]의 자동차, 의자, 동물, 오토바이, 인간 캐릭터부터 건물에 이르기까지 복잡한 기하학을 가진 여러 범주에 대한 조건 없는 3D 모양 생성에서 최첨단 성능을 입증했으며, 이전 방법들보다 상당한 개선을 달성했습니다. 명시적 메쉬를 출력 표현으로 사용함으로써 GET3D는 매우 유연하며 다음과 같은 다른 작업에도 쉽게 적용할 수 있습니다: 감독 없이 고급 미분 가능한 렌더링[ ]을 사용하여 분해된 재료 및 보기 종속 조명 효과를 생성하도록 학습, CLIP[ ] 임베딩을 사용한 텍스트 기반 3D 모양 생성. 9 4 2 (a) 12 (b) 56 2 관련 작업 기하학 및 외형을 위한 3D 생성 모델과 3D 인식 생성 이미지 합성에 대한 최근 발전 사항을 검토합니다. 최근 몇 년 동안 2D 생성 모델은 고해상도 이미지 합성[ , , , , , , ]에서 사실적인 품질을 달성했습니다. 이러한 발전은 3D 콘텐츠 생성에 대한 연구에도 영감을 주었습니다. 초기 접근 방식은 2D CNN 생성기를 3D 복셀 그리드[ , , , , ]로 직접 확장하는 것을 목표로 했지만, 3D 컨볼루션의 높은 메모리 사용량과 계산 복잡성은 고해상도에서의 생성 과정을 방해합니다. 대안으로, 다른 작업들은 포인트 클라우드[ , , , ], 암시적[ , ] 또는 옥트리[ ] 표현을 탐구했습니다. 그러나 이러한 작업들은 주로 기하학 생성에 초점을 맞추고 외형은 무시합니다. 또한 출력 표현은 표준 그래픽 엔진과 호환되도록 후처리해야 합니다. 3D 생성 모델 34 35 33 52 29 19 16 66 20 27 40 62 5 68 75 46 43 14 30 저희 작업과 더 유사하게, Textured3DGAN[ , ] 및 DIBR[ ]은 텍스처 3D 메쉬를 생성하지만, 생성 과정을 템플릿 메쉬의 변형으로 공식화하여 복잡한 위상 또는 다양한 속성을 가진 모양 생성을 방지하며, 이는 저희 방법으로도 가능합니다. PolyGen[ ] 및 SurfGen[ ]은 임의의 위상을 가진 메쉬를 생성할 수 있지만 텍스처를 합성하지는 않습니다. 54 53 11 48 41 신경 볼륨 렌더링[ ] 및 암시적 표현[ , ]의 성공에 힘입어 최근 작업은 3D 인식 이미지 합성[ , , , , , , , , , ] 문제를 해결하기 시작했습니다. 그러나 신경 볼륨 렌더링 네트워크는 일반적으로 쿼리 속도가 느려 훈련 시간이 길고 [ , ] 제한된 해상도의 이미지를 생성합니다. GIRAFFE[ ] 및 StyleNerf[ ]는 더 낮은 해상도에서 신경 렌더링을 수행한 다음 2D CNN으로 결과를 업샘플링하여 훈련 및 렌더링 효율성을 향상시킵니다. 그러나 성능 향상은 다중 보기 일관성 감소를 대가로 합니다. 이중 판별기를 활용하여 EG3D[ ]는 이 문제를 부분적으로 완화할 수 있습니다. 그럼에도 불구하고 신경 렌더링 기반 방법에서 텍스처 표면을 추출하는 것은 쉽지 않은 과제입니다. 대조적으로 GET3D는 표준 그래픽 엔진에서 즉시 사용할 수 있는 텍스처 3D 메쉬를 직접 출력합니다. 3D 인식 생성 이미지 합성 45 43 14 7 57 49 26 25 76 8 51 58 67 7 57 49 25 8 3 방법 이제 텍스처 3D 모양을 합성하기 위한 GET3D 프레임워크를 제시합니다. 생성 프로세스는 두 부분으로 나뉩니다. 임의의 위상을 가진 표면 메쉬를 미분 가능하게 출력하는 기하학 브랜치와 표면 지점에서 쿼리하여 색상을 생성할 수 있는 텍스처 필드를 생성하는 텍스처 브랜치입니다. 후자는 재료와 같은 다른 표면 속성으로 확장될 수 있습니다 (섹션 ). 훈련 중에 효율적인 미분 가능한 래스터라이저를 사용하여 텍스처 메쉬를 2D 고해상도 이미지로 렌더링합니다. 전체 프로세스는 미분 가능하므로 2D 판별기에서 두 생성기 브랜치로 그래디언트를 전파하여 이미지 (관심 객체를 나타내는 마스크 포함)로 적대적 훈련이 가능합니다. 모델은 그림 에 설명되어 있습니다. 다음에서는 섹션 에서 3D 생성기를 먼저 소개하고, 섹션 에서 미분 가능한 렌더링 및 손실 함수를 설명합니다. 4.3.1 2 3.1 3.2 3.1 3D 텍스처 메쉬의 생성 모델 가우시안 분포에서 샘플을 메쉬 과 텍스처 로 매핑하는 3D 생성기 = ( )를 학습하는 것을 목표로 합니다. M E M, E G z ∈ N (0*,* ) z I 동일한 기하학이 다른 텍스처를 가질 수 있고, 동일한 텍스처가 다른 기하학에 적용될 수 있기 때문에 두 개의 임의 입력 벡터 1 ∈ R512 및 2 ∈ R512를 샘플링합니다. StyleGAN [ , , ]에 따라 비선형 매핑 네트워크 geo 및 tex를 사용하여 1 및 2를 중간 잠재 벡터 1 = geo( 1) 및 2 = tex( 2)로 매핑합니다. 이 벡터들은 3D 모양 및 텍스처 생성을 제어하는 을 생성하는 데 사용됩니다. 섹션 에서 기하학에 대한 생성기를, 섹션 에서 텍스처 생성기를 형식적으로 소개합니다. z z 34 35 33 f f z z w f z w f z 스타일 3.1.1 3.1.2 3.1.1 기하학 생성기 최근 제안된 미분 가능한 표면 표현인 DMTet[ ]을 통합하도록 기하학 생성기를 설계했습니다. DMTet는 변형 가능한 사면체 격자[ , ] 상에서 부호 거리 필드(SDF)로 기하학을 표현하며, 여기서 표면은 마칭 테트라헤드라[ ]를 통해 미분 가능하게 복구될 수 있습니다. 격자를 변형하는 것은 해상도를 더 잘 활용하게 합니다. 표면 추출에 DMTet를 채택함으로써 임의의 위상과 속성을 가진 명시적 메쉬를 생성할 수 있습니다. 다음으로 DMTet의 간략한 요약을 제공하고 자세한 내용은 원본 논문을 참조하십시오. 60 22 24 17 객체가 놓이는 전체 3D 공간을 ( )라고 할 때, 여기서 는 사면체 격자 의 정점이고, ∈ 는 네 개의 정점 { }로 정의되며, ∈ {1*, . . . , K*}, 여기서 는 총 사면체 수이고, ∈ ∈ R3입니다. 각 정점 는 3D 좌표 외에도 SDF 값 ∈ R 및 초기 정규 좌표에서의 변형 ∆ ∈ R3를 포함합니다. 이 표현을 통해 변형된 정점 ′ = + ∆ 에서 SDF 값을 동역학적 보간하여 연속 공간에서 SDF 값을 계산하는 미분 가능한 마칭 테트라헤드라[ ]를 통해 명시적 메쉬를 복구할 수 있습니다. VT , T VT T Tk T v ak , v bk , v ck , v dk k K v ik VT , v ik v i si v i v v i v i 60 3D 컨볼루션 및 완전 연결 계층을 통해 1 ∈ R512를 각 정점 의 SDF 값 및 변형으로 매핑합니다. 구체적으로, 먼저 3D 컨볼루션 계층을 사용하여 1에 의해 조건화된 특징 볼륨을 생성합니다. 그런 다음 삼선형 보간을 사용하여 각 정점 ∈ 에서 특징을 쿼리하고 SDF 값 및 변형 ∆ 를 출력하는 MLP에 공급합니다. 고해상도 모델링이 필요한 경우 (예: 바퀴에 얇은 구조가 있는 오토바이), [ ]에 따라 볼륨 분할을 추가로 사용합니다. 네트워크 구조 w v i w v i VT si v i 60 모든 정점에 대해 및 ∆ 를 얻은 후, 미분 가능한 마칭 테트라헤드라 알고리즘을 사용하여 명시적 메쉬를 추출합니다. 마칭 테트라헤드라는 의 부호에 따라 각 사면체 내의 표면 위상을 결정합니다. 특히, 메쉬 면은 sign( ) /= sign( )일 때 추출되며, 여기서 는 사면체 모서리의 정점 인덱스를 나타내고, 해당 면의 정점 는 선형 보간으로 결정됩니다: mi,j = v 0 i sj−v 0 j si sj−si . 참고로 위 방정식은 si 6= sj 일 때만 평가되므로 미분 가능하며, mi,j 의 그래디언트는 SDF 값 si 와 변형 ∆vi 로 역전파될 수 있습니다. 이 표현을 사용하면 si 의 다른 부호를 예측하여 임의의 위상을 가진 모양을 쉽게 생성할 수 있습니다. 미분 가능한 메쉬 추출 si v i si si sj i, j m i,j 3.1.2 텍스처 생성기 출력 메쉬와 일관된 텍스처 맵을 직접 생성하는 것은 생성된 모양이 임의의 속성과 위상을 가질 수 있기 때문에 쉽지 않습니다. 따라서 텍스처를 텍스처 필드[ ]로 매개변수화합니다. 50 구체적으로, 3D 위치 ∈ R3의 표면 지점을 2를 조건으로 하여 RGB 색상 ∈ R3으로 매핑하는 함수 로 텍스처 필드를 모델링합니다. 텍스처 필드는 기하학에 의존하므로, = ( *,* 1 ⊕ 2)가 되도록 기하학 잠재 코드 1에 대한 매핑을 추가로 조건화합니다. 여기서 ⊕는 연결을 나타냅니다. p w c ft c ft p w w w 3D 객체[ ]를 복구하고 3D 인식 이미지를 생성[ ]하는 데 효율적이고 표현력이 좋은 삼중 평면 표현을 사용하여 텍스처 필드를 표현합니다. 구체적으로, [ , ]를 따라 조건부 2D 컨볼루션 신경망을 사용하여 잠재 코드 1 ⊕ 2를 × × ( × 3) 크기의 세 개의 축 정렬 직교 특징 평면으로 매핑합니다. 여기서 = 256은 공간 해상도를 나타내고 = 32는 채널 수를 나타냅니다. 네트워크 구조 55 8 8 35 w w N N C N C 특징 평면이 주어지면, 표면 지점 p의 특징 벡터 ft ∈ R 32는 ft = P e ρ(πe(p)) 로 복구됩니다. 여기서 πe(p)는 지점 p를 특징 평면 e로 투영하고 ρ(·)는 특징의 쌍선형 보간을 나타냅니다. 추가 완전 연결 계층은 집계된 특징 벡터 ft를 RGB 색상 c로 매핑하는 데 사용됩니다. 3D 인식 이미지 합성에 대한 다른 작업과 달리 신경 필드 표현도 사용하는 경우, 텍스처 필드는 표면 지점의 위치에서만 샘플링하면 됩니다 (밀집 샘플링과 달리). 이는 고해상도 이미지 렌더링의 계산 복잡성을 크게 줄이고 구성상 다중 보기 일관적인 이미지를 생성하도록 보장합니다. 3.2 미분 가능한 렌더링 및 훈련 훈련 중에 모델을 감독하기 위해 미분 가능한 렌더러를 활용하여 다중 보기 3D 객체 재구성을 수행하는 Nvdiffrec[ ]에서 영감을 얻었습니다. 구체적으로, 추출된 3D 메쉬와 텍스처 필드를 미분 가능한 렌더러[ ]를 사용하여 2D 이미지로 렌더링하고, 실제 객체에서 렌더링된 것인지 생성된 객체에서 렌더링된 것인지 구별하려는 2D 판별기로 네트워크를 감독합니다. 47 37 데이터 세트에 있는 이미지 획득에 사용된 카메라 분포 C를 알고 있다고 가정합니다. 생성된 모양을 렌더링하기 위해 C에서 카메라 를 무작위로 샘플링하고, 고도로 최적화된 미분 가능한 래스터라이저 Nvdiffrast[ ]를 사용하여 3D 메쉬를 2D 실루엣과 각 픽셀이 메쉬 표면의 해당 3D 지점 좌표를 포함하는 이미지로 렌더링합니다. 이 좌표는 텍스처 필드를 쿼리하여 RGB 값을 얻는 데 사용됩니다. 추출된 메쉬를 직접 사용하기 때문에 고해상도 이미지를 효율적으로 렌더링할 수 있어 모델을 최대 1024x1024의 이미지 해상도로 훈련할 수 있습니다. 미분 가능한 렌더링 c 37 적대적 목적 함수를 사용하여 모델을 훈련합니다. StyleGAN[ ]의 판별기 구조를 채택하고 R1 정규화[ ]를 사용하여 동일한 비포화 GAN 목적 함수를 사용합니다. RGB 이미지와 실루엣에 대해 별도의 두 판별기를 사용하는 것이 둘 다 처리하는 단일 판별기보다 더 나은 결과를 가져온다는 것을 경험적으로 확인했습니다. 를 판별기로 표시하고 가 RGB 이미지 또는 실루엣인 경우. 적대적 목적 함수는 다음과 같이 정의됩니다: 판별기 & 목적 함수 34 42 Dx x 여기서 ( )는 ( ) = − log(1 +exp(− ))로 정의되고, 는 실제 이미지 분포이며, 은 렌더링을 나타내고, 는 하이퍼파라미터입니다. 은 미분 가능하므로 2D 이미지에서 3D 생성기로 그래디언트를 역전파할 수 있습니다. g u g u u px R λ R 모든 보기에서 보이지 않는 내부 부동면을 제거하기 위해 인접 정점의 SDF 값[ ]에 정의된 교차 엔트로피 손실로 기하학 생성기를 추가로 정규화합니다: 정규화 47 여기서 는 이진 교차 엔트로피 손실을 나타내고 는 시그모이드 함수를 나타냅니다. 식 의 합은 사면체 격자의 고유한 모서리 집합 S 에 대해 정의되며, 여기서 sign( ) /= sign( )입니다. H σ 2 e si sj 전체 손실 함수는 다음과 같이 정의됩니다: 여기서 는 정규화 수준을 제어하는 하이퍼파라미터입니다. µ 4 실험 모델을 평가하기 위해 광범위한 실험을 수행합니다. 먼저 ShapeNet[ ] 및 Turbosquid[ ] 데이터 세트를 사용하여 GET3D가 생성한 3D 텍스처 메쉬의 품질을 기존 방법과 비교합니다. 다음으로 섹션 에서 설계 선택 사항을 분석합니다. 마지막으로 섹션 에서 다운스트림 애플리케이션에 적응하여 GET3D의 유연성을 보여줍니다. 추가 실험 결과 및 구현 세부 정보는 부록에 제공됩니다. 9 4 4.2 4.3 4.1 합성 데이터셋에 대한 실험 ShapeNet[ ]에 대한 평가를 위해 복잡한 기하학을 가진 세 가지 범주인 , , 를 사용하며, 각각 7497, 6778, 337개의 모양을 포함합니다. 각 범주를 무작위로 훈련(70%), 검증(10%), 테스트(20%)로 분할하고, 훈련 세트에 중복된 모양을 가진 테스트 세트에서 이를 제거합니다. 훈련 데이터를 렌더링하기 위해 각 모양의 상반구에서 카메라 포즈를 무작위로 샘플링합니다. 및 범주의 경우 24개의 임의 보기를 사용하고, 의 경우 모양 수가 적기 때문에 100개의 보기를 사용합니다. ShapeNet의 모델은 간단한 텍스처만 가지고 데이터셋 9 자동차 의자 오토바이 자동차 의자 오토바이