Spaces:
Runtime error
Runtime error
| import numpy as np | |
| import glob | |
| import os | |
| import pickle | |
| import lmdb | |
| #import pyarrow | |
| import fasttext | |
| from loguru import logger | |
| from scipy import linalg | |
| from .pymo.parsers import BVHParser | |
| from .pymo.viz_tools import * | |
| from .pymo.preprocessing import * | |
| # pose version fpsxx_trinity/japanese_joints(_xxx) | |
| joints_list = { | |
| "trinity_joints":{ | |
| 'Hips': [6,6], | |
| 'Spine': [3,9], | |
| 'Spine1': [3,12], | |
| 'Spine2': [3,15], | |
| 'Spine3': [3,18], | |
| 'Neck': [3,21], | |
| 'Neck1': [3,24], | |
| 'Head': [3,27], | |
| 'RShoulder': [3,30], | |
| 'RArm': [3,33], | |
| 'RArm1': [3,36], | |
| 'RHand': [3,39], | |
| 'RHandT1': [3,42], | |
| 'RHandT2': [3,45], | |
| 'RHandT3': [3,48], | |
| 'RHandI1': [3,51], | |
| 'RHandI2': [3,54], | |
| 'RHandI3': [3,57], | |
| 'RHandM1': [3,60], | |
| 'RHandM2': [3,63], | |
| 'RHandM3': [3,66], | |
| 'RHandR1': [3,69], | |
| 'RHandR2': [3,72], | |
| 'RHandR3': [3,75], | |
| 'RHandP1': [3,78], | |
| 'RHandP2': [3,81], | |
| 'RHandP3': [3,84], | |
| 'LShoulder': [3,87], | |
| 'LArm': [3,90], | |
| 'LArm1': [3,93], | |
| 'LHand': [3,96], | |
| 'LHandT1': [3,99], | |
| 'LHandT2': [3,102], | |
| 'LHandT3': [3,105], | |
| 'LHandI1': [3,108], | |
| 'LHandI2': [3,111], | |
| 'LHandI3': [3,114], | |
| 'LHandM1': [3,117], | |
| 'LHandM2': [3,120], | |
| 'LHandM3': [3,123], | |
| 'LHandR1': [3,126], | |
| 'LHandR2': [3,129], | |
| 'LHandR3': [3,132], | |
| 'LHandP1': [3,135], | |
| 'LHandP2': [3,138], | |
| 'LHandP3': [3,141], | |
| 'RUpLeg': [3,144], | |
| 'RLeg': [3,147], | |
| 'RFoot': [3,150], | |
| 'RFootF': [3,153], | |
| 'RToeBase': [3,156], | |
| 'LUpLeg': [3,159], | |
| 'LLeg': [3,162], | |
| 'LFoot': [3,165], | |
| 'LFootF': [3,168], | |
| 'LToeBase': [3,171],}, | |
| "trinity_joints_123":{ | |
| 'Spine': 3 , | |
| 'Neck': 3 , | |
| 'Neck1': 3 , | |
| 'RShoulder': 3 , | |
| 'RArm': 3 , | |
| 'RArm1': 3 , | |
| 'RHand': 3 , | |
| 'RHandT1': 3 , | |
| 'RHandT2': 3 , | |
| 'RHandT3': 3 , | |
| 'RHandI1': 3 , | |
| 'RHandI2': 3 , | |
| 'RHandI3': 3 , | |
| 'RHandM1': 3 , | |
| 'RHandM2': 3 , | |
| 'RHandM3': 3 , | |
| 'RHandR1': 3 , | |
| 'RHandR2': 3 , | |
| 'RHandR3': 3 , | |
| 'RHandP1': 3 , | |
| 'RHandP2': 3 , | |
| 'RHandP3': 3 , | |
| 'LShoulder': 3 , | |
| 'LArm': 3 , | |
| 'LArm1': 3 , | |
| 'LHand': 3 , | |
| 'LHandT1': 3 , | |
| 'LHandT2': 3 , | |
| 'LHandT3': 3 , | |
| 'LHandI1': 3 , | |
| 'LHandI2': 3 , | |
| 'LHandI3': 3 , | |
| 'LHandM1': 3 , | |
| 'LHandM2': 3 , | |
| 'LHandM3': 3 , | |
| 'LHandR1': 3 , | |
| 'LHandR2': 3 , | |
| 'LHandR3': 3 , | |
| 'LHandP1': 3 , | |
| 'LHandP2': 3 , | |
| 'LHandP3': 3 ,}, | |
| "trinity_joints_168":{ | |
| 'Hips': 3 , | |
| 'Spine': 3 , | |
| 'Spine1': 3 , | |
| 'Spine2': 3 , | |
| 'Spine3': 3 , | |
| 'Neck': 3 , | |
| 'Neck1': 3 , | |
| 'Head': 3 , | |
| 'RShoulder': 3 , | |
| 'RArm': 3 , | |
| 'RArm1': 3 , | |
| 'RHand': 3 , | |
| 'RHandT1': 3 , | |
| 'RHandT2': 3 , | |
| 'RHandT3': 3 , | |
| 'RHandI1': 3 , | |
| 'RHandI2': 3 , | |
| 'RHandI3': 3 , | |
| 'RHandM1': 3 , | |
| 'RHandM2': 3 , | |
| 'RHandM3': 3 , | |
| 'RHandR1': 3 , | |
| 'RHandR2': 3 , | |
| 'RHandR3': 3 , | |
| 'RHandP1': 3 , | |
| 'RHandP2': 3 , | |
| 'RHandP3': 3 , | |
| 'LShoulder': 3 , | |
| 'LArm': 3 , | |
| 'LArm1': 3 , | |
| 'LHand': 3 , | |
| 'LHandT1': 3 , | |
| 'LHandT2': 3 , | |
| 'LHandT3': 3 , | |
| 'LHandI1': 3 , | |
| 'LHandI2': 3 , | |
| 'LHandI3': 3 , | |
| 'LHandM1': 3 , | |
| 'LHandM2': 3 , | |
| 'LHandM3': 3 , | |
| 'LHandR1': 3 , | |
| 'LHandR2': 3 , | |
| 'LHandR3': 3 , | |
| 'LHandP1': 3 , | |
| 'LHandP2': 3 , | |
| 'LHandP3': 3 , | |
| 'RUpLeg': 3 , | |
| 'RLeg': 3 , | |
| 'RFoot': 3 , | |
| 'RFootF': 3 , | |
| 'RToeBase': 3 , | |
| 'LUpLeg': 3 , | |
| 'LLeg': 3 , | |
| 'LFoot': 3 , | |
| 'LFootF': 3 , | |
| 'LToeBase': 3 ,}, | |
| "trinity_joints_138":{ | |
| "Hips": 3 , | |
| 'Spine': 3 , | |
| 'Spine1': 3 , | |
| 'Spine2': 3 , | |
| 'Spine3': 3 , | |
| 'Neck': 3 , | |
| 'Neck1': 3 , | |
| 'Head': 3 , | |
| 'RShoulder': 3 , | |
| 'RArm': 3 , | |
| 'RArm1': 3 , | |
| 'RHand': 3 , | |
| 'RHandT1': 3 , | |
| 'RHandT2': 3 , | |
| 'RHandT3': 3 , | |
| 'RHandI1': 3 , | |
| 'RHandI2': 3 , | |
| 'RHandI3': 3 , | |
| 'RHandM1': 3 , | |
| 'RHandM2': 3 , | |
| 'RHandM3': 3 , | |
| 'RHandR1': 3 , | |
| 'RHandR2': 3 , | |
| 'RHandR3': 3 , | |
| 'RHandP1': 3 , | |
| 'RHandP2': 3 , | |
| 'RHandP3': 3 , | |
| 'LShoulder': 3 , | |
| 'LArm': 3 , | |
| 'LArm1': 3 , | |
| 'LHand': 3 , | |
| 'LHandT1': 3 , | |
| 'LHandT2': 3 , | |
| 'LHandT3': 3 , | |
| 'LHandI1': 3 , | |
| 'LHandI2': 3 , | |
| 'LHandI3': 3 , | |
| 'LHandM1': 3 , | |
| 'LHandM2': 3 , | |
| 'LHandM3': 3 , | |
| 'LHandR1': 3 , | |
| 'LHandR2': 3 , | |
| 'LHandR3': 3 , | |
| 'LHandP1': 3 , | |
| 'LHandP2': 3 , | |
| 'LHandP3': 3 ,}, | |
| "beat_smplx_joints": { | |
| 'pelvis': [3,3], | |
| 'left_hip': [3,6], | |
| 'right_hip': [3,9], | |
| 'spine1': [3,12], | |
| 'left_knee': [3,15], | |
| 'right_knee': [3,18], | |
| 'spine2': [3,21], | |
| 'left_ankle': [3,24], | |
| 'right_ankle': [3,27], | |
| 'spine3': [3,30], | |
| 'left_foot': [3,33], | |
| 'right_foot': [3,36], | |
| 'neck': [3,39], | |
| 'left_collar': [3,42], | |
| 'right_collar': [3,45], | |
| 'head': [3,48], | |
| 'left_shoulder': [3,51], | |
| 'right_shoulder': [3,54], | |
| 'left_elbow': [3,57], | |
| 'right_elbow': [3,60], | |
| 'left_wrist': [3,63], | |
| 'right_wrist': [3,66], | |
| 'jaw': [3,69], | |
| 'left_eye_smplhf': [3,72], | |
| 'right_eye_smplhf': [3,75], | |
| 'left_index1': [3,78], | |
| 'left_index2': [3,81], | |
| 'left_index3': [3,84], | |
| 'left_middle1': [3,87], | |
| 'left_middle2': [3,90], | |
| 'left_middle3': [3,93], | |
| 'left_pinky1': [3,96], | |
| 'left_pinky2': [3,99], | |
| 'left_pinky3': [3,102], | |
| 'left_ring1': [3,105], | |
| 'left_ring2': [3,108], | |
| 'left_ring3': [3,111], | |
| 'left_thumb1': [3,114], | |
| 'left_thumb2': [3,117], | |
| 'left_thumb3': [3,120], | |
| 'right_index1': [3,123], | |
| 'right_index2': [3,126], | |
| 'right_index3': [3,129], | |
| 'right_middle1': [3,132], | |
| 'right_middle2': [3,135], | |
| 'right_middle3': [3,138], | |
| 'right_pinky1': [3,141], | |
| 'right_pinky2': [3,144], | |
| 'right_pinky3': [3,147], | |
| 'right_ring1': [3,150], | |
| 'right_ring2': [3,153], | |
| 'right_ring3': [3,156], | |
| 'right_thumb1': [3,159], | |
| 'right_thumb2': [3,162], | |
| 'right_thumb3': [3,165], | |
| # 'nose': [3,168], | |
| # 'right_eye': [3,171], | |
| # 'left_eye': [3,174], | |
| # 'right_ear': [3,177], | |
| # 'left_ear': [3,180], | |
| # 'left_big_toe': [3,183], | |
| # 'left_small_toe': [3,186], | |
| # 'left_heel': [3,189], | |
| # 'right_big_toe': [3,192], | |
| # 'right_small_toe': [3,195], | |
| # 'right_heel': [3,198], | |
| # 'left_thumb': [3,201], | |
| # 'left_index': [3,204], | |
| # 'left_middle': [3,207], | |
| # 'left_ring': [3,210], | |
| # 'left_pinky': [3,213], | |
| # 'right_thumb': [3,216], | |
| # 'right_index': [3,219], | |
| # 'right_middle': [3,222], | |
| # 'right_ring': [3,225], | |
| # 'right_pinky': [3,228], | |
| # 'right_eye_brow1': [3,231], | |
| # 'right_eye_brow2': [3,234], | |
| # 'right_eye_brow3': [3,237], | |
| # 'right_eye_brow4': [3,240], | |
| # 'right_eye_brow5': [3,243], | |
| # 'left_eye_brow5': [3,246], | |
| # 'left_eye_brow4': [3,249], | |
| # 'left_eye_brow3': [3,252], | |
| # 'left_eye_brow2': [3,255], | |
| # 'left_eye_brow1': [3,258], | |
| # 'nose1': [3,261], | |
| # 'nose2': [3,264], | |
| # 'nose3': [3,267], | |
| # 'nose4': [3,270], | |
| # 'right_nose_2': [3,273], | |
| # 'right_nose_1': [3,276], | |
| # 'nose_middle': [3,279], | |
| # 'left_nose_1': [3,282], | |
| # 'left_nose_2': [3,285], | |
| # 'right_eye1': [3,288], | |
| # 'right_eye2': [3,291], | |
| # 'right_eye3': [3,294], | |
| # 'right_eye4': [3,297], | |
| # 'right_eye5': [3,300], | |
| # 'right_eye6': [3,303], | |
| # 'left_eye4': [3,306], | |
| # 'left_eye3': [3,309], | |
| # 'left_eye2': [3,312], | |
| # 'left_eye1': [3,315], | |
| # 'left_eye6': [3,318], | |
| # 'left_eye5': [3,321], | |
| # 'right_mouth_1': [3,324], | |
| # 'right_mouth_2': [3,327], | |
| # 'right_mouth_3': [3,330], | |
| # 'mouth_top': [3,333], | |
| # 'left_mouth_3': [3,336], | |
| # 'left_mouth_2': [3,339], | |
| # 'left_mouth_1': [3,342], | |
| # 'left_mouth_5': [3,345], | |
| # 'left_mouth_4': [3,348], | |
| # 'mouth_bottom': [3,351], | |
| # 'right_mouth_4': [3,354], | |
| # 'right_mouth_5': [3,357], | |
| # 'right_lip_1': [3,360], | |
| # 'right_lip_2': [3,363], | |
| # 'lip_top': [3,366], | |
| # 'left_lip_2': [3,369], | |
| # 'left_lip_1': [3,372], | |
| # 'left_lip_3': [3,375], | |
| # 'lip_bottom': [3,378], | |
| # 'right_lip_3': [3,381], | |
| # 'right_contour_1': [3,384], | |
| # 'right_contour_2': [3,387], | |
| # 'right_contour_3': [3,390], | |
| # 'right_contour_4': [3,393], | |
| # 'right_contour_5': [3,396], | |
| # 'right_contour_6': [3,399], | |
| # 'right_contour_7': [3,402], | |
| # 'right_contour_8': [3,405], | |
| # 'contour_middle': [3,408], | |
| # 'left_contour_8': [3,411], | |
| # 'left_contour_7': [3,414], | |
| # 'left_contour_6': [3,417], | |
| # 'left_contour_5': [3,420], | |
| # 'left_contour_4': [3,423], | |
| # 'left_contour_3': [3,426], | |
| # 'left_contour_2': [3,429], | |
| # 'left_contour_1': [3,432], | |
| }, | |
| "beat_smplx_no_eyes": { | |
| "pelvis":3, | |
| "left_hip":3, | |
| "right_hip":3, | |
| "spine1":3, | |
| "left_knee":3, | |
| "right_knee":3, | |
| "spine2":3, | |
| "left_ankle":3, | |
| "right_ankle":3, | |
| "spine3":3, | |
| "left_foot":3, | |
| "right_foot":3, | |
| "neck":3, | |
| "left_collar":3, | |
| "right_collar":3, | |
| "head":3, | |
| "left_shoulder":3, | |
| "right_shoulder":3, | |
| "left_elbow":3, | |
| "right_elbow":3, | |
| "left_wrist":3, | |
| "right_wrist":3, | |
| "jaw":3, | |
| # "left_eye_smplhf":3, | |
| # "right_eye_smplhf":3, | |
| "left_index1":3, | |
| "left_index2":3, | |
| "left_index3":3, | |
| "left_middle1":3, | |
| "left_middle2":3, | |
| "left_middle3":3, | |
| "left_pinky1":3, | |
| "left_pinky2":3, | |
| "left_pinky3":3, | |
| "left_ring1":3, | |
| "left_ring2":3, | |
| "left_ring3":3, | |
| "left_thumb1":3, | |
| "left_thumb2":3, | |
| "left_thumb3":3, | |
| "right_index1":3, | |
| "right_index2":3, | |
| "right_index3":3, | |
| "right_middle1":3, | |
| "right_middle2":3, | |
| "right_middle3":3, | |
| "right_pinky1":3, | |
| "right_pinky2":3, | |
| "right_pinky3":3, | |
| "right_ring1":3, | |
| "right_ring2":3, | |
| "right_ring3":3, | |
| "right_thumb1":3, | |
| "right_thumb2":3, | |
| "right_thumb3":3, | |
| }, | |
| "beat_smplx_full": { | |
| "pelvis":3, | |
| "left_hip":3, | |
| "right_hip":3, | |
| "spine1":3, | |
| "left_knee":3, | |
| "right_knee":3, | |
| "spine2":3, | |
| "left_ankle":3, | |
| "right_ankle":3, | |
| "spine3":3, | |
| "left_foot":3, | |
| "right_foot":3, | |
| "neck":3, | |
| "left_collar":3, | |
| "right_collar":3, | |
| "head":3, | |
| "left_shoulder":3, | |
| "right_shoulder":3, | |
| "left_elbow":3, | |
| "right_elbow":3, | |
| "left_wrist":3, | |
| "right_wrist":3, | |
| "jaw":3, | |
| "left_eye_smplhf":3, | |
| "right_eye_smplhf":3, | |
| "left_index1":3, | |
| "left_index2":3, | |
| "left_index3":3, | |
| "left_middle1":3, | |
| "left_middle2":3, | |
| "left_middle3":3, | |
| "left_pinky1":3, | |
| "left_pinky2":3, | |
| "left_pinky3":3, | |
| "left_ring1":3, | |
| "left_ring2":3, | |
| "left_ring3":3, | |
| "left_thumb1":3, | |
| "left_thumb2":3, | |
| "left_thumb3":3, | |
| "right_index1":3, | |
| "right_index2":3, | |
| "right_index3":3, | |
| "right_middle1":3, | |
| "right_middle2":3, | |
| "right_middle3":3, | |
| "right_pinky1":3, | |
| "right_pinky2":3, | |
| "right_pinky3":3, | |
| "right_ring1":3, | |
| "right_ring2":3, | |
| "right_ring3":3, | |
| "right_thumb1":3, | |
| "right_thumb2":3, | |
| "right_thumb3":3, | |
| }, | |
| "beat_smplx_upall": { | |
| # "pelvis":3, | |
| # "left_hip":3, | |
| # "right_hip":3, | |
| "spine1":3, | |
| # "left_knee":3, | |
| # "right_knee":3, | |
| "spine2":3, | |
| # "left_ankle":3, | |
| # "right_ankle":3, | |
| "spine3":3, | |
| # "left_foot":3, | |
| # "right_foot":3, | |
| "neck":3, | |
| "left_collar":3, | |
| "right_collar":3, | |
| "head":3, | |
| "left_shoulder":3, | |
| "right_shoulder":3, | |
| "left_elbow":3, | |
| "right_elbow":3, | |
| "left_wrist":3, | |
| "right_wrist":3, | |
| # "jaw":3, | |
| # "left_eye_smplhf":3, | |
| # "right_eye_smplhf":3, | |
| "left_index1":3, | |
| "left_index2":3, | |
| "left_index3":3, | |
| "left_middle1":3, | |
| "left_middle2":3, | |
| "left_middle3":3, | |
| "left_pinky1":3, | |
| "left_pinky2":3, | |
| "left_pinky3":3, | |
| "left_ring1":3, | |
| "left_ring2":3, | |
| "left_ring3":3, | |
| "left_thumb1":3, | |
| "left_thumb2":3, | |
| "left_thumb3":3, | |
| "right_index1":3, | |
| "right_index2":3, | |
| "right_index3":3, | |
| "right_middle1":3, | |
| "right_middle2":3, | |
| "right_middle3":3, | |
| "right_pinky1":3, | |
| "right_pinky2":3, | |
| "right_pinky3":3, | |
| "right_ring1":3, | |
| "right_ring2":3, | |
| "right_ring3":3, | |
| "right_thumb1":3, | |
| "right_thumb2":3, | |
| "right_thumb3":3, | |
| }, | |
| "beat_smplx_upper": { | |
| #"pelvis":3, | |
| # "left_hip":3, | |
| # "right_hip":3, | |
| "spine1":3, | |
| # "left_knee":3, | |
| # "right_knee":3, | |
| "spine2":3, | |
| # "left_ankle":3, | |
| # "right_ankle":3, | |
| "spine3":3, | |
| # "left_foot":3, | |
| # "right_foot":3, | |
| "neck":3, | |
| "left_collar":3, | |
| "right_collar":3, | |
| "head":3, | |
| "left_shoulder":3, | |
| "right_shoulder":3, | |
| "left_elbow":3, | |
| "right_elbow":3, | |
| "left_wrist":3, | |
| "right_wrist":3, | |
| # "jaw":3, | |
| # "left_eye_smplhf":3, | |
| # "right_eye_smplhf":3, | |
| # "left_index1":3, | |
| # "left_index2":3, | |
| # "left_index3":3, | |
| # "left_middle1":3, | |
| # "left_middle2":3, | |
| # "left_middle3":3, | |
| # "left_pinky1":3, | |
| # "left_pinky2":3, | |
| # "left_pinky3":3, | |
| # "left_ring1":3, | |
| # "left_ring2":3, | |
| # "left_ring3":3, | |
| # "left_thumb1":3, | |
| # "left_thumb2":3, | |
| # "left_thumb3":3, | |
| # "right_index1":3, | |
| # "right_index2":3, | |
| # "right_index3":3, | |
| # "right_middle1":3, | |
| # "right_middle2":3, | |
| # "right_middle3":3, | |
| # "right_pinky1":3, | |
| # "right_pinky2":3, | |
| # "right_pinky3":3, | |
| # "right_ring1":3, | |
| # "right_ring2":3, | |
| # "right_ring3":3, | |
| # "right_thumb1":3, | |
| # "right_thumb2":3, | |
| # "right_thumb3":3, | |
| }, | |
| "beat_smplx_hands": { | |
| #"pelvis":3, | |
| # "left_hip":3, | |
| # "right_hip":3, | |
| # "spine1":3, | |
| # "left_knee":3, | |
| # "right_knee":3, | |
| # "spine2":3, | |
| # "left_ankle":3, | |
| # "right_ankle":3, | |
| # "spine3":3, | |
| # "left_foot":3, | |
| # "right_foot":3, | |
| # "neck":3, | |
| # "left_collar":3, | |
| # "right_collar":3, | |
| # "head":3, | |
| # "left_shoulder":3, | |
| # "right_shoulder":3, | |
| # "left_elbow":3, | |
| # "right_elbow":3, | |
| # "left_wrist":3, | |
| # "right_wrist":3, | |
| # "jaw":3, | |
| # "left_eye_smplhf":3, | |
| # "right_eye_smplhf":3, | |
| "left_index1":3, | |
| "left_index2":3, | |
| "left_index3":3, | |
| "left_middle1":3, | |
| "left_middle2":3, | |
| "left_middle3":3, | |
| "left_pinky1":3, | |
| "left_pinky2":3, | |
| "left_pinky3":3, | |
| "left_ring1":3, | |
| "left_ring2":3, | |
| "left_ring3":3, | |
| "left_thumb1":3, | |
| "left_thumb2":3, | |
| "left_thumb3":3, | |
| "right_index1":3, | |
| "right_index2":3, | |
| "right_index3":3, | |
| "right_middle1":3, | |
| "right_middle2":3, | |
| "right_middle3":3, | |
| "right_pinky1":3, | |
| "right_pinky2":3, | |
| "right_pinky3":3, | |
| "right_ring1":3, | |
| "right_ring2":3, | |
| "right_ring3":3, | |
| "right_thumb1":3, | |
| "right_thumb2":3, | |
| "right_thumb3":3, | |
| }, | |
| "beat_smplx_lower": { | |
| "pelvis":3, | |
| "left_hip":3, | |
| "right_hip":3, | |
| # "spine1":3, | |
| "left_knee":3, | |
| "right_knee":3, | |
| # "spine2":3, | |
| "left_ankle":3, | |
| "right_ankle":3, | |
| # "spine3":3, | |
| "left_foot":3, | |
| "right_foot":3, | |
| # "neck":3, | |
| # "left_collar":3, | |
| # "right_collar":3, | |
| # "head":3, | |
| # "left_shoulder":3, | |
| # "right_shoulder":3, | |
| # "left_elbow":3, | |
| # "right_elbow":3, | |
| # "left_wrist":3, | |
| # "right_wrist":3, | |
| # "jaw":3, | |
| # "left_eye_smplhf":3, | |
| # "right_eye_smplhf":3, | |
| # "left_index1":3, | |
| # "left_index2":3, | |
| # "left_index3":3, | |
| # "left_middle1":3, | |
| # "left_middle2":3, | |
| # "left_middle3":3, | |
| # "left_pinky1":3, | |
| # "left_pinky2":3, | |
| # "left_pinky3":3, | |
| # "left_ring1":3, | |
| # "left_ring2":3, | |
| # "left_ring3":3, | |
| # "left_thumb1":3, | |
| # "left_thumb2":3, | |
| # "left_thumb3":3, | |
| # "right_index1":3, | |
| # "right_index2":3, | |
| # "right_index3":3, | |
| # "right_middle1":3, | |
| # "right_middle2":3, | |
| # "right_middle3":3, | |
| # "right_pinky1":3, | |
| # "right_pinky2":3, | |
| # "right_pinky3":3, | |
| # "right_ring1":3, | |
| # "right_ring2":3, | |
| # "right_ring3":3, | |
| # "right_thumb1":3, | |
| # "right_thumb2":3, | |
| # "right_thumb3":3, | |
| }, | |
| "beat_smplx_face": { | |
| # "pelvis":3, | |
| # "left_hip":3, | |
| # "right_hip":3, | |
| # # "spine1":3, | |
| # "left_knee":3, | |
| # "right_knee":3, | |
| # # "spine2":3, | |
| # "left_ankle":3, | |
| # "right_ankle":3, | |
| # # "spine3":3, | |
| # "left_foot":3, | |
| # "right_foot":3, | |
| # "neck":3, | |
| # "left_collar":3, | |
| # "right_collar":3, | |
| # "head":3, | |
| # "left_shoulder":3, | |
| # "right_shoulder":3, | |
| # "left_elbow":3, | |
| # "right_elbow":3, | |
| # "left_wrist":3, | |
| # "right_wrist":3, | |
| "jaw":3, | |
| # "left_eye_smplhf":3, | |
| # "right_eye_smplhf":3, | |
| # "left_index1":3, | |
| # "left_index2":3, | |
| # "left_index3":3, | |
| # "left_middle1":3, | |
| # "left_middle2":3, | |
| # "left_middle3":3, | |
| # "left_pinky1":3, | |
| # "left_pinky2":3, | |
| # "left_pinky3":3, | |
| # "left_ring1":3, | |
| # "left_ring2":3, | |
| # "left_ring3":3, | |
| # "left_thumb1":3, | |
| # "left_thumb2":3, | |
| # "left_thumb3":3, | |
| # "right_index1":3, | |
| # "right_index2":3, | |
| # "right_index3":3, | |
| # "right_middle1":3, | |
| # "right_middle2":3, | |
| # "right_middle3":3, | |
| # "right_pinky1":3, | |
| # "right_pinky2":3, | |
| # "right_pinky3":3, | |
| # "right_ring1":3, | |
| # "right_ring2":3, | |
| # "right_ring3":3, | |
| # "right_thumb1":3, | |
| # "right_thumb2":3, | |
| # "right_thumb3":3, | |
| }, | |
| "beat_joints": { | |
| 'Hips': [6,6], | |
| 'Spine': [3,9], | |
| 'Spine1': [3,12], | |
| 'Spine2': [3,15], | |
| 'Spine3': [3,18], | |
| 'Neck': [3,21], | |
| 'Neck1': [3,24], | |
| 'Head': [3,27], | |
| 'HeadEnd': [3,30], | |
| 'RShoulder': [3,33], | |
| 'RArm': [3,36], | |
| 'RArm1': [3,39], | |
| 'RHand': [3,42], | |
| 'RHandM1': [3,45], | |
| 'RHandM2': [3,48], | |
| 'RHandM3': [3,51], | |
| 'RHandM4': [3,54], | |
| 'RHandR': [3,57], | |
| 'RHandR1': [3,60], | |
| 'RHandR2': [3,63], | |
| 'RHandR3': [3,66], | |
| 'RHandR4': [3,69], | |
| 'RHandP': [3,72], | |
| 'RHandP1': [3,75], | |
| 'RHandP2': [3,78], | |
| 'RHandP3': [3,81], | |
| 'RHandP4': [3,84], | |
| 'RHandI': [3,87], | |
| 'RHandI1': [3,90], | |
| 'RHandI2': [3,93], | |
| 'RHandI3': [3,96], | |
| 'RHandI4': [3,99], | |
| 'RHandT1': [3,102], | |
| 'RHandT2': [3,105], | |
| 'RHandT3': [3,108], | |
| 'RHandT4': [3,111], | |
| 'LShoulder': [3,114], | |
| 'LArm': [3,117], | |
| 'LArm1': [3,120], | |
| 'LHand': [3,123], | |
| 'LHandM1': [3,126], | |
| 'LHandM2': [3,129], | |
| 'LHandM3': [3,132], | |
| 'LHandM4': [3,135], | |
| 'LHandR': [3,138], | |
| 'LHandR1': [3,141], | |
| 'LHandR2': [3,144], | |
| 'LHandR3': [3,147], | |
| 'LHandR4': [3,150], | |
| 'LHandP': [3,153], | |
| 'LHandP1': [3,156], | |
| 'LHandP2': [3,159], | |
| 'LHandP3': [3,162], | |
| 'LHandP4': [3,165], | |
| 'LHandI': [3,168], | |
| 'LHandI1': [3,171], | |
| 'LHandI2': [3,174], | |
| 'LHandI3': [3,177], | |
| 'LHandI4': [3,180], | |
| 'LHandT1': [3,183], | |
| 'LHandT2': [3,186], | |
| 'LHandT3': [3,189], | |
| 'LHandT4': [3,192], | |
| 'RUpLeg': [3,195], | |
| 'RLeg': [3,198], | |
| 'RFoot': [3,201], | |
| 'RFootF': [3,204], | |
| 'RToeBase': [3,207], | |
| 'RToeBaseEnd': [3,210], | |
| 'LUpLeg': [3,213], | |
| 'LLeg': [3,216], | |
| 'LFoot': [3,219], | |
| 'LFootF': [3,222], | |
| 'LToeBase': [3,225], | |
| 'LToeBaseEnd': [3,228],}, | |
| "beat_full":{ | |
| 'Hips': 3, | |
| 'Spine': 3 , | |
| 'Spine1': 3 , | |
| 'Spine2': 3 , | |
| 'Spine3': 3 , | |
| 'Neck': 3 , | |
| 'Neck1': 3 , | |
| 'Head' : 3, | |
| 'HeadEnd' : 3, | |
| 'RShoulder': 3 , | |
| 'RArm': 3 , | |
| 'RArm1': 3 , | |
| 'RHand': 3 , | |
| 'RHandM1': 3 , | |
| 'RHandM2': 3 , | |
| 'RHandM3': 3 , | |
| 'RHandM4': 3 , | |
| 'RHandR': 3 , | |
| 'RHandR1': 3 , | |
| 'RHandR2': 3 , | |
| 'RHandR3': 3 , | |
| 'RHandR4': 3 , | |
| 'RHandP': 3 , | |
| 'RHandP1': 3 , | |
| 'RHandP2': 3 , | |
| 'RHandP3': 3 , | |
| 'RHandP4': 3 , | |
| 'RHandI': 3 , | |
| 'RHandI1': 3 , | |
| 'RHandI2': 3 , | |
| 'RHandI3': 3 , | |
| 'RHandI4': 3 , | |
| 'RHandT1': 3 , | |
| 'RHandT2': 3 , | |
| 'RHandT3': 3 , | |
| 'RHandT4': 3 , | |
| 'LShoulder': 3 , | |
| 'LArm': 3 , | |
| 'LArm1': 3 , | |
| 'LHand': 3 , | |
| 'LHandM1': 3 , | |
| 'LHandM2': 3 , | |
| 'LHandM3': 3 , | |
| 'LHandM4': 3 , | |
| 'LHandR': 3 , | |
| 'LHandR1': 3 , | |
| 'LHandR2': 3 , | |
| 'LHandR3': 3 , | |
| 'LHandR4': 3 , | |
| 'LHandP': 3 , | |
| 'LHandP1': 3 , | |
| 'LHandP2': 3 , | |
| 'LHandP3': 3 , | |
| 'LHandP4': 3 , | |
| 'LHandI': 3 , | |
| 'LHandI1': 3 , | |
| 'LHandI2': 3 , | |
| 'LHandI3': 3 , | |
| 'LHandI4': 3 , | |
| 'LHandT1': 3 , | |
| 'LHandT2': 3 , | |
| 'LHandT3': 3 , | |
| 'LHandT4': 3 , | |
| 'RUpLeg': 3, | |
| 'RLeg': 3, | |
| 'RFoot': 3, | |
| 'RFootF': 3, | |
| 'RToeBase': 3, | |
| 'RToeBaseEnd': 3, | |
| 'LUpLeg': 3, | |
| 'LLeg': 3, | |
| 'LFoot': 3, | |
| 'LFootF': 3, | |
| 'LToeBase': 3, | |
| 'LToeBaseEnd': 3, | |
| }, | |
| "japanese_joints":{ | |
| 'Hips': [6,6], | |
| 'Spine': [6,12], | |
| 'Spine1': [6,18], | |
| 'Spine2': [6,24], | |
| 'Spine3': [6,30], | |
| 'Neck': [6,36], | |
| 'Neck1': [6,42], | |
| 'Head': [6,48], | |
| 'RShoulder': [6,54], | |
| 'RArm': [6,60], | |
| 'RArm1': [6,66], | |
| 'RHand': [6,72], | |
| 'RHandM1': [6,78], | |
| 'RHandM2': [6,84], | |
| 'RHandM3': [6,90], | |
| 'RHandR': [6,96], | |
| 'RHandR1': [6,102], | |
| 'RHandR2': [6,108], | |
| 'RHandR3': [6,114], | |
| 'RHandP': [6,120], | |
| 'RHandP1': [6,126], | |
| 'RHandP2': [6,132], | |
| 'RHandP3': [6,138], | |
| 'RHandI': [6,144], | |
| 'RHandI1': [6,150], | |
| 'RHandI2': [6,156], | |
| 'RHandI3': [6,162], | |
| 'RHandT1': [6,168], | |
| 'RHandT2': [6,174], | |
| 'RHandT3': [6,180], | |
| 'LShoulder': [6,186], | |
| 'LArm': [6,192], | |
| 'LArm1': [6,198], | |
| 'LHand': [6,204], | |
| 'LHandM1': [6,210], | |
| 'LHandM2': [6,216], | |
| 'LHandM3': [6,222], | |
| 'LHandR': [6,228], | |
| 'LHandR1': [6,234], | |
| 'LHandR2': [6,240], | |
| 'LHandR3': [6,246], | |
| 'LHandP': [6,252], | |
| 'LHandP1': [6,258], | |
| 'LHandP2': [6,264], | |
| 'LHandP3': [6,270], | |
| 'LHandI': [6,276], | |
| 'LHandI1': [6,282], | |
| 'LHandI2': [6,288], | |
| 'LHandI3': [6,294], | |
| 'LHandT1': [6,300], | |
| 'LHandT2': [6,306], | |
| 'LHandT3': [6,312], | |
| 'RUpLeg': [6,318], | |
| 'RLeg': [6,324], | |
| 'RFoot': [6,330], | |
| 'RFootF': [6,336], | |
| 'RToeBase': [6,342], | |
| 'LUpLeg': [6,348], | |
| 'LLeg': [6,354], | |
| 'LFoot': [6,360], | |
| 'LFootF': [6,366], | |
| 'LToeBase': [6,372],}, | |
| "yostar":{ | |
| 'Hips': [6,6], | |
| 'Spine': [3,9], | |
| 'Spine1': [3,12], | |
| 'Bone040': [3,15], | |
| 'Bone041': [3,18], | |
| 'Bone034': [3,21], | |
| 'Bone035': [3,24], | |
| 'Bone036': [3,27], | |
| 'Bone037': [3,30], | |
| 'Bone038': [3,33], | |
| 'Bone039': [3,36], | |
| 'RibbonL1': [3,39], | |
| 'RibbonL1_end': [3,42], | |
| 'Chest': [3,45], | |
| 'L_eri': [3,48], | |
| 'R_eri': [3,51], | |
| 'Neck': [3,54], | |
| 'Head': [3,57], | |
| 'Head_end': [3,60], | |
| 'RBackHair_1': [3,63], | |
| 'RBackHair_2': [3,66], | |
| 'RBackHair_3': [3,69], | |
| 'RBackHair_4': [3,72], | |
| 'RBackHair_end': [3,75], | |
| 'RFrontHair': [3,78], | |
| 'CFrontHair_1': [3,81], | |
| 'CFrontHair_2': [3,84], | |
| 'CFrontHair_3': [3,87], | |
| 'CFrontHair_emd': [3,90], | |
| 'LFrontHair_1': [3,93], | |
| 'LFrontHair_2': [3,96], | |
| 'LFrontHair_3': [3,99], | |
| 'LBackHair_1': [3,102], | |
| 'LBackHair_2': [3,105], | |
| 'LBackHair_3': [3,108], | |
| 'LBackHair_4': [3,111], | |
| 'LBackHair_end': [3,114], | |
| 'LSideHair_1': [3,117], | |
| 'LSideHair_2': [3,120], | |
| 'LSideHair_3': [3,123], | |
| 'LSideHair_4': [3,126], | |
| 'LSideHair_5': [3,129], | |
| 'LSideHair_6': [3,132], | |
| 'LSideHair_7': [3,135], | |
| 'LSideHair_end': [3,138], | |
| 'CBackHair_1': [3,141], | |
| 'CBackHair_2': [3,144], | |
| 'CBackHair_3': [3,147], | |
| 'CBackHair_4': [3,150], | |
| 'CBackHair_end': [3,153], | |
| 'RSideHair_1': [3,156], | |
| 'RSideHair_2': [3,159], | |
| 'RSideHair_3': [3,162], | |
| 'RSideHair_4': [3,165], | |
| 'RibbonR_1': [3,168], | |
| 'RibbonR_2': [3,171], | |
| 'RibbonR_3': [3,174], | |
| 'RibbonL_1': [3,177], | |
| 'RibbonL_2': [3,180], | |
| 'RibbonL_3': [3,183], | |
| 'LeftEye': [3,186], | |
| 'LeftEye_end': [3,189], | |
| 'RightEye': [3,192], | |
| 'RightEye_end': [3,195], | |
| 'LeftShoulder': [3,198], | |
| 'LeftArm': [3,201], | |
| 'LeftForearm': [3,204], | |
| 'LeftHand': [3,207], | |
| 'LeftHandThumb1': [3,210], | |
| 'LeftHandThumb2': [3,213], | |
| 'LeftHandThumb3': [3,216], | |
| 'LeftHandThumb_end': [3,219], | |
| 'LeftHandIndex1': [3,222], | |
| 'LeftHandIndex2': [3,225], | |
| 'LeftHandIndex3': [3,228], | |
| 'LeftHandIndex_end': [3,231], | |
| 'LeftHandMiddle1': [3,234], | |
| 'LeftHandMiddle2': [3,237], | |
| 'LeftHandMiddle3': [3,240], | |
| 'LeftHandMiddle_end': [3,243], | |
| 'LeftHandRing1': [3,246], | |
| 'LeftHandRing2': [3,249], | |
| 'LeftHandRing3': [3,252], | |
| 'LeftHandRing_end': [3,255], | |
| 'LeftHandPinky1': [3,258], | |
| 'LeftHandPinky2': [3,261], | |
| 'LeftHandPinky3': [3,264], | |
| 'LeftHandPinky_end': [3,267], | |
| 'RightShoulder': [3,270], | |
| 'RightArm': [3,273], | |
| 'RightForearm': [3,276], | |
| 'RightHand': [3,279], | |
| 'RightHandThumb1': [3,282], | |
| 'RightHandThumb2': [3,285], | |
| 'RightHandThumb3': [3,288], | |
| 'RightHandThumb_end': [3,291], | |
| 'RightHandIndex1': [3,294], | |
| 'RightHandIndex2': [3,297], | |
| 'RightHandIndex3': [3,300], | |
| 'RightHandIndex_end': [3,303], | |
| 'RightHandMiddle1': [3,306], | |
| 'RightHandMiddle2': [3,309], | |
| 'RightHandMiddle3': [3,312], | |
| 'RightHandMiddle_end': [3,315], | |
| 'RightHandRing1': [3,318], | |
| 'RightHandRing2': [3,321], | |
| 'RightHandRing3': [3,324], | |
| 'RightHandRing_end': [3,327], | |
| 'RightHandPinky1': [3,330], | |
| 'RightHandPinky2': [3,333], | |
| 'RightHandPinky3': [3,336], | |
| 'RightHandPinky_end': [3,339], | |
| 'RibbonR1': [3,342], | |
| 'RibbonR1_end': [3,345], | |
| 'RibbonR2': [3,348], | |
| 'RibbonR2_end': [3,351], | |
| 'RibbonL2': [3,354], | |
| 'RibbonL2_end': [3,357], | |
| 'LeftUpLeg': [3,360], | |
| 'LeftLeg': [3,363], | |
| 'LeftFoot': [3,366], | |
| 'LeftToe': [3,369], | |
| 'LeftToe_end': [3,372], | |
| 'RightUpLeg': [3,375], | |
| 'RightLEg': [3,378], | |
| 'RightFoot': [3,381], | |
| 'RightToe': [3,384], | |
| 'RightToe_end': [3,387], | |
| 'bone_skirtF00': [3, 390], | |
| 'bone_skirtF01': [3, 393], | |
| 'bone_skirtF02': [3, 396], | |
| 'bone_skirtF03': [3, 399], | |
| 'Bone020': [3, 402], | |
| 'Bone026': [3, 405], | |
| 'bone_skirtF_R_00': [3, 408], | |
| 'bone_skirtF_R_01': [3, 411], | |
| 'bone_skirtF_R_02': [3, 414], | |
| 'bone_skirtF_R_03': [3, 417], | |
| 'Bone019': [3, 420], | |
| 'Bone028': [3, 423], | |
| 'bone_skirtR00': [3, 426], | |
| 'bone_skirtR01': [3, 429], | |
| 'bone_skirtR02': [3, 432], | |
| 'bone_skirtR03': [3, 435], | |
| 'Bone018': [3, 438], | |
| 'Bone029': [3, 441], | |
| 'bone_skirtF_L_00': [3, 444], | |
| 'bone_skirtF_L_01': [3, 447], | |
| 'bone_skirtF_L_02': [3, 450], | |
| 'bone_skirtF_L_03': [3, 453], | |
| 'Bone021': [3, 456], | |
| 'Bone027': [3, 459], | |
| 'bone_skirtL00': [3, 462], | |
| 'bone_skirtL01': [3, 465], | |
| 'bone_skirtL02': [3, 468], | |
| 'bone_skirtL03': [3, 471], | |
| 'Bone022': [3, 474], | |
| 'Bone033': [3, 477], | |
| 'bone_skirtB_L_00': [3, 480], | |
| 'bone_skirtB_L_01': [3, 483], | |
| 'bone_skirtB_L_02': [3, 486], | |
| 'bone_skirtB_L_03': [3, 489], | |
| 'Bone023': [3, 492], | |
| 'Bone032': [3, 495], | |
| 'bone_skirtB00': [3, 498], | |
| 'bone_skirtB01': [3, 501], | |
| 'bone_skirtB02': [3, 504], | |
| 'bone_skirtB03': [3, 507], | |
| 'Bone024': [3, 510], | |
| 'Bone031': [3, 513], | |
| 'bone_skirtB_R_00': [3, 516], | |
| 'bone_skirtB_R_01': [3, 519], | |
| 'bone_skirtB_R_02': [3, 521], | |
| 'bone_skirtB_R_03': [3, 524], | |
| 'Bone025': [3, 527], | |
| 'Bone030': [3, 530], | |
| }, | |
| "yostar_fullbody_213":{ | |
| 'Hips': 3 , | |
| 'Spine': 3 , | |
| 'Spine1': 3 , | |
| 'Chest': 3 , | |
| 'L_eri': 3 , | |
| 'R_eri': 3 , | |
| 'Neck': 3 , | |
| 'Head': 3 , | |
| 'Head_end': 3 , | |
| 'LeftEye': 3, | |
| 'LeftEye_end': 3, | |
| 'RightEye': 3, | |
| 'RightEye_end': 3, | |
| 'LeftShoulder': 3, | |
| 'LeftArm': 3, | |
| 'LeftForearm': 3, | |
| 'LeftHand': 3, | |
| 'LeftHandThumb1': 3, | |
| 'LeftHandThumb2': 3, | |
| 'LeftHandThumb3': 3, | |
| 'LeftHandThumb_end': 3, | |
| 'LeftHandIndex1': 3, | |
| 'LeftHandIndex2': 3, | |
| 'LeftHandIndex3': 3, | |
| 'LeftHandIndex_end': 3, | |
| 'LeftHandMiddle1': 3, | |
| 'LeftHandMiddle2': 3, | |
| 'LeftHandMiddle3': 3, | |
| 'LeftHandMiddle_end': 3, | |
| 'LeftHandRing1': 3, | |
| 'LeftHandRing2': 3, | |
| 'LeftHandRing3': 3, | |
| 'LeftHandRing_end': 3, | |
| 'LeftHandPinky1': 3, | |
| 'LeftHandPinky2': 3, | |
| 'LeftHandPinky3': 3, | |
| 'LeftHandPinky_end':3, | |
| 'RightShoulder': 3, | |
| 'RightArm': 3, | |
| 'RightForearm': 3, | |
| 'RightHand': 3, | |
| 'RightHandThumb1': 3, | |
| 'RightHandThumb2': 3, | |
| 'RightHandThumb3': 3, | |
| 'RightHandThumb_end': 3, | |
| 'RightHandIndex1': 3, | |
| 'RightHandIndex2': 3, | |
| 'RightHandIndex3': 3, | |
| 'RightHandIndex_end': 3, | |
| 'RightHandMiddle1': 3, | |
| 'RightHandMiddle2': 3, | |
| 'RightHandMiddle3': 3, | |
| 'RightHandMiddle_end': 3, | |
| 'RightHandRing1': 3, | |
| 'RightHandRing2': 3, | |
| 'RightHandRing3': 3, | |
| 'RightHandRing_end': 3, | |
| 'RightHandPinky1': 3, | |
| 'RightHandPinky2': 3, | |
| 'RightHandPinky3': 3, | |
| 'RightHandPinky_end': 3, | |
| 'LeftUpLeg': 3, | |
| 'LeftLeg': 3, | |
| 'LeftFoot': 3, | |
| 'LeftToe': 3, | |
| 'LeftToe_end': 3, | |
| 'RightUpLeg': 3, | |
| 'RightLEg': 3, | |
| 'RightFoot': 3, | |
| 'RightToe': 3, | |
| 'RightToe_end': 3, | |
| }, | |
| "yostar_mainbody_48": { | |
| #'Hips': 3 , | |
| 'Spine': 3 , | |
| 'Spine1': 3 , | |
| 'Chest': 3 , | |
| 'L_eri': 3 , | |
| 'R_eri': 3 , | |
| 'Neck': 3 , | |
| 'Head': 3 , | |
| 'Head_end': 3 , | |
| 'LeftShoulder': 3, | |
| 'LeftArm': 3, | |
| 'LeftForearm': 3, | |
| 'LeftHand': 3, | |
| 'RightShoulder': 3, | |
| 'RightArm': 3, | |
| 'RightForearm': 3, | |
| 'RightHand': 3, | |
| }, | |
| "yostar_mainbody_69": { | |
| 'Hips': 3 , | |
| 'Spine': 3 , | |
| 'Spine1': 3 , | |
| 'Chest': 3 , | |
| 'L_eri': 3 , | |
| 'R_eri': 3 , | |
| 'Neck': 3 , | |
| 'Head': 3 , | |
| 'Head_end': 3 , | |
| 'LeftShoulder': 3, | |
| 'LeftArm': 3, | |
| 'LeftForearm': 3, | |
| 'LeftHand': 3, | |
| 'RightShoulder': 3, | |
| 'RightArm': 3, | |
| 'RightForearm': 3, | |
| 'RightHand': 3, | |
| 'LeftUpLeg': 3, | |
| 'LeftLeg': 3, | |
| 'LeftFoot': 3, | |
| 'RightUpLeg': 3, | |
| 'RightLEg': 3, | |
| 'RightFoot': 3, | |
| }, | |
| "yostar_upbody_168": { | |
| #'Hips': 3 , | |
| 'Spine': 3 , | |
| 'Spine1': 3 , | |
| 'Chest': 3 , | |
| 'L_eri': 3 , | |
| 'R_eri': 3 , | |
| 'Neck': 3 , | |
| 'Head': 3 , | |
| 'Head_end': 3 , | |
| 'LeftShoulder': 3, | |
| 'LeftArm': 3, | |
| 'LeftForearm': 3, | |
| 'LeftHand': 3, | |
| 'LeftHandThumb1': 3, | |
| 'LeftHandThumb2': 3, | |
| 'LeftHandThumb3': 3, | |
| 'LeftHandThumb_end': 3, | |
| 'LeftHandIndex1': 3, | |
| 'LeftHandIndex2': 3, | |
| 'LeftHandIndex3': 3, | |
| 'LeftHandIndex_end': 3, | |
| 'LeftHandMiddle1': 3, | |
| 'LeftHandMiddle2': 3, | |
| 'LeftHandMiddle3': 3, | |
| 'LeftHandMiddle_end': 3, | |
| 'LeftHandRing1': 3, | |
| 'LeftHandRing2': 3, | |
| 'LeftHandRing3': 3, | |
| 'LeftHandRing_end': 3, | |
| 'LeftHandPinky1': 3, | |
| 'LeftHandPinky2': 3, | |
| 'LeftHandPinky3': 3, | |
| 'LeftHandPinky_end':3, | |
| 'RightShoulder': 3, | |
| 'RightArm': 3, | |
| 'RightForearm': 3, | |
| 'RightHand': 3, | |
| 'RightHandThumb1': 3, | |
| 'RightHandThumb2': 3, | |
| 'RightHandThumb3': 3, | |
| 'RightHandThumb_end': 3, | |
| 'RightHandIndex1': 3, | |
| 'RightHandIndex2': 3, | |
| 'RightHandIndex3': 3, | |
| 'RightHandIndex_end': 3, | |
| 'RightHandMiddle1': 3, | |
| 'RightHandMiddle2': 3, | |
| 'RightHandMiddle3': 3, | |
| 'RightHandMiddle_end': 3, | |
| 'RightHandRing1': 3, | |
| 'RightHandRing2': 3, | |
| 'RightHandRing3': 3, | |
| 'RightHandRing_end': 3, | |
| 'RightHandPinky1': 3, | |
| 'RightHandPinky2': 3, | |
| 'RightHandPinky3': 3, | |
| 'RightHandPinky_end': 3, | |
| }, | |
| "spine_neck_141":{ | |
| 'Spine': 3 , | |
| 'Neck': 3 , | |
| 'Neck1': 3 , | |
| 'RShoulder': 3 , | |
| 'RArm': 3 , | |
| 'RArm1': 3 , | |
| 'RHand': 3 , | |
| 'RHandM1': 3 , | |
| 'RHandM2': 3 , | |
| 'RHandM3': 3 , | |
| 'RHandR': 3 , | |
| 'RHandR1': 3 , | |
| 'RHandR2': 3 , | |
| 'RHandR3': 3 , | |
| 'RHandP': 3 , | |
| 'RHandP1': 3 , | |
| 'RHandP2': 3 , | |
| 'RHandP3': 3 , | |
| 'RHandI': 3 , | |
| 'RHandI1': 3 , | |
| 'RHandI2': 3 , | |
| 'RHandI3': 3 , | |
| 'RHandT1': 3 , | |
| 'RHandT2': 3 , | |
| 'RHandT3': 3 , | |
| 'LShoulder': 3 , | |
| 'LArm': 3 , | |
| 'LArm1': 3 , | |
| 'LHand': 3 , | |
| 'LHandM1': 3 , | |
| 'LHandM2': 3 , | |
| 'LHandM3': 3 , | |
| 'LHandR': 3 , | |
| 'LHandR1': 3 , | |
| 'LHandR2': 3 , | |
| 'LHandR3': 3 , | |
| 'LHandP': 3 , | |
| 'LHandP1': 3 , | |
| 'LHandP2': 3 , | |
| 'LHandP3': 3 , | |
| 'LHandI': 3 , | |
| 'LHandI1': 3 , | |
| 'LHandI2': 3 , | |
| 'LHandI3': 3 , | |
| 'LHandT1': 3 , | |
| 'LHandT2': 3 , | |
| 'LHandT3': 3 ,}, | |
| } | |
| class FIDCalculator(object): | |
| ''' | |
| todo | |
| ''' | |
| def __init__(self): | |
| self.gt_rot = None # pandas dataframe for n frames * joints * 6 | |
| self.gt_pos = None # n frames * (joints + 13) * 3 | |
| self.op_rot = None # pandas dataframe for n frames * joints * 6 | |
| self.op_pos = None # n frames * (joints + 13) * 3 | |
| def load(self, path, load_type, save_pos=False): | |
| ''' | |
| select gt or op for load_type | |
| ''' | |
| parser = BVHParser() | |
| parsed_data = parser.parse(path) | |
| if load_type == 'gt': | |
| self.gt_rot = parsed_data.values | |
| elif load_type == 'op': | |
| self.op_rot = parsed_data.values | |
| else: print('error, select gt or op for load_type') | |
| if save_pos: | |
| mp = MocapParameterizer('position') | |
| positions = mp.fit_transform([parsed_data]) | |
| if load_type == 'gt': | |
| self.gt_pos = positions[0].values | |
| elif load_type == 'op': | |
| self.op_pos = positions[0].values | |
| else: print('error, select gt or op for load_type') | |
| def _joint_selector(self, selected_joints, ori_data): | |
| selected_data = pd.DataFrame(columns=[]) | |
| for joint_name in selected_joints: | |
| selected_data[joint_name] = ori_data[joint_name] | |
| return selected_data.to_numpy() | |
| def cal_vol(self, dtype): | |
| if dtype == 'pos': | |
| gt = self.gt_pos | |
| op = self.op_pos | |
| else: | |
| gt = self.gt_rot | |
| op = self.op_rot | |
| gt_v = gt.to_numpy()[1:, :] - gt.to_numpy()[0:-1, :] | |
| op_v = op.to_numpy()[1:, :] - op.to_numpy()[0:-1, :] | |
| if dtype == 'pos': | |
| self.gt_vol_pos = pd.DataFrame(gt_v, columns = gt.columns.tolist()) | |
| self.op_vol_pos = pd.DataFrame(op_v, columns = gt.columns.tolist()) | |
| else: | |
| self.gt_vol_rot = pd.DataFrame(gt_v, columns = gt.columns.tolist()) | |
| self.op_vol_rot = pd.DataFrame(op_v, columns = gt.columns.tolist()) | |
| def frechet_distance(samples_A, samples_B): | |
| A_mu = np.mean(samples_A, axis=0) | |
| A_sigma = np.cov(samples_A, rowvar=False) | |
| B_mu = np.mean(samples_B, axis=0) | |
| B_sigma = np.cov(samples_B, rowvar=False) | |
| try: | |
| frechet_dist = FIDCalculator.calculate_frechet_distance(A_mu, A_sigma, B_mu, B_sigma) | |
| except ValueError: | |
| frechet_dist = 1e+10 | |
| return frechet_dist | |
| def calculate_frechet_distance(mu1, sigma1, mu2, sigma2, eps=1e-6): | |
| """ from https://github.com/mseitzer/pytorch-fid/blob/master/fid_score.py """ | |
| """Numpy implementation of the Frechet Distance. | |
| The Frechet distance between two multivariate Gaussians X_1 ~ N(mu_1, C_1) | |
| and X_2 ~ N(mu_2, C_2) is | |
| d^2 = ||mu_1 - mu_2||^2 + Tr(C_1 + C_2 - 2*sqrt(C_1*C_2)). | |
| Stable version by Dougal J. Sutherland. | |
| Params: | |
| -- mu1 : Numpy array containing the activations of a layer of the | |
| inception net (like returned by the function 'get_predictions') | |
| for generated samples. | |
| -- mu2 : The sample mean over activations, precalculated on an | |
| representative data set. | |
| -- sigma1: The covariance matrix over activations for generated samples. | |
| -- sigma2: The covariance matrix over activations, precalculated on an | |
| representative data set. | |
| Returns: | |
| -- : The Frechet Distance. | |
| """ | |
| mu1 = np.atleast_1d(mu1) | |
| mu2 = np.atleast_1d(mu2) | |
| #print(mu1[0], mu2[0]) | |
| sigma1 = np.atleast_2d(sigma1) | |
| sigma2 = np.atleast_2d(sigma2) | |
| #print(sigma1[0], sigma2[0]) | |
| assert mu1.shape == mu2.shape, \ | |
| 'Training and test mean vectors have different lengths' | |
| assert sigma1.shape == sigma2.shape, \ | |
| 'Training and test covariances have different dimensions' | |
| diff = mu1 - mu2 | |
| # Product might be almost singular | |
| covmean, _ = linalg.sqrtm(sigma1.dot(sigma2), disp=False) | |
| #print(diff, covmean[0]) | |
| if not np.isfinite(covmean).all(): | |
| msg = ('fid calculation produces singular product; ' | |
| 'adding %s to diagonal of cov estimates') % eps | |
| print(msg) | |
| offset = np.eye(sigma1.shape[0]) * eps | |
| covmean = linalg.sqrtm((sigma1 + offset).dot(sigma2 + offset)) | |
| # Numerical error might give slight imaginary component | |
| if np.iscomplexobj(covmean): | |
| if not np.allclose(np.diagonal(covmean).imag, 0, atol=1e-3): | |
| m = np.max(np.abs(covmean.imag)) | |
| raise ValueError('Imaginary component {}'.format(m)) | |
| covmean = covmean.real | |
| tr_covmean = np.trace(covmean) | |
| return (diff.dot(diff) + np.trace(sigma1) + | |
| np.trace(sigma2) - 2 * tr_covmean) | |
| def calculate_fid(self, cal_type, joint_type, high_level_opt): | |
| if cal_type == 'pos': | |
| if self.gt_pos.shape != self.op_pos.shape: | |
| min_val = min(self.gt_pos.shape[0],self.op_pos.shape[0]) | |
| gt = self.gt_pos[:min_val] | |
| op = self.op_pos[:min_val] | |
| else: | |
| gt = self.gt_pos | |
| op = self.op_pos | |
| full_body = gt.columns.tolist() | |
| elif cal_type == 'rot': | |
| if self.gt_rot.shape != self.op_rot.shape: | |
| min_val = min(self.gt_rot.shape[0],self.op_rot.shape[0]) | |
| gt = self.gt_rot[:min_val] | |
| op = self.op_rot[:min_val] | |
| else: | |
| gt = self.gt_rot | |
| op = self.op_rot | |
| full_body_with_offset = gt.columns.tolist() | |
| full_body = [o for o in full_body_with_offset if ('position' not in o)] | |
| elif cal_type == 'pos_vol': | |
| assert self.gt_vol_pos.shape == self.op_vol_pos.shape | |
| gt = self.gt_vol_pos | |
| op = self.op_vol_pos | |
| full_body_with_offset = gt.columns.tolist() | |
| full_body = gt.columns.tolist() | |
| elif cal_type == 'rot_vol': | |
| assert self.gt_vol_rot.shape == self.op_vol_rot.shape | |
| gt = self.gt_vol_rot | |
| op = self.op_vol_rot | |
| full_body_with_offset = gt.columns.tolist() | |
| full_body = [o for o in full_body_with_offset if ('position' not in o)] | |
| #print(f'full_body contains {len(full_body)//3} joints') | |
| if joint_type == 'full_upper_body': | |
| selected_body = [o for o in full_body if ('Leg' not in o) and ('Foot' not in o) and ('Toe' not in o)] | |
| elif joint_type == 'upper_body': | |
| selected_body = [o for o in full_body if ('Hand' not in o) and ('Leg' not in o) and ('Foot' not in o) and ('Toe' not in o)] | |
| elif joint_type == 'fingers': | |
| selected_body = [o for o in full_body if ('Hand' in o)] | |
| elif joint_type == 'indivdual': | |
| pass | |
| else: print('error, plz select correct joint type') | |
| #print(f'calculate fid for {len(selected_body)//3} joints') | |
| gt = self._joint_selector(selected_body, gt) | |
| op = self._joint_selector(selected_body, op) | |
| if high_level_opt == 'fid': | |
| fid = FIDCalculator.frechet_distance(gt, op) | |
| return fid | |
| elif high_level_opt == 'var': | |
| var_gt = gt.var() | |
| var_op = op.var() | |
| return var_gt, var_op | |
| elif high_level_opt == 'mean': | |
| mean_gt = gt.mean() | |
| mean_op = op.mean() | |
| return mean_gt, mean_op | |
| else: return 0 | |
| def result2target_vis(pose_version, res_bvhlist, save_path, demo_name, verbose=True): | |
| if "trinity" in pose_version: | |
| ori_list = joints_list[pose_version[6:-4]] | |
| target_list = joints_list[pose_version[6:]] | |
| file_content_length = 336 | |
| elif "beat" in pose_version or "spine_neck_141" in pose_version: | |
| ori_list = joints_list["beat_joints"] | |
| target_list = joints_list["spine_neck_141"] | |
| file_content_length = 431 | |
| elif "yostar" in pose_version: | |
| ori_list = joints_list["yostar"] | |
| target_list = joints_list[pose_version] | |
| file_content_length = 1056 | |
| else: | |
| ori_list = joints_list["japanese_joints"] | |
| target_list = joints_list[pose_version] | |
| file_content_length = 366 | |
| bvh_files_dirs = sorted(glob.glob(f'{res_bvhlist}*.bvh'), key=str) | |
| #test_seq_list = os.list_dir(demo_name).sort() | |
| counter = 0 | |
| if not os.path.exists(save_path): | |
| os.makedirs(save_path) | |
| for i, bvh_file_dir in enumerate(bvh_files_dirs): | |
| short_name = bvh_file_dir.split("/")[-1][11:] | |
| #print(short_name) | |
| wirte_file = open(os.path.join(save_path, f'res_{short_name}'),'w+') | |
| with open(f"{demo_name}{short_name}",'r') as pose_data_pre: | |
| pose_data_pre_file = pose_data_pre.readlines() | |
| for j, line in enumerate(pose_data_pre_file[0:file_content_length]): | |
| wirte_file.write(line) | |
| offset_data = pose_data_pre_file[file_content_length] | |
| offset_data = np.fromstring(offset_data, dtype=float, sep=' ') | |
| wirte_file.close() | |
| wirte_file = open(os.path.join(save_path, f'res_{short_name}'),'r') | |
| ori_lines = wirte_file.readlines() | |
| with open(bvh_file_dir, 'r') as pose_data: | |
| pose_data_file = pose_data.readlines() | |
| ori_lines[file_content_length-2] = 'Frames: ' + str(len(pose_data_file)-1) + '\n' | |
| wirte_file.close() | |
| wirte_file = open(os.path.join(save_path, f'res_{short_name}'),'w+') | |
| wirte_file.writelines(i for i in ori_lines[:file_content_length]) | |
| wirte_file.close() | |
| with open(os.path.join(save_path, f'res_{short_name}'),'a+') as wirte_file: | |
| with open(bvh_file_dir, 'r') as pose_data: | |
| data_each_file = [] | |
| pose_data_file = pose_data.readlines() | |
| for j, line in enumerate(pose_data_file): | |
| if not j: | |
| pass | |
| else: | |
| data = np.fromstring(line, dtype=float, sep=' ') | |
| data_rotation = offset_data.copy() | |
| for iii, (k, v) in enumerate(target_list.items()): # here is 147 rotations by 3 | |
| #print(data_rotation[ori_list[k][1]-v:ori_list[k][1]], data[iii*3:iii*3+3]) | |
| data_rotation[ori_list[k][1]-v:ori_list[k][1]] = data[iii*3:iii*3+3] | |
| data_each_file.append(data_rotation) | |
| for line_data in data_each_file: | |
| line_data = np.array2string(line_data, max_line_width=np.inf, precision=6, suppress_small=False, separator=' ') | |
| wirte_file.write(line_data[1:-2]+'\n') | |
| counter += 1 | |
| if verbose: | |
| logger.info('data_shape:', data_rotation.shape, 'process:', counter, '/', len(bvh_files_dirs)) |