hlcdyy / pan-motion-retargeting

codes for paper "Pose-aware Attention Network for Flexible Motion Retargeting by Body Part" (TVCG2023)
https://arxiv.org/abs/2306.08006
BSD 2-Clause "Simplified" License
100 stars 6 forks source link

老师您好,针对任意bvh文件retargeting,有几个问题请教您一下 #6

Open zzk88862 opened 10 months ago

zzk88862 commented 10 months ago

老师,您好,很认真看了咱们实现的https://github.com/hlcdyy/pan-motion-retargeting代码 有以下几个问题想要请教您一下,还望不吝赐教,万分感谢 1、怎么实现把一个bvh动画retargeting到一个无动画的bvh角色上? 如果我有一个无动画的fbx静态网格体,已经按照fbx2bvh处理成一个静态的bvh文件,preprocess.py是无法获取正确的mean和var,那我如何把一个动画retargeting到一个静态的bvh文件上呢?而不是示例中的,两个都是带有动画的bvh文件,才能执行retargeting

2、如果是两个都带有动画的bvh文件,进行retargeting,是不是必须要保证两个的动画长度一致?我发现动画不一样,也会出错 3、论文中有提到homeomorphic skeleton,我理解只要是正常的人形骨架,比如metahuman的骨骼、ue小白人的骨骼,应该都满足和miaxmo骨骼的homeomorphic吧?

4、如果2成立的话,那预训练模型,是不是可以直接在miaxmo骨骼、metahuman骨骼、ue小白人骨骼之间进行cross_structure的retargeting

谢谢~ 期待您的回复

hlcdyy commented 10 months ago

老师,您好,很认真看了咱们实现的https://github.com/hlcdyy/pan-motion-retargeting代码 有以下几个问题想要请教您一下,还望不吝赐教,万分感谢 1、怎么实现把一个bvh动画retargeting到一个无动画的bvh角色上? 如果我有一个无动画的fbx静态网格体,已经按照fbx2bvh处理成一个静态的bvh文件,preprocess.py是无法获取正确的mean和var,那我如何把一个动画retargeting到一个静态的bvh文件上呢?而不是示例中的,两个都是带有动画的bvh文件,才能执行retargeting

2、如果是两个都带有动画的bvh文件,进行retargeting,是不是必须要保证两个的动画长度一致?我发现动画不一样,也会出错 3、论文中有提到homeomorphic skeleton,我理解只要是正常的人形骨架,比如metahuman的骨骼、ue小白人的骨骼,应该都满足和miaxmo骨骼的homeomorphic吧?

4、如果2成立的话,那预训练模型,是不是可以直接在miaxmo骨骼、metahuman骨骼、ue小白人骨骼之间进行cross_structure的retargeting

谢谢~ 期待您的回复

您好! 针对问题1,由于我们提供的pretrained model是由Mixamo数据集所训练的运动编码器和解码器。因此,如果想利用pretrained model来做重定向,则需要首先对无动画的fbx静态网格体对应的挂架进行关节映射(如文章6.2.3节所描述),使得输入的目标骨架在维度和形式上与Mixamo数据集中的骨架一致,然后采用Mixamo中角色的mean和var。但因为我们的重定向并非zero-shot的方法,所以最好还是能够有一些目标骨架的运动作为先验来重新训练该结构对应的运动编码器和解码器。

针对问题2,如果两个都带有动画,则并非需要保证长度一致。在我们的设置中我们仅保证重定向运动与源运动长度一致,比如若A骨架运动长度为T_A,B骨架运动长度为T_B。将A骨架运动重定向至B时生成的运动长度为T_A, 反之长度则为T_B。

针对问题3,只要是正常的人形骨架都是满足要求的,因此可以提取一些metahuman,ue骨架的运动然后对数据进行预处理从而训练他们结构所对应的运动编码器和解码器来实现这些骨架运动与Mixamo运动的相互重定向。

针对问题4,利用预训练模型进行重定向需要如问题1回复中所述的关节映射,同时因为不同数据集骨架运动的域差异,采用预训练模型的结果可能不如采用重新训练对应结构模型的方式。