YOLO - 损失函数将目标问题转化为回归问题

YOLO算法将目标检测视为回归问题,利用损失函数调整参数。文章探讨了YOLO如何通过置信度筛选、类别计算和IOU判断来处理目标与非目标的网格,同时介绍了含有目标和不含目标的误差计算,强调了损失函数在实现中的关键作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.通过回归问题解决分类问题:

https://zhuanlan.zhihu.com/p/32525231

记录一些重点:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

上面的公式第一项:遍历所有的cell和所有的boundingbox,存在物体的单元格,并且最大的IOU的boundingbox负责预测这个物体的中心位置,所以系数设为1,其他的都为0. 同理长和宽也是,继续同理置信度也是还有就是类别也是。但是这里还有就是不包含物体的置信度,根据YOLOV2的实现不包含物体是通过IOU的是否超过阈值来决定的。

预测的时候,首先通过置信度进行筛选,然后不同的类别进行NMS。

2.损失函数是回归实现的关键

yolov1 虽然已经是16年的文章了,但是从代码学习的角度,这篇文章虽然简单,但是却告诉我们损失函数的设计的重要性,作者在损失函数层面做了很多的手脚,才能导致让一个如此简单的模型,往目标检测一步步走,网络框架本身并没有多大的突出,无非就是卷积网络,最后输出对应size的tensor。但是loss function的复现才能让我们真正了解了YOLOv1的核心部分。下面贴出目前看起来比较顺眼的复现文章。

Yolo算法将目标检测看成回归问题,所以采用的是均方差损失函数。通过这样的均方误差来调整参数,让参数学习得到最终合适的输出。总体来说就是先将标签转化为符合我们条件的格式比如7730,然后根据标签的7730对应的取寻找预测的数值,进行对应的计算:比如标签带有目标的那么就要计算最大box,如果标签不带有框那么对应的预测值就不计算这些。所以这就是回归的关键。

在这里插入图片描述

将标签转化为了对应的格式,然后让预测值回归接近我们想要的格式。

第一步:
找出包含目标和不含目标的网格 这个的话是符合上面的计算公式的也就是置信度是否为1或者0
含有目标的网格定位误差计算 这个话还要根据他们的IOU的大小来确定,也是符合上面的公式的
含有目标的box的confi

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值