【论文阅读】Fitness NMS

本文探讨了如何通过FitnessNMS和BoundedIoULoss优化对象检测,指出训练和测试阶段IoU阈值一致的重要性。作者提出新的score函数和匹配策略,增强了对高IoU框的重视。实验表明,这种方法能提高召回率,并且与SoftNMS兼容。此外,改进的BoundingBoxRegression也提升了ROI准确性和召回率。论文的贡献在于增强分类器对负样本的敏感度以及优化高IoU重叠框的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文题目:《Improving Object Localization with Fitness NMS and Bounded IoU Loss》
发现这篇文章网络上资源较少,来写一下自己看完这篇文章的一些想法,可能不成熟,欢迎指正。谢谢!
本文对于NMS进行了改进,提出了一个叫Fitness NMS的模块,在DeNet基础上进行的改进。
文章介绍了一下nms,这里 也简单写一下:
在这里插入图片描述
这里score(.)函数用来评价选择bbox的置信度,而same(.)用来检测两个框的iou值。因此算法的核心思想就是:对于Bounding Box的列表B及其对应的置信度S,采用下面的计算方式.选择具有最大score的检测框M,将其从B集合中移除并加入到最终的检测结果D中.通常将B中剩余检测框中与M的IoU大于阈值Nt的框从B中移除.重复这个过程,直到B为空.

本文就是对于上述的score及same函数进行了修改来得到一个新的nms。
在这里插入图片描述

作者先做实验对比了train和test采用不同iou阈值时的map表现结果:
在这里插入图片描述

结果可以看到只有当训练和测试选择iou阈值一致时输出的结果才比较好,而且0.5表现出来的map最高,这便引出了本文想要解决的问题:并不是要选择所有超过该阈值的所有bbox,而是要选择最高的一个。

  1. Detection Clustering

在这里插入图片描述
实验发现,提升matching iou 不使用nms和使用的两种情况下的召回值gap越来越大。这说明在roi预测阶段预测出来的一些对正样本在nms阶段被舍弃掉。单纯的使用nms是次优的选择,因为DeNet在训练中使用单一的matching iou值,使得它对于与GT不同iou值的bbox一视同仁(0.5,0.9),而这并不是一个最优的discriminator。

  1. Fitness NMS

作者首先提出了一个新的公式,对于score函数进行了增强:在这里插入图片描述
加上的E函数指的是你的bbox和GT重叠iou的期望值。作者加上E的实际目的就是为了对于与GT IOU值打的bbox对他进行score值放大。
原文给出了f的计算公式:
在这里插入图片描述
及E的计算公式:
在这里插入图片描述
其中,λn指的是最小iou覆盖。那么 如何求得公式中的Pr(fj)呢,这里作者给出了两种方法:
Independent Fitness
认为Pr(fj)与类别无关。将DeNet的预测层替换为预测Pr,这时我们便可以得到C+F+2个输出。

Joint Fitness
在这里插入图片描述
输出CF+1个量。

后面的ablation实验证明了上述方法的有效性:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这块有些不太理解:对于某个bbox,他与GT的fj不是一个定值吗,那后面的求和操作是怎么来的呢?还是通过网络输出的不同的fj对应的值是对于某个bbox iou的一个估计值?? 这里感觉需要看源代码。

在这里插入图片描述
最后作者还加了一个与soft nms适配性的实验,发现是可以双向并行的。

  1. Bounding Box Regression
    由于DeNet的角点采样提升了roi采样的准确性,许多人认为这部分的改进没有必要,作者这里则也进行实验给出了其必要性:
    在这里插入图片描述
    作者认为改进bbox regression 算法确实不是首要的 但是它与前面nms算法的改进相适配,会大幅提升recall。
    新提出的算法则是为了最大化roi与GT的iou并可以提供一个良好的梯度下降值。
    在这里插入图片描述
    上述公式为新提出的iou计算公式。
    在这里插入图片描述
    作者认为maximum IOU,应该设计一个更大的cost函数。同时作者给出了一个近似的函数:
    在这里插入图片描述
    在这里插入图片描述
    烧烛实验如上所示。。
    后面作者还对于在bbox层面还是在conner distribution 层面进行nms操作得到的结果进行了一定的对比。
    在这里插入图片描述
    在这里插入图片描述
    最后的结果 以上。

最后写写我的感想,我觉得作者在本文的主要工作实际上只有两项:增大score的值和增大same求出的iou值。让分类器能更加重视负样本的loss及对于与GT iou重叠大的bbox 在classification 和 regression过程中起到更加大的作用

### Soft-NMS算法的发展历程 Soft-NMS(Non-Maximum Suppression)是一种改进的传统NMS方法,旨在解决传统NMS中存在的问题。传统的NMS通过设定一个固定的阈值来筛选检测框,可能会导致部分重叠较高的真实目标被错误抑制。而Soft-NMS则引入了一种平滑的方式,通过对高重叠度的目标赋予较低的置信度分数,从而保留更多可能的真实目标。 #### 背景与发展 Soft-NMS的概念最早由Bodla等人于2017年提出,在论文《Soft-NMS – Improving Object Detection With One Line of Code》中首次介绍[^4]。该论文指出,传统NMS存在一定的局限性,即当两个边界框具有较高IoU(Intersection over Union)时,即使其中一个可能是真实的正样本,也会因为超过预设阈值而被移除。为了缓解这一问题,Soft-NMS采用一种连续函数调整其他候选框的得分,而不是简单地将其剔除。 具体而言,Soft-NMS的核心思想是对与当前最高分预测框有较大交并比的其他框施加惩罚因子,其公式如下: ```python score_i = score_i * exp(-gamma * IoU(box_i, box_max)^2) ``` 其中`box_max`表示当前得分最高的边界框,`box_i`为其余待评估的边界框,`gamma`是一个超参数用于控制衰减程度。这种方式能够更灵活地处理多个高度重叠的对象实例。 #### 进一步的研究进展 随着目标检测技术的进步,后续许多工作基于Soft-NMS进行了扩展和优化。例如,一些研究尝试结合注意力机制或者神经网络模型来自适应地调节权重分配策略;还有学者探索了多阶段式的非极大值抑制流程以进一步提升性能表现。然而值得注意的是,尽管这些变体形式各有特色,但它们大多继承自最初的Soft-NMS设计理念,并在此基础上做出针对性改良。 对于希望深入了解此领域的朋友来说,除了上述提到的基础文献外还可以关注近年来CVPR/ECCV等顶级会议上的相关投稿文章获取最新动态和发展趋势信息[^5]。 ```python def soft_nms(dets, sigma=0.5, Nt=0.3, threshold=0.001, method=1): """ Implementation example of the Soft-NMS algorithm. Parameters: dets (list): List of detections with format [x1,y1,x2,y2,score]. sigma (float): Sigma parameter used in Gaussian decay function. Nt (float): Overlap threshold. threshold (float): Minimum detection confidence to keep a bounding box. method (int): Method type for applying suppression {1: linear, 2: gaussian}. Returns: list: Remaining boxes after performing Soft-NMS operation. """ pass # Placeholder implementation details omitted here. ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值