3、本文方法
所提出的方法,主要包括 IoU-enhanced self-attention(IoU-ESA)和动态通道加权(DCW)。该方法的概述如图2所示。在说明设计模块的细节之前,首先回顾和分析 Sparse R-CNN 的初步工作。
3.1、Sparse R-CNN的初步分析
1、基本配置
有关 Sparse RCNN 的详细信息也可以在图 2 中找到。它有一组可学习的目标查询 q 以在其相应的可学习的建议框 b 内提供一对一的动态交互。这些 q 预计将编码GT的内容。建议框 b 代表矩形。他们通过 RoI align 在整个图像的特征上定位区域 RoI r。通过线性投影从目标查询 q 生成的两组参数 (Params1-2) 的动态 convs 在 RoI 特征 r 上执行。然后,可以获得双损失头的目标特征o。请注意,动态卷积直接将目标查询 q 与其对应的 RoI r 联系起来。Sparse R-CNN 是具有多个阶段的迭代结构。特别是,q 和 b 都在中间阶段更新,并可能用于下一个阶段。在初始阶段,q 和 b 是模型参数,可以在训练期间通过反向传播进行调整。
Sparse R-CNN 在以下方面与 DETR 类似:
- 它们都有可学习的对象查询,旨在描述和捕捉基本事实。在稀疏 R-CNN 中,它是提议特征,而在 DETR 中,它是位置编码。
- 在这两种方法中,在对象查询之间执行自注意力以聚合来自整个集合的信息。
- 动态转化和交叉注意力具有可比性。两者都执行对象查询和图像特征之间的交互,改进用于分类和回归的对象嵌入。
综上所述,sparse R-CNN 可以看作是依赖于 RoI align 的 DETR 的一种变体,用不同的方式为 loss Heads 生成目标嵌入。
2、分析Self-Attention
Sparse R-CNN 的独特属性是其在整个处理步骤中的稀疏进Sparse范式。管道中既不存在密集的候选者,也不存在与全局特征的交互。然而,作者发现自注意力起着重要的作用,因为它模拟了 q 之间的关系并扩大了它的感受野。尽管 q 是一个没有空间覆盖的汇总向量,但几何关系也有望在 self attention 中被发现并在 value routing 中考虑。为了验证假设,作者训练了一个没有自注意力的模型,而另一个模型中的自注意力矩阵被直接在提案框之间计算的 IoU 矩阵所取代。它们的性能与 Tab1 中的原始 Sparse R-CNN 进行了比较。这些实验是在 MS-COCO 上进行的。
可以看出,AP 为 38.5 的最差性能来自目标查询中没有任何自注意力的模型 w/o MSA。当使用 IoU 矩阵作为注意力矩阵时,IoU-MSA 的结果得到了很大的恢复。但是,原来的 self attention 仍然达到了最优性能。因此,作者打算通过利用 IoU 作为几何图形来增强 Sparse R-CNN 中的自注意力,然后引导自注意力中的路由方案。
3、分析特征的可判别性
正如 TSD 中所述,检测中的两个任务集中在目标的不同部分。分类分支关注语义区域以支持其类类型,而回归分支更多地与对象轮廓相关,以准确定位它。因此,为它们解开特征是有益的。请注意,Sparse R-CNN 对这两个任务使用相同的耦合特征,这可能会得到改进。
作者为分类和回归训练了两个具有不同特征和结构的模型,如图 3 所示。它们都在目标查询 q 和 RoI 特征 r 上使用相同的维度(例如,256)设置。图 3b 中的第一个为每个任务分配了一半的维度(例如,128)。因此,动态卷积及其后续层变得完全独立。
请注意,此设置会保存模型参数和计算。图 3c 中的另一个具有类似的意图,但考虑在将特征赋予双头之前补偿损失的尺寸。与 Sparse R-CNN 一样,通道数恢复到原始维度,这是通过额外的投影层实现的。需要提一提的是,虽然新增的 layer 带来了更多的模型参数和计算量,但与原来的模型相比还是有效率的,主要是动态卷积的降维效果显著。他们在 MS-COCO 上的表现列于表 2。
与两个任务的特征和结构耦合的原始 Sparse R-CNN 相比,half dim 模型度量没有明显下降,但参数和 Flops 明显减少。full dim 模型比原来的模型稍微好一点,效率仍然略高。这些结果清楚地证明了 Sparse R-CNN 中任务解耦的有效性。然而,作者认为为不同任务划分通道的简单策略并没有充分考虑来自目标查询的动态加权方案。基于这一观察,作者打算通过动态通道加权 (DCW) 模块来增强分类和定位的功能,从而以仅略微增加模型参数的代价更好地解耦这两个任务。
3.2、IoU-Enhanced Self Attention (IoU-ESA)
如第 3.1 节所述,多头自注意力(MSA)应用于目标查询 q 以从彼此获取全局信息。在这里,进一步说明其机制,如公式(1)所示,
其中 是输入 query、key和value矩阵,由具有不同参数的并行层从目标查询 q 投影。d是投影后的隐藏维度,H是head的总数。Attn(Q,K,V) 表示以 Q、K 和 V 为输入的标准注意力函数,在方程(2)中进一步阐明。是一组用于组合多个head的可学习参数,下标指定head的索引。请注意,每个head根据 Q 和 K 之间的相似性独立地路由自己的value V。
通过考虑两个对应框之间的几何关系来增强 self attention,细节如图4所示。基本上,IoU-ESA 使用另一种方法来测量 Q 和 K 之间的相似性。与通过 穷举测量任何 slots 对之间的相似性相比,IoU 是一个很好的先验,并且更容易计算。IoU-ESA 在不添加任何参数的情况下利用它。具体来说,在归一化之前 attn 的每个元素都乘以它在 IoU 矩阵中的对应元素,该 IoU 矩阵是从建议框对中计算出来的。
IoU-enhanced self attention 表示为:
其中 i, j 是从 1 到 N 的索引, 是增强的注意力矩阵, 是基于 IoU 度量在 N 个提议框之间测量的。
3.3、动态通道加权(DCW)
正如 3.1 节分析的那样,在检测中最好对两个丢失头使用不同的特征。然而,Sparse R-CNN 将相同的特征发送到两个头部,这显然不是最优的。尽管将目标查询 q 和 RoI 特征 r 沿通道维度分离的简单策略可以在不降低性能的情况下减少参数和计算量,但仍然需要更好的、充分利用 q 的动态方案。
在这里提出了一个动态通道加权(DCW)模块来分离和加强这两个特征。如图 5 所示,两个通道掩码 和 由与动态层并行的线性投影层生成,用于动态转换中的参数。sigmoid 用作激活函数,将 和 中的每个元素约束在 0-1 之间。与 SE-Net 不同,DCW 实际上是一种动态交叉加权方案。基于目标查询 q,它们生成 和 ,其通道数与 RoI 特征 r 相同,并且它们中的值共享 r 中的每个空间位置。这两个通道掩码突出显示了建议框中的不同区域,从而为分类和回归分支生成更多相关特征。DCW 模块可以表述如下:
其中 q 和 r 表示动态卷积后的目标查询和 RoI 特征。gm 是一个bottleneck,包括两个连接的线性投影层,基于 q 预测两个掩码。σ(·) 表示 sigmoid 激活。结果 r' 是针对不同任务的增强的 RoI 特征,它可以是 或 ,如图 5 所示。请注意,单独的 或 通过独立的层,这些层将它们投影到对象嵌入 和 中。这些特征最终被赋予两个损失头来计算不同类型的惩罚。
由于原始的 Sparse R-CNN 是在级联结构中构建的,因此需要为下一阶段更新目标查询 q。为简单起见,在实现中,将 和 加在一起形成下一阶段的新 q。
3.4、Training Objectives
在 DETR 之后,采用匈牙利算法来制作预测和GT对。二分匹配方式避免了像 NMS 这样的后处理。匹配成本与训练损失相同,
4、实验
5、参考
[1].IoU-Enhanced Attention for End-to-End Task Specific Object Detection.
6、推荐阅读
重参巅峰 | 你喜欢的RepVGG其实也是有缺陷的,RepOpt才是重参的巅峰
Pillar-Base | 超越SECOND、PointPillar等一系列3D目标检测,PillarNet=Pillar王者