https://github.com/Junhyung-Choi/MHR_RestPose_Extractor
GitHub - Junhyung-Choi/MHR_RestPose_Extractor: Momentum Human Rig Rest Pose's Feature (Joint Hierarchy, Rest Vertices) Extractor
Momentum Human Rig Rest Pose's Feature (Joint Hierarchy, Rest Vertices) Extractor - Junhyung-Choi/MHR_RestPose_Extractor
github.com
위 리포지토리에 세부 코드가 있습니다

Joint Hierarchy Text Tree:
** body_world (Root) **
└─ root
├─ l_upleg
│ ├─ l_lowleg
│ │ ├─ l_foot
│ │ │ └─ l_talocrural
│ │ │ └─ l_subtalar
│ │ │ └─ l_transversetarsal
│ │ │ └─ l_ball
│ │ ├─ l_lowleg_twist1_proc
│ │ ├─ l_lowleg_twist2_proc
│ │ ├─ l_lowleg_twist3_proc
│ │ └─ l_lowleg_twist4_proc
│ ├─ l_upleg_twist0_proc
│ ├─ l_upleg_twist1_proc
│ ├─ l_upleg_twist2_proc
│ ├─ l_upleg_twist3_proc
│ └─ l_upleg_twist4_proc
├─ r_upleg
│ ├─ r_lowleg
│ │ ├─ r_foot
│ │ │ └─ r_talocrural
│ │ │ └─ r_subtalar
│ │ │ └─ r_transversetarsal
│ │ │ └─ r_ball
│ │ ├─ r_lowleg_twist1_proc
│ │ ├─ r_lowleg_twist2_proc
│ │ ├─ r_lowleg_twist3_proc
│ │ └─ r_lowleg_twist4_proc
│ ├─ r_upleg_twist0_proc
│ ├─ r_upleg_twist1_proc
│ ├─ r_upleg_twist2_proc
│ ├─ r_upleg_twist3_proc
│ └─ r_upleg_twist4_proc
└─ c_spine0
└─ c_spine1
└─ c_spine2
└─ c_spine3
├─ r_clavicle
│ └─ r_uparm
│ ├─ r_lowarm
│ │ ├─ r_wrist_twist
│ │ │ └─ r_wrist
│ │ │ ├─ r_pinky0
│ │ │ │ └─ r_pinky1
│ │ │ │ └─ r_pinky2
│ │ │ │ └─ r_pinky3
│ │ │ │ └─ r_pinky_null
│ │ │ ├─ r_ring1
│ │ │ │ └─ r_ring2
│ │ │ │ └─ r_ring3
│ │ │ │ └─ r_ring_null
│ │ │ ├─ r_middle1
│ │ │ │ └─ r_middle2
│ │ │ │ └─ r_middle3
│ │ │ │ └─ r_middle_null
│ │ │ ├─ r_index1
│ │ │ │ └─ r_index2
│ │ │ │ └─ r_index3
│ │ │ │ └─ r_index_null
│ │ │ └─ r_thumb0
│ │ │ └─ r_thumb1
│ │ │ └─ r_thumb2
│ │ │ └─ r_thumb3
│ │ │ └─ r_thumb_null
│ │ ├─ r_lowarm_twist1_proc
│ │ ├─ r_lowarm_twist2_proc
│ │ ├─ r_lowarm_twist3_proc
│ │ └─ r_lowarm_twist4_proc
│ ├─ r_uparm_twist0_proc
│ ├─ r_uparm_twist1_proc
│ ├─ r_uparm_twist2_proc
│ ├─ r_uparm_twist3_proc
│ └─ r_uparm_twist4_proc
├─ l_clavicle
│ └─ l_uparm
│ ├─ l_lowarm
│ │ ├─ l_wrist_twist
│ │ │ └─ l_wrist
│ │ │ ├─ l_pinky0
│ │ │ │ └─ l_pinky1
│ │ │ │ └─ l_pinky2
│ │ │ │ └─ l_pinky3
│ │ │ │ └─ l_pinky_null
│ │ │ ├─ l_ring1
│ │ │ │ └─ l_ring2
│ │ │ │ └─ l_ring3
│ │ │ │ └─ l_ring_null
│ │ │ ├─ l_middle1
│ │ │ │ └─ l_middle2
│ │ │ │ └─ l_middle3
│ │ │ │ └─ l_middle_null
│ │ │ ├─ l_index1
│ │ │ │ └─ l_index2
│ │ │ │ └─ l_index3
│ │ │ │ └─ l_index_null
│ │ │ └─ l_thumb0
│ │ │ └─ l_thumb1
│ │ │ └─ l_thumb2
│ │ │ └─ l_thumb3
│ │ │ └─ l_thumb_null
│ │ ├─ l_lowarm_twist1_proc
│ │ ├─ l_lowarm_twist2_proc
│ │ ├─ l_lowarm_twist3_proc
│ │ └─ l_lowarm_twist4_proc
│ ├─ l_uparm_twist0_proc
│ ├─ l_uparm_twist1_proc
│ ├─ l_uparm_twist2_proc
│ ├─ l_uparm_twist3_proc
│ └─ l_uparm_twist4_proc
└─ c_neck
├─ c_neck_twist1_proc
├─ c_neck_twist0_proc
└─ c_head
├─ c_jaw
│ ├─ c_teeth
│ ├─ c_jaw_null
│ └─ c_tongue0
│ └─ c_tongue1
│ └─ c_tongue2
│ └─ c_tongue3
│ └─ c_tongue4
├─ r_eye
│ └─ r_eye_null
├─ l_eye
│ └─ l_eye_null
└─ c_head_null
생긴건 이렇게 생겼고,
rest_vertices (36874,3)
faces (18439,3)
joint_prerotations (127,4)
입니다
파라미터는 다음과 같은데요
출처 : https://github.com/facebookresearch/MHR
- Shape: [batch_size, 45]
- Description: The first 20 control body shape identity, second 20 control head, and the last 5 for hands.
- Typical Range: -3 to +3 (zero-mean, unit variance)
- Shape: [batch_size, 204]
- Description: Joint angles and scalings
- Shape: [batch_size, 72]
- Description: Facial expression blendshape weights
- Typical Range: -1 to +1
원본 리포에 있는 SMPLX -> MHR 컨버팅 하면 파라미터가 249개 나옵니다
[204(model_param), 45(identity_coeffs)]입니다.
각 파라미터의 이름은 모델 불러오시고 get_parameter_names()를 통해 확인하실 수 있습니다
parameter_limits도 있으니 확인해보시면 좋습니다