Integral Migrating Pre-trained Transformer Encoder-decoders for Visual Object Detection(imTED)

Integral Migrating Pre-trained Transformer Encoder-decoders for Visual Object Detection(imTED)_第1张图片
Arxiv上一篇基于MAE 用于目标检测的文章,是在查找小样本文章的时候发现的,因为与自己的idea有点相似,所以仔细读了一遍,代码还未开源。其中有个作者Peng Zhiliang ,不知道是不是复现MAE的大佬本佬,整篇论文读下来还是比较容易理解的,但是感觉和小样本有关的部分很少,只是一个附带点,反而大量篇幅是在讨论如何将MAE整体迁移到目标检测领域,个人觉得可能是sota的结果不太好,所以加了小样本的部分。

论文开篇明义,以参数初始化为切入点,提到现代检测器利用视觉VIT作为backbone,但检测的其它组成部分例如检测头、FPN等还需要随机初始化,阻碍了检测器和预训练模型的一致性。为此提出了两点改进,

  1. 将预训练transformer decoder 嵌入到了检测头里边
  2. 从特征提取路径里边移除了特征金字塔网络FPN,同时利用VIT注意力机制提供的自适应感受野解决多尺度目标的问题。

Integral Migrating Pre-trained Transformer Encoder-decoders for Visual Object Detection(imTED)_第2张图片
(a) 部分迁移方式,通常encoder部分作为backbone,再增加检测部分(随机初始化)
(b) 作者方式,整体迁移,对增加的线性层进行随机初始化。
Integral Migrating Pre-trained Transformer Encoder-decoders for Visual Object Detection(imTED)_第3张图片
具体实现的网络如上图所示,encoder输出后采用一个RPN网络产生候选框,decoder部分作为检测头,增加了全连接输出层用于分类和定位。对于backbone部分的encoder,除了修改positional embeeding已匹配输入图尺寸之外,没有修改其它任何地方。encoder输出一个单一尺度的特征映射,它是相对于输入图像进行因子为16的下采样产生的。同时,为了产生不同规模的特征映射,通过放置4个修改分辨率的模块对VIT产生的 中间特征映射进行上采样或者下采样,等同于把一个transformer blocks分割成4块,也就是间隔 d / 4 d/4 d/4个transformer blocks。这样就产生金字塔形状的特征映射,为RPN做准备。

RPN正如图上所示,使用encoder产生的特征金字塔为输入,产生5个不同大小的锚框,训练参数与Faster RCNN保持一致。

检测头由decoder与两个线性全连接层组成。对于每一个区域候选框,使用ROI-Align操作从backbone(encoder)提取的特征映射中提取每一个区域候选的特征。接着区域候选的特征通过与position embeeding 求和的方式嵌入位置信息。之后,就将其输入到decoder中,decoder输出到linear 进行目标类别的预测和位置偏移量的预测。

Integral Migrating Pre-trained Transformer Encoder-decoders for Visual Object Detection(imTED)_第4张图片
上边这张图,作者从模型优化的角度讲解了一下随机初始化。对比了隐藏层和输出层的优化不同,隐藏层有很多非线性操作,训练一个深度网络是一个非凸优化问题,在下游任务中,大量隐藏层参数需要预训练模型进行初始化,这样才能收敛到更强的局部最小值。而本文的输出层与隐藏层不同,就是一个拥有全局最小值的简单线性函数,即使使用随机初始化,损失函数可以优化到全局最小值。

你可能感兴趣的:(计算机视觉,机器学习,transformer,目标检测,深度学习)