YOLO V4 Tiny改进版来啦!速度294FPS精度不减YOLO V4 Tiny(附论文下载)

简介: YOLO V4 Tiny改进版来啦!速度294FPS精度不减YOLO V4 Tiny(附论文下载)

1、方法简介


为了提高目标检测的实时性,本文提出了一种基于YOLOv4-tiny的快速目标检测方法。它首先使用ResNet-D网络中的两个ResBlock-D模块,而不是Yolov4-tiny中的两个CSPBlock模块,从而降低了计算复杂度。其次,设计了辅助残差网络块,以提取更多的物体特征信息,以减少检测误差。

在辅助网络的设计中,使用两个连续的3x3卷积获得5x5感受野以提取全局特征,并使用通道注意力和空间注意力来提取更有效的信息。

最后,它将辅助网络和Backbone网络合并,以构建改进的YOLOv4-tiny的整个网络结构。实验结果表明,该方法具有比YOLOv4-tiny和YOLOv3-tiny更快的目标检测速度,并且其平均精度的平均值与YOLOv4-tiny几乎相同。它更适合于实时目标检测。


2、YOLO V4 Tiny概要


2.1、模型结构

Yolov4-tiny使用特征金字塔网络提取不同尺度的特征图,进而提高目标检测速度,而不使用Yolov4方法中使用的空间金字塔池和路径聚合网络。同时,Yolov4-tiny使用和两种不同比例尺的feature map来预测检测结果。

2.2、损失函数

1、置信度损失函数

image.png

image.png

其中为第i个网格中第j个边界框的置信分数。只是用来判别是否为目标的函数(0/1)。

2、分类损失函数

image.png

其中,和分别为对象在第i个网格的第j个边界框中属于c类的预测概率和真概率。

3、边界框回归损失函数

image.png

4、总损失函数

image.png


3、改进YOLO Tiny算法


文章作者为了进一步提升速度,使用ResBlock-D模块代替了部分CSPBlock模块,降低了计算的复杂度,同时设计了Auxiliary残差模块,以便提取更多的物体特征信息,以降低检测的误差;所提backbone网络如下:

image.png

3.1、设计思路

FPS计算:

image.png

其中D为所有卷积层的和,为第个卷积层的输出特征映射大小,为核大小的个数,和分别为输入通道和输出通道的个数。

这里假设输入图像的大小为,通道数为64。

CSPBlock的FLOPs为:

image.png

ResBlock-D的FLOPs为:

image.png

通过以上计算可以得到CSPBlock和ResBlock-D的计算复杂度比率约为10:1。这意味着ResBlock-D的计算复杂度远小于CSPBlock。因此在设计模型的时候使用ResBlock-D代替了CSPBlock模块:

image.png

3.2、Auxiliary Network Block

论文中提到虽然使用ResBlock-D模块来代替CSPBlock模块能够一定层度上提高目标检测的速度,但是它降低了目标检测的准确性。因此为了保持精度和速度的平衡,作者设计了两个相同的Residual Network blocks作为Auxiliary Network Block,并将其添加到ResBlock-D模块中以提高精度。

image.png

这里Auxiliary Network Block利用两个卷积网络提取全局特征,同时使用通道注意力和空间注意力提取更有效的特征信息。采用级联操作将第1个卷积网络的输出特征与空间注意力机制的输出特征进行组合。组合后的特征作为Auxiliary Network Block的输出特征。

最后,将最终的Auxiliary Network输出特征与Backbone中Residual网络的输出特征相结合,作为下一个骨干网中Residual网络的输入特征。使改进后的骨干网能够提取出检测对象的全局和局部特征,进一步提高了检测的准确性。

image.png


4、实验结果


4.1、精度与速度

4.2、GPU占用率

4.3、实际检测结果

参考

[1] Real-time object detection method based on improved YOLOv4-tiny

相关文章
|
监控 安全 API
Outlook邮箱API发送邮件的具体步骤
使用Outlook邮箱API发送邮件涉及五个步骤:1) 注册Azure应用并获取API访问权限;2) 构建包含邮件详情的POST请求;3) 发送请求至API端点,附带验证信息和访问令牌;4) 检查API响应状态码确保邮件发送成功;5) 监控邮件发送状态。AokSend提供高效发信服务,支持触发式和SMTP/API接口。确保遵循最佳实践,保证邮件发送安全可靠。
|
Java 数据管理 关系型数据库
机票预订系统(java+mysql+navicat)
机票预订系统(java+mysql+navicat)
机票预订系统(java+mysql+navicat)
|
2月前
|
存储 缓存 前端开发
《前端功能开关SDK全景剖析:从远程配置到数据闭环,重构业务迭代底层逻辑》
本文聚焦前端功能开关SDK,深入剖析其四大核心能力与协同逻辑。远程配置打破前端代码与功能的强绑定,通过“远程拉取+本地缓存”实现动态更新,降低功能调整风险;用户定位依托多维度用户特征采集与标签体系,实现功能精准分层交付;A/B测试以科学实验流程将产品决策从经验驱动转为数据驱动,验证功能方案优劣;数据上报构建“感知层”,保障数据全面、准确且不影响前端性能,为前三者提供决策依据。四大能力形成“功能管控-数据反馈-优化迭代”闭环,同时探讨SDK落地中的技术挑战,为复杂前端业务的高效迭代与体验优化提供解决方案。
|
12月前
|
计算机视觉 异构计算
目标检测实战(四):YOLOV4-Tiny 源码训练、测试、验证详细步骤
这篇文章详细介绍了使用YOLOv4-Tiny进行目标检测的实战步骤,包括下载源码和权重文件、配置编译环境、进行简单测试、训练VOC数据集、生成训练文件、准备训练、开始训练以及多GPU训练的步骤。文章还提供了相应的代码示例,帮助读者理解和实践YOLOv4-Tiny模型的训练和测试过程。
1129 0
|
12月前
|
PyTorch 算法框架/工具 计算机视觉
目标检测实战(二):YoloV4-Tiny训练、测试、评估完整步骤
本文介绍了使用YOLOv4-Tiny进行目标检测的完整流程,包括模型介绍、代码下载、数据集处理、网络训练、预测和评估。
675 2
目标检测实战(二):YoloV4-Tiny训练、测试、评估完整步骤
|
8月前
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【Head】| AFPN渐进式自适应特征金字塔,增加针对小目标的检测头(附模块详解和完整配置步骤)
YOLOv11改进策略【Head】| AFPN渐进式自适应特征金字塔,增加针对小目标的检测头(附模块详解和完整配置步骤)
947 12
YOLOv11改进策略【Head】| AFPN渐进式自适应特征金字塔,增加针对小目标的检测头(附模块详解和完整配置步骤)
|
11月前
|
缓存
DevEco Studio 5.0.1 Beta3安装及配置
本文介绍了如何下载、安装和配置华为DevEco Studio 5.0.1 Beta3,并详细说明了安装HarmonyOS模拟器及创建虚拟机的步骤。包括下载安装包、卸载旧版本、选择安装目录、创建快捷方式、启动DevEco Studio、配置环境、进入设备管理器、下载虚拟机镜像、创建和启动虚拟机等操作。
1698 1
|
12月前
|
机器学习/深度学习 数据可视化 自动驾驶
YOLO11-seg分割如何训练自己的数据集(道路缺陷)
本文介绍了如何使用自己的道路缺陷数据集训练YOLOv11-seg模型,涵盖数据集准备、模型配置、训练过程及结果可视化。数据集包含4029张图像,分为训练、验证和测试集。训练后,模型在Mask mAP50指标上达到0.673,展示了良好的分割性能。
4704 4
|
12月前
|
Docker 容器
用Docker发布自己的镜像
用Docker发布自己的镜像
360 9
|
12月前
|
机器学习/深度学习 人工智能 文字识别
ultralytics YOLO11 全新发布!(原理介绍+代码详见+结构框图)
本文详细介绍YOLO11,包括其全新特性、代码实现及结构框图,并提供如何使用NEU-DET数据集进行训练的指南。YOLO11在前代基础上引入了新功能和改进,如C3k2、C2PSA模块和更轻量级的分类检测头,显著提升了模型的性能和灵活性。文中还对比了YOLO11与YOLOv8的区别,并展示了训练过程和结果的可视化
18011 0