DEFORMABLE DETR 论文精度,并解析网络模型结构

 DEFORMABLE DETR: DEFORMABLE TRANSFORMERS

FOR END-TO-END OBJECT DETECTION

Deformable Detr:用于端到端目标检测的可变形 Transformer

上一篇文章精度DETR,知DETR的主要缺点:

  • 对小目标的检测性能差;
  • 训练时间很长,收敛非常慢。

这篇文章是2021年3月份的顶级期刊论文,其针对DETR的局限性,提出了解决方法,接下来在精度论文的同时,一起了解 DEFORMABLE DETR 对 DETR 的具体升级实现方法。

目录

一、摘要

二、结论

三、DEFORMABLE DETR 模型结构

(1)可变形DETR目标检测器

(2)可变性注意力模块

(3)多尺度可变形注意力模块

(4)Deformable Transformer Encoder

(6)Deformable Transformer Decoder

四、实验细节

五、编码器和解码器工作过程的可视化


一、摘要

DETR最近被提出以消除在目标检测中对许多手工设计的组件的需求,同时表现出良好的性能。然而,由于Transformer注意力模块在处理图像特征图时的局限性,它存在收敛速度慢和特征空间分辨率有限的问题。针对这些问题,我们提出了Deformable DETR,其注意力模块只关注参考周围的少量关键采样点。Deformable DETR在比DETR少10倍的训练次数下可以获得比DETR (尤其是在小物体上)更好的性能。在COCO基准测试集上的大量实验证明了我们方法的有效性。

代码发布在:https://github.com/fundamentalvision/Deformable-DETR

二、结论

可变形DETR是一种端到端的对象检测器,它高效且快速收敛。它使我们能够探索更有趣和实用的端到端目标检测器的变体。可变形DETR的核心是(多尺度)可变形注意力模块,它是处理图像特征图的有效注意力机制。我们希望我们的工作为探索端到端的目标检测开辟新的可能性。 

三、DEFORMABLE DETR 模型结构

(1)可变形DETR目标检测器

尽管DETR有其有趣的设计和良好的性能,但它也有自己的问题:

  1. 收敛速度慢:它需要比现有的目标探测器更长的训练时间才能收敛。例如,在COCO基准上,DETR需要500个epochs才能收敛,比Faster R-CNN慢约10 ~ 20倍。
  2. 小目标检测性能差:DETR对小目标的检测性能较低。现代目标检测器通常利用多尺度特征,从高分辨率特征图中检测出小目标。同时,高分辨率的特征图会给DETR带来不可接受的复杂性。

为什么Transformer有更高的计算复杂度呢?

答:上述问题主要可归因于Transformer组件在处理图像特征图时的不足。在初始化时,注意力模块对特征图中的所有像素赋予几乎一致的注意力权重。大量的训练epochs对于学习注意力权重以集中于稀疏的有意义的位置是必要的。另一方面,Transformer编码器中注意力权重的计算是关于像素个数的二次计算。因此,处理高分辨率特征图具有非常高的计算和内存复杂度。

在图像域,可变形卷积《Deformableconvolutional networks (ICCV)》是一种强大而有效的机制来处理稀疏的空间位置。它天然地避免了上述问题。但可变性卷积缺乏元素关系建模机制,而这正是DETR成功的关键。故结合可变性卷积和DETR的思想可以构建一个很好的网络架构。

DEFORMABLE DETR 论文精度,并解析网络模型结构_第1张图片

 图1 提出的可变形DETR目标检测器的示意图

下面每一句都很重要!

  • 在本文中,我们提出了变形DETR,它缓解了DETR的收敛速度慢和复杂度高的问题。
  • 它结合了可变形卷积的稀疏空间采样和Transformers的关系建模能力。
  • 我们提出了可变形注意力模块,该模块关注一组小的采样位置,作为所有特征图像素中突出关键元素的预滤波器( pre-filter )。
  • 该模块可以自然地扩展到聚合多尺度特征,而无需借助特征金字塔网络 FPN ( Feature Pyramid Networks )。
  • 在Deformable DETR中,我们使用(多尺度)可变形注意力模块来代替Transformer注意力模块处理特征图,如图1所示。

目标检测的主要困难之一是有效地表示不同尺度的目标。之前大多数网络引用的是FPN。但是,我们提出的多尺度可变形注意力模块可以通过注意力机制自然地聚合多尺度特征图,而不需要这些特征金字塔网络的帮助。

(2)可变性注意力模块

 在图像特征图上应用Transformer注意力的核心问题是,它会遍历所有可能的空间位置。为了解决这个问题,我们提出了一个可变形注意力模块。受可变形卷积的启发,可变形注意力模块只关注参考点周围的一小部分关键采样点,而不考虑特征图的空间大小,如图2所示。通过为每个查询只分配少量固定数量的键,可以缓解收敛性和特征空间分辨率问题。

DEFORMABLE DETR 论文精度,并解析网络模型结构_第2张图片

图2 提出的可变形注意力模块的插图

 给定一个输入特征映射 X\epsilon \mathbb{R}^{C*H*W} ,令 q 索引一个带有内容特征 z_{q} 和一个二维参考点 p_{q} 的查询元素,可变形注意力特征由下式计算

  • m 表示注意力头(head)。
  • k 表示 sampled key。K 表示 total sampled key number( K << HW )。
  • \Delta p_{mlqk} 表示第 个特征层和第 m 个注意力头中第 k 个采样点的采样偏移量
  • A_{mlqk} 表示第 L 个特征层和第 m 个注意力头中第 k 个采样点的注意力权重 V
  • ,Xk表示第k个采样点,Um和Vm是可学习的参数。
  • 标量注意力权重 A_{mlqk} 的取值范围为[ 0 , 1],通过   进行归一化。
  •  是范围不受限制的2-d实数。
  • 由于是分数阶的,所以在计算时,采用了《Deformableconvolutional networks (ICCV)》中的双线性插值。
  • \Delta p_{mqk}A_{mqk}都是通过在查询特征z_{q}上的线性投影获得的。
  • 在实现中,查询特征z_{q}被送入3MK通道的线性投影算子,其中前2MK通道编码采样偏移量为 \Delta p_{mqk},其余MK通道被送入softmax算子以获得注意力权重 A_{mqk}

可变形注意力模块是为了---将卷积特征图作为 key 要素进行处理---而设计的。令 Nq 为 query 元素的个数,当 MK 比较小时,可变形注意力模块的复杂度为。当它应用于DETR编码器时,其中 Nq = HW,复杂度变为O(HWC^{2}),与空间大小成线性复杂度。当它被用作DETR解码器中的交叉注意力模块时,其中 Nq = N ( N为对象查询次数),复杂度变为O (NKC^{2}),这与空间大小HW无关。

(3)多尺度可变形注意力模块

大多数现代目标检测框架都受益于多尺度特征图《Deep learning for generic object detection: A survey》。我们提出的可变形注意力模块可以自然地扩展为多尺度特征图。

为输入的多尺度特征图,其中。令为每个查询元素 的参考点的标准化坐标,则多尺度可变形注意力模块应用为:

  • m 表示注意力头(head)。
  • k 表示 sampled key。K 表示 total sampled key number( K << HW )。
  • \Delta p_{mlqk} 表示第个特征层和第 m 个注意力头中第 k 个采样点的采样偏移量
  • A_{mlqk} 表示第 个特征层和第 m 个注意力头中第 k 个采样点的注意力权重 V
  • , Xk表示第k个采样点, Um和Vm是可学习的参数。
  • 标量注意力权重 A_{mlqk} 通过   标准化。

  • 这里,我们使用归一化坐标来表示MSDeformAttn公式的清晰度,其中归一化坐标( 0,0 )和( 1 , 1)分别表示图像的左上角和右下角。

  • 函数将标准化坐标重新缩放到第 l 层的输入特征图上。

  • 多尺度可变形注意力与以前的单尺度版本非常相似,只是它从多尺度特征图中采样 LK 点,而不是从单尺度特征图中采样 K 点。

固定为单位矩阵时,提出的注意力模块将退化为可变形卷积。可变形卷积被设计为单尺度输入,只聚焦于每个注意头的一个采样点。然而,我们的多尺度可变形注意力从多尺度输入中观察多个采样点。

我们所提出的(多尺度)可变形注意力模块也可以看作是Transformer注意力的有效变体,其中通过可变形采样位置引入了预滤波器机制( pre-filtering mechanism )。当采样点遍历所有可能的位置时,建议的注意力模块等效于Transformer注意力(公式如下)

上面公式中,Transformer Q、K、V 分别是什么呢?

,Um和Vm是可学习的参数。

  •  Amqk 注意力权重,相当于 Vaule
  • Xk 表示 key 元素
  • Zq 表示 query 元素
  • Wm表示注意力头m的可更新权重

(4)Deformable Transformer Encoder

我们将DETR中处理特征图的Transformer注意力模块替换为提出的多尺度可变形注意力模块。编码器的输入和输出都是具有相同分辨率的多尺度特征图。在编码器中,通过ResNet (transformed by a 1 × 1 convolution) 中的从 C_{3} 阶段到 C_{5} 阶段的输出特征图中提取多尺度特征图,其中分辨率的 C_{L} 比输入图小 2^{l} 。 在最后的 C_{5} 级上通过 3 × 3 步长为 2 的卷积得到的最低分辨率特征图 x^{L},记为 C_{6} 。所有多尺度特征图的通道数为 C = 256 。

注意:FPN 中自顶向下的结构没有被使用,因为我们提出的多尺度可变形注意力机制本身可以在多尺度特征图之间交换信息。多尺度特征图的构造如图3 所示。注:添加FPN不会提高性能。

DEFORMABLE DETR 论文精度,并解析网络模型结构_第3张图片

 图3 为可变形DETR构建多尺度特征图

在编码器多尺度可变形注意力模块的应用中,输出是与输入具有相同分辨率的多尺度特征图。键元素和查询元素均为多尺度特征图中的像素。对于每个查询像素,参考点为其本身。为了识别每个查询像素位于哪个特征级别(即属于目标物体的概率),除了位置嵌入外,我们在特征表示中添加了一个尺度级别的嵌入,记为 e_{l} 。不同于固定编码的位置嵌入,尺度级嵌入随机初始化并与网络联合训练。

(6)Deformable Transformer Decoder

解码器中存在交叉注意力和自注意力模块,两种类型的注意力模块的查询元素都是对象查询

在交叉注意力模块中,对象查询从特征图中提取特征,其中的key元素是编码器输出的特征图。在自注意力模块中,对象查询是相互作用的,其中的关键元素是对象查询。由于我们提出的可变形注意力模块是为了处理卷积特征图作为key元素而设计的,因此我们只将每个交叉注意力模块替换为多尺度可变形注意力模块,而自注意力模块保持不变。对于每个对象查询,参考点的二维归一化坐标通过可学习的线性投影和sigmoid函数从其对象查询嵌入中预测。

由于多尺度可变形注意力模块提取参考点周围的图像特征,我们让检测头预测边界框作为参考点的相对偏移量,以进一步降低优化难度。将参考点作为箱体中心的初始猜测。检测头预测参考点的相对偏移量。详见附录A.3。这样,学习到的解码器注意力将与预测的边界框具有较强的相关性,这也加速了训练收敛。

通过将DETR中的Transformer注意力模块替换为可变形注意力模块,我们建立了一个高效、快速收敛的检测系统,称为可变形DETR (见图1 )。

四、实验细节

使用Image Net预训练的Res Net-50作为消融主干。在不使用FPN的情况下提取多尺度特征图。默认情况下,M = 8和K = 4被设置为可变形注意力。可变形Transformer编码器的参数在不同的特征级之间共享。其他超参数设置和训练策略主要沿用DETR,除了损失权重为2的Focal Loss用于包围盒分类,对象查询数量从100个增加到300个。我们还报告了DETR-DC5经过这些修改后的性能,以便进行公平的比较,记为DETR-DC5 +。默认情况下,模型训练50个历元,学习速率在第40个epoch衰减0.1倍。在DETR的基础上,我们使用Adam优化器来训练我们的模型,其基于学习速率为2 × 10^(-4),β1 = 0.9,β2 = 0.999,权重衰减为10^(- 4)。用于预测对象查询参考点和采样偏移量的线性投影的学习率乘以0.1。在NVIDIA Tesla V100 GPU上评估运行时间。

五、与DETR实验结果的比较

如表1 所示,与Faster R- CNN + FPN相比,DETR需要更多的训练次数才能收敛,并且在检测小目标时性能较低。与DETR相比,Deformable DETR在10 ×少的训练次数下获得了更好的性能(尤其是在小物体上)。详细的收敛曲线如图3所示。借助Iterative Bounding Box RefinementTwo-Stage Deformable DETR,我们的方法可以进一步提高检测精度。

我们提出的可变形DETR与Faster R- CNN + FPN和DETR - DC5具有相同的FLOP。但运行速度比DETR - DC5快得多( 1.6 × ),仅比FasterR - CNN + FPN慢25 %。DETR - DC5的速度问题主要是由于Transformer注意力中的访存量较大。我们提出的可变形注意力可以减轻这个问题,代价是无序的内存访问。因此,它仍然略慢于传统的卷积

DEFORMABLE DETR 论文精度,并解析网络模型结构_第4张图片

表1 变形DETR与DETR在COCO2017阀组上的比较。

DETR-DC5 + 表示具有Focal Loss和300个对象查询的DETR - DC5。

Iterative Bounding Box Refinement. 这是受到光流估计《Raft:用于光流的循环所有点对字段转换。》中发展的迭代求精的启发。我们建立了一种简单有效的迭代边界框精化机制来提高检测性能。这里,每个解码器层根据上一层的预测对边界框进行细化。

Two-Stage Deformable DETR. 在原始DETR中,解码器中的对象查询与当前图像无关。受两阶段目标检测器的启发,我们探索了Deformable DETR的一个变体,作为第一阶段生成候选区域。生成的区域建议将作为对象查询反馈到解码器中进行进一步的细化,形成一个两阶段的可变形DETR。在第一阶段,为了实现高召回率的建议,多尺度特征图中的每个像素将作为一个对象查询。然而,直接将对象查询设置为像素会给解码器中的自注意力模块带来不可接受的计算和内存开销,其复杂度与查询次数呈二次方增长。为了避免这个问题,我们去掉解码器,形成一个仅有编码器的Deformable DETR用于区域建议生成。其中,每个像素被分配为一个对象查询,它直接预测一个边界框。顶级得分包围盒被选为区域建议。在将区域提案提交到第二阶段之前,不应用NMS。

DEFORMABLE DETR 论文精度,并解析网络模型结构_第5张图片

图4 Deformable DETR和DETR - DC5在COCO 2017 val集上的收敛曲线

对于Deformable DETR,我们通过改变学习率降低(AP得分跳跃)的epoch来探索不同的训练计划。

五、编码器和解码器工作过程的可视化

 图5:最终检测结果中每个对象框关于输入图像 I 中每个像素的梯度范数

  • 物体中心坐标( x , y ),
  • 宽高比的梯度范数w / h,
  • 该对象的类别分数c 。

DEFORMABLE DETR 论文精度,并解析网络模型结构_第6张图片

 ( a ) 编码器中的多尺度可变形自注意力

DEFORMABLE DETR 论文精度,并解析网络模型结构_第7张图片

( b ) 解码器中的多尺度可变形交叉注意力

图6 多尺度可变形注意力的可视化

为了可读性,我们从一张图片中不同分辨率的特征图中提取采样点注意力权重每个采样点被标记为一个填充圆,其颜色表示其对应的注意力权重。参考点显示为绿色交叉标记,也相当于编码器中的查询点。在解码器中,预测的边界框显示为一个绿色的矩形,类别和置信度得分在其上方。

>>> Self-Attention、Transformer、DETR在我的专栏中,有兴趣可进行阅读。

变形金刚 Transformer_Flying Bulldog的博客-CSDN博客icon-default.png?t=M666https://blog.csdn.net/qq_54185421/category_11847619.html?spm=1001.2014.3001.5482

你可能感兴趣的:(变形金刚,Transformer,论文精读_解析模型结构,深度学习,神经网络,transformer,目标检测,计算机视觉)