yolo算法总结

本文详细介绍了YOLO(You Only Look Once)算法,从YOLOv1的原理出发,包括细胞划分、边界框预测、置信度和分类信息预测。接着讨论了训练阶段的损失函数和测试阶段的非极大值抑制(NMS)。还分析了YOLOv1的缺点,并介绍了YOLOv2和YOLOv3的改进,如联合训练法、锚框(anchor)的使用、特征金字塔网络(FPN)以及更复杂的backbone网络。最后阐述了锚框计算过程,通过k-means聚类找到最优的预设边界框尺寸。
摘要由CSDN通过智能技术生成

YOLOv1的原理:
1.划分成S*S个cell,物体落在哪个cell,哪个cell就负责预测这个物体:

解释:
训练阶段:在训练阶段,如果物体中心落在这个cell,那么就给这个cell打上这个物体的label(包括xywh和类别)。通过这种方式来设置训练的label的。换言之,我们在训练阶段,就教会哪个cell要预测图像中的哪个物体。
测试阶段:因为你在训练阶段已经教会了cell去预测中心落在该cell中的物体,那么cell自然也会这么做。

2.每个网格预测多个bounding box,预测内容包括bounding box和confidence。
bounding box预测:
左上角的坐标相对偏移量x、y,宽高w、h进行归一化到(0,1)方便损失函数收敛

confidence预测:
confidence指的是该cell有无目标的置信度A在这里插入图片描述
和预测box的准确度B在这里插入图片描述
的乘积。confidence=A*B=在这里插入图片描述

训练阶段:给每个框的confidence打label。如果物体中心不在cell内,A=0,那么就没有必要算B了,confidence的label=0。如果在,A=1,此时confidence的label=1*B,其中B是不断训练计算得到的,因为每次预测得到的bounding box不一样,IOU也就不一样

测试阶段:每个cell输出一个confidence,隐含地表示了IOU。不需要分别计算A和B,也没法计算。因为训练的时候就是A*B,所以测试时候的输出也是这个值。

3.每个网格同时预

Yolo算法(You Only Look Once)是一种目标检测算法,它的特点是快速且准确。下面是Yolo算法的前世今生[^1][^2]: 1. 前世: - Yolo算法最早由Joseph Redmon等人于2015年提出。相比于传统的目标检测算法Yolo算法采用了全新的思路,将目标检测问题转化为一个回归问题,通过一个单一的神经网络同时预测目标的类别和位置。 - Yolo算法的核心思想是将输入图像分成一个固定大小的网格,每个网格负责预测该网格内是否存在目标以及目标的位置和类别。这种设计使得Yolo算法能够实现实时目标检测,因为它只需要一次前向传播就可以得到所有目标的预测结果。 2. 今生: - 随着时间的推移,Yolo算法不断进行改进和优化。Yolov2在Yolov1的基础上引入了一些改进,如使用anchor boxes来提高目标位置的准确性,使用Darknet-19作为基础网络来提高检测性能等。 - Yolov3进一步改进了Yolov2,引入了多尺度预测、使用FPN结构来提取不同尺度的特征、使用更大的网络来提高检测性能等。Yolov3在速度和准确性方面取得了很好的平衡,成为了目标检测领域的重要算法之一。 - Yolov4在Yolov3的基础上进行了一系列改进,如使用CSPDarknet53作为基础网络、引入SAM模块来提取更丰富的特征、使用YOLOv4-tiny来实现更快的检测速度等。Yolov4在准确性和速度方面都有显著提升。 - Yolov5是Yolov4的改进版本,主要优化了网络结构和训练策略,进一步提高了检测性能和速度。 总结来说,Yolo算法通过将目标检测问题转化为回归问题,并采用网格预测的方式,实现了实时目标检测。随着不断的改进和优化,Yolo算法在准确性和速度方面取得了显著的进展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值