Open ahmedraza1996 opened 2 years ago
Hey dude
The 127 joints index you mentioned are corresponding to these:
[0, 55) <-> 55 joints: As mentioned in the smplx paper, the body model consists of 54 joints . Here there is an extra joint (that I think is not really joint but the center of the body) named Global
. The joint names can be restored from model/smplx/SMPLX_NEUTRAL.npz
under the key named part2num
:
[
'Global',
'L_Thigh',
'R_Thigh',
'Spine',
'L_Calf',
'R_Calf',
'Spine1',
'L_Foot',
'R_Foot',
'Spine2',
'L_Toes',
'R_Toes',
'Neck',
'L_Shoulder',
'R_Shoulder',
'Head',
'L_UpperArm',
'R_UpperArm',
'L_ForeArm',
'R_ForeArm',
'L_Hand',
'R_Hand',
'Jaw',
'L_Eye',
'R_Eye',
'L_Index1',
'L_Index2',
'L_Index3',
'L_Middle1',
'L_Middle2',
'L_Middle3',
'L_Pinky1',
'L_Pinky2',
'L_Pinky3',
'L_Ring1',
'L_Ring2',
'L_Ring3',
'L_Thumb1',
'L_Thumb2',
'L_Thumb3',
'R_Index1',
'R_Index2',
'R_Index3',
'R_Middle1',
'R_Middle2',
'R_Middle3',
'R_Pinky1',
'R_Pinky2',
'R_Pinky3',
'R_Ring1',
'R_Ring2',
'R_Ring3',
'R_Thumb1',
'R_Thumb2',
'R_Thumb3'
]
[55-76) <-> (21 joints): These 21 joints are optional. You can add each part you want based on the parameters passing to the function named vertex_joint_selector
. By default all the parts are added to the joint matrix.
Part A (5 joints) head elements: nose, {r, l} x {eye, ear}
Part B (6 joints) foot elements: {l, r} x {BigToe, SmallToe, Heel}
Part C (10 joints) hand elements: {l, r} x {thumb, index, middle, ring, pinky}
[76, 127) <-> (52 joints): These are the face landmarks comes from face key points.
Hello, I regenerated the joints using output pickle file, joints = model_output.joints.detach().cpu().numpy().squeeze() I used --use-hand=True and --use-face= False while generating the output. There were several threads discussing the Joints to be (118,3) , but weirdly I am getting shape (127,3) ...Does anyone know the mapping?