YOLO理解

  • 目标检测任务转化为一个单一的回归问题,从输入图像直接预测目标的类别和边界框
  • 将图像分成S×S的网格,每个网格负责预测一定数量的边界框以及这些框内物体的置信度和类别,通过一次性完成检测和分类
  • ? 只有一部分,不就识别不出来了

每一个版本有一些新特性

YOLOv1:YOLO的初代版本,提出了将目标检测简化为回归问题的创新思路。YOLOv1通过一次前向传播即可完成目标检测,但在处理小目标时表现不佳,且检测的精度在复杂场景中有所欠缺。

YOLOv2(YOLO9000):在YOLOv1的基础上,YOLOv2引入了批归一化(Batch Normalization)、Anchor Boxes等技术,极大地提高了模型的稳定性和检测精度。YOLOv2还能够同时在ImageNet和COCO数据集上进行训练,实现了对多种目标类别的检测。

YOLOv3:YOLOv3引入了一个新的特征提取网络Darknet-53,并采用了多尺度检测方法,使得模型在不同大小的目标检测上表现更为出色。此外,YOLOv3在检测速度和精度之间达到了良好的平衡,成为了当时的主流检测算法。

YOLOv4:YOLOv4结合了诸如CSPNet、Mish激活函数等最新的网络结构与优化方法,在保证检测速度的同时进一步提高了精度。YOLOv4在速度和精度上取得了显著的进步,并且兼顾了硬件资源的有效利用。

YOLOv5:虽然YOLOv5并非由YOLO的原作者发布,但由于其在易用性和性能上的出色表现,迅速成为了开发者们的首选。YOLOv5采用了PyTorch框架实现,并在推理速度和精度上取得了很好的平衡,是实际应用中广泛使用的版本。

YOLOv9:作为YOLO的最新版本,YOLOv9专注于模型的效率优化,推出了GELAN(General Efficient Layer Aggregation Network)和PGI(Programmable Gradient Information)等创新技术。这些改进使得YOLOv9能够在保持高精度的同时进一步降低计算量和模型大小,适应更多的实际应用场景。

原理

  • 输入与输出:YOLO的输入通常是一个固定尺寸的图像(例如416×416像素),而输出则是一个包含边界框坐标、类别标签和置信度的张量。每个网格单元预测多个边界框,并为每个边界框生成一个置信度分数和类别预测。

  • 网络架构:YOLO的核心架构是一个卷积神经网络(CNN),通常包括多层卷积、池化和全连接层。YOLOv1使用了一个简单的卷积网络,而后续版本(如YOLOv3、YOLOv4)则引入了更复杂的特征提取器(如Darknet-53、CSPNet)以提高检测精度

  • Anchor Boxes:Anchor boxes是一种预定义的边界框集合,用于处理不同大小和形状的目标,YOLO模型在每个网格单元上预设多个anchor boxes,并为每个box预测其偏移量和类别,这种设计允许YOLO在处理多尺度目标时更加灵活。

  • 损失函数与优化:YOLO的损失函数包括位置误差、置信度误差和类别误差的组合,通过优化这些误差,YOLO模型能够在训练过程中不断提高预测精度。具体而言,YOLO的损失函数会在模型训练时对预测的边界框位置、类别置信度和分类结果进行综合评估,从而指导模型参数的更新。

  • Non-Maximum Suppression (NMS):NMS是一种后处理技术,用于消除多个重叠的边界框,保留置信度最高的那个,这一过程能够有效减少检测结果中的冗余和重复,提高检测结果的准确性。

  • 逐渐复杂的模型结构

  • 卷积层与池化层:YOLO的卷积层用于提取输入图像的特征,通过不同深度的卷积核捕捉图像中的不同模式。池化层则用于缩减特征图的尺寸,减少计算量的同时保留重要特征信息。这些层级构建了YOLO的基本骨架,使得模型能够从图像中提取多尺度特征。

    特征提取器的演变:YOLOv1使用了相对基础的卷积神经网络(CNN)结构,但从YOLOv2开始,模型引入了更加复杂的特征提取器。例如,YOLOv3使用了Darknet-53,这是一个包含53层卷积的深度网络,能够在不同尺度上提取丰富的特征。YOLOv4则进一步引入了CSPNet(Cross Stage Partial Network)结构,通过跨阶段部分连接,提高了模型的特征复用效率,减少了冗余计算。YOLOv9中的GELAN(General Efficient Layer Aggregation Network)更是进一步优化了网络的效率,使其在保持高精度的同时降低了计算复杂度

    参考:

  • https://blog.csdn.net/iShare_Carlos/article/details/141195547

  • https://zhuanlan.zhihu.com/p/708973281

相关推荐
学技术的大胜嗷5 小时前
离线迁移 Conda 环境到 Windows 服务器:用 conda-pack 摆脱硬路径限制
人工智能·深度学习·yolo·目标检测·机器学习
一花·一叶1 天前
基于昇腾310B4的YOLOv8目标检测推理
yolo·目标检测·边缘计算
昵称是6硬币1 天前
YOLOv11: AN OVERVIEW OF THE KEY ARCHITECTURAL ENHANCEMENTS目标检测论文精读(逐段解析)
图像处理·人工智能·深度学习·yolo·目标检测·计算机视觉
OICQQ676580081 天前
创建一个基于YOLOv8+PyQt界面的驾驶员疲劳驾驶检测系统 实现对驾驶员疲劳状态的打哈欠检测,头部下垂 疲劳眼睛检测识别
yolo·pyqt·疲劳驾驶·检测识别·驾驶员检测·打哈欠检测·眼睛疲劳
king of code porter10 天前
目标检测之YOLOv5到YOLOv11——从架构设计和损失函数的变化分析
人工智能·yolo·目标检测
model200511 天前
yolov11转ncnn
yolo·ncnn
YueiL11 天前
ROS 2 中 Astra Pro 相机与 YOLOv5 检测功能编译启动全记录
yolo·ros2
来两个炸鸡腿12 天前
【Datawhale组队学习202506】YOLO-Master task03 IOU总结
python·学习·yolo
凌佚12 天前
rknn优化教程(三)
c++·yolo·目标检测
毕设做完了吗?12 天前
基于YOLO的智能车辆检测与记录系统
yolo