AI学习者 · 2021年12月13日

全新范式 | Box-Attention同时让2D、3D目标检测、实例分割轻松涨点(求新必看)

image.png

在本文中提出了一种简单的注意力机制Box-Attention。它支持网格特征之间的空间交互(从感兴趣的Box中采样),并提高了Transformer针对多个视觉任务的学习能力。

具体来说,介绍的BoxeR,即Box Transformer的缩写,它通过预测输入特征图上的参考窗口的转换来处理一组Box。BoxeR通过考虑它的网格结构来计算这些Box上的注意力权重。值得注意的是,BoxeR-2D在其注意力模块中自然地对Box信息进行推理,使其适合于端到端实例检测和分割任务。通过学习box-attention模块中的旋转不变性,BoxeR-3D能够从鸟瞰平面生成判别信息,用于三维端到端目标检测。

实验表明,提出的BoxeR-2D在COCO检测上取得了更好的结果,在COCO实例分割上达到了与完善且高度优化的Mask R-CNN相当的性能。BoxeR-3D在没有任何特定类别的优化的情况下,已经在Waymo Open的车辆类别中获得不错的结果。

1 简介

对于目标检测、实例分割、图像分类和许多其他当前的计算机视觉挑战,一个带有Multi-Head Self-Attention的Transformer可能是所有任务都需要的。Transformer在自然语言处理中取得成功后,学习远程特征依赖在计算机视觉中也被证明是一种有效的策略。

令人惊讶的是,现有的Vision Transformer中没有明确地考虑视觉形态的内在规律性。重要的是,图像特征的矢量化方式与语言Token完全相同,导致像素之间的局部连通性丧失。传统的Transformer一旦输入了足够的数据,可能可以弥补这种空间结构的损失;

在本文中,作者更倾向于通过设计使Transformer具备空间图像感知能力。最近的研究表明,归纳偏差在自然语言处理和计算机视觉中都是至关重要的,在图像识别和物体检测方面的领先工作都利用了“空间信息”。此外,强而有效的归纳偏置可以使模型更快地收敛和更好地推广。

一种解决方案是使用位置编码来丰富图像特征,在特征层显式地编码位置信息。当将Multi-Head Self-Attention应用于视觉任务时,这已经是常见的做法。Carion和Zhu将绝对2D位置转换,Ramachandran将相对2D位置编码为矢量,并将其求和为注意力计算中的图像特征。

然而,这种方法只能作为图像特征的数据增强。它要求网络在权值内隐式地推断空间信息,由于网络结构中缺乏空间意识,导致在训练时收敛速度较慢。众所周知,网络架构中的归纳偏向提供了强大的学习能力,这已经被著名的架构如卷积神经网络和长短期记忆所证明。

假设在Transformer的注意力模块中可以设计出一个更好的空间感应偏差,那么便可以更好地学习图像特征的表示。

基于这一观察,本文的主要贡献如下:

  1. 提出的使用Transformer进行端到端视觉表示学习的Box-Attention机制。它不使用感兴趣区域内的图像特征,而是将一组表示网格结构中相对位置的可学习嵌入作为注意力计算的Key向量;
  2. 提出了BoxeR-2D,是Box TransformeR的缩写,它能够在端到端物体检测和实例分割任务中更好地预测;
  3. 将BoxeR-2D和Box-Attention扩展到BoxeR-3D中,以解决端到端3D物体检测,而不需要3D-iou计算、Anchor point和对象中心的Heatmap(如图1所示)。

image.png

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模块简单生成,不需要复杂的初始化方法。

3 Box-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)的输出特征:

image.png

Self-Attention 模块利用特征Q和K之间的点积在每个Head计算一个注意力图,而这个计算量会随矩阵大小增长呈二次增长。

image.png

其中是一个Head的key特征的尺寸。

3.2 Multi-Head Box-Attention

BOX-Attention采用式(1)中的Multi-Head Attention计算,具有多个Head的相同特征聚合和一个可学习的投影矩阵 。在注意力计算阶段,给定第 个注意力头中query向量 的一个兴趣 box,Box-Attention使用双线性插值从 中提取尺寸为的网格特征图 ,如下图所示。利用双线性插值计算网格特征的精确值,减少了Box-Attention在box回归和像素分割中的量化误差。

image.png

这与Deformable  Attention不同,Deformable  Attention预测在捕获目标信息时导致模糊的非结构化点。相反,BOX-Attention继承了RoI-Align的精神,即精确采样感兴趣区域内的网格结构(即BBox proposal),以获得准确的像素级信息,这对于像素级精确Mask来说非常重要。

image.png

3.3 Multi-Head Instance-Attention

image.png

3.4 Where-to-attend

“Where-to-attend”是Box-Attention的一个关键组成部分,它指的是在注意力计算中预测感兴趣的框的操作。具体来说,该模块学习了通过简单的几何变换,如平移、缩放等,将特征图上query的参考窗口转换为参与区域(见图3)。

image.png

image.png

Where-to-attend是转换的组合,并允许box-attention 使用少量参数和低计算开销有效地关注必要的区域。它也可以被看作是一个伪预测步骤,因为它提供网络空间信息来预测注意力模块内的一个感兴趣的区域。

4 BoxeR-2D:A Box Transformer

为了证明方法的有效性提出了BoxeR,一个基于Transformer具有box-attention结构的网络。

image.png

如图4所示,BoxeR由一个编码器和一个解码器组成,编码器用于编码从Backbone中提取的多尺度特征图,而解码器用于预测实例边界框和像素Mask。本文方法遵循端到端目标检测框架(即DETR)的精神,减少了手工制作模块的需求,如NMS和Anchor。

4.1 BoxeR编码器

与Transformer一样,每个BoxeR编码器层都包含box-attention和前馈层,每个子层后面都有一个带有残差连接的LayerNorm。

image.png

由于两阶段网络表明了目标检测的显著改进,作者证明了BoxeR编码器能够产生高质量的目标建议作为解码器的输入。在object proposal阶段,来自最后一个编码器层的特征被送入预测头,以预测object proposal的参考窗口。

不把在object proposal阶段预测的边界框的正弦嵌入处理为对象query,而是简单地将分类得分最高的编码器特征(通过线性投影转换)作为解码器的输入特征。这为BoxeR解码器提供了更丰富的信息,因为编码器特性同时包含空间信息和上下文信息。在解码器中,将预测的边界框作为其相应建议的参考窗口。

4.2 BoxeR解码器

在每个BoxeR解码器层中,交叉注意子层是我们的多头实例注意,而Self-Attention和前馈子层保持不变。编码器提出的目标建议的特征是BoxeR解码器的输入。在这一阶段对目标建议的参考窗口进行了细化,以便给出准确的预测。

image.png

由于注意力模块中的“where-to-attend”模块基于参考窗口预测感兴趣区域,作者设计了检测头来预测一个边界框作为相对偏移,其参考窗口的大小和位置。在预测阶段,参考窗口作为对其对象提议特征的初步猜测。其他解码器层的辅助解码损失也是有效的。BoxeR解码器中的所有预测头共享它们的参数。论文发现没有必要在匈牙利匹配器中增加Mask成本,从而使训练更有效。

5 BoxeR-3D: End-to-end 3D Object Detection

将box-attention和BoxeR扩展到点云输入,从而实现端到端三维物体检测。

5.1 Box-Attention for 3D Object Detection

image.png

5.2 BoxeR for 3D Object Detection

image.png

由于参考窗口的均匀分布,我们的系统中只嵌入了关于特定对象类的最小先验知识,例如车辆的典型尺寸。这不同于以前的方法[35,37,38,47],以前的方法对每个类别使用不同的Anchor size、Heatmap或Backbone。本文的网络还消除了手工制作模块的需要,如旋转非最大抑制或3D计算。

6 实验

6.1 消融实验

1、Box-Attention vs. Alternatives

image.png

首先在端到端目标检测中比较Box Attention、Self-Attention、Deformable-Attention和Dynamic-Attention。表1中的结果表明Box-Attention在所有指标上都有改进,小目标(APS)提升最高(1.5%)。此外,与其他注意力机制相比,Box-Attention需要更少的FLOPs。

作者还实验了Box-Attention没有采用参考窗口但不采用转换函数(平移和缩放)的where-to-attend模块。从表1中可以看出,where-to-attend模块在所有类别中的提升均超过2分。这表明转换和缩放在学习注意力相关区域方面的重要性。

2、BoxeR-2D Ablation

image.png

由于BoxeR-2D在其编码器中使用多尺度参考窗口来预测object proposals,因此这些proposals在解码器中用作参考窗口。在表2a中,通过在解码器层中添加object proposals 细化来评估object proposals的质量。虽然这种改进在先前的工作中被证明是有益的,但可以观察到AP下降了1个百分点。这表明当BoxeR-2D编码器使用参考窗口生成object proposals时,它们足以让BoxeR-2D解码器预测proposals,而无需在每个步骤中进行细化(见图4)。

BoxeR-2D很灵活,因为可以轻松地将Instance-Attention插入其解码器,以预测目标位置及其Mask。表2b显示了BoxeR-2D从多任务训练(目标检测和实例分割)中获益。

3、BoxeR-3D Ablation

image.png

在表3中删除BoxeR-3D设计对3D目标检测的有效性。表明了旋转变换在where-to-attend模块中的作用,它在所有类别中贡献了超过1分,但代价是很小的计算量。

具体来说,作者发现旋转变换在添加到解码器层中的box-attention时最有效。表3还显示了BoxeR-3D编码器层中多角度与单角度参考窗口之间的比较。使用多角度参考窗口对车辆和骑自行车者类别产生改进,同时对行人保持稳定。这表明多头注意力中的每个头都能够有效捕捉不同旋转角度的信息。

6.2 与SOTA方法对比

1、2D目标检测

image.png

2、3D目标检测

image.png

6.3 方法的局限性

在本文中,作者提出了一种基于Transformer的检测器,用于端到端的目标检测和实例分割,名为BoxeR。该网络的核心是box-attention,它旨在通过从初始参考窗口学习转换来关注图像区域。由于其灵活性,BoxeR可以执行2D和3D端到端目标检测以及实例分割,而无需手工制作模块。在COCO和Waymo Open数据集上的实验证实了所提出架构的有效性。

与其他基于Transformer的架构类似,与基于卷积的架构(如Faster R-CNN或Mask R-CNN)相比,在网络训练期间观察到更大的内存占用。这导致需要更先进的GPU和更高的能耗。此外,在相同的FLOPs下,box-attention比卷积算子慢。原因可能来自于box-attention中网格采样的无序内存访问以及传统卷积的高度优化的硬件和实现。作者希望通过发布具有更优化实现的代码来缓解其中的一些问题。

7 参考
[1].BoxeR:Box-Attention for 2D and 3D Transformers

原文:集智书童
作者:ChaucerG

推荐阅读

更多嵌入式AI技术相关内容请关注嵌入式AI专栏。
推荐阅读
关注数
18808
内容数
1352
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息