专栏名称: 智驾实验室
欢迎关注“智驾实验室”!本公众号专注于自动驾驶领域,为您带来世界模型的最新研究,多模态大模型的深入解析,以及多模态大模型在自动驾驶领域的应用与落地。在这里,您可以了解到自动驾驶技术的最新动态,洞察行业趋势,与我们一起探索未来出行的无限可能。
目录
相关文章推荐
51好读  ›  专栏  ›  智驾实验室

YotoR | 融合 Swin Transformer 和YoloR 的混合架构,提升目标检测性能的新前沿 !

智驾实验室  · 公众号  ·  · 2024-06-07 11:21

正文

点击下方卡片,关注 「集智书童」 公众号

点击加入👉 「集智书童」 交流群

本文介绍了YotoR(You Only Transform One Representation),一种结合了Swin Transformers和YoloR架构的新型深度学习目标检测模型。在自然语言处理中具有革命性的Transformer技术,同样对计算机视觉产生了重大影响,提供了提高准确性和计算效率的潜力。

YotoR将健壮的Swin Transformer主干网与YoloR的 Neck 和 Head 结合在一起。

在作者的实验中,YotoR模型TP5和BP4在各项评估中一致优于YoloR P6和Swin Transformers,比Swin Transformer模型实现了更优的目标检测性能和更快的推理速度。

这些结果突显了通过Transformer进一步模型组合和改进实时目标检测的潜力。

论文最后强调了YotoR的更广泛意义,包括其增强基于Transformer的模型用于图像相关任务的可能性。

1 Introduction

卷积神经网络在过去十年中彻底改变了计算机视觉应用,使得诸如目标检测、图像分割和实例分割等任务得以解决。尽管近年来卷积网络 Backbone 有所改进,甚至在某些任务上超过了人类的表现,但多年来在计算机视觉任务中使用Transformers [22] 仍然难以捉摸。

2020年[8]提出了首次将 Transformer 应用于计算机视觉任务。然而,由于图像的高分辨率, Transformer 仅限于在低分辨率应用如图像分类中使用。像目标检测这样的高分辨率任务需要开发更专业的Transformer架构,如Swin Transformer [16],它通过动态改变注意力窗口来规避Transformer的计算限制,并允许它们作为多种视觉任务的通用 Backbone 。此外,基于Transformer的目标检测Head,如DETR [3],在之前由卷积神经网络主导的任务中已成为最先进的技术。

另一方面,实时目标检测器,如Yolo / YoloR家族[19][25],对于依赖高帧率的任务(如自动驾驶)或在硬件资源有限的平台上仍然是不可或缺的。尽管近年来在计算机视觉Transformer方面取得了进展,但实时目标检测主要还是依赖于卷积神经网络。它们在特征提取中已建立的可靠性和计算效率是Transformer难以克服的挑战。因此,将Transformer与类似Yolo的目标检测器结合可能会产生能够同时实现高帧率和高检测准确性的新型架构。

本文介绍了YotoR(You Only Transform One Representation),一种新颖的深度学习模型,用于目标检测,它结合了Swin Transformer和YoloR架构。YotoR将健壮的Swin Transformer Backbone 与YoloR的 Neck 和 Head 结合在一起。在作者的实验中,YotoR模型TP5和BP4在多种评估中一致地超过了YoloR P6和Swin Transformer,提供了比Swin Transformer模型更优的目标检测性能和更快的推理速度。这些结果突显了进一步模型组合和改进实时目标检测Transformer的潜力。

本文的贡献如下:

  1. 提出了一个名为YotoR的新目标检测架构家族,它由基于Swin Transformer的 Backbone 和基于YoloR的 Head 组成。

  2. 对不同的YotoR变体进行了详尽的评估,结果表明,在考虑目标检测性能和推理速度的各种评估中,YotoR模型TP5和BP4一致地超过了YoloR P6和Swin Transformer。

2 Related work

Real-time CNN-based object detection

基于CNN的目标检测器,起源于Faster R-CNN [20],已成为解决目标检测任务的一种广泛应用的方法。在某些需要实时处理或存在硬件限制的应用中,轻量级目标检测器是必需的。

最广泛使用的实时目标检测器基于FCOS [21]或YOLO系列检测器[19][23]。这一领域的进展是通过改进网络的主干、 Neck 、检测Head、损失函数和训练过程来实现的。主干是网络的组成部分,其任务是获取编码输入图像的嵌入。在主干方面,改进主要是由受到RepVGG [7]、CSP [24]、ELAN [4]和VoVNet [13]启发的构建块的使用所引领的。Neck 的任务是对嵌入进一步处理,使其对生成检测有用。在 Neck 方面,最成功的方法是受到RepVGG [7]和PAN [18]启发的。最后,检测Head生成网络的输出检测结果。在YOLO系列检测器中,有几个头,每个头都专门用于检测不同大小的物体。因此,主干、 Neck 和检测Head的设计对于获得能够在不牺牲性能的情况下进行实时检测的架构至关重要。

Multi-task-oriented real-time CNN architectures

多任务架构的使用前景看好,因为它们可以整合多种信息模态以提高所有任务的性能。然而,设计能够在实时中执行多任务的建筑结构是具有挑战性的,因为使用每个任务的网络集合会负面影响系统的运行时间。

图1:如YoloR所提出的多任务网络不同方法的图解。

一种名为YoloR[25]的架构被提出以解决实时多任务问题。该系统基于使用单一统一架构来解决多个任务。YoloR基于建模两种知识源:显性知识和隐性知识。传统上,显性知识与网络的输入紧密相关,并由网络的第一层表示,而隐性知识对输入的依赖较低,由更深层编码。为了使统一架构具备多任务能力,建议显性知识由所有输入模态共享的权重建模,而隐性知识作为网络深层中的与输入无关的参数建模。与隐性知识相关的权重可以通过应用诸如拼接、加法和乘法等操作来修改内部网络嵌入。通过使用这种方法,单一网络架构可以从被训练执行多个任务中受益,因为与显性知识相关的网络权重可以同时压缩来自所有输入模态的信息。

基于Transformer的目标检测

尽管Transformer在自然语言处理[22]中已被成功使用,但由于所需的计算处理能力与图像中的标记(块)数量的平方成正比,它们在计算机视觉中的应用被推迟了。首次使用纯ViT(视觉Transformer)进行分类的工作[8]将大小为16x16的块作为标记,并且Transformer架构由一系列编码器组成。尽管ViT能够同时处理所有标记,但它们没有像CNN架构固有的平移不变性这样的感应偏差。然后,该工作中提出的最大的ViT模型需要超过30亿张图像才能实现比当时最先进的CNN模型如使用BiT[12]训练的ResNets更好的性能。此外,由于标记数量的平方增长的计算能力、块的大小以及缺乏多尺度处理的问题,导致纯ViT架构无法用于目标检测或图像分割等任务。

一种有效的基于视觉Transformer的 Backbone 网络被提出,能够取代基于CNN的网络,名为Swin Transformer,在[16]中提出。Swin Transformer通过使用大小为 的小块作为标记并将图像划分为窗口来工作。然后,在每个窗口上独立应用编码器。这种策略使计算能力的要求保持在较低水平。由于窗口是独立处理的,它们的信息必须在网络的后续层中合并。然后,在某一层的窗口上应用编码器之后,下一层的窗口会移动。换句话说,每一层的每个窗口都能从前一层的四个窗口中整合信息。此外,在应用非移动和移动窗口层之后,标记会被合并,这增加了嵌入维度同时减少了标记数量。此外,块合并策略使架构能够生成对涉及多尺度处理任务有用的特征金字塔。因此,Swin Transformer可以用作目标检测、目标实例分割和语义分割等任务中基于CNN的 Backbone 网络的替代。

近年来,出现了许多建议创新的架构组合,这些组合将Transformer用于目标检测。值得注意的是,[27]的作者提出了一种独特的融合,包括YOLO的 Anchor-Free 实现,即YOLOX[10]和Swin Transformer。在他们的私有数据集上,观察到自主驾驶中检测障碍物的mAP性能提高了6.1%,为将Swin Transformer Backbone 与YOLO家族检测器结合树立了一个良好的先例。作者的 Proposal 与YOLOX-S模型的不同之处在于,在检测Head上保留了YoloV3 Anchor ,并实现了YoloV4和YoloR添加的改进,如新的BoG和BoS技术以及隐性知识建模。此外,所提方法在MSCOCO数据集上进行训练,以便直接与其它最先进的方法进行比较。

另一个强有力的竞争者是DETR[3]家族的基于Transformer的目标检测架构,其中一些变体如Co-DETR[28]达到了最先进的性能。DETR通过在由 Backbone 提取的特征上使用编码器-解码器Transformer来工作。这使得模型在保持架构简单结构的同时,能够实现更高的准确性和处理目标间复杂关系的能力。

3 YotoR

在本工作中,引入了一组网络架构,将Swin Transformer Backbone 网络与YoloR Head 结合在一起。受到Yolo命名的启发,这些架构被命名为YotoR,即“你只转换一种表示”。这反映了使用由Transformer块生成的单一统一表示,这种表示多功能且适合于多种任务。这一 Proposal 背后的想法是利用强大的Swin Transformer特征提取来提高检测精度,同时通过使用YoloR Head ,也具有解决多种任务并快速进行推理的能力。

按照YoloR架构的YotoR模型命名如下:

为了更清晰地理解,请考虑以下示例:

  • YotoR TP5具有Swin-T Backbone 网络,YoloR P6 Head 和 Neck ,以及一个5块 Backbone 。
  • YotoR BP4具有Swin-B Backbone 网络,YoloR P6 Head 和 Neck ,以及一个4块 Backbone 。
  • YotoR LD4具有Swin-L Backbone 网络,YoloR D6 Head 和 Neck ,以及一个4块 Backbone 。

与YoloR与其基础模型P6的关系相似,YotoR TP4是YotoR模型的起点,代表了最基本组件组合。

使用未修改的SwinT Backbone 网络还具有一个重要优势,即可以应用迁移学习技术。这是因为,不改变Swin Transformer的结构,可以使用其创建者公开提供的权重。这简化了预训练Swin Transformer权重转移到其他数据集的过程,加快了训练速度并提高了性能。

Architecture

3.1.1 Backbone:

在图2中,展示了用于主干网的Swin Transformer简化架构,特别是被称为Swin T的小型(Tiny)版本。该架构的主要部分包含四个阶段;它首先将图像划分为小的 块,然后将这些块转换为标记。这些标记通过线性嵌入层,转换成具有特定大小 的标记,然后输入到构成第一阶段的第一组Swin Transformer块中。其他三个阶段由一个块合并模块组成,该模块通过 的组来合并块,将特征图的宽度和高度分辨率减少一半,然后传递给相应的Swin Transformer块数组。

除了Swin T之外,还有另外三种架构:Swin S、Swin B和Swin L。它们非常相似,但在Swin Transformer块的数量和通道上有所不同。每个架构的详细信息可以在表1中找到。

在Swin Transformer文章[16]中的目标检测任务中,主要使用了Mask R-CNN[11]和Cascade R-CNN[2]作为 Head 。在B和L模型中,他们还使用了一个名为HTC++的框架,其中包括HTC[5]、instaboost[9]以及更先进的训练方法,使用更高的分辨率。虽然HTC++给出了更好的结果,但值得注意的是,它并未公开可用。因此,除非特别说明,作者的主要关注点将放在没有HTC++的模型上。

3.2.1 Head

为了构建YoloR模型,作者决定基于Scaled YoloV4[1]的架构。特别是,他们以YoloV4-P6-light为基础,并依次对其进行修改,以创建不同的YoloR版本:P6、W6、E6和D6。这些版本之间的变化如下:

  • Yolo-P6:将YoloV4-P6-light的Mish激活函数替换为SiLU。
  • Yolo-W6:增加了 Backbone 块输出的通道数。
  • Yolo-E6:将W6的通道数乘以1.25,并将下采样卷积替换为CSP卷积[24]。
  • Yolo-D6:增加了 Backbone 网络的深度。

3.2.2 YotoR models

在选择用于实施的YotoR模型时,考虑了两个重要方面。首先,分析了Swin Transformer主干生成的特征金字塔维度与YoloR Head 所需的维度之间的差异。这些维度之间的显著差异可能会在网络中造成瓶颈,限制其性能。其次,为了适应连接,必须将Swin Transformer特征重新塑形回带有注意力图的图像。然后对其进行归一化,并通过 卷积调整通道数。这样做是为了使YoloR Head 的特征尺寸与DarknetCSP主干[1]相同,并在连接之间软化信息瓶颈。

基于这些考虑,作者选择了以下YotoR TP4、YotoR TP5、YotoR BP4和YotoRB4模型,具体描述如下:

YotoR TP4 是所提出组合中模型最小的,它使用了 Swin Transformer Tiny 主干网络,并搭配 YoloR P6 的 Head 和 Neck 。但是,这种组合面临一个挑战,因为这几个部分之间的连接维度差异极大,可能会导致信息瓶颈。







请到「今天看啥」查看全文