ECCV 2020 《Improving One-stage Visual Grounding by Recursive Sub-query Construction》论文笔记

简介

本文出自罗彻斯特大学+腾讯AI Lab
下载链接

动机

现有的visual grounding方法可以分为两类:一阶段、两阶段。本文面向一阶段方法,提升现有方法处理长(long)、复杂(complex)query的能力。本质是:本文提出了一个可以用在一阶段visual grounding模型中的query modeling方法(两阶段模型中有很多query modeling方法,但是由于一些限制,不能直接用于一阶段模型)。

贡献

  1. 对一阶段的visual grounding方法进行了改善,提升了其处理长且复杂的query的能力;
  2. 提出了一个递归的子查询构建网络,通过递归来降低referring ambiguity;
  3. 实验结果好,在不同数据集上提升5-12个百分点。

方法

本文方法的整体架构如下图所示,共包含两个核心模块:子查询学习器(Sub-query Learner)和子查询调制器(Sub-query Modulation)。

子查询学习器负责学习Query中每个word的注意力 α n ( k ) \alpha_n^{(k)} αn(k),通过下式得到:
α n ( k ) = softmax [ W a 1 ( k ) tanh ( W a 0 ( k ) h n ( k ) ( v ‾ ( k − 1 ) ⊙ s n ) + b a 0 ( k ) ) + b a 1 ( k ) ) ] \alpha_n^{(k)}=\text{softmax}[W_{a1}^{(k)} \text{tanh}(W_{a0}^{(k)} h_{n}^{(k)} (\overline{v}^{(k-1)} \odot s_n ) + b_{a0}^{(k)} ) + b_{a1}^{(k)} )] αn(k)=softmax[Wa1(k)tanh(Wa0(k)hn(k)(v(k1)sn)+ba0(k))+ba1(k))]
可以看出,学习注意力的过程中,同时考虑了 { s n } n = 1 N \{s_n\}_{n=1}^{N} {sn}n=1N(query word feature,N代表word个数)、 v ‾ ( k − 1 ) \overline{v}^{(k-1)} v(k1)(text-conditional visual feature)和 { h n ( k ) } n = 1 N \{h_{n}^{(k)}\}_{n=1}^{N} {hn(k)}n=1N(history vector)。其中:

  • { s n } n = 1 N \{s_n\}_{n=1}^{N} {sn}n=1N没什么好说的,就是query中每个单词的特征;
  • v ‾ ( k − 1 ) \overline{v}^{(k-1)} v(k1)是上一轮得到的text-conditional visual feature的均值池化( H × W × C → 1 × 1 × C H \times W \times C \rightarrow 1 \times 1 \times C H×W×C1×1×C);
  • { h n ( k ) } n = 1 N \{h_{n}^{(k)}\}_{n=1}^{N} {hn(k)}n=1N表示每个word在以前的迭代过程中被“访问”的概率,通过 h ( k ) = 1 − min ( ∑ i = 1 k − 1 α ( i ) , 1 ) \bf{h}^{(k)} = \textbf{1} - \text{min}(\sum_{i=1}^{k-1}\bf{\alpha}^{(i)}, \bf{1}) h(k)=1min(i=1k1α(i),1)计算。

对于这部分,作者添加了两个loss,如下所示:

  • L d i v = ∣ ∣ A T A ⊙ ( 1 − I ) ∣ ∣ F 2 L_{div}=|| A^TA \odot ({\bf 1}-I) ||^2_F Ldiv=ATA(1I)F2 A A A K × N K \times N K×N的矩阵,由每轮迭代得到的attention拼接而成, K K K是迭代轮数, N N N是word个数。此loss用于控制每一轮中,不应该focus在相同的单词上,也就是强制提升每轮迭代关注的单词的差异性。
  • L c o v e r = ∣ ∣ 1 − min ( ∑ i = 1 K α ( i ) , 1 ) ∣ ∣ 1 L_{cover} = || \bf1-\text{min}(\sum_{i=1}^K {\bf \alpha}^{(i)}, \bf 1) ||_1 Lcover=1min(i=1Kα(i),1)1,此loss用于提升word的查全性。

子查询调制器就是基于子查询学习器得到的注意力,对text-conditional visual feature进行refine,增强referred object的特征,并压制其他object的特征。共分为三步:

  1. 基于子查询学习器得到的 α n ( k ) \alpha_n^{(k)} αn(k) s n s_n sn添加attention,得到 q ( k ) = ∑ n = 1 N α n ( k ) s n q^{(k)}=\sum_{n=1}^N\alpha_n^{(k)}s_n q(k)=n=1Nαn(k)sn
  2. 基于 q ( k ) q^{(k)} q(k),分别使用两个MLPs得到尺度向量 γ ( k ) = tanh ( W γ ( k ) q ( k ) + b γ ( k ) ) \gamma^{(k)}=\text{tanh}(W_\gamma^{(k)}q^{(k)} + b_\gamma^{(k)}) γ(k)=tanh(Wγ(k)q(k)+bγ(k))和平移向量 β ( k ) = tanh ( W β ( k ) q ( k ) + b β ( k ) ) \beta^{(k)}=\text{tanh}(W_\beta^{(k)}q^{(k)} + b_\beta^{(k)}) β(k)=tanh(Wβ(k)q(k)+bβ(k))
  3. 基于上一轮迭代得到的text-conditional visual feature v ( k − 1 ) v^{(k-1)} v(k1)、尺度向量 γ ( k ) \gamma^{(k)} γ(k)和平移向量 β ( k ) \beta^{(k)} β(k),计算得到此轮的text-conditional visual feature v ( k ) v^{(k)} v(k),具体公式为:
    v ( k ) ( i , j ) = f 2 { R e L U [ f 1 ( v ( k − 1 ) ( i , j ) ) ⊙ γ ( k ) + β ( k ) ] + v ( k − 1 ) ( i , j ) } v^{(k)}(i,j)=f_2\{ ReLU[f_1(v^{(k-1)}(i,j)) \odot \gamma^{(k)} + \beta^{(k)}] +v^{(k-1)}(i,j) \} v(k)(i,j)=f2{ReLU[f1(v(k1)(i,j))γ(k)+β(k)]+v(k1)(i,j)}
    上式中, f 1 , f 2 f_1, f_2 f1,f2是两个可学习的mapping层,具体结构在上面的整体框架图中有展示, f 1 = 1 × 1  conv + instance normalization layer f_1=1 \times 1 \space \text{conv} + \text{instance normalization layer} f1=1×1 conv+instance normalization layer f 2 = 3 × 3  conv + BN + ReLU f_2=3 \times 3 \space \text{conv} + \text{BN} + \text{ReLU} f2=3×3 conv+BN+ReLU

实验

在RefCOCO、RefCOCO+和RefCOCOg上的实验结果:

在ReferItGame和Flickr30K Entities上的实验结果:

关于query modeling的消融实验:

一些可视化的结果:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值