本文主要是介绍YOLOv8最新改进系列:融合YOLOv9下采样机制,扩大YOLOv8网络模型感受野,降低过拟合,让小目标无处可遁!检测精度再提新高!!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
YOLOv8最新改进系列:融合YOLOv9下采样机制,扩大YOLOv8网络模型感受野,降低过拟合,让小目标无处可遁!检测精度再提新高!!!
YOLOv9下采样原文链接戳这里,原文全文翻译请关注B站Ai学术叫叫首er
B站全文戳这里!
详细的改进教程以及源码,戳这!戳这!!戳这!!!B站:AI学术叫叫兽 源码在相簿的链接中,动态中也有链接,感谢支持!祝科研遥遥领先!
截止到发稿时,B站YOLOv8最新改进系列的源码包,已更新了38种+损失函数的改进!自己排列组合2-4种后,不考虑位置已达10万种以上改进方法!考虑位置不同后可排列上百万种!!专注AI学术,关注B站博主:Ai学术叫叫兽er!
YOLOv8最新改进系列:融合YOLOv9下采样机制,扩大YOLOv8网络模型感受野,让小目标无处可遁!检测精度再提新高!!!!!
- YOLOv8最新改进系列:融合YOLOv9下采样机制,扩大YOLOv8网络模型感受野,降低过拟合,让小目标无处可遁!检测精度再提新高!!!
- 一、下采样详解
- 1.1 下采样的目的:
- 1.2上采样与下采样的区别
- 1.2.1上采样的方式:
- 1.2.2下采样的方式
- 二、YOLOv9概述
- 三、 改进教程
- 2.1 修改YAML文件
- 2.2 新建D.py
- 2.3 修改tasks.py
- 三、验证是否成功即可
一、下采样详解
1.1 下采样的目的:
为了使得图像符合显示区域的大小,生成对应图像的缩略图。在信号处理的不同模块中,下采样可以带来许多好处,例如提高信噪比,减少计算量,防止过拟合,增大感受野,使得后面的卷积核能够学到更加全局的信息。
1.2上采样与下采样的区别
1.2.1上采样的方式:
它有反卷积(Deconvolution,也称转置卷积)、上池化(UnPooling)方法、双线性插值(各种插值算法)。
在卷积神经网络中,由于输入图像通过卷积神经网络(CNN)提取特征后,输出的尺寸往往会变小,而有时我们需要将图像恢复到原来的尺寸以便进行进一步的计算(如图像的语义分割),这个使图像由小分辨率映射到大分辨率的操作,叫做上采样,它的实现一般有三种方式:
1.插值,一般使用的是双线性插值,因为效果最好,虽然计算上比其他插值方式复杂,但是相对于卷积计算可以说不值一提,其他插值方式还有最近邻插值、三线性插值等;
2.转置卷积又或是说反卷积(Transpose Conv),通过对输入feature
map间隔填充0,再进行标准的卷积计算,可以使得输出feature map的尺寸比输入更大;
3.Up-Pooling - Max Unpooling && Avg Unpooling --Max Unpooling,在对称的max pooling位置记录最大值的索引位置,然后在unpooling阶段时将对应的值放置到原先最大值位置,其余位置补0;
1.2.2下采样的方式
1、采用stride为2的池化层,如Max-pooling和Average-pooling,目前通常使用Max-pooling,因为他计算简单而且能够更好的保留纹理特征;
2、采用stride为2的卷积层,下采样的过程是一个信息损失的过程,而池化层是不可学习的,用stride为2的可学习卷积层来代替pooling可以得到更好的效果,当然同时也增加了一定的计算量。
二、YOLOv9概述
如今的深度学习方法重点关注如何设计最合适的目标函数,从而使得模型的预测结果能够最接近真实情况。同时,必须设计一个适当的架构,可以帮助获取足够的信息进行预测。然而,现有方法忽略了一个事实,即当输入数据经过逐层特征提取和空间变换时,大量信息将会丢失。
因此,YOLOv9 深入研究了数据通过深度网络传输时数据丢失的重要问题,即信息瓶颈和可逆函数。研究者提出了可编程梯度信息(programmable gradient information,PGI)的概念,来应对深度网络实现多个目标所需要的各种变化。PGI 可以为目标任务计算目标函数提供完整的输入信息,从而获得可靠的梯度信息来更新网络权值。
此外,研究者基于梯度路径规划设计了一种新的轻量级网络架构,即通用高效层聚合网络(Generalized Efficient Layer Aggregation Network,GELAN)。该架构证实了 PGI 可以在轻量级模型上取得优异的结果。
研究者在基于 MS COCO 数据集的目标检测任务上验证所提出的 GELAN 和 PGI。结果表明,与基于深度卷积开发的 SOTA 方法相比,GELAN 仅使用传统卷积算子即可实现更好的参数利用率。
对于 PGI 而言,它的适用性很强,可用于从轻型到大型的各种模型。我们可以用它来获取完整的信息,从而使从头开始训练的模型能够比使用大型数据集预训练的 SOTA 模型获得更好的结果。
详细的改进教程以及源码和YOLOv9全文翻译,戳这!戳这!!戳这!!!B站:AI学术叫叫兽 源码在相簿的链接中,动态中也有链接,感谢支持!祝科研遥遥领先!
三、 改进教程
2.1 修改YAML文件
详细的改进教程以及源码,戳这!戳这!!戳这!!!B站:AI学术叫叫兽 源码在相簿的链接中,动态中也有链接,感谢支持!祝科研遥遥领先!
2.2 新建D.py
详细的改进教程以及源码,戳这!戳这!!戳这!!!B站:AI学术叫叫兽er 源码在相簿的链接中,动态中也有链接,感谢支持!祝科研遥遥领先!
2.3 修改tasks.py
详细的改进教程以及源码,戳这!戳这!!戳这!!!B站:AI学术叫叫兽er 源码在相簿的链接中,动态中也有链接,感谢支持!祝科研遥遥领先!
三、验证是否成功即可
执行命令
python train.py
改完收工!
关注B站:AI学术叫叫兽
从此走上科研快速路
遥遥领先同行!!!!
详细的改进教程以及源码,戳这!戳这!!戳这!!!B站:AI学术叫叫兽er 源码在相簿的链接中,动态中也有链接,感谢支持!祝科研遥遥领先!
这篇关于YOLOv8最新改进系列:融合YOLOv9下采样机制,扩大YOLOv8网络模型感受野,降低过拟合,让小目标无处可遁!检测精度再提新高!!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!