NMS(非极大值抑制)

NMS(非极大值抑制)近段时间一直在看 multi personposees 在最后有一个剔除候选 keypoint 的过程 该过程采用的 NMS 方法 但我一直对 NMS 不理解 经过查找资料 整理出本人对 NMS 的理解内容 如有不对请指出 在引进 NMS 概念之前我们先介绍 IOU 交并比 因为在 NMS 中选出框图起到至关重要的作用 1 IOU 交并比 物体检测需要定位出物体的 boundingbox 就像上面的图片一样 我们不仅要定位出车辆的 bounding

近段时间一直在看multi-person pose estimation,在最后有一个剔除候选keypoint的过程,该过程采用的NMS方法。但我一直对NMS不理解,经过查找资料,整理出本人对NMS的理解内容,如有不对请指出。

在引进NMS概念之前我们先介绍IOU(交并比),因为在NMS中选出框图起到至关重要的作用

1、IOU(交并比)

                           NMS(非极大值抑制)

物体检测需要定位出物体的bounding box,就像上面的图片一样,我们不仅要定位出车辆的bounding box 我们还要识别出bounding box 里面的物体就是车辆。

对于bounding box的定位精度,有一个很重要的概念,那就是定位精度评价公式:IOU。

IOU表示了bounding box 与 ground truth 的重叠度,如下图所示:

这里写图片描述

矩形框A、B的一个重合度IOU计算公式为:

                                                                 IOU=Area(A∩B)/Area(A∪B)

就是矩形框A、B的重叠面积占A、B并集的面积比例:

                                                                 IOU=SI/(SA+SB-SI)

如何计算IOU(交并比)

                                 NMS(非极大值抑制)

首先求出重合面积:

     选取两个矩形框左顶角的横,纵坐标的最大值,x21,y21;选取两个矩形框右下边角的横纵坐标的最小值,x12,y12;

重合面积计算:

                             inter=    \left | x12-x21 \right |*\left | y12-y21 \right |

并集的面积计算:

                        b =\left | x_{11}- x_{12}\right |*\left | y_{11}- y_{12} \right |+\left | x_{21}- x_{22}\right |*\left | y_{21}- y_{22} \right |-inter

                              

计算IOU:

                                   IOU=\frac{inter}{b}

NMS(非极大值抑制)

有了IOU(交并比)的概念理解,接下来我们就进入正题,介绍NMS

2、NMS概念

NMS也即非极大值抑制。在最近几年常见的物体检测算法(包括rcnn、sppnet、fast-rcnn、faster-rcnn等)中,最终都会从一张图片中找出很多个可能是物体的矩形框,然后为每个矩形框为做类别分类概率:

所谓非极大值抑制:依靠分类器得到多个候选框,以及关于候选框中属于类别的概率值,根据分类器得到的类别分类概率做排序,具体算法流程如下:

举例说明:(1)(2),这里设定交并比>=0.6就删除对比框图,留下最高分的框图;对于低于阈值的框图留下,然后在剩下的框图中排序,选出置信度值高的框图,然后重复交并比比较这个过程。

(1)选出Dog这个框图

NMS(非极大值抑制)

NMS(非极大值抑制)

NMS(非极大值抑制)

(1)选出Bike这个框图

NMS(非极大值抑制)

NMS(非极大值抑制)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202658.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午11:37
下一篇 2026年3月19日 下午11:37


相关推荐

  • pycharm编制索引_网页制作作品源代码

    pycharm编制索引_网页制作作品源代码tree/f/a>codeTree.txt

    2022年8月29日
    6
  • 苹果x充电慢是什么原因_iPhone 12支持15W MagSafe无线充电,未来苹果手机的充电会发生什么?_充电器…

    2020-10-2122:44:400点赞0收藏0评论2020年由于一些特殊的原因导致一切似乎都和平时不一样了,所有的发布会都改成了线上,而备受关注的苹果也将发布会转移到了线上并采用录播的形式播出,从WWDC2020开始,我们就看到了一个不一样的线上发布会。众所周知,每年的秋季苹果都会发布新iPhone。在2020年9月份的苹果发布会上我们只见到了新iPad和新的AppleWatch发布,有且…

    2022年4月7日
    63
  • Dubbo – Dubbo的SPI机制

    Dubbo – Dubbo的SPI机制SPI 是什么 SPI 全称 serviceprovi 比如你有一个接口 现在这个接口有三个实现类 那么在系统运行的时候对这个接口到底选择哪个实现类呢 这就需要 SPI 了 需要根据指定的配置或者默认的配置 去找到对应的实现类加载进来 然后用这个实现类的实例对象 举个例子 你有一个接口 A A1 A2 A3 分别是接口 A 的不同实现 你通过配置接口 A 实现类 A2 那么系统在

    2026年3月17日
    2
  • python中OS模块;

    python中OS模块;OS 模块 OS 模块简单的来说它是一个 Python 的系统编程的操作模块 可以处理文件和目录这些我们日常手动需要做的操作 在自动化测试中 经常需要查找操作文件 比如查找配置文件 从而读取配置文件的信息 查找测试报告等等 经常会对大量文件和路径进行操作 这就需要依赖 os 模块 gt gt gt importos 导入 OS 模块 gt gt gt help os

    2026年3月19日
    2
  • 开心娱乐辅助器_快乐西游怎么开内挂

    开心娱乐辅助器_快乐西游怎么开内挂经过前两篇文章,我们已经可以得到了我们的花园的基本信息了,并用xml反序列化来映射到相应的实体类中,有了花园信息,我就就要来研究其一些动作的实现了,比如说:浇水、除草、收获、偷盗等等功能具体是怎么来实现的, 首先还是打开fiddler2抓一下包看看收获:GET/!house/!garden/havest.php?verify=22842320%…

    2025年11月6日
    6
  • mac电脑 datagrip 激活码_通用破解码

    mac电脑 datagrip 激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号