AI学习者 · 2022年10月14日

目标检测改进 | 如何使用IOU改进自注意力以提升Sparse RCNN目标检测性能

image.png

在图像中没有密集平铺的 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 直接预测一个空间掩码来加权注意力矩阵。两者都可以加快训练速度。

image.png
image.png

image.png

我们的贡献总结如下:

  • 在 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只处理提案框内的区域。

3、本文方法

所提出的方法,主要包括  IoU-enhanced self-attention(IoU-ESA)和动态通道加权(DCW)。该方法的概述如图2所示。在说明设计模块的细节之前,首先回顾和分析 Sparse R-CNN 的初步工作。

image.png

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 类似:

  1. 它们都有可学习的对象查询,旨在描述和捕捉基本事实。在稀疏 R-CNN 中,它是提议特征,而在 DETR 中,它是位置编码。
  2. 在这两种方法中,在对象查询之间执行自注意力以聚合来自整个集合的信息。
  3. 动态转化和交叉注意力具有可比性。两者都执行对象查询和图像特征之间的交互,改进用于分类和回归的对象嵌入。

综上所述,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 上进行的。

image.png

可以看出,AP 为 38.5 的最差性能来自目标查询中没有任何自注意力的模型 w/o MSA。当使用 IoU 矩阵作为注意力矩阵时,IoU-MSA 的结果得到了很大的恢复。但是,原来的 self attention 仍然达到了最优性能。因此,作者打算通过利用 IoU 作为几何图形来增强 Sparse R-CNN 中的自注意力,然后引导自注意力中的路由方案。

3、分析特征的可判别性

正如 TSD 中所述,检测中的两个任务集中在目标的不同部分。分类分支关注语义区域以支持其类类型,而回归分支更多地与对象轮廓相关,以准确定位它。因此,为它们解开特征是有益的。请注意,Sparse R-CNN 对这两个任务使用相同的耦合特征,这可能会得到改进。

image.png

作者为分类和回归训练了两个具有不同特征和结构的模型,如图 3 所示。它们都在目标查询 q 和 RoI 特征 r 上使用相同的维度(例如,256)设置。图 3b 中的第一个为每个任务分配了一半的维度(例如,128)。因此,动态卷积及其后续层变得完全独立。

请注意,此设置会保存模型参数和计算。图 3c 中的另一个具有类似的意图,但考虑在将特征赋予双头之前补偿损失的尺寸。与 Sparse R-CNN 一样,通道数恢复到原始维度,这是通过额外的投影层实现的。需要提一提的是,虽然新增的 layer 带来了更多的模型参数和计算量,但与原来的模型相比还是有效率的,主要是动态卷积的降维效果显著。他们在 MS-COCO 上的表现列于表 2。

image.png

与两个任务的特征和结构耦合的原始 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)所示,

image.png

image.png

IoU-enhanced self attention 表示为:

image.png

3.3、动态通道加权(DCW)

正如 3.1 节分析的那样,在检测中最好对两个丢失头使用不同的特征。然而,Sparse R-CNN 将相同的特征发送到两个头部,这显然不是最优的。尽管将目标查询 q 和 RoI 特征 r 沿通道维度分离的简单策略可以在不降低性能的情况下减少参数和计算量,但仍然需要更好的、充分利用 q 的动态方案。

image.png

image.png

3.4、Training Objectives

在 DETR 之后,采用匈牙利算法来制作预测和GT对。二分匹配方式避免了像 NMS 这样的后处理。匹配成本与训练损失相同,
image.png

4、实验

image.png

image.png

5、参考

[1].IoU-Enhanced Attention for End-to-End Task Specific Object Detection.

作者: ChaucerG
文章来源:集智书童

推荐阅读

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