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

该论文为最近比较热门的Transformer跨界论文,以Deformable DETR为基础进行改进,并且再COCO数据集上取得了很好的成绩。该结构主要就两个方向进行改进,第一个是同一区域多个目标的问题,第二个是attention机制内存消耗的问题。


网络结构

该论文与DETR结构类似,同样由CNN与Transformer组成。先由CNN进行特征提取, 再由Transformer结构将特征进行编码和预测。
在这里插入图片描述

1.主干网络

该论文中主干网络与DETR相同,同样是CNN进行提取特征,本文中主要使用ResNet-50和ResNet-101两个网络作为主干网络进行特征提取。并且再主干网络之后增加了DC5(特征的大小)特征的特征探测器,再通过1x1的卷积输出特征。

2.Transformer结构

除了分类loss使用了focal loss以及attention机制做出了改进和查询加入了anchor point,其余的都是和DETR相同。


提出的创新或改进

该论文是基于DETR做出的改进,1.对查询做出的改进,为了对一个区域的多个目标做出检测,并且使查询更具有有解释性,以便于优化。2.对注意力机制做出的改进,将原有的标准注意机制进行简化,减少了内存的消耗。

1.基于anchor point的查询

因为原有的查询并没有物理意义,所以不容易优化,进而提出了具有物理意义的新查询,基于anchor point的查询。
annchor point
在这里插入图片描述
anchor point 分为两种,一种是网格anchor point,将anchor point确定为固定的网格像素点上。另一种是可学习的anchor point,可学习的anchor point以0-1均匀分布随机初始化。
在这里插入图片描述
从上表中可以看出,模型的性能与anchor point的种类关系不大,甚至不会影响模型的性能,
position encoding
位置编码函数采用的启发式 g s i n g_{sin} gsin函数外加两个线性层的小型MLP来进行调整位置编码。
多模查询
针对一个位置出现多个目标做出的改进,因为原有的查询仅仅只能同一个区域检测到一个目标,但是有些图像中多个目标会重叠在同一个区域,为了解决这个问题,该论文提出了多模查询,类似于一个anchor point有多个anchor,多个模式可以预测同一个anchor point周围区域的多个目标,文中模式个数设置为3种。由于平移不变性,所以所有的pattern是所有查询共享的。新的查询的设计使得模型的训练减少为DETR的十分之一,加速了模型的训练。

2. Row-Column Decouple Attention (RCDA)

RCDA为行列解耦注意机制,其功能是将一个二维的特征通过一维全局平均池化将关键特征分解为一维的行特征和一维的列特征,然后依次进行行注意和列注意。将二维特征解耦之后,会降低内存的消耗,并且效果达到了与DETR相同甚至超过了DETR的attention的效果。节省内存的分析:DETR的内存消耗成本主要是注意力权重图,因为RCDA的权重图是分成了两个,减小了一维,所以内存消耗要小的多,并且RCDA的主要内存消耗是权重和。


模型的训练

1.数据集的使用

本文使用的MS COCO数据集,并且在COCO2017数据集上进行预训练。

2.模型的初始化和训练

该模型使用了AdamW优化器进行损失的优化,并且将主干网络的学习率设置为 1 0 − 5 10^{-5} 105,其他的部分设置为 1 0 − 4 10^{-4} 104,并且使用权重下降,对权重进行优化。multi-head-attention的head个数设置为8.attention 特征通道设置为256,前馈网络的隐藏层通道设置为1024。锚点的数量设置为300,模式数为3,anchor point使用的是可学习的类型。编码器和解码器各位6层,这与DETR是相同的。分类损失使用的是focal loss。


实验结果与分析

该论文与其他类型目标检测模型进行对比,并且与同样是基于DETR改进的模型进行对比,取得了很好的效果。

1.消融实验

在这里插入图片描述
为了验证两种不同的anchor point的效果,该论文进行了grid anchor point和learned anchor point的消融实验,由上图可见,anchor point的种类对该模型的性能并没有很大的影响。

在这里插入图片描述
该论文使用的是基于anchor point改进的查询,并且为了检测同一区域的多个目标对每个anchor point的查询设置了多个模式。因此需要对anchor point的数量和模式数量进行消融实验,通过数据对比可见,300个anchor point和3模式的效果最好,当使用过多的anchor point的时候性能反而会下降。

在这里插入图片描述
本文对注意力机制做出了改进,目的是为了降低内存的开销,由上图可见,改进的attention机制对于大的feature map有很高的内存开销节省的效果,并且性能和DETR的标准attention相同甚至更好。

在这里插入图片描述
最后对各部分改进的综合性能比较,由上图可见各部分组件都会给模型带来一定性能的提升。

在这里插入图片描述
该论文也对不同模式所对应检测到的目标尺寸进行了可视化比较,模式a通常是大尺寸目标所聚集,模型b是小目标尺寸聚集,模式c既有大目标又存在小目标。

2.与其他模型进行对比

在这里插入图片描述
该论文不仅仅与同为DETR架构的模型进行对比,也和其他的当前主流的目标检测模型进行了对比。由上图可见,本论文的模型不需要随机访问内存,并且在训练epoch少的情况下也达到了近似甚至优于DETR的效果。

3.结论

该论文通过实验验证了改进的各模块的有效性,但是在小目标检测上面仍然效果稍微有些欠缺。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值