学习系列一:YOLO系列目标检测框架之间介绍及对比

YOLO系列目标检测框架之间介绍及对比

华为HCIP AI高级工程师证书, 华为HCIA AI证书,目前从事视觉算法工作


文章目录

  • YOLO系列目标检测框架之间介绍及对比
  • 前言
  • 一、YOLOv1
  • 二、YOLOv2
  • 三、YOLOv3
  • 四、YOLOv4
  • 五、YOLOv5及后续算法


前言

YOLO系列算法

YOLO 创新性地通过单次网络运行实现目标检测,之前的方法要么使用滑动窗口,要么使用分类器,每个图像需要运行数百次或数千次,从而造成模型计算量大和实时性更低。更先进的方法则将任务分为两步,首先识别含有物体或候选框可能存在的区域,随后对这些候选框进行分类。与之不同 YOLO 采用了一种更为直观的方法,仅通过回归分析来直接预测检测结果,巧妙地平衡了实时性与准确性的需求,大幅提升了目标检测领域的效率和效果。


一、YOLOv1

YOLOv1 算法引入网格划分机制,输入的图像被划分为一个 7×7 的单元网格,当检测到物体的中心落在某个网格的中心时,这个网格就会负责预测这个物体。对于每一个单元网格,都会预先生成两个边界框,而且只预测一个目标,每个边界框包含边界框坐标信息和置信度得分,最终的预测特征由边框的位置、边框的置信度得分以及类别概率组成。作为一阶段目标检测算法的代表,YOLO 利用其特有的网格分割预测策略机制,成功地跳过了传统候选区域生成的计算步骤,大大减少了算法的复杂性,并显著加快了检测的速度。
在这里插入图片描述

二、YOLOv2

在确保检测速度不变的前提下,针对 YOLOv1 算法存在的问题,YOLOv2 算法进行了若干优化和完善。首先,YOLOv2 算法在所有的卷积层上进行了批量归一化处理,这一方法不仅提高了模型的收敛性,还减少了对其他正则化形式的依赖。接下来,YOLOv2 算法采用了更高分辨率的图像来对模型进行预先的训练,从而增强了网络在高分辨率输入条件下的表现,同时通过融合卷积操作与先验框策略来进行边界框及其分类的预测,这不仅加快了数据处理和预测流程,而且还通过提高特征图的分辨能力,为后续的分类运算奠定了坚实的基础。这种方法有效地增强了算法对于目标特征的捕捉能力,从而提供了更准确、更细腻的预测结果。
经过改进后,其优势变得尤为明显,通过对 YOLOv2 每一个卷积层都做了归一化,改善了模型收敛性,使得平均精度均值提高了 2%;通过使用高分辨率图像来训练模型,来匹配模型对高分辨率图像输入的适应能力,从而使得模型的平均精度平均提升了 4%;参考了两阶段检测算法中的先验框预测边界框策略,并采用 k-means方法对训练集的边界框进行聚类,这使得模型能够独立地找到最适合的锚框尺寸,从而节约大量时间资源。YOLOv2 使用的新的分类模型被称为 Darknet19 作为骨干架构,Darknet19 整体上卷积操作比 YOLOv1 中更少,从而使计算量更少。此外,YOLOv2 还使用联合训练法,来提高
模型的泛化能力。

三、YOLOv3

针对 YOLOv2 的缺陷,YOLOv3 将当时一些较好的检测思想融入到了该版本的 YOLO系列中,在保持速度优势的前提下,进一步提升了检测精度。YOLOv3 主要做了三个方面的改进:(1)继续吸收了当时优秀的检测框架的思想,如残差网络和特征融合等,提出新的网络结构,称之为 DarkNet53,DarkNet53 借鉴残差连接的思想,在基础网络中大量使用了残差连接,并且缓解了在训练中梯度消失的问题,使得模型更容易收敛,很大程度上提高了数据表征能力。(2)采用多尺度预测,YOLOv3 巧妙地输出三种不同尺寸的特征图,依次对应于深层、中层和浅层特征的提取。深层特征图的尺寸较小但感受野更广,这使其特别适合于大尺寸物体的检测。相反,浅层特征图则具有较大的尺寸和较小的感受野,从而更加专注于小尺寸物体的检测,这种分层的方法大幅增强了模型对不同尺寸物体的检测能力。(3)Logistic 函数替代 Softmax 函数来优化类别预测得分的处理。这一变更背后的逻辑在于 Softmax 函数在输出多个类别预测时存在相互抑制的问题,导致仅能预测单一类别。相比之下,Logistic 分类器的设计保证了预测的独立性,从而使得对多个类别的同时预测成为可能,显著增强了模型的多类别识别能力。
在这里插入图片描述

四、YOLOv4

2020 年提出的 YOLOv4 算法,在一个阶段内完成特征提取、位置回归和分类识别的任务,实现了检测的实时性与高精度的完美平衡。YOLOv4 改善了骨干网络结构,引入了专为解决特征图冗余问题设计的 CSPDarknet53 网络。这一网络结构深刻认识到,不同通道的特征图中往往蕴含相似的信息,通过对这些冗余信息的精细优化处理,极大提升了算法的处理效率与性能表现。进一步地,YOLOv4 在继承其前代技术基础上进行了深度优化,将 DarkNet53 中的 LeakyReLU激活函数替换为更为先进的 Mish激活函数。同时,通过引进 Dropblock 技术,该算法随机丢弃部分神经元,既简化了网络架构,也提高了模型的泛化能力。在网络的“Neck”部分,YOLOv4 采纳了包含 SPP 模块和路径聚合网络(Path Aggregation Network, PAN)结构的创新性改进,其中 SPP 模块通过最大池化技术对特征图执行深层次卷积,扩大了特征的感受范围;而 PAN 结构通过有效的特征融合策略,显著增强了模型的精确度。在输入端,YOLOv4 通过 Mosaic 数据增强技术的巧妙运用,随机组合四张图片,这不仅极大地丰富了训练数据集,同时也显著减少了 YOLOv4 算法对GPU 资源的过度依赖,从而进一步优化了算法的性能。
在这里插入图片描述

五、YOLOv5及后续算法

YOLOv5 的网络架构融合了当时最新的目标检测技术思想,旨在进一步提升模型的训练效率和检测准确度。
在这里插入图片描述

在此基础上,YOLOv6 和 YOLOv7 通过借鉴参数结构化策略来优化网络架构,在保持较好的多尺度特征融合能力的同时,也能保持网络架构高效的推理。而 YOLOv8则在保持 YOLOv5 基本架构的前提下,在 Backbone 中将 YOLOv5 的 C3 模型结构进行梯度流的优化,换成了梯度流更加丰富的 C2f 结构,并对不同尺度模型的通道数进行了不同的调整,加强网络的特征提取和推理速度优化,以实现
性能的进一步提升。在 Head 部分采用解耦头的设计,将分类与检测任务进行分离,同时锚框也从 Anchor based 换成了 Anchor free。相比较 YOLOv5 而言,YOLOv8 属于对模型结构精心微调,不再是像 YOLOv6 和 YOLOv7 那样把一套新的参数应用所有模型,YOLOv8 大幅提升了模型性能,不过YOLOv8 的 C2f 模块中的 Split 操作对特定硬件进行部署不如 YOLOv5 模型结构更加友好。对 YOLOv1-YOLOv8 算法架构、算法框架、是否锚框和公共数据集上取得性能报告进行对比。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PyCharm创建一个空的python项目

1.设置项目路径 2.配置python解释器 右下角可以选择always

基于SpringBoot+Vue的财务管理系统(带1w+文档)

基于SpringBootVue的财务管理系统(带1w文档) 基于SpringBootVue的财务管理系统(带1w文档) 财务管理系统的开发运用java技术、springboot框架,MIS的总体思想,以及Mysql等技术的支持下共同完成了该系统的开发,实现了财务管理的信息化&#xff0…

C语言-网络编程-UDP通信创建流程

UDP 通信创建流程 UDP 是⼀个传输层的⽆连接的协议,我们编写代码⼀般是分为两个端。⼀个我们称之为发送端,另⼀ 个我们称之为接收端。正常⼀般是接收端先运⾏,然后等待结束发送端发送过来的数据。 创建套接字 首先,我们需要创建…

【数据分享】2013-2022年我国省市县三级的逐日SO2数据(excel\shp格式\免费获取)

空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000——2022年的省市县三级的逐日PM2.5数据和2013-2022年的省市县三级的逐日CO数据(均可查看之前的文章获悉详情)! 本次我们分享的是我国2013——2022年的省…

PySide(PyQt),使用 QGraphicsOpacityEffect 设置小部件的整体显示透明度

基本的demo 在 PySide6 中,可以使用 QGraphicsOpacityEffect 类来实现整体显示透明度。下面是一个简单的示例,演示了如何为 QLabel 设置透明度: from PySide6.QtWidgets import QApplication, QLabel, QGraphicsOpacityEffect, QVBoxL…

【常见开源库的二次开发】基于openssl的加密与解密——MD5算法源码解析(五)

一、MD5算法分析 : 1.1 关于MD5 “消息摘要”是指MD5(Message Digest Algorithm 5)算法。MD5是一种广泛使用的密码散列函数,它可以生成一个128位(16字节)的散列值。 RFC 1321: MD5由Ronald Rivest在1992…

西门子博图TIA V18软件安装步骤

目录标题 STEP1 准备好安装包并解压STEP2 打开.NET3.5STEP3 安装V18主要软件STEP4 安装PLCSIM V18仿真软件STEP5 安装 startdrive调试变频器软件(选装)STEP6 安装完成 STEP1 准备好安装包并解压 首先准备好TIA V18软件安装包 解压一下准备安装 STEP2 …

TCP与UDP网络编程

网络通信协议 java.net 包中提供了两种常见的网络协议的支持: UDP:用户数据报协议(User Datagram Protocol)TCP:传输控制协议(Transmission Control Protocol) TCP协议与UDP协议 TCP协议 TCP协议进行通信的两个应用进程:客户端、服务端 …

go语言Gin框架的学习路线(七)

GORM入门(基于七米老师) 目录 GORM入门 安装 连接数据库 连接MySQL 连接PostgreSQL 连接Sqlite3 连接SQL Server 我们搞一个连接MySQL的例子 创建数据库 GORM操作MySQL GORM是一个流行的Go语言ORM(对象关系映射)库,它提供了一种方…

<数据集>pcb板缺陷检测数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:693张 标注数量(xml文件个数):693 标注数量(txt文件个数):693 标注类别数:6 标注类别名称:[missing_hole, mouse_bite, open_circuit, short, spurious_copper, spur…

org.springframework.context.ApplicationContext发送消息

1、创建消息的实体类 package com.demo;/*** 监听的实体类**/ public class EventMessage {private String name;public EventMessage(String name) {this.name name;}public String getName() {return name;}public void setName(String name) {this.name name;} }2、创建消…

企业微信PC版应用跳转到默认浏览器,避坑指南,欢迎补充(Vue项目版)。。。

引子 关于企业微信PC版应用跳转到默认浏览器,我之前写过一篇文章:企业微信PC版应用跳转到默认浏览器,避坑指南,欢迎补充。。。 以前的文章里用的前后端一体的Jsp项目,这次我使用的是前后端分离的Vue项目,…

防火墙之双机热备篇

为什么要在防火墙上配置双机热备技术呢? 相信大家都知道,为了提高可靠性,避免单点故障 肯定有聪明的小伙伴会想到那为什么不直接多配置两台防火墙,然后再将他们进行线路冗余,不就完成备份了吗? 答案是不…

手机如何播放电脑的声音?

准备工具: 有线耳机,手机,电脑,远控软件 1.有线耳机插电脑上 2.电脑安装pc版远控软件,手机安装手机端控制版远控软件 3.手机控制电脑开启声音控制 用手机控制电脑后,打开声音控制,电脑播放视频…

【AI资讯】7.19日凌晨OpenAI发布迷你AI模型GPT-4o mini

性价比最高的小模型 北京时间7月19日凌晨,美国OpenAI公司推出一款新的 AI 模型“GPT-4o mini”,即GPT-4o的更小参数量、简化版本。OpenAI表示,GPT-4o mini是目前功能最强大、性价比最高的小参数模型,性能逼近原版GPT-4&#xff0…

谷粒商城实战笔记-37-前端基础-Vue-基本语法插件安装

文章目录 一,v-model1,双向绑定2,vue的双向绑定2.1 html元素上使用指令v-model2.2 model中声明对应属性2.3,验证view绑定modelmodel绑定view 完整代码 二,v-on1,指令简介2,在button按钮中添加v-…

【学习笔记】无人机系统(UAS)的连接、识别和跟踪(四)-无人机认证与授权

引言 3GPP TS 23.256 技术规范,主要定义了3GPP系统对无人机(UAV)的连接性、身份识别、跟踪及A2X(Aircraft-to-Everything)服务的支持。 3GPP TS 23.256 技术规范: 【免费】3GPPTS23.256技术报告-无人机系…

【项目】星辰博客介绍

目录 一、项目背景 二、项目功能 1. 登录功能: 2. 列表页面: 3. 详情页面: 4. 写博客: 三、技术实现 四、功能页面展示 1. 用户登录 2. 博客列表页 3. 博客编辑更新页 4.博客发表页 5. 博客详情页 五.系统亮点 1.强…

C#发送内容到钉钉消息

文章目录 一、前提工作:配置钉钉机器人二、以text格式发送消息到钉钉三、以markdown格式发送消息到钉钉 一、前提工作:配置钉钉机器人 见链接:https://star-302.blog.csdn.net/article/details/135649084 下边的代码,钉钉安全设…

【C#】| 与 及其相关例子

按位或(|) 按位或运算符 | 对两个数的每一位进行比较,如果两个数中至少有一个为 1,则结果位为 1;否则,结果位为0。 1010 (10 in decimal) | 1100 (12 in decimal) ------1110 (14 in decimal) 力扣相关…