DQnet: Cross-Model Detail Querying for Camouflaged Object Detection
DQnet:伪装目标检测中的跨模型细节查询
论文地址:https://arxiv.org/abs/2212.08296
这篇文章提出了一个交叉模型框架(CNN-Transformer并行)来检测伪装目标
出发点还是:CNN局部感知,感受野受限 ,Transformer全局信息丰富但细节信息不足。希望结合二者优势
这个思路目前做的挺多的,不算是很新颖,很多图像分割方向的都有这样做的
最主要的创新还是作者提出了一个 Relation-Based Querying (RBQ) module
下面详细解释下:
整体框架如图所示,这个图画的不是很清楚
整体框架分为两个分支左边是ViT,也就是Transformer分支,右边的ResNet,也就是CNN分支
关于Transformer和CNN的优缺点,作者给出的说法是:
Transformer将图像块投影到向量中,导致局部细节的丢失。同时Transformer编码器能够获得准确的全局感知信息。
CNN中卷积核在具有重叠的特征图上滑动,这保留了细粒度的局部细节,但缺乏获得连续语义的能力。
将这两者结合在一起,使得特征提取器不仅可以继承全局信息,还可以弥补ViT的缺陷(缺乏空间归纳偏置)
所以关键问题就是如何结合CNN和Transformer的特征
作者说他们设计了一种多尺度细节查询机制(multi-scale detail querying mechanism),以交互的方式消除这两种特征之间的不一致。
具体做法就是,首先讲ResNet提取的特征与Transformer做对齐,就是图中右侧的Alignment
具体地说,特征图首先需要通过最大池化下采样来将空间尺度与ViT patch embeddings对齐。然后使用1x1卷积来完成通道维度对齐,然后使用LayerNorm层来正则化特征。
对齐之后的特征送入RBQ模块,从RBQ出来的特征,再用同样的方法去与ResNet对齐, 再送入ResNet下一层继续运算
这里注意一个问题
ViT的大小是不变的,ResNet则是金字塔结构的(也就是每一层尺寸不一),所以确定在哪个位置进行对齐是一个重要的问题。
本文所提出的对齐机制是在ResNet四个阶段每个阶段的开始。
下面说下RBQ Relation-Based Querying.
作者说,传统方法,直接使用逐元素相加来融合对齐的特征。然而他们认为,在COD场景中,低级细节和高级语义的直接融合可能会导致细粒度的细节很容易被周围的上下文信息淹没的现象。
所以他们采用的方法是:通过计算两种特征的逐像素关系并将基于关系的结果添加到原始融合中,来弥合跨模型的语义差距。
如何计算关系呢,作者说他们使用基window-based cross attention来推理空间相邻元素之间的逐像素关系。
具体来说就是ResNet的特征记作Y
,ViT的特征记作Z
。然后Q由Z
产生,K和V由Y
产生
下面这个图画的很清楚,得到的QKV就做正常的多头自注意力就好了,然后每一层的输出是由这一层的ViT特征+ResNet特征+RBQ的结果得到的。做法还是蛮简单的。
最后说下loss
主要还是用的wBCE Loss和wIoU
作者加了个SAL Significance Aware Loss
感觉说的不是很清楚,贴个图看下吧。