作者
Abstract
An LBYL (‘Look Before You Leap’) Network is proposed for end-to-end trainable one-stage visual grounding. The idea behind LBYL-Net is intuitive and straightforward: we follow a language’s description to localize the target object based on its relative spatial relation to‘Landmarks’, which is characterized by some spatial positional words and some descriptive words about the object. The core of our LBYL-Net is a landmark feature convolution module that transmits the visual features with the guidance of linguistic description along with different directions. Consequently, such a module encodes the relative spatial positional relations between the current object and its context. Then we combine the contextual information from the landmark feature convolution module with the target’s visual features for grounding. To make this landmark feature convolution light-weight, we introduce a dynamic programming algorithm (termed dynamic max pooling) with low complexity to extract the landmark feature. Thanks to the landmark feature convolution module, we mimic the human behavior of‘Look Before You Leap’ to design an LBYL-Net, which takes full consideration of contextual information. Extensive experiments show our method’s effectiveness in four grounding datasets. Specifically, our LBYL-Net out-performs all state-of-the-art two-stage and one-stage methods on ReferitGame. On RefCOCO and RefCOCO+, Our LBYL-Net also achieves comparable results or even better results than existing one-stage methods. Code is available at https://github.com/svip-lab/LBYLNet.
一个LBYL (’ Look Before You Leap ')网络被提出用于端到端可训练的单阶段视觉接地。LBYL-Net背后的思想是直观和直接的:我们遵循一种语言的描述,根据目标对象与“地标”的相对空间关系来定位目标对象,“地标”的特征是一些空间位置词和一些关于对象的描述性词。我们的LBYL-Net的核心是一个标志性的特征卷积模块,它在语言描述的引导下,将视觉特征沿不同方向进行传输。因此,该模块编码当前对象与其上下文之间的相对空间位置关系。然后将地标特征卷积模块中的背景信息与目标的视觉特征相结合进行接地。为了使该路标特征卷积轻量化,我们引入了一种低复杂度的动态规划算法(称为动态最大池算法)来提取路标特征。借助标志性的特征卷积模块,我们模拟了“look Before You Leap”的人类行为,设计了一个充分考虑上下文信息的LBYL-Net。在4个接地数据集上的大量实验表明了该方法的有效性。具体来说,我们的LBYL-Net在ReferitGame中优于所有最先进的两阶段和一阶段方法。在RefCOCO和RefCOCO+上,我们的LBYL-Net也实现了可比的结果,甚至比现有的单阶段方法更好的结果。代码可以在https://github.com/svip-lab/LBYLNet上找到。
Introduction
人类通常通过描述物体与其他实体的关系来指代图像中的物体。“桌上的笔记本电脑”,理解它们之间的关系对于理解参考性表达至关重要。视觉接地是为了定位引用表达式所描述的实体,它本质上需要上下文信息来接地目标。通过考虑对象的关系,最近的一些研究取得了很有希望的结果[44,24,9,43]。特别是,这些方法通常利用两阶段范式,首先提取区域提议作为候选,然后将区域表达式对作为度量学习的一种方式进行排序。
两阶段方法虽然有效,但存在以下缺陷:(1)两阶段方法时间复杂度大,影响了方法的实时性;(2)由于只考虑预定义类别中的物体,可能无法充分利用整个场景中的语境线索。在单阶段检测成功的激励下[28,19],基于单阶段的视觉接地获得了极大的兴趣,它通过同时检测和匹配范式简化了流水线,加速了推理[39,29]。然而,这些基于检测的单阶段方法仍然可以独立地对网格特征进行定位。整个场景的语境信息,特别是物体之间的关系,还没有被深入研究,不如两阶段的场景。
从这个角度来看,在一个阶段的视觉基础上启用关系建模是理想的,因为对象需要感知语言中提到的关系实体来定位自己,例如。“上面有猫头鹰的椅子”。我们通过引入地标特征Landmark Features和地标特征卷积Landmark Feature Convolution的概念,使网格特征能够捕获丰富的上下文线索,从而更好地进行定位。
首先,在我们的现实生活中,我们通常通过一个容易注意到的建筑来判断我们的位置或其他建筑的位置,这被称为地标。同样,在视觉接地的图像域中,地标可以看作是对目标定位有帮助的位置。图1显示了给定查询语言的图像中地标的可视化。这些地标可能落在背景上,其他物体或物体本身,只要它们有有用的语义线索。该网络可以从这些地标中提取包含全局上下文信息的地标特征。为了充分整合上下文信息以提高定位,这些地标特征从不同方向传播到目标对象,通过一种高效的动态规划算法termedDynamic Max Pooling来描述相对位置。通过标准的卷积运算聚合地标特征,网格特征具有(i)全局接收域(ii)方向感知功能。我们称整个过程为地标特征卷积。
考虑到长期的背景,我们提出了一种新颖的单阶段视觉基础框架。我们的网络首先采用特征金字塔网络(FPN)[15]提取不同尺度下的目标视觉特征,该方法的有效性得到了较好的目标定位。然后利用地标特征卷积从不同方向提取对象的上下文信息,以便更好地描述表达式中提到的对象之间的关系。由于我们在视觉基础上模仿了人类的“三思而后行”行为,我们将我们的方法称为LBYL-Net。
我们的主要贡献总结如下:
- 我们提出了一种基于LBYL-Net的单级视觉接地方法,该方法结合了所述对象的视觉特征以及不同对象之间空间关系的地标特征进行目标定位;
- 提出了一种具有全局接收域但不引入额外参数和复杂度的地标特征卷积。我们展示了它相对于相关卷积模块的优越性。扩张卷积[41],变形卷积[4]和非局部模块[34]。
- 在4个接地数据集上进行了大量的实验,结果表明了该方法的有效性和有效性。特别是,我们的方法在ReferitGame上获得了最先进的性能。
Related Work
Two-Stage Visual Grounding.
可能是有证据表明,感兴趣的区域可以提供更好的个体实体本地化,并容易建立它们的关系联系,两阶段已成为一段时间以来的事实方法。通常,不同的方法在表示上下文的方式上是不同的。Maoet al.[23]和Huet al.[10]使用整个图像作为全局上下文,而Y uet al.[44]直接从附近的物体中提取视觉特征作为建模视觉差异的一种方式,表明关注物体之间的关系可以获得更好的结果。将[24,9]中的上下文作为未标注对象的弱监督信号,采用多实例学习[7],最大限度地提高所有对象对的联合似然。然而,上面的建模可能会将上下文对象的数量简化为一个固定的大小,例如,一个对象作为上下文信息。为此,Zhanget al.[47]利用变分贝叶斯框架,在所有对象上生成一个作为上下文信息的注意图来近似组合上下文配置。对于更详细的视觉语言对齐,注意机制也被广泛应用于分割语言以匹配目标或上下文对象[5,43,48]。与它们不同的是,我们认为情境可以在整个场景中任意呈现,并将它们完全整合成一个单阶段框架。
One-Stage Visual Grounding.
在使用一级目标检测器之前,已经有几种方法尝试直接从整个图像中还原出边界框。然而,这些框架经常遭受对象回收率较低的问题,这使得它们低于两阶段的对应框架。采用基于注意的方法增强目标[8]的局部特征。此外,Y eet al.[40]使用子窗口搜索来找到能量函数最小的位置。受著名的单阶段检测器(如YOLO [28], SSD[19])的鼓励,许多最近的单阶段方法都将提议视为特征图中的网格,并直接从负责检测的网格特征回归边界盒[39,29]。虽然与直接从整个图像回归对象相比有很大的改进,但这种进步可能归功于网格上的鲁棒局部特征表示。另一个改进单阶段视觉基础的方法是应用复杂的语言建模,例如将较长的短语分解为多个部分[38]。在这项工作中,我们没有使用复杂的技术来进行语言建模。我们表明,只要简单地考虑场景中的上下文,我们的网络就可以显示竞争结果。
Landmark Feature Convolution
我们首先总结了最常见的卷积,将其归类为基于点的抽样策略,并讨论了它们的关系、优势和局限性。然后,我们介绍了我们提出的基于区域的采样策略,然后是里程碑特征卷积及其制定和实现
3.1. Point-based Sampling
给定输入特征映射
X
=
{
x
v
:
v
∈
V
}
X = \{x_v: v∈V\}
X={xv:v∈V},节点特征
x
v
∈
R
c
x_v∈\R^c
xv∈Rc,基于点的卷积学习表示向量
y
v
y_v
yv通过:
其中
v
∈
V
v∈V
v∈V表示节点的位置,
N
(
v
)
\mathcal{N }(v)
N(v)是节点
v
v
v的邻域,
W
(
u
,
v
)
W_{(u,v)}
W(u,v)参数化了节点
u
u
u和节点
v
v
v的空间关系。在图像特征映射的上下文中,节点与位置相同,因此我们可以交替使用这两种符号。不同的卷积有不同的采样策略
N
(
v
)
\mathcal{N}(v)
N(v),也就是说,我们如何对卷积的节点进行采样来表示输出向量
y
v
y_v
yv。
Standard Convolution.
在3 × 3卷积核中,使用正则网格窗口
R
\mathcal{R}
R,可以表示为偏移列表。然后取样邻居N (v),或者我们叫感受域,等于
{
v
+
o
:
∀
o
∈
R
}
\{v + o:∀o∈\mathcal{R}\}
{v+o:∀o∈R},如图2(a)所示。值得注意的是,参数
W
W
W不是采样地点之间共享,这样节点
v
v
v和其邻居节点之间的空间关系
u
∈
N
(
v
)
u∈\mathcal{N}(v)
u∈N(v)可以显式地捕获。这个属性使卷积能够检测有意义的模式,如线段和角。理论上,接受域作为一个卷积层堆栈增长,允许深层CNN执行各种高级语义任务,如对象识别、人脸检测和语义分割。然而,有效接收域往往只占整个理论接收域的一小部分,并收敛于高斯分布,使得大型物体的识别和远程建模仍然是一个挑战。
Dilated Convolution
对于long-range上下文模型,一种解决方案是增加采样点的数量以扩大接受域,如将核大小从3 × 3变形为5 × 5。然而,这大大提高了参数的数量,并带来了过度拟合的风险。为此,将3 × 3核的采样窗口扩展为5 × 5网格窗口,得到了扩张卷积(本例中扩张为2)[41],如图2 (b)所示。
通过在不引入额外参数的情况下扩大接受域,扩张卷积已成为聚合多尺度上下文的事实上的技术,从而推进了各种研究[2,3]。然而,由于采样位置的稀疏拓扑结构,扩张卷积会受到网格伪影的影响[42,35]。在视觉基础上,这可能会阻碍对象的关系建模,因为它们的空间位置可以是任意的。
Deformable Convolution.
由于采样位置的固定拓扑结构,上述CNN固有地局限于建模大型的未知变换[4]。可变形卷积通过额外的卷积层[4]为规则网格添加可学习的2D偏移,从而缓解了这个问题。即,将
N
(
v
)
=
{
v
+
o
:
∀
o
∈
R
}
\mathcal{N}(v) = \{v + o:∀o∈\mathcal{R}\}
N(v)={v+o:∀o∈R}转化为
N
(
v
)
=
{
v
+
o
+
∆
o
:
∀
o
∈
R
}
\mathcal{N}(v) =\{v + o +∆o:∀o∈\mathcal{R}\}
N(v)={v+o+∆o:∀o∈R},其中
∆
o
∆o
∆o是一个偏移量。然后,通过双线性插值对变换后的
N
(
v
)
\mathcal{N}(v)
N(v) 进行节点特征采样。图示如图2 ©所示。
虽然可变形卷积通过将核变形为物体内部的几何形状来识别物体,但我们很少知道这种变形可以推广到建模物体之间的关系,特别是在视觉背景下。一种可能是,当在很长的距离上建模关系时,它可能会失败,因为预期学习的偏移量会受到其生产者(即标准CNN)的接收域的限制。
Graph Convolution.
对于任意一对有边的点,我们可以在节点
v
v
v上应用图卷积来获得一个全局接受域。例如,Non-Local模块[34]update
y
v
y_v
yv by
其中
f
(
x
v
,
x
u
)
f (x_v, x_u)
f(xv,xu)是
x
v
、
x
u
x_v、x_u
xv、xu之间的亲和关系,
W
W
W为所有位置共享。由于
W
W
W是共享的,表示空间关系的能力依赖于
f
(
x
v
,
x
u
)
f (x_v, x_u)
f(xv,xu),这就要求
V
V
V有合适的位置嵌入。虽然可行,但如何有效地表示相对位置嵌入还不清楚。
3.2. Region-based Sampling
为了克服基于点的卷积的网格效应和接受域限制,我们提出了一种基于区域的卷积采样策略。即在节点
v
v
v 上设置一些轴,将整个feature map分割成几个子区域,通过聚合每个区域的表示来更新
v
v
v的表示。形式上,我们将节点
v
v
v的表示更新为
其中
P
v
\mathcal{P}_v
Pv表示基于节点
v
v
v的输入特征图
V
V
V上的配分函数
P
\mathcal{P}
P,
G
G
G是一组与节点
v
v
v具有相似空间关系的节点,
h
G
h_G
hG由
G
G
G得到,我们称其为地标特征landmark feature。有各种分区
P
\mathcal{P}
P,如图3所示。对于图3 (a)中的
P
=
2
\mathcal{P}=2
P=2,节点按纵轴分成两组,一组在节点
v
v
v的左边,另一组在节点
v
v
v的右边。通过不同的参数化两组,卷积可以专门用于检测水平空间关系,从而帮助目标接地。即给定“人在车右侧”的表达式,将提高节点在“车右侧”的可能性。
为了提取地标特征
h
G
h_G
hG,我们采用了一个简单的置换不变函数,这与图分类中获取整个图的表示具有相同的精神[13,36]。我们使用Max Pooling作为读出函数,遵循landmark的概念(即最显著的位置)。为了使地标特征更具描述性和空间感知性,我们还可以使用MLP或CNN来嵌入
h
G
h_G
hG。我们发现一个额外的单层MLP就足够了。
h
G
h_G
hG的计算方法如下:
其中 W G W_G WG是嵌入参数,不同组之间不共享。由于WG独有每个pariticular组,我们不需要位置嵌入一次选择一个合适的分区P .本文我们经验采用P = 4建模最常见的关系(即“left, right, on, below”),如图3所示(b)。因为我们的模块更新节点的表示 v v v地标特性 { h G , G ∈ P v } \{h_G,G∈\mathcal{P}_v\} {hG,G∈Pv},我们称之为Landmark Feature Convolution。
Implementation details.
我们密切关注我们提出的模块的效率。最大的瓶颈是,对于
P
=
k
\mathcal{P}=k
P=k,我们需要执行
k
k
k次Max Pooling来更新
{
y
v
:
v
∈
V
}
\{y_v: v∈V\}
{yv:v∈V},注意到相邻节点的landmark feature有重叠的子区域,通过动态规划可以减少计算量。假设输入是嵌入的feature map
X
G
\mathcal{X}_G
XG,我们展示了如何用算法1中称为Dynamic Max Pooling的几行来计算图3 (b)中突出显示的组
H
G
=
{
h
v
:
∀
v
∈
V
}
\mathcal{H}_G = \{h_v:∀v∈V\}
HG={hv:∀v∈V}。其他组或分区P的计算可以直接实现。我们还使用CUDA对其进行加速,因为每个通道都可以并行运行,这将我们的算法与那些在feature map上运行RNNs的算法区分开来[1,18]。
总的来说,我们的算法对于节点数具有线性时空复杂度,即
Θ
(
k
∣
∣
V
∣
∣
)
Θ(k||V ||)
Θ(k∣∣V∣∣),其中k表示分区数。虽然我们的实现具有顺序操作,但通过仿真,我们的实现证明了其优于图卷积层,例如时间空间复杂度为
Θ
(
∣
∣
V
∣
∣
2
)
Θ(||V||^2)
Θ(∣∣V∣∣2)的Non-Local层[34]或自注意层[31],如图4所示。
LBYL-Net
基于路标特征卷积,我们提出了LBYL-Net。LBYL-Net由四个组件组成:视觉和语言编码器、融合模块、地标特征卷积模块和定位模块,分别在下面介绍。
Visual and language encoder.
在图5中,LBYL-Net首先通过骨干网转发给定的图像,在骨干网中,我们使用基于DarkNet-53的Feature Pyramid network (FPN)[15]从不同的尺度提取特征。我们选择FPN从P3到P5级的输出作为视觉特征v∈Rcd×hd×wd,其中d = 3、4、5表示第d级。之后,我们利用1 × 1卷积,得到具有相同通道
c
v
c_v
cv的特征图,并将坐标特征与8维位置嵌入向量串联起来,与前面的工作相同[39,38],从而生成融合的特征图
X
d
∈
R
(
c
)
×
h
d
×
w
d
\mathcal{X}_d∈\R^{(c)×h_d×w_d}
Xd∈R(c)×hd×wd,其中
c
=
c
v
+
8
c = c_v + 8
c=cv+8。
对于语言编码器,我们首先对给定语言表达式的每个单词进行一维
c
l
c_l
cl编码,用一个one-hot embedding,然后使用Bi-LSTM提取语言特征
L
∈
R
c
l
L∈\R^{c_l}
L∈Rcl,对整个表达式进行编码。我们还使用BERT[6]代替LSTM来增强语言表示,folow[39,38]。
Fusion Module
鉴于生成的语言特征,我们的目标是获得以语言为条件的视觉信息的最大响应。因此,我们通过一个FiLM模块[26]和一个1 × 1的卷积来融合视觉和语言特征。FiLM在语言l的指导下对视觉特征
m
a
t
h
c
a
l
X
d
mathcal{X}_d
mathcalXd进行仿射变换,具体操作如下:
其中
M
L
P
γ
d
MLP^d_γ
MLPγd和
M
L
P
γ
d
MLP^d_γ
MLPγd是两个单层的MLP,将语言向量
L
L
L映射为系数
γ
d
γ^d
γd和
β
d
β^d
βd。然后我们将这些系数应用于不同FPN级别的视觉特征
m
a
t
h
c
a
l
X
d
mathcal{X}_d
mathcalXd,然后进行卷积和ReLU操作,得到输出
Y
d
∈
R
(
c
)
×
h
d
×
w
d
Yd∈\R^{(c)×h_d×w_d}
Yd∈R(c)×hd×wd,其中
⊙
和
⊕
⊙和⊕
⊙和⊕分别表示广播元素乘法和加法。然后,Yd中每个位置的特征可以自适应地负责不同的细粒度属性,如颜色、位置、语言[26]条件下的类别等。
在进行空间关系建模之前,我们观察到FPN会影响性能。可能是由于FPN根据对象的尺度将对象分布到不同的特征图中,使得跨尺度关系建模困难。例如,考虑到“画在床上”的关系,如果把“画”和“床”分别分配到两个不同的特征图上,“画”几乎没有机会感知“床”。简单地将特征映射相加到中等大小就可以解决这个问题,使用与BFPN[25]相同的技术。具体来说,我们是通过最大下采样和双线性上采样来实现的,最后:
**Landmark feature convolution module and localization
module. **
为了考虑到地标特征,我们在feature map
Y
Y
Y中进行了一个地标特征卷积,我们选择
P
=
4
P = 4
P=4(如图3 (b)所示)。通过DMP (dynamic max pooling)和卷积(convolution)对四个子区域的地标特征进行聚合,生成具有方向感知的特征图。然后,我们将特征分布到不同的FPN级别,以解决一般目标检测中的尺度问题。
最后,我们将它们输入到定位模块中,在定位模块中,我们采用了YOLOv3中基于锚点的box回归头作为检测头。最后输出的LBYLNet KA hd××wd的维度,= 3是锚的数量和K = 5 (tx,泰、tw th, s),第一个四个值意味着边界框抵消相对于预定义的锚和最后一个是信心得分表明是否有物体在这个位置。在[28]之后,只有具有ground-真值包围盒的最大IoU的锚赋为正样本;其余的都是负样本。因此只有一个正样本,因为我们只想找到一个句子中提到的对象。对于排名损失,我们将正样本和负样本之间的距离最大化。因此采用了交叉熵损失,可以看作是[23]中定义的MMI训练。对于边界盒回归损失,我们使用均方误差损失来最小化预测边界盒与地面真值之间的距离。整个损失函数由一个定位项和一个回归项组成:
其中
β
β
β为平衡两项的超参数,我们经验地令
β
=
5
β = 5
β=5。使用Adam[12]对整个网络进行端到端优化。
Experiment
Conclusion
在这项工作中,我们将重点放在一阶段视觉基础的关系建模上,并沿着这一思路,提出了一种新颖和简单的LBYL-Net,它显示了所有最先进的一阶段和两阶段方法的竞争结果。我们的核心思想是用动态最大池(Dynamic Max Pooling, DMP)和地标特征卷积(Landmark Feature Convolution, LFC)来建模长时间和空间感知的特征,显示其相对于相关模块的优越性。我们希望我们提出的LFC也能促进相关的研究,如视觉关系检测。