Abstract
1. DeepSDF란?
- 학습 기반의 연속적 Signed Distance Function (SDF) 표현
- 형상 클래스 전체를 고품질로 표현, 보간(interpolation), 불완전 데이터 복원 가능
2. 표현 방식
- 부피 필드에서 점의 크기: 표면 경계까지의 거리
- 부호: 형상 내부(-) 또는 외부(+)
- 경계는 함수의 0-level-set 으로 암묵적으로 인코딩
3. 기존 SDF 와 차이점
- 기존 SDF 는 단일 형상 표현
- DeepSDF 는 형상 클래스 전체를 학습하고 표현 가능
4. 성과
- 3D 형상 표현과 복원에서 최첨단 성능
- 모델 크기를 기존 대비 10배 감소
Introduction
1. 문제 정의
: 3D 딥러닝 모델은 기존 방식에서 공간 및 시간 복잡도 증가, 정점(vertex) 개수와 위상(topology) 불확실성 때문에 효율성과 유연성이 제한되었다.
2. DeepSDF 의 핵심 아이디어
- 연속적 Signed Distance Function (SDF) 기반의 학습된 3D 생성 모델
- SDF의 평가와 노이즈 제거를 위해 규치적인 격자로 이산화(discretize) 하는 기존 방식과 달리 연속적 필드를 생성하는 생성 모델을 학습
- SDF 를 형상 조건부(class-conditioned) 분류기로 간주해 표면을 결정 경계로 정의
3. 기여하는 바
- 연속적 암묵적 표면(continuous implicit surface) 을 사용한 형상 조건부(shape-conditioned) 3D 생성 모델링의 정식화(formulation)
- 확률적 오토디코더(probabilistic auto-decoder) 를 기반으로 3D 형상 학습
- 형상 모델링 및 복원에서의 성공적 응용
- 수천 개의 형상을 단 7.4MB 로 표현 가능
- 기존 비압축 3D 비트맵 대비 메모리 사용량 절감
4. 성과
- 복잡한 위상을 가진 고품질 연속 표면 생성
- 형상 복원 및 완성에서 최첨단 성능
Related Work
1. Representations for 3D Shape Learning
데이터 기반 3D 학습 접근법의 표현은 세가지 범주로 분류된다. [포인트 기반, 메쉬 기반, 복셀 기반]
일부 애플리케이션(예: 3D 포인트 클라우드 기반 객체 분류)는 이러한 표현에 적합하지만, 이 논문에서는 복잡한 topology 를 가진 연속 표면을 표현하는데 있어 이들의 한계에 대해서 얘기한다.
[point-based]
⊕ 센서 데이터를 직접적으로 활용 가능
⊖ 위상을 설명하지 못하며 완전 밀폐된(watertight) 표면을 생성할 수 없음
[mesh-based]
⊕ 3D 대응(correspondence) 제공, 고품질 형상 생성 가능
⊖ 고정된 위상만 모델링 가능, 매개화 품질에 의존하며 닫힌 형상을 보장하지 못함
[Voxel-based]
⊕ 3D 공간 표현에서 직관적이고 2D 컨볼루션 기반 학습과 자연스럽게 연결
⊖ 높은 메모리 요구량, 저해상도 형상 표현, 매끄럽지 않은 표면 생성
2. Representation Learning Techniques
표현 학습(Representation Learning) 이란? 데이터를 압축적으로 표현하는 특징을 자동으로 발견하는 기술
[Generative Adversial Networks, GANs]
- 생성자(generator) 와 판별자(discriminator)가 서로 경쟁하는 훈련 과정(aka. 대립적 학습)을 통해 사실적인 데이터를 생성한다.
- 하지만 이와 같은 대립적 훈련은 불안정하다는 것이 잘 알려져 있다.
[Auto-encoders]
- 인코더와 디코더 사이의 정보 병목 구조를 통해 원본 입력을 복제하여 데이터를 재구성한다.
- 오토 인코더는 특징 학습 도구로서의 가능성 입증하였고, 많은 3D 형상 학습 연구에서 활용된다.
- 변분 오토인코더(VAE)는 병목 현상에 가우시안 노이즈를 추가하여 매끄러운 잠재 공간을 생성한다.
[Optimizing Latent Vectors]
- 전체 오토인코더를 사용하는 대신, 디코더만 학습하여 압축된 데이터 표현을 생성하고 최적의 잠재 벡터를 찾는다.
- 이는 주로 노이즈 감소 및 누락 데이터 복원에 활용된다.
💡 여기서, 잠재 공간(Latent Space) 란?
데이터의 압축된 표현이나 추상적인 특징을 나타내는 고차원 공간이다.
이는 원래 데이터(예: 이미지, 음성 등)의 복잡한 구조를 간결한 수학적 표현으로 변환한 것으로, 데이터의 중요한 패턴만을 포함한다.
3. Shape Completion
형상 완성(shape completion) 은 희소하거나 불완전한 3D 데이터를 기반으로 보이지 않는 부분을 예측하는 작업이다.
이전 방법들:
- RBF (방사 기저 함수)를 사용하여 표현 함수 근사
- 방향성 point cloud 데이터를 푸아송 문제로 변환하여 표면 재구성
- 하지만 이러한 방식은 단일 형상만 처리
최근 접근법: 데이터 기반 방식으로 발전
- 인코더-디코더 구조 활용
- 부분 데이터를 잠재 공간으로 변환 후 학습된 사전 지식을 사용해 전체 형상을 생성
- 다양한 입력 유형 지원: point cloud, 깊이 맵, RGB 이미지 등
➡️ 데이터 기반 방법은 고전적 방법의 한계를 넘어 더 유연하고 데이터셋 전반에 걸쳐 적용 가능
Modeling SDFs with Neural Networks
Singed Distance Function (SDF) 는 점이 표면과의 거리를 출력하는 연속 함수이며, 부호는 점이 표면 내부(음수)인지 외부(양수)인지를 나타낸다.
기저표면(Underlying surface) 은 SDF(·) = 0인 등치면(iso-surface)으로 암묵적으로 표현된다.
이 암묵적 표면은 Marching Cubes 를 이용한 메쉬의 래스터화나 레이캐스팅(raycasting) 을 통해 렌더링 될 수 있다.
DeepSDF 접근법
핵심 아이디어: 포인트 샘플로부터 SDF 를 딥러닝 신경망을 통해 직접 회귀(regress)(직접 학습) 하는것이다.
- 신경망이 특정 위치의 SDF 값을 예측하도록 훈련 (Fig 2. 참고)
- 이를 통해 SDF(x) = 0 인 표면(등치면)을 추출 가능
- deep feed-forward network 는 universal function approximator(보편적 함수 근사기) 로서 이론적으로 임의의 정밀도로 연속적인 형상 함수를 근사할 수 있다.
- 하지만 실질적으로는 제한된 샘플 데이터와 네트워크 용량으로 인해 정밀도가 한정된다.
<Fig 2.> DeepSDF 표현을 Stanford Bunny에 적용한 결과
(a) 표면 내부(SDF < 0)와 외부(SDF > 0)에서 샘플링된 점들을 학습한 SDF = 0의 기저 암묵적 표면 표현
(b) 서명 거리 필드(Signed Distance Field)의 2D 단면
(c) SDF = 0 에서 복원된 3D 표면(등치면)의 렌더링
(b)와 (c) 는 모두 DeepSDF 를 통해 복원됨
훈련 과정
Fig 3. a 에 나와 있는 것처럼 주어진 목표 형상을 학습하기 위해 단일 딥 네트워크를 훈련시킨다.
1. 데이터 준비: 3D 점 샘플과 해당 SDF 값으로 구성된 쌍의 집합 X 준비
2. 목표
: 훈련 세트 S에서 multi-layer fully-connected network인 fθ(x) 의 매개변수 θ 를 훈련시켜, 타겟 도메인 Ω 에서 SDF 를 잘 근사할 수 있도록 학습
3. 손실 함수: L1 손실을 최소화
훈련은 포인트 X 에 대한 예측 SDF 값과 실제 SDF 값 사이의 손실의 합을 최소화 하는 방식으로 이루어진다.
아래 식은 SDF 의 특정 거리 δ 를 제어한다. 매개변수 δ 는 표면으로부터 일정 거리 내에서 메트릭 SDF 를 유지하도록 한다.
δ가 크면 샘플이 안전한 스텝 크기 정보를 제공하기 때문에 빠른 ray tracing 가능, 작으면 표면 근처 세부사항 학습에 집중
4. 네트워크 설계 및 학습
- 구조: 8개 fully-connected 레이어, 각 레이어는 512 차원, ReLU 활성화 함수
- 출력 활성화 : tanh
- overfitting 방지 : dropout , ADAM optimizer 사용, 가중치 정규화(weight normalization)으로 대체하여 배치 정규화를 안정화
- SDF 네트워크를 통한 역전파(back propagation)을 통해 공간적 미분(gradient) 을 계산하여 표면의 정확한 법선 벡터 계산 가능
📌 요약 하자면
DeepSDF 는 딥러닝으로 SDF 를 학습하여 연속적이고 정확한 3D 형상을 표현하는 방법이다.
- SDF 는 점이 표면과의 거리를 나타내며, 부호를 통해 내/외부를 구분한다.
- 인코더 없이
포인트 샘플만으로
네트워크를 훈련해 형상을 학습한다.
- 장점: 표면 법선을 계산할 수 있고, 다양한 렌더링 및 재구성 작업에 활용 가능하다.
Learning the Latent Space of Shapes
1. 문제 정의
- 각 모양에 대해 별도로 네트워크를 학습하는 것은 비효율적
- 다양한 모양의 공통 속성을 학습하고, 이를 저차원 잠재 공간에 내재화하는 모델이 필요
2. 잠재 벡터 도입
- 잠재 벡터 z 는 모양 정보를 인코딩한다
- 신경망의 두 번째 입력으로 사용하여 연속적인 3D SDF 표현을 가능하게 한다(Fig 3b. 참조)
3. 모델 구성
- 단일 네트워크 fθ 가 잠재 벡터 z_i 와 3D 위치 x 를 입력받아 다양한 SDF를 모델링한다.
- 표면은 fθ(z, x) = 0 의 결정 경계로 표현되며, 시각화를 위해 이산화(discretized) 가능하다.
Motivating Encoder-less Learning
1. 기존 방식의 한계
- 기존 auto-encoder 는 병목의 특징으로 잠재 공간을 학습하지만, 테스트 시 인코더는 사용되지 않는다.
- 그래서 훈련 중 인코더 사용이 계산 자원 효율성 측면에서 최선인지 불명확하다.
2. auto-decoder 도입 동기
- 인코더 없이 디코더만으로 모양 임베딩을 학습한다. (Fig 4. 참고)
- 테스트 시 잠재 벡터를 최적화하여 입력 관찰값과 일치시키는 방식
3. 성과
- 연속 SDF 를 학습한 자동 디코더는 고품질 3D 생성 모델 생성 가능
- 잠재 공간 정규화를 도입하여 일반화 성능 개선하는 확률적 구성(probabilistic formulation) 개발
- 3D 학습 커뮤니티에서 자동 디코더 학습 방법 처음으로 도입했다.
Auto-decoder-based DeepSDF Formulation
auto-decoder 기반의 shape-coded DeepSDF 공식화를 유도하기 위해 확률적 관점(probabilistic perspective)를 채택했다.
N 개의 SDF 로 표현된 모양 데이터 셋이 있을때, 각 모양 SDF_i 에서 K 개의 점 샘플과 해당 서명 거리 값을 준비한다.
auto-decoder에는 encoder가 없으므로, 각 잠재 코드 z_i 가 훈련 데이터 X_i 와 쌍을 이룬다.
모양 SDF 샘플 X_i 에 대한 잠재 코드 z_i 의 사후 확률은 다음과 같이 분해된다.
여기서 θ 는 SDF 가능도를 매개한다.
잠재 공간에서 잠재 코드 p(z_i) 의 사전 확률은 평균 0의 다변량 가우시안 분포(multivariate-Gaussian) 로 가정된다:
이 사전 확률은 모양 코드가 밀집되도록 하고, 컴팩트한 모양 매니폴드를 추론하며 좋은 솔루션으로 수렴하도록 돕는다.
SDF 가능도는 deep feed-forward network fθ(z_i, x_j) 로 표현되며, 다음과 같은 형태를 가진다:
훈련 시, 모든 훈련 모양에 대해 개별 모양 코드와 네트워크 매개변수 θ 에 대한 공동 로그 사후 확률(the joint log posterior) 을 최대화:
추론 시, 훈련 후 θ 를 고정한 상태에서 모양 X_i의 잠재코드 z_i는 다음 최대 사후 확률(Maximum-a-Posterior,MAP) 추정으로 계산됨:
이 공식은 SDF 샘플 X 가 임의의 크기와 분포를 가질 수 있으므로, 손실에 대한 z 의 기울기가 각 샘플에 대해 개별적으로 계산될 수 있다는 점에서 유효하다. 이는 DeepSDF 가 깊이 지도와 같은 부분 관찰 데이터를 처리할 수 있음을 의미하며, 이는 훈련 데이터와 유사한 입력을 요구하는 자동 인코더 프레임워크보다 큰 이점이다.
잠재 코드 z 는 입력 레이어와 4번째 레이어에서 샘플 위치와 함께 네트워크에 제공된다. Adam 최적화 알고리즘을 사용하며, z 는 N(0, 0.012) 에서 무작위로 초기화된다.
✨ 요약 정리 ✨
1. 자동 디코더 방식
- 잠재 코드 z 와 점 샘플 X 를 사용해 여러 SDF 를 단일 네트워크로 학습시킨다.
- SDF 가능도는 네트워크 fθ(z, x) 로 표현되며, 손실 함수 L 로 예측값과 실제값 차이를 측정한다.
2. 훈련 및 추론
- 훈련: 로그 사후 확률을 최적화해 네트워크와 잠재 코드를 학습한다.
- 추론: MAP 추정을 통해 주어진 모양의 잠재 코드를 계산한다.
3. 장점
- 임의 크기/분포의 데이터와 부분 관찰 데이터 처리 가능
- 기존 자동 인코더와 달리 인코더 필요 없이 유연한 데이터 처리
4. VAE 와의 비교
- 잠재 코드에 대해 가우시안 사전 분포를 공유하지만, VAE의 확률적 최적화 방식은 3D 학습에 부적합
Data Preparation
3D 메시 데이터로부터 SDF 샘플을 생성하여 연속형 SDF 모델 훈련을 준비한다. 방법은 다음과 같다.
- 메시를 단위 구로 정규화하고, 500,000개의 공간 점 샘플링
- 표면 근처에서 더 많은 샘플링을 통해 세밀한 정보를 포착
- 가상 카메라와 표면 법선을 이용해 올바르게 정렬된 표면 점 추출
- 닫히지 않은 모양 또는 내부 구조를 가진 메시는 제거 (결함 처리)
- 각 샘플 점에 대해 SDF 값을 계산하여 모델 학습 데이터로 사용
Results
DeepSDF 의 표현 능력을 입증하기 위해 실험을 진행했다.
이는 기하학적 세부사항을 표현하는 능력과 원하는 형태의 임베딩 공간을 학습하는 일반화 능력을 포함한다.
크게 네 가지 주요 실험을 통해 DeepSDF 의 능력을 테스트한다.
실험 항목 :
- 훈련 데이터 표현(기하학적 세부사항을 재현하는 능력)
- 보지 못한 형상 복원(학습된 특징 표현을 사용하여 새로운 형상을 복원하는 능력)
- 부분 형상 완성(형상 priors(선행 정보)를 사용하여 부분적인 형상을 완성하는 능력)
- 임베딩 공간 샘플링(부드럽고 완전한 형상 임베딩 공간을 학습하고 새로운 형상 샘플링하는 능력)
데이터셋: ShapeNet 사용
비교 대상: OGN(최신 옥트리 기반 방식), AtlasNet(메시 기반 방식), 3D-EPN(볼류메트릭 SDF 기반 형상 완성 방식)
Representing Known 3D Shapes
목적: DeepSDF 의 제한된 잠재 코드(latent code)를 사용한 기존 형상 표현 능력 평가
- CD (Chamfer Distance, 작을수록 우수) 에서 DeepSDF가 OGN, AtlasNet 보다 우수
- EMD (Earth Mover Distance, 작을수록 우수) 차이는 적었으나, 이는 적은 수의 샘플 포인트(500개) 로 인해 발생
Fig 5. 는 DeepSDF (left)가 OGN (right) 보다 정성적 평가에서도 우수함을 보여준다.
Representing Test 3D shapes (auto-encoding)
목적: 테스트 셋에서 알 수 없는 형상에 대한 표현 능력 평가
- DeepSDF 는 대부분의 형상 클래스와 지표에서 AtlasNet 보다 우수하다.
- AtlasNet 은 구멍 없는 형상에 적합하고, 구멍이 많은 형상에서는 성능이 저하되었다.
Shape Completion
목적: 부분 형상 데이터를 기반으로 완전한 형상을 생성하는 능력 평가
방법
1. 깊이 관찰 데이터 변환
- 깊이 이미지에서 SDF 샘플 생성
- 각 깊이 관찰 지점에서 표면 법선을 따라 거리 η 만큼 떨어진 두 점을 샘플링한다.
- 이 두 점의 SDF 값은 각각 η 및 -η 로 간주한다.
- 빈 공간(free-space) 데이터 추가
- 관찰된 표면과 카메라 사이의 빈 공간을 따라 점을 샘플링한다.
- 해당 점의 SDF 값은 0보다 큰 값이 되도록 제약을 적용한다.
- 손실 함수 및 최적화
- Eq. 4 의 클램프(clamp) 값을 η 로 설정하여 MAP 추정을 수행한다.
- 빈 공간 손실은 fθ(z, x_j) 가 0 보다 작을 경우 절대값을 붙여서 사용하고, 그렇지 않으면 0으로 설정한다. 이렇게 계산된 빈 공간 손실 값은 z 와 θ를 학습하는 MAP 추정 과정 (Eq. 10)에 포함된다.
- Map 최적화를 통해 추정된 형상 코드는 디코더를 통해 형상 생성에 사용된다.
결과
- DeepSDF 는 기존 볼류메트릭 방식보다 더 정확하고 시각적으로 우수한 형상 완성 결과 제공
- DeepSDF 는 연속적인 SDF 표현의 장점을 보여줌
Latent Space Shape Interpolation
목적: 학습된 형상 임베딩(latent embedding) 이 완전하고 연속적임을 보여주기 위함
방법
- 잠재 벡터 공간에서 두 형상 간의 보간(interpolation) 을 수행
- 보간된 잠재 벡터를 디코더에 전달하여 형상을 렌더링
- Fig 1. 에 보간 결과 제시
결과
- 보간 과정에서 생성된 형상은 모두 의미 있는 형태를 유지
- 의자 팔걸이 같은 특징이 잠재 공간에서 선형적으로 보간됨
- 이는 DeepSDF 가 형상의 공통적이고 해석 가능한 특징을 효과적으로 표현함을 나타냄
Conclusion
- DeepSDF 는 3D 형상 표현 및 복원 작업에서 기존 방법들을 능가하며, 복잡한 구조와 닫힌 표면을 효과적으로 표현하고 고품질의 표면 법선 정보를 제공한다.
- 포인트별 SDF 샘플링은 효율적이지만, 형상 복원(auto-decoding)은 잠재 벡터에 대한 명시적 최적화가 필요해서 추론 시간이 길어지는 한계가 있다.
- 장점: 복잡한 형상을 더 적은 메모리로 표현하며 이전 방법보다 더욱 높은 성능을 보여준다.