SMPL은 사람 몸을 파라미터 몇 개로 표현하는 통계 모델이에요.
사람 몸 = 체형(betas) + 자세(poses) + 위치(trans)
입력 파라미터를 넣으면 6890개 꼭짓점(vertex) 의 3D mesh가 출력돼요.
| 모델 | 관절 수 | dim | 추가된 것 |
|---|---|---|---|
| SMPL | 24 | 72 | 기본 몸통만 |
| SMPL+H | 52 | 156 | 손가락 추가 (양손 16+16) |
| SMPL-X | 55 | 165 | 손 + 얼굴 표정까지 |
아까 npz가 156dim → SMPL+H 였던 거예요.
SMPL 24관절: 몸통 23 + 루트 1 SMPL+H 52관절: 몸통 23 + 루트 1 + 왼손 15 + 오른손 15 (= 54? → 52는 일부 생략) SMPL-X 55관절: 몸통 + 손 + 턱/눈/혀
① betas (체형)
`shape: (10,) 또는 (16,)
키, 몸무게, 팔 길이, 어깨 넓이 등 PCA로 압축된 값 — 숫자 하나 바꾸면 전체 체형이 변함 0에 가까울수록 평균 체형`
② poses (자세)
`shape: (N, 72) ← SMPL 기준
각 관절의 회전을 axis-angle로 표현 poses[:, 0:3] → root orientation (몸 전체 방향) poses[:, 3:72] → 나머지 23관절 회전`
axis-angle이란:
[0.5, 0.0, 0.0] → X축 방향으로 0.5 라디안 회전 방향 벡터의 크기(norm) = 회전 각도
③ trans (위치)
`shape: (N, 3)
공간에서 사람의 루트(골반) 위치 X, Y, Z 좌표`