Paper Review/Human Mesh Pose

[ACM Transactions on Graphics 2015] SMPL: A Skinned Multi-Person Linear Model

이성훈 Ethan 2023. 9. 6. 15:13

들어가기 앞서.. 너무 생소하기도 하고 어려워서 이게 최선이었습니다... 

 

더 공부하다보면 이 논문이 잘 이해되는 날이 올지도..

 

- Introduction

 

SMPL 은 skinned vertex-based model 로 다양한 realistic human body 생성을 목표로 함

 

갈색은 SMPL 로 생성 / 회색은 GT

 

기존에는 Linear Blending Skinning (LBS) model 이 주로 쓰였지만 밑 그림처럼 비 현실적인 경우 발생

 

(사실 눈으로 봤을땐 잘 모르겠지만 약간 토이스토리 woody 팔 같은 느낌?)

 

왼쪽부터 순서대로 LBS / DQBS / BlendSCAPE / SMPL-LBS / SMPL-DQBS / GT / Real

 

기존 방식들의 문제를 해결하기 위해 다양한 blend shape 을 학습

  • Identity
  • Pose
  • Soft-tissue dynamics

 

Key component: Pose blend shape 들을 Part rotation matrix 들의 linear function 으로 구성 ► Rotation matrix 가 bound 되어 있기 때문에, generalize 에 용이함

 


- Method

 

SMPL 은 body shape 을 SCAPE 과 같이 decompose

  • Identity-dependent shape
  • Non-rigid pose-dependent shape

 

 

Final definition of SMPL (최종 수식부터 설명)

 

$M(\vec{\beta}, \vec{\theta} ; \Phi)= W\left(T_P(\vec{\beta}, \vec{\theta} ; \overline{\mathbf{T}}, \mathcal{S}, \mathcal{P}), J(\vec{\beta} ; \mathcal{J}, \overline{\mathbf{T}}, \mathcal{S}), \vec{\theta}, \mathcal{W}\right)$

 

Functions

 

  • $M$: SMPL
  • $W$: Skinning function
  • $T_P(\vec{\beta}, \vec{\theta})=\overline{\mathbf{T}}+B_S(\vec{\beta})+B_P(\vec{\theta})$: Template + Vectors of vertices representing offsets
    • $B_S$: Shape blendshape function, 그냥 몸의 형태 변화
    • $B_P$: Pose blendshape function, 포즈로 인해 생기는 몸의 형태 변화
  • $J(\vec{\beta} ; \mathcal{J}, \overline{\mathbf{T}}, \mathcal{S})=\mathcal{J}\left(\overline{\mathbf{T}}+B_S(\vec{\beta} ; \mathcal{S})\right)$: Joint Locations

 

Components

  • $\vec{\beta}$: Shape parameter
  • $\vec{\theta}$: Pose parameter
  • $\overline{\mathbf{T}}$: Mean of shape of the template
  • $\mathcal{S}$: Shape blendshapes
  • $\mathcal{P}$: Pose blendshapes
  • $\mathcal{J}$: Joint regressor matrix
  • $\mathcal{W}$: Blendweights

 

 

좀 더 자세한 내용

 

  • Mean template shape represented by a vector of $N$ concatenated vertices: $\overline{\mathbf{T}} \in \mathbb{R}^{3 N}$ in the zero pose $\overrightarrow{\theta^*}$
  • Set of blend weights: $\mathcal{W} \in \mathbb{R}^{N \times K}$

색상은 blended weights / 흰점 joints

 

  • Blend shape function: $B_S(\vec{\beta}): \mathbb{R}^{|\vec{\beta}|} \mapsto \mathbb{R}^{3 N}$
    • Input: shape parameter vector $\vec{\beta}$
    • Output: blend shape sculpting the subject identity
  • Function to predict $K$ joint locations:  $J(\vec{\beta}): \mathbb{R}^{|\vec{\beta}|} \mapsto \mathbb{R}^{3 K}$

 

 

  • Pose-dependent blend shape function: $B_P(\vec{\theta}): \mathbb{R}^{|\vec{\theta}|} \mapsto \mathbb{R}^{3 N}$

 

 

 

결론적으로 SMPL 은 shape parameter 와 pose parameter 를 vertice 로 mapping 

 

$M(\vec{\beta}, \vec{\theta} ; \Phi): \mathbb{R}^{|\vec{\theta}| \times|\vec{\beta}|} \mapsto \mathbb{R}^{3 N}$


- Experiment

 


- Discussion

 

3D 모델에서 일단 basemodel (template 이라고 생각) 이 필요

 

Basemodel 에 여러가지 변형이 들어간 추가 model 인 blendshape 추가

 

Basemodel 과 blendshape 결합하는 것을 blending 이라고 하는데 영향력 조절을 위해 blend weight 가 필요


- Reference

 

[1] Loper, Matthew, et al. "SMPL: A Skinned Multi-Person Linear Model." ACM Transactions on Graphics 2015 [Paper link]