그럴싸한 3D human pose를 예측할 수 있는 다재다능한 framework인 GFPose 제안
GFPose의 핵심 기술은 time-dependent score network
각 body joint의 gradient를 예측
주어진 condition(task specification)에 부합하도록 3D human pose에서 노이즈를 제거
GFPose는 gradient의 pose prior를 암시적으로 통합
downstream task에 적합
성능
SOTA multi-hypothesis pose estimator 대비 H36m 데이터셋에서 20% 정도의 성능향상을 보여줌
single-hypothesis pose estimator에서도 SOTA에 버금가는 성능을 보여줌
denoising, pose completion 작업에서 현실적인 샘플을 획득 가능
1. Introduction
Natural human pose는 생체역학적 제약조건을 고려하여 물리공간의 저차원 manifold에 위치함
valid human pose에 대한 good prior distribution을 학습 -> 불가능한 pose를 구별, 유효한 여러 pose들 샘플링 가능
prior를 이용하여, 이미지를 통해 추론된 occlusion을 포함하는 2d human pose를 3d human pose로 복원하는데 도움을 줌
이전 연구들에서 human pose prior를 모델링한 방법
joint-angle constraints (고전적인 방법)
GMM, VAE, GAN을 이용하여 그럴듯한 pose의 prior $p_{data}(x)$ 학습
possible pose distribution $p{data}(x)$를 모델링하는 대신 task condition의 log-likelihood의 기울기 $\nabla{x}log\,p_{data}(x)$ 를 학습
여기서 $c$는 특정한 task condition임 (e.g. 2d pose estimation 결과 등)
GFPose에서는
Denosing Score Matching(DSM)을 통해 large scale 3d pose dataset에서 $\nabla{x}log\,p{data}(x)$를 근사하는 time-dependent score network $s_{\theta}(x,t|c)$를 학습
유클리드 공간에서 유효한 human pose $x\in\mathbb{R}^{J\times3}$에서 time-dependent noise $z(t)$를 샘플링 -> noisy pose $\tilde{x}$ 획득 -> $s_{\theta}(\tilde{x},t|c)$ 학습 -> 유효한 pose로 학습
다양한 레벨에서 task condition $c$에 랜덤한 마스크를 입힘
human level, body part level, joint level
모든 joint가 가려지는 경우, unconditional pose 생성
2. Related Work
2.3. Score based generative model
분포의 기울기(gradient)를 직접 학습하면, gradient를 이용하여 다양한 샘플을 생성하는데 이용할 수 있음
3. Revisiting Denoising Score Matching
분포를 알 수 없는 데이터 $x$가 있을때, score function은 log-likelihood로 근사 됨
Denoising Score Matching(DSM)에서는 noisy 데이터 $\tilde{x}$의 noise 분포 $q$에 대한 log-likelihood의 gradient와 score function의 loss를 계산하여 score function이 noise를 포함한 데이터의 분포를 학습하도록 함
4. Method
4.1. Problem statement
$p_{data}(x|c)
$x$는 그럴듯한 3d human pose ($J\times3$)
$c$는 monocular 3d human pose estimation 작업에서는 3d pose에 대응하는 2d pose
$c$는 pose completion 작업에서는 3d pose
$c$는 generation, denosing 작업에서는 공집합
4.2. Learning Pose Prior with Gradient Field
내용이 어렵고 복잡해서 우선은 간결하게만 적고 나중에 보완하겠음
전체 프레임워크는 두자기 프로세스로 진행
forward diffusion process : 가우시안 분포와 같은 특정 데이터 분포 3d human pose로의 획득
reverse sampling process : prior 분포에서 샘플링하고 역확산 하여 데이터 분포에서의 가능한 pose 획득
Pertub Poses via SDE(Stochastic differential equation)
미분방정식을 이용하여 데이터분포에서 prior 분포로 3d human pose를 변형하는 방법
시간 t가 증가함에 따라 pose에 노이즈가 더해짐 -> pose는 가우시안 분포로 변함
Sample Poses via Reverse-Time SDE
위 과정의 반대 프로세스
시간 T가 0으로 되돌아가며 역확산
이를 시뮬레이션 하기 위해서는 $\nabla{x}log\,p{t}(x|c)$를 알아야 함
Train Score Estimation Network
앞서 언급한 DSM을 이용하여 학습
노이즈 분포를 사전에 지정 -> score network를 학습 -> 변형된 분포에서 노이즈 제거
GFPose: Learning 3D Human Pose Prior with Gradient Fields
https://arxiv.org/abs/2212.08641 https://github.com/Embracing/GFPose CPVR2023
Abstract
1. Introduction
Natural human pose는 생체역학적 제약조건을 고려하여 물리공간의 저차원 manifold에 위치함
valid human pose에 대한 good prior distribution을 학습 -> 불가능한 pose를 구별, 유효한 여러 pose들 샘플링 가능
prior를 이용하여, 이미지를 통해 추론된 occlusion을 포함하는 2d human pose를 3d human pose로 복원하는데 도움을 줌
이전 연구들에서 human pose prior를 모델링한 방법
possible pose distribution $p{data}(x)$를 모델링하는 대신 task condition의 log-likelihood의 기울기 $\nabla{x}log\,p_{data}(x)$ 를 학습
여기서 $c$는 특정한 task condition임 (e.g. 2d pose estimation 결과 등)
2. Related Work
2.3. Score based generative model
분포의 기울기(gradient)를 직접 학습하면, gradient를 이용하여 다양한 샘플을 생성하는데 이용할 수 있음
3. Revisiting Denoising Score Matching
분포를 알 수 없는 데이터 $x$가 있을때, score function은 log-likelihood로 근사 됨
Denoising Score Matching(DSM)에서는 noisy 데이터 $\tilde{x}$의 noise 분포 $q$에 대한 log-likelihood의 gradient와 score function의 loss를 계산하여 score function이 noise를 포함한 데이터의 분포를 학습하도록 함
4. Method
4.1. Problem statement
4.2. Learning Pose Prior with Gradient Field
내용이 어렵고 복잡해서 우선은 간결하게만 적고 나중에 보완하겠음
Pertub Poses via SDE(Stochastic differential equation)
Sample Poses via Reverse-Time SDE
Train Score Estimation Network
앞서 언급한 DSM을 이용하여 학습
4.3 Masked Condition for Versatility
5. Experiments
Monocular 3D Pose Estimation (2D to 3D Lifting)
Pose Completion (Incomplete 2D/3D -> 3D)
Denoise MoCap Data (Noisy 3D -> Clean 3D)
Pose Generation (Noise -> 3D)