论文:Generation and Comprehension of Unambiguous Object Descriptions明确对象描述的生成和理解

在这里插入图片描述

摘要

作者提出了一种方法,该方法可以生成图像中特定对象或区域的明确描述(称为引用表达式),并且还可以对此类表达式进行预处理或解释,以推断正在描述的对象。我们表明,我们的方法优于以前的方法,这些方法在不考虑场景中其他潜在模糊对象的情况下生成ob对象的描述。我们的模型受到了最近成功的图像字幕深度学习方法的启发,但虽然图像字幕很难评估,但我们的任务允许进行简单的客观评估。我们还提出了一个新的大规模基于MS-COCO的数据集,用于引用表达式。
在这里插入图片描述

图1 说明作者的生成和理解系统。
在左边,可以看到系统被赋予了一个图像和一个感兴趣的区域;它将其描述为“触摸头部的人”,这是明确的(不像其他可能的表达,例如“穿蓝色衣服的人”,这将是不清楚的)。在右侧,可以看到系统给定了一个图像、一个表达式和一组候选区域(边界框),并选择与表达式对应的区域。

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(SR,I),其中S是句子,R是区域,I是图像。
因为作者使用RNN单元代表 p ( S ∣ R , I ) p(S|R,I) p(SR,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=argmaxRCp(RS,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(RS,I)=RCp(SR,I)p(R,I)p(SR,I)p(RI)
假设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=argmaxRCp(RS,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(SR,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=1Nlogp(SnRn,In,θ),
N是训练集样本数, θ \theta θ是RNN和CNN共享的参数。

6. 优化损失函数

由于基线方法是训练模型以最小化 p ( S ∣ R , I ) p(S|R, I) p(SR,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(RnSn,In,θ)=logRC(In)p(SnR,In,θ)ogp(SnRn,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)=Rp(SR)p(R)=Rp(SR)
与极大似然目标函数在最大化 p ( S ∣ R ) p(S|R) p(SR)却没有考虑其他图片中的物体相比,优化的方法在最大化 p ( S ∣ R , I ) p(S|R, I) p(SR,I)的同时,尽量使 p ( S ∣ R ′ , I ) p(S | R', I) p(SR,I)最小。
持续更新中~

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值