MarilynKeller / SMPL2AddBiomechanics

Enable inputting a SMPL sequence into AddBiomechanics to fit an OpenSim skeleton model to the sequence.
Other
53 stars 2 forks source link

Can this code be used to fit the BSM skeleton to a SMPLX sequence? #2

Open MarilynKeller opened 3 months ago

MarilynKeller commented 3 months ago

(Question got by mail, added here for reference.)

MarilynKeller commented 3 months ago

So to fit BSM to SMPL, we define where the BSM markers are on the SMPL mesh so that AddBiomechanics can find the BSM parameters that minimise the distance between the BSM markers and the corresponding SMPL vertices : ||BSM_m_i - SMPL_v_i || for all marker i

So you would need to : 1) Replace SMPL by SMPLX wherever it is used 2) Edit this file , so that for each marker, instead of giving the SMPL vertex index it corresponds to, gives the SMPLX vertex index.

Note that SMPLX mesh topology is not the same as SMPL, more vertices and not in the same order.

Vassilis (the author of the SMPLX paper) might have a mapping between SMPL and SMPLX vertices, I suggest you have a look here : https://github.com/vchoutas/smplx/blob/main/transfer_model/docs/transfer.md

areiner222 commented 1 month ago

Thanks for this great work!

I'd be very interested in SKEL for SMPL-X! Would the set of changes you're describing enable articulation of the hands ?

MarilynKeller commented 1 month ago

Short answer is no, this would require modifying SKEL to regress the joints location in the hand and add these degrees of freedom to SKEL. We currently don't have a joint regressor for the hand joints, which means we don't know where the anatomical joints are inside the hand surface. This would need to be learned from data or approximated. Same for the head with the jaw joint.