리뷰에 앞서...
- single image input으로 3D guassian을 fitting하는 방법들 중 대부분이, diffusion model을 사용해 multi-view 이미지를 생성하고, 이렇게 augmented 된 데이터를 기반으로 3D reconstruction을 수행한다.
- 그러나 해당 논문은 input image pixel을 tri-plane hash encoder의 좌표로 매핑하는 모델을 학습시켜 learning 기반의 방식을 제안한다.
- Link: https://real3dportrait.github.io/
1. Introduction

- 기존 Talking head의 연구
- 2D Talking Head
- GAN 기반으로 이미지를 생성하기 때문에, warping artifact, unrealistic distortion, temporal jitters 등이 발생. 특히 이런 오류는 고개가 크게 돌아갈 때 심각해짐.
- GAN의 모드 붕괴 등 모델 훈련 자체가 어려움
- 3D Talking Head
- 2D 방식보다 3D geometry를 더 잘 보존하고, 주름 등의 고주파 texture를 풍부하게 표현 가능
- 그러나 현재까지 다수의 프레임을 포함한 비디오로 하나의 인물에 오버피팅시키는 방식이었음
- input frame을 줄이기 위해 3DMM을 사용하려는 시도가 있었으나, 다음과 같은 문제가 발생
- 3DMM은 간단한 메쉬이므로 주름 등의 미세 표현이 불가능하고, 이러한 정보 손실은 실제 사진같은 토킹 헤드를 합성하는데 장애가 됨.
- 3DMM은 face에 대한 structure prior만 제공하기 때문에, 머리카락, 모자, 안경 등은 구현할 수 없으며, 이것에 의한 occlusion은 정확하지 못한 파라미터 피팅으로 이어짐.
- 옆을 바라보는 등 고개를 많이 돌린 데이터셋이 없기 때문에, 이런 특수한 이미지가 들어올 경우 모델 피팅이 어려움.
- 저자들의 기여
- (1) image-to-plane model: single image로 3D canonical gaussian을 생성하도록 tri-plane hash encoder를 학습한 모델
- (2) motion adapter: canonical gaussian을 speech audio에 맞춰 deform하는 모델. 이 때, 다른 모델과 달리 인코딩 된 공간인 tri-plane hash encoder에 피처 변분량을 더해 얼굴을 움직이는 방식을 사용. (다른 모델은 직접 가우시안의 움직임을 추정)
- (3) natural torso movement & switchable background: 얼굴의 3DMM 좌표계를 카메라 좌표계로 변환한 뒤, 이것의 움직임을 기반으로 torso 이미지가 워핑되어 자연스럽게 머리를 따라가는 움직임을 생성. 또한 인물이 가리고 있는 배경을 KNN 기반으로 인페인팅하여 자연스러운 배경 생성 및 교체까지 가능.
- (4) audio-to-motion model: 드라이빙 비디오 뿐만 아니라 오디오로부터 자연스러운 토킹 헤드를 생성하는 방법 제안 (이 방법은 사실 GeneFace의 WaveNet Encoder & Decoder 네트워크를 거의 모방한 것)
2. Method
2.1. I2P Model


이 이미지는 Real3D-Portrait 모델의 첫 번째 단계인 Image-to-Plane (I2P) 모델의 사전 학습(pretraining) 과정을 보여준다. 이 단계의 목표는 단일 입력 이미지로부터 정확한 3D 얼굴 표현(tri-plane)을 재구성하는 방법을 I2P 모델에 학습시키는 것이다.
이 과정의 목적: I2P 모델은 EG3D와 같은 강력한 3D GAN으로부터 3D 사전 지식(prior knowledge)을 증류(distill)하여, 단일 2D 이미지로부터 고품질의 3D 얼굴 표현을 효율적으로 재구성하는 능력을 학습하는 것이다. 이는 나중에 얼굴 애니메이션과 같은 다운스트림 작업의 기반이 된다.

- (a) Image-to-Plane (I2P) 모델 세부 구조
- 목적: 단일 입력 이미지에서 3D 아바타의 정규(canonical) Tri-plane 표현을 재구성하는 모델이다. 이 모델은 I2P 모델의 사전 학습 단계에서 3D GAN인 EG3D로부터 3D 사전 지식(prior knowledge)을 주입받아 얼굴 재구성 능력을 향상하였다.
- 입력: 512×512×3 크기의 소스 이미지(Isrc)이다.
- 출력: 256×256×32×3 크기의 Tri-plane이다. 이 Tri-plane은 세 개의 256×256×32 평면으로 구성되어 3D 장면의 형상 및 외관 정보를 인코딩한다.
- 구성:
- VGG Branch: 고주파 외관 특징을 추출하는 역할을 한다. 여러 개의 Conv2D 및 LeakReLU 레이어로 구성되며, DownSample 2X 레이어를 포함한다. VGG Branch에서는 신원(identity)에 특화된 외관 관련 편향(bias)을 유지하기 위해 모든 정규화(normalization)가 제거되었다.
- ViT Branch: 픽셀 좌표를 월드 좌표로 변환하는 데 필요한 어텐션(attention)을 효율적으로 처리한다. SegFormer Block 스택으로 구성되며, Linear 및 Interpolate + Concat 연산을 통해 특징을 결합한다.
- 특징 융합: 두 브랜치의 출력 특징 맵(256×256×96 및 128×128×256)은 Concatenate 연산을 통해 융합되고, 이후 추가적인 Conv2D 및 LeakReLU 레이어를 거쳐 Tri-plane을 생성한다. Upsample 2X 연산은 해상도를 맞추는 역할을 한다.
2.2. Efective Facial Motion Adapter

2.2.1. PNCC based Motion Representation
-
PNCC의 정의
- PNCC는 '자세/외모 비의존적(pose/appearance-agnostic)' 특징 맵이다.
- 이는 특정 얼굴 자세나 외모 특징에 얽매이지 않고, 얼굴의 미세한 표정 정보만을 담고 있다.
- 3DMM(3D Morphable Model) 얼굴 모델을 기반으로 얼굴 표정 정보를 상세하게 표현한다.
-
PNCC 획득 과정
- PNCC는 Projected Normalized Coordinate Code를 의미한다. 이는 얼굴의 기하학적 형태를 나타내는 2D 이미지 형태의 특징이다.
- 특정 얼굴에 대한 신원 코드(i)와 표정 코드(e) 쌍이 주어지면, 우선 이 정보로 3DMM 얼굴 메쉬를 생성한다.
- 생성된 3DMM 얼굴 메쉬를 '표준 자세(canonical pose)'로 설정한다. 표준 자세는 얼굴의 기준이 되는 디폴트 파라미터의 중립적인 자세를 의미한다.
- Z-Buffer 알고리즘을 사용하여 이 메쉬를 래스터화(rasterizing)한다. Z-Buffer는 3D 객체의 깊이 정보를 이용하여 화면에 보이는 부분을 결정하는 그래픽 렌더링 기술이다.
- 이때 NCC(Normalized Coordinate Code)를 '컬러 맵(colormap)'으로 활용한다. NCC는 3DMM 메쉬의 각 정점(vertex)에 정규화된 3D 좌표값을 부여한 것으로, 이를 색상처럼 사용하여 얼굴의 기하학적 구조를 시각적으로 표현한다.
-
수식
PNCC=Z-Buffer(Vertex3D(i,e),NCC)
- Z-Buffer(): Z-Buffer 알고리즘을 의미한다. 이는 컴퓨터 그래픽스에서 3D 장면을 2D 이미지로 렌더링할 때, 깊이(depth) 정보를 이용하여 어떤 객체가 카메라에 더 가까운지 판단하고 보이는 부분만 그리는 방법이다. 여기서는 3DMM 메쉬를 2D PNCC 이미지로 변환하는 데 사용된다.
- Vertex3D(i,e): 3DMM 얼굴 메쉬의 3D 정점들을 의미한다. 이 정점들은 80차원의 identity code i와 64차원의 expression code e에 의해 결정된다.
- NCC: Normalized Coordinate Code를 의미한다. 이는 3DMM 메쉬의 각 정점에 고유한 3차원 좌표 값을 색상처럼 할당한 것으로, Z-Buffer 알고리즘에서 colormap 역할을 한다.
- Vertex3D(i,e)는 3DMM 모델의 파라미터들로 다음과 같이 구성된다.
Vertex3D(i,e)=Vertex3D+Bidi+Bexpe
- Vertex3D: 3DMM 모델의 템플릿 형태(template shape)를 의미한다. 이는 평균적인 얼굴의 3D 형태이다.
- Bid: 3DMM 모델의 identity basis를 의미한다. 이는 개인의 고유한 얼굴 특징을 나타내는 기저(basis)이다.
- i: 80차원의 identity code를 의미한다. 이는 특정 인물의 신원(identity)을 나타내는 계수 벡터로, Bid와 선형 결합하여 개인의 고유한 얼굴 형태를 만든다.
- Bexp: 3DMM 모델의 expression basis를 의미한다. 이는 다양한 얼굴 표정(expression)을 나타내는 기저이다.
- e: 64차원의 expression code를 의미한다. 이는 특정 표정을 나타내는 계수 벡터로, Bexp와 선형 결합하여 표정 변화를 만든다.
2.2.2. Residual Motion-diff Plane
이 섹션은 3D 표현에 모션 조건을 어떻게 주입하여 얼굴 표정을 제어하는지에 대해 설명하고 있다.
-
기존 방식의 한계: 기존의 방식들(예: HiDe-NeRF)은 변형 필드(deformation field)를 사용하여 3D 모델을 변형시켰으나, 이는 예측된 메시(mesh)의 품질 저하로 이어지는 경우가 많았다.
-
새로운 접근 방식: 이 논문에서는 잘 훈련된 Image-to-Plane (I2P) 모델이 정확한 기하학적/텍스처 정보를 가진 3D 표현을 생성하면, 그 위에 가벼운 Motion Adapter (MA)를 사용하여 잔여 모션 diff-plane인 Pdiff를 예측한다.
- 이 Pdiff는 정규화된 tri-plane인 Pcano에 미세한 기하학적 변화만을 편집하여 다른 모션 조건에 대응하도록 한다.
-
애니메이션 과정:

위 이미지는 논문의 공식 파이프라인이나, 기술된 수식이 포함되어있지 않아 아래 직접 그린 그림으로 보충한다.

원본 이미지 Isrc와 입력 모션 조건 PNCCdrv, 카메라 포즈 cam이 주어졌을 때, 최종 애니메이션된 이미지 Idrv는 다음과 같이 표현된다. (그림의 tgt를 drv와 동일한 의미로, headpose를 cam과 동일한 의미로 이해하면 된다.)
Idrv=SR(VR(Pcano+Pdiff,cam))
Pcano=I2P(Isrc)
Pdiff=MA(PNCCdrv,PNCCsrc)
- Idrv: 최종 렌더링될 구동(driving) 이미지이다.
- SR: Super-Resolution 모듈이다. Volume Renderer가 생성한 저해상도 이미지를 고해상도로 변환하는 역할을 한다. Off-the-shelf 모델의 구조를 그대로 따른다.
- VR: Volume Renderer이다. 3D 표현을 2D 이미지로 렌더링하는 모듈로, NeRF에서 제안한 구조를 그대로 따른다.
- Pcano: I2P 모델이 소스 이미지로부터 재구성한 정규화된(canonical) 3D 얼굴 표현인 tri-plane이다. 이는 얼굴의 기본적인 모양과 텍스처 정보를 담고 있다.
- Pdiff: Motion Adapter (MA)가 예측하는 잔여(residual) 모션 diff-plane이다. 이 diff-plane은 Pcano에 더해져 얼굴 표정의 변화를 반영한다.
- cam: 타겟 카메라 포즈이다. 렌더링 시 얼굴의 방향과 위치를 결정한다.
- I2P: Image-to-Plane 모델이다. 소스 이미지 Isrc를 입력으로 받아 Pcano를 생성한다.
- Isrc: 입력으로 주어지는 원본(source) 이미지이다.
- MA: Motion Adapter이다. 구동 모션 조건 PNCCdrv와 소스 이미지의 PNCC인 PNCCsrc를 concat 된 입력으로 받아 Pdiff를 예측한다. (소스 이미지와 구동 조건의 PNCC를 모두 알아야 올바른 잔차 모션을 구할 수 있기 때문이다.)
- PNCCdrv: 구동 모션 조건이다. 이는 수식 (1)에서 정의된 Projected Normalized Coordinate Code (PNCC)를 의미한다. PNCC는 포즈/외형에 독립적인 미세한 얼굴 표정 정보를 나타낸다.
- PNCCsrc: 소스 이미지에서 추출한 PNCC이다.
-
Motion Adapter (MA)의 구조:

-
(b) Motion Adapter (MA)
- 목적: I2P 모델로 재구성된 정규 Tri-plane에 표정(expression)과 움직임(motion) 조건을 주입하여, 원하는 얼굴 애니메이션을 구현하는 경량 모델이다. 이 모델은 PNCC를 기반으로 Tri-plane의 기하학적 변화를 최소한으로 편집하는 residual motion diff-plane을 예측한다.
- 입력: 512×512×(3+3) 크기의 Source/Target PNCC(Projected Normalized Coordinate Code)이다. PNCC는 얼굴 기하학에만 관련되는 외관 비의존적 특징 맵으로, 3DMM 얼굴 메시를 정규 포즈(canonical pose)에서 Z-Buffer 알고리즘을 사용하여 렌더링하여 얻는다.
- 출력: 256×256×32×3 크기의 Motion diff-plane이다. 이 diff-plane은 정규 Tri-plane에 요소별 덧셈(element-wise addition)으로 적용되어 애니메이션을 만든다.
- 구성: SegFormer Block 스택으로 구성되어 있으며, 효율적인 크로스-코디네이트 변환(cross-coordinate transform)을 위해 attention over feature map patches를 활용한다. Linear + Upsample 2X 및 Interpolate + Concat 연산을 통해 특징을 처리한다.
-
(c) SegFormer Block
- 목적: ViT Branch 및 Motion Adapter에 사용되는 기본 구성 블록이다. SegFormer는 효율성이 높고, 피처 맵 패치(feature map patches)에 대한 어텐션(attention)을 통해 교차 좌표 변환(cross-coordinate transform)을 잘 처리하는 능력이 뛰어나다.
- 입력: H×W×Cin 크기의 입력 특징 맵이다.
- 출력: H/2×W/2×Cout 크기의 출력 특징 맵이다.
- 구성:
- Overlap PatchEmbed: 입력 특징 맵에서 겹치는 패치(patch)를 추출하고 임베딩한다.
- LayerNorm + Attention: 패치 간의 어텐션을 수행하여 장거리 의존성(long-range dependencies)을 포착한다.
- LayerNorm + Linear: 어텐션 결과를 변환하고 정규화한다.
2.2.3. Training Process
이 단계의 학습 과정은 모션 어댑터(Motion Adapter)를 처음부터 학습하는 것과, I2P(Image-to-Plane) 모델 및 볼륨 렌더러(Volume Renderer)/슈퍼 레졸루션(Super-Resolution, SR) 모듈을 사전 학습된 가중치에서 미세 조정하는 것을 포함한다.
- 데이터셋 활용: 모델은 CelebV-HQ: A Large-Scale Video Facial Attributes Dataset와 같은 대규모 고충실도 토킹 페이스 비디오 데이터셋으로 학습된다.
- 학습 데이터 쌍 구성: 학습 데이터 쌍을 만들기 위해 비디오에서 무작위로 두 프레임을 선택하여, 이를 각각 소스 이미지 Isrc와 타겟 이미지 Itgt로 정의한다.
- 전처리: 카메라 포즈는 주로 머리 움직임과 밀접하게 관련되어 있으므로, 이 단계에서는 머리 영역만을 고려하며, 모든 이미지는 얼굴 파싱(face parsing) 모델을 사용하여 머리 부분을 추출하는 방식으로 전처리된다.
- I2P 모델 입력 및 재구성: 소스 머리 이미지 Isrc는 I2P 모델에 입력되어 캐노니컬 트라이-플레인 Pcano를 재구성한다.
- 모션 어댑터 입력 및 잔여 디프-플레인 획득: 타겟 이미지 Itgt에서 추출된 PNCCtgt는 모션 어댑터 MA에 입력되어 잔여 모션 디프-플레인 Pdiff를 얻는다.
- 예측 이미지 생성: 이 정보를 바탕으로, Equation 2에 따라 예측 이미지 Itgt′를 생성한다.
이 단계의 학습 손실 L은 다음과 같이 정의된다.
L=∣∣Itgt−Itgt′∣∣1+LVGGs(Itgt,Itgt′)+LDualAdv(Itgt′)+LLap
- L: 전체 학습 손실을 나타낸다.
- ∣∣Itgt−Itgt′∣∣1: L1 손실이다.
- 예측된 이미지 Itgt′와 실제 이미지 Itgt 사이의 픽셀별 절대 차이의 합을 계산한다.
- 이는 이미지의 전반적인 충실도(fidelity)를 높이는 데 기여한다.
- LVGGs(Itgt,Itgt′): VGG19/Deep Face Recognition 기반의 지각 손실(perceptual loss)이다.
- 두 이미지의 특징 표현(feature representation) 사이의 유사성을 측정하여, 픽셀 단위의 유사성뿐만 아니라 이미지의 내용(content) 및 스타일(style) 측면에서도 유사성을 확보하는 데 사용된다.
- LDualAdv(Itgt′): Efficient Geometry-aware 3D Generative Adversarial Networks에서 제안된 듀얼 적대적 손실(dual adversarial loss)이다.
- 생성된 이미지의 현실감과 일관성을 개선하는 데 사용되는 적대적 학습 기반의 손실이다.
- LLap: 라플라시안 손실(Laplacian loss)이다.
- 인접 프레임의 모션 디프-플레인(motion diff-planes)에 적용되는 정규화(regularization) 항이다.
- 생성된 비디오에서 시간적 지터링(temporal jittering), 즉 프레임 간의 불규칙한 떨림 현상을 줄이는 데 목적이 있다.
라플라시안 손실 LLap는 다음과 같이 정의된다.
LLap=∣∣MA(PNCCt)−0.5×(MA(PNCCt−1)+MA(PNCCt+1))∣∣22
- LLap: 라플라시안 손실을 나타낸다.
- MA(PNCCt): Motion Adapter (MA)가 현재 시점 t의 PNCC(PNCCt)를 입력받아 예측한 잔여 모션 디프-플레인(residual motion diff-plane)이다.
- MA(PNCCt−1): Motion Adapter (MA)가 이전 시점 t−1의 PNCC(PNCCt−1)를 입력받아 예측한 잔여 모션 디프-플레인이다.
- MA(PNCCt+1): Motion Adapter (MA)가 다음 시점 t+1의 PNCC(PNCCt+1)를 입력받아 예측한 잔여 모션 디프-플레인이다.
- 0.5×(MA(PNCCt−1)+MA(PNCCt+1)): 이전 프레임(t−1)과 다음 프레임(t+1)의 잔여 모션 디프-플레인 평균을 의미한다.
- ∣∣…∣∣22: L2 노름(norm)의 제곱으로, 현재 프레임의 디프-플레인과 인접 프레임 디프-플레인 평균 간의 유클리드 거리를 측정하여 시간적 부드러움(temporal smoothness)을 강제하는 역할을 한다. 즉, 현재 프레임의 모션이 이전 및 다음 프레임의 모션과 크게 다르지 않아야 한다고 모델에 알려준다.
2.3. Natural Torso Movement & Changeable Background

2.4. Audio-to-Motion Model

이 이미지는 음성 신호를 기반으로 3D 얼굴 표정(facial motion)을 생성하는 A2M (Audio-to-Motion) 모델의 상세한 네트워크 구조를 보여준다. 이 구조는 GeneFace 논문과 매우 유사하니, 더 깊은 이해가 필요하면 해당 논문을 읽어보자.
2.4.1. 훈련 (Training) 과정 (점선 포함)
훈련 과정의 목표는 입력 오디오와 추가 요인으로부터 정확하고 표현력 있는 3DMM 표정 코드(e)를 예측하는 A2M 모델을 학습하는 것이다. A2M 모델은 Flow-enhanced VAE (Variational Auto-Encoder) 구조를 따른다.
-
입력 준비:
- 훈련 데이터셋(예: CelebV-HQ, VoxCeleb2)에서 추출된 Input audio를 HuBERT 모델로 처리하여 음성 특징을 추출하고, 오디오에서 Pitch 정보를 추출한다.
- 훈련 데이터셋의 비디오 프레임에서 3DMM 피팅을 통해 추출된 Ground Truth(GT) Expression Code(eGT)와 해당 프레임의 눈 깜빡임(Eye Blink), 입 움직임의 진폭(Mouth Amplitude)과 같은 Extra Factors를 준비한다.
- 이러한 정보들(HuBERT, Pitch, Eye Blink, Mouth Amplitude)이 합쳐져 Input condition을 형성한다.
- 또한, GT Expression Code(eGT)를 3DMM 모델을 통해 Landmarks와 PNCC로 변환하여, 예측된 값과 비교하는 보조 감독 신호(auxiliary supervision signal)로 사용한다.
-
A2M 모델의 VAE 학습:
- GT Expression Code(eGT, 그림 왼쪽)가 WavNet Encoder에 입력되어 잠재 표현(z)으로 인코딩된다.
- 인코딩된 잠재 표현(z)은 Flow-based Prior로 전달된다. Flow-based Prior는 VAE의 잠재 공간 분포를 학습하고, KL divergence 손실(LKL) 계산에 사용된다. 이 과정에서 잠재 공간이 의미 있는 구조를 갖도록 유도된다.
- Flow-based Prior의 출력(혹은 샘플링된 잠재 코드)과 Input condition이 WavNet Decoder에 입력된다. Decoder는 이 정보들을 바탕으로 표정 코드(epred)를 재구성하려고 시도한다.
- Decoder의 출력인 예측된 Expression Code(epred)는 GT Expression Code(eGT)와 비교되어 재구성 손실(LExpRecon)을 계산한다.
- 또한, epred를 3DMM Model에 입력하여 예측된 Landmarks(Ldmpred)를 얻고, 이를 GT Landmarks(LdmGT)와 비교하여 랜드마크 재구성 손실(LLdmRecon)을 계산한다. 이 손실은 얼굴 랜드마크의 정확도를 높이는 데 기여한다.
- 연속된 프레임의 예측된 Expression Code 시퀀스에는 라플라시안 손실(LExpLap)을 적용하여 시간적 떨림(temporal jittering)을 줄이고 부드러운 움직임을 유도한다.
2.4.2. 추론 (Inference) 과정 (실선만)
추론 과정의 목표는 새로운 오디오 입력과 원하는 추가 제어 값으로부터 3D 얼굴 표정 코드를 생성하는 것이다. 이 단계에서는 모델이 이미 훈련되어 고정된 상태이다.
-
입력 준비:
- 새롭게 주어지는 Input audio에서 HuBERT 특징과 Pitch 정보를 추출한다.
- 사용자가 제어하고자 하는 Extra Factors (Eye Blink, Mouth Amplitude)를 설정한다. 예를 들어, 눈을 깜빡이거나 입을 크게 움직이도록 지시할 수 있다.
- 이 모든 정보들이 통합되어 Input condition을 형성한다.
-
A2M 모델을 통한 표정 코드 생성:
- Input condition은 직접 Flow-based Prior에 입력된다. 훈련 시 학습된 Prior는 Input condition에 조건화되어 표현력 있는 잠재 코드를 생성한다. 이는 모델이 오디오와 제어 신호에 따라 적절한 표정 코드를 생성할 수 있도록 한다.
- Flow-based Prior에서 생성된 잠재 코드는 WavNet Decoder로 전달된다.
- Decoder는 이 잠재 코드를 기반으로 오디오와 추가 요인에 상응하는 예측된 Expression Code(epred)를 출력한다.
-
3D 얼굴 모션 변환:
- A2M 모델에서 출력된 Expression Code(epred)는 3DMM Model에 입력된다. (이때, 3DMM Model은 Source Image에서 추출된 Identity Code(isrc)와 결합하여 3D 얼굴 메시를 정의한다.)
- 3DMM Model은 Expression Code를 바탕으로 3D 얼굴 메시를 재구성하고, 이로부터 얼굴 Landmarks (예: 468개 랜드마크)를 추출할 수 있다.
- 또한, 재구성된 3DMM 메시를 Z-버퍼링(Z-Buffer) 기법과 표준화된 좌표 코드(NCC)를 사용하여 PNCC (Projected Normalized Coordinate Code) 이미지로 렌더링한다. PNCC는 외형에 독립적인 정밀한 얼굴 표정 정보를 나타내는 핵심적인 모션 표현이며, 이후 3D 얼굴 애니메이션(Motion Adapter)의 입력으로 사용된다.
요약하자면, 훈련 단계에서는 Ground Truth Expression Code를 통해 A2M 모델의 Encoder-Flow-Decoder 파이프라인을 학습시키고, 추론 단계에서는 학습된 모델이 Input condition만으로 Expression Code를 생성하여 이를 3DMM 모델을 통해 PNCC 및 랜드마크로 변환하는 방식으로 동작한다.

Audio-driven으로 토킹 헤드를 생성하는 전체 파이프라인은 위와 같다.
3. Experiment
3.1. Experimental Setting
이 섹션은 제안하는 Real3D-Portrait 모델의 실험 환경 및 설정에 대해 설명한다.
3.2. Quantitative Evaluation
정량적 평가는 Real3D-Portrait 모델의 성능을 수치적인 지표를 사용하여 평가하는 부분이다. 모델이 비디오 및 오디오 구동 환경에서 어떻게 작동하는지 비교 평가한다.
3.3. Qualitative Evaluation
정성적 평가는 모델의 시각적 결과물에 대한 주관적인 품질 평가를 다루는 부분이다. 정량적 지표만으로는 파악하기 어려운 시각적 현실성, 자연스러움, 그리고 사용자 경험을 중점적으로 평가한다.
- 사례 연구(Case Study)
- 저자들은 데모 비디오와 추가 시각화 결과들을 제공하여 테스트된 모든 방법들 간의 명확한 시각적 비교를 제시한다.
- 특히, PNCC(Projected Normalized Coordinate Code)가 3D 아바타를 어떻게 애니메이션하는지, 큰 머리 포즈(head pose)에서도 자연스러운 몸통 움직임(torso movement)을 어떻게 생성하는지, 배경 전환(switchable background) 기능을 어떻게 지원하는지, 그리고 제안된 오디오-모션 모델(Audio-to-Motion model)이 오디오-립 동기화(audio-lip synchronization)를 어떻게 달성하는지를 구체적인 예시로 보여준다.
- 사용자 연구(User Study)
- 생성된 샘플의 품질을 평가하기 위해 사용자 연구가 진행되었다.
- 10개의 다른 언어로 된 오디오 클립과 10개의 다른 신원을 사용하여 각 방법에 대해 비디오를 생성한 후, 20명의 참가자가 평가에 참여하였다.
- 평가 프로토콜로는 MOS(Mean Opinion Score) 등급 시스템을 채택하였으며, 1점에서 5점 척도로 평가되었다.
- 참가자들은 다음 세 가지 측면에서 비디오를 평가하도록 요청받았다:
- 신원 보존(identity preserving): 원본 이미지의 신원과 비디오 속 신원의 유사성.
- 시각적 품질(visual quality): 이미지 충실도(image fidelity)와 시간적 부드러움(temporal smoothness)을 포함한 전반적인 시각적 품질.
- 립 싱크(lip synchronization): 오디오와 입술 움직임 간의 의미론적 수준의 동기화.
- 표 3에 제시된 평균 MOS 점수는 Real3D-Portrait가 기존의 원샷(one-shot) 방법들보다 신원 보존 및 시각적 품질 측면에서 더 우수하며, 개인 맞춤형(person-specific) 방법인 RAD-NeRF와도 유사한 성능을 보임을 보여준다. 특히, 립 싱크 측면에서는 Real3D-Portrait가 개인 맞춤형 오디오-구동 방식인 RAD-NeRF에 비해 명백한 우위를 보인다. 이는 제안된 모션 어댑터(motion adapter)가 입력 모션 조건에 따라 아바타를 정확하게 애니메이션하는 효과를 입증한다.
3.4. Ablation Study
-
I2P 모델 및 모션 어댑터 관련 연구
- 사전 학습(pre-training) 없이(w/o pre-train): I2P 모델을 multi-view 이미지 데이터셋에서 사전 학습하지 않고 비디오 데이터셋에서 처음부터 학습한 경우이다.
- 결과: Table 4의 첫 번째 줄과 Appendix D.4의 Fig. 14에 따르면, 사전 학습 과정이 없으면 신원 유사도(CSIM), 이미지 품질(FID), 표정 정확도(AED)가 크게 저하된다.
- 의미: I2P 모델이 3D 재구성을 위한 3D 사전 지식(prior knowledge)을 효과적으로 학습하는 데 사전 학습이 필수적이라는 것을 보여준다.
- 미세 조정(fine-tuning) 없이(w/o finetune): Sec. 3.2에서 모션 어댑터 학습 시 사전 학습된 I2P 모델의 가중치를 고정하고 미세 조정하지 않은 경우이다.
- 결과: AED 수치가 높아져 표정 애니메이션의 정확도가 떨어졌다.
- 의미: 사전 학습된 I2P 모델은 소스 이미지의 표현을 재구성하는 데 특화되어 있으므로, 다양한 타겟 표현을 지원하고 이미지 데이터셋과 비디오 데이터셋 간의 도메인 차이를 극복하기 위해 미세 조정이 필요하다는 것을 시사한다.
- I2P 모델 크기(small/large I2P model size): I2P 백본의 파라미터 수를 40M, 87M(기본 설정), 200M으로 변경하여 실험한 경우이다.
- 결과: 87M 모델은 40M 모델에 비해 이미지 품질이 크게 향상되었지만, 200M 모델과의 성능 차이는 뚜렷하지 않았다.
- 의미: 모델 크기가 증가함에 따라 성능이 향상되지만, 특정 임계값을 넘어서면 성능 향상이 미미해질 수 있음을 나타낸다.
- Laplacian 손실 없이(w/o Lap loss): Eq. 3의 학습 목표에서 Laplacian 손실(LLap)을 제거한 경우이다.
- LLap 공식: LLap=∣∣MA(PNCCt)−0.5×(MA(PNCCt−1)+MA(PNCCt+1))∣∣22
- MA(PNCCt)는 현재 시점 t의 PNCC를 입력받아 모션 어댑터 MA가 예측한 모션 디프 플레인(motion diff-plane)이다.
- MA(PNCCt−1)과 MA(PNCCt+1)은 각각 이전 시점 t−1과 다음 시점 t+1의 모션 디프 플레인이다.
- 이 손실 함수는 현재 프레임의 모션 디프 플레인이 인접한 두 프레임의 평균 모션 디프 플레인과 유사하도록 강제한다.
- ∣∣⋅∣∣22는 L2 노름(norm)으로, 예측 값과 목표 값 사이의 유클리드 거리를 최소화하는 역할을 한다.
- 결과: Laplacian 손실이 모션 기반 헤드 애니메이션의 개선에 필수적임을 확인하였다.
- 의미: 이 손실 항은 생성된 비디오의 시간적 떨림(temporal jittering)을 줄여 영상의 부드러움을 향상시키는 데 기여한다.
-
HTB-SR 모델 관련 연구
- 비지도 키포인트 사용(w/ unsup. KP.): 얼굴-비드2비드(Face-vid2vid)와 유사하게 비지도 학습 방식으로 키포인트(key points)를 추출하여 몸통 애니메이션에 사용한 경우이다 (기본 방식은 3DMM 얼굴 정점의 미리 정의된 키포인트를 사용한다).
- 결과: 추가 예측기 네트워크의 불안정성으로 인해 시각적 품질이 저하되었다.
- 의미: 미리 정의된 3DMM 기반 키포인트를 사용하는 것이 더 안정적이고 고품질의 몸통 애니메이션을 가능하게 한다.
- 채널별 연결(w/ concat): Eq. 5에서 제안된 알파-블렌딩(alpha-blending) 방식의 융합 모듈 대신 헤드/몸통/배경 특징 맵을 단순히 채널별로 연결(concatenate)한 경우이다.
- 결과: Table 4의 두 번째 줄에서 신원 보존(CSIM) 및 이미지 품질(FID)이 나빠지고, Appendix D.4의 Fig. 15에서 알 수 있듯이, 머리카락 영역의 '비어 있는' 아티팩트(hollow artifact)와 헤드-몸통 경계 영역의 흐릿한 결과가 발생했다.
- 의미: 알파-블렌딩 방식의 융합이 각 세그먼트 간의 정보 전파를 제어하여 사실적이고 고품질의 합성 이미지를 얻는 데 필수적이다.
- 배경 인페인팅 없이(w/o inpaint): 배경 이미지에 대해 KNN 기반 인페인팅(K-nearest-neighbor-based inpainting) 과정을 제거한 경우이다.
- 결과: 배경 인페인팅 과정 제거 시 이미지 품질이 저하되었다.
- 의미: 배경 인페인팅이 소스 이미지의 전경(사람)에 의해 가려진 영역을 자연스럽게 채워 넣어 최종 비디오의 사실감을 높이는 데 기여한다.