Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于测试时如何获得更好的效果 #44

Open
MioChiu opened this issue Apr 19, 2022 · 1 comment
Open

关于测试时如何获得更好的效果 #44

MioChiu opened this issue Apr 19, 2022 · 1 comment

Comments

@MioChiu
Copy link

MioChiu commented Apr 19, 2022

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看起来效果很好,请问是有做什么其他的操作嘛?靠这个库的代码和模型能做到吗?
image
4.我自己测试了如下视频,发现效果并不好,动作错误较多,而且global translation基本固定在原地(实际上视频中的人从左走到右有比较明显的位移),我使用evaluate.py的默认设置(IMAGE_WIDTH改为视频的宽度),请问是还需要修改什么才能达到较好的效果呢?还是说我这个视频本身不太符合训练集的分布?
image

@Shimingyi
Copy link
Owner

Hi @MioChiu ,

  1. 如果不是正方形的视频,是应该对长和宽分别进行处理的:
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
  1. global root position的回归也是我们比较开心的一点,但其实在我们最近的研究里面也发现,虽然在训练数据集中表现非常好(-i h36m可以输出一些在测试集上的结果),也很难在真实的视频里获得非常平滑的效果。一是因为训练数据集的运动范围和规则都很固定,基本就是绕圈,二是因为缺乏足够的数据扩充。对于产生的脚步漂移(foot sliding), 我们就会用应用一个scale减小这样的移动,凭经验去产生。对于你的视频,在深度上的scale应该小一点。
  2. 完全可以。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants