深度学习基础—交并比与非极大值抑制

1.交并比


(1)定义

交并比是用来衡量目标检测算法的表现的函数。定义如下:

用预测框和真实框的面积的交集除以预测框和真实框的面积的并集,得到的结果本次算法预测的交并比。研究函数可以发现,交并比的范围为[0,1](1说明预测框与真实框重叠,0说明完全不重合),其值越大,说明算法表现越优(定位准)。

(2)阈值

关于上图,预测框是网络给出的紫框,真实框是红框,那目标检测算法给出结果是优还是劣?通过计算交并比,只能得到一个数字说明重合的程度,因此可以给出阈值,如果超过这个阈值,就认为算法表现好,如果小于这个阈值,就认为算法表现差。一般初始阈值设为0.5,如果希望严格一点,就可以设置为超过0.5的值,比如0.6、0.7等等。loU越高,边界框越精确。

2.非极大值抑制


假设我们需要在下面图片里检测汽车,将图片划分为19×19网格,理论上车只有一个中点,所以它应该只被分配到一个格子里。实际上,可能1、2、3、4、5、6编号的格子都认为自己的区域有车,出现了多个定位,而图片中只有两辆车,应该只有两个定位,因此可以使用非极大值抑制算法,将汽车分类概率最高的格子保留,同一辆汽车的其他低分类概率的格子的定位删除。这也是非极大值抑制要做的事情。

非极大值抑制需要用到交并比LOU,因此假设交并比阈值为0.5,而分类概率阈值设为0.6(低于0.6的不认为是汽车分类),非极大值抑制算法步骤:

Step1:删除分类概率pc小于等于0.6的定位边框。

Step2:选择当前剩余边框中pc最大的概率值作为算法的输出,即分类概率。

Step3:计算和Step2中选择的最大概率值边框重叠的边框的交并比,并删除交并比大于等于0.5的定位边框(因为这些边框和最大概率的边框重叠的太多,很有可能表示同一个对象的定位)。

Step4:重复循环Step2-Step3,直到不再剩余要被删除的边框。

以上图为例,首先去除小于0.6的边框后剩余的边框均用蓝色表示,选择最大的概率的边框0.9,高亮该边框,计算与该边框重叠的边框0.6和0.7,发现交并比均大于0.5,因此需要删去,这里选择较暗的蓝色表示抑制。

接着还存在没有被删去的边框,即左边黑色轿车附近,选择概率最大的0.8,抑制交并比大于0.5的概率0.7表示的边框,即上图所示的结果。于是最终检测出两个汽车对象,即高亮框的范围。

非极大值意味着只输出概率最大的分类结果,但抑制很接近而不是最大的其他预测结果,所以这方法叫做非极大值抑制。

注意:如果同时检测多个对象,比如说行人、汽车、摩托,那么输出向量就会有三个额外的分量(c1、c2和c3)。正确的做法是独立进行三次非极大值抑制,对每个输出类别都做一次,因此实际上计算的边框的概率应该是pc乘c1、c2或c3。

相关推荐
海边夕阳20064 小时前
【每天一个AI小知识】:什么是生成对抗网络?
人工智能·经验分享·深度学习·神经网络·机器学习·生成对抗网络
Wise玩转AI4 小时前
Day 27|智能体的 UI 与用户交互层
人工智能·python·ui·ai·chatgpt·ai智能体
youcans_4 小时前
【youcans论文精读】VM-UNet:面向医学图像分割的视觉 Mamba UNet 架构
论文阅读·人工智能·计算机视觉·图像分割·状态空间模型
铮铭4 小时前
扩散模型简介:The Annotated Diffusion Model
人工智能·机器人·强化学习·世界模型
轻竹办公PPT4 小时前
轻竹论文:毕业论文AI写作教程
人工智能·ai·ai写作
呵呵哒( ̄▽ ̄)"4 小时前
专项智能练习(课程类型)
人工智能
2501_918126915 小时前
如何用ai把特定领域的生活成本归零
人工智能·生活·个人开发
Brianna Home5 小时前
[鸿蒙2025领航者闯关] 鸿蒙 6.0 星盾安全架构 + AI 防窥:金融级支付安全实战与深度踩坑实录
人工智能·安全·harmonyos·安全架构
飞哥数智坊6 小时前
V4/R4 没来,但 DeepSeek-V3.2 好像又便宜又好用?
人工智能·deepseek