mirror of https://github.com/vladmandic/human
62 lines
2.2 KiB
JavaScript
62 lines
2.2 KiB
JavaScript
exports.partNames = [
|
|
'nose', 'leftEye', 'rightEye', 'leftEar', 'rightEar', 'leftShoulder',
|
|
'rightShoulder', 'leftElbow', 'rightElbow', 'leftWrist', 'rightWrist',
|
|
'leftHip', 'rightHip', 'leftKnee', 'rightKnee', 'leftAnkle', 'rightAnkle',
|
|
];
|
|
exports.NUM_KEYPOINTS = exports.partNames.length;
|
|
exports.partIds = exports.partNames.reduce((result, jointName, i) => {
|
|
result[jointName] = i;
|
|
return result;
|
|
}, {});
|
|
const connectedPartNames = [
|
|
['leftHip', 'leftShoulder'], ['leftElbow', 'leftShoulder'],
|
|
['leftElbow', 'leftWrist'], ['leftHip', 'leftKnee'],
|
|
['leftKnee', 'leftAnkle'], ['rightHip', 'rightShoulder'],
|
|
['rightElbow', 'rightShoulder'], ['rightElbow', 'rightWrist'],
|
|
['rightHip', 'rightKnee'], ['rightKnee', 'rightAnkle'],
|
|
['leftShoulder', 'rightShoulder'], ['leftHip', 'rightHip'],
|
|
];
|
|
/*
|
|
* Define the skeleton. This defines the parent->child relationships of our
|
|
* tree. Arbitrarily this defines the nose as the root of the tree, however
|
|
* since we will infer the displacement for both parent->child and
|
|
* child->parent, we can define the tree root as any node.
|
|
*/
|
|
exports.poseChain = [
|
|
['nose', 'leftEye'], ['leftEye', 'leftEar'], ['nose', 'rightEye'],
|
|
['rightEye', 'rightEar'], ['nose', 'leftShoulder'],
|
|
['leftShoulder', 'leftElbow'], ['leftElbow', 'leftWrist'],
|
|
['leftShoulder', 'leftHip'], ['leftHip', 'leftKnee'],
|
|
['leftKnee', 'leftAnkle'], ['nose', 'rightShoulder'],
|
|
['rightShoulder', 'rightElbow'], ['rightElbow', 'rightWrist'],
|
|
['rightShoulder', 'rightHip'], ['rightHip', 'rightKnee'],
|
|
['rightKnee', 'rightAnkle'],
|
|
];
|
|
exports.connectedPartIndices = connectedPartNames.map(([jointNameA, jointNameB]) => ([exports.partIds[jointNameA], exports.partIds[jointNameB]]));
|
|
exports.partChannels = [
|
|
'left_face',
|
|
'right_face',
|
|
'right_upper_leg_front',
|
|
'right_lower_leg_back',
|
|
'right_upper_leg_back',
|
|
'left_lower_leg_front',
|
|
'left_upper_leg_front',
|
|
'left_upper_leg_back',
|
|
'left_lower_leg_back',
|
|
'right_feet',
|
|
'right_lower_leg_front',
|
|
'left_feet',
|
|
'torso_front',
|
|
'torso_back',
|
|
'right_upper_arm_front',
|
|
'right_upper_arm_back',
|
|
'right_lower_arm_back',
|
|
'left_lower_arm_front',
|
|
'left_upper_arm_front',
|
|
'left_upper_arm_back',
|
|
'left_lower_arm_back',
|
|
'right_hand',
|
|
'right_lower_arm_front',
|
|
'left_hand',
|
|
];
|