摘要
作者提出了一种方法,该方法可以生成图像中特定对象或区域的明确描述(称为引用表达式),并且还可以对此类表达式进行预处理或解释,以推断正在描述的对象。我们表明,我们的方法优于以前的方法,这些方法在不考虑场景中其他潜在模糊对象的情况下生成ob对象的描述。我们的模型受到了最近成功的图像字幕深度学习方法的启发,但虽然图像字幕很难评估,但我们的任务允许进行简单的客观评估。我们还提出了一个新的大规模基于MS-COCO的数据集,用于引用表达式。
2. 数据集构建
基于MSCOCO数据集,从300000张图片,80个类别。选取其中包含2-4个相同类别的物体的图片,而且物体框至少要覆盖图片5%的区域。最后从26711张图片中选择了54822个物体。
3. 任务
3.1 语句生成
已知一张图片和目标物体(有被框选),需要生成一段描述文本。其实就是计算
a
r
g
m
a
x
s
(
S
∣
R
,
I
)
argmax_s(S|R, I)
argmaxs(S∣R,I),其中S是句子,R是区域,I是图像。
因为作者使用RNN单元代表
p
(
S
∣
R
,
I
)
p(S|R,I)
p(S∣R,I),可以一次生成一个单词,直到生成句末符号。计算全局最可能的句子很难,但可以使用波束搜索来近似查找最可能的句子(作者使用的波束大小为3)。这与标准的图像字幕任务非常相似,只是输入是一个区域而不是完整的图像。
主要区别在于,作者将训练模型,以生成将输入区域与其他候选区域区分开来的描述。
3.2 图像理解
作者采用了简单的基于排序的方法,首先生成一系列候选框集合C, 然后为候选框概率排序,使用如下公式挑选候选框
R
∗
=
a
r
g
m
a
x
R
∈
C
p
(
R
∣
S
,
I
)
R^*=argmax_{R∈C}p(R|S, I)
R∗=argmaxR∈Cp(R∣S,I),由贝叶斯公式,
p
(
R
∣
S
,
I
)
=
p
(
S
∣
R
,
I
)
p
(
R
∣
I
)
∑
R
‘
∈
C
p
(
S
∣
R
‘
,
I
)
p
(
R
‘
,
I
)
p(R|S,I)=\frac{p(S|R,I)p(R|I)}{\sum_{R`∈C}p(S|R^`,I)p(R`,I)}
p(R∣S,I)=∑R‘∈Cp(S∣R‘,I)p(R‘,I)p(S∣R,I)p(R∣I)
假设p(R|I)具有一致先验,则可以使用
R
∗
=
a
r
g
m
a
x
R
∈
C
p
(
R
∣
S
,
I
)
R^*=argmax_{R∈C}p(R|S, I)
R∗=argmaxR∈Cp(R∣S,I)选择。
在测试时,我们使用[10]中的多盒方法生成对象建议。这会生成大量与类无关的边界框。然后,我们将每个盒子分为80个MS-COCO类别中的一个,并丢弃那些分数低的盒子。我们使用生成的后分类框作为建议集C。为了获得性能上界,我们还对图像中的所有对象使用地面真值边界框。在这两种情况下,在对提案进行排序时,我们都不使用感兴趣对象的标签。
作者使用的基线模型与其他图像描述的工作相似:CNN提取图像特征,LSTM生成文本。主要区别是,除了位置信息外,作者还使用感兴趣区域的CNN表示来增强整个图像的CNN表示。如图4所示
4.1 模型架构
使用VGGNet作为CNN获取图像表示,最后1000维用作图像中物体区域的表示,计算整个图片的特征曾作为上下文,在训练时,固定其他层只微调最后一层。为了给CNN提供一个区域,保持该区域的纵横比,将其缩放为224×224的分辨率,用平均像素值填充边缘,最后得到2000维的特征向量,用于区域和图像。
使用5维向量对区域的相对位置和大小进行编码
[
x
t
l
W
,
y
t
l
H
,
x
b
r
W
,
y
b
r
H
,
S
b
b
o
x
S
i
m
a
g
e
]
[\frac{x_{tl}}{W},\frac{y_{tl}}{H},\frac{x_{br}}{W},\frac{y_{br}}{H},\frac{S_{bbox}}{S_{image}}]
[Wxtl,Hytl,Wxbr,Hybr,SimageSbbox],为了与区域、图像和位置/大小特征相连接,我们获得了一个2005维的向量,将其作为输入输入到一个LSTM序列模型中,该模型将分布
p
(
S
∣
R
,
I
)
p(S|R,I)
p(S∣R,I)的形式进行参数化。对于LSTM单元,作者使用了一个1024维的词嵌入空间,以及1024维的隐藏状态向量。采用vanilla LSTM,,并在每个时间步将视觉表示作为输入输入到LSTM。
5 损失函数
训练数据(在第3节中讨论)由观测矩阵三元组(I,R,S)组成,其中I是一个图像,R表示I内的一个区域,S表示R的引用表达式。为了训练基线模型,我们最小化引用表达式的负对数概率,给定其对应区域和图像:
J
(
θ
)
=
−
∑
n
=
1
N
l
o
g
p
(
S
n
∣
R
n
,
I
n
,
θ
)
,
J(\theta)=-\sum_{n=1}^N logp(S_n|R_n,I_n,\theta),
J(θ)=−n=1∑Nlogp(Sn∣Rn,In,θ),
N是训练集样本数,
θ
\theta
θ是RNN和CNN共享的参数。
6. 优化损失函数
由于基线方法是训练模型以最小化
p
(
S
∣
R
,
I
)
p(S|R, I)
p(S∣R,I),然而仅仅基于目标物直接生成表达式可能并不具有判别的功能。为了解决这一问题,作者提出了判别式(MMI)训练,由softmax loss:
l
o
g
p
(
R
n
∣
S
n
,
I
n
,
θ
)
=
l
o
g
o
g
p
(
S
n
∣
R
n
,
I
n
,
θ
)
∑
R
′
∈
C
(
I
n
)
p
(
S
n
∣
R
′
,
I
n
,
θ
)
logp(R_n|S_n, I_n, \theta)=log\frac{ogp(S_n|R_n,I_n,\theta)}{\sum_{R'∈C(I_n)}p(S_n|R',I_n,\theta)}
logp(Rn∣Sn,In,θ)=log∑R′∈C(In)p(Sn∣R′,In,θ)ogp(Sn∣Rn,In,θ)其目的与最大化S、R的互信息熵相同。因为
M
I
(
S
,
R
)
=
l
o
g
p
(
S
,
R
)
p
(
S
)
p
(
R
)
=
l
o
g
p
(
S
,
R
)
p
(
S
)
MI(S,R)=log\frac{p(S,R)}{p(S)p(R)} = log\frac{p(S,R)}{p(S)}
MI(S,R)=logp(S)p(R)p(S,R)=logp(S)p(S,R),而
p
(
S
)
=
∑
R
′
p
(
S
∣
R
′
)
p
(
R
′
)
=
∑
R
′
p
(
S
∣
R
′
)
p(S) = \sum_{R'}p(S|R')p(R')=\sum_{R'}p(S|R')
p(S)=∑R′p(S∣R′)p(R′)=∑R′p(S∣R′)。
与极大似然目标函数在最大化
p
(
S
∣
R
)
p(S|R)
p(S∣R)却没有考虑其他图片中的物体相比,优化的方法在最大化
p
(
S
∣
R
,
I
)
p(S|R, I)
p(S∣R,I)的同时,尽量使
p
(
S
∣
R
′
,
I
)
p(S | R', I)
p(S∣R′,I)最小。
持续更新中~