首先我是单类别检测,训练出来的模型的检测出来的框的置信度太高,以致于无论设置怎样的置信度阈值AP都非常高(98%-99%),而yolov4在相同置信度阈值的情况下的检测AP在70%-80%,所以请问这样怎么能让SSD和Faster R-CNN的检测出来的框置信度回归到正常水平(不是全都是1)
我不知道是哪里出了问题
1、原先以为是先验框的问题导致yolo的检测置信度低,使用kmeans算法聚类出的anchor框在应用之后则检测置信度更低;
2、原以为数据集不够,在扩充数据集之后发现检测AP与原先是相差不大的(仅相差1%左右),而SSD和Faster R-CNN的检测出的框的置信度还是全是1
想要SSD和Faster R-CNN的检测出的框的置信度不要全是1,能和yolo有对比度
先看下你的loss参数之类的是否正常,有可能你的SSD和fast rcnn已经过拟合了。
另外很多目标检测的网络对于单类别目标需要单独处理的,看你的代码中有没有专门的处理方式,可以参靠一下yolov5中的对于单目标类的处理。
另外还有一种就是虽然你是单目标,但是你可以将你的类别设置成2,由于你的数据集类别id都是0,所以预测基本上也是偏向与0,可以避免上面中由于单目标带来的一些loss上面的问题