Coarse voxels / point cloud 등의 user guide를 통해 high-resolution 3D shapes를 합성해내는 deep 3D conditional generative model, DMTet (MT in a DL framework) 제안. Discretized signed distance function을 encoding하는 deformable tetrahedral grid와 이러한 implicit signed distance representation을 explicit surface mesh representation으로 변환하는 differentiable marching tetrahedra layer로 구성.
비전문가는 voxel 등을 통해 3D shape를 구현하곤 하며, 이러한 coarse & voxelized objects를 고화질로 upscale 해주는 AI tool의 수요 발생. Learning-based 3D content creation framework의 학습을 위해서도 효과적인 3D representation이 필요.
빠른 inference 속도를 위한 효율적인 메모리 관리 및 연산을 통해 local geometric details까지 잡아내야 함.
하지만 이전까지의 neural implicit representations 방법론은 SDF(signed distance field)나 OF(occupancy field) 값들에 대한 regression으로 학습되어 target surface에 대한 explicit supervision을 활용하지 못함.
Underlying surface를 deformable tetrahedral grid로 implicit하게 encoding한 뒤, Marching Tetrahedra (MT) algorithm으로 explicit mesh로 변환.
초반엔 convolutional neural network로 regular grid에 대한 voxel로 나타내도록 학습 시도(e.g. DECOR-GAN).
Resolution에 따라 기하급수적으로 증가하는 연산량 및 메모리 Octrees로 해결하려는 시도.
Grid 변형(deformation)과 분할(subdivision)을 동시에 수행하는 hierarchical deformable tetrahedral grid 제안.
3D shape를 neural network로 parameterize.
DIF-based shape synthesis approaches는 학습 시 추출된 3D location에 의존도가 높고 mesh로 변환 시 Marching Tetrahedra 등의 iso-surfacing step이 연산량이 높다는 문제점 발생.
DMTet의 경우 iso-surfacing formulation이 미분가능하여 end-to-end 학습을 가능케 함.
DefTet에서와 같이, deformable tetrahedral grid로 encoding된 sign distance field(SDF) 사용.
DefTet은 각 tetrahedron에 대한 occupancy를 encoding했다면, DMTet은 grid의 각 꼭짓점에 대한 signed distance values를 encoding. 또한 predicted surface에 대해 tetrahedra를 선택적으로 분할하여 메모리 및 연산량 감소.
이렇게 생성된 signed distance-based implicit representation은 marching tetrahedra layer를 통해 triangular mesh로 변환된 후, differentiable surface subdivision module을 통해 parameterized surface로 변환.
Point cloud(coarse voxelized shape가 입력될 경우 표면으로부터 points sampling)로부터는 PVCNN encoder로 3D feature volume 추출.
Grid vertex 에 대해, trilinear interpolation을 통해 계산.
SDF 를 통해 surface tetrahedra 와 이의 꼭짓점과 변으로 구성된 graph 구성.
GCN을 통해 각 꼭짓점 에 대한 position offset 과 SDF residual value , updated per-vertex feature 예측.
요약하자면,
1) Point cloud 혹은 coarse voxelized shape로 입력된 3D shape로부터,
2) PVCNN encoder로 tetrahedral grid에 대한 feature volume을 계산한 뒤,
3) MLP로 해당 grid에 대한 SDF 값과 refinement를 위한 additional feature 계산.
4) 이로부터 surface tetrahedra를 구분하여 graph를 구성하고,
4) GCN으로 grid 좌표와 SDF 값에 대한 offset을 계산하여 update한 뒤,
5) Surface tetrahedra에 한해 volume subdivision step과 additional surface refinement step을 거침.
1) Point cloud 혹은 coarse voxelized shape로 입력된 3D shape로부터,
2) PVCNN encoder로 tetrahedral grid에 대한 feature volume을 계산한 뒤,
3) MLP로 해당 grid에 대한 SDF 값과 refinement를 위한 additional feature 계산.
4) 이로부터 surface tetrahedra를 구분하여 graph를 구성하고,
4) GCN으로 grid 좌표와 SDF 값에 대한 offset을 계산하여 update한 뒤,
5) Surface tetrahedra에 한해 volume subdivision step과 additional surface refinement step을 거침.
*Surface tetrahedra로 graph를 구성해 GCN을 활용하는 점이 인상 깊다 :)