翻读:CAT: Cross-Attention Transformer for One-Shot Object Detection

翻读:CAT: Cross-Attention Transformer for One-Shot Object Detection_第1张图片

 论文:CAT:用于单次物体检测|的交叉注意力转换器带代码的论文 (paperswithcode.com)https://paperswithcode.com/paper/cat-cross-attention-transformer-for-one-shot

摘要

给定来自一个新类的query patch,单阶段目标检测旨在通过语义相似性比较检测目标图像中该类的所有实例。然而,由于新类中的指导极其有限,以及query和目标实例之间看不见的外观差异,很难适当地利用它们的语义相似性并很好地泛化。为了缓解这个问题,我们提出了一个通用的 CrossAttention Transformer (CAT) 模块,用于在单阶段目标检测中进行准确有效的语义相似性比较。所提出的 CAT 利用 Transformer 机制全面捕获query和目标图像中的任何配对像素之间的双向对应关系,这使我们能够充分利用它们的语义特征进行准确的相似性比较。此外,所提出的 CAT 可以实现特征维度压缩,从而在不损失性能的情况下加快推理速度。在oneshot设置下对COCO,VOC和FSOD进行的大量实验证明了我们的方法的有效性和效率,例如,它通过在COCO上1.0% AP而超过了CoAE,这是该任务中的主要基线,并且运行速度快了近2.5倍。代码将在将来可用。

1.引言

对象检测是计算机视觉领域的一项基本任务,旨在为图像中每个感兴趣的实例预测一个带有类别标签的边界框。尽管基于深度卷积神经网络(DCNN)的目标检测方法近年来取得了巨大的成功,但它们的成功在很大程度上依赖于大量的注释数据,由于昂贵的注释成本,这些数据在实际应用中往往难以收集甚至不可行。因此,在测试阶段,不可避免地要处理只有少数注释示例的不可见类的对象检测。

在本研究中,我们主要关注最具挑战性的问题,比如单阶段目标检测。给定一个新的类,只有一个带有一个注释对象的query图像,然后检测器需要在目标图像中找到与注释对象相同类别的所有对象。到目前为止,已经提出了一些有效的方法,主要侧重于构建两阶段范式[Ren等人,2016]。具体而言,在第一阶段中,将query图像和目标图像的特征聚合,以利用通道注意利用它们的语义对应关系【Hsieh等人,2019年】或相关过滤【Fan等人,2020年】。然后,使用区域建议网络检测所有候选对象,然后使用基于语义相似度比较的分类器最终定位真实对象。然而,由于对新类的指导非常有限(即,只有一个带注释的样本),以及query对象和目标对象之间看不见的外观差异(例如,这通常是由类内变化和不同的成像相关性引起的),这些现有方法仍然无法以令人满意的性能很好地进行适当的概括。

为了缓解这个问题,我们重新审视了一次性对象检测问题,并尝试探索查询对象和目标图像之间的准确语义对应关系以提高性能。考虑到巨大的外观差异往往将其语义对应隐藏在未知的嵌入空间中,我们必须充分利用两幅图像之间的任何细节对应。一种直接的方法是探索查询图像中的每个子区域与目标图像中的子区域之间的关系。根据这一思想,我们提出了一个交叉注意转换器(CAT)模块,并将其嵌入到两阶段检测范式中,以全面探索目标图像和查询图像之间的双向对应关系。拟议的CAT模块由两条交错变压器流组成[Vaswani等人,2017]。给定从 Siamese 特征提取器生成的网格特征,利用双流变换器通过计算它们之间的交叉注意力来利用query和目标图像中的任何成对子区域之间的双向对应关系。如图1所示,CAT模块可以充分利用每个图像的语义特征以及它们的网格级对应关系,这将有利于第二阶段的准确相似性比较。此外,由于 CAT 模块捕获了足够的信息,可以有效地压缩每个对象的最终特征表示的维数而不会造成性能损失。为了验证提出模型的有效性,我们将其与三个标准one-shot目标检测的最新技术进行比较,并观察到显着的性能和效率提升。

翻读:CAT: Cross-Attention Transformer for One-Shot Object Detection_第2张图片

图 1:中间特征图的可视化结果。我们在最后两列中可视化了我们提出的 CAT 模块的输入和输出的响应图。通过捕获查询图像和目标图像之间的双向对应关系,我们的 CAT 模块显着细化了响应图,并更加关注具有相同查询对象类别的对象。

综上所述,本研究主要在以下三个方面做出贡献:

        我们提出了一个 CAT 模块,该模块能够充分利用query和目标图像之间的网格级对应关系,以实现准确高效的one-shot目标检测。值得注意的是,CAT 模块是一个通用模块,可以无缝插入其他现有的 one-shot 目标检测框架。

        借助 CAT 模块,我们开发了一个有效的one-shot检测网络,该网络在one-shot目标检测的三个标准基准上展示了最先进的性能。

        通过压缩特征通道,所提出的模型能够以比当前最先进的基线CoAE快近2.5倍的速度运行,而不会导致性能下降【Hsieh等人,2019年】。

2.相关工作

在本节中,我们将简要回顾与本研究相关的两条研究路线。

2.1Few-Shot目标检测

few-shot目标检测的关键是建立一个相似性度量,该度量可以通过一些标记的示例 (即查询集) 适当地推广到看不见的类。最近已经从不同的角度做出了努力,例如迁移学习、度量学习和基于注意力的方法。

具体来说,对于转移学习,[Chen等人,2018] 提出了正则化技术,以缓解由于直接将知识从大型辅助数据集转移到新颖类而引起的过拟合。另一项研究 [Kang等人,2019] 开发了一种单级检测器与元模型相结合,该元模型从基础模型重新加权特征的重要性。对于度量学习,[Karlinsky et al., 2019] 在检测器的 RoI 模块中引入了一个基于距离度量的分类器,它将对象映射到通用嵌入空间中。基于注意的方法侧重于建模目标和query之间的对应关系。[Hsieh et al., 2019] 设计了一个基于co-attention的模型,称为 CoAE,它利用来自目标和query的相关特征来获得更好的泛化性能。[Fan等人,2020] 引入深度卷积以获得RPN阶段的注意力特征图,并提出多关系检测器来对RCNN阶段的不同关系进行建模。【Osokin等人,2020年】首先基于局部特征进行密集相关匹配,然后进行空间对齐和双线性重采样来计算检测分数。

我们的工作基于第三条研究路线,即基于注意力的方法。与之前的工作不同,我们提出的CAT模块使我们能够使用交叉注意转换器层的堆栈深入开发目标和query之间的网格级双向通信。

2.2Visual Transformer

目睹Transformer成为自然语言处理 (NLP) 的标配,最近的文献开始将类似Transformer的网络引入各种计算机视觉任务,包括图像识别 [Dosovitskiy 等人,2020; Touvron 等人,2020 年],物体检测 [Carion 等人,2020 年; Zhu et al., 2020], 分割 [Ye et al., 2019], 视觉问答 (VQA) [Tan and Bansal, 2019; 苏等人,2020]。视觉Transformer(ViT)[Dosovitskiy等人,2020年]将图像块直接输入到Transformer中进行图像分类,从而消除了任何卷积操作的需要。[Carion et al., 2020] 提出了 DETR,这是一种Transformer编码器-解码器架构,它执行端到端的对象检测作为集合预测。它不依赖于传统检测器所需的许多手动组件,例如非最大抑制和锚点选择。【Ye等人,2019年】提出了一种跨模式的自我注意模型,以捕捉语言和视觉特征之间的长期依赖关系。LXMERT【Tan和Bansal,2019年】和VL-BERT[苏等人,2020年]是类似Transformer的视觉语言预训练模型,可在多个视觉语言任务上实现卓越的性能。据我们所知,我们提出的模型是第一次尝试使用变压器进行一次性目标检测。此外,它依赖于双流交叉注意架构,而不是通常采用的自我注意机制。

3.我们的方法

我们制定了one-shot目标检测任务,如【Hsieh等人,2019年】。给定带有类标签的query图像patch p,one-shot检测器旨在检测目标图像 I 中同一类的所有对象实例,其中我们假设目标图像中至少存在一个实例。我们将测试阶段的类集(未见类)表示为\small C_{0},而将训练阶段(已见类)的类集表示为 \small C_{1},并且 \small C_{0}\small C_{1} = ∅。该模型使用已见类的注释数据进行训练,并通过单个query图像推广到未见类。

翻读:CAT: Cross-Attention Transformer for One-Shot Object Detection_第3张图片

 图2:所提出的一次性物体检测方法的整体结构。我们的检测器由三部分组成。第一部分 
第一部分是一个共享的ResNet-50 [He et al., 2016] 主干,用于提取目标和查询图像的特征。而下面的部分是 我们的Cross-Attention Transformer(CAT)模块,该模块融合了骨干网的特征,并增强了可能与查询图像相同类别的区域的特征。而最后一部分是检测头,包括一个普通的RPN头和一个R-CNN头,例如 faster R-CNN。

 3.1 整体架构

如图 2 所示,我们提出的架构由三部分组成,包括特征提取器(骨干网络)、交叉注意模块和基于相似性的检测头。首先,我们采用 ResNet-50 从query图像 \small I_{q} \epsilon R^{3*H_{q}*W_{q}} 和目标图像\small I_{q} \epsilon R^{3*H_{t}*W_{t}}中提取特征。请注意,主干参数在query图像和目标图像之间共享。需要特别说明的是,我们仅使用前三个ResNet-50块来提取高分辨率的特征图。为了便于表示,我们表示\small \phi (I_{t})\epsilon R ^{3*H_{t}^{'}*H_{t}^{'}}\small \phi (I_{q})\epsilon R ^{C*H_{q}^{'}*H_{q}^{'}}分别作为目标图像和查询图像的特征图,其中 \small \phi 表示主干,C = 1024,\small H_{t}^{'}=H_{t}/16\small W_{t}^{'}=W_{t}/16\small H_{q}^{'}=H_{q}/16\small W_{q}^{'}=W_{q}/16。 然后,我们使用一个 3×3 的卷积和一个 1×1 的卷积将 φ(It), φ(Iq) 的通道数从 1024 压缩到 dm = 256。这两个特征在空间维度上都是平坦的,并通过CAT模块进一步深入聚合,该模块具有以下公式中定义的交叉注意机制:

其中是输入序列,并是交叉注意后输出特征图。

最后,基于 RPN 的 head 将聚合的目标特征作为输入,并生成进一步分类和回归的建议。 通过 ROI align 从 Ft 中提取的proposals p1, p2, ···, pn 的特征被输入到回归器中以获得细化的边界框。

 

其中\small \Phi _{r}表示回归量,ψ 表示 ROI align 的操作。 对于基于相似性的分类,我们首先对 RoI 特征和聚合查询特征 Fq 应用全局平均池化,然后将它们连接起来作为分类器 Φc 的输入。 分类结果 P(bboxi), i = 1, 2, . . . , n 可以表示为:

 

 3.2交叉注意力transformer模型

交叉注意力变压器 (CAT) 模型是我们提出的框架的关键组成部分。基于transformer体系结构,它对目标图像和查询图像网格之间的双向对应关系进行建模,并对目标图像和查询执行双重特征聚合。

Transformer 的基本构建块是“Scaled DotProduct Attention”,定义如下:

 其中 Q,K,V 分别代表查询、键和值。 dk 是键的维度。

如 [Vaswani et al., 2017] 中所述,Multi-Head Attention 机制进一步用于co-attrntion来自不同表示子空间的信息:

 其中\small W_{i}^{Q}\varepsilon R^{d_{m}*d^{'}},\small W_{i}^{W}\varepsilon R^{d_{m}*d^{'}},\small W_{i}^{K}\varepsilon R^{d_{m}*d^{'}}是分别计算所谓的查询、键和值嵌入的矩阵,\small W^{o}\epsilon R^{Md^{'}*d_{m}} 是 投影矩阵。 在我们的工作中,我们设置 \small d^{'}=d_{m}/M , dm = 256 和 M = 8。

在 Multi-Head Attention 操作之后,输出被发送到由两个带有 ReLU 激活的线性变换组成的前馈网络(FFN)模块,定义为:

 其中 W1,W2 和 b1,b2 分别是权重矩阵和基向量。

最近,Carion【Carion等人,2020年】提出了一种transformer-like模型(DETR),用于一般目标检测并获得竞争性性能。虽然我们在这项工作中也使用了transformer,但DETR和我们的模型之间仍然存在显著差异。首先,两种模式面临的挑战不同。作为通用的目标检测器,DETR 侧重于前景和背景的区分,以及准确的边界框回归。相反,单阶段检测器的困难主要在于基于相似性的比较,而不是proposal生成[Zhang et al., 2011]。通过实验,我们发现在许多情况下,一次性检测模型可以产生精确的显著对象边界框,但无法分配正确的类标签。为了解决各自的挑战,DETR和我们的模型选择了不同的模型体系结构。DETR 建立在自我注意的基础上,它探索单个输入图像的像素之间的长程依赖关系。相比之下,我们的模型依赖于执行交叉注意(Query-to-Target 和 Target-to-Query)的双流架构,以利用查询子区域和目标图像之间的相似性。

具体来说,\small X_{t}=\epsilon R^{N_{t}*d_{m}}\small X_{q}=\epsilon R^{N_{q}*d_{m}}分别表示目标图像和查询图像的平坦特征映射的输入序列,如图2所示。注意\small N_{t}=H_{t}^{'}*H_{t}^{'}\small N_{q}=H_{q}^{'}*H_{q}^{'}是序列的长度。根据【Carion等人,2020年】,我们使用正弦函数为输入序列Xt和Xq生成空间位置编码。在 CAT 的一个流中,我们让方程(5)中的 Q = Xt 和 K = V = Xq,并获得聚合的目标特征。 这个过程可以概括为:

翻读:CAT: Cross-Attention Transformer for One-Shot Object Detection_第4张图片

其中\small P_{t}\varepsilon R^{N_{t}*d^{m}},\small P_{q}\varepsilon R^{N_{q}*d^{m}}是分别对应于 Xt 和 Xq 的空间位置编码 .另一个流,我们设置 Q = Xq 和 K = V = Xt 并生成 Yq,聚合查询特征。上述整个计算可以看作是我们提出的 CrossAttention Transformer 的一层,一层的输出将是下一层的输入。 在我们的工作中,我们设置层数 N = 4。然后,将CAT模块的输出重塑为与原始特征图大小相同的新特征图Ft和Fq,其中Ft被馈送到后续RPN中,Fq用于基于相似度的分类。

4.实验

我们的实验是在 MS-COCO [Lin et al., 2014]、PASCAL VOC 和最近发布的 FSOD [Fan et al., 2020] 数据集上进行的。 在 4.1 节中,我们首先介绍实现细节。 然后我们分别在第 4.2 节和第 4.3 节进行消融研究和与 SOTA 的比较。

4.1实施细节

训练细节。我们的网络使用随机梯度下降(SGD)在4个NVIDIA RTX-2080Ti GPU上训练10个时代,初始学习率为0.01,小批量16幅图像。在第5期和第9期,学习率分别降低了10倍。重量衰减和动量分别设定为0.0001和0.9。与 [Hsieh et al., 2019] 一样,主干 ResNet-50 模型在 ImageNet 的缩减训练集上进行了预训练,其中删除了所有 COCO 类,以确保我们的模型确实“预见”了任何看不见的类。调整目标图像的大小,使其短边为600,长边小于或等于1000,并将查询图像面片调整为固定大小128x128。我们在mmdetection[Chen et al.,2019]上构建了我们的模型,这是一个基于PyTorch的通用目标检测框架。基于空间和通道方面的共同关注,CoAE[Hsieh et al.,2019]在现有方法上实现了最佳性能,并作为我们论文中的主要基线。为了严格公平比较,我们在相同的mmdetection框架上重新实现了CoAE模型,并在所有三个评估数据集上取得了比原始作者提供的版本明显更好的结果。原因可能是mmdetection中更好的训练策略,例如倍增数据增强和优化管道。

推理细节。与 [Hsieh等人,2019] 相同的评估策略适用于公平比较。具体来说,我们首先用目标图像ID的随机种子对该类的查询图像patch进行随机洗牌,然后对前五个查询图像patch进行采样,对这些patch进行评估,并将这些结果的平均值作为评估的稳定统计数据。

翻读:CAT: Cross-Attention Transformer for One-Shot Object Detection_第5张图片

 翻读:CAT: Cross-Attention Transformer for One-Shot Object Detection_第6张图片

翻读:CAT: Cross-Attention Transformer for One-Shot Object Detection_第7张图片

 4.2消融实验

 由于交叉注意变换器是我们模型的关键组件,因此在本节中,我们主要探讨不同超参数对该模块的影响。为了便于说明,我们的消融实验是在 COCO split 1 上进行的,这将在 4.3 节中讨论。

Transformer Structure.我们的 CAT 模块由一堆two-stream transformer层组成,每个流执行目标到查询或查询到目标的注意并生成相应的目标或查询特征。在表 1 中,我们将双流架构与仅执行查询到目标注意并生成聚合目标特征的单流转换器进行了比较。结果表明,单流模型在未见和已见类别上分别导致 1.3 和 1.0 AP 下降,证明了双向特征聚合的重要性。

CAT 层数。 我们研究了具有不同层数的 CAT 的性能。 如表 2 所示,我们测试了 CAT 的结果,层数从 3 到 6。4 层的 CAT 在 unseen classes 上取得了最好的性能,而在 see classes 上,随着层数的增加获得了最好的 AP 如5。可以发现,增加层数并不总能提高性能,这可能是由于对所见类的过度拟合造成的。 请注意,即使仅使用 3 层,我们的模型仍然优于 CoAE,证明了所提出方法的优越性。 在剩下的实验中,我们默认将层数设置为 4。

 特征嵌入的维度。表 3 显示了 COCO spit 1 上不同 dm 值的结果。我们还报告了它们的参数数量和推理速度 (FPS)。从结果中,我们可以发现将 dm 降低到 128 会显着降低未见课程的 2 点 AP。 dm = 256 和 dm = 512 的 AP 彼此接近,但将 dm 设置为 512 会显着增加模型大小并减慢推理速度。 dm = 1024 的结果显示了对所见类的过度拟合。为了在准确性和速度之间取得平衡,我们在以下实验中将 dm 设置为 256。

翻读:CAT: Cross-Attention Transformer for One-Shot Object Detection_第8张图片

 图3中间特征图的可视化结果。我们在几个目标查询对上可视化交叉注意力转换器中每一层的输出

4.3 与最先进的比较

MS-COCO。根据先前的工作 [Hsieh等人,2019],我们将COCO数据集的80类 [Lin等人,2014] 分为四组,交替地将三组视为所见类,一组视为未所见类。我们使用 “训练2017” (118K图像) 分割进行训练,minival (5k图像) 分割进行评估。我们将我们的方法与表4和5中的siamask [Michaelis等,2018] 和CoAE [Hsieh等,2019] 进行比较。除了作者发布的CoAE模型 (在表中表示为CoAE) 之外,我们还在mmdetection框架 (表示为CoAE(Reimp)) 中重新实现了该模型,以进行严格的公平比较。请注意,CoAE (Reimp) 的训练策略与我们的模型相同,并且比原始版本获得更好的结果,因此它可以作为一个强大而公平的基准。表4和表5分别显示了看不见和看不见的班级的比较。与重新实现的CoAE模型相比,我们的模型在平均AP和AP50上分别实现了1.0% 和0.9% 的改进。至于seen类,我们的模型还实现了更好的性能,平均0.9 AP点优于CoAE (Reimp)。

PASCAL VOC。至于VOC [Everingham等人,2010],我们将20个类分为16个可见类和4个看不见类,其中可见类和看不见类的选择与 [Hsieh等人,2019] 一致。请注意,我们的模型是在VOC2007 train & val集和VOC2012 train & val集上进行训练的,而在VOC2007上进行了评估。我们评估每个类别的平均精度,并分别计算可见类和未可见类的平均平均精度 (mAP)。表6显示了与CoAE和其他几个基线的比较 [Fu等人,2020; Cen和Jung,2018; Li等人,2018],其评估设置与我们的一致。我们的模型通过在unseen类上1.3映射点而优于重新实现的CoAE,而在seen类上的表现稍差 (0.3映射),这提供了从seen类到unseen类的更强的泛化能力。

FSOD。FSOD数据集 [Fan等人,2020] 专门设计用于少镜头对象检测。它包含1000类别,800用于培训和200测试。我们在相同的一次性设置下,在此数据集上测试模型和重新实现的CoAE模型的性能。表7显示,我们的模型在AP中1.7% 优于CoAE,在新颖类中2.5% 优于AP 75。

推理速度。请注意,与先前的SOTA CoAE (1024) 相比,我们的模型以更小的特征维度 (dm = 256) 实现了更高的准确性。另一方面,transformer采用的点积注意力更可并行化和节省空间。这两个特征导致了更快的推理速度: 在NVIDIA RTX-2080Ti GPU上,我们的模型实现了16.3 FPS,而CoAE的速度仅为5.9 FPS,比我们的速度慢近2.5倍。

4.4可视化的CAT层

为了直观地理解我们的模型,我们根据响应强度可视化中间特征图。如图3所示,第一列和第二列分别表示查询图像和目标图像,其余列对应于不同CAT层的可视化。主干输出在不包含任何查询信息的情况下,对显著对象或特征的响应更高。随着层次的增加和查询信息聚合程度的加深,CAT输出逐渐集中在与查询相同类别的对象上。可视化表明了我们提出的CAT模块在利用目标和查询之间的对应关系方面的重要性。

5 结论

在这项工作中,我们提出了一个交叉注意力转换器模块,以深入利用查询和目标对之间的双向对应关系进行一次目标检测。通过将建议的CAT模块与两阶段框架相结合,我们构造了一个简单而有效的一次性检测器。所提出的模型在三个一次性检测基准上实现了最先进的性能,同时运行速度比CoAE快2.5倍,CoAE是一个主要的强基线,显示出优于有效性和效率的优势。

你可能感兴趣的:(transformer,目标检测,深度学习)