deep-motion-editing icon indicating copy to clipboard operation
deep-motion-editing copied to clipboard

鲁棒性不是很好,怎么解决?

Open wuxiaolianggit opened this issue 3 years ago • 18 comments

您好大神,我有一个问题想问您一下,我按照Aj的骨骼点绑定了两个个模型(模型骨骼点的比例不同),B模型肩膀宽一点,手臂长一点,A模型肩膀窄一点,手臂短一点,然后我利用您的模型,把A的合并手部动作转移到B模型上,效果不好,B模型的手差距很远?我在maya上直接复制骨骼点的权重也是达到同样的效果,这样的话,根本没有必要训练,因为训练没有提高任何效果啊?上诉情况针对骨骼点相同的情况。 @PeizhuoLi

wuxiaolianggit avatar Jul 16 '20 05:07 wuxiaolianggit

您好,大神过奖了。如果使用的是预训练的模型,确实有可能不能达到这样的效果。预训练的模型可能会对Mixamo数据集有部分过拟合现象。同时有A,B模型对应骨骼的动作数据集(不必须配对),并将模型在这些数据上重新训练应该能达到更加理想的效果。

PeizhuoLi avatar Jul 16 '20 16:07 PeizhuoLi

你好,大神,您说的‘这些数据集上重新训练应该能达到更加理想的效果’,指的是您开源的数据集,还是我利用自己的模型上传到mixamo上制作的动作数据集加上您的数据集呢? @PeizhuoLi

wuxiaolianggit avatar Jul 20 '20 01:07 wuxiaolianggit

大神,我还有一个问题,您说数据集不需要配对,我的理解是数据集中的每个角色的动作不需要是一样的,并且每个角色的动作数量也不一定一定相同,这样理解对吗? @PeizhuoLi

wuxiaolianggit avatar Jul 20 '20 05:07 wuxiaolianggit

关于数据集的问题,最好的是有目标骨骼的高质量数据集,使用Mixamo数据集的话相关讨论见#53

配对的理解是正确的。

PeizhuoLi avatar Jul 21 '20 03:07 PeizhuoLi

很感谢大神的回复,如果我使用配对的数据进行训练,仅训练intra类型的数据,是不是就不需要Adversarial Loss

wuxiaolianggit avatar Jul 21 '20 07:07 wuxiaolianggit

理论上是这样的。我们实验中发现配对数据训练更简单,只需要一对autoencoder分别处理两个角色,有两个reconstruction loss加上一个||E_a(M_a) - E_b(M_b)||_1 就可以了,即要求不同角色的同一动作被映射到隐空间的同一个点。

PeizhuoLi avatar Jul 21 '20 08:07 PeizhuoLi

谢谢大神啊,再问您一个问题啊,您制作数据的时候,是从mixamo上下载的动画数据,这个数据格式是怎样的呢? 是这样的吗? image

wuxiaolianggit avatar Jul 21 '20 12:07 wuxiaolianggit

我选择的是Without Skin, 这样能节省很多空间。其他都是都是对的。

PeizhuoLi avatar Jul 22 '20 08:07 PeizhuoLi

能与大神进行交流,我感到很荣幸啊,我利用您提供的数据进行训练,loss值出现一下这种情况,是不是过拟合了,还需要再继续训练吗? image

wuxiaolianggit avatar Jul 22 '20 09:07 wuxiaolianggit

你好,不好意思啊,有打扰您了,您训练最好的loss曲线可以发给我一份吗?我希望可以参考一下。

wuxiaolianggit avatar Jul 22 '20 09:07 wuxiaolianggit

实在不好意思啊,大神,打扰您这么久,我再问您最后一个问题啊,我自己有一个模型人物模型M(不在mixamo角色库里),我按照Aj的骨骼进行绑定,但是比例是不同的;我把这个模型上传到mixamo上生成了40个动画来计算std_bvh、mean、var,然后利用把Aj的某个动作迁移到我自己的模型M上,发现我的模型M的初始pose和Aj的初始pose差别很大,这个该怎么解决呢? @PeizhuoLi

wuxiaolianggit avatar Jul 22 '20 10:07 wuxiaolianggit

看起来没有过拟合。

有关mean和var的生成参见#61。我不太明白这里的初始pose指什么,如果是T-Pose的话应该不需要动作迁移就能发现。

PeizhuoLi avatar Jul 24 '20 02:07 PeizhuoLi

多谢大佬回复,我的意思是鉴别器的loss应该是越来越大,生成器的loss应该是越来越小才是比较好的啊,我的这个D_loss和G_loss感觉正好相反;std_bvh这里面有每个角色静态pose,这个std_bvh与其对应角色生成动作有关系吗?

wuxiaolianggit avatar Jul 24 '20 03:07 wuxiaolianggit

gan_loss并不是问题的核心,它的表现不一定会很好,但在最终结果中不起决定性的作用。

整个框架从std_bvh中读取骨骼的静态信息,有很大的关系。

PeizhuoLi avatar Jul 24 '20 08:07 PeizhuoLi

好的,多谢大神的解答,和您交流学习到很多,std_bvh这里面有每个角色静态pose是T-pose吗?

wuxiaolianggit avatar Jul 24 '20 08:07 wuxiaolianggit

可能我的表述出了一些偏差,std_bvh里面的静态pose不一定要是T-Pose, 但是如果和T-pose差距很大的话是可能会有问题的。我们在论文的limitation章节讨论过这个问题。

PeizhuoLi avatar Jul 24 '20 08:07 PeizhuoLi

谢谢您的回答,您的回答对我的理解帮助很大,多您的耐心回复啊。

wuxiaolianggit avatar Jul 24 '20 09:07 wuxiaolianggit

@wuxiaolianggit 你好,请问你在Mixamo上生成的模型M(不在mixamo角色库里)的动画质量怎么样?能作为ground truth吗?

Vincent-2017 avatar Dec 07 '20 06:12 Vincent-2017