论文阅读:Anchor DETR: Query Design for Transformer-Based Detector

论文阅读:Anchor DETR: Query Design for Transformer-Based Detector_第1张图片

一、简介

基于Transfomer的检测器中,对象的query是一组可学习的嵌入。然而,每个学习到的query都没有明确的物理意义,我们也不能解释它将关注在哪里。很难进行优化。

在本文中,作者提出了一种基于Transformer的检测器——Anchor DETR。

Anchor DETR中有基于anchor point(锚点)的查询设计,因此每个查询只预测锚点附近的目标,因此更容易优化。

此外,作者在每个锚点上加入了多个模式来解决一个区域中可能多个目标的问题。

为了降低计算的复杂度,作者还提出了一种注意变体,称为行列解耦注意(Row-Column Decoupled Attention)。行列解耦注意可以降低计算成本,同时实现与DETR中的标准注意力相似甚至更好的性能。

与DETR相比,Anchor DETR可以在减少10倍训练epoch数的情况下,获得更好的性能。

 论文阅读:Anchor DETR: Query Design for Transformer-Based Detector_第2张图片

论文阅读:Anchor DETR: Query Design for Transformer-Based Detector_第3张图片 
二、具体方法 

Anchor Point

论文阅读:Anchor DETR: Query Design for Transformer-Based Detector_第4张图片

 

在基于cnn的检测器中,锚点始终是特征映射的对应位置,它在基于变压器的探测器中可以更灵活。锚点可以是学习到的点、统一的网格点或其他手工制作的锚点。有两种类型的锚点。一个是网格锚点,另一个是学习到的锚点。网格锚点被固定为图像中的均匀网格点。学习点以0到1的均匀分布随机初始化,并作为学习参数进行更新,预测的边界框的中心位置(ˆcx,ˆcy)将被添加到相应的锚点作为最终的预测。

Attention of DETR formula

论文阅读:Anchor DETR: Query Design for Transformer-Based Detector_第5张图片

 

其中dk为信道维数,Q、K、V分别为查询、键、值。Q、K、V将分别通过线性层。下标f代表特征,p代表位置嵌入

在DETR解码器中有两种注意力机制。一种是自我注意,另一种是交叉注意。

在自我注意中,Kf和Vf与Qf相同,Kp与Qp相同。Qf是最后一个解码器的输出,第一个解码器的初始Qf可以设置为一个常量向量或学习到的嵌入。对于查询位置嵌入Qp,在DETR中使用了一组学习到的嵌入。

在交叉注意中,Qf由前面的自注意输出生成,而Kf和Vf是编码器的输出特征。Kp是Kf的位置嵌入。它是基于相应的关键特征位置编码生成的。

Anchor Points to Object Query

由于Qp代表区分不同的物体,所以在Decoder中的Qp被看作对象查询。本文提出了基于锚点Pos_q设计的对象查询。Pos其(x,y)位置范围为0到1。基于锚点的对象查询可以表示为:

 设计编码函数时,由于对象查询被设计为查询位置嵌入,与键共享相同的位置编码功能其中g是位置编码函数。

 Multiple Predictions for Each Anchor Point

多个目标可能出现在一个位置。在这种情况下,只有此位置的一个查询不能预测多个目标,因此来自其他位置的查询必须协同预测这些目标。它将导致每个目标查询负责一个更大的区域。

作者通过向每个锚点添加多个模式(multiple patterns,即一个锚点可以检测多个目标)来改进目标查询设计,以便每个锚点都可以预测多个目标。每个查询的三种模式的所有预测都分布在相应的锚点周围。因此,本文提出的目标查询具备更好的可解释性。由于查询具有特定的模式,并且不需要预测远离相应位置的目标,因此更容易进行优化。

对于初始的查询向量Qinit,每个查询都有一个模式(patternQi_f 。为了预测每个锚点的多个目标,可以合并一个锚点中的多个模式。因此,一个具有Np个模式的集合Qi_f可以表示为:

最终只需要将query和位置编码相加,就得到最终的查询向量,Pattern Position query可以表示为: 

Row-Column Decoupled Attention

作者还提出了行列解耦注意(Row-Column Decoupled Attention,RCDA),它不仅可以降低计算负担,而且还可以获得比DETR中的标准注意力相似或更好的性能。RCDA的主要思想是将key特征解耦为横向特征和纵向特征(即用一维的gobal pooling消除纵向或者横向的维度)。

三、实验

论文阅读:Anchor DETR: Query Design for Transformer-Based Detector_第6张图片

论文阅读:Anchor DETR: Query Design for Transformer-Based Detector_第7张图片 

 

你可能感兴趣的:(机器学习,深度学习)