YOLO系列论文综述(从YOLOv1到YOLOv11)【第7篇:YOLOv5——使用Pytorch框架、AutoAnchor、多尺度预训练模型】

embedded/2024/12/3 1:33:07/

YOLOv5

  • 1 摘要
  • 2 YOLOv5
    • 2.1 AutoAnchor
    • 2.2 网络架构


YOLO系列博文:

  1. 【第1篇:概述物体检测算法发展史、YOLO应用领域、评价指标和NMS】
  2. 【第2篇:YOLO系列论文、代码和主要优缺点汇总】
  3. 【第3篇:YOLOv1——YOLO的开山之作】
  4. 【第4篇:YOLOv2——更好、更快、更强】
  5. 【第5篇:YOLOv3——多尺度预测】
  6. 【第6篇:YOLOv4——最优速度和精度】
  7. 【第7篇:YOLOv5——使用Pytorch框架、AutoAnchor、多尺度预训练模型】
  8. 【第8篇:YOLOv6——更高的并行度、引入量化和蒸馏以提高性能加速推理】
  9. 【第9篇:YOLOv7——跨尺度特征融合】
  10. 【第10篇:YOLOv8——集成检测、分割和跟踪能力】
  11. 【第11篇:YOLO变体——YOLO+Transformers、DAMO、PP、NAS】
  12. 【第12篇:YOLOv9——可编程梯度信息(PGI)+广义高效层聚合网络(GELAN)】
  13. 【第13篇:YOLOv10——实时端到端物体检测】
  14. 【第14篇:YOLOv11——在速度和准确性方面具有无与伦比的性能】
  15. 【第15篇(完结):讨论和未来展望】

1 摘要

  • 发布日期:2020年6月
  • 作者:Glenn Jocher
  • 论文:无
  • 代码:https://github.com/ultralytics/yolov5
  • 主要优缺点
    • 使用Pytorch框架,便于开发者使用和扩展;
    • 自适应的anchor box学习机制提高检测效率;
    • 提供多种尺寸的预训练模型满足不同场景需求。

YOLOv5_33">2 YOLOv5

YOLOv5 由Ultralytics的创始人兼首席执行官Glen Jocher在2020年发布,时间上比YOLOv4晚了几个月。它采用了YOLOv4部分描述的许多改进,但使用PyTorch框架而不是Darknet进行开发。YOLOv5引入了一种名为AutoAnchor的Ultralytics算法。如果锚框与数据集和训练设置(如图像大小)不匹配的话,这个预训练工具会检查并调整锚框。

2.1 AutoAnchor

AutoAnchor 的工作原理:

  • 初始化:AutoAnchor 通过 k-means 聚类算法对数据集中的标签进行初步分析,以生成初始的一组锚框。这些锚框是基于数据集中实际物体的尺寸分布来设定的,从而确保它们能够更好地匹配数据集中的物体。
  • 遗传进化算法 (Genetic Evolution, GE):
    • 适应度函数:使用 CIoU 损失(Complete Intersection over Union Loss)和最佳可能召回率(Best Possible Recall)作为适应度函数。
    • 迭代优化:默认情况下,GE 算法会通过 1000 代的进化来优化这些锚框。每一代中,算法会评估当前锚框的表现,并根据适应度函数的结果进行选择、交叉和变异操作,以生成下一代更优的锚框集合。
  • 调整与优化:经过多代的进化后,最终得到的锚框集合将更加适合特定的数据集和训练设置,如图像大小等。这样可以提高模型的检测性能,尤其是在处理不同尺寸和比例的物体时。

AutoAnchor的优点:

  • 自适应性:AutoAnchor 能够自动适应不同的数据集,无需手动调整锚框尺寸。
  • 提升性能:通过优化锚框,可以提高模型的检测精度和召回率。
  • 减少过拟合风险:由于锚框是基于数据集的实际分布生成的,因此可以减少因固定锚框导致的过拟合问题。

2.2 网络架构

下图展示了YOLOv5的详细架构。

网络架构

Backbone是一个经过修改的CSPDarknet53,它以一个Stem层开始,这是一个具有大窗口尺寸的步进卷积层,用于减少内存和计算成本;随后是提取输入图像相关特征的卷积层。SPPF(快速空间金字塔池化)层和后续的卷积层处理不同尺度的特征,而上采样层则增加特征图的分辨率。SPPF层旨在通过将不同尺度的特征池化为固定大小的特征图来加速网络的计算。每个卷积层后都跟随批量归一化(BN)和SiLU激活。Neck使用了SPPF和修改后的CSP-PAN,而Head类似于YOLOv3。

YOLOv5使用了多种数据增强技术,如马赛克、复制粘贴、随机仿射变换、MixUp、HSV增强、随机水平翻转,以及其他来自albumentations包的数据增强方法。它还改进了网格敏感度,使其对梯度爆炸更加稳定。

YOLOv5提供了五个不同规模的版本:YOLOv5n(纳米)、YOLOv5s(小)、YOLOv5m(中)、YOLOv5l(大)和YOLOv5x(超大),其中卷积模块的宽度和深度会根据特定应用和硬件需求进行调整。例如,YOLOv5n和YOLOv5s是针对资源有限设备的轻量级模型,而YOLOv5x则优化了高性能,尽管牺牲了一定的速度。

YOLOv5 v7.0版本包含了能够进行分类和实例分割。

YOLOv5是开源的,并由Ultralytics积极维护,拥有超过250名贡献者,经常有新的改进。YOLOv5易于使用、训练和部署。Ultralytics提供了iOS和Android的移动版本,以及许多用于标注、训练和部署的集成工具。

在MS COCO 2017测试开发集上的评估显示,YOLOv5x在640像素的图像尺寸下达到了50.7%的平均精度(AP)。使用32的批量大小,它可以在NVIDIA V100上达到200帧每秒(FPS)的速度。使用更大的1536像素输入尺寸和测试时增强(TTA),YOLOv5可以达到55.8%的AP。


http://www.ppmy.cn/embedded/142465.html

相关文章

在 Ubuntu 20.04 上使用 Lux 下载 Bilibili 视频的详细教程

在 Ubuntu 20.04 上使用 Lux 下载 Bilibili 视频的详细教程 在 Ubuntu 20.04 上使用 Lux 下载 Bilibili(哔哩哔哩)视频的完整和详细步骤如下,包括使用预编译二进制文件的安装方法: 1. 安装依赖 确保你的系统已安装 FFmpeg&…

继上一篇,设置弹框次数以及自适应图片弹框,部分机型(vivo)老手机不显示的问题

上一篇写的本来测试好多型号都无事, 今天下午公司的战斗机vivo横空冒出… 晕 弹框直接显示都出不来了,现在还有用这种老的机型的,但是没办法咯~ 前端遇到这种兼容性的问题就要勇于解决 主要解决了这几点: // 添加图片加载事件 <imgv-if"imageUrl":src"image…

关于Spring基础了解

Spring简介 Spring框架是一个开源的Java应用框架&#xff0c;旨在简化企业级应用程序的开发。它提供了一系列强大的工具和服务&#xff0c;帮助开发者构建高质量的Java应用程序。Spring框架的核心理念是使开发过程更加模块化、可测试和可维护。 主要特性 依赖注入&#xff08…

【LeetCode】3208.交替组II

题目描述&#xff1a; 题目链接&#xff1a;https://leetcode.cn/problems/alternating-groups-ii/description/?envTypedaily-question&envId2024-11-27 思路一&#xff1a;暴力解法&#xff08;超时&#xff09; 遍历对每一个元素与其后面K-1个元素组成的K个元素均判…

题目 3209: 蓝桥杯2024年第十五届省赛真题-好数

一个整数如果按从低位到高位的顺序&#xff0c;奇数位&#xff08;个位、百位、万位 &#xff09;上的数字是奇数&#xff0c;偶数位&#xff08;十位、千位、十万位 &#xff09;上的数字是偶数&#xff0c;我们就称之为“好数”。给定一个正整数 N&#xff0c;请计算从…

ARIMA-神经网络混合模型在时间序列预测中的应用

ARIMA-神经网络混合模型在时间序列预测中的应用 1. 引言 1.1 研究背景与意义 时间序列预测在现代数据科学中扮演着越来越重要的角色。从金融市场的价格走势到工业生产的需求预测,从气象数据的天气预报到用电量的负荷预测,时间序列分析无处不在。传统的统计方法和现代深度学习…

Fortran mpi在Linux的安装

最近编译一个程序需要需要 Fortran mpi 编译器&#xff0c;则需要安装 Fortran编辑器和MPI库&#xff0c;以下是具体的安装步骤&#xff1a; 一、安装 Fortran 编译器&#xff08;gfortran&#xff09; 在conda环境中安装&#xff1a; conda install -c conda-forge gfortra…

Milvus 2.5:全文检索上线,标量过滤提速,易用性再突破!

01. 概览 我们很高兴为大家带来 Milvus 2.5 最新版本的介绍。 在 Milvus 2.5 里&#xff0c;最重要的一个更新是我们带来了“全新”的全文检索能力&#xff0c;之所以说“全新”主要是基于以下两点&#xff1a; 第一&#xff0c;对于全文检索基于的 BM25 算法&#xff0c;我们采…