ttxskk
update
d7e58f0
SMPLX_KEYPOINTS = [
'pelvis',
'left_hip',
'right_hip',
'spine_1',
'left_knee',
'right_knee',
'spine_2',
'left_ankle',
'right_ankle',
'spine_3',
'left_foot',
'right_foot',
'neck',
'left_collar',
'right_collar',
'head',
'left_shoulder',
'right_shoulder',
'left_elbow',
'right_elbow',
'left_wrist',
'right_wrist',
'jaw',
'left_eyeball',
'right_eyeball',
'left_index_1',
'left_index_2',
'left_index_3',
'left_middle_1',
'left_middle_2',
'left_middle_3',
'left_pinky_1',
'left_pinky_2',
'left_pinky_3',
'left_ring_1',
'left_ring_2',
'left_ring_3',
'left_thumb_1',
'left_thumb_2',
'left_thumb_3',
'right_index_1',
'right_index_2',
'right_index_3',
'right_middle_1',
'right_middle_2',
'right_middle_3',
'right_pinky_1',
'right_pinky_2',
'right_pinky_3',
'right_ring_1',
'right_ring_2',
'right_ring_3',
'right_thumb_1',
'right_thumb_2',
'right_thumb_3',
'nose',
'right_eye',
'left_eye',
'right_ear',
'left_ear',
'left_bigtoe',
'left_smalltoe',
'left_heel',
'right_bigtoe',
'right_smalltoe',
'right_heel',
'left_thumb',
'left_index',
'left_middle',
'left_ring',
'left_pinky',
'right_thumb',
'right_index',
'right_middle',
'right_ring',
'right_pinky',
'right_eyebrow_1',
'right_eyebrow_2',
'right_eyebrow_3',
'right_eyebrow_4',
'right_eyebrow_5',
'left_eyebrow_5',
'left_eyebrow_4',
'left_eyebrow_3',
'left_eyebrow_2',
'left_eyebrow_1',
'nosebridge_1',
'nosebridge_2',
'nosebridge_3',
'nosebridge_4',
'right_nose_2', # original name: nose_1
'right_nose_1', # original name: nose_2
'nose_middle', # original name: nose_3
'left_nose_1', # original name: nose_4
'left_nose_2', # original name: nose_5
'right_eye_1',
'right_eye_2',
'right_eye_3',
'right_eye_4',
'right_eye_5',
'right_eye_6',
'left_eye_4',
'left_eye_3',
'left_eye_2',
'left_eye_1',
'left_eye_6',
'left_eye_5',
'right_mouth_1', # original name: mouth_1
'right_mouth_2', # original name: mouth_2
'right_mouth_3', # original name: mouth_3
'mouth_top', # original name: mouth_4
'left_mouth_3', # original name: mouth_5
'left_mouth_2', # original name: mouth_6
'left_mouth_1', # original name: mouth_7
'left_mouth_5', # original name: mouth_8
'left_mouth_4', # original name: mouth_9
'mouth_bottom', # original name: mouth_10
'right_mouth_4', # original name: mouth_11
'right_mouth_5', # original name: mouth_12
'right_lip_1', # original name: lip_1
'right_lip_2', # original name: lip_2
'lip_top', # original name: lip_3
'left_lip_2', # original name: lip_4
'left_lip_1', # original name: lip_5
'left_lip_3', # original name: lip_6
'lip_bottom', # original name: lip_7
'right_lip_3', # original name: lip_8
'right_contour_1', # original name: face_contour_1
'right_contour_2', # original name: face_contour_2
'right_contour_3', # original name: face_contour_3
'right_contour_4', # original name: face_contour_4
'right_contour_5', # original name: face_contour_5
'right_contour_6', # original name: face_contour_6
'right_contour_7', # original name: face_contour_7
'right_contour_8', # original name: face_contour_8
'contour_middle', # original name: face_contour_9
'left_contour_8', # original name: face_contour_10
'left_contour_7', # original name: face_contour_11
'left_contour_6', # original name: face_contour_12
'left_contour_5', # original name: face_contour_13
'left_contour_4', # original name: face_contour_14
'left_contour_3', # original name: face_contour_15
'left_contour_2', # original name: face_contour_16
'left_contour_1', # original name: face_contour_17
]
SMPLX_LIMBS = {
'body': [['pelvis', 'left_hip'], ['pelvis', 'right_hip'],
['left_hip', 'right_hip'], ['left_shoulder', 'right_shoulder'],
['pelvis', 'spine_1'], ['spine_1', 'spine_2'],
['spine_2', 'spine_3'], ['spine_3', 'neck'], ['neck', 'head'],
['left_ankle', 'left_knee'], ['left_knee', 'left_hip'],
['right_ankle', 'right_knee'], ['right_knee', 'right_hip'],
['right_ankle', 'right_foot'], ['left_ankle', 'left_foot'],
['left_hip', 'right_hip'], ['left_shoulder', 'left_hip'],
['right_shoulder', 'right_hip'], ['left_collar', 'spine_3'],
['right_collar', 'spine_3'], ['right_collar', 'right_shoulder'],
['left_collar', 'left_shoulder'],
['left_shoulder', 'right_shoulder'],
['left_shoulder',
'left_elbow'], ['right_shoulder', 'right_elbow'],
['left_elbow', 'left_wrist'], ['right_elbow', 'right_wrist'],
['left_ankle', 'left_bigtoe'], ['left_ankle', 'left_smalltoe'],
['left_ankle', 'left_heel'], ['right_ankle', 'right_bigtoe'],
['right_ankle', 'right_smalltoe'], ['right_ankle', 'right_heel'],
['left_shoulder', 'left_ear'], ['right_shoulder', 'right_ear'],
['right_ear', 'right_eye'], ['right_eye', 'nose'],
['nose', 'left_eye'], ['left_eye', 'left_ear'], ['nose', 'jaw'],
['jaw', 'neck']],
'face': [['right_contour_1', 'right_contour_2'],
['right_contour_2', 'right_contour_3'],
['right_contour_3', 'right_contour_4'],
['right_contour_4', 'right_contour_5'],
['right_contour_5', 'right_contour_6'],
['right_contour_6', 'right_contour_7'],
['right_contour_7', 'right_contour_8'],
['right_contour_8', 'contour_middle'],
['contour_middle', 'left_contour_8'],
['left_contour_8', 'left_contour_7'],
['left_contour_7', 'left_contour_6'],
['left_contour_6', 'left_contour_5'],
['left_contour_5', 'left_contour_4'],
['left_contour_4', 'left_contour_3'],
['left_contour_3', 'left_contour_2'],
['left_contour_2', 'left_contour_1']],
'left_hand':
[['left_wrist', 'left_thumb_1'], ['left_thumb_1', 'left_thumb_2'],
['left_thumb_2', 'left_thumb_3'], ['left_thumb_3', 'left_thumb'],
['left_wrist', 'left_index_1'], ['left_index_1', 'left_index_2'],
['left_index_2', 'left_index_3'], ['left_index_3', 'left_index'],
['left_wrist', 'left_middle_1'], ['left_middle_1', 'left_middle_2'],
['left_middle_2', 'left_middle_3'], ['left_middle_3', 'left_middle'],
['left_wrist', 'left_ring_1'], ['left_ring_1', 'left_ring_2'],
['left_ring_2', 'left_ring_3'], ['left_ring_3', 'left_ring'],
['left_wrist', 'left_pinky_1'], ['left_pinky_1', 'left_pinky_2'],
['left_pinky_2', 'left_pinky_3'], ['left_pinky_3', 'left_pinky']],
'right_hand': [['right_wrist', 'right_thumb_1'],
['right_thumb_1', 'right_thumb_2'],
['right_thumb_2', 'right_thumb_3'],
['right_thumb_3', 'right_thumb'],
['right_wrist', 'right_index_1'],
['right_index_1', 'right_index_2'],
['right_index_2', 'right_index_3'],
['right_index_3', 'right_index'],
['right_wrist', 'right_middle_1'],
['right_middle_1', 'right_middle_2'],
['right_middle_2', 'right_middle_3'],
['right_middle_3', 'right_middle'],
['right_wrist', 'right_ring_1'],
['right_ring_1', 'right_ring_2'],
['right_ring_2', 'right_ring_3'],
['right_ring_3', 'right_ring'],
['right_wrist', 'right_pinky_1'],
['right_pinky_1', 'right_pinky_2'],
['right_pinky_2', 'right_pinky_3'],
['right_pinky_3', 'right_pinky']],
'right_eye':
[['right_eye_1', 'right_eye_2'], ['right_eye_2', 'right_eye_3'],
['right_eye_3', 'right_eye_4'], ['right_eye_4', 'right_eye_5'],
['right_eye_5', 'right_eye_6'], ['right_eye_6', 'right_eye_1'],
['right_eyebrow_1', 'right_eyebrow_2'],
['right_eyebrow_2', 'right_eyebrow_3'],
['right_eyebrow_3', 'right_eyebrow_4'],
['right_eyebrow_4', 'right_eyebrow_5']],
'left_eye': [['left_eye_4', 'left_eye_3'], ['left_eye_3', 'left_eye_2'],
['left_eye_2', 'left_eye_1'], ['left_eye_1', 'left_eye_6'],
['left_eye_6', 'left_eye_5'], ['left_eye_5', 'left_eye_4'],
['left_eyebrow_1', 'left_eyebrow_2'],
['left_eyebrow_2', 'left_eyebrow_3'],
['left_eyebrow_3', 'left_eyebrow_4'],
['left_eyebrow_4', 'left_eyebrow_5']],
'mouth':
[['right_mouth_1', 'right_mouth_2'], ['right_mouth_2', 'right_mouth_3'],
['right_mouth_3', 'mouth_top'], ['mouth_top', 'left_mouth_3'],
['left_mouth_3', 'left_mouth_2'], ['left_mouth_2', 'left_mouth_1'],
['left_mouth_1', 'left_mouth_5'], ['left_mouth_5', 'left_mouth_4'],
['left_mouth_4', 'mouth_bottom'], ['mouth_bottom', 'right_mouth_4'],
['right_mouth_4', 'right_mouth_5'], ['right_mouth_5', 'right_mouth_1'],
['right_lip_1', 'right_lip_2'], ['right_lip_2', 'lip_top'],
['lip_top', 'left_lip_2'], ['left_lip_2', 'left_lip_1'],
['left_lip_1', 'left_lip_3'], ['left_lip_3', 'lip_bottom'],
['lip_bottom', 'right_lip_3'], ['right_lip_3', 'right_lip_1']],
'nose': [
['nosebridge_1', 'nosebridge_2'],
['nosebridge_2', 'nosebridge_3'],
['nosebridge_3', 'nosebridge_4'],
['right_nose_2', 'right_nose_1'],
['right_nose_1', 'nose_middle'],
['nose_middle', 'left_nose_1'],
['left_nose_1', 'left_nose_2'],
]
}
SMPLX_LIMBS_INDEX = {}
for k in SMPLX_LIMBS:
SMPLX_LIMBS_INDEX[k] = [[
SMPLX_KEYPOINTS.index(limb[0]),
SMPLX_KEYPOINTS.index(limb[1])
] for limb in SMPLX_LIMBS[k]]
SMPLX_PALETTE = {
'left_eye': [[0, 0, 0]],
'right_eye': [[0, 0, 0]],
'nose': [[0, 0, 255]],
'mouth': [[0, 255, 255]],
'face': [[255, 0, 0]],
'left_hand': [[0, 0, 0]],
'right_hand': [[0, 0, 0]]
}
joint_idx = \
(0,1,2,4,5,7,8,12,16,17,18,19,20,21,60,61,62,63,64,65,59,58,57,56,55, # body joints
37,38,39,66,25,26,27,67,28,29,30,68,34,35,36,69,31,32,33,70, # left hand joints
52,53,54,71,40,41,42,72,43,44,45,73,49,50,51,74,46,47,48,75, # right hand joints
22,15, # jaw, head
57,56, # eyeballs
76,77,78,79,80,81,82,83,84,85, # eyebrow
86,87,88,89, # nose
90,91,92,93,94, # below nose
95,96,97,98,99,100,101,102,103,104,105,106, # eyes
107, # right mouth
108,109,110,111,112, # upper mouth
113, # left mouth
114,115,116,117,118, # lower mouth
119, # right lip
120,121,122, # upper lip
123, # left lip
124,125,126, # lower lip
127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143 # face contour
)
SMPLX_137_KEYPOINTS = []
for idx in joint_idx:
SMPLX_137_KEYPOINTS.append(SMPLX_KEYPOINTS[idx])
SMPLX_LHAND = [
# 'left_thumb_2',
'left_wrist',
'left_thumb',
# 'left_index_1',
'left_index',
# 'left_middle_1',
'left_middle',
# 'left_ring_1',
'left_ring',
# 'left_pinky_1',
'left_pinky',
]
SMPLX_RHAND = [
# 'right_thumb_2',
'right_wrist',
'right_thumb',
# 'right_index_1',
'right_index',
# 'right_middle_1',
'right_middle',
# 'right_ring_1',
'right_ring',
# 'right_pinky_1',
'right_pinky',
]
SMPLX_FACE = [
'nose',
'mouth_top',
'jaw',
'right_contour_1',
'contour_middle',
'left_contour_1'
]
AiOS_35_KEYPOINTS = [
'nose',
'left_eye',
'right_eye',
'left_ear',
'right_ear',
'left_shoulder',
'right_shoulder',
'left_elbow',
'right_elbow',
'left_wrist',
'right_wrist',
'left_hip_extra',
'right_hip_extra',
'left_knee',
'right_knee',
'left_ankle',
'right_ankle',
'left_wrist',
'left_thumb',
# 'left_index_1',
'left_index',
# 'left_middle_1',
'left_middle',
# 'left_ring_1',
'left_ring',
# 'left_pinky_1',
'left_pinky',
'right_wrist',
'right_thumb',
# 'right_index_1',
'right_index',
# 'right_middle_1',
'right_middle',
# 'right_ring_1',
'right_ring',
# 'right_pinky_1',
'right_pinky',
'nose',
'mouth_top',
'jaw',
'right_contour_1',
'contour_middle',
'left_contour_1'
]