在图像中没有密集平铺的 anchor boxes 或 grid points 的情况下,Sparse R-CNN 通过以级联训练方式更新的一组对象 queries 和 proposal boxes 来获得有候选结果。然而,由于 queries 的稀疏性和 queries 与其参与区域之间的一对一关系,它在很大程度上依赖于自注意力,这在早期训练阶段通常是不准确的。
此外,在目标密集的场景中,目标 queries 会与许多不相关的目标进行交互,从而降低其唯一性并损害性能。本文提出使用不同框之间的 IoU 作为 self attention 中的 value routing 的先验。原始注意力矩阵乘以从提议框的 IoU 计算的相同大小的矩阵,它们确定 routing 方案,以便抑制不相关的特征。此外,为了准确提取分类和回归的特征,作者添加了两个轻量级投影头来提供基于目标 queries 的动态通道掩码,并将它们与动态卷积的输出相乘,使结果适用于两个不同的任务。在不同的数据集上验证了所提出的方案,包括 MS-COCO 和 CrowdHuman,表明它显著提高了性能并提高了模型收敛速度。
1、简介
目标检测是计算机视觉中的一项基本任务,旨在通过边界框对语义区域进行定位和分类。传统上,有基于密集平铺 anchors 的两阶段方法或基于 anchors 或 grid points 的单阶段方法。然而,他们都因手工设计而受到抱怨,例如 anchor shapes、正负训练样本分配的标准以及额外的后处理步骤,如非极大值抑制 (NMS)。
DETR 是一个更简单的模型,它利用了 Transformer 的结构。在其解码器中,一组稀疏的可学习 queries 通过交叉注意力从图像中提取目标信息,也通过自注意力从彼此中吸收目标信息。然后二分匹配连接更新的 queries 和 GT,仅将一个 query 分配给 GT 框以进行分类和回归损失。一对一的标签分配规则防止模型输出冗余框。因此,不再需要 NMS。然而,DETR 仍然存在训练收敛缓慢的问题。TSP 从编码器中选择特征来初始化查询集,SMCA 直接预测一个空间掩码来加权注意力矩阵。两者都可以加快训练速度。
上述工作中有一个稀疏的查询集,但必须密集地关注完整的图像。可变形 DETR 将标准注意力更改为可变形注意力,限制每个query关注参考点周围的一小组采样点。它显著减少了注意力模式的计算并提高了收敛速度。Sparse R-CNN 利用 RoI align 为损失Head进行 local object embedding。它有成对的目标查询 和 proposal box , 只通过动态卷积与box 内对应的图像特征交互,其中 和 N 是 query slot 和 boxes 的总数。除此之外,它仍然在查询集中执行自注意力,以便一个 知道其他 。Sparse R-CNN 是一个具有多个阶段的级联结构,并且在每个阶段对 进行细化以逐步接近 GT box。
尽管设计简单,但 Sparse R-CNN 依赖自注意力来建模不同目标查询之间的关系。由于 为每个 提供 kernels,self attention 间接扩大了每个框 内的动态 convs 的感受野。但是 被概括为一个没有空间维度的向量,self-attention 忽略了 的空间覆盖。换句话说, 可能会受到其他 的强烈影响,因为它们具有相似的 query 和 key 向量,而不考虑 和 的位置。对于 MS-COCO 和 CrowdHuman 数据集中的密集目标检测,图像中有许多相同类别的GT。由于缺乏空间先验的指导,自注意力中的动态路由可能无效,尤其是在早期训练时期。
在本文中,作者打算通过考虑两个对应框之间的几何关系来增强 Sparse R-CNN 中目标查询的自注意力,如图 1a 所示。Relation Net 也采用了类似的思路。但是,在不添加任何参数的情况下采取了不同的策略。Intersection over Union (IoU) 的通用度量直接用作自注意力期间 value 路由的自然先验。具体来说,在 N 个提议框之间计算大小为 N×N 的矩阵 IoU,其中两个框 和 之间的 IoU 度量确定每个元素 。请注意,IoU 与注意力矩阵 attn 大小相同,因此元素乘法可以将它们组合起来,并将结果用于加权值矩阵以更新目标查询。
为了进一步增强双损失头中的分类和定位功能,作者设计了一个动态通道加权(DCW)模块来为两个任务生成不同且合适的特征。这个想法是在目标查询和 RoI 特征之间添加一个连接,以实现动态交叉加权。它使用目标查询 来预测具有 精确维度的两个通道掩码。然后应用这两个掩码来对动态卷积给出的输出特征进行加权。因此,对于这两个任务,通道可以以不同的方式突出显示,重点关注分类和回归的相关区域,如图 1b 所示。与动态卷积类似,DCW 模块中有两个轻量级的header,都像SE-Net一样在末尾有sigmoid函数,限制取值范围为0到1。在 DCW 之后,特征为两个任务不再共享,可使双方受益。
我们的贡献总结如下:
- 在 Sparse R-CNN 中提出了一个 IoU-enhanced self attention 模块,它在注意力矩阵之前引入了空间关系。在这里,两个提议框的 IoU 被用作评估不同目标查询的相似性并指导 self attention 中的value路由的度量。
- 设计了一个带有交叉加权方案的插入式 DCW 模块,它根据目标查询输出两种类型的通道掩码,然后使用它们对原始动态卷积的特征进行加权。DCW 分离了分类和回归头的 RoI 特征。
- 在 CrowdHuman 和 MS-COCO 两个数据集上进行了广泛的实验,验证了所提出的方法在不显著增加模型大小和计算量的情况下有效地提高了检测结果的质量。
2、相关工作
2.1、Dense Detector
从 R-CNN、Fast R-CNN 到 Faster R-CNN,两阶段甚至多阶段的方法都与 CNN 紧密贴合,实现了端到端的训练方式。在这些方法中,首先获得目标建议,即大致定位的目标区域。然后,RoI align 从整个图像中提取这些提议区域,使第二阶段只观察 RoI 并专注于提高它们的质量。
单阶段方法在没有 RoI align 的情况下单次检测目标。SSD 和 YOLO 模仿 Faster R-CNN 中的第一阶段,并尝试直接给出最终位置和所属类别。然而,他们的检测质量明显落后于他们的两阶段竞争对手。RetinaNet 将 one-stage 方法的劣势归因于正负训练样本之间的极端不平衡,并设计了一个 Focal Loss 来处理它,在训练过程中降低了容易负样本的权重。基于特征金字塔网络 (FPN) 和样本匹配方案,例如 ATSS、PAA 或 OTA,单阶段方法 RetinaNet 实现了具有竞争力的性能。
除早期版本的 YOLO 外,上述大部分工作都在图像中密集平铺了初始框,称为Anchor。然而,它们的大小和比例很重要,但很难选择。最近的工作表明,单阶段 Anchor-Free 方法取得了有希望的结果。在没有平铺 Anchor 的情况下,这些方法直接对每个网格点进行分类并回归正样本的边界框。已经采用了不同的策略来从网格中定位一个 box。FCOS 将距离输出到GT 框的4个边界。同时,它还预测中心度作为 NMS 的补充质量指标。RepPoints 利用 deformable conv 在物体中心周围散布不规则点,然后收集所有点位置来定位ground truth box。CornerNet 采用自下而上的方案,它估计GT的左上角和右下角的高斯Heatmap,并尝试通过嵌入特征从相同的GT匹配它们。类似的想法也用于预测目标中心的Heatmap。RepPoints-v2 整合了 CornerNet 的思想,通过添加一个分支来预测角点Heatmap,这也有助于在推理过程中从不规则点中细化预测框。
2.2、Sparse Detector
尽管 Anchor-Free 方法大大减轻了复杂性,但它们仍然需要在密集的平铺网格上进行预测。由于一个 GT 可能被分配给许多候选者,因此 NMS 成为减少冗余预测的不可避免的后处理步骤。然而,NMS 因其启发式设计而饱受诟病,许多作品试图改进甚至消除它。但这些作品往往会带来复杂的模块。
DETR 在 Transformer 结构下给出了一个简单的无 NMS 解决方案。它假设一组稀疏的可学习查询由 self 和 cross attention 重复更新。该查询最终用于预测其匹配的GT。请注意,一个GT box仅通过二分匹配分配给其所属查询。因此不再需要 NMS。尽管设置简单,但 DETR 需要很长时间才能收敛。
TSP 发现交叉注意力在早期训练阶段的不稳定行为是导致收敛缓慢的主要原因。因此,它消除了交叉注意力,只在选定的 RoI 中执行自注意力。使用 FPN 作为主干,TSP-FCOS 和 TSP-RCNN 可以在 36 个 epoch 上取得令人满意的结果。SMCA 结合了直接从查询中预测的空间先验来调制注意力矩阵并提高收敛速度。
Deformable DETR 将可变形 conv-v2 中的思想用于 Transformer 的编码器和解码器。与传统的非局部注意力操作不同,可变形注意力中的每个查询直接对参考点周围不规则位置的特征进行采样,并预测动态权重矩阵将它们组合起来。加权特征更新以查询下一阶段,直到它输入损失头。
Sparse R-CNN 可以被视为 DETR 的一种变体,并假设一个更简单的设置。它有一组可学习的目标查询和提案框,查询slots给出的kernel只处理提案框内的区域。