buptxyb666/AdaptivePose

how to run demo.py?

caiusy opened this issue · 15 comments

你好 , 我运行demo.py的时候,Coco的数据格式,调试的时候adapt_pts 为空,然后报错,请问这个值是干嘛的? 怎么运行demo呢 谢谢!

adapt_pts 是预测的adaptive point,目前demo.py还不支持,我马上提供一个demo.py。

@buptxyb666
这个adapt_pts 应该就是中间的节点的, 我要训练自己的数据集的话,这种怎么设置比较好呢?

训练自己的数据集的话直接把你的标签转换成coco提供的json格式就可以了,我下午最晚明天会提供demo.py。

@buptxyb666 >
这个我已经训完了, 现在应该,就是人体的你分为好几个部分的adpt_pts, 但我只需要四个点, 还有这个算法有没有跟yolopose比呢, 论文中好像没有。

目前最新的指标在这个repo的第二个表格中,之前没太关注yolopose这个工作,刚才看了下,之前的指标已经超过他最好的结果了,目前最新的指标更是。

adpt_pts的设置经验的话,基本把在结构上距离比较近的点设置成一个part就ok了。

目前最新的指标在这个repo的第二个表格中,之前没太关注yolopose这个工作,刚才看了下,之前的指标已经超过他最好的结果了,目前最新的指标更是。

这个还得看下模型大小,adpt_pts的设置经验 我目前是随机取了一个对称左右,其他的都删掉了, 后期可能还要好好学习一下你的代码。

AdaptivePose的parameters跟input resolution在更小的情况下都取得了更好的结果,你可以去看他的table2,比如adaptivepose_dla_34: 22M 512 pixels 67.0 AP V.S. YOLOv5m6-pose: 41.4M 960 pixels 66.3 AP。

如果你的四个点很远的话,可以每个点都分为一个part,效果会更好。

@buptxyb666 上面那个也是我的号, 就是想继续问一下。
我看到新加了oks loss , [我之前在centernet上也加了,但好像没有什么提升
/src/lib/utils/post_preocess.py中的muti_pose_wodet_post_process_vis函数中的36: 这个数据代表什么呢?
还有reshape(-1,16) 这个 16 代表啥。人体关键点17 。
demo运行的时候 , 还是adapt_pts为[]然后在detector/muti_pose_wodet.py:88 行adap_pts /= scale * meta['sf'] 报错

关于OKS-loss:1. 没有提升可能是你loss本身实现有问题,或者对area的变换有错误。2. 实现正确的情况下,如果不能提升是因为centernet本身仅仅把直接回归的结果作为初始预测,后续还用了heatmap detection来优化,加上oks loss仅仅是把直接回归出来的结果有所提升,但是上限还是不能超过heatmap detection,所以带来的好处被heatmap优化给覆盖掉了。

adaptivepose使用了两跳回归,而且实验证实了上限也略高于heatmap检测结果,所以在推理时不再需要heatmap,oks_loss的效果也能显现出来。

刚才已经提交了更新,demo现在应该可以用了。reshape(-1,16) 是adapt_pts,这块包括了center和7个adaptive points八个点的坐标。

36:的数据是预测的center和7个adaptive points。

36:的数据是预测的center和7个adaptive points。

@buptxyb666 谢谢 我再试试

这个 我也想过是这个问题

刚才已经提交了更新,demo现在应该可以用了。reshape(-1,16) 是adapt_pts,这块包括了center和7个adaptive points八个点的坐标。
谢谢可以跑通了。