vchoutas / smplx

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

Copying SMPL and FLAME parameters to SMPL-X #122

Open minhnhatvt opened 2 years ago

minhnhatvt commented 2 years ago

Hi, I want to know whether just copying the parameters of SMPL (pose) and FLAME (pose and expression) is a valid way to animate SMPL-X meshes (the shape is kept intact)?

199ChenNuo commented 2 years ago

I am also very concerned about this issue. I also have FLAME and SMPL parameters and would like to merge them into SMPL-X, but haven't tried it yet and don't know how to do it. (FLAME parameters are not derived from images, so I cannot fit SMPL-X from images directly). It would be exciting if there is an update! Thanks! :)

MichaelJBlack commented 2 years ago

FLAME jaw pose and expression parameters should simply transfer to SMPL-X. The shape space of FLAME won't transfer - you need to use the SMPL-X shape. SMPL pose parameters cannot be directly applied to SMPL-X. We provide code to convert between all formats. See: https://github.com/vchoutas/smplx/blob/master/transfer_model/docs/transfer.md

199ChenNuo commented 2 years ago

FLAME jaw pose and expression parameters should simply transfer to SMPL-X. The shape space of FLAME won't transfer - you need to use the SMPL-X shape. SMPL pose parameters cannot be directly applied to SMPL-X. We provide code to convert between all formats. See: https://github.com/vchoutas/smplx/blob/master/transfer_model/docs/transfer.md

Thanks a lot for replying! Your reply helped me a lot! ;)

minhnhatvt commented 2 years ago

Thanks for the answer. Would you mind if I ask one more question? If I already had a set of 3D joints coordinates (with known correspondence) and a piece of code that fits the SMPL parameters into these 3D joints. Can I directly fit the SMPL-X parameters using this code and by just only changing the joint index according to SMPL-X instead of SMPL (and the SMPL-X forward layer)? And would it result in different parameters but they have the same semantic meaning (such as raising the hand)? I'm currently interested in the pose parameters only (i think the pose parameters of SMPL/SMPLX should be the same since they are based on Linear Blend Skinning, so the same joint rotations should result in the same poses).

199ChenNuo commented 2 years ago

Hi, I want to know whether just copying the parameters of SMPL (pose) and FLAME (pose and expression) is a valid way to animate SMPL-X meshes (the shape is kept intact)?

Sorry for bothering you. I have a question, if I got FLAME parameters, how do I copy them into an SMPL-X model? Are there any functions that I can directly assign SMPL-X parameters and get a SMPL-X mesh?

minhnhatvt commented 2 years ago

Sorry for bothering you. I have a question, if I got FLAME parameters, how do I copy them into an SMPL-X model? Are there any functions that I can directly assign SMPL-X parameters and get a SMPL-X mesh?

Hello, to do that you need to pass the expression and jaw pose as the input to the forward function, you can refer to the SMPLX forward function here: https://github.com/vchoutas/smplx/blob/5fa20519735cceda19afed0beeabd53caef711cd/smplx/body_models.py#L1319 Note that this will only affect the head region and the body is still in T pose.

199ChenNuo commented 2 years ago

Thanks!!!