当Transformer遇见YOLOv5!TPH-YOLOv5:让小目标无处遁形!

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

本文转载自:集智书童

TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head for Object Detection on Drone-captured Scenarios论文链接:arxiv.org/abs/2108.11539

本文在YOLOv5的基础上加入了一些新的技术,比如ViT、CBAM和一些Tricks(数据增广、多尺度测试等),最终命名为TPH-YOLOv5的目标检测器,比较适合无人机小目标的检测和应用。
工作单位: 北京航空航天大学

1简介

针对无人机捕获场景的目标检测是最近比较流行的一项任务。由于无人机在不同高度飞行,目标尺度变化较大,这样给模型的优化也带来了很大的负担。此外,在无人机进行高速低空飞行时,也会带来密集目标的运动模糊问题。

图1 小目标与密集问题

为了解决上述2个问题,本文提出了TPH-YOLOv5TPH-YOLOv5在YOLOv5的基础上增加了一个prediction heads 来检测不同尺度的目标。然后通过探索Self-Attention的预测潜力使用了Transformer Prediction Heads(TPH)代替原来的prediction heads。同时作者还集成了卷积块Attention模型(CBAM)来寻找密集场景下的注意力区域。

为了进一步改进TPH-YOLOv5,作者还提供了大量有用的策略,如数据增强、多尺度测试、多模型集成和使用额外的分类器。

在VisDrone2021数据集上的大量实验表明,TPH-YOLOv5在无人机捕获场景上具有良好的性能和可解释性。在DET-test-challenge数据集上,TPH-YOLOv5的AP结果为39.18%,比之前的SOTA方法(DPNetV3)提高了1.81%。在VisDrone Challenge 2021中,TPH-YOLOv5与YOLOv5相比提高了约7%。

本文的贡献如下:
  • 增加了一个预测头来处理目标的大尺度方差;

  • 将Transformer Prediction Heads (TPH)集成到YOLOv5中,可以在高密度场景中准确定位目标;

  • 将CBAM集成到YOLOv5中,帮助网络在区域覆盖范围大的图像中找到感兴趣的区域;

  • 提供有用的Tricks,并过滤一些无用的Trick,用于无人机捕获场景的目标检测任务;

  • 使用self-trained classifier来提高对一些容易混淆的类别的分类能力。

2前人工作总结

2.1 Data Augmentation

数据增强的意义主要是扩展数据集,使模型对不同环境下获得的图像具有较高的鲁棒性。

Photometric和geometric被研究人员广泛使用。对于Photometric主要是对图像的色相、饱和度和值进行了调整。在处理geometric时主要是添加随机缩放、裁剪、平移、剪切和旋转。

除了上述的全局像素增强方法外,还有一些比较独特的数据增强方法。一些研究者提出了将多幅图像结合在一起进行数据增强的方法,如MixUp、CutMix和Mosaic。

MixUp从训练图像中随机选取2个样本进行随机加权求和,样本的标签也对应于加权求和。不同于通常使用零像素mask遮挡图像的遮挡工作,CutMix使用另一个图像的区域覆盖被遮挡的区域。Mosaic是CutMix的改进版。拼接4幅图像,极大地丰富了被检测物体的背景。此外,batch normalization计算每层上4张不同图像的激活统计量。

在TPH-YOLOv5的工作中主要是结合了MixUp、Mosaic以及传统方法进行的数据增强。

2.2 Multi-Model Ensemble Method

我们都知道深度学习模型是一种非线性方法。它们提供了更大的灵活性,并可以根据训练数据量的比例进行扩展。这种灵活性的一个缺点是,它们通过随机训练算法进行学习,这意味着它们对训练数据的细节非常敏感,每次训练时可能会得到一组不同的权重,从而导致不同的预测。这给模型带来了一个高方差

减少模型方差的一个成功方法是训练多个模型而不是单一模型,并结合这些模型的预测。

针对不同的目标检测模型,有3种不同的ensemble boxes方法:非最大抑制(NMS)、Soft-NMS、Weighted Boxes Fusion(WBF)。

在NMS方法中,如果boxes的overlap, Interp Over Union(IoU)大于某个阈值,则认为它们属于同一个对象。对于每个目标NMS只留下一个置信度最高的box删除其他box。因此,box过滤过程依赖于这个单一IoU阈值的选择,这对模型性能有很大的影响。

Soft-NMS是对NMS进行轻微的修改,使得Soft-NMS在标准基准数据集(如PASCAL VOC和MS COCO)上比传统NMS有了明显的改进。它根据IoU值对相邻边界box的置信度设置衰减函数,而不是完全将其置信度评分设为0并将其删除。

WBF的工作原理与NMS不同。NMS和Soft-NMS都排除了一些框,而WBF将所有框合并形成最终结果。因此,它可以解决模型中所有不准确的预测。本文使用WBF对最终模型进行集成,其性能明显优于NMS。

2.3 Object Detection

基于CNN的物体检测器可分为多种类型:

  • One-Stage: YOLOX、FCOS、DETR、Scaled-YOLOv4、EfficientDet。

  • Two-Stage: VFNet、 CenterNet2。

  • Anchor-Based: ScaledYOLOv4、 YOLOv5。

  • Anchor-Free: CenterNet、 YOLOX、RepPoints。

一些检测器是专门为无人机捕获的图像设计的,如RRNet、PENet、CenterNet等。但从组件的角度来看,它们通常由2部分组成,一是基于CNN的主干,用于图像特征提取,另一部分是检测头,用于预测目标的类和Box。

此外,近年来发展起来的目标检测器往往在backbone和head之间插入一些层,人们通常称这部分为检测器的Neck。接下来分别对这3种结构进行详细介绍:

Backbone

常用的Backbone包括VGG、ResNet、DenseNet、MobileNet、EfficientNet、CSPDarknet53、Swin-Transformer等,均不是自己设计的网络。因为这些网络已经证明它们在分类和其他问题上有很强的特征提取能力。但研究人员也将微调Backbone,使其更适合特定的垂直任务。

Neck

Neck的设计是为了更好地利用Backbone提取的特征。对Backbone提取的特征图进行不同阶段的再处理和合理使用。通常,一个Neck由几个自底向上的路径和几个自顶向下的路径组成。Neck是目标检测框架中的关键环节。最早的Neck是使用上下取样块。该方法的特点是没有特征层聚合操作,如SSD,直接跟随头部后的多层次特征图。

常用的Neck聚合块有:FPN、PANet、NAS-FPN、BiFPN、ASFF、SAM。这些方法的共性是反复使用各种上下采样、拼接、点和或点积来设计聚合策略。Neck也有一些额外的块,如SPP, ASPP, RFB, CBAM。

Head

作为一个分类网络,Backbone无法完成定位任务,Head负责通过Backbone提取的特征图检测目标的位置和类别。

Head一般分为2种:One-Stage检测器和Two-Stage检测器。

两级检测器一直是目标检测领域的主导方法,其中最具代表性的是RCNN系列。与Two-Stage检测器相比One-Stage检测器同时预测box和目标的类别。One-Stage检测器的速度优势明显,但精度较低。对于One-Stage检测器,最具代表性的型号是YOLO系列、SSD和RetaNet。

3TPH-YOLOv5

3.1 Overview of YOLOv5

YOLOv5有4种不同的配置,包括YOLOv5s,YOLOv5m, YOLOv5l和YOLOv5x。一般情况下,YOLOv5分别使用CSPDarknet53+SPP为Backbone,PANet为Neck, YOLO检测Head。为了进一步优化整个架构。由于它是最显著和最方便的One-Stage检测器,作者选择它作为Baseline。

图2 THP-YOLOv5整体架构

当使用VisDrone2021数据集训练模型时,使用数据增强策略(Mosaic和MixUp)发现YOLOv5x的结果远远好于YOLOv5s、YOLOv5m和YOLOv5l, AP值的差距大于1.5%。虽然YOLOv5x模型的训练计算成本比其他3种模型都要高,但仍然选择使用YOLOv5x来追求最好的检测性能。此外,根据无人机捕获图像的特点,对常用的photometric和geometric参数进行了调整。

3.2 TPH-YOLOv5

TPH-YOLOv5的框架如图3所示。修改了原来的YOLOv5,使其专一于VisDrone2021数据集:

图3 TPH-YOLOv5模型结构
微小物体的预测头

作者统计了VisDrone2021数据集,发现它包含了很多非常小的目标,所以增加了一个用于微小物体检测的预测头。结合其他3个预测头,4头结构可以缓解剧烈的目标尺度变化带来的负面影响。如图3所示,添加的预测头(Head 1)是由low-level、高分辨率的feature map生成的,对微小物体更加敏感。增加检测头后,虽然增加了计算和存储成本,但对微小物体的检测性能得到了很大的提高。

Transformer encoder block
图4 Transformer Block

用Transformer encoder块替换了YOLOv5原版中的一些卷积块和CSP bottleneck blocks。其结构如图4所示。与CSPDarknet53中原有的bottleneck blocks相比,作者认为Transformer encoder block可以捕获全局信息和丰富的上下文信息。

每个Transformer encoder block包含2个子层。第1子层为multi-head attention layer,第2子层(MLP)为全连接层。每个子层之间使用残差连接。Transformer encoder block增加了捕获不同局部信息的能力。它还可以利用自注意力机制来挖掘特征表征潜能。在VisDrone2021数据集中,Transformer encoder block在高密度闭塞对象上有更好的性能。

基于YOLOv5,作者只在头部部分应用Transformer encoder block形成transformer Prediction head(TPH)和backbone端。因为网络末端的特征图分辨率较低。将TPH应用于低分辨率特征图可以降低计算和存储成本。此外,当放大输入图像的分辨率时可选择去除早期层的一些TPH块,以使训练过程可用。

Convolutional block attention module (CBAM)

CBAM是一个简单但有效的注意力模块。它是一个轻量级模块,可以即插即用到CNN架构中,并且可以以端到端方式进行训练。给定一个特征映射,CBAM将沿着通道和空间两个独立维度依次推断出注意力映射,然后将注意力映射与输入特征映射相乘,以执行自适应特征细化。

图5 CBAM注意力机制

CBAM模块的结构如图5所示。通过本文的实验,在不同的分类和检测数据集上将CBAM集成到不同的模型中,模型的性能得到了很大的提高,证明了该模块的有效性。

在无人机捕获的图像中,大覆盖区域总是包含令人困惑的地理元素。使用CBAM可以提取注意区域,以帮助TPH-YOLOv5抵制令人困惑的信息,并关注有用的目标对象。

Self-trained classifier

用TPH-YOLOv5对VisDrone2021数据集进行训练后,对test-dev数据集进行测试,然后通过可视化失败案例分析结果,得出TPH-YOLOv5定位能力较好,分类能力较差的结论。作者进一步探索如图6所示的混淆矩阵,观察到一些硬类别,如三轮车和遮阳三轮车的精度非常低。

图6 检测混淆矩阵

因此,作者提出了一个Self-trained classifier。首先,通过裁剪ground-truth边界框并将每个图像patch的大小调整为64 64来构建训练集。然后选择ResNet18作为分类器网络。实验结果表明,在这个Self-trained classifier的帮助下,所提方法对AP值提高了约0.8%~1.0%。

4实验与结论

最终在test-set-challenge上取得了39.18的好成绩,远远高于VisDrone2020的最高成绩37.37。

  • 添加一个微小物体的检测头,使得原来的YOLOv5x的层数从607变成719,GFLOPs从219.0到259.0。这当然增加了计算量,但mAP的改进也非常高。从从图9中可以看出,TPH-YOLOv5在检测小目标时表现良好,所以增加计算是值得的。

图9 检测结果图
  • 采用transformer encoder blocks后,模型总层数由719层减少到705层,GFLOPs由259.0层减少到237.3层。采用transformer encoder blocks不仅可以增加mAP,还可以减小网络的尺寸。同时,它也在稠密物体和大物体的检测中发挥作用。

  • 列出了5个不同模型在每个类别中的最终结果mAP,并与表3中的融合模型进行了比较。在训练阶段使用不同的输入图像大小,并改变每个类别的权重,使每个模型唯一。使最终的集成模型得到一个相对平衡的结果:

  1. TPH-YOLOv5-1使用输入图像大小为1920,所有类别的权重相等。

  2. TPH-YOLOv5-2使用输入图像大小1536,所有类别权重相等。

  3. TPH-YOLOv5-3使用输入图像大小1920,每个类别的权重与标签数量相关,如图8所示。某一类别的标签越多,其权重就越低。

  4. TPH-YOLOv5-4使用输入图像大小1536,每个类别的权重与标签数量相关。

  5. TPH-YOLOv5-5采用YOLOv5l的骨干,输入图像尺寸为1536。

图8

TPH-YOLOv5论文下载

后台回复:TPH,即可下载上述论文PDF

ICCV和CVPR 2021论文和代码下载

后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集

后台回复:ICCV2021,即可下载ICCV 2021论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的两篇Transformer综述PDF

重磅!图像分割交流群成立

扫码添加CVer助手,可申请加入CVer-图像分割微信交流群,方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。

一定要备注:研究方向+地点+学校/公司+昵称(如图像分割+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲长按加小助手微信,进交流群

▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看

  • 21
    点赞
  • 236
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
### 回答1: tph-yolov5是一种基于Transformer预测头的改进版yolov5,用于在无人机捕捉场景中进行目标检测。它采用了Transformer网络结构,能够更好地处理长序列数据,提高了检测精度和速度。在无人机应用中,tph-yolov5可以更好地适应复杂的场景和光照条件,提高了无人机的自主飞行和目标跟踪能力。 ### 回答2: tph-yolov5是一种改进版的yolov5目标检测算法,主要应用于无人机场景下的目标检测。与传统的yolov5相比,tph-yolov5采用了transformer prediction head技术来进一步提高检测的准确率和效率。 无人机场景下的目标检测任务比较特殊,因为无人机拍摄的图像往往具有良好的视角和高度,但是环境复杂多变且目标出现频率较低,因此传统的目标检测算法可能会遇到一些困难,例如漏检、错检等问题。而tph-yolov5算法transformer prediction head帮助下,能够更好地解决这些问题。 具体来说,tph-yolov5算法的优势在于如下三个方面: 1. Transformer Prediction Head技术 tph-yolov5采用transformer prediction head技术来生成目标检测的预测结果。相比传统的卷积神经网络,transformer prediction head能够更好地捕捉物体之间的关系,并且在计算量相同的情况下,能够获得更高的准确率。 2. 自适应感受野 在tph-yolov5算法中,网络会根据目标的大小和位置自适应地调整感受野的大小,这样可以更好地捕捉目标的细节,提高检测的准确率。 3. 融合多尺度特征 tph-yolov5算法融合了多尺度特征,这样可以更好地处理远距离目标和近距离目标的检测。在无人机场景下的目标检测任务中,这一点尤其重要,因为有些目标可能会比较小或者比较远。 总之,tph-yolov5是一种非常优秀的目标检测算法,它在无人机场景下的目标检测任务中表现很出色。由于采用了transformer prediction head技术等优秀的方法,它能够更准确地捕捉目标,同时也能够更快地处理大量的数据。由于无人机技术的快速发展,相信tph-yolov5算法将在未来得到更广泛的应用。 ### 回答3: tph-yolov5是一种改进的基于transformer预测头的yolov5,用于在无人机捕获的场景中进行物体检测。无人机拍摄的场景与传统的场景有很大不同,比如拍摄的视角更高,场景更广阔,物体更稀疏。这些因素导致传统的物体检测模型难以在无人机场景中准确地检测物体。因此,tph-yolov5的提出是为了解决这些问题。 tph-yolov5使用了transformer预测头来改进yolov5模型的表现。具体来说,transformer模型用于生成特征图中的位置嵌入,以在后续的特征映射中对不同位置的特定位置进行建模。这种方法可以更准确地定位每个目标的位置,特别是在稀疏目标场景中。此外,tph-yolov5还使用了引入MSELoss和IoULoss的CAP L1损失以增强模型的稳定性和准确性。 tph-yolov5的实验结果表明,在无人机拍摄的场景中,tph-yolov5相比于基准模型yolov5和其他物体检测模型,具有更高的准确性和稳定性。这些结果证明了transformer预测头的优越性以及CAP L1损失对模型表现的关键作用,这为无人机场景中物体检测的发展提供了新的思路和方法。
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值