首页 PaddleCV 帖子详情
kmeans聚类锚框后maps反而降低
收藏
快速回复
PaddleCV 问答目标检测 590 7
kmeans聚类锚框后maps反而降低
收藏
快速回复
PaddleCV 问答目标检测 590 7

我用ppyolov2在自定义的数据库上做检测,按照优化方法修改锚框,并使用发布的608模型作为预训练模型进行训练

python tools/anchor_cluster.py \ -c configs/ppyolo/ppyolo.yml \ # 模型配置文件 -n 9 \ # 聚类的个数,即anchor的个数 -s 608 \ # 图片输入尺寸,这里对应EvalReader中Resize后的尺寸 -i 1000 # kmeans聚类算法迭代次数

 

锚框修改前

Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.722

Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.946
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.926
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.743
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = -1.000
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = -1.000
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.731
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.783
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.785
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.785
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = -1.000
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = -1.000

 

锚框修改后

Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.682

Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.925
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.894
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.723
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = -1.000
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = -1.000
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.697
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.781
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.781
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.781

感觉被反。优化了,这是啥原因???

0
收藏
回复
全部评论(7)
时间顺序
FutureSI
#2 回复于2021-10

缓缓聚类数目试试呢

0
回复
a
asian3
#3 回复于2021-10
缓缓聚类数目试试呢

anchor的个数?

0
回复
FutureSI
#4 回复于2021-10

聚类时设定的聚成多少类,就是聚类成多少个宽高比类别

0
回复
a
asian3
#5 回复于2021-10
聚类时设定的聚成多少类,就是聚类成多少个宽高比类别

9个。聚类我就是按照官方的配置文件,改了下yaml配置文件,其他都没变

!python tools/anchor_cluster.py -c configs/ppyolo/ppyolov2_r50vd_dcn_365e_coco.yml -n 9 -s 608  -i 1000   

0
回复
FutureSI
#6 回复于2021-10

如果用的自己的数据集,还是要重新用聚类算法算出新的宽高值的。不只改yaml文件

0
回复
a
asian3
#7 回复于2021-10
如果用的自己的数据集,还是要重新用聚类算法算出新的宽高值的。不只改yaml文件

嗯嗯,我就是重新聚类,替换了原来的锚框设置

0
回复
李长安
#8 回复于2021-11

是不是聚类出来的框的大小比较接近,就是说你的数据集里的目标大小可能都是集中在一个范围里

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户