yohanshin/WHAM

Questions about rebuilding data into motion data

EndeavoringYoon opened this issue · 1 comments

Hi, I'm trying to extract features of each position and orientation of joint from SMPL output, and I have few questions to ask.

What I'm doing is getting appropriate joint position and orientation for 24 SMPL joints, and I realized that the output of get_output code in smpl.py gives us (number of frame * number of joints * 3) array.
When I tried these codes, I earned same shape of array:
verts_positions=output.vertices joint_position = torch.matmul(self.J_regressor_wham.unsqueeze(0), verts_positions)

Since I understand SMPL has 24 joints, but I am curious about what the remaining 7 data points represent.
Thank you.

It says, unlike standard J_regressor of SMPL returns 24 joints from vertices, the customized matrix J_regressor_wham returns 31 joints to help more joints, and I'm not sure but you can maybe check this code
"""
import plotly.graph_objects as go
from joblib import load

file = load('/yout path to downloaded wham-emdb-eval-parsed data/emdb_2_vit.pth')

file['init_kp3d'][0][0].shape

coordinates = file['init_kp3d'][0][0]

x, y, z = zip(*coordinates)

fig = go.Figure(data=[go.Scatter3d(x=x, y=y, z=z, mode='markers')])

fig.update_layout(title="3D Scatter Plot", scene=dict(
xaxis_title='X AXIS',
yaxis_title='Y AXIS',
zaxis_title='Z AXIS'))

fig.show()
"""

for check init_kp3d (related to joints?). Maybe, J_regressor_eval could be used, but I think two would be similar. I can see more joints on face.