TPH-YOLOv5详细解读|让目标探测任务中的小目标无处藏身。
无人机拍摄场景中的目标检测是近年来的热门课题。由于无人机在不同的高度飞行,目标尺度变化很大,这也给模型的优化带来了很大的负担。此外,当无人机高速低空飞行时,还会带来密集目标的运动模糊问题。
图1小目标和密集问题
为了解决以上两个问题,本文提出了TPH-YOLOv5。TPH-YOLOv5在YOLOv5上增加了一个预测头,用于检测不同尺度的目标。然后,通过探索自我注意的预测潜力,使用变压器预测头(TPH)代替原来的预测头。同时,作者还集成了卷积块注意模型(CBAM)来寻找密集场景中的注意区域。
为了进一步改进TPH-YOLOv5,作者还提供了许多有用的策略,如数据增强、多尺度测试、多模型集成和使用附加分类器。
在VisDrone2021数据集上的大量实验表明,TPH-YOLOv5在无人机抓拍场景中具有良好的性能和可解释性。在DET测试挑战数据集上,TPH-YOLOv5的AP结果为39.18%,比之前的SOTA方法(DPNetV3)提高了1.81%。在VisDrone挑战赛2021中,TPH-YOLOv5比YOLOv5提升了7%左右。
本文的贡献如下:
2前期工作总结2.1数据扩充
数据增强的意义主要是扩大数据集,使模型对不同环境下获得的图像更具鲁棒性。
光度学和几何学被研究者广泛使用。对于测光,主要是调整图像的色调、饱和度、数值。在处理几何时,我们主要添加了随机缩放、裁剪、平移、剪切和旋转。
除了以上的全局像素增强方法,还有一些独特的数据增强方法。一些研究人员已经提出了组合多幅图像来增强数据的方法,例如混合、剪切和镶嵌。
MixUp从训练图像中随机选取两个样本进行随机加权求和,样本的标签也对应着加权求和。与通常使用零像素遮罩来遮罩图像的遮罩工作不同,CutMix使用另一个图像的区域来覆盖被遮挡的区域。Mosaic是CutMix的改进版本。拼接四幅图像极大地丰富了被检测物体的背景。此外,批量标准化计算每层上四个不同图像的激活统计数据。
在TPH-YOLOv5的工作中,数据增强主要结合了MixUp、Mosaic和传统方法。
2.2多模型集成方法
我们都知道深度学习模型是一种非线性方法。它们提供了更大的灵活性,可以根据训练数据的比例进行扩展。这种灵活性的一个缺点是,它们通过随机训练算法进行学习,这意味着它们对训练数据的细节非常敏感,每次训练可能会得到不同的一组权重,从而导致不同的预测。这给模型带来了很大的变化。
减少模型方差的一个成功方法是训练多个模型而不是单个模型,并组合这些模型的预测。
根据不同的目标检测模型,集成盒有三种不同的方法:非最大抑制(NMS)、软NMS和加权盒融合(WBF)。
在NMS方法中,如果盒子的重叠、交集大于并集(IOU)大于某个阈值,则它们被认为属于同一对象。对于每个目标NMS,只留下一个具有最高置信度的框来删除其他框。因此,箱式滤波过程取决于单个IoU阈值的选择,这对模型性能有很大影响。
软NMS是NMS的轻微修改,这使得软NMS在标准基准数据集(如PASCAL VOC和MS COCO)上明显优于传统的NMS。它不是完全将其置信度设置为0并删除它,而是根据相邻边界框的IoU值的置信度来设置衰减函数。
WBF的工作原理与NMS不同。NMS和软NMS都排除一些框,而WBF组合所有的框形成最终结果。因此,它可以解决模型中所有不准确的预测。本文采用WBF集成最终模型,其性能明显优于NMS。
2.3物体检测
基于CNN的物体检测器可以分为几种类型:
有些探测器是专门为无人机拍摄的图像设计的,如RRNet、PENet、CenterNet等。但从组件的角度来看,它们通常由两部分组成,一部分是基于CNN的主干,用于提取图像特征,另一部分是检测头,用于预测目标类别和盒子。
另外,近几年发展起来的目标探测器,往往在脊柱和头部之间插入一些层,通常称为探测器的颈部。接下来,详细介绍这三种结构:
毅力
常用的主干网有VGG、ResNet、DenseNet、MobileNet、EfficientNet、CSPDarknet53、Swin-Transformer等。,都不是自己设计的网络。因为这些网络已经证明了它们在分类等问题上具有很强的特征提取能力。但研究人员也将微调脊柱,使其更适合特定的垂直任务。
脖子
Neck的设计是为了更好地利用Backbone提取的特征。对主干提取的特征图进行再加工,并在不同阶段合理使用。通常,一个颈部由几个自底向上的路径和几个自顶向下的路径组成。瓶颈是目标检测框架中的关键环节。最早的琴颈使用上下采样块。这种方法的特点是没有SSD之类的特征层聚合操作,直接跟随头部后面的多级特征图。
常用的颈部聚集块有:FPN,帕内特,NAS-FPN,比夫恩,ASFF,萨姆。这些方法的* * *本质就是反复使用各种上下采样、拼接、点和或点积来设计聚集策略。颈也有一些额外的块,如SPP,ASPP,RFB,CBAM。
头
作为分类网络,Backbone无法完成定位任务,Head负责通过Backbone提取的特征图检测目标的位置和类别。
磁头一般分为两种:一级检测器和二级检测器。
两级检测器一直是目标检测领域的主流方法,其中RCNN系列最具代表性。与两阶段检测器相比,一阶段检测器预测盒子和目标的类别。一级检测器速度优势明显,但精度较低。对于一级探测器,最具代表性的型号是YOLO系列,SSD和RetaNet。
3 TPH-yolov 53.1 yolov 5概述
Yolov5有四种不同的配置,分别是YOLOv5s、YOLOv5m、YOLOv5l和Yolo V5 x,总的来说,Yolo V5使用CSPDarknet53+SPP作为主干,PANet作为颈部,YOLO分别检测头部。为了进一步优化整个架构。因为它是最明显和最方便的一级检测器,所以作者选择它作为基线。
图2 THP-YOLO V5的总体架构
在使用VisDrone2021数据集对模型进行训练时,发现通过使用数据增强策略(Mosaic和MixUp),YOLOv5x的结果远好于YOLOv5s、YOLOv5m和YOLOV 5L,AP值差异大于1.5%。虽然YOLOv5x模型的训练计算成本高于其他三个模型,但仍然选择YOLOv5x来追求最佳的检测性能。此外,根据无人机拍摄图像的特点,对常用的光度和几何参数进行了调整。
3.2 TPH-YOLOv5
TPH-YOLOv5的框架如图3所示。原始YOLOv5被修改为特定于VisDrone2021数据集:
图3 TPH-YOLO V5模型结构中微小物体的预测头
作者统计了VisDrone2021数据集,发现其中包含了很多非常小的目标,于是增加了一个探测微小物体的预测头。结合其他三种预测头,四头结构可以缓解目标规模剧烈变化带来的负面影响。如图3所示,增加的预测头(Head 1)由低层高分辨率特征图生成,对微小物体更敏感。加入探测器后,微小物体的探测性能有了很大提高,虽然计算和存储成本增加了。
变压器编码器模块
图4变压器组
Transformer编码器模块用于替换YOLOv5原始版本中的一些卷积模块和CSP瓶颈模块。其结构如图4所示。与CSPDarknet53中原有的瓶颈模块相比,作者认为Transformer编码器模块能够捕捉全局信息和丰富的上下文信息。
每个变换器编码器块包含2个子层。1子层是多头关注层,第二个子层(MLP)是全连接层。在每个子层之间使用剩余连接。变压器编码器模块提高了捕捉不同本地信息的能力。还可以利用自我注意机制挖掘特征表征的潜力。在VisDrone2021数据集上,Transformer编码器块在高密度分块对象上具有更好的性能。
基于YOLOv5,作者仅在报头中应用了变换器编码器块,以形成变换器预测报头(TPH)和主干端。因为网络末端的特征地图分辨率低。将TPH应用于低分辨率特征地图可以降低计算和存储成本。此外,当放大输入图像的分辨率时,可以选择移除早期层中的一些TPH块,以使训练过程可用。
卷积块注意模块(CBAM)
CBAM是一个简单而有效的注意力模块。它是一个轻量级的模块,可以插入CNN架构,以端到端的方式进行训练。给定一个特征图,CBAM会沿着通道和空间两个独立的维度推断出注意力图,然后将注意力图与输入的特征图相乘,进行自适应的特征提炼。
图5 CBAM注意机制
CBAM模块的结构如图5所示。通过本文的实验,将CBAM集成到不同分类和检测数据集的不同模型中,模型的性能有了很大的提高,证明了该模块的有效性。
在无人机拍摄的图像中,大面积的覆盖区域总是包含令人困惑的地理元素。使用CBAM,可以提取注意力区域,帮助TPH-YOLOv5抵制混淆信息,关注有用的目标对象。
自训练分类器
用TPH-YOLOv5训练VisDrone2021数据集后,对test-dev数据集进行测试,然后通过可视化故障案例分析结果,得出TPH-YOLOv5定位能力好,分类能力差的结论。作者进一步探讨了图6所示的混淆矩阵,观察到一些硬分类的准确率很低,比如三轮车和遮阳三轮车。
图6检测混淆矩阵
因此,作者提出了一种自训练分类器。首先,通过裁剪地面真实边界框并将每个图像块的大小调整为64×64来构建训练集。然后选择ResNet18作为分类器网络。实验结果表明,在该自训练分类器的帮助下,该方法的AP值提高了约0.8%~1.0%。
4实验和结论
最终我们在测试集挑战上取得了39.18的好成绩,远高于VisDrone2020的最高分37.37。
图9测试结果图