---
title: "SMPL: A Skinned Multi-Person Linear Model"
title_ru: "SMPL: Линейная модель скелетированного человека"
authors: [Loper, Mahmood, Romero, Pons-Moll, Black]
year: 2015
venue: "ACM SIGGRAPH Asia"
venue_tier: "A*"
doi: "10.1145/2816795.2818013"
tags: [body_model, smpl, parametric, mesh, shape, pose]
relevance_to_smartrep: 4
direction: "🅲"
---

# SMPL: Параметрическая модель тела человека

## TL;DR (≤3 предложения)

SMPL — параметрическая модель тела человека, задающая mesh через два набора параметров: форму $\beta \in \mathbb{R}^{10}$ (антропометрия: рост, вес, пропорции) и позу $\theta \in \mathbb{R}^{72}$ (углы 23 суставов). Mesh из 6890 вершин получается линейным blend skinning с pose-corrective blend shapes. Основа для всей современной литературы по 3D человеческому телу — VIBE, PARE, CLIFF, HuMoR, 4D-Humans все используют SMPL.

## Проблема

До SMPL: для каждой позы человека нужна отдельная 3D-сетка или маркерная MoCap запись. Нужна компактная параметрическая модель, обобщающая разнообразие форм и поз тела минимальным числом параметров.

## Гипотеза / вклад

- **Линейная параметризация:** shape = PCA компоненты на 3D сканах людей (CAESAR датасет), pose = blend skinning по оси суставов.
- **Pose-corrective blend shapes:** нелинейные эффекты мышц компенсируются добавочными деформациями при определённых позах.
- **Дифференцируемость:** SMPL дифференцируема по $\theta$ и $\beta$ → можно оптимизировать параметры gradient descent.

## Метод

SMPL mesh $M(\beta, \theta)$:

1. **Shape blend shapes:** $T(\beta) = \bar{T} + B_S(\beta)$, где $B_S = \sum_n \beta_n S_n$.
2. **Pose blend shapes:** $B_P(\theta) = \sum_{(i,j)} (R_i - R_i^*) P_{(i,j)}$ — корректирующие деформации.
3. **Rigged skeleton:** 24 joints (23 + root), $J(\beta) = \mathcal{J} T(\beta)$.
4. **Linear blend skinning (LBS):** вершины mesh деформируются по ближайшим суставам с весами $W$:

$$M = W \cdot (\bar{T} + B_S + B_P)$$

Параметры:
- $\theta \in \mathbb{R}^{72}$ (24 joints × 3 axis-angle) — поза
- $\beta \in \mathbb{R}^{10}$ — форма (10 PCA компонент)

## Датасеты и применение

| Применение | Примеры моделей |
|---|---|
| Pose estimation | VIBE, PARE, CLIFF, HuMoR, 4D-Humans |
| Motion capture | AMASS (SMPL fits к MoCap) |
| Avatar synthesis | SMPL-X, FLAME, MANO |
| Synthetic data | SURREAL, AGORA |

## Ограничения / слабости

- LBS артефакты: candy-wrapper эффект в конечностях при сильных поворотах.
- 10 shape parameters недостаточно для крайних антропометрий.
- Нет рук и лица (решено в SMPL-X).
- Не учитывает мышечные деформации (одежду, жировую ткань).

## Релевантность SmartRep

- **Обязательное знание 🅲:** SMPL используется в большинстве методов разделов 2 и 7. Без понимания SMPL невозможно читать VIBE, PARE, CLIFF, HuMoR, LEMO.
- **Shape параметры как антропометрия:** $\beta$ кодирует рост, пропорции пользователя → персонализация оценки техники под конкретного человека. Рост 170 vs 190 см = разные "правильные углы" в приседании.
- **3D pose GT:** SMPL-fit к MoCap (AMASS) как высококачественный 3D pose GT для обучения edge pose estimators.
- **Synthetic augmentation:** рендеринг SMPL mesh в разных позах → синтетические данные упражнений.

## Gap для нас

SMPL не включает физические ограничения суставов (joint limits). **Ниша SmartRep:** SMPL + ROM constraints — дополнить SMPL layer biomechanical joint limit prior ($\theta_i \in [\theta_i^{min}, \theta_i^{max}}]$) как differentiable constraint при inference. Такой "biomechanically constrained SMPL" улучшит реалистичность pose estimation для силовых упражнений.

## Код / данные

- Repo: smpl.is.tue.mpg.de (модель по запросу)
- Python: smplx библиотека (github.com/vchoutas/smplx)

## Цитата (BibTeX)

```bibtex
@article{loper2015smpl,
  title={SMPL: A Skinned Multi-Person Linear Model},
  author={Loper, Matthew and Mahmood, Naureen and Romero, Javier and Pons-Moll, Gerard and Black, Michael J},
  journal={ACM Transactions on Graphics},
  volume={34},
  number={6},
  year={2015}
}
```
