https://arxiv.org/pdf/2004.00452
https://shunsukesaito.github.io/PIFuHD/
안녕하세요, 이번 글에서는 PIFuHD: Multi-Level Pixel-Aligned Implicit Function for High-Resolution 3D Human Digitization∗ (2020) 논문 리뷰를 해보도록 하겠습니다.
PIFuHD(Multi-Level Pixel-Aligned Implicit Function for High-Resolution 3D Human Digitization)는 단일 이미지에서 고해상도의 3D 인간 모델을 생성하는 기술을 제시한 논문입니다. 이 기술은 1K 해상도 입력 이미지를 활용하여 의복, 얼굴 특징, 손가락 등 미세한 디테일까지 포착할 수 있습니다.
1. Introduction
최근 이미지 기반 3D 인간 형태 추정 기술은 Deep Neural Network의 표현력 향상으로 크게 발전했습니다. 그러나 기존 접근 방식들은 입력 이미지의 세부 정보를 완전히 활용하지 못한다는 한계가 있습니다. 이는 두 가지 상충되는 요구사항 때문입니다:
- 정확한 예측을 위해서는 넓은 맥락이 필요함
- 정밀한 예측을 위해서는 고해상도가 필요함
하드웨어 메모리 제한으로 인해 기존 접근 방식들은 넓은 공간적 맥락을 포괄하기 위해 저해상도 이미지를 입력으로 사용하고, 결과적으로 덜 정밀한 3D 추정을 생성합니다.
PIFuHD는 이러한 한계를 극복하기 위해 end-to-end 훈련이 가능한 다중 레벨 아키텍처를 제안합니다:
- 거친 레벨(coarse level): 낮은 해상도에서 전체 이미지를 관찰하여 전체적인 추론에 집중
- 세밀한 레벨(fine level): 고해상도 이미지를 관찰하여 매우 상세한 기하학적 형태를 추정
이 논문은 단일 이미지 인간 형태 재구성에서 1K 해상도 입력 이미지를 완전히 활용함으로써 기존 모델을 능가하는 성능을 보여줍니다.
2. Related Work
Single-View 3D Human Digitization (단일 시점 3D 인간 디지털화)
단일 시점 3D 인간 재구성은 카메라 광선을 따라 존재하는 기본적인 깊이 모호성으로 인해 ill-posed 문제입니다. 이 문제를 해결하기 위한 접근법은 다음과 같습니다:
- 파라메트릭 3D 모델 사용: SCAPE, SMPL 등의 모델을 사용하여 해결 공간을 제한
- 한계: 단일 템플릿 메시 사용과 주로 최소한의 의복을 입은 사람들로 구성된 데이터에 의해 표현력이 제한됨
- 파라메트릭 모델을 사용하지 않는 "free form" 3D 인간 기하학 직접 회귀 방법
- Deep Human
- PIFu(Pixel-Aligned Implicit Function)
PIFu는 출력 공간을 명시적으로 이산화하지 않고 주어진 3D 위치의 점유 여부를 결정하는 함수를 회귀합니다. 이 접근법은 이산화된 전체 출력 볼륨을 메모리 공간에 동시에 유지할 필요가 없어 메모리 효율적입니다.
High-Resolution Synthesis in Texture Space(텍스처 공간에서의 고해상도 합성)
고품질 3D 텍스처나 기하학을 재구성하기 위해 텍스처 맵 표현을 활용하는 접근법들이 있습니다.
Tex2Shape는 UV 공간에서 변위를 회귀하여 고품질 3D 기하학을 재구성하는 것을 목표로 합니다. 그러나 이러한 접근법은 template mesh(템플릿 메시)의 토폴로지와 UV parameterization(UV 매개변수화)의 토폴로지에 의해 제한됩니다.
3. Method
PIFuHD는 기존 PIFu 프레임워크를 기반으로 하며, 1024×1024 해상도의 입력 이미지를 처리하는 두 레벨의 픽셀-정렬 모듈로 구성됩니다:
- Corse Level(거친 레벨): 다운샘플링된 512×512 이미지를 입력으로 받아 128×128 해상도의 백본 이미지 특징을 생성
- Fine Level(세밀한 레벨): 원본 1024×1024 해상도 이미지를 입력으로 받아 512×512 해상도(PIFu보다 4배 높은 해상도)의 백본 이미지 특징을 생성
세밀한 레벨 모듈은 절대 깊이 값 대신 거친 레벨에서 추출된 3D 임베딩 특징을 입력으로 받습니다
Pixel-Aligned Implicit Function (픽셀-정렬 암시적 함수)
PIFu는 3차원 공간 상의 임의의 점 X에 대해 이 점이 인체 내부인지 외부인지를 나타내는 이진 Occupancy 값을 예측하는 함수 f(X)를 모델링하는 것을 목표.
수식으로 표현하면 다음과 같습니다.
- X = (Xx, Xy, Xz): 연속적인 카메라 공간에서의 3차원 위치
- I: 단일 RGB 입력 이미지
- 점 X가 인체 메쉬의 표면 내부에 위치할 경우 함수 f(X, I)는 1을 반환, 외부에 위치할 결우 0을 반환
- 이 함수는 3D 인체 모델을 디지털화하는 데 사용되며, 3D 공간상의 각 점에 대해 Occupancy 값을 예측하여 최종적으로 고해상도 3D 모델을 생성
함수 Φ 는 이미지에서 특징을 추출하고, 함수 g는 이 특징과 깊이 정보를 이용하여 최종적으로 점유 여부를 결정합니다.
- g: 이미지 특징과 깊이 정보를 이용하여 점유 여부를 판단하는 함수
- Φ(x, I): 이미지 I 에서 2D 위치 x에 해당하는 이미지 특징 임베딩을 추출하는 함수, 이는 CNN을 통해 구현
- x: 3D 위치 X를 이미지 평면에 투영한 2D 위치, 투영 함수 Φ 에 의해 x = π(X) = (Xx, Xy)로 표현
- Z = Xz: 투영된 2D 위치 x를 기준으로 하는 깊이(depth) 값
PIFu는 동일한 투영 위치 x를 갖는 3D 점들의 점유 여부를 판단하기 위해 깊이 값 Z를 활용
이러한 방식으로 PIFu는 3D 공간을 이산적으로 나누어 각 voxel의 점유 여부를 예측하는 대신, 연속적인 함수를 통해 3D 형상을 표현함으로써 메모리 효율성을 높이고 고해상도 3D 재구성을 가능하게 합니다.
Multi-Level Pixel-Aligned Implicit Function(다중 레벨 픽셀-정렬 암시적 함수)
PIFuHD는 1024×1024 해상도 이미지를 입력으로 받는 높은 충실도의 3D 인간 디지털화를 위한 다중 레벨 접근법을 제시.
Coarse Level:
Fine Level:
- f^H(X): High-resolution 이미지에서 3D 포인트 X의 Occupancy, 즉 해당 포인트가 인체 내부인지 외부인지를 나타내는 함수
- g^H: High-resolution Level의 특징(feature)과 Coarse Level에서 추출된 3D Embedding을 결합하여 최종 Occupancy를 예측하는 함수. MLP 형태로 구현
- Φ^H(x_H, I_H, F_H, B_H) : High-resolution 이미지 I_H에서 2D Projection 위치 x_H에서의 이미지 특징을 추출하는 함수F_H와 B_H는 각각 Frontal Normal Map과 Backside Normal Map을 나타냄
- x_H : High-resolution 이미지에서 3D 포인트 X 가 투영된 2D 위치
- I_H : 1024x1024 해상도의 High-resolution 입력 이미지
- F_H : Frontal Normal Map으로, 인체의 앞면 방향
- B_H : Backside Normal Map으로, 인체의 뒷면 방향, Image-to-Image Translation을 통해 추정
- Z: 2D 투영 위치 xL에서 카메라 광선을 따라 측정한 깊이 값
- Ω(X): Coarse Level 네트워크의 중간 레이어에서 추출된 3D Embedding, 전체적인 3D 구조에 대한 Contextual Information을 제공
coarse level이 전체적인 형태를 파악하고, fine level에서 세부적인 디테일을 추가하는 방식으로 최종적인 3D 형상을 추론.
이러한 접근 방식은 기존 방법들이 high-resolution 이미지의 디테일을 충분히 활용하지 못하는 문제점을 해결하고, end-to-end 방식으로 학습하여 더 정확하고 디테일한 3D 인체 모델을 생성하는 데 기여.
Front-to-Back Inference(전면-후면 추론)
- 문제 정의
- 사람의 뒷면 기하학 예측은 ill-posed 문제임
- 후면은 MLP 예측 네트워크에 의해 전적으로 추론되어야 함
- 모호하고 다중 모드적인 특성으로 인해 3D 재구성이 매끄럽고 특징이 부족함
- PIFuHD의 해결 방법
- 일부 추론 문제를 특징 추출 단계로 이동
- 네트워크가 더 선명한 3D 재구성을 생성할 수 있도록 함
- 핵심 아이디어
- 이미지 공간에서 3D 기하학의 프록시로 노멀 맵을 예측
- 예측된 노멀 맵을 픽셀-정렬 예측기의 특징으로 제공
- 3D 재구성이 이 노멀 맵을 기반으로 특정 기하학을 추론하도록 유도
- MLP가 세부 정보를 더 쉽게 생성 가능
- 노멀 맵 예측 방법
- 전면 및 후면 노멀 맵을 예측
- pix2pixHD 네트워크를 사용하여 RGB 이미지를 노멀 맵으로 매핑
- 결과 및 장점
- 최근 접근법과 유사하게 충분히 제약된 도메인(예: 옷을 입은 인간)에서는 보이지 않는 후면도 그럴듯하게 복원 가능
Loss Functions and Surface Sampling(손실 함수 및 표면 샘플링)
PIFuHD는 샘플링된 점들에서 확장된 이진 교차 엔트로피(BCE) 손실을 사용:
- 실제 점유 상태가 1인 경우, 즉 해당 위치가 객체 내부에 있는 경우, 모델이 예측한 확률 f{L,H}(X)을 최대화하려고 합니다. λ는 이러한 내부 점들의 중요도를 조절.
- 실제 점유 상태가 0인 경우, 즉 해당 위치가 객체 외부에 있는 경우, 모델이 예측한 확률 f{L,H}(X)이 0에 가까워지도록(즉, 1 - f{L,H}(X)이 1에 가까워지도록) 합니다. (1 - λ)는 이러한 외부 점들의 중요도를 조절.
모델이 예측한 점유 확률과 실제 점유 상태 간의 차이를 최소화하는 것을 목표
4. Experiment
평가 (Evaluations)
- 다중 레벨 픽셀-정렬 암시적 함수의 평가
- 다양한 대안과 비교하여 평가 수행
- 고해상도 추론을 위한 3D 임베딩의 중요성 검토
- 절대 깊이 값 대신 학습된 3D 임베딩을 활용한 세밀한 레벨 모듈이 정확도 향상
- 강건성과 충실도 평가
- 고해상도 재구성을 위해 충분한 특징 해상도를 유지하는 것이 중요
- 전체적인 추론 능력과 세부 디테일을 균형 있게 유지
- 정량적 평가 (RenderPeople & BUFF 데이터셋 활용)
- 512×512 해상도의 특징 임베딩 → 128×128 해상도의 단일 레벨 PIFu보다 로컬 디테일 향상
비교 (Comparisons)
- People Snapshot 데이터셋을 활용한 최첨단 3D 인간 재구성 방법과 정성적 비교
- 비교 대상:
- DeepHuman (다중 스케일 복셀)
- PIFu (픽셀-정렬 암시적 함수)
- Tex2shape (변위 및 표면 노멀 기반 텍스처 매핑 방식)
- 비교 대상:
- Tex2shape & DeepHuman의 한계
- 거친-세밀 전략 사용하지만 기본 형태 표현력 부족 → 세분화 효과 미미
- 복셀 표현 → 공간 해상도 제한
- 템플릿 기반 접근법 → 다양한 토폴로지 및 큰 변형 처리 어려움
- PIFuHD의 장점
- 기본 및 정제된 형태 모두 풍부하게 표현 가능
- 픽셀 수준에서 직접 3D 기하학 예측 → 입력 이미지의 모든 세부 사항 유지