vchoutas / smplx

SMPL-X
https://smpl-x.is.tue.mpg.de/
Other
1.73k stars 301 forks source link

3D joints/Skeleton plot in 3D space #157

Closed Dipankar1997161 closed 1 year ago

Dipankar1997161 commented 1 year ago

Hey @vchoutas I clarified my concepts and used Humannerf for my own 3d reconstruction and your parameters, helped a lot in this. Thank you for the work.

There's one final thing that I have to achieve which is plotting the 3d joints. how can I plot the 3d key points/skeleton in the 3d space? here is a sample file shape on one h36m image. I got this from ROMP and I am trying to compare with the ones from SMPLX

The shape of the array under key "cam" is (1, 3) The shape of the array under key "global_orient" is (1, 3) The shape of the array under key "body_pose" is (1, 69) The shape of the array under key "smpl_betas" is (1, 10) The shape of the array under key "smpl_thetas" is (1, 72) The shape of the array under key "center_preds" is (1, 2) The shape of the array under key "center_confs" is (1, 1) The shape of the array under key "cam_trans" is (1, 3) The shape of the array under key "verts" is (1, 6890, 3) The shape of the array under key "joints" is (1, 71, 3) The shape of the array under key "pj2d_org" is (1, 71, 2)

i believe, the verts is the j_regressor, smpl_thetas represent the rotation of the smpl joints, and betas are betas. the cam is "Rh" and the cam_trans is "Th" in smpl format.

but I wonder, what are these joints and body_pose?? usually, smpl has a 24x3 shape so accordingly, the body_pose should be the 3d smpl joints which can be used to plot them into 3d space.

The body_pose and Joints is something that I am not understanding.

My main goal is to plot 3d smpl joints/skeletons in the 3d space without the mesh. Any referrals to how I can achieve this? Are the parameters mentioned above enough to plot the 3d skeleton?

Would await for your response. Thank you once again

MOHeller commented 1 year ago

Hey there, I think these are rather more ROMP than SMPLX questions, but you seem to have posted there, too. It would seem though that "verts" are indeed the coordinates of the vertices of the predicted SMPL mesh. Taking these, and the appropriate joint regressor, you can easily predict the 3D joint locations (no idea what the ROMP "joints" (71,3) are). Looking at the body_pose, these would seem to be the 23 sets of axis-angle representations of the joint poses.

ghx2757 commented 9 months ago

Hello, this issue is also bothering me. How did you solve it? Sincerely hope to receive your guidance. @Dipankar1997161

Dipankar1997161 commented 9 months ago

Hello, this issue is also bothering me. How did you solve it? Sincerely hope to receive your guidance. @Dipankar1997161

I creates a skeleton tree, connections, used the SMPL joints and wrote my own function to plot both 3d keypoints in 3D space

ghx2757 commented 9 months ago

Thank you for your reply. How do the bone points in the SMPLX model map to the human body? I did not find it in the official documents or engineering. Looking forward to your guidance again. @Dipankar1997161

Dipankar1997161 commented 9 months ago

Thank you for your reply. How do the bone points in the SMPLX model map to the human body? I did not find it in the official documents or engineering. Looking forward to your guidance again. @Dipankar1997161

By mapp8ng did you mean skeleton tree and joint locations? You can find such info all over the internet. Check thr original SMPL-x repo, they have issues raised there for this

LIRENDA621 commented 5 months ago

你好,这个问题也困扰着我。你是怎么解决的?真诚希望得到您的指导。@Dipankar1997161

我创建了一个骨架树、连接、使用了 SMPL 关节并编写了自己的函数来在 3D 空间中绘制两个 3D 关键点

Hello, can you provide relevant code for my reference? Thank you very much!