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

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。

相关推荐
Deepoch2 分钟前
Deepoc 具身模型开发板:赋能电厂巡检机器人,筑牢能源运维智能防线
人工智能·科技·机器人·具身模型·deepoc·电厂巡检
gorgeous(๑>؂<๑)2 分钟前
【ICLR26-Oral Paper-Meta】先见之明:揭秘语言预训练中大型语言模型的视觉先验
人工智能·深度学习·算法·机器学习·语言模型
凉冰不加冰3 分钟前
机器学习系统详解
人工智能·机器学习
诚思报告YH3 分钟前
普及化专业级3D扫描设备(三角结构光技术)市场洞察:未来六年复合年均增长率(CAGR)为4.6%
大数据·人工智能
橙-极纪元3 分钟前
AI代码生产部署安全标准作业程序(SOP)的附件1:风险评估矩阵
人工智能·安全·矩阵
SunnyRivers3 分钟前
理解人工智能与大语言模型(LLMs)
人工智能·大语言模型
好家伙VCC5 分钟前
**发散创新:用 Rust构建多智能体系统,让分布式协作更高效**在人工智能快速演进的今天,**多智能体系统(
java·人工智能·分布式·python·rust
格林威5 分钟前
Baumer相机汽车雨刮胶条磨损检测:实现寿命预测的 6 个关键技术,附 OpenCV+Halcon 实战代码!
人工智能·opencv·计算机视觉·汽车·视觉检测·工业相机·堡盟相机
陈天伟教授8 分钟前
人工智能应用- 人机对战:01. AI 游戏
人工智能·深度学习·神经网络·游戏·自然语言处理·机器翻译
肾透侧视攻城狮9 分钟前
《超越安装:构建可维护、高性能的TensorFlow专业开发环境》
人工智能·深度学习·tensorflow 环境搭建·conda 创建虚拟环境·开发工具安装·jupyter相关问题解决·tensorf开发环境优化