深度学习笔记(38) 非极大值抑制

深度学习笔记(38) 非极大值抑制


1. 对象多次检测问题

到目前为止学到的对象检测中的一个问题是,算法可能对同一个对象做出多次检测
所以算法不是对某个对象检测出一次,而是检测出多次
非极大值抑制(Non-max suppression)这个方法可以确保算法对每个对象只检测一次


2. 非极大值抑制

在这里插入图片描述
设需要在这张图片里检测行人和汽车,可能会在上面放个19×19网格
理论上这辆车只有一个中点
所以它应该只被分配到一个格子里,左边的车子也只有一个中点
所以理论上应该只有一个格子做出有车的预测
在这里插入图片描述
实践中当运行对象分类和定位算法时,对于每个格子都运行一次
所以这个格子(编号1)可能会认为这辆车中点应该在格子内部
这几个格子(编号2、3)也会这么认为

对于左边的车子也一样
不仅这个格(编号4)子会认为它里面有车
也许这个格子(编号5)和(编号6)也会

因为要在361个格子上都运行一次图像检测和定位算法
那么可能很多格子都会说自身有车的概率pc很高
所以当运行算法的时候,最后可能会对同一个对象做出多次检测
所以非极大值抑制做的就是清理这些检测结果
在这里插入图片描述
所以这个算法做的是,首先看看每次报告每个检测结果相关的概率pc
概率最大的那个,最可靠的检测,这个例子(右边车辆)中是0.9
所以就用高亮标记,就说这里找到了一辆车

这么做之后,非极大值抑制就会逐一审视剩下的矩形
所有和这个最大的边框有很高交并比,高度重叠的其他边界框,那么这些输出就会被抑制
所以这两个矩形pc分别是0.6和0.7,这两个矩形和淡蓝色矩形重叠程度很高
所以会被抑制,变暗,表示它们被抑制了
在这里插入图片描述
接下来左边车辆,逐一审视剩下的矩形,找出概率最高,pc最高的一个,在这种情况下是0.8,
就认为这里检测出一辆车(左边车辆),然后非极大值抑制算法就会去掉其他loU值很高的矩形
所以现在每个矩形都会被高亮显示或者变暗
如果直接抛弃变暗的矩形,那就剩下高亮显示的那些
这就是最后得到的两个预测结果,所以这就是非极大值抑制
非最大值意味着只输出概率最大的分类结果,抑制不是极大值的元素


3. 独立性

只做汽车检测,就去掉c1、c2和c3的类别输出
然后假设这条线对于19×19的每一个输出,对于361个格子的每个输出
会得到这样的输出预测,就是格子中有对象的概率(pc),然后是边界框参数(bx、by、bh和bw

如果尝试同时检测三个对象,比如说行人、汽车、摩托
那么输出向量就会有三个额外的分量(c1、c2和c3
事实证明,正确的做法是独立进行三次非极大值抑制,对每个输出类别都做一次


参考:

《神经网络和深度学习》视频课程


相关推荐:

深度学习笔记(37) 交并比
深度学习笔记(36) 边界框预测
深度学习笔记(35) 滑动窗口的卷积实现
深度学习笔记(34) 目标检测
深度学习笔记(33) 特征点检测


谢谢!

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

氢键H-H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值