当前位置: 首页 > article >正文

TPH-YOLOv5:基于Transformer预测头的改进YOLOv5,用于无人机捕获场景的目标检测

摘要

        提出了TPH-YOLOv5。在YOLOv5的基础上,增加了一个预测头来检测不同尺度的目标。然后用Transformer Prediction Heads(TPH)代替原有的预测头,探索自注意机制的预测潜力。还集成了卷积块注意力模型(CBAM),用来发现密集对象场景中的注意力区域。为了实现所提出的TPH-YOLOv 5的更多改进,提供了一些有用的策略,如数据增强,多尺度测试,多模型集成和使用额外的分类器设计了跨层非对称Transformer(CA-Trans)来代替额外的预测头,同时保持该预测头的知识。该算法通过引入稀疏局部注意(SLA)模型,有效地捕获了附加头与其他头之间的非对称信息,丰富了其他头的特征。

        为了进一步提高TPH-YOLOv5的性能,在训练过程中采用了数据增强,这促进了对图像中对象的剧烈尺寸变化的适应性。在推理过程中加入了多尺度测试和多模型集成策略,使检测结果更有说服力。此外,通过可视化的故障情况下,提出的架构有很好的本地化能力,但具有较差分类能力,特别是在一些类似的类别,如“三轮车”和“遮阳篷三轮车”。为了解决这个问题,提供了一个自我训练的分类器(ResNet18),使用从训练数据中裁剪的图像块作为分类训练集。

创新点

        ·增加了一个预测头来处理对象的大规模方差。

        ·将Transformer Prediction Heads(TPH)集成到YOLOv5中,可以在高密度场景中准确定位对象。

        ·将CBAM集成到YOLOv5中,它可以帮助网络在具有大区域覆盖的图像中找到感兴趣的区域。

        ·使用自训练的分类器提高了对易混淆类别的分类能力。

TPH-YOLOv5

(1)Overview of YOLOv5

        YOLOv5有四种不同的型号,包括YOLOv5s,YOLOv5m,YOLOv5l和YOLOv5x。一般来说,YOLOv5分别使用CSPDarknet 53的架构,其中SPP层作为主干,PANet作为Neck和YOLO检测头。为了进一步优化整个体系结构,提供了最著名和最方便的一级探测器,选择它作为基线。

        当使用VisDrone2021数据集使用数据增强策略(Mosaic和MixUp)训练模型时,发现YOLOv5x的结果远远优于YOLOv5s,YOLOv5m和YOLOv5l,AP值的差距差距超过1.5%。尽管YOLOv5x模型的训练计算成本比其他三种模型都要高,但仍然选择使用YOLOv5x来追求最佳的检测性能。此外,根据无人机拍摄图像的特点,调整常用的光度失真和几何失真参数。

(2)TPH-YOLOv5

        TPH-YOLOv5的框架如图3所示。对原始YOLOv5进行了修改,使其专门用于VisDrone2021数据集。

Prediction head for tiny objects

        预测微小物体的头。增加了一个预测头用于微小物体检测。与其他三种预测头相结合,四头结构可以缓解剧烈的对象尺度变化带来的负面影响。如图3所示,添加的预测头(头1号)是从低级别、高分辨率的特征图中生成的,对微小物体更敏感。增加一个额外的检测头后,虽然计算量和内存开销增加,但微小目标检测的性能得到了很大的提高。

Transformer encoder block

        Transformer编码器块。用Transformer编码器块替换了原始版本YOLOv5中的一些卷积块和CSP瓶颈块。其结构如图4所示。与CSPDarknet53中的原始瓶颈块相比,Transformer编码器块可以捕获全局信息和丰富的上下文信息。每个Transformer编码器包含两个子层。第一子层是多头注意层,第二子层(MLP)是全连接层。在每个子层之间使用剩余连接。Transformer编码器块提高了捕获不同本地信息的能力。它还可以利用自我注意机制探索特征表征潜力。

        基于YOLOv5,只在头部分应用Transformer编码器块,形成Transformer Prediction Head(TPH)和主干的末端。因为网络末端的要素地图分辨率较低。在低分辨率特征地图上应用TPH可以减少昂贵的计算和存储开销。此外,当扩大输入图像的分辨率,有选择地删除一些TPH块在早期层,使训练过程可用。

Convolutional block attention module (CBAM):

        卷积块注意模块(CBAM)。CBAM是一个简单但有效的注意模块。它是一个轻量级的模块,可以集成到大多数著名的CNN架构中,并且可以以端到端的方式进行训练。CBAM在给定特征图的情况下,沿着通道和空间两个独立的维度顺序地推断注意力图,然后将注意力图与输入特征图相乘以执行自适应特征细化。CBAM模块的结构如图5所示。

        在无人机捕获的图像上,大面积的覆盖区域往往包含着易混淆的地理要素。利用CBAM提取注意区域,帮助TPH-YOLOv5抵抗混淆信息,将注意力集中到有用的目标对象上。

Ms-testing and model ensemble:

        Ms检验和模型集成。本文从模型集成的不同角度训练了五种不同的模型。在推理阶段,首先对单个模型执行ms-检验策略。ms-testing的实现细节有以下三步。

        1)将测试图像缩放至1.3倍。

        2)分别将图像缩小1倍、0.83倍和0.67倍。

        3)水平翻转图像。

        最后,将6幅不同尺度的图像输入到TPH-YOLOv5中,并利用NMS对预测结果进行融合。在不同的模型上,执行相同的ms检验操作,并通过WBF融合最后的五个预测,以获得最终结果。

Self-trained classifier:

        自我训练的分类器。使用TPH-YOLOv5对VisDrone 2021数据集进行训练后,对test-dev数据集进行测试,并通过可视化故障案例对测试结果进行分析,得出TPH-YOLOv5具有较好的定位能力,但分类能力较差的结论。进一步研究了混淆矩阵,并观察到一些硬类别(如三轮车和遮阳三轮车)的精度很低。因此,提出了一个额外的自训练分类器。首先,构建了TPH-YOLOv5,并使用TPH-YOLOv5对VisDrone 2021数据集进行了训练,然后对test-dev数据集进行了测试,通过可视化失败案例对测试结果进行了分析,得出了TPH-YOLOv 5具有良好的定位能力但分类能力较差的结论。


http://www.kler.cn/a/289870.html

相关文章:

  • 力扣-Mysql-3308- 寻找表现最佳的司机(中等)
  • 初级数据结构——栈
  • `node-gyp` 无法找到版本为 `10.0.19041.0` 的 Windows SDK
  • Java 多线程(三)—— 死锁
  • 408模拟卷较难题(无分类)
  • 【算法一周目】双指针(2)
  • 华为云征文|华为云Flexus X实例docker部署srs6并调优,协议使用webrtc与rtmp
  • 每天一个数据分析题(五百一十八)- Skip-Gram模型
  • python自动化操作PDF,拆分pdf合并pdf,提取pdf内容
  • 张江创新券的一些介绍
  • 搜维尔科技:数据手套+机械手遥操作,五指触感灵巧手解决方案!
  • selenium无法定位元素的几种解决方案
  • 基于Bert-base-chinese训练多分类文本模型(代码详解)
  • 智能网关:连接物理世界与数字世界的桥梁
  • Qt QLineEdit 输入内容后字数在右侧动态展示
  • AWS SES服务 Golang接入教程(排坑版)
  • ubuntu20.04安装k8sv1.26完整篇
  • Source-code-of-charging-云快充协议1.5+互联互通协议+新能源汽车充电桩系统
  • 基于mediamtx+ffmpeg实现视频推流,基于python-deffcode实现视频拉流
  • 在Vision Pro上实现360度全景视频播放:HLS360VideoMaterial框架介绍
  • Python 在网络运维方面的自动化应用实例
  • sqlserver 如何收缩+最大化压缩数据库
  • git无法pull仓库refusing to merge unrelated historie
  • 【APP自动化】Appium 环境搭建
  • JVM4-运行时数据区
  • 【论文阅读】:Mamba YOLO SSMs-Based YOLO For Object Detection