1简介
对于目标检测、实例分割、图像分类和许多其他当前的计算机视觉挑战,一个带有Multi-Head Self-Attention的Transformer可能是所有任务都需要的。Transformer在自然语言处理中取得成功后,学习远程特征依赖在计算机视觉中也被证明是一种有效的策略。
令人惊讶的是,现有的Vision Transformer中没有明确地考虑视觉形态的内在规律性。重要的是,图像特征的矢量化方式与语言Token完全相同,导致像素之间的局部连通性丧失。传统的Transformer一旦输入了足够的数据,可能可以弥补这种空间结构的损失;
在本文中,作者更倾向于通过设计使Transformer具备空间图像感知能力。最近的研究表明,归纳偏差在自然语言处理和计算机视觉中都是至关重要的,在图像识别和物体检测方面的领先工作都利用了“空间信息”。此外,强而有效的归纳偏置可以使模型更快地收敛和更好地推广。
一种解决方案是使用位置编码来丰富图像特征,在特征层显式地编码位置信息。当将Multi-Head Self-Attention应用于视觉任务时,这已经是常见的做法。Carion和Zhu将绝对2D位置转换,Ramachandran将相对2D位置编码为矢量,并将其求和为注意力计算中的图像特征。
然而,这种方法只能作为图像特征的数据增强。它要求网络在权值内隐式地推断空间信息,由于网络结构中缺乏空间意识,导致在训练时收敛速度较慢。众所周知,网络架构中的归纳偏向提供了强大的学习能力,这已经被著名的架构如卷积神经网络和长短期记忆所证明。
假设在Transformer的注意力模块中可以设计出一个更好的空间感应偏差,那么便可以更好地学习图像特征的表示。
基于这一观察,本文的主要贡献如下:
- 提出的使用Transformer进行端到端视觉表示学习的Box-Attention机制。它不使用感兴趣区域内的图像特征,而是将一组表示网格结构中相对位置的可学习嵌入作为注意力计算的Key向量;
- 提出了BoxeR-2D,是Box TransformeR的缩写,它能够在端到端物体检测和实例分割任务中更好地预测;
- 将BoxeR-2D和Box-Attention扩展到BoxeR-3D中,以解决端到端3D物体检测,而不需要3D-iou计算、Anchor point和对象中心的Heatmap(如图1所示)。
2相关工作研究
2.1 Attention for Vision Backbones
随着注意机制的发展,在卷积网络中产生和使用注意力的方法有多种。最近在Vision Transformer研究显示,仅使用注意力的网络在图像识别方面也可以实现不错的性能,并且在更多数据和更长的训练时间的情况下优于卷积神经网络。
随着高分辨率图像使ViT在计算上变得更加昂贵,而仅产生单尺度特征地图,一些研究集中于加快Self-Attention计算和生成用于目标检测和分割的多尺度特征地图。在本文中转而关注预测模块,它将从视觉Backbone中提取的特征作为输入,并对多个视觉任务进行预测。
2.2 Attention for Object Detection
Two-Stage目标检测方法(如,Faster R-CNN)利用区域提议网络(RPN)和一个预测模块在预训练的Backbone上预测一组预定义的目标。在一些研究中引入注意力机制作为RPN和预测模块的补充,以进一步提高性能。
One-Stage目标检测方法删除了RPN,直接从卷积特征映射中预测目标。虽然检测性能得到了显著提高,但这些基于卷积的架构仍然依赖于许多手工设计的组件。
最近,Carion等人介绍了一个基于Transformer的预测模型,称为DETR,它以端到端的方式给出预测结果。Zhu等人指出图像特征的Self-Attention收敛速度慢,计算成本高,引入了Multi-Head Deformable Attention,将注意力计算中的点积替换为采样点的两个线性投影,计算它们的注意力权重。在提高收敛速度和精度的同时,参考点周围的采样位置策略使其无法有效地捕获目标的大小和位置等信息。由于图像特征映射上的采样点被分离,模块不知道参与区域的局部连通性。
BoxeR紧密遵循Carion等人所提出的端对端目标检测的总体框架,但在其核心上不同,它使用了空间先验和Multi-Head Attention。而Box-Attention是受到标准的Multi-Head Attention和卷积操作的启发,这两种操作都被证明可以学习鲁棒的图像表示。Box-Attention仅通过预测框的中心和大小来考虑框区域,这是更有效的,并允许模型可以提取预测区域内的结构化信息。
2.3 Attention for Instance Segmentation
需要一种处理实例分割的方法来定位对象并同时分割属于该对象的像素。受目标检测的启发,早期的研究在第一阶段预测了segment proposals;然后在第二阶段对segment proposals进行分类。
何凯明等人提出在多任务设置中同时训练目标检测和实例分割,以提高两个任务的性能。与从同一组特征(即ResNet特征)预测边界框和Mask的分割模型不同,DETR依赖于Transformer特征进行目标检测,并依赖于通过Transformer的注意力图增强的ResNet特征进行分割。这将导致特征信息的不匹配,因为这两个任务高度相关。
本文引入Box-Attention,在单一BoxeR-2D架构中,Box-Attention可以自然地扩展到目标检测和实例分割。
2.4 Attention for 3D Object Detection
三维目标检测的主要挑战是如何处理鸟瞰图特征中的旋转包围框。许多方法通过生成不同角度的Anchor作为object proposals,然后进行分类和回归,从而适应Faster R-CNN。
由于基于Anchor的方法产生大量的重叠proposals,这需要针对每个类调整NMS,而Anchor-Free方法侧重于预测场景中目标中心的Heatmap。虽然减少了重叠proposals的数量,但与基于Anchor相比,预测Heatmap会导致先验信息的丢失,并且仍然依赖于NMS来过滤object proposals。
也有方法也采用了具有Self-Attention的Transformer进行三维目标检测。不幸的是,它们和传统的检测器存在同样的问题,因为它们的方法需要根据以前的方法进行初始目标预测。
Misra等人最近的工作介绍了3DETR用于室内三维物体检测。该方法对点云上由最远点采样算法生成的目标query在编码器和解码器中都利用了Self-Attention。
相反,BoxeR提出了一个在室外场景中端到端3D物体检测的解决方案,它只需要简单地使用鸟瞰特征来预测物体,而不需要NMS或3D旋转IoU。BoxeR的目标query由编码器特性上的object proposals模块简单生成,不需要复杂的初始化方法。
3Box-Attention
Box-attention也是一种Multi-Head Attention,用于关注图像特征图中感兴趣的Box。为此,它在每个Box内采样一个网格,并从网格结构中计算采样特征的注意力权重,使该模块易于推广到 2D 或 3D 对象检测和实例分割。在每个注意力计算Head中,通过预测一个预定义参考窗口的几何变换(如平移、缩放和旋转)生成一个感兴趣的框。Box-attention的设计允许网络以合理的计算成本关注图像特征的动态区域。
3.1 Multi-Head Attention
首先简要概述Transformer中的标准Multi-Head Attention。1个注意力头的Multi-Head Attention通过计算Key向量K对应的Value特征V的加权平均向量生成Query(Q)的输出特征:
Self-Attention 模块利用特征Q和K之间的点积在每个Head计算一个注意力图,而这个计算量会随矩阵大小增长呈二次增长。
其中是一个Head的key特征的尺寸。
3.2 Multi-Head Box-Attention
BOX-Attention采用式(1)中的Multi-Head Attention计算,具有多个Head的相同特征聚合和一个可学习的投影矩阵 。在注意力计算阶段,给定第 个注意力头中query向量 的一个兴趣 box,Box-Attention使用双线性插值从 中提取尺寸为的网格特征图 ,如下图所示。利用双线性插值计算网格特征的精确值,减少了Box-Attention在box回归和像素分割中的量化误差。
这与Deformable Attention不同,Deformable Attention预测在捕获目标信息时导致模糊的非结构化点。相反,BOX-Attention继承了RoI-Align的精神,即精确采样感兴趣区域内的网格结构(即BBox proposal),以获得准确的像素级信息,这对于像素级精确Mask来说非常重要。
在第 个attention的计算,网格特性映射 为一组对应query 的value。然后通过计算q和m×m可学习key向量之间的点积生成m×m注意力分数(其中每个向量代表网格结构中的一个相对位置),然后进行softmax运算。
因此,在各个query中共享相同的key集。通过将作为采样网格的相对位置嵌入,box-attention可以有效地捕获区域的空间信息。在实现中,注意力图的生成可以通过一个简单的线性投影()有效地执行,该投影相当于带有可学习key向量的点积。最后的是中向量的注意力权重加权平均值。
多尺度特征图在目标检测和实例分割两方面带来了巨大的改进。而Box-attention可以简单地扩展到多尺度功能。给定一个注意力头中query向量q的一组方框,每个方框都属于t个多尺度特征图,从每个方框中采样一个特征网格,得到。注意力分数的计算方法与可学习key向量相同,其中每个向量表示t网格结构中的一个相对位置,然后进行softmax归一化。特征现在是t个mm向量在中的加权平均值,如式(3)所示。
3.3 Multi-Head Instance-Attention
Multi-Head Instance-Attention是Multi-Head Box-Attention的简单扩展,没有任何额外参数。目标是从感兴趣的Box中生成一个精确的Mask,用于实例分割。在第i个注意头中,产生两个输出,用于目标检测,用于实例分割。
当对中的特征加权平均以创建时,在的第一个维度(包含多尺度特征的数量)中折叠。为此,使用softmax函数对注意力得分的第一个维度进行标准化,然后将其应用于。注意,在生成和时,共享注意力模块的所有参数,包括可学习投影矩阵。
3.4 Where-to-attend
“Where-to-attend”是Box-Attention的一个关键组成部分,它指的是在注意力计算中预测感兴趣的框的操作。具体来说,该模块学习了通过简单的几何变换,如平移、缩放等,将特征图上query的参考窗口转换为参与区域(见图3)。
具体来说,用, 分别表示其中心位置,是归一化坐标下窗口的宽度和高度。平移函数以和为输入进行平移,输出如下:
其中和是相对于参考窗口中心的偏移量。类似地,缩放函数接受相同的输入并调整的大小。
其中和为参考窗口大小的偏移量。为了提高效率,偏移参数(即)是通过上的线性投影来预测的。在个头部和个多尺度特征图的multi-head attention设置中,使用变换函数,每个函数为第个头部和第个特征图预测一个感兴趣的Box 。
Where-to-attend是转换的组合,并允许box-attention 使用少量参数和低计算开销有效地关注必要的区域。它也可以被看作是一个伪预测步骤,因为它提供网络空间信息来预测注意力模块内的一个感兴趣的区域。