def compute_feature_4_per_frame(frame): jid = 3 head = np.asarray([frame[3 * jid], frame[3 * jid + 1], frame[3 * jid + 2]]) jid = 0 root = np.asarray([frame[3 * jid], frame[3 * jid + 1], frame[3 * jid + 2]]) up = np.asarray([0.0, 1.0, 0.0]) angle = angle_between(head - root, up) return angle
def compute_feature_3_per_frame(frame): jid = 4 r_shoulder = np.asarray([frame[3 * jid], frame[3 * jid + 1], frame[3 * jid + 2]]) jid = 2 neck = np.asarray([frame[3 * jid], frame[3 * jid + 1], frame[3 * jid + 2]]) jid = 7 l_shoulder = np.asarray([frame[3 * jid], frame[3 * jid + 1], frame[3 * jid + 2]]) angle = angle_between(neck - l_shoulder, r_shoulder - l_shoulder) return angle
def compute_feature_5_per_frame(frame): jid = 3 head = np.asarray([frame[3 * jid], frame[3 * jid + 1], frame[3 * jid + 2]]) jid = 2 neck = np.asarray([frame[3 * jid], frame[3 * jid + 1], frame[3 * jid + 2]]) jid = 1 spine = np.asarray([frame[3 * jid], frame[3 * jid + 1], frame[3 * jid + 2]]) angle = angle_between(head - neck, spine - neck) return angle