当前位置: 首页 > article >正文

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


http://www.kler.cn/a/395985.html

相关文章:

  • Win11 终端执行 python xxx.py 没反应
  • 51c大模型~合集42
  • 技术题总结
  • 服务jar包增加高斯数据库驱动jar包
  • 【视觉SLAM】1-概述
  • 【MYSQL】数据库日志 (了解即可)
  • 一个C++线程安全的栈数据结构的例子
  • 电子商务系统设计与Spring Boot框架
  • 对话 OpenCV 之父 Gary Bradski:灾难性遗忘和持续学习是尚未解决的两大挑战 | Open AGI Forum
  • cls(c基础)
  • Excel单元格中自适应填充多图
  • SpringCloud核心组件(三)
  • 6547网:青少年软件编程Python等级考试(六级)真题试卷
  • 一键抠图:免费安全的在线图片去除背景工具
  • uniapp 实现 ble蓝牙同时连接多台蓝牙设备,支持app、苹果(ios)和安卓手机,以及ios连接蓝牙后的一些坑
  • 鸿蒙元服务 证书过期替换 ERROR - hap-sign-tool: error: Signature verify failed
  • Spring Boot3 实战案例合集上线了
  • Shell脚本:遍历目录下的文件
  • 深度学习神经网络在机器人领域应用的深度剖析:原理、实践与前沿探索
  • Hive的map/struct/array怎么通过insert插入数据
  • 硬件工程师之电子元器件—二极管(6)之肖特基二极管特性
  • STM32 BootLoader 刷新项目 (十) Flash擦除-命令0x56
  • SQL进阶写法
  • 机器视觉和计算机视觉的区别
  • 提升前端性能:如何优化多个异步请求的执行效率Promise.all()
  • python isinstance(True, int)