专栏首页AI算法与图像处理一文打尽目标检测NMS | 精度提升篇

一文打尽目标检测NMS | 精度提升篇

本文作者:曲終人不散丶 https://zhuanlan.zhihu.com/p/151914931

众所周知,非极大值抑制NMS是目标检测常用的后处理算法,用于剔除冗余检测框,本文将对可以提升精度的各种NMS方法及其变体进行阶段性总结。

总体概要:

对NMS进行分类,大致可分为以下六种,这里是依据它们在各自论文中的核心论点进行分类,这些算法可以同时属于多种类别。

  1. 分类优先:传统NMS,Soft-NMS (ICCV 2017)
  2. 定位优先:IoU-Guided NMS (ECCV 2018)
  3. 加权平均:Weighted NMS (ICME Workshop 2017)
  4. 方差加权平均:Softer-NMS (CVPR 2019)
  5. 自适应阈值:Adaptive NMS (CVPR 2019)
  6. +中心点距离:DIoU-NMS (AAAI 2020)

分类优先

传统NMS有多个名称,据不完全统计可以被称为:Traditional / Original / Standard / Greedy NMS,为统一起见,下称Traditional NMS。

Traditional NMS算法是最为经典的版本,伪代码如下:

作为最为人所知晓的版本,Traditional NMS不仅有CPU版本,并且现已有GPU版本,GPU版本为Ross Girshick大神编写,俗称CUDA NMS。多个深度学习框架也已将CUDA NMS纳入,作为基本函数使用,如Pytorch在Torchvision 0.3中正式集成了CUDA NMS。

缺点:

  1. 顺序处理的模式,计算IoU拖累了运算效率。
  2. 剔除机制太严格,依据NMS阈值暴力剔除。
  3. 阈值是经验选取的。
  4. 评判标准是IoU,即只考虑两个框的重叠面积,这对描述box重叠关系或许不够全面。

Soft-NMS是Traditional NMS的推广,主要旨在缓解Traditional NMS的第二条缺点。

数学上看,Traditional NMS的剔除机制可视为

缺点:

  1. 仍然是顺序处理的模式,运算效率比Traditional NMS更低。
  2. 对双阶段算法友好,而在一些单阶段算法上可能失效。
  3. 如果存在定位与得分不一致的情况,则可能导致定位好而得分低的框比定位差得分高的框惩罚更多(遮挡情况下)。
  4. 评判标准是IoU,即只考虑两个框的重叠面积,这对描述box重叠关系或许不够全面。

定位优先

IoU-Guided NMS出现于IoU-Net一文中,研究者认为框的定位与分类得分可能出现不一致的情况,特别是框的边界有模棱两可的情形时。因而该文提出了IoU预测分支,来学习定位置信度,进而使用定位置信度来引导NMS。

优点:

IoU-Guided NMS有助于提高严格指标下的精度,如AP75, AP90。

缺点:

  1. 顺序处理的模式,运算效率与Traditional NMS相同。
  2. 需要额外添加IoU预测分支,造成计算开销。
  3. 评判标准是IoU,即只考虑两个框的重叠面积,这对描述box重叠关系或许不够全面。

加权平均

多框共同决定一框

方差加权平均

自适应阈值

以上这些NMS都基于这样的假设:与当前最高得分框重叠越大,越有可能是冗余框。这在物体之间有严重遮挡时可能带来不好的结果。我们期望当物体分布稀疏时,NMS大可选用小阈值以剔除更多冗余框;而在物体分布密集时,NMS选用大阈值,以获得更高的召回。既然如此,该文提出了密度预测模块,来学习一个框的密度。

+中心点距离

第一种相比于第三种越不太可能是冗余框。基于该观点,研究者使用所提出的DIoU替代IoU作为NMS的评判准则,公式如下:

DIoU的定义为

DIoU=IoU-d²/c²

研究者进一步比较了Traditional NMS和DIoU-NMS的性能,在YOLOv3和SSD上,选取NMS阈值为[0.43,0.48]。可以看到DIoU-NMS在每个阈值上都优于Traditional NMS,此外还值得一提的是,即便是性能最差的DIoU-NMS也比性能最好的Traditional NMS相当或更优,说明即便不仔细调整NMS阈值,DIoU-NMS也通常能够表现更好。

YOLOv3(左)和SSD(右)在VOC 2007 test集

这里顺便一提,既然都比了[0.43, 0.48]的阈值,就让人比较好奇更宽的阈值范围会怎样?Traditional NMS会不会有反超DIoU-NMS的情况?当然我个人比较认同DIoU-NMS更优的范围会大一些,也就是NMS阈值不必精调也可放心使用DIoU-NMS。

总结:

  1. 加权平均法通常能够稳定获得精度与召回的提升。
  2. 定位优先法,方差加权平均法与自适应阈值法需要修改模型,不够灵活。
  3. 中心点距离法可作为额外惩罚因子与其他NMS变体结合。
  4. 得分惩罚法会改变box的得分,打破了模型校准机制。
  5. 运算效率的低下可能会限制它们的实时应用性。

参考文献

  • Soft-NMS --Improving Object Detection With One Line of Code. ICCV 2017
  • Acquisition of Localization Confidence for Accurate Object Detection. ECCV 2018
  • Inception Single Shot MultiBox Detector for object detection. ICME Workshop 2017
  • Bounding Box Regression with Uncertainty for Accurate Object Detection. CVPR 2019
  • Adaptive NMS: Refining Pedestrian Detection in a Crowd. CVPR 2019
  • Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression. AAAI 2020

本文分享自微信公众号 - AI算法与图像处理(AI_study),作者:曲終人不散丶

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-07-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 解读目标检测新范式:Segmentations is All You Need

    作者利用注释质量较差的边界框在困难环境中实现稳健的目标检测性能,避免了与 anchor 框或 NMS 相关的所有超参数。他们提出的模型超越了之前基于 ancho...

    AI算法与图像处理
  • 收藏!攻克目标检测难点秘籍二,非极大值抑制与回归损失优化之路

    在前面的秘籍一中,我们主要关注了模型加速之轻量化网络,对目标检测模型的实时性难点进行了攻克。但是要想获得较好的检测性能,检测算法的细节处理也极为重要。

    AI算法与图像处理
  • 人脸识别技术的发展历程

    人脸识别既是一项起源较早的技术,又是一门焕发着活跃生命力、充满着学术研究魅力的新兴技术领域。随着近些年人工智能、大数据、云计算的技术创新幅度的增大,技术更迭速度...

    AI算法与图像处理
  • 目标检测算法中检测框合并策略技术综述

    物体检测(Object Detection)的任务是找出图像或视频中的感兴趣目标,同时实现输出检测目标的位置和类别,是机器视觉领域的核心问题之一,学术界已有将近...

    SIGAI学习与实践平台
  • 目标检测算法中检测框合并策略技术综述

    物体检测(Object Detection)的任务是找出图像或视频中的感兴趣目标,同时实现输出检测目标的位置和类别,是机器视觉领域的核心问题之一,学术界已有将近...

    SIGAI学习与实践平台
  • 新媒体必修课: 如何快速将gif图调整到300帧以内?

    ​为保证最终gif图的流畅,可以采用每隔N帧,抽取1帧的方式, 一张504帧的图片,我们需要每隔1帧抽取1帧微信一直以「克制」著称,为了给用户节省流量,微信公众...

    zhaoolee
  • 概念题知识点总结

    SuperHeroes
  • Qt官方示例-Http

    Qt君
  • Cassandra应用实践

    执行bin/cqlsh ip即可cassandra的shell客户端,可以执行的CQL命令和mysql比较类似。

    用户2003442
  • Crypto算法库详解

    Crypto 算法库在 python 中最初叫 pycrypto,这个作者有点懒,好几年没有更新,后来就有大佬写了个替代库 pycryptodome。这个库目前...

    py3study

扫码关注云+社区

领取腾讯云代金券