- 介绍
- 模型
- 图像特征表示
- 文本特征表示
- 区域关系推理
- 全局语义推理
- 损失函数
- 实验结果
论文发表时间:2019
论文作者:Kunpeng Li, Yulun Zhang, Kai Li, Yuanyuan Li and Yun Fu
论文地址:https://openaccess.thecvf.com
代码地址:https://github.com/KunpengLi1994/VSRN
考虑到当前图文匹配缺少图像全局语义概念(就像文中标题一样),作者提出首先建立图像区域之间的联系,再使用图卷积网络进行推理,生成具有语义关系的特征。随后使用门和记忆机制对这些关系增强的特征进行全局予以推理,选择有区别的信息并逐步生成全局场景表示
模型 整体结构如下图所示:
分成几步:
- 自下而上的注意力模型生成的图像区域及其特征
- VSRN首先在这些图像区域之间建立联系,并使用图形卷积网络(GCN)进行推理,以生成具有语义关系信息的特征
- 对这些关系增强的特征进行全局语义推理,以选择有区别的信息,并过滤掉不重要的信息,从而生成整个图像的最终表示
- 对于文本标题部分,我们学习使用RNNs表示句子,最终通过图像-句子匹配和句子生成的联合优化对整个模型进行训练
自下而上的注意力模型Faster-RCNN
V = { v 1 , . . . , v k } V={v_{1},...,v_{k}} V={v1,...,vk}, v i = W f f i + b f v_{i}=W_{f}f_{i}+b_{f} vi=Wffi+bf
文本特征表示双向GRU网络
区域关系推理这一部分使用到了图卷积网络GCN
原GCN中使用的邻接矩阵在本文中用亲和矩阵替代,计算公式为
R
(
v
i
,
v
j
)
=
φ
(
v
i
)
T
ϕ
(
v
j
)
R(v_{i},v_{j})=varphi (v_{i})^{T}phi (v_{j})
R(vi,vj)=φ(vi)Tϕ(vj)
其中
φ
(
v
i
)
=
W
φ
v
i
varphi (v_{i})=W_{varphi}v_{i}
φ(vi)=Wφvi,
ϕ
(
v
j
)
=
W
ϕ
v
j
phi (v_{j})=W_{phi}v_{j}
ϕ(vj)=Wϕvj
这样,对于一个图来说,其表示为 G r = ( V , E ) G_{r}=(V,E) Gr=(V,E),V为检测出来的区域,E为亲和矩阵。这就意味着,如果图像区域之间的关系越紧密,相关度越高,那么它们之间的亲和矩阵的系数应该越大
最后GCN的表示为: V ∗ = W r ( R V W g ) + V V^{*}=W_{r}(RVW_{g})+V V∗=Wr(RVWg)+V,其中 W g W_{g} Wg为GCN的权重矩阵,维度为 D × D D×D D×D, W r W_{r} Wr为残差结构的权重矩阵, R R R为亲和矩阵,大小为 k × k k×k k×k。最终输出为图像区域节点的关系增强表示 V ∗ = { v 1 ∗ , . . . , v k ∗ } V^{*}={v_{1}^{*},...,v_{k}^{*}} V∗={v1∗,...,vk∗}
全局语义推理这里作者说是使用了门和记忆机制,实际上也就将第二部得到的增强了的图像区域节点关系送入GRU网络中去
其中更新门为:
z
i
=
σ
z
(
W
z
v
i
∗
+
U
z
m
i
−
1
+
b
z
)
z_{i}=sigma _{z}(W_{z}v_{i}^{*}+U_{z}m_{i-1}+b_{z})
zi=σz(Wzvi∗+Uzmi−1+bz)
重置门:
r
i
=
σ
r
(
W
r
v
i
∗
+
U
r
m
i
−
1
+
b
r
)
r_{i}=sigma _{r}(W_{r}v_{i}^{*}+U_{r}m_{i-1}+b_{r})
ri=σr(Wrvi∗+Urmi−1+br)
新增的内容:
m
~
i
=
σ
m
(
W
m
v
i
∗
+
U
z
(
r
i
∘
m
i
−
1
)
+
b
m
)
tilde{m}_{i}=sigma _{m}(W_{m}v_{i}^{*}+U_{z}(r_{i}circ m_{i-1})+b_{m})
m~i=σm(Wmvi∗+Uz(ri∘mi−1)+bm)
最后整个场景的描述:
m
i
=
(
1
−
z
i
)
∘
m
i
−
1
+
z
i
∘
m
~
i
m_{i}=(1-z_{i})circ m_{i-1}+z_{i}circ tilde{m}_{i}
mi=(1−zi)∘mi−1+zi∘m~i
如果对照着GRU网络的公式来看,是一模一样的
损失函数 最终的损失函数为:
L
M
=
[
α
−
S
(
I
,
C
)
+
S
(
I
,
C
^
)
]
+
+
[
α
−
S
(
I
,
C
)
+
S
(
I
^
,
C
)
]
+
L_{M}=[alpha -S(I,C)+S(I,hat{C})]_{+}+[alpha -S(I,C)+S(hat{I},C)]_{+}
LM=[α−S(I,C)+S(I,C^)]++[α−S(I,C)+S(I^,C)]+
这里其实就是三元组损失函数
MS-COCO 1k test
MS-COCO 5k test
Flicker30K



