在R-CNN算法第一阶段中,selective search会产生2000个region proposals。经过svm打分后,一个物体可能就有多个框。如下图:

但是我们需要一个物体只有一个最优框(相对同一物体的所有的框,即SVMs打分后得到的矩阵的一个列向量中挑选最优的)。于是使用NMS来抑制冗余的框,得到如下图的结果:

举一个例子:某个物体最终得到了A,B,C,D,E,F六个框,按照SVMs打分从高到低刚好也是A,B,C,D,E,F。挑选出得分最高的A,然后遍历剩下的(候选集),依次计算相对于A的IOU,如果IOU>阈值,则抛弃对应的框(例如:IOU(A,B)>阈值,则抛弃B),否则放回候选集。遍历完后,如果候选集还有元素且元素个数大于1,继续挑选出候选集中得分最高的(例如上一轮只抛弃了B,候选集中是C,D,E,F,那么现在得分最高的的是C),然后遍历候选集,再依次计算(同上),知道候选集中没有元素,或者只剩一个元素。那么留下的就是最优的框。(直观上理解还是会有多个框,我的理解是IOU>阈值就抛弃,杜绝了在同一个区域内重复出现多个框,但是一幅图中可能有多个同类型的目标,例如上图就有两张脸,剩下的多个框一定程度上是标注的多个目标

作者:刘航呈
链接:https://zhuanlan.zhihu.com/p/30316608
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

转载于:https://www.cnblogs.com/leebxo/p/10188006.html

R-CNN-减少region proposals的数量:NMS(非极大值抑制)相关推荐

  1. Non-Maximum Suppression,NMS非极大值抑制

    Non-Maximum Suppression,NMS非极大值抑制 概述 非极大值抑制(Non-Maximum Suppression,NMS),顾名思义就是抑制不是极大值的元素,可以理解为局部最大搜 ...

  2. 深度学习自学(三):NMS非极大值抑制总结

    非极大值抑制(Non-Maximum Suppression,NMS) 顾名思义就是抑制不是极大值的元素,可以理解为局部最大搜索.这个局部代表的是一个邻域,邻域有两个参数可变,一是邻域的维数,二是邻域 ...

  3. 目标窗口检测算法-NMS非极大值抑制

    1. NMS(non maximum suppression)的定义和算法步骤 NMS(non maximum suppression),中文名非极大值抑制,在很多计算机视觉任务中都有广泛应用,如:边 ...

  4. 目标检测中的LOU(交并比)和NMS(非极大值抑制)代码实现

    1.LOU, 两个box框的交集比上并集,示意图如下所示: 代码如下所示: #假设box1的维度为[N,4] box2的维度为[M,4] def Lou(box1, box2):N = box1.si ...

  5. 目标检测的Tricks | 【Trick9】nms非极大值抑制处理(包括变体merge-nms、and-nms、soft-nms、diou-nms等介绍)

    如有错误,恳请指出. 用这篇博客记录一下nms,也就是非极大值抑制处理,算是目标检测后处理的一个难点. 在训练阶段是不需要nms处理的,只有在验证或者是测试阶段才需要将预测结果进行非极大值抑制处理,来 ...

  6. NMS——非极大值抑制

    NMS(non maximum suppression),中文名非极大值抑制,在很多计算机视觉任务中都有广泛应用,如:边缘检测.目标检测等. 这里主要以人脸检测中的应用为例,来说明NMS,并给出Mat ...

  7. NMS 非极大值抑制

    非极大值抑制(non maximum suppression,NMS),顾名思义就是抑制不是极大值的元素,搜索局部的极大值. 定位一个车辆时,算法可能会找出一堆候选框,为了从中找出最佳候选框,非极大值 ...

  8. yolov3 NMS非极大值抑制

    基本原理:对于Bounding Box的列表B及其对应的置信度S,采用下面的计算方式.选择具有最大score的检测框M,将其从B集合中移除并加入到最终的检测结果D中.通常将B中剩余检测框中与M的IoU ...

  9. 【概念梳理】NMS 非极大值抑制

    写在最前 本文对网上关于 NMS 的解释整理了一下 一.原理 YOLO在最后的一个步骤就是对 SxSx(Bx5+C) 个向量进行非极大值抑制(Non-max suppression),一开始不是太明白 ...

最新文章

  1. 阿里达摩院已经研发出第一个可控的量子比特
  2. JAVA连接数据库使用的API是什么呢,如何使用JDBC API在Java中建立数据库连接?
  3. Java中Set巧用,去掉重复数据
  4. 当你不知道发什么表情包的时候...
  5. python将html存为pdf_用Python将HTML转为PDF。
  6. 【SQL*PLUS】Copy Command
  7. C语言标准库<string.h>
  8. 易到CEO巩振兵被曝本周已离职 其称“在开会”
  9. java 给word加水印_java实现word文档转pdf,并添加水印
  10. ng6的ng-template的一个用法
  11. stc12c5a60s DHT11温湿度传感器
  12. SoviChart数据可视化:条形图(Bar chart)
  13. Web全栈开发1+x(中级)PHPMySQL知识
  14. AGV移动机器人PID运动控制
  15. (2014/7/16—28)当不同说话人讲相…
  16. 阿里云上基于WordPress快速搭建个人博客
  17. OpenCV入门系列1:图像组成与OpenCV基本操作函数
  18. 10小时入门大数据视频教程
  19. CBAM——即插即用的注意力模块(附代码)
  20. Redis和Git的常见命令

热门文章

  1. 如何把数据在A表空间里面,把它IMP进B表空间
  2. 转载:Yahoo推出视频标签游戏
  3. android+java.lang.VerifyError
  4. WebApp本地存储 (离线缓存策略策略)
  5. React 中 keys 的作用是什么?
  6. 阿里Java面试题剖析:为什么使用消息队列?消息队列有什么优点和缺点?
  7. OpenCV调用TensorFlow预训练模型
  8. Python XML 解析
  9. BZOJ3747: [POI2015]Kinoman
  10. hdu 2795(单点改动)