Shifting More Attention to Visual Backbone: Query-modulated Refinement Networks for End-to-End Visual Grounding
论文链接:https://arxiv.org/abs/2203.15442
代码链接:https://github.com/z-w-wang/QRNet
Motivation
视觉定位(visual grounding or referring expression comprehension)任务的目标是在查询文本(Query Expression)和特定区域之间建立细粒度的联系,但是目前的方法主要使用查询无关的视觉骨干网抽取视觉特征,导致预训练的视觉编码器抽取到的特征和实际多模态推理需要的特征不一致,如论文的Fig. 1a所示。所以作者提出在视觉骨干网训练的同时注入文本信息(Fig. 1b),让网络能够动态调整查询相关的区域,进而提升视觉定位性能。
核心思路:Dynamic Layer
本文最核心的设计是把1d的文本特征 p l c ∈ R B × D q p_l^c\in \mathbb{R}^{B\times D_q} plc∈RB×Dq融入到视觉特征 F ∈ R B × H × W × D i n F\in\mathbb{R}^{B\times H \times W\times D_{in}} F∈RB×H×W×Din中,并且要根据文本特征的查询内容动态调整视觉特征的关注区域,所以作者设计了一个动态线性层,具体思路如下:
线性映射,扩充 p l c p_l^c plc的隐层维度
使用线性映射的操作,将 p l c p_l^c plc的隐层维度由原来的 D q D_q Dq映射到 ( D i n + 1 ) × K (D_{in}+1)\times K (Din+1)×K,为后续reshape操作做准备
reshape
将文本特征由1d转为2d得到系数矩阵 U ∈ R ( D i n + 1 ) × K U\in \mathbb{R}^{(D_{in}+1)\times K} U∈R(Din+1)×K,转换的同时确定维度与 S S S对应。
生成静态可学习矩阵 S S S,利用其选择系数矩阵中的关键信息
S ∈ R K × D o u t S\in \mathbb{R}^{K\times D_{out}} S∈RK×Dout
生成参数矩阵
M l = U S M_l=US Ml=US
分割参数矩阵得到权重 W l W_l Wl和偏置 b l b_l bl
{ W l , b l } = s p l i t ( M l ) \{W_l,b_l\}=split(M_l) {Wl,bl}=split(Ml)
利用从文本特征得到的关键信息的权重和偏置选择视觉特征中的查询相关的内容
o u t p u t = F W l + b l , o u t p u t ∈ R B × H × W × D o u t output=F W_l+b_l,output\in\mathbb{R}^{B\times H \times W\times D_{out}} output=FWl+bl,output∈RB×H×W×Dout
可以看到,动态线性层只改变视觉特征的隐层维度,所以就可以利用这一点结合通道注意力机制和空间注意力机制对原始的图像特征进行动态赋权,实现动机中的目标。
上述内容的代码细节可以参看代码链接中的dynamicLayer部分,这里只对伪代码做一下展示