本文提出了一个深度均衡目标检测器(DEQDet),为Query based检测器提供了新思想,将目标检测器的decoder layer的refinement微调过程等价建模成一个不动点迭代。

本文介绍深度均衡目标检测算法DEQDet,发表在ICCV2023上。

论文链接:https://arxiv.org/abs/2308.09564

代码链接:https://github.com/MCG-NJU/DEQDet

目标检测是计算机视觉中的一个基础任务,从DETR开始,当前主流的基于Query的目标检测器通过将图片中的object instances表示为一系列的可学习Query。之后通过stack起来的多层不共享参数的解码器层对可学习Query进行微调(refinement),即通过Attention或者MLPMixer将采样的图像特征融合到Query中,最终得到稳定的object instances表示,这些表示可以通过FFN解码为object的类别和包围框信息。

虽然基于Query的目标检测范式取得了不错的结果,但是其设计范式中仍旧存在着一些问题:

  1. 参数冗余性:每一层decoder layer用不同的参数做着同样的事情,这其中肯定存在着极大的参数浪费以及过拟合风险,那参数的最小极限在什么地方呢?
  2. 解码器深度:DETR的实验中也表明,增加更多decoder层数对于性能是提升的,而现在常用的的6层结构,还远远没有表现出饱和的迹象,那这个性能上限在什么地方呢?

为了回答或者解决上面提到的两个问题,我们首先将现有的基于Query的目标检测器建模为一个FFN的视角,基于此,我们可以拓展出一个RNN视角的目标检测器,即通过weight tying策略将Decoder layer每一层共享,将FFN的目标检测器转化为一个RNN的目标检测器RNNDet,之后我们将RNN的微调(refinement)层数通过DEQ模型拓展到一个极端情况得到DEQDet。这和光流领域的RAFT到DEQ-flow有很多相似之处,但是目标检测问题具有的高维语义理解特性以及object 的稀疏特性使得两者实际存在很大差异。

方法介绍

AdaMixer Revisit

DEQDet_人工智能

DEQDet基于AdaMixer,首先回顾一下AdaMixer的结构。如图所示,AdaMixer中的Query包含content向量和position向量;decoder layer包含一个多头注意力层(MHSA),3D 特征采样层,自适应采样混合层(Adapative mixing)和多个用于特征变换的FFN。Query首先进入多头注意力层,进行Query之间的信息交互,其中位置编码由positon向量的绝对位置编码和基于iof的相对位置编码构成;更新之后的content向量预测相对于position向量的offsets,这些offset和positon向量通过positional transformation转化成采样点,通过3D 特征采样层在多尺度特征空间进行采样;采样得到的特征和更新后的Query进入自适应采样混合层进行空间信息融合(spatial mixing)和特征信息融合(content mixing)。融合后的content经过FFN预测残差更新position向量。AdaMixer使用多层相同结构的decoder layer更新Query,最终通过FFN将content向量解码成类别分布,通过解码position向量得到物体的包围框。FFNDet 检测器范式

DEQDet_建模_02

我们首先将FFNDet的第一层和其他层独立出来,称为初始化层(initialization layer),进行图片内容无关的可学习Query到图片内容强相关的Query的初始化;将之后的所有层通过参数共享(weight tying)转化为一个RNN形式的微调层(refinement layer)。数学形式如下所示:

DEQDet_建模_03

DEQDet检测器范式 

DEQDet_目标检测_04

DEQDet的训练算法RNNDet的训练和主流基于Query的目标检测器训练过程相同。DEQDet的训练算法由RAP(微调感知扰动)和RAG(微调感知梯度)两部分构成。

DEQDet_建模_05

和DEQ-flow一样,我们也同样采取了稀疏的deep supervision来进行监督,其中监督集合如下方公式构建,其中m和C都是常数超参数: 

DEQDet_建模_06

RAP(微调感知扰动) 通过给不动点迭代过程中用refinement layer的雅可比矩阵投影正太分布的噪声来模拟不动点迭代中的扰动效果,噪声通过多步的雅可比矩阵投影,在输入层面上也提供了微调感知的效果。实际中,给位置向量(box)detach是一个常见操作,这样如果求雅可比矩阵就会给出错误的结果,我们实际上选择了,将加噪的Query通过一个refinement layer来实现这个目的。 

实验介绍

RNNDet 和 DEQDet 实验

其中NF(num of fucntion)表示总共的有效decoder layer。

DEQDet_人工智能_07

可以看到:

  1. RNNDet相比于FFNDet(原版的adamixer)效果很不小的提升,同时参数仅为两层,这表明现有的目标检测器存在很大的参数冗余,如果没有很好的训练策略,更多的参数量会导致overfitting的风险 

DEQDet_迭代_08

DEQDet_人工智能_09

3. 得益于DEQDet的训练策略,DEQDet可以轻松超过RNNDet和FFNDet(原本adamixer的结构)

和其他检测器的对比

我们的实验证明了 DEQDet收敛速度更快、内存消耗更少、效果更好。结果优于基线模型(AdaMixer)。特别是,在 ResNet50 backbone和 300 queries 设定下,DEQDet在 COCO数据集 上实现了 49.5 mAP 和 33.0 AP small 24个epoch)下的检测效果。

DEQDet_人工智能_10

DEQDet_迭代_11

总结

在这篇文章中,我们提出了一个深度均衡目标检测器(DEQDet),为Query based检测器提供了新思想,将目标检测器的decoder layer的refinement微调过程等价建模成一个不动点迭代。DEQDet的训练中,我们发现基于简单估计(JFB)的梯度求解没有感知微调过程的能力,造成了目标检测器的性能下降,针对此我们提出了RAG(微调感知梯度)和RAP(微调感知扰动)来弥补基于简单估计的梯度求解缺乏微调感知的问题。我们的实验证明了 DEQDet收敛速度更快、内存消耗更少、效果更好。结果优于基线模型(AdaMixer)。特别是,在 ResNet50 backbone和 300 queries 设定下,DEQDet在 COCO数据集 上实现了 49.5 mAP 和 33.0 AP small 24个epoch)下的检测效果。