1. NMS
- 非极大值抑制(Non-Maximum suppression,NMS)是目标检测算法中一个必要的后处理过程,目的是消除同一个物体上的冗余预测框。
- NMS算法的主要思想是:先对网络预测出的所有边界框按照分数由高到低排序,然后选取分数最高的预测框作为target,分别计算target与其余剩下的预测框的重叠程度(用IoU来衡量),若重叠程度大于某一预先设定的阈值,则认为该预测框与target是同时负责预测同一个物体的,所以将该边界框删除,否则予以保留。接着在未被删除的预测框中选择分数最高的预测框作为新target,重复以上过程,直至判断出所有的框是否应该删除。
- 这种原始的NMS算法被称为greedy NMS,其被广泛应用于目标检测算法中。但该算法也有缺点,不少论文针对greedy NMS所存在的缺点进行了改进。
2. Soft-NMS
- Soft-NMS是ICCV2017年的一篇论文。Soft-NMS认为将重叠程度大于一定阈值的预测框直接删除的做法是不妥的,尤其是密集场景的目标检测。密集场景中的两个ground-truth是非常接近的,负责预测这两个ground-truth的那些预测框通常具有比较高的IOU,如果直接将IOU大于阈值的预测框删除,会降低召回率。虽然可以通过调高IOU阈值来提高召回率,但与此同时,却增加了false positive。
- 为解决这个问题,Soft-NMS设计了一个重新打分机制,为其他预测框进行重新打分,重叠程度越大的预测框,所降低的分数就越多。
其中,re-sorcing function有线性和高斯两种形式:
实际上,原始NMS也可以看成是re-sorcing过程,其re-sorcing function为:
注意:
- 线性Soft-NMS和NMS一样,需要设置IoU阈值;高斯Soft-NMS不需要设置IoU阈值,但也存在超参数。
- 与NMS相比,Soft-NMS(包括线性或高斯)还多了一个抑制阈值,用于删除re-score后分数太低的预测框。在每轮迭代时,先选择分数最高的预测框作为,并对中的每一个检测框进行re-score,得到新的score,当该框的新score低于某设定阈值时,则立即将该框删除。
- 与NMS相比,Soft-NMS对超参数的敏感性更低一些。
3. Adaptive NMS
- Adaptive NMS是CVPR2019的一篇论文。Adaptive NMS也注意到了IoU阈值对目标检测算法的AP和AR的影响是很大的:低IoU阈值,会使得一些true positive被移除掉,造成漏检,召回率会降低(如蓝色虚线框);高IoU阈值,会产生较多的false positive,造成误检,精确度也会降低(如红色实线框)。同时,如何降低算法对IoU阈值的敏感程度,成为这篇论文的研究重点。
- 论文指出,算法对IoU阈值的敏感程度主要取决于检测场景的密集程度:密集程度越高,则IoU阈值较高时,检测性能更好;密集程度越低,则IoU阈值较低时,检测性能更好。基于此,Adaptive NMS给每个目标附上一个关于目标所处场景密集程度的输出,并将该输出作为IoU阈值,实现自适应。
- 是网络输出的某个边界框所处环境的密集程度, 越大,表示所处环境越密集。记NMS阈值为,则
- 实际上Adaptive NMS还是要先设置一个阈值,再由密集程度估计网络所估计的密集程度对进行调整,得到最终的NMS阈值。减轻了算法对I阈值的敏感程度。
- 密集程度估计网络中,边界框所对应的训练标签由与所有共同负责预测同一个GT框的其它边界框的最大IoU确定,即
4. IOU-Net
- IOU-Net是ECCV2018的一篇论文。其出发点是:目标检测网络一般只输出物体的分类置信度和回归所得的边界框,后续的NMS仅基于分类置信度的高低进行冗余边界框的消除是不妥的,因为对于同一个ground-truth,所预测出的边界框会出现一种情况:分类置信度低的预测框可能与ground-truth有较高的IoU,而分类置信度高的预测框与ground-truth的IOU却比较低。这样如果仅基于分类置信度的高低进行冗余边界框的消除,就会保留分类置信度较高而IOU较低的预测框,使得定位准确度较差。
- 为解决此问题,IOU-Net提出学习边界框的定位精度,并将该定位精度与分类置信度结合后,作为NMS排序所需的分数。