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

数据增广的疑问 #162

Closed
littlejiumi opened this issue Feb 23, 2022 · 11 comments
Closed

数据增广的疑问 #162

littlejiumi opened this issue Feb 23, 2022 · 11 comments

Comments

@littlejiumi
Copy link

数据增广貌似并没有用到clip?
ROMP在物体遮挡或人体半身的情况下泛化性能也很棒呀,请问主要是什么原因呢?如果想裁剪图片变成半身的,相应的标签不可见的keypoint设置为零吗?

@Arthur151
Copy link
Owner

ROMP里涉及到截取类型的增强,就是图片会有一个尺度的变化,在这里。大部分方法貌似都有这个。
我们认为,1)广视野的红利:输入整张图让ROMP可以见到比其他单人方法更加丰富的背景,并且ROMP还要学习区分人和其他物体的区别,这是其他单人方法省略的部分,但其实也就少了很多让模型见到更多数据和复杂环境的机会。2)ROMP的像素级表征方式的优势,让ROMP的特征学习有高度的指向性,让模型可以明确的知道到底学的是图中的哪个东西。

目前开源的版本要实现自由截取还是有点麻烦,需要把预定义的截取框传到这里。我在重新整理的更新版本能更灵活的实现这个。

@akk-123
Copy link

akk-123 commented Feb 24, 2022

@Arthur151 测试的视频结果感觉抖动很大,另外,你重构的代码什么时候能够开源呢

@Arthur151
Copy link
Owner

Arthur151 commented Feb 24, 2022

从结果上看,主要是抖动主要来自于人体定位,即估计的视频中人体的深度和位置在高频变化。
可以通过将configs/video.yml里的以下设置平滑去抖:

 make_tracking: True
 temporal_optimization: True
 smooth_coeff: 3.
 show_largest_person_only: True

smooth_coeff的数值越小,越平滑,但动作也会越滞后。

对不同预测结果的平滑系数可以在这里调节,例如上面视频中的情况,位置不确定,对应的就是‘'cam'’,它对人体位置的预测结果,可以通过将预设的系数从3变到2甚至1让位置估计尽量平滑。

本码农也在努力搬砖,我也想尽快做完,但确实攒了很多东西(主要是大家提的issue里的问题),需要去解决。

@akk-123
Copy link

akk-123 commented Feb 24, 2022

我将这个设置为2了,但还是抖动挺大的

 make_tracking: True
 temporal_optimization: True
 smooth_coeff: 2.
 show_largest_person_only: True

@Arthur151
Copy link
Owner

这里改成:

return {'cam': OneEuroFilter(1., .0), 'global_orient': OneEuroFilter(2., .0), 'poses': OneEuroFilter(smooth_coeff, 0), 'betas': OneEuroFilter(0.6, .0)}

@akk-123
Copy link

akk-123 commented Feb 24, 2022

嗯嗯,改了之后抖动确实会好一些,不过手这里的pose相对来说不是很好,如果我想提升这种场景的效果,可以搜集一批这样的数据,标注2d关键点,采样SPIN的方式,使用在公开数据集上训练好的模型作为初始权重,然后用smplify来优化在这种数据上的效果嘛

@Arthur151
Copy link
Owner

smplify可能会让估计的结果更贴合图片一些,但这种优化会不会提升姿态准确度,还存疑。我试过的场景,这种方案的性价比有限。目前的算法会存在这样的问题,就是扭动类的细节姿态无法恢复的问题。尤其是快速运动时手部不太行,可能还需要一个突破性的解决方案出来才行。

@Altai01
Copy link

Altai01 commented Jun 28, 2022

从结果上看,主要是抖动主要来自于人体定位,即估计的视频中人体的深度和位置在高频变化。 可以通过将configs/video.yml里的以下设置平滑去抖:

 make_tracking: True
 temporal_optimization: True
 smooth_coeff: 3.
 show_largest_person_only: True

smooth_coeff的数值越小,越平滑,但动作也会越滞后。

对不同预测结果的平滑系数可以在这里调节,例如上面视频中的情况,位置不确定,对应的就是‘'cam'’,它对人体位置的预测结果,可以通过将预设的系数从3变到2甚至1让位置估计尽量平滑。

本码农也在努力搬砖,我也想尽快做完,但确实攒了很多东西(主要是大家提的issue里的问题),需要去解决。

‘'cam'’是对人体位置的预测结果,我在blender中驱动模型,如果想让模型在原地做动作,不会随着人物上下前后移动而移动,是不是把这个'cam'参数去掉就好了?

@Arthur151
Copy link
Owner

是的,不施加根节点的位移。比如,这里

root_location = Vector(

都置为0即可。

@Altai01
Copy link

Altai01 commented Jun 29, 2022

是的,不施加根节点的位移。比如,这里

root_location = Vector(

都置为0即可。

多谢你的回复,我昨天就是修改的这个地方,根据我的操作理解trans[1], trans[2], trans[0]分别代表x,y,z三个方向上的移动,将其设置为0就可以限制在该方向的移动

@Arthur151
Copy link
Owner

抱歉回复晚了

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

4 participants