YOLOv5/v8/v10/v11详细介绍:网络结构,创新点

《------往期经典推荐------》

一、AI应用软件开发实战专栏【链接】

项目名称项目名称
1.【人脸识别与管理系统2.【车牌识别与自动收费管理系统
3.【手势识别系统4.【人脸面部活体检测系统开发
5.【图片风格快速迁移软件6.【人脸表表情识别系统
7.【YOLOv8多目标识别与自动标注软件开发8.【基于YOLOv8深度学习的行人跌倒检测系统
9.【基于YOLOv8深度学习的PCB板缺陷检测系统10.【基于YOLOv8深度学习的生活垃圾分类目标检测系统
11.【基于YOLOv8深度学习的安全帽目标检测系统12.【基于YOLOv8深度学习的120种犬类检测与识别系统
13.【基于YOLOv8深度学习的路面坑洞检测系统14.【基于YOLOv8深度学习的火焰烟雾检测系统
15.【基于YOLOv8深度学习的钢材表面缺陷检测系统16.【基于YOLOv8深度学习的舰船目标分类检测系统
17.【基于YOLOv8深度学习的西红柿成熟度检测系统18.【基于YOLOv8深度学习的血细胞检测与计数系统
19.【基于YOLOv8深度学习的吸烟/抽烟行为检测系统20.【基于YOLOv8深度学习的水稻害虫检测与识别系统
21.【基于YOLOv8深度学习的高精度车辆行人检测与计数系统22.【基于YOLOv8深度学习的路面标志线检测与识别系统
23.【基于YOLOv8深度学习的智能小麦害虫检测识别系统24.【基于YOLOv8深度学习的智能玉米害虫检测识别系统
25.【基于YOLOv8深度学习的200种鸟类智能检测与识别系统26.【基于YOLOv8深度学习的45种交通标志智能检测与识别系统
27.【基于YOLOv8深度学习的人脸面部表情识别系统28.【基于YOLOv8深度学习的苹果叶片病害智能诊断系统
29.【基于YOLOv8深度学习的智能肺炎诊断系统30.【基于YOLOv8深度学习的葡萄簇目标检测系统
31.【基于YOLOv8深度学习的100种中草药智能识别系统32.【基于YOLOv8深度学习的102种花卉智能识别系统
33.【基于YOLOv8深度学习的100种蝴蝶智能识别系统34.【基于YOLOv8深度学习的水稻叶片病害智能诊断系统
35.【基于YOLOv8与ByteTrack的车辆行人多目标检测与追踪系统36.【基于YOLOv8深度学习的智能草莓病害检测与分割系统
37.【基于YOLOv8深度学习的复杂场景下船舶目标检测系统38.【基于YOLOv8深度学习的农作物幼苗与杂草检测系统
39.【基于YOLOv8深度学习的智能道路裂缝检测与分析系统40.【基于YOLOv8深度学习的葡萄病害智能诊断与防治系统
41.【基于YOLOv8深度学习的遥感地理空间物体检测系统42.【基于YOLOv8深度学习的无人机视角地面物体检测系统
43.【基于YOLOv8深度学习的木薯病害智能诊断与防治系统44.【基于YOLOv8深度学习的野外火焰烟雾检测系统
45.【基于YOLOv8深度学习的脑肿瘤智能检测系统46.【基于YOLOv8深度学习的玉米叶片病害智能诊断与防治系统
47.【基于YOLOv8深度学习的橙子病害智能诊断与防治系统48.【基于深度学习的车辆检测追踪与流量计数系统
49.【基于深度学习的行人检测追踪与双向流量计数系统50.【基于深度学习的反光衣检测与预警系统
51.【基于深度学习的危险区域人员闯入检测与报警系统52.【基于深度学习的高密度人脸智能检测与统计系统
53.【基于深度学习的CT扫描图像肾结石智能检测系统54.【基于深度学习的水果智能检测系统
55.【基于深度学习的水果质量好坏智能检测系统56.【基于深度学习的蔬菜目标检测与识别系统
57.【基于深度学习的非机动车驾驶员头盔检测系统58.【太基于深度学习的阳能电池板检测与分析系统
59.【基于深度学习的工业螺栓螺母检测60.【基于深度学习的金属焊缝缺陷检测系统
61.【基于深度学习的链条缺陷检测与识别系统62.【基于深度学习的交通信号灯检测识别
63.【基于深度学习的草莓成熟度检测与识别系统64.【基于深度学习的水下海生物检测识别系统
65.【基于深度学习的道路交通事故检测识别系统66.【基于深度学习的安检X光危险品检测与识别系统

二、机器学习实战专栏【链接】,已更新31期,欢迎关注,持续更新中~~
三、深度学习【Pytorch】专栏【链接】
四、【Stable Diffusion绘画系列】专栏【链接】
五、YOLOv8改进专栏【链接】持续更新中~~
六、YOLO性能对比专栏【链接】,持续更新中~

《------正文------》

引言

YOLO(You Only Look Once)是一种流行的计算机视觉算法,用于实现实时对象检测。它由Joseph Redmon等人首次在2015年提出,并随后进行了多次改进。YOLO的核心思想是将整个图像划分为一个固定数量的格子(grid cells),然后在每个格子内同时预测多个边界框(bounding boxes)和类别概率。

YOLOv5、YOLOv8、YOLOv10、YOLOv11是YOLO系列中最经典且常用的4个系列版本,他们均是基于先前YOLO版本在目标检测任务上的成功,对模型结构进行不断地优化改进,从而不断提升了性能和灵活性,在精度和速度方面都具有尖端性能。下面对这3个系列的模型进行简要介绍。

YOLOv5简介

源码地址:https://github.com/ultralytics/yolov5

YOLOv5算法是目前应用最广泛的目标检测算法之一,它基于深度学习技术,在卷积神经网络的基础上加入了特征金字塔网络和SPP结构等模块,从而实现了高精度和快速检测速度的平衡。

基本网络结构如下:
在这里插入图片描述
YOLOV5有YOLOv5n, YOLOv5s、YOLOv5m、YOLOv51、YOLOv5x五个版本。这几个模型的结构基本一样,不同的是depth_multiple模型深度和width_multiple模型宽度这两个参数。对应模型的深度与宽度因子,随着因子值的增大,模型不断加深、加宽。
在这里插入图片描述

YOLOv5不同模型尺寸信息:
YOLOv5提供了5种不同大小的模型尺寸信息,以及在coco数据集上的性能表现如下:

模型尺寸 (像素)mAPval 50-95速度 CPU ONNX (毫秒)速度 A100 TensorRT (毫秒)params (M)FLOPs (B)
yolov5nu.pt64034.373.61.062.67.7
yolov5su.pt64043.0120.71.279.124.0
yolov5mu.pt64049.0233.91.8625.164.2
yolov5lu.pt64052.2408.42.5053.2135.0
yolov5xu.pt64053.2763.23.8197.2246.4

YOLOv5算法创新点:

  1. Anchor-free设计:传统目标检测算法中需要先确定物体位置并给出候选框,但yolov5采用了无锚设计方式,直接预测物体的位置和大小,从而避免了候选框对检测性能的影响。
  2. 多尺度检测:yolov5算法可以精确检测到不同尺度、各种形状和姿态的目标,具有很好的适应性。
  3. 目标定位精确:yolov5通过导出中心点坐标来实现目标的精准定位,并且在分类和回归两个方面都进行优化,从而提高了目标检测精度。
  4. 检测速度快:采用高效计算方法,并利用GPU等硬件加速技术,使得yolov5算法在保证高精度的同时,具有非常快的检测速度。

YOLOv8简介

源码地址:https://github.com/ultralytics/ultralytics

Yolov8是一个SOTA模型,它建立在Yolo系列历史版本的基础上,并引入了新的功能和改进点,以进一步提升性能和灵活性,使其成为实现目标检测、图像分割、姿态估计等任务的最佳选择。其具体创新点包括一个新的骨干网络、一个新的Ancher-Free检测头和一个新的损失函数,可在CPU到GPU的多种硬件平台上运行。
在这里插入图片描述
YOLOv8网络结构如下:
在这里插入图片描述

YOLOv8创新点:

Yolov8主要借鉴了Yolov5、Yolov6、YoloX等模型的设计优点,其本身创新点不多,偏重在工程实践上,具体创新如下:

  • 提供了一个全新的SOTA模型(包括P5 640和P6 1280分辨率的目标检测网络和基于YOLACT的实例分割模型)。并且,基于缩放系数提供了N/S/M/L/X不同尺度的模型,以满足不同部署平台和应用场景的需求。
  • Backbone:同样借鉴了CSP模块思想,不过将Yolov5中的C3模块替换成了C2f模块,实现了进一步轻量化,同时沿用Yolov5中的SPPF模块,并对不同尺度的模型进行精心微调,不再是无脑式一套参数用于所有模型,大幅提升了模型性能。
  • Neck:继续使用PAN的思想,但是通过对比YOLOv5与YOLOv8的结构图可以看到,YOLOv8移除了1*1降采样层。
  • Head部分相比YOLOv5改动较大,Yolov8换成了目前主流的解耦头结构(Decoupled-Head),将分类和检测头分离,同时也从Anchor-Based换成了Anchor-Free。
  • Loss计算:使用VFL Loss作为分类损失(实际训练中使用BCE Loss);使用DFL Loss+CIOU Loss作为回归损失。
  • 标签分配:Yolov8抛弃了以往的IoU分配或者单边比例的分配方式,而是采用Task-Aligned Assigner正负样本分配策略。

YOLOv8不同模型尺寸信息:
YOLOv8提供了5种不同大小的模型尺寸信息,详情如下:

Modelsize (pixels)mAPval 50-95params (M)FLOPs (B)
YOLOv8n64037.33.28.7
YOLOv8s64044.911.228.6
YOLOv8m64050.225.978.9
YOLOv8l64052.943.7165.2
YOLOv8x64053.968.2257.8

一般来说,选择模型大小的原则如下:
数据集小(几百张图片):使用yolov8n或yolov8s。过大模型会过拟合。
数据集中等(几千张图片):yolov8s或yolov8m。能获得较高精度,不易过拟合。
数据集大(几万张图片):yolov8l或yolov8x。模型容量大,充分拟合大数据量,能发挥模型效果。
超大数据集(几十万张以上):首选yolov8x。超大模型才能处理海量数据并取得最优效果。

YOLOv10简介

论文地址:https://arxiv.org/abs/2405.14458
源码地址:https://github.com/THU-MIG/yolov10

在这里插入图片描述
YOLOv10 的架构建立在以前 YOLO 模型的优势之上,通过消除非最大抑制 (NMS) 和优化各种模型组件, 实现了最先进的性能,并显著降低了计算开销。
网络结构如下:
在这里插入图片描述

模型网络结构由以下组件组成:
主干:YOLOv10 中的主干网负责特征提取,使用增强版的 CSPNet(Cross Stage Partial Network)来改善梯度流并减少计算冗余。
颈部:颈部被设计成聚合来自不同尺度的特征,并将它们传递到头部。它包括 PAN(路径聚合网络)层,用于有效的多尺度特征融合。
一对多头:在训练过程中为每个对象生成多个预测,以提供丰富的监督信号,提高学习准确性。
一对一头:在推理过程中为每个对象生成一个最佳预测,消除对 NMS 的需求,从而减少延迟并提高效率。
YOLOv10创新点如下
无 NMS 训练:利用一致的双重分配来消除对 NMS 的需求,从而减少推理延迟。
整体模型设计:从效率和精度两个角度对各种组件进行全面优化,包括轻量级分类头、空间通道解耦下采样和秩引导块设计。
增强的模型功能:整合大核卷积和部分自注意力模块,可在不增加大量计算成本的情况下提高性能。

YOLOv10不同模型尺寸信息:

YOLOv10 提供6种不同的型号规模模型,以满足不同的应用需求:

ModelInput SizeAPvalparams (M)FLOPs (G)
YOLOv10-N64038.52.76.7
YOLOv10-S64046.37.221.6
YOLOv10-M64051.115.459.1
YOLOv10-B64052.519.192.0
YOLOv10-L64053.224.4120.3
YOLOv10-X64054.429.5160.4

YOLOv10-N:Nano 版本,适用于资源极度受限的环境。
YOLOv10-S:平衡速度和精度的小型版本。
YOLOv10-M:通用的中型版本。
YOLOv10-B:平衡版本,宽度增加,精度更高。
YOLOv10-L:大版本,以增加计算资源为代价,实现更高的精度。
YOLOv10-X:超大版本,可实现最大的精度和性能。

YOLO11简介

源码地址:https://github.com/ultralytics/ultralytics

Ultralytics YOLO11是一款尖端的、最先进的模型,它在之前YOLO版本成功的基础上进行了构建,并引入了新功能和改进,以进一步提升性能和灵活性。YOLO11设计快速、准确且易于使用,使其成为各种物体检测和跟踪、实例分割、图像分类以及姿态估计任务的绝佳选择。
在这里插入图片描述
基本网络结构如下:
在这里插入图片描述

YOLO11创新点如下:

YOLO 11主要改进包括:
增强的特征提取:YOLO 11采用了改进的骨干和颈部架构,增强了特征提取功能,以实现更精确的目标检测。
优化的效率和速度:优化的架构设计和优化的训练管道提供更快的处理速度,同时保持准确性和性能之间的平衡。
更高的精度,更少的参数:YOLO11m在COCO数据集上实现了更高的平均精度(mAP),参数比YOLOv8m少22%,使其在不影响精度的情况下提高了计算效率。
跨环境的适应性:YOLO 11可以部署在各种环境中,包括边缘设备、云平台和支持NVIDIA GPU的系统。
广泛的支持任务:YOLO 11支持各种计算机视觉任务,如对象检测、实例分割、图像分类、姿态估计和面向对象检测(OBB)。

YOLO11不同模型尺寸信息:

YOLO11 提供5种不同的型号规模模型,以满足不同的应用需求:

Modelsize (pixels)mAPval 50-95Speed CPU ONNX (ms)Speed T4 TensorRT10 (ms)params (M)FLOPs (B)
YOLO11n64039.556.1 ± 0.81.5 ± 0.02.66.5
YOLO11s64047.090.0 ± 1.22.5 ± 0.09.421.5
YOLO11m64051.5183.2 ± 2.04.7 ± 0.120.168.0
YOLO11l64053.4238.6 ± 1.46.2 ± 0.125.386.9
YOLO11x64054.7462.8 ± 6.711.3 ± 0.256.9194.9

好了,这篇文章就介绍到这里,喜欢的小伙伴感谢给点个赞和关注,更多精彩内容持续更新~~
关于本篇文章大家有任何建议或意见,欢迎在评论区留言交流!

### YOLOv10 技术文档教程实现项目示例 #### 关于YOLOv10的技术资料 对于希望深入了解YOLOv10模型架构和技术细节的研究者而言,《YOLOv5/v8/v10/v11详细介绍网络结构创新》提供了详尽的信息[^1]。该资源不仅涵盖了YOLOv10的独特之处及其相对于前代版本所做的改进,还探讨了其内部机制的工作原理。 #### 训练过程概述 针对想要快速上手YOLOv10训练流程的开发者来说,在已有YOLO系列框架的基础上进行了优化调整[^2]。具体操作包括但不限于选择合适的预训练权重文件作为起以及配置适合特定应用场景下的超参数设定等步骤来完成整个训练周期的设计与执行。 #### 完整项目实例分析 为了帮助实践派更好地理解和应用这一先进目标检测算法,“基于YOLO11/v10/v8/v5深度学习的农作物类别检测与识别系统设计与实现”给出了一个完整的案例研究[^3]。此项目包含了Python源代码、图形化用户界面(UI)开发工具PyQt5构建的应用程序前端展示逻辑;同时提供了一系列用于验证模型性能的数据样本集合及经过充分迭代调优后的最终成果物——即已经过良好训练并具备较高泛化能力的目标分类器。 ```python import torch from yolov10.models.experimental import attempt_load from yolov10.utils.general import non_max_suppression, scale_coords from PIL import Image import numpy as np def load_model(weights_path='yolov10.pt'): device = 'cuda' if torch.cuda.is_available() else 'cpu' model = attempt_load(weights_path, map_location=device) return model.eval() def predict(image_path, model): img = Image.open(image_path).convert('RGB') img_tensor = preprocess_image(img) pred = model([img_tensor]) results = postprocess_predictions(pred) return results if __name__ == "__main__": weights_file = "path/to/your/yolov10_weights" image_to_predict = "test.jpg" net = load_model(weights_file) detections = predict(image_to_predict, net) print(detections) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿_旭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值