-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
About the joints used in the data #2
Comments
The joints and their order are listed in Table 2 in the attached article. There are 39 joints for Vicon (39x3 = 117 dimensions) and 22 joints for Kinect. (22x3 = 66 dimensions). For each joint the measurements included 3 positions (x,y,z) and 3 angles (Euler angles). In this work, we used only the joint angles (3 per joint). |
Table 2 list 22 Kinect joints but from the code |
Now I realized that there was a confusion. The experiments for the Kinect sensor are based on the KIMORE dataset. They used different code for data capturing, so you need to check their paper for the exact description of the joints. They are different from the joints listed in Table 2 for Kinect. For Vicon there are 12/18/18/21/21 dimensions for each body part, which means that there are 4/6/6/7/7 joints used, that is in total there are 30 joints used out of the 39 joints in total. We didn't use the data for joints of the head, left head, right head, etc, and we also didn't use some of the joints which have absolute measurements in the table. E.g, for the trunk we used X_trunk = np.concatenate((x[:,:,15:18], x[:,:,18:21], x[:,:,24:27], x[:,:,27:30]), axis = 2), which corresponds to the 6, 8, 9 and 10 joints in Table 2, that is left and right clavicle, left and right torax. Liao et al (2020) - A Deep Learning Framework for Assessing Physical Rehabilitation Exercises.pdf |
Here is some additional information about the KIMORE dataset. The joint angles are represented as quaternions, that is, for each joint there are 4 values. This means that the trunk contains the information for 4 joints, seq_input_trunk = Lambda(lambda x: x[:, :, 0:16])(seq_input). The data for 22 joints (88 dimensions) was considered, although the full dataset includes the measurements for 25 joints. |
thanks for that information. Can you tell me why just use the angle but not the angle + position? I noticed that the 39 joints of vicon angle and icon position don't have a correspondence, what is this for? |
Joint positions are tricky to deal with because we all have different lengths of arms, legs, body. This affect the joint positions of different movements. Joint angles are consistent for all subjects. We can use joint positions if we normalize the data, for instance, we can make the lengths of each body part to 1, or something similar. |
For the Vicon one, there are 117 dimensions(30 joints) used, and for the Kinect one there are 88 dimensions(22 joints) used, can you tell me which joints are selected here? I could only find this kind of pic from the Internet, but seems like have different joints number from your research.
![image](https://user-images.githubusercontent.com/62105279/170174430-0a4ece03-41a4-42ad-9daa-7284bf5b5cd2.png)
The text was updated successfully, but these errors were encountered: