Open XueYing126 opened 7 months ago
Hi @XueYing126
Did you find a workaround for this? I tried using the conversion code but it is way too slow, estimated to take years (four, to be exact) on my collected dataset.
Also, I am wondering how/if you converted the SMPLX body pose (21x3) to the SMPL body pose (23x3)? i.e., getting the SMPL hand joint pose from the SMPLX hand poses.
Thanks.
Hi @LeyangWen
If you add ftol: 1e-10 to config_files/smplx2smpl.yaml, https://github.com/XueYing126/smplx2smpl-shape/blob/c88c67d0e52229c3a854a16cf7eed18366e58de9/config_files/smplx2smpl.yaml#L15 it will make the run time 10, or even 20 times faster. (because optimization stops before iterations stops ) This will gives you less than 2 months, and if you parallel process... maybe less than a week ;)
As far as I understand, after you run the : python -m transfer_model --exp-cfg config_files/smplx2smpl.yaml you will have the SMPL pose you need at: var_dict['body_pose']
Good luck!
Thanks @XueYing126, changing the ftol
works wonders. Also, I increased the batch_size
to 128, which also dramatically speed things up. The default batch_size
was set to 1. Now,
I randomly selected a few frames to compare the mesh outputs and they still look good after the changes.
With the changes, a GPU server, downsampling, and parallelization, the expected time is down from 4 years to ~4 days.
Thanks again :+1:
@XueYing126 @LeyangWen Did you guys test out the betas given by transfer model for smplx->smpl? The obj file it created seems correct, but if you use the betas and pose parameter from pkl file to recreate the mesh using smpl, the result is completely differnet body shape. Meaning the betas value are quite incorrect.
@BukuBukuChagma Hi, Yes I used beta and pose to create the mesh and it seems correct. Make sure you set the gender correctly.
Hi, thank you for the great work!
I saw that you mention "the SMPL and SMPL-X shape spaces are NOT compatible, since each model is the result of a different training process. " Can I ask if SMPL-X beta (use first 10) could approximate the SMPL beta (10, )? If not, what is the main reason? the first 10 PCA should be similar, right? Is the dataset that they were trained on are very different?
Is there an easier way to get smpl-beta from smplx-beta?
Thanks a lot!