摘要
提出了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具有良好的定位能力但分类能力较差的结论。