* add box visualization * add box visualization and change thresholds for pif preprocessing * refactor printer * change default values * change confidence definition * remove redundant function * add debug plot in preprocessing * add task error in evaluation * add horizontal flipping * add evaluation table * add evaluation table with verbosity * add tabulate requirement and command line option verbose * refactor evaluate * add task error with mean absolute deviation * add stereo baseline * integrate stereo baseline * refactor factory preprocessing * add stereo command for evaluation * fix category bug * add interquartile range for stereo * use left tt for translation * refactor stereo functions * remvove redundant functions * change names of constants * add pixel error as function of depth * fix bug on output directory * add now time at the moment of saving * add person sitting category * remove box in pifpaf predictions * fix printing name * add printing of number of matches * add cyclist category * fix assertion error * add travis file * working eval * working eval * change source file * renaming * add pylint file * fix pylint * fix import * add pyc files in gitignore * pylint fix * pylint fix * add pytest cache * update readme * fix pylint * fix pylint * add travis file * add pylint in pip install * fix pylint
55 lines
1.4 KiB
Python
55 lines
1.4 KiB
Python
|
|
import numpy as np
|
|
|
|
|
|
COCO_KEYPOINTS = [
|
|
'nose', # 1
|
|
'left_eye', # 2
|
|
'right_eye', # 3
|
|
'left_ear', # 4
|
|
'right_ear', # 5
|
|
'left_shoulder', # 6
|
|
'right_shoulder', # 7
|
|
'left_elbow', # 8
|
|
'right_elbow', # 9
|
|
'left_wrist', # 10
|
|
'right_wrist', # 11
|
|
'left_hip', # 12
|
|
'right_hip', # 13
|
|
'left_knee', # 14
|
|
'right_knee', # 15
|
|
'left_ankle', # 16
|
|
'right_ankle', # 17
|
|
]
|
|
|
|
|
|
HFLIP = {
|
|
'nose': 'nose',
|
|
'left_eye': 'right_eye',
|
|
'right_eye': 'left_eye',
|
|
'left_ear': 'right_ear',
|
|
'right_ear': 'left_ear',
|
|
'left_shoulder': 'right_shoulder',
|
|
'right_shoulder': 'left_shoulder',
|
|
'left_elbow': 'right_elbow',
|
|
'right_elbow': 'left_elbow',
|
|
'left_wrist': 'right_wrist',
|
|
'right_wrist': 'left_wrist',
|
|
'left_hip': 'right_hip',
|
|
'right_hip': 'left_hip',
|
|
'left_knee': 'right_knee',
|
|
'right_knee': 'left_knee',
|
|
'left_ankle': 'right_ankle',
|
|
'right_ankle': 'left_ankle',
|
|
}
|
|
|
|
|
|
def transform_keypoints(keypoints, mode):
|
|
|
|
assert mode == 'flip', "mode not recognized"
|
|
kps = np.array(keypoints)
|
|
dic_kps = {key: kps[:, :, idx] for idx, key in enumerate(COCO_KEYPOINTS)}
|
|
kps_hflip = np.array([dic_kps[value] for key, value in HFLIP.items()])
|
|
kps_hflip = np.transpose(kps_hflip, (1, 2, 0))
|
|
return kps_hflip.tolist()
|