点击下方卡片,关注「AI视界引擎」公众号
本文提出了一种名为YOLO-Former的方法,该方法将 Transformer 和YOLOv4的想法无缝地集成在一起,创建了一个高度准确和高效的目标检测系统。
该方法利用了YOLOv4的快速推理速度,并通过将卷积注意力和 Transformer 模块相结合,将 Transformer 架构的优势融入其中。结果表明,所提出的方法具有很高的平均平均精度(mAP),在Pascal VOC数据集上的值为85.76%,同时保持了每秒10.85帧的预测速度。
这项工作的贡献在于证明了这种创新地将这两种最先进的技术结合在一起,可以引领目标检测领域进一步的改进。
I Introduction
由于深度学习领域的最近进展,许多计算机视觉任务,如图像分类、图像分割和目标检测,都由深度神经网络主导。目标检测是检测数字图像和视频中特定类别的语义目标的实例。这种系统的应用包括车牌字符识别、目标跟踪、人脸和身体检测与识别、活动识别、医学影像、高级驾驶辅助系统、制造业和机器人。
随着大数据和处理能力的提高,基于深度神经网络的目标检测方法变得越来越受欢迎。这些网络能够在不需要额外组件的情况下实现端到端的目标检测,大多数都是基于卷积神经网络。最先进的目标检测方法可以进一步分为两类。第一类是优先考虑检测精度而牺牲推理速度的区域 Proposal 模型,如R-CNN、快速R-CNN、Mask R-CNN。第二类是具有高推理速度的一阶段检测模型,能够实现实时检测。一阶段模型的例子包括单次多框检测器(SSD)、一次只看一次(YOLO)、EfficientDet、RetinaNet、CenterNet和HourGlass。
尽管所有先前提到的目标检测器都仅依赖卷积和池化层,但基于注意力层的视觉 Transformer (ViT)的令人印象深刻的结果,激发了ViT-YOLO和DETR开发基于 Transformer 思想的目标检测器。检测 Transformer (DETR)框架使用基于 Transformer 编码器-解码器架构来执行端到端的目标检测。ViT-YOLO在YOLOv4 Backbone 网络的末端将扩展的点多头注意力层嵌入,通过在注意层之前将特征图 flattening。然后,将其 Reshape 为2D,以保持网络其余部分的一致性。
本文通过引入一种名为YOLO-Former的算法,在YOLOv4结构中使用了一种新颖的卷积自注意力模块(CSAM),从而提高了YOLOv4的准确性。CSAM是基于扩展点自注意力(SDSA)开发的。为了将提出的CSAM与其他网络组件连接起来,实现了一个卷积 Transformer 模块。通过使用几种增强策略,进一步增强了所提出的检测器的泛化能力。因此,YOLO-Former在Pascal VOC数据集上提供了更准确的结果,同时保持了实时执行的属性。
本文的结构如下。第II节介绍了关于增强、正则化和注意力机制的研究总结。讨论了网络结构和开发的模块。第III节详细描述了使用实现模型和YOLOv4数据集进行的实验,训练配置和评估。第IV节提供了有关实施模型和YOLOv4数据集的详细描述,包括训练配置和评估。第V节讨论了结果和与文献的比较,最后,第VI节总结本文。
II Background
接下来简要回顾以前进行过的关于增强、正则化和注意力机制的研究。
Augmentation
增强对扩展模型的一般化能力产生了巨大影响,使其与图像处理密不可分。网络可以从诸如翻译、颜色扰动、旋转等增强方法中受益,不仅作为提供更多数据的方式,而且作为使其对这些变换不那么敏感的方式。例如,遮挡是图像识别的一个挑战问题。一种解决方案是引入剪裁方法,使其数据集更具多样性。在这种技术中,一个随机区域被一个矩形覆盖,其大小可以根据每张图像中的目标的尺寸来选择。因此,网络不应学习依赖于感兴趣的整个目标的特性。同样的灵感还适用于其他方法,例如网格遮挡和隐藏并寻找(HaS)。
在一个批次的样本上进行增强可以带来好处,因为它扩展了数据集的邻域,多个不同图像的多个实例被混合以产生新图像。在图像分类中应用的各种增强方法,如mixup、cutmix和puzzle mix,也被应用到一组图像上。尽管已经尝试将这些技术从图像分类扩展到目标检测,但实现了一种非常具有说服力的方法,称为mosaic augmentation。
研究表明,在训练期间使用的增强技术的严重性和数量会影响模型的准确性。通过在小型数据集上训练强化学习代理,AutoAugment试图找到一个组合增强变换的增强策略。
AutoAugment的高计算成本促使作者们开发了RandAugment,该方法仅用两个参数参数化数据增强过程:操作数(N)和严重性(M)。将RandAugment与mixup结合,AugMix将图像分别以不同的链进行增强。通过使用Dirichlet分布的系数对增强链进行加权求和,创建增强图像。最后,使用Beta分布的系数计算原始和增强图像的加权和。
Regularization
与增强技术一样,正则化技术如Dropout可以减少过拟合问题。尽管Dropout在完全连接层上工作得很好,但[26]的作者们开发了Dropblock作为卷积层的方法。他们没有在随机位置随机删除特征,而是删除一个连接区域。根据他们的研究,减少保留块的概率比使用固定概率更有效。
有些方法仅适用于特定结构,如shake-shake正则化,可以应用于多分支网络。这种方法是针对三分支网络开发的;两个分支通过乘以小随机数,然后在训练前向传播时与第三个分支相加,并在反向传播时使用来自Beta分布的不同随机数作为乘数。在测试时,这两个分支被乘以0.5。
Attention Mechanisms
注意力机制在人工神经网络中的应用与NLP任务有关。在机器翻译中,网络应该关注源语言输入序列中的某些部分以预测目标语言中的一个词。在[29]中提出了一种注意力机制,可以帮助网络关注这些部分。这项工作鼓励其他研究行人研究注意力机制在解决不同任务中的应用。
以前,解决NLP任务如机器翻译的常见选择是循环神经网络和卷积神经网络。然而,[34]的作者提出了一种不同的架构,称为Transformer。与其他将注意力与循环神经网络或卷积神经网络结合的工作不同,Transformer仅基于扩展点多头自注意力(SDMHSA)。他们声称,注意力可以独立解决机器翻译任务。这个概念在其他研究中得到了验证,如BERT。
在NLP领域使用注意力的出色结果,激发了研究人员通过在他们的网络中添加注意力来提高他们的结果。在[40]中,卷积块注意力模块(CBAM)被引入用于卷积神经网络。这个模块包括两个子模块:空间注意力模块(SAM)和通道注意力模块(CAM)。
作者将CBAM嵌入了一些最先进的架构结构,如ResNet50,ResNeXt50,和MobileNet。通过利用注意力,他们在ImageNet上的图像分类和Pascal VOC和Microsoft COCO上的目标检测上实现了更高的准确性。视觉 Transformer (ViT)通过将图像视为一系列patch序列,在图像分类和 Transformer 架构之间架起了桥梁。该网络在ImageNet分类上实现了最先进的准确性。与[35]和[34]类似,ViT在整个网络中只使用MHSDSA作为主要组件。
III Network Structure
YOLOv4架构可以分为三个子网络: Backbone 网络、 Neck 和 Head 。YOLOv4的 Backbone 网络名为CPS-Darknet-53。CPS-Darknet-53从输入图像中提取特征,并生成三个 Level 的输出。第一 Level 输出具有最高的空间分辨率,适合检测小尺寸的目标。第二 Level 输出比第一 Level 输出具有较低的空间分辨率,适合在图像中寻找中等尺寸的目标。在这个阶段,特征图比第一阶段特征图更深。第三 Level 和最后一个 Level 的输出具有最深的特征图,但空间分辨率最低。
YOLOv4的 Neck 将这些特征图和最低空间分辨率的特征图使用双线性插值方法进行上采样,以匹配第二 Level 特征图的空间分辨率。然后,这个上采样特征图与第二 Level 特征图拼接在一起,以帮助中级分辨率特征图丰富用于检测中等尺寸的目标的特征。得到的特征图再次上采样并拼接在一起,与最高分辨率特征图。YOLOv4的 Head 接收 Neck 的特征图,以检测三个尺度上的目标。
显然,YOLOv4 Backbone 内部由于CPS-Darknet-53中的23个残差模块,残差模块起着至关重要的作用。受到ViT Transformer 模块的启发,实现并使用了一种 Transformer 注意力模块来替换CPS-Darknet-53中的残差模块。之所以决定替换残差模块,是因为注意力模块包含残差连接,如果必要的话,网络可以通过残差连接绕过注意力机制。因此,不仅保留了残差性质,而且网络还可以学会关注感兴趣的区域。在III-A和III-B部分,将分别解释卷积 Transformer 和卷积自注意力模块。
Convolutional Transformer Module
类似于ResNet架构中的残差模块, Transformer 层是ViT模型中的基本模块。这些层的块图如图1(a)所示。在应用扩展点点多头自注意力(SDMHSA)之前,进行特征归一化(LN)。残差连接将注意层输出与初始特征相加。然后,通过层归一化对结果进行再次归一化。接着,归一化的特征被输入到两个连续的密集层(Dense1和Dense2)中,其中使用GeLU激活。另一个残差连接将SDMHSA的输出与密集层的输出相加。
受到这个层的启发,实现了一种卷积 Transformer 层,如图1(b)所示。虽然保持了 Transformer 层相同的整体结构,但对模块进行了一些更改,使其与卷积网络结构相一致。ViT模型中特征的维数保持不变;然而,在CNN中,特征图的深度通常会发生变化。因此,为了确保在残差连接内部保持相同的维数,模块中添加了Conv1。此外,将SDMHSA替换为卷积自注意力模块(CSAM)和卷积层(Conv2和Conv3)。由于在CNN中,批归一化优于层归一化,因此更喜欢同步批归一化(SBN)。
Convolutional self-attention Module
ViT的基本组件是扩展点自注意力(SDSA)机制。如图2(a)所示,输入特征被线性投影形成 Query (Q)、键(K)和值(V)。注意力分数通过Q和K的矩阵乘法计算得到softmax。最终输出来自值和注意力分数的矩阵乘法。多头自注意力是通过将相同的输入馈送到多个SDSA并拼接输出得到的。
基于SDSA的想法,本文开发了一种卷积自注意力机制,如图2(b)所示。与ViT一样,将相同的输入分别馈送到 Query (Q)、键(K)和值(V)门。每个门通过一系列操作(如图2(b)中的所示)处理输入。所有三个门的操作都是相似的。
根据内的发生情况,形成了各种注意力模块。在最简单的方案中,先进行1×1卷积(Conv1),然后进行同步批量归一化(SBN)和mish激活,然后与3×3核(Conv2)卷积,生成单头注意力(如图2(c1)所示)。为了在卷积配置中找到类似于SDMHSA的类似物,也开发了其他替代方案。一种实现方法是将输入在三个并行分支中处理,并将输出相加(多分支注意力,如图2(c2)所示)。
有两个分支只有1×1卷积(Conv1.b和Conv1.c),SBN和mish激活,而另一个分支具有额外的3×3卷积(Conv2)。下一个形式将mish块的结果按深度分成四个特征图(CH.a, CH.b, CH.c和CH.d),并分别使用3×3卷积处理,然后将它们拼接在一起(多头注意力,参见图2(c3))。多头和多分支概念通过将多头概念集成到多分支注意力模块的每个分支中(多头多分支注意力)。
如图2(b)所示,无论哪种变体被应用,激活图都是通过 Query (Q)和键(K)的乘积,通过sigmoid函数激活得到的。Value门中的输出经过SBN层和mish激活。然后,Value与注意力图相乘。这个操作的结果与1×1核(Conv3)卷积,像其他的1×1卷积一样,输出被输入到mish函数。
同样的过程使用具有3×3核的卷积层(Conv4)来获取注意力分支的结果。注意力机制的最终输出是通过将各个分支的输出与输入的残差连接相加得到的,这样网络可以在需要时学习绕过注意力。与SDSA不同,所提出的模块中的所有乘法都是逐元素的。
IV Experiment
本文节概述了所进行实验的详细内容,包括数据集、增强技术、超参数、训练和评估过程等。
Dataset
本文以Pascal VOC为目标数据集。该数据集包含21,503张图像(16,551张用于训练集,4952张用于测试集),包括20个不同类别的实例的边界框标注。由于训练样本数量不足以克服过拟合,从Microsoft COCO数据集中添加了100,000张额外的图像到训练集中。Microsoft COCO数据集有80个类别,其中20个与Pascal VOC相同。为了合并这两个数据集,保留了相同的类别,并忽略了其他类别。
Implemented Augmentations
本文使用了多种增强技术,其中一种是旋转。尽管旋转是图像分类中一种流行的增强技术,但直接在目标检测中旋转图像可能会导致感兴趣的目标滑出图像边界。此外,先验边界框不再可信。因此,图像被填充,以确保未旋转图像的角落位于旋转图像的边界上。然后,图像被重新缩放到匹配初始分辨率,如图3(a)所示。为了适应均匀变换,边界框也沿着图像的中心进行旋转。最后,选择包含旋转边界框的最小矩形作为新的边界框。
另一种增强技术来自训练全卷积神经网络时使用可变输入图像分辨率使其成为缩放不变的常规做法[47, 48]。例如,YOLOv4在darknet框架中的训练过程中使用可变图像大小。在每十个迭代中,有九个使用基本分辨率进行训练,而剩下的一个使用随机分辨率,高于或低于先前的尺寸。
目前,TPU在训练过程中无法处理可变的张量。因此,作者使用像图3(b)所示的缩放增强。输入图像被随机缩放到较低的分辨率。然后,它被填充以保持原始图像的大小。
除了约束旋转和缩放外,还包括颜色扰动、平移、裁剪、水平翻转、着色、剪裁、去雾、反向、锐化和平铺增强等操作。这些操作可以分为两组:(i)几何操作(例如,平移、裁剪、缩放、翻转、约束旋转)和(ii)非几何操作(例如,剪裁、颜色扰动、着色等)。几何方法以随机顺序逐个应用,每个操作的概率为50%。非几何方法与RandAugment或AugMix结合。RandAugment的增强层数(N)和操作大小(M)分别设置为2和10。AugMix的超参数包括三个增强链,每个技术的严重性为7。每个链的深度在1和3之间随机选择。混合链的系数来自具有的贝塔分布。通过使用mosaic增强,可以利用较小的批量大小。此外,离线mosaic增强需要更少的内存,因此可以避免存储问题。
Implemented Regularizations
实现的正则化技术包括调度断块(SDB),shake-shake和L2。在利用SDB进行实验时,仅在YOLO层之前的三层使用3×3块进行正则化。从保持块的概率为1开始,这个比例在最后一个epoch时被安排为0.90。shake-shake正则化仅应用于具有多分支注意力结构的模型,因为这种正则化需要的性质。在存在shake-shake的情况下,只有图2中的仅包含1×1卷积(Conv1.b和Conv1.c)的两分支在训练时将前馈和反向传播中的随机数乘以。对于L2,系数设置为0.0005。
Training and Evaluation
在所有实验中,模型在TPU上训练,使用8个副本,最小批量为32(全局批量为256),训练225个epoch。目标函数是GIoU,focal损失和局部定位、前景-背景识别和分类的binary交叉熵之和。分类标签使用0.01进行平滑。为了避免开始时的不稳定,学习率在前20个epoch中线性从0增加到0.0026;然后使用余弦衰减学习率调度器将学习率降低到0在最后一个epoch。网络中的所有批量归一化层是同步的。SGD优化模型权重,具有0.996的动量。在每个epoch结束时,在Pascal VOC的测试集上计算mAP,IoU阈值为50%。在每个试验中获得的最佳mAP作为最终结果报告。
V Results and Discussion
最初的试验是通过YOLO-Former基于单头注意力模块进行的。最初,没有使用增强或额外图像进行YOLO-Former模型的训练,但结果较差(mAP为39.76%)。添加简单的增强技术,如随机平移、随机裁剪和改变图像的色调、对比度和亮度,将结果提高到了47.24%。进一步改进通过添加更多的增强,如mosaic增强、约束旋转和缩放(mAP达到64.09%)。尽管测试精度很高,但在所有直接实验中,训练精度也很高(mAP为98%)。这个显著的差距激励着用更广泛的训练集来扩展实验。
在直接试验之后,YOLOv4和YOLO-Former在COCO和Pascal VOC训练集的组合上进行训练。实验设置和结果的详细信息见表I。从输入分辨率416开始,这些模型使用AugMix作为增强策略和L2作为正则化。YOLO-Former能够实现83.32%的mAP,这比YOLO(83.27%)略好。
这一巨大的改进归功于COCO数据集提供的额外数据。在相同的设置下,将输入分辨率增加到512有助于YOLO-Former将mAP提高至84.26%。训练时间也从100增加到144小时,当输入分辨率增加时。在将增强策略从AugMix切换到RandAugment的实验中,YOLOv4和YOLO-Former在RandAugment策略下取得了比AugMix更好的结果。为了探索实现更好结果的可能性,在最后一个实验中添加了定时断块正则化作为正则化过程。然而,它对两个模型的mAP造成了下降。
除了比YOLOv4更准确的结果外,还对提出的注意力模块的其它变体进行了调查,以探索实现比单头(SH)配置(85.76%)更好结果的可能性。基于多分支(MB)注意力模块的网络在有和无shake-shake正则化下进行训练。尽管两种配置的映射都小于单头配置,但shake-shake正则化将多分支变体的mAP从85.42%提高到85.60%。多头设计提供了比YOLOv4更好的结果,但比单头设计(85.37%)要差。多头多分支(MHMB)注意力模块通过shake-shake正则化帮助YOLO-Former获得最高的mAP(86.01%)。
基于本研究的最准确的YOLOv4和YOLO-Former预测,图4显示了每个类别的平均精度(AP)。尽管YOLOv4在五个类别(盆栽植物、牛、自行车、摩托车和飞机)的AP更高,但YOLO-Former在其余每个类别的AP都相等或更高。此外,模式几乎相同;两个模型都与盆栽植物类最困难,而飞机、公共汽车和马是最容易检测的类。
将YOLOv4与YOLO-Former在Pascal测试集上与最准确模型(如DETReg,HSD,CoupleNet,EEEA-Net-C2,SSD512,BlitzNet512,Localize,和CenterNet)的mAP进行比较,如图5所示。YOLO-Former和YOLOv4在Pascal VOC数据集上的mAP都优于文献中所有以前评估的Pascal VOC数据集的工作,如DETReg,HSD,CoupleNet,EEEA-Net-C2,SSD512,BlitzNet512,Localize,和CenterNet,除了NAS-FPN。
由于YOLO网络的实时性能能力是一个重要的特性,预测速度值得考虑。在这方面,YOLOv4和YOLO-Former变体被选择为1000张随机图像进行预测,以使预测。每个预测所需的时间在所有这些测试图像上进行捕获和平均。
在Tesla P100上进行测试,分辨率为384×384,416×416和512×512。结果见表II。所有分辨率显示YOLOv4比YOLO-Former模型更快,但随着分辨率的增加,差距减小。在YOLO-Former变体中,单头注意力模块的预测速度最快;带有组合的多头和多分支(MHMB)注意力模块的预测速度似乎是最慢的。
VI Conclusion
本研究基于 Transformer 和YOLOv4的想法开发了一个实时目标检测器YOLO-Former。为了实现这个网络,开发了几个卷积自注意力模块。实现的模型在几种设置下进行训练,并在Pascal VOC测试集上与YOLOv4进行比较。在RandAugment上训练的YOLOv4和YOLO-Former比在AugMix上训练的YOLOv4提供了更准确的结果。
此外,在Pascal VOC测试数据上获得理想准确性的额外数据是必要的。根据获得的结果,可以得出结论,通过注意力,YOLO-Former可以在预测速度降低的情况下实现更高的准确性。
随着输入分辨率的增加,这种下降变得无关紧要。此外,单头卷积自注意力模块提供了最佳的精度和速度权衡。因此,与在Pascal VOC数据集上类似的现有方法相比,提出的YOLO-Former提供了更准确的卷积目标检测器。
参考
[1].YOLO-Former: YOLO Shakes Hand With ViT.
点击上方卡片,关注「AI视界引擎」公众号