2022. 3. 10. 17:56ㆍ3D Vision
Occupancy Networks: Learning 3D Reconstruction in Function Space
Lars Mescheder, Michael Oechsle, Michael Niemeyer, Sebastian Nowozin, Andreas Geiger
Abstract
심층 신경망의 등장으로 3D 재구성을 위한 학습 기반 접근법이 인기를 얻었다.
그러나 이미지의 경우와 달리 3D에는 계산 및 메모리 효율성이 뛰어나지만 임의 위상의 고해상도 형상을 나타낼 수 있는 표준 표현이 없다.
따라서 많은 SOTA 학습 기반 3D 재구성 접근 방식은 매우 coarse 3D 지오메트리만 나타낼 수 있거나 제한된 영역으로 제한된다.
본 논문에서는 학습 기반 3D 재구성 방법에 대한 새로운 표현인 Occupancy Networks를 제안한다.
Occupancy Networks는 3D 표면을 심층 신경망 분류기의 연속 의사결정 경계로 암시적으로 나타낸다.
기존 접근 방식과 달리, 우리의 표현은 과도한 메모리 설치 공간 없이 무한 해상도로 3D 출력에 대한 설명을 인코딩한다.
우리는 우리의 표현이 3D 구조를 효율적으로 인코딩할 수 있고 다양한 종류의 입력에서 추론할 수 있는지 검증한다.
우리의 실험은 단일 이미지, 노이즈가 많은 포인트 클라우드 및 coarse 이산 복셀 그리드에서 3D 재구성의 어려운 작업에 대한 질적 및 정량적 경쟁 결과를 보여준다.
우리는 Occupancy Networks가 다양한 학습 기반 3D 작업에서 유용한 도구가 될 것이라고 믿는다.
1. Introduction
최근에는 3D 재구성을 위한 학습 기반 접근법이 인기를 끌고 있다[4,9,23,58,75,77].
기존의 멀티 뷰 스테레오 알고리즘과 달리 학습된 모델은 입력의 모호성을 해결하는 데 도움이 되는 3D 모양의 공간에 대한 풍부한 사전 정보를 인코딩할 수 있다.
생성 모델은 최근 현실적인 고해상도 이미지를 생성하는 데 괄목할 만한 성공을 거두었지만[36, 47, 72] 이러한 성공은 3D 영역에서 아직 재현되지 않았다.
2D 도메인과 달리 커뮤니티는 메모리 효율성과 데이터로부터 효율적으로 추론할 수 있는 3D 출력 표현에 대해 아직 합의하지 않았다.
기존 표현은 크게 세 가지 범주로 분류할 수 있다: 복셀 기반 표현 [4,19,43,58,64,69,75], 포인트 기반 표현 [1,17] 및 메시 표현 [34,57,70], 그림. 1 참조.
복셀 표현은 픽셀을 3D 케이스로 쉽게 일반화한 것이다.
그러나 불행히도 복셀 표현의 메모리가 차지하는 해상도에 따라 입체적으로 증가하므로 순발력 구현이 32^3 또는 64^3 복셀로 제한된다.
octrees [61, 67]와 같은 데이터 적응 표현을 사용하여 메모리 설치 공간을 줄일 수 있지만, 이 접근 방식은 복잡한 구현으로 이어지고 기존의 데이터 적응 알고리즘은 여전히 상대적으로 작은 256^3 복셀 그리드로 제한된다.
포인트 클라우드[1,17]와 메시[34,57,70]가 적절한 손실 함수를 사용하여 딥러닝을 위한 대안으로 도입되었다.
그러나 포인트 클라우드는 기본 메시의 연결 구조가 부족하기 때문에 모델에서 3D 형상을 추출하기 위한 추가 후처리 단계가 필요하다.
기존 메시 표현은 일반적으로 템플릿 메시를 변형하는 것을 기반으로 하므로 임의 위상을 허용하지 않는다.
또한, 두 가지 접근 방식 모두 표준 피드 포워드 네트워크를 사용하여 신뢰성 있게 예측할 수 있는 포인트/수치의 수가 제한된다.
본 논문에서는 연속 3D occupancy 함수를 직접 학습하는 것을 기반으로 3D 재구성에 대한 새로운 접근 방식을 제안한다(그림 1 (d)).
고정된 해상도에서 복셀화된 표현을 예측하는 대신 임의 해상도로 평가할 수 있는 신경망 f_θ를 사용하여 완전한 occupancy 함수를 예측한다.
따라서 학습 중 메모리 설치 공간이 크게 줄어듭니다.
추론 시간에, 우리는 3D 위치에 걸쳐 삼중으로 병렬화하는 간단한 다중 해상도 등각면 추출 알고리즘을 사용하여 학습된 모델에서 메시를 추출한다.
요약하면, 우리의 기여는 다음과 같습니다:
• 지속적인 3D 매핑을 학습하여 3D 지오메트리에 대한 새로운 표현을 소개한다.
• 우리는 이 표현이 다양한 입력 유형에서 3D 형상을 재구성하는 데 어떻게 사용될 수 있는지 보여준다.
• 우리는 우리의 접근 방식이 고품질 메시를 생성할 수 있는지 실험적으로 검증하고 그것이 최신 기술에 비해 유리하다는 것을 입증한다.
2. Related Work
학습 기반 3D 재구성에 대한 기존 작업은 복셀 기반, 포인트 기반 또는 메시 기반 중 하나로 생성하는 출력 표현에 따라 크게 분류할 수 있다.
Voxel Representations:
복셀은 단순하기 때문에 차별적[45, 55, 63] 및 생성적[9, 23, 58, 64, 75, 77] 3D 작업에 가장 일반적으로 사용된다.
초기 연구는 복셀 그리드에서 작동하는 3D 컨볼루션 신경망을 사용하여 단일 이미지에서 3D 형상을 재구성하는 문제를 고려했다[9, 68, 77].
그러나 메모리 요건으로 인해 이러한 접근법은 상대적으로 작은 32^3 복셀 그리드로 제한되었다.
최근 연구[74, 76, 79]는 최대 128^3 해상도에 3D 컨볼루션 신경망을 적용했지만, 이는 얕은 아키텍처와 작은 배치 크기로만 가능하기 때문에 학습이 느리다.
다중 입력 뷰에서 3D 형상을 재구성하는 문제가 [31, 35, 52]에서 검토되었습니다.
Ji et al.[31]과 Kar et al.[35]은 입력 영상과 함께 카메라 매개 변수를 3D 복셀 표현으로 인코딩하고 3D 컨볼루션을 적용하여 여러 뷰에서 3D 장면을 재구성한다.
Paschalidou et al. [52]는 다중 뷰 기하학 제약 조건을 이용하여 여러 이미지에서 복셀 점유율을 예측하는 아키텍처를 도입했다[69].
다른 작품들은 복셀 표현을 적용하여 3D 형상의 생성 모델을 학습했다.
이러한 방법의 대부분은 가변 자동 인코더[39, 59] 또는 생성적 적대 네트워크[25]에 기초한다.
이 두 가지 접근법은 각각 [4, 58]과 [75]에서 추구되었다.
복셀 표현의 높은 메모리 요구 사항으로 인해 최근 연구는 3D 개체를 다중 해상도 방식으로 재구성할 것을 제안했다[28, 67].
그러나 결과 방법은 구현이 복잡하고 최종 3D 모델을 생성하기 위해 입력에 대한 여러 번 패스를 필요로 한다.
또한 비교적 작은 256^3 복셀 그리드로 여전히 제한된다.
하위 복셀 정밀도를 달성하기 위해, 3D 그리드의 각 점이 가장 가까운 3D 표면 지점까지의 잘린 부호 거리를 저장하는 잘린 부호 거리 필드(TSDF)[11]를 예측하는 여러 연구들이 제안되었다.
그러나 네트워크가 복셀을 단순히 점유된 것으로 분류하는 대신 3D 공간의 거리 함수를 추론해야 하기 때문에 일반적으로 점유 표현에 비해 이러한 표현을 배우는 것이 훨씬 어렵다.
또한 이러한 표현은 여전히 기본 3D 그리드의 해상도에 의해 제한된다.
Point Representations:
로봇 공학 및 컴퓨터 그래픽 커뮤니티에서 널리 사용되는 3D 포인트 클라우드에 의해 3D 기하학의 흥미로운 대안이 제시된다.
Qi et al. [54, 56]은 차별적인 딥러닝 과제를 위한 대표로서 포인트 클라우드를 개척했다.
그들은 전역 풀링 연산에 이어 완전히 연결된 신경망을 각 지점에 독립적으로 적용하여 순열 불변성을 달성했다.
Fan et al. [17]은 3D 재구성을 위한 출력 표현으로 포인트 클라우드를 도입했습니다.
그러나 다른 표현과 달리 이 접근 방식은 최종 3D 메시를 생성하기 위해 사소한 후 처리 단계[3, 6, 37, 38]가 추가로 필요하다.
Mesh Representations:
메시는 먼저 메시의 정점과 가장자리에 걸쳐 있는 그래프에 컨볼루션을 적용하여 차별적 3D 분류 또는 분할 작업을 고려했다[5, 27, 71].
보다 최근에는 메시도 3D 재구성을 위한 출력 표현으로 고려되었다[26,33,41,70].
불행하게도, 이러한 접근법의 대부분은 자체 교차 메시를 생성하는 경향이 있다.
더욱이, 단순한 위상[70]으로 메시만 생성할 수 있고, 동일한 객체 클래스의 기준 템플릿이 필요하거나 [33, 41, 57] 닫힌 표면을 보장할 수 없습니다 [26].
Liao et al. [43] 종단 간 학습 가능한 버전의 행진 큐브 알고리즘을 제안했다[44].
그러나 이들의 접근 방식은 여전히 기본 3D 그리드의 메모리 요구 사항에 의해 제한되므로 32^3 복셀 해상도로 제한된다.
앞서 언급한 접근 방식과 달리, 우리의 접근 방식은 자체 교차점 없이 고해상도 폐쇄 표면을 유도하고 입력과 동일한 객체 클래스의 템플릿 메시를 필요로 하지 않는다.
이 아이디어는 다중 뷰 3D 재구성에 대한 고전적인 수준 집합[10, 14, 50] 접근법과 관련이 있다[18,24,32,40,53,78].
그러나, 미분 방정식을 푸는 대신, 우리의 접근법은 딥 러닝을 사용하여 다음을 수행한다.
엔드 투 엔드 학습 파이프라인에 자연스럽게 통합될 수 있는 보다 표현력 있는 표현을 얻습니다.
3. Method
이 섹션에서는 먼저 3D 지오메트리의 표현으로 Occupancy Networks를 소개한다.
그런 다음 포인트 클라우드, 단일 이미지 및 저해상도 복셀 표현과 같은 다양한 입력 형태에서 이러한 표현을 유추하는 모델을 학습하는 방법을 설명한다.
마지막으로 테스트 시 모델에서 고품질 3D 메시를 추출하는 기술을 설명한다.
3.1. Occupancy Networks
이상적으로는 고정 이산 3D 위치(복셀 호흡에서와 같이)뿐만 아니라 가능한 모든 3D 지점 p ∈ R^3에서 점유에 대해 추론하고자 한다.
우리는 결과 함수
를 3D 객체의 점유 함수라고 부릅니다.
우리의 핵심 통찰력은 p ∈ R3의 모든 위치에 0과 1 사이의 점유 확률을 할당하는 신경망을 사용하여 이 3D 함수를 근사화할 수 있다는 것이다.
우리가 물체의 표면을 암묵적으로 나타내는 결정 경계에 관심이 있다는 점을 제외하고, 이 네트워크는 이진 분류를 위한 신경망과 동일하다는 점에 유의한다.
해당 객체(예: 이미지, 포인트 클라우드 등)의 관찰을 기반으로 한 객체의 3D 재구성에 이러한 네트워크를 사용할 때는 입력에 따라 네트워크를 조절해야 한다.
다행히도, 우리는 다음과 같은 간단한 기능적 동등성을 사용할 수 있다: 관측치 x ∈ X를 입력으로 사용하고 p ∈ R^3에서 R까지의 함수를 출력으로 갖는 함수는 쌍 (p, x) ∈ R^3 × X를 입력으로 가져와서 실수를 출력하는 함수에 의해 동등하게 설명될 수 있다.
후자의 표현은 한 쌍 (p, x)을 입력으로 받아 점유 확률을 나타내는 실수를 출력하는 신경망 f_θ에 의해 간단히 매개 변수화될 수 있다:
우리는 이 네트워크를 Occupancy Network라고 부릅니다.
3.2. Training
신경망 f_θ(p, x)의 매개 변수 θ를 학습하기 위해, 우리는 고려 대상 개체의 3D 경계 볼륨에서 무작위로 포인트를 샘플링한다: 학습 배치의 i번째 샘플에 대해 우리는 K 포인트 p_ij r ∈^3, j = 1, ..., K를 샘플링한다.
그런 다음 다음과 같은 위치에서 미니 배치 손실 L_B를 평가한다:
여기서 x_i는 배치 B의 i번째 관측치이고, o_ij ≡ o(p_ij)는 점 p_ij에서의 실제 점유를 나타내며, L(·,·)은 교차 엔트로피 분류 손실이다.
우리 방법의 성능은 훈련에 사용되는 위치 p_ij를 그리기 위해 사용하는 샘플링 방식에 따라 달라진다.
섹션 4.6에서는 다양한 샘플링 방식을 비교하는 상세한 절제 연구를 수행한다.
실제로, 우리는 추가적인 작은 패딩을 사용하여 개체의 경계 상자 내에서 균일하게 샘플링을 수행하면 최상의 결과를 얻을 수 있다는 것을 발견했다.
우리의 3D 표현은 확률론적 잠재 변수 모델을 학습하는 데도 사용될 수 있다.
이 목표를 위해, 우리는 위치 p_ij와 점유자 o_ij를 입력으로 취하고 잠재적 z ∈ R^L에서 가우스 분포 q_(p_ij , o_ij)_(j=1:K))의 평균 μ_ψ 및 표준 편차 σ_ψ를 예측한다.
생성 모델 p(o_ij)_(j=1:K)|(p_ij)_(j=1:K))의 음수 log-likelihood로 하한 [21, 39, 59]을 최적화한다:
여기서 KL은 KL-분산을 나타내며, p_0(z)는 잠재 변수 z_i(일반적으로 가우스)에 대한 사전 분포이며 z_i는 q_(z_i|(p_ij , o_ij)_(j=1:K))에 따라 샘플링된다.
3.3. Inference
학습된 occupancy 네트워크가 주어진 새로운 관찰에 해당하는 isosurface을 추출하기 위해 계층적 등각면 추출 알고리즘인 MISE(Multiresolution IsoSurface Extraction)를 소개한다(그림 2).
MISE는 octree[30, 46, 66, 73]를 점진적으로 구축함으로써 고차원 점유 그리드의 모든 지점을 조밀하게 평가하지 않고 occupancy 네트워크에서 고해상도 메시를 추출할 수 있다.
먼저 초기 해상도에서 체적 공간을 이산화하고 이 그리드의 모든 p에 대한 occupancy network f_θ(p, x)를 평가한다.
우리는 f_θ(p, x)가 어떤 임계값 τ와 같거나 더 큰 모든 격자 점 p를 점유된 것으로 표시한다.
다음으로, 우리는 적어도 두 개의 인접한 그리드 지점이 서로 다른 점유 예측을 갖는 모든 복셀을 활성으로 표시한다.
현재 해상도에서 마칭 큐브 알고리즘을 적용하면 메쉬와 교차하는 복셀입니다.
우리는 모든 활성 복셀을 8개의 하위 복셀로 세분화하고 이 세분화를 통해 점유 그리드에 도입된 모든 새로운 그리드 포인트를 평가한다.
원하는 최종 해상도에 도달할 때까지 이러한 단계를 반복합니다.
이 최종 해상도에서, 우리는 대략적인 isosurface
를 추출하기 위해 행진 큐브 알고리즘[44]을 적용한다.
초기 해상도의 점유 그리드에 메시 내부와 외부의 모든 연결된 구성 요소에서 나온 점이 포함된 경우 우리의 알고리즘은 올바른 메시로 수렴한다.
따라서 이 조건을 만족시킬 만큼 높은 초기 해상도를 취하는 것이 중요합니다.
실제로, 우리는 거의 모든 경우에 32^3의 초기 해상도로 충분하다는 것을 발견했다.
마칭 큐브 알고리즘으로 추출한 초기 메시는 더욱 세분화할 수 있다.
첫 번째 단계에서, 우리는 Fast-Quadric-Mesh-Simplification 알고리즘을 사용하여 메시를 단순화한다[20].
마지막으로, 우리는 1차 및 2차(즉, 그라데이션) 정보를 사용하여 출력 메시를 개선한다.
이 목표를 향해 출력 메시의 각 면으로부터 무작위 포인트 p_k를 샘플링하고 손실
를 최소화한다, 여기서 n(p_k)은 p_k에서 메시의 정규 벡터를 나타낸다.
실제로 우리는 λ = 0.01로 설정한다.
(6)에서 두 번째 항의 최소화는 2차 경사도 정보를 사용하며 이중 백프로파케이션을 사용하여 효율적으로 구현될 수 있습니다 [15].
이 마지막 단계는 Marching Cubes 근사의 이산화 아티팩트를 제거하며 복셀 기반 표현을 직접 예측했다면 가능하지 않을 것이라는 점에 유의하십시오.
또한, 우리의 접근 방식은 occupancy network를 통해 단순히 역 전파함으로써 출력 메시의 모든 정점에 대한 규범을 효율적으로 추출할 수 있다.
전체적으로, 우리의 추론 알고리즘은 메시당 3초를 필요로 한다.
3.4. Implementation Details
우리는 5개의 ResNet 블록으로 완전히 연결된 신경망을 사용하여 occupancy network를 구현했고[29] 조건부 배치 정규화를 사용하여 입력에 조건화했다[13, 16].
우리는 입력 유형에 따라 다른 인코더 아키텍처를 이용한다.
단일 뷰 3D 재구성의 경우 ResNet18 아키텍처를 사용합니다[29].
포인트 클라우드에는 PointNet 인코더[54]를 사용합니다.
복셀화된 입력의 경우 3D 컨볼루션 신경망을 사용한다[45].
무조건 메시 생성의 경우 인코더 네트워크 g_ψ에 PointNet [54]을 사용한다.
자세한 내용은 보충 자료에 나와 있습니다.
4. Experiments
5. Conclusion
본 논문에서는 3D 기하학의 새로운 표현인 occupancy network를 소개하였다.
기존 표현과 달리 occupancy network는 3D 공간의 이산화에 의해 제약을 받지 않으므로 현실적인 고해상도 메시를 나타내는 데 사용할 수 있다.
우리의 실험은 occupancy network가 매우 표현력이 뛰어나며 지도 학습과 비지도 학습 모두에 효과적으로 사용될 수 있음을 보여준다.
따라서 occupancy network는 다양한 3D 작업에 적용할 수 있는 유용한 도구라고 생각한다.
'3D Vision' 카테고리의 다른 글
Mesh R-CNN (번역) (0) | 2022.03.23 |
---|---|
DeepSDF: Learning Continuous Signed Distance Functions for Shape Representation (0) | 2022.03.18 |
Pixel2Mesh : Generating 3D Mesh Models from Single RGB Images (0) | 2022.03.04 |
PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space (0) | 2022.03.02 |
PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation (0) | 2022.02.15 |