关于目标检测YOLO 各版本区别v1-v11/vX/vR

概述

YOLO(You Only Look Once,你只看一次)是一系列开创性的实时目标检测模型,它们彻底改变了计算机视觉领域。由Joseph Redmon开发,后续版本由不同研究人员迭代,YOLO模型以其在图像中检测对象的高速度和准确性而闻名。以下是对每个YOLO版本的详细查看:
 

1. YOLOv1

发布时间:2016年

主要贡献:

1. 统一检测:YOLOv1引入了一种新方法,将目标检测框架作为一个单一的回归问题,直接从图像像素到边界框坐标和类别概率。

2. 网格系统:图像被划分为S x S的网格,每个网格单元预测B个边界框及其置信度分数。

3. 速度:YOLOv1比之前的检测系统(如R-CNN和Faster R-CNN)快得多,实现了每秒45帧(fps)的实时性能,快速版本达到155 fps。

限制:

1. 定位误差:YOLOv1在精确定位较小对象时存在困难。

2. 泛化:它倾向于对新出现或频率较低的对象泛化能力较差。


2. YOLOv2(YOLO9000)

发布时间:2017年

主要贡献:1. 批量归一化:实施批量归一化以归一化每层的输入,改善了收敛性和正则化。

2. 高分辨率分类器:在高分辨率图像上训练模型,从而提高了性能。

3. 锚框:采用锚框(Faster R-CNN引入的一种技术)来预测边界框,提高了定位精度。

4. YOLO9000:模型在COCO数据集和超过9000个类别的自定义数据集上进行训练,因此得名YOLO9000,允许检测广泛范围的对象类别。

改进:

1. 与YOLOv1相比,平均精度均值(mAP)更好。

2. 提高了速度和准确性的平衡。


3. YOLOv3

发布时间:2018年

主要贡献:

1. 特征金字塔网络(FPN):YOLOv3使用FPN在三个不同的尺度上检测对象,提高了对小对象的检测。

2. Darknet-53主干网络:引入了新的主干网络Darknet-53,它更深、更高效,结合了残差连接。

3. 多标签分类:每个边界框可以预测多个类别标签,这有助于处理对象可能属于多个类别的情况。

改进:

1. YOLOv3在保持实时速度的同时显著提高了准确性。

2. 在检测小对象和处理复杂图像方面取得了显著改进。


4. YOLOv4

发布时间:2020年

主要贡献:

1. 免费工具包(BoF)和特殊工具包(BoS):引入了一系列增强功能,分为BoF(在不增加推理时间的情况下提高准确性的技术)和BoS(略微增加推理时间但显著提高准确性的技术)。

2. CSPDarknet53主干网络:使用了CSPDarknet53,它结合了跨阶段部分连接,提高了学习效率并减少了计算负载。

3. 数据增强技术:采用了如Mosaic和Self-Adversarial Training等技术来增强模型的鲁棒性和泛化能力。

改进:

1. mAP和FPS显著增加,使其成为发布时最快、最准确的模型之一。

2. 提高了检测小对象和大对象的能力。


5. YOLOv5

发布时间:2020年(由Ultralytics发布,不是Joseph Redmon的官方续作)

主要贡献:1. PyTorch实现:YOLOv5使用PyTorch开发,使其更易于访问和修改。

2. 预训练模型:为不同用例提供了各种预训练模型(小到大),促进了迁移学习。

3. 自学习边界框锚:通过在训练期间自动调整锚框来增强学习过程。

改进:

1. 保持实时检测能力,提高了准确性。

2. 简化了部署和集成到各种应用程序中。


6. YOLOv6

发布时间:2022年

YOLOv6在前身YOLOv5的基础上引入了几项创新和改进,专注于提高性能、效率和适用性,以适应各种现实世界场景。

以下是关键的新功能和改进:

主要贡献:

1. 工业适用性:YOLOv6专门针对工业应用设计,优化了边缘设备上的实时性能,这些设备的计算资源可能有限。

2. 增强架构:YOLOv6包括改进的主干和颈部设计,提高了特征提取和表示能力。这导致更好的检测精度和性能。

3. 无锚检测:YOLOv6的一个重要创新是探索无锚检测方法。这通过去除锚生成和匹配的需求来简化训练过程,可能导致更快的训练时间和某些数据集上的性能改进。

4. 高级训练技术:YOLOv6采用了高级训练技术,如复杂的数据增强策略和优化的训练时间表。这些技术提高了模型在不同条件和数据集下的鲁棒性和泛化能力。

5. 改进的损失函数:模型使用经过改进的损失函数,在训练期间提供更准确的梯度,帮助模型更好地学习对象及其位置的表示。这些损失函数旨在更有效地处理目标检测任务的复杂性。

改进:

1. 性能提升:与YOLOv5相比,YOLOv6在平均精度均值(mAP)方面显示出显著改进。这是通过架构优化和增强的训练方法实现的,使YOLOv6能够更准确地检测对象。

2. 效率和速度:YOLOv6旨在比YOLOv5更具计算效率。它在保持或提高准确性的同时实现了更高的检测速度,使其更适合实时应用,特别是在边缘设备上。

3. 减少模型大小和计算成本:与YOLOv5相比,YOLOv6以更少的参数和更低的计算要求实现了更好的性能。这种模型大小和计算成本的减少使YOLOv6在资源受限的环境中部署更有效。

4. 多功能性和适应性:与YOLOv5相比,YOLOv6具有更广泛的多功能性和适应性,能够处理各种大小和复杂性的对象,这得益于其改进的特征提取机制和无锚检测方法。

5. 针对边缘设备的优化:对YOLOv6的特别关注包括模型量化和剪枝等技术。这些优化使YOLOv6更适合在计算能力有限的设备上部署,提高了其在工业应用中的实用性。

6. 延迟减少:通过一致的双重分配消除了对非最大抑制(NMS)的需求,与YOLOv5相比,YOLOv6显著减少了端到端延迟,提高了实时性能。


7. YOLOv7

发布年份:2022年YOLOv7是YOLO(你只看一次)系列目标检测模型的延续,以其实时性能和准确性而闻名。这一迭代带来了几个值得注意的进步,增强了架构设计和性能效率。

主要贡献:1. 高效层聚合网络(ELAN):

  • YOLOv7引入了一种名为高效层聚合网络(ELAN)的新架构设计,显著提高了网络学习和有效表示特征的能力。

  • ELAN结构增强了梯度流,并加强了在不同层捕获不同特征的能力。

2. 扩展高效层聚合网络(E-ELAN):在ELAN的基础上,扩展版本E-ELAN通过提高参数利用率和计算效率进一步优化了网络。这允许更深的网络具有更好的性能指标。

3. 动态头部:YOLOv7以动态头部模块为特色,该模块在训练期间自适应地调整网络的重点。这种机制有助于更好地处理各种大小的对象,并提高了检测精度,特别是对于较小的对象。

4. 辅助和引导损失:模型采用了辅助和引导损失的组合来促进更好的学习。辅助损失在训练的早期阶段引导网络,而引导损失确保了准确的最终预测。

5. 标签分配策略:YOLOv7引入了一种新的标签分配策略来优化训练过程。这种策略确保使用了最相关和最有信息量的标签,从而提高了准确性和鲁棒性。

改进:

1. 性能提升:与YOLOv6相比,YOLOv7实现了更高的平均精度均值(mAP)。性能提升归因于YOLOv7中实施的架构改进和新颖的训练策略。

2. 计算效率:尽管网络的复杂性和深度增加,YOLOv7旨在更具计算效率。它以更少的计算资源实现了更好的性能,使其适合在资源受限的环境中部署。

3. 改进的训练技术:YOLOv7利用高级训练技术,如动态头部模块和高效层聚合,来增强学习过程。这些技术导致更快的收敛和在不同数据集上更好的泛化。

4. 更好地处理对象尺度变化:动态头部和改进的标签分配策略使YOLOv7能够更好地检测不同尺度的对象,特别是以前版本难以检测的小型对象。

5. 增强的主干和颈部设计:— YOLOv7的主干和颈部组件经过改进,以提高特征提取和表示。这导致在广泛的情境中更准确、更强大的目标检测。


8. YOLOv8

发布年份:2023年,由Ultralytics发布。主要贡献和改进:

  • C2f构建块:YOLOv8引入了C2f(连接到融合)构建块,改进了

  • 特征提取和融合,增强了模型处理复杂目标检测任务的能力。

  • 增强的网络架构:网络架构经过改进,以实现更好的性能和效率,专注于以更低的计算成本实现更高的准确性。

  • 改进的训练策略:结合了先进的训练策略,包括更好的增强技术和优化算法,有助于提高模型的鲁棒性和准确性。

  • 与Ultralytics Hub集成:YOLOv8与Ultralytics Hub集成,这是一个管理和部署模型的平台,简化了用户的工作流程,并促进了更容易的模型管理。

YOLOv8.1发布年份:2024年1月,由Ultralytics发布。

  • YOLOv8 OBB模型:引入了定向边界框模型,提高了检测角度对象的准确性。

  • 分割增强:高级分割功能,用于更精确的图像分析。

  • 性能优化:专注于YOLOv8框架的速度和效率的改进。


9. YOLOv9

发布年份:2024年2月

关键特性:

1. 可编程梯度信息(PGI):— YOLOv9引入了PGI,这是一个旨在通过辅助可逆分支生成可靠梯度的概念。这有助于保持执行目标任务所需的深度特征的关键特征。— PGI允许灵活选择适合特定任务的损失函数,克服了与传统深度监督过程相关的限制。

2. 通用ELAN(GELAN):YOLOv9中的GELAN架构平衡了参数数量、计算复杂性、准确性和推理速度。它允许用户为不同的推理设备选择合适的计算块,提高了多功能性和性能。

3. 性能提升:— 与以前的模型相比,YOLOv9在各种指标上实现了卓越的性能。在准确性、参数效率和计算要求方面,它优于YOLOv8和其他最先进的模型。— 例如,与YOLOv8-X相比,YOLOv9-E实现了1.7%更高的平均精度(AP),参数减少了16%,计算成本降低了27%。

4. 多功能性和应用:— PGI和GELAN的集成允许YOLOv9有效地应用于轻量级和深度神经网络架构,使其适合广泛的现实世界应用。— YOLOv9的设计支持传统和深度卷积,为模型部署和优化提供了灵活性。

5. 实验验证:在MS COCO数据集上进行的广泛实验验证了YOLOv9的顶级性能。它显著超过了现有的实时目标检测器,展示了在速度、准确性和资源效率方面的改进。

贡献:

  • 理论见解:YOLOv9的开发包括对深度神经网络架构的理论分析,特别关注可逆函数。这一分析有助于解决以前无法解释的现象,并指导了PGI和辅助可逆分支的设计。

  • 增强的轻量级模型:PGI有效地解决了深度监督的限制,使轻量级模型实现了高准确性,使其适合日常使用。

  • 效率和速度:使用传统卷积的GELAN设计,确保了与基于深度卷积的设计相比,参数使用效率和计算速度更高。

总之,YOLOv9代表了YOLO系列的重大进步,结合了PGI和GELAN等创新概念,提供了一个强大、多功能且高效的目标检测模型,适用于广泛的应用。


10. YOLOv10

发布年份:2024年5月YOLOv10代表了实时目标检测领域的重大进步,建立在其在YOLO(你只看一次)系列中的前辈奠定的坚实基础上。这一迭代引入了几个关键创新和改进,旨在提高性能和效率。以下是YOLOv10的主要亮点:

关键特性:

1. 无NMS训练:— YOLOv10通过使用一致的双重分配消除了其后处理阶段对非最大抑制(NMS)的需求。这种方法不仅显著减少了端到端延迟,还保持了竞争性能水平。

2. 整体模型设计:— YOLOv10的设计策略专注于效率和准确性之间的平衡。模型的各个组成部分都经过优化,以减少计算开销,同时提高能力。这包括全面的架构调整,导致更少的参数和更低的延迟。

3. 性能提升:— 在各种模型规模(N、S、M、L、X)中,YOLOv10在平均精度(AP)方面取得了改进,同时显著减少了参数和计算要求。例如,与前身YOLOv8-N相比,YOLOv10-N实现了1.2%的AP改进,参数减少了28%,计算成本降低了23%。

4. 效率增益:— YOLOv10在准确性和计算成本之间展现了优越的权衡。例如,与YOLOv6–3.0-S相比,YOLOv10-S实现了1.5 AP改进,并大幅减少了参数和FLOPs(每秒浮点运算次数)。

5. 延迟减少:— 通过消除NMS和优化模型架构,YOLOv10实现了显著的延迟减少。例如,与YOLOv9-C相比,YOLOv10-S的延迟降低了46%,展示了模型在实时应用中的效率。

6. 比较性能:— YOLOv10在速度和准确性方面一致优于其他最先进的模型,如RT-DETR和以前的YOLO版本。它比RT-DETR-R18快1.8倍,同时保持类似的AP性能,并且在参数和FLOPs方面也大幅减少。

11.YOLOV11

发布年份:2024 年 9 月 30 日,Ultralytics 在其活动 YOLOVision 中正式发布了 YOLOv11
关键特性

  • 增强的特征提取:YOLO11采用改进的主干和颈部架构,增强了特征提取能力,以实现更精确的目标检测和复杂任务性能。
  • 针对效率和速度进行优化:YOLO11 引入了精致的架构设计和优化的训练管道,提供更快的处理速度并保持准确性和性能之间的最佳平衡。
  • 使用更少的参数获得更高的精度:随着模型设计的进步,YOLO11m 在 COCO 数据集上实现了更高的平均精度(mAP),同时使用的参数比 YOLOv8m 少 22%,从而在不影响精度的情况下提高计算效率。
  • 跨环境适应性:YOLO11可以无缝部署在各种环境中,包括边缘设备、云平台以及支持NVIDIA GPU的系统,确保最大的灵活性。
  • 支持的任务范围广泛:无论是对象检测、实例分割、图像分类、姿态估计还是定向对象检测 (OBB),YOLO11 旨在应对各种计算机视觉挑战。
  • 与之前的版本相比,Ultralytics YOLO11 有哪些关键改进?

    Ultralytics YOLO11 与其前身相比引入了多项重大进步。主要改进包括:

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

12. YOLOX

发布年份:2021年主要贡献和改进:

  • 无锚设计:YOLOX采用无锚机制,简化了模型架构和训练过程。

  • 分离的头部:分离的头部将分类和定位任务分开,提高了整体性能。

  • 高级增强技术:使用Mosaic和MixUp等技术来增强模型的泛化能力和鲁棒性。

  • 性能提升:与以前的YOLO版本相比,YOLOX实现了更高的准确性和效率,使其与其他最先进的模型竞争。


13. YOLOR

发布年份:2021年主要贡献和改进:

  • 统一网络:YOLOR(你只学习一次表示)将显性和隐性知识整合到统一网络中,增强了模型的学习能力。

  • 知识蒸馏:利用知识蒸馏来提高轻量级模型的性能。

  • 改进的主干:在主干中结合了CSPNet,增强了特征提取和表示。

  • 多功能性:在各种任务中表现出色,包括目标检测、实例分割和关键点检测。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/64261.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

海康摄像头,WEB有插件开发

1.引用js <script type"text/javaScript" src"./hk/webVideoCtrl.js"></script> <script type"text/javaScript" src"./hk/cryptico.min.js"></script> <script type"text/javaScript" src"…

【教程】如何下载WandB平台的运行数据?

【教程】如何下载WandB平台的运行数据&#xff1f; 前言 CSDN主页&#xff1a;https://blog.csdn.net/rvdgdsva 博客园主页&#xff1a;https://www.cnblogs.com/hassle Weights & Biases (WandB)是一个用于机器学习的平台&#xff0c;它提供了一套工具来帮助你跟踪、比…

vscode设置终端代理

转载请标明出处&#xff1a;小帆的帆的博客 设置终端代理 修改项目的.vscode/settings.json {"terminal.integrated.env.windows": {"http_proxy": "http://127.0.0.1:7890","https_proxy": "http://127.0.0.1:7890"}, }…

【Linux】自定义项目-进度条

更多精彩内容..... &#x1f389;❤️播主の主页✨&#x1f618; Stark、-CSDN博客 准备工作&#xff1a;"\r"与"\n"字符 ①&#xff1a;基本含义 在C语言和Linux环境中&#xff0c;\r是回车符&#xff0c;\n是换行符&#xff0c;用于控制文本格式和输出…

Linux从0到1——初识线程【什么是线程/线程控制/详解tid】

Linux从0到1——初识线程 1. 什么是线程&#xff1f;1.1 线程的概念1.2 结合代码理解线程1.3 重谈地址空间1.4 线程的优缺点 2. 线程异常和线程用途3. Linux进程VS线程4. 详解pthread_create的arg参数4.1 给线程传参4.2 一次创建多个线程 5. 线程控制5.1 线程退出5.2 线程分离5…

[免费]SpringBoot+Vue校园社团管理系统(优质版)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的SpringBootVue校园社团管理系统(优质版)&#xff0c;分享下哈。 项目视频演示 【免费】SpringBootVue校园社团管理系统(优质版) Java毕业设计_哔哩哔哩_bilibili 项目介绍 随着信息技术的迅速发展&#x…

114 二叉树展开为链表

解题思路&#xff1a; \qquad 题目中已经明确&#xff0c;要用先序遍历的顺序展开&#xff0c;那么就需要按照“中-左-右”的顺序遍历二叉树&#xff0c;剩下的问题在于如何在遍历过程中完成链表指针的更新。 \qquad 由于“右子节点”需要链接到左子树最后一个节点之后&#…

Kylin麒麟操作系统 | Nginx服务部署

目录 一、理论储备1. Nginx概述2. Nginx与Apache的区别3. Nginx的服务配置 二、任务实施任务1 Nginx的编译安装1. Server配置2. 客户端测试 任务2 Nginx反向代理1. Server1配置2. Server2配置3. 客户端测试 一、理论储备 1. Nginx概述 Nginx是一个轻量级的web服务器&#xff…

类OCSP靶场-Kioptrix系列-Kioptrix Level 1

一、前情提要 二、实战打靶 1. 信息收集 1.1. 主机发现 1.2. 端口扫描 1.3 目录爆破 1.4. 敏感信息 2.根据服务搜索漏洞 2.1. 搜索exp 2.2. 编译exp 2.3. 查看exp使用方法&#xff0c;并利用 3. 提权 二、第二种方法 一、前情提要 Kioptrix Level是免费靶场&#x…

Golang囊地鼠gopher

开发知识点-golang 介绍红队专题-Golang工具Fscan简介主要功能ubuntu 安装windows 安装常用命令:项目框架源文件common目录Plugins目录Webscan目录入口点插件扫描类型爆破插件common.ScantypeWebtitle函数webpoc扫描POC 执行CEL-GO 实践CEL指纹识别免杀源码特征参考链接红队专…

快速上手Spring注解、SpringAop

1 Spring 注解的使用 1 IOC 的概念 IOC&#xff08;Inversion of Control&#xff09;&#xff1a;控制反转。 使用对象时&#xff0c;由主动new产生对象转换为由外部提供对象&#xff0c;此过程中对象创建控制权由程序转移到外部&#xff0c;此思想称为控制反转。通俗的讲就…

前端面经-总结篇 http

下面是我在过去12天内&#xff0c;学习关于http的前端面经汇总。现在只是一些很基础的知识&#xff0c;后续还会补充&#xff0c;算是对之前学习的一个总结。 前端面经整理-CSDN博客 我主要参考的题目来源在这里。 本地存储 localstorage&#xff08;本地存储&#xff09;和…

功能篇:SpringBoot 实现静态、动态定时任务,本地动态定时任务调度

在Spring Boot中实现静态和动态定时任务可以通过使用Scheduled注解来配置静态的调度任务&#xff0c;以及通过编程方式创建动态的调度任务。下面我将分别介绍这两种方式。 ### 静态定时任务 对于静态定时任务&#xff0c;你可以直接在方法上使用Scheduled注解&#xff0c;并指定…

服务器ubuntu重装系统后将原来的用户进行关联

服务器ubuntu重装系统后将原来的用户数据进行关联 关联用户到已存在目录 sudo useradd user_name -m -s /bin/bash -d /home***/name添加sudo权限 vim /etc/sudoers# 文件末尾添加 user_name ALL(ALL:ALL) ALL更改拥有者 sudo chown -R user_name:user_name /home***/na…

数据地图怎么做?推荐这款数据可视化地图生成器

在数字化与信息化高速发展的今天&#xff0c;企业迎来了前所未有的发展机遇&#xff0c;规模迅速扩张&#xff0c;市场版图不断延伸。然而&#xff0c;伴随着这种快速的发展&#xff0c;一个不容忽视的问题逐渐浮出水面——如何精准高效地掌握分布在各地的分公司、业务点乃至整…

鸿蒙项目云捐助第九讲鸿蒙App应用的捐助详情页功能实现

鸿蒙项目云捐助第九讲鸿蒙App应用的捐助详情页功能实现 这里接下来继续实现捐助详情页的布局页面&#xff0c;也就是当用户进入到分类页面后&#xff0c;点击分类的每一个商品就进入到捐助商品的详情页&#xff0c;这里的布局可以从下面的模板演化而来。 下面根据这个模板来进…

docker mysql挂载

在提供的 docker run 命令中&#xff0c;已经挂载了三个卷到 MySQL 容器中&#xff1a;日志目录、数据目录和配置目录。然而&#xff0c;还没有挂载一个包含 cube_admin.sql 文件的目录。要将 SQL 文件放入容器中并在 MySQL 中执行它&#xff0c;可以按照以下步骤操作&#xff…

【数学】矩阵的逆与伪逆 EEGLAB

文章目录 前言matlab代码作用EEGLAB 中的代码总结参考文献 前言 在 EEGLAB 的使用中&#xff0c;运行程序时出现了矩阵接近奇异值&#xff0c;或者缩放错误。结果可能不准确。RCOND 1.873732e-20 的 bug&#xff0c;调查 EEGLAB 后发现是 raw 数据的问题。 matlab代码 A_1 …

【蓝凌表单】JSP组件常用语法整理

JSP组件常用语法整理 必填非必填写法//必填 $("[name=extendDataFormInfo.value(fd_344677482769e2)]").attr("validate","requiredvalue"); //非必填 $(

Redis 数据备份与恢复

Redis 数据备份与恢复 1. 引言 Redis 作为一款高性能的键值数据库,被广泛应用于各种场景,如缓存、消息队列等。由于其重要性,对 Redis 数据进行定期备份是保证数据安全的关键措施。本文将详细介绍 Redis 数据的备份与恢复方法,确保在数据丢失或系统故障时能够迅速恢复。 …