目标检测分块知识总结 1
tags: 目标检测;UnitBox;RetinaNet; Soft-NMS; IOU Net
1. UnitBox
论文题目《UnitBox: An Advanced Object Detection Network》 2016
这篇文章主要提出了使用IOU Loss作为损失函数。
在此之前,很多目标检测算法在进行坐标回归的时候使用的损失函数为L2或者smoothL1损失,但是这些损失函数忽视了各个坐标位置之间的相关性,这样在预测的时候,针对不同尺度的物体会表现下降。
提出的IOU loss主要是使用预测的bbox与gt之间的IOU作为衡量标准。
IOU的定义如下:
从最终的损失函数中可以看到,前一项表示bbox的预测误差,后一项表示IOU的误差。这样在损失函数中就反映了坐标之间的相关性。
在训练的时候,IOUnet的输入有三个:原始图像,一个像素落在目标区域内与否的置信度热度图,一个所有像素的gt热度图。
2. RetinaNet
提出了focal loss来解决正负样本不均衡问题。主要针对单阶段检测器中利用滑动窗口产生大量的正负样本,而背景图片占主导部分导致训练困难,并且预测错误的问题。
focal loss 的函数曲线如下:
RetinaNet的网络结构
3. soft-NMS
论文题目《Improving Object Detection With One Line of Code》 2017
通常在产生了很多anchor之后,在预测阶段需要对每个anchor进行分类和回归,但是最终仍然会有很多bbox的预测结果,那么最终需要对这些anchor进行NMS操作。但是原始的NMS操作会将不满足条件的bbox直接提出,这样的做法有点简单粗暴,对于有遮挡情况出现的时候,或者两个物体相距比较接近的时候,这种做法可能会导致一些目标漏检。
那么针对这种情况,设计的soft-NMS不是将IOU超过阈值的bbox删除掉,而是降低其对应的得分,仍然保留。那么在后续的NMS过程中,可以很大概率上保留这些bbox,从而增加检出率。
那么soft-NMS的方法也很简单:
4. IOU-Net
论文题目《Acquisition of Localization Confidence for Accurate Object Detection》 2018
当前目标检测算法在进行NMS的时候,往往利用分类置信度得分进行排序从而进行NMS,但是真正用来衡量目标框的准确性的时候,往往是要计算目标框是否足够好。因此,这里作者建议使用位置置信度来作为NMS处理的排序依据。以便得到较为精准的检测框。
从上图中可以看出,gt是黄色的框,而红色框和绿色框分别为预测的bbox,但是明显可以看到,绿色框的位置要更好一些,但是分类置信度却不如红色框高,那么后面在进行NMS的时候会根据分类置信度进行排序,也就导致最终绿色框的最终被提出,留下红色框作为预测结果。导致这样结果的原因在于只使用分类置信度作为排序基础,而这个置信度和框的准确性之间没有必然的联系。
从下图中的IOU与分类置信度和位置置信度之间相关性可以看出,IOU与位置置信度之间是正比的关系,而与分类置信度之间没有太大的联系:
而且还有一个原因:在使用分类置信度作为排序基准的时候,往往NMS过程具有不可迭代性。也就是说,当进行了多次NMS之后,得到的结果反而不会有很大的提升,反而会导致结果下降,从下图中可以看到。
从图中可以看到,在进行NMS操作之前进行排序的时候, 使用的是IOU的预测结果。同时,如果两个框之间的IOU大于阈值的时候,会将两者之间较大的置信度得分分给保留下来的框,也就是说,最终保留下来的框的置信度得分不一定是原始置信度。这样的话,从分类置信度和位置置信度两方面都能够保证结果的准确性。
优化目标:
参考文献: