yolov3中需要经常回顾的知识点

1.正负样本选择

预测框一共分为三种情况:正例(positive)、负例(negative)、忽略样例(ignore)。

正例:任取一个ground truth, 与上面计算的10647个框全部计算IOU, IOU最大的预测框, 即为正例。并且一个预测框, 只能分配给一个ground truth。 例如第一个ground truth已经匹配了一个正例检测框, 那么下一个ground truth, 就在余下的10646个检测框中, 寻找IOU最大的检测框作为正例。ground truth的先后顺序可忽略。正例产生置信度loss、检测框loss、类别loss。预测框为对应的ground truth box标签(使用真实的x、y、w、h计算出); 类别标签对应类别为1, 其余为0; 置信度标签为1。

注意正例和gt的关系是:一对一,不存在多对一或者一对多

忽略样例:正例除外, 与任意一个ground truth的IOU大于阈值(论文中使用5), 则为忽略样例。忽略样例不产生任何loss。

为什么要有忽略样例?

由于YOLOv3采用了多尺度检测, 那么再检测时会有重复检测现象. 比如有一个真实物体,在训练时被分配到的检测框是特征图1的第三个box,IOU达0.98,此时恰好特征图2的第一个box与该ground truth的IOU达0.95,也检测到了该ground truth,如果此时给其置信度强行打0的标签,网络学习效果会不理想。

负例:正例除外(与ground truth计算后IOU最大的检测框,但是IOU小于阈值,仍为正例), 与全部ground truth的IOU都小于阈值(0.5), 则为负例。负例只有置信度产生loss, 置信度标签为0。

参考:

https://blog.csdn.net/rh8866/article/details/123620540

posted @ 2022-05-26 09:12  海_纳百川  阅读(52)  评论(0编辑  收藏  举报
本站总访问量