在进行DETR-like模型的实验过程中,考虑到原模型都是基于COCO数据集上进行的实验,因此博主在实验时也是将其全部都转换为COCO数据集的格式,但这就引发了一个问题,那就是不同的数据集中目标的数目是不同的,而最终结果却有一个不容忽视的指标:

maxDets:该指标的意思是分别保留测试集的每张图上置信度排名第1、前10、前100个预测框,根据这些预测框和真实框进行比对,来计算AP、AR等值。

关于COCO数据集评价参数设置_ooc

比如博主在使用COCO数据集时,博主将其中的car,bus,truck进行提取,这就导致在一张图片中的目标数目可能只有几张,那么我们使用maxDets=100就没有什么问题,而在WidePerson数据集中,尽管绝大部分图片中目标的数量在100以内,但却存在某些图片中包含近200个目标,那么我们再使用maxDets=100就不符合要求了。
如下图:

关于COCO数据集评价参数设置_人工智能_02

此时我们就需要修改maxDets的值,具体在安装的pycoocotool包的cocoecal.py文件中:

关于COCO数据集评价参数设置_目标检测_03

修改完成后运行,发现,AP50-95的值为-1,但其他值却正常,这是什么原因导致的呢,看到有人说是数据标注出了问题,但为何其他值没有问题呢,仔细一个其maxDets依旧是100,难道是这个导致的?

关于COCO数据集评价参数设置_人工智能_04

回到源码再次修改:

stats[0] = _summarize(1,maxDets=self.params.maxDets[2])

关于COCO数据集评价参数设置_人工智能_05

OK 了

关于COCO数据集评价参数设置_深度学习_06