SMPL : 학계에서 가장 보편적으로 사용되는 3D 바디 모델
- 공식 사이트
SMPL
smpl.is.tue.mpg.de
Paper Review: SMPL: A Skinned Multi-Person Linear Model
원문: http://files.is.tue.mpg.de/black/papers/SMPL2015.pdf
1. Introduction
- 연구 목표
다양한 신체 형태를 표현하고 포즈로 자연스럽게 변형되며, 실제 인간과 같은 연조직 동작을 나타낼 수 있는 현실적인 애니메이션 인체를 만드는 것이다.
- 대부분의 현실적인 모델들은 데이터에서 학습되지만, 렌더링 엔진과 호환되지 않는다.
- 하지만 SMPL은 기존 렌더링 엔진과 호환가능하다.

- linear blend skinning(LBS) 모델
LBS는 골격 구조를 사용하여 메시를 변형하는 데 사용되는 가장 일반적인 알고리즘이다.
Unreal 및 Unity와 같은 게임 엔진에서 사용되며 MODO와 같은 DCC 응용 프로그램에서 기본 변형 방법이다. - linear blend skinning(LBS) 모델의 문제
불행히도 LBS는 잘 알려진 'taffy'와 'bowtie'효과를 포함하여 관절에서 비현실적인 변형을 일으킨다.


https://www.pixelfondue.com/blog/2017/10/27/how-it-works-linear-blend-skinning
How It Works | Linear Blend Skinning — Pixel Fondue
Linear Blend Skinning is probably the most common algorithm used to deform a mesh using skeletal structures. It’s used in game engines such as Unreal and Unity and it’s default deformation method in DCC applications such as MODO. The main advantage of
www.pixelfondue.com
위와 같은 문제들을 개선하기 위해 많은 연구들이 진행됐으나, 많은 문제점(표준 그래픽 파이프 라인과 호환X, 기존 패키지와 작동X)들이 있었다.
- 핵심 목표
가능한 단순하고 표준적으로 신체 모델을 만들어 널리 사용할 수 있도록 하는 동시에,
데이터에서 배운 변형 기반 모델의 사실성을 유지하는 것
2. Related Work
- Blend Skinning
- 메쉬의 표면을 기본 골격 구조에 부착하는 것이다.
- LBS의 문제는 널리 발표되어 있으며, 쿼터니언 또는 이중 쿼터니언 스키닝, 구형 스키닝 등과 같은 다양한
방법으로해결하려고 시도되고 있다.
- 그러나 일반적인 방법은 종종 부자연스러운 결과를 낳으며, 여기서는 특정 공식에 관계없이 혼합 스킨의 한계를
수정하는 것을 배우는 데 초점을 맞춘다. - Auto-rigging
- LBS 모델을 자동으로 연결하는 작업이 많이 있지만, 가장 관련성이 높은 방법은 메쉬를 수집하여 뼈와 관절 및
혼합 중량을 유추하는 방법이다.
- 위 방법은 교정 혼합 모양을 알지 못하기 때문에 skinning weights를 알려진 모델에서 새 모델로 옮기고 조정하는
프로세스로 rigging과 skinning을 공식화한다. - Blend shapes
- Blend shapes는 기본적인 블렌드 스키닝(blend skinning)의 한계를 해결하기 위한 기술
- 이 논문에서는 휴식 포즈(rest pose)에서 보정값을 정의하고, 그런 다음 표준적인 스키닝 방정식 (예: 선형 블렌드
스키닝, LBS)을 적용한다. - Learning pose models
- SMPL모델은 다른 모델과 비교하여, 단순하고 직관적이면서 현실적인 결과를 제공한다. - Learning pose and shape models
- 단일 형태 모델에 초점을 맞춘 이전의 방법들과는 달리, 인간의 형태 변화 공간을 커버하는 현실적인 포즈 가능한
모델을 가지기를 원한다는 목표를 제시한다.
- 초기 방법들은 PCA를 사용하여 인간의 체형 공간을 특성화 하지만, 체형이 포즈와 함께 어떻게 변하는지를 모델링
하지 않는다.
- 전체 범위의 자연스러운 형태와 포즈를 포착할 수 있는 삼각형 모델의 표현력을 가진 정점 기반 모델을 원한다.
3. Model Formulation



SCAPE와 마찬가지로 SMPL 모델은 체형을 신원에 따른 형태(identity-dependent shape)와 비강체적인 포즈에 따른 형태(non-rigid pose-dependent shape)로 분해한다. 그러나 SCAPE와는 달리, SMPL은 정점 기반 스키닝(skinning) 접근 방식을 채택하며 보정 블렌드 형태를 사용한다.
SMPL 모델은 먼저 작성한 메쉬(mesh)를 기준으로 시작한다. 이 메쉬는 N = 6890개의 정점과 K = 23개의 관절을 가지며, 남성과 여성에 대해 동일한 토폴로지(topology)를 가지고 있다. 또한 공간적으로 다른 해상도를 갖고 있으며, 깔끔한 쿼드 구조를 가지고 있으며, 부위로 분할되어 있으며, 초기 블렌드 가중치와 스켈레톤 리그(skeletal rig)을 갖추고 있다.
SMPL 모델은 이러한 기초 메쉬를 기반으로하여 인간 신체의 형태 및 포즈를 모델링한다. 이 모델은 신원에 따른 형태와 포즈에 따른 형태를 조합하여 실제적인 인간의 다양한 형태와 포즈를 생성할 수 있다.
(a) Template Mesh: 평균 체형을 가진 사람의 T-Pose, 색은 skinning Weights를 시각화 한 것
(b) Shape Blend Shapes: (a)와 비교했을 때, 체형이 통통해 진 것을 알 수 있다
- '는 길이 및 체형에 해당하는 것'
- 해당하는 를 Vertex마다 더해서 체형을 반영
- 는 Shape blendshape
(c) Pose Blend Shapes: 자세를 취하면서 피부의 늘어남을 T-Pose Space에 반영
- 를 더했음
(d) Final Mesh: Skinning Function을 Skinning Weights와 적용시켜서 최종적으로 설정
SMPL 논문의 경우 수식과 기호가 상당히 많다.
다 정리하는데에는 시간이 많이 소요될 것 같다.
사실 교수님이 굳이 정리할 필요는 없다고 하셨는데,
3D Body Model에도 contirbution할 내용들이 있을 것 같아서... 흑
각잡고... 천천히... 정리 하려고 한다.
추후에 또 위 글은 업데이트 될 것 이다.
'데이터사이언스 대학원 생활 > Human Pose Estimation' 카테고리의 다른 글
Human3.6M 데이터셋 다운로드(Docker 사용) (3) | 2023.11.09 |
---|---|
Openpose 설치 및 사용(Windows 버전으로 쉽게) (2) | 2023.06.28 |
MMPose - 훈련된 모델로 포즈 추정 실행! (0) | 2023.06.24 |
MMpose 사용해서 (COCO - 2D WholeBody Datasets) 데이터로 모델 학습까지! (0) | 2023.06.23 |
MMPose 설치 방법 (0) | 2023.06.23 |