4BoxeR-2D:A Box Transformer
为了证明方法的有效性提出了BoxeR,一个基于Transformer具有box-attention结构的网络。
如图4所示,BoxeR由一个编码器和一个解码器组成,编码器用于编码从Backbone中提取的多尺度特征图,而解码器用于预测实例边界框和像素Mask。本文方法遵循端到端目标检测框架(即DETR)的精神,减少了手工制作模块的需求,如NMS和Anchor。
4.1 BoxeR编码器
与Transformer一样,每个BoxeR编码器层都包含box-attention和前馈层,每个子层后面都有一个带有残差连接的LayerNorm。
编码器将多尺度图像特征映射从ResNet Backbone的C3提取到C5(通过1x1卷积转换到隐藏维数)作为其输入。第t个feature map 是通过在最终的C5 feature上应用3x3卷积层,步长为2得到的。BoxeR编码器将多尺度输入转换为多尺度上下文表示。
注意,多尺度上下文表示与输入具有相同的分辨率。
在编码器中,Q和V都是来自多尺度特征图的特征。为每个query向量分配一个引用窗口,该窗口位于query空间位置的中心。在多尺度特征映射上,滑动窗口的大小为(t=4)(或在每个多尺度特征映射上有42个特征)。由于box-attention的平行注意头能够在每个特征级别隐式地捕捉多种长宽比的方框,作者发现没有必要有多种长宽比的参考窗口(见图5)。除了用位置嵌入增强每个query之外,还添加了Size嵌入,它表示对应于每个query的引用窗口的大小。Size嵌入在不同level的query向量之间是不同的。这两种嵌入都是标准化的,并使用正弦编码进行编码。
由于两阶段网络表明了目标检测的显著改进,作者证明了BoxeR编码器能够产生高质量的目标建议作为解码器的输入。在object proposal阶段,来自最后一个编码器层的特征被送入预测头,以预测object proposal的参考窗口。
不把在object proposal阶段预测的边界框的正弦嵌入处理为对象query,而是简单地将分类得分最高的编码器特征(通过线性投影转换)作为解码器的输入特征。这为BoxeR解码器提供了更丰富的信息,因为编码器特性同时包含空间信息和上下文信息。在解码器中,将预测的边界框作为其相应建议的参考窗口。
4.2 BoxeR解码器
在每个BoxeR解码器层中,交叉注意子层是我们的多头实例注意,而Self-Attention和前馈子层保持不变。编码器提出的目标建议的特征是BoxeR解码器的输入。在这一阶段对目标建议的参考窗口进行了细化,以便给出准确的预测。
具体地说,用表示第个解码器层的输入。第个解码器层的输出和。这两个输出的前馈层是相同的。输出特征然后被解码为Box坐标和类标签,而用于生成实例Mask。遵循Mask R-CNN中的训练策略,用一个逐像素的sigmoid和一个binary 损失来预测实例Mask。
由于注意力模块中的“where-to-attend”模块基于参考窗口预测感兴趣区域,作者设计了检测头来预测一个边界框作为相对偏移,其参考窗口的大小和位置。在预测阶段,参考窗口作为对其对象提议特征的初步猜测。其他解码器层的辅助解码损失也是有效的。BoxeR解码器中的所有预测头共享它们的参数。论文发现没有必要在匈牙利匹配器中增加Mask成本,从而使训练更有效。
5BoxeR-3D: End-to-end 3D Object Detection
将box-attention和BoxeR扩展到点云输入,从而实现端到端三维物体检测。
5.1 Box-Attention for 3D Object Detection
除了在where-to-attend模块中平移和缩放外,还在鸟瞰平面中添加了旋转变换来模拟物体的角度。用表示q的参考窗口,其中表示其中心位置,为窗口的宽度和高度,为在归一化坐标中围绕其中心的旋转角度。最后的旋转函数预测窗口旋转角度的偏移量。然后在从采样的网格坐标上应用一个旋转矩阵:
式中为参考角的偏置。同样,使用q上的线性投影来预测。
5.2 BoxeR for 3D Object Detection
为了更好地捕捉不同角度的目标,为BoxeR编码器特征的每个query向量分配了多角度的参考窗口。在每个滑动位置,基于二维目标检测设置,在每个角度的多尺度特征图上使用3个的参考窗口。每个注意力头将被分配一个角度的参考窗口。通过这样做,由box-attention生成的特征对于旋转预测是很强的(见图5)。在对象建议阶段,对于每个编码器特征,预测类别分数和三个建议的边界框,它们的三个角度的参考窗口。3D 匈牙利匹配器是在训练期间使用。
由于参考窗口的均匀分布,我们的系统中只嵌入了关于特定对象类的最小先验知识,例如车辆的典型尺寸。这不同于以前的方法[35,37,38,47],以前的方法对每个类别使用不同的Anchor size、Heatmap或Backbone。本文的网络还消除了手工制作模块的需要,如旋转非最大抑制或3D计算。
6实验
6.1 消融实验
1、Box-Attention vs. Alternatives
首先在端到端目标检测中比较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
由于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
在表3中删除BoxeR-3D设计对3D目标检测的有效性。表明了旋转变换在where-to-attend模块中的作用,它在所有类别中贡献了超过1分,但代价是很小的计算量。
具体来说,作者发现旋转变换在添加到解码器层中的box-attention时最有效。表3还显示了BoxeR-3D编码器层中多角度与单角度参考窗口之间的比较。使用多角度参考窗口对车辆和骑自行车者类别产生改进,同时对行人保持稳定。这表明多头注意力中的每个头都能够有效捕捉不同旋转角度的信息。
6.2 与SOTA方法对比
1、2D目标检测
2、3D目标检测
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