GuyTevet / motion-diffusion-model

The official PyTorch implementation of the paper "Human Motion Diffusion Model"
MIT License
3.17k stars 348 forks source link

Retargeting motion to another mesh/obj #134

Closed tshrjn closed 1 year ago

tshrjn commented 1 year ago

Please help us understand what are the best possible solutions for retargeting motion generated from MDM when:

A. We have a non-rigged 3D Humanoid object, B. We have a rigged 3D Humanoid object, but is a different armature from SMPL.

Looking to transfer motion from 1 to another programmatically, given the skeleton/rigs differ but are both humanoid. Good Bone Remapping, etc. I'm new to 3D Game dev, but have background in Python & ML, AI.

Example Problem

We bring a output motion from MDM, https://github.com/GuyTevet/motion-diffusion-model/, more details at Github issues-24 & 5. Bring a rigged skeleton from sketchfab/CGtrader, be able to retarget/remap skeletons, so that motion is transferred to the sketchFab 3D asset. All this without human intervention, ie in an automated manner via python.

References Potentially useful material: https://github.com/boreshkinai/smpl-ik/tree/main

Some add-ons which help with manual retargeting: https://github.com/Mwni/blender-animation-retargeting

GuyTevet commented 1 year ago

I'm not familiar enough with motion retargeting; your references look valid, you can also convert smpl to BVH with naive IK as described here