🌞欢迎来到人工智能的世界
🌈博客主页:卿云阁💌欢迎关注🎉点赞👍收藏⭐️留言📝
📆首发时间:🌹2026年4月21日🌹
✉️希望可以和大家一起完成进阶之路!
🙏作者水平很有限,如果发现错误,请留言轰炸哦!万分感谢!
目录
损失函数
非极大值抑制
损失函数
YOLOv1把图片分成了7*7=49个网格,每个网格可以预测两组中心点和边界框的信息。也就是
49*2,一共98个中心点和边界框。那么哪一个中心点和边界框才是最好的,最准的呐?
YOLO 模型检测效果优劣的核心评价指标为交并比(IoU),其计算方式如下:在数据预处理阶
段,我们已经标注得到目标物体准确的位置与尺寸信息,该标准边界框称为真实框(Ground
Truth,GT),是模型训练的监督标签。模型推理时会输出一个预测边界框,通过计算预测框与真
实框的交集面积 / 并集面积,即可得到 IoU 值,以此衡量预测框的精准程度。
预测阶段,网络在每个网格输出的信息包含:
两组边界框中心点偏移、宽高偏移量;以及对应两个框的置信度。YOLOv1 置信度定义为:网格包
含目标物体的概率 × 预测框与真实框的 IoU;其中网格存在物体概率为 1,不存在物体则为 0。除
此之外,每个网格还输出20 个类别预测概率值。
YOLOv1 在训练过程中,会将网络预测得到的两个边界框与标注绿色真实框(GT)进行匹配对
比,自动舍弃IoU 交并比较小的预测框,仅保留匹配度更高的边界框参与后续损失函数计算。
接下来介绍 YOLOv1 损失函数:
式中S2代表划分的7×7 共 49 个网格,参数B=2代表每个网格预测2 个边界框。
obj表示网格包含目标物体时取值为 1,不包含物体时取值为 0;noobj与之相反,网
格存在物体时取 0,不存在物体时取 1。
损失函数在计算时同时兼顾含物体网格与不含物体网格。
权重系数 5用于放大中心点与边界框坐标的损失权重。由于 49 个网格中真正包含物体的网格占比
极少,设置该权重可以增强含物体网格的损失贡献,引导模型重点关注目标位置。
损失函数前两项为位置损失,采用均方误差计算预测框中心点、宽高与真实框的偏差,计算方式为
真实值与预测值作差后平方。后续依次为置信度损失与类别分类损失。
非极大值抑制
YOLOv1 一共会输出 98 个预测框,那么模型是如何从中筛选出最优检测框的呢?
每个网格输出的预测向量中,后 20 个数值为 20 个类别的预测概率;向量前 10 个参数包含两组边
界框信息,其中对应两个边界框的置信度得分。网格边界框的置信度得分由公式计算得出,具体定
义如下:
随后我们可以得到2 个长度为 20 维的新向量,向量中每一个数值,分别代表该预测框对应各个类
别目标的置信可靠程度。
最终我们可以得到98 个 20 维向量,分别对应网络预测的 98 个边界框。向量中每一列数值,代表
对应类别的置信度得分,例如第一列即为目标属于汽车类别的置信度。
我们按类别依次处理:以汽车类别为例,筛选出置信度大于 0.2 的预测框,其余不符合条件的框全
部舍弃(代码实现时直接将对应置信度置 0);再将保留的预测框按照置信度从高到低排序,为后
续非极大值抑制 NMS 做准备。
最终整理得到一个98×20的矩阵,我们剔除矩阵中所有置信度为 0 的无效数据,即可进行预测框
绘制。以汽车类别为例:单独在汽车这一类中,筛选出置信度得分最高的预测框,提取其对应的中
心点与边界框坐标,绘制到原始图片上,并标注对应类别标签即可。
【1】上述所有内容,参考大白话讲明白YOLOv1的损失函数 #YOLO #YOLOv1 #目标检测 #深度学习#知识前沿派对 - 抖音