MotioNet
MotioNet copied to clipboard
关于测试时如何获得更好的效果
hi,最近尝试了一下motioNet,有几个问题想请教一下:
1.关于测试时的IMAGE_WIDTH,这里应该就用图片宽度吗,还是需要最长边?
2.MotioNet论文中最吸引我的是能够相对准确的回归global root position,事实上目前绝大多数3D pose的方法在这方面都比较糟糕。然而我看到测试时有 translation[:, :2] = translation[:, :2]*3;translation[:, 2] = translation[:, 2]*1.5
,这里的scale系数是怎么得到的呢?经验值?在我测试自己的视频时对这个有什么建议吗?
3.演示视频里下面这个视频的global translation看起来效果很好,请问是有做什么其他的操作嘛?靠这个库的代码和模型能做到吗?
4.我自己测试了如下视频,发现效果并不好,动作错误较多,而且global translation基本固定在原地(实际上视频中的人从左走到右有比较明显的位移),我使用evaluate.py的默认设置(IMAGE_WIDTH改为视频的宽度),请问是还需要修改什么才能达到较好的效果呢?还是说我这个视频本身不太符合训练集的分布?
Hi @MioChiu ,
- 如果不是正方形的视频,是应该对长和宽分别进行处理的:
IMAGE_WIDTH = 480
IMAGE_HEIGHT = 270
...
poses_2d = np.concatenate(pose_batch, axis=0)
poses_2d[:, np.arange(0, poses_2d.shape[-1], 2)] /= (IMAGE_WIDTH*1) # 1 是一个调整参数,尽可能使人物在图片中的比例接近原始数据集
poses_2d[:, np.arange(1, poses_2d.shape[-1], 2)] /= (IMAGE_HEIGHT*1) # 1
- global root position的回归也是我们比较开心的一点,但其实在我们最近的研究里面也发现,虽然在训练数据集中表现非常好(-i h36m可以输出一些在测试集上的结果),也很难在真实的视频里获得非常平滑的效果。一是因为训练数据集的运动范围和规则都很固定,基本就是绕圈,二是因为缺乏足够的数据扩充。对于产生的脚步漂移(foot sliding), 我们就会用应用一个scale减小这样的移动,凭经验去产生。对于你的视频,在深度上的scale应该小一点。
- 完全可以。