摘要

非极大值抑制是目标检测流程中不可分割的一部分。首先它基于检测结果对所有检测框进行分类,选择得分最高的检测框M,并抑制与M有明显重叠的所有其他检测框,这个过程被递归地应用到其余的框上。根据算法的设计,如果一个对象位于预定义的重叠阈值内,则会导致丢失。为此,我们提出了Soft-NMS算法,该算法将其他所有对象的检测分数衰减为与M重叠的连续函数。因此,在这个过程中没有对象被消除。Soft-NMS在标准数据集如PASCAL VOC2007和MS-COCO上采用mAP度量标准获得了一致提升,方法是只修改最大极大值抑制算法,而不添加任何超参数。使用Deformable-RFCN,Soft-NMS将单一模型中最先进的目标检测技术由39.8%提高到40.9%,此外,Soft-NMS的计算复杂度与传统的NMS相同并且该方法可以进行被有效的实现。由于Soft-NMS不需要任何额外的训练,且易于实现,因此可以轻松的集成到任何目标检测方法中。

1. 介绍

目标检测是计算机视觉中的一个基本问题,算法为指定的目标类别生成边界框,并对其进行分类打分。它在自动驾驶、视频/图像搜索、监控等领域有许多实际应用,因此任何为目标检测算法提出的新组件都不应该造成计算瓶颈,否则在实际运用中很容易被忽略。此外,如果引入了一个复杂的模块,需要对模型进行重新训练,这个模型所带来的性能上的一些改进也会被忽略。但是,如果一个简单的模块可以在不需要对现有模型进行任何重新训练的情况下提高性能,那么它将被广泛采用。为此,我们提出了一种Soft-NMS算法,作为当前对象检测方法中传统NMS算法的替代。

传统的目标检测方法采用基于多尺度滑动窗口的方式,根据每个窗口计算的特征为每个类分配前景/背景分数。然而,相邻的窗口通常有相关的分数,所以使用非极大值抑制作为后处理步骤,以获得最终的检测。随着深度学习的出现,滑动窗口方法被使用卷积神经网络的区域建议框所替代。在最先进的检测器中,这些建议框被输入到一个分类子网络中,该子网络为它们分配特定的类别得分,另一个平行的回归子网络改善这些建议框的位置。这个改善过程提高了目标位置信息,但也导致了杂乱的检测,因为多个建议框常常被回归到相同的感兴趣区域。因此即使在最先进的检测器中,非极大只抑制也被用于获取最终的检测集合,因为它显著的减少了假阳性的数量。

非极大值抑制从带有分数S的一系列检测框B开始,在选择以M为最大得分的检测后,将其从集合B中删除并将其附加到最终检测的集合D中,它还删除了集合B中与M重叠大于阈值Nt的任何框。对于剩余的框B重复这个过程。非极大值抑制的一个主要问题是它将相邻检测的分数设置为零。因此,如果一个对象实际存在于重叠的阈值中,它就会被丢弃,这将导致平均精度的下降。然而如果我们降低检测分数作为其与M重叠的函数,它将仍然会在排名列表中,尽管置信度较低。我们在图一中展现了这个问你体的说明。

我们对传统的贪心NMS算法进行了一行修改,随着重叠区域的增加降低检测分数,而不是像NMS那样将分数设为零。直观上来说,如果一个边界框与M的重叠度非常高,那么它应该被赋给一个非常低的分数。而如果它的重叠度很低,那么它可以保持原来的检测分数。这种Soft-NMS算法如图2所示。在诸如PASCAL VOC和MS-COCO这样的标准数据集上,Soft-NMS在多个重叠阈值上测量的平均精度显著提高。由于Soft-NMS不需要任何额外的训练,且易于实现,因此可以很容易地集成到目标检测方法中。

2.相关工作

近50年来,NMS一直是计算机视觉检测算法的重要组成部分。它最初用于边缘检测技术,随后被应用于特征点检测,人脸检测,目标检测等多个任务。在边缘检测中,NMS对边缘进行细化以去除虚假响应。在特征点检测器中,NMS能够有效的执行局部脱粒,以获得独特的特征点检测。在人脸检测中,NMS是通过使用重叠准则将边界框划分为不相交的子集来执行的,最终的检测是通过平均集合中的检测框坐标获得的。Dalal和Triggs证明了一种贪婪NMS算法,一个带有最大检测分数的边界框使用一个预定义的重叠阈值抑制其邻近的边界框来提高性能用于人脸检测。此后,贪婪NMS算法成为目标检测中实际使用的算法。

本篇论文主要是针对目标检测中的非极大值抑制这部分进行了改善,可以检测出相邻的相同物体。在目标检测的任务中,非极大值抑制(NMS)是一种对检测结果进行冗余去除操作的后处理算法,可以理解为局部最大搜索。标准的极大值抑制算法是手工设计一个阈值,基于这个固定的距离值进行贪婪聚类 ,即:贪婪的选取得分高的检测结果并删除那些超过阈值的相邻结果,使得在recall和precision之间取得权衡。NMS是一个迭代-遍历-消除的过程。

(1)将所有框的得分排序,选中最高分及其对应的框

(2)遍历其余的框,如果和当前最高分框的重叠面积大于一定阈值,我们就将框删除。

(3)从未处理的框中继续选一个得分最高的,重复上述过程

论文解读——Improving Object Detection With One Line of Code相关推荐

  1. 《Soft-NMS – Improving Object Detection With One Line of Code》论文翻译

    前言 <Soft-NMS – Improving Object Detection With One Line of Code>发表于2017年ICCV 资源 论文下载 论文题目及作者 摘 ...

  2. 目标检测--Improving Object Detection With One Line of Code

    Improving Object Detection With One Line of Code https://arxiv.org/abs/1704.04503 Code: https://gith ...

  3. Soft-NMS – Improving Object Detection With One Line of Code

    参考  Soft-NMS – Improving Object Detection With One Line of Code - 云+社区 - 腾讯云 摘要 非最大抑制是目标检测流程的重要组成部分. ...

  4. 【论文阅读】 Object Detection in 20 Years: A Survey

    [论文阅读]Object Detection in 20 Years: A Survey 摘要 论文介绍 1.目标检测 2.目标检测的里程碑 3.数据集 4.性能度量 摘要 本篇博客参考Object ...

  5. 论文记录-2019-Salient object detection: A survey

    论文记录-2019-Salient object detection: A survey 论文内容 摘要 1 简介 (1)什么是显著物体检测? (2)定位显著物体检测(与其他问题差异) (3)显著物体 ...

  6. 基于dota的目标检测(旋转框)论文阅读Oriented Object Detection in Aerial Images with Box Boundary-Aware Vectors

    基于dota的目标检测(旋转框)|论文阅读Oriented Object Detection in Aerial Images with Box Boundary-Aware Vectors 文章目录 ...

  7. [论文解读] Metamorphic Object Insertion for Testing Object Detection Systems

    Metamorphic Object Insertion for Testing Object Detection Systems 文章目录 Metamorphic Object Insertion ...

  8. ECCV2020 | 论文阅读——Arbitrary-Oriented Object Detection with Circular Smooth Label

    CSL基于圆形平滑标记的任意方向目标检测 Abstract 1 Introduction 2 Related Work 3 Proposed Method 3.1 Regression-based R ...

  9. 论文阅读 R-FCN: Object Detection via Region-based Fully Convolutional Networks

    本文转载自: http://www.cnblogs.com/lillylin/p/6277094.html R-FCN论文阅读(R-FCN: Object Detection via Region-b ...

最新文章

  1. Linux core dump的详细介绍及使用
  2. libvmi编译问题
  3. 如何在实际场景中使用异常检测?阿里云Prometheus智能检测算子来了
  4. cvs update 的输出标志/update常用几个参
  5. 计算机专业学教育技术优势,西南交通大学教育技术学(040110)专业介绍
  6. Android之You need to use a Theme.AppCompat theme (or descendant) with this activity.
  7. 唯一索引与主键索引的比较
  8. 小程序tab切换效果
  9. HDU_oj_2046 骨牌铺方格
  10. 获取客户端IP和MAC
  11. 十个让你变成糟糕的程序员的行为
  12. (转) Eclipse Maven 编译错误 Dynamic Web Module 3.1 requires Java 1.7 or newer 解决方案
  13. redis数据类型之hash入门
  14. 如何使用电脑扫描二维码
  15. WPF 第三方控件学习使用——可停靠布局控件(AvalonDock)
  16. npm install没有node_文件,并且package.json文件缺失
  17. eclipse cdt + rse文件保存遇到的问题
  18. 变邻域搜索算法解决0-1背包问题
  19. 【水果识别】柑橘质量检测及分级系统【含GUI Matlab源码 738期】
  20. 数据结构与算法(python版)—— 无序表

热门文章

  1. SQL的简单增、删、改
  2. 51nod 1574: 排列转换
  3. 凸包模板(分治 or Graham扫描法)
  4. 图像形态学变换 膨胀和腐蚀 开闭运算 边缘检测 opencv实现
  5. 吴恩达神经网络和深度学习-学习笔记-18-Softmax回归
  6. python机器学习库sklearn——生成样本数据
  7. jQuery Mobile中头部栏header的data-*选项
  8. 使用python简单分析个人微信好友
  9. java进程CPU飙高
  10. Yaml spring boot 二维数组写法