ShengkaiWu / IoU-aware-single-stage-object-detector

IoU-aware single-stage object detector for accurate localization
65 stars 10 forks source link

你的方法,能用来改进yolov3吗? #3

Closed Ming-Y-ANG closed 4 years ago

Ming-Y-ANG commented 4 years ago

我尝试过用这个方法改善 yolov3 ,添加 iou头 用预测的IOU分数 与 置信度相乘做NMS 但是 测试级的精度下降的很厉害。。。

ShengkaiWu commented 4 years ago

不好意思,刚看到。我没有在YOLOv3上做过实验。你说的测试精度下降是指AP还是AP50?下降了大概有多少?性能下降的现象比较奇怪,实现方面你要确保:1)IoU prediction loss计算时,仅使用正样本的prediced IoU和truth IoU, 且该truth IoU指的是regressed boxes与truth box 之间的IoU,一定要计算正确;2) IoU prediction loss训练时,truth IoU要能计算梯度,使得IoU prediction loss的梯度能传递到regression branch。

Ming-Y-ANG commented 4 years ago

谢谢你的回答,我大概知道原因了,我感觉不起作用的主要原因是由于YOLO的置信度的特殊性,使得yolo在训练的时候只会匹配最大IOU的anchor,代表就已经具备一定预测最好IOU分数的预测能力(只会学习最好的anchor),作者也在论文给出解释。这个置信度应该有两层含义,第一层含义是预测框内有目标的得分大小,第二层应该就是这个预测框拥有的IOU分数了,感觉跟你的论文里面推断使用的公式很相似,不过没有系数调节比重而已。可能这样,会导致这个方法在YOLO上不怎么起作用