들어가기 앞서.. 너무 생소하기도 하고 어려워서 이게 최선이었습니다...
더 공부하다보면 이 논문이 잘 이해되는 날이 올지도..
- Introduction
SMPL 은 skinned vertex-based model 로 다양한 realistic human body 생성을 목표로 함
기존에는 Linear Blending Skinning (LBS) model 이 주로 쓰였지만 밑 그림처럼 비 현실적인 경우 발생
(사실 눈으로 봤을땐 잘 모르겠지만 약간 토이스토리 woody 팔 같은 느낌?)
기존 방식들의 문제를 해결하기 위해 다양한 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}$
- 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]