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

本文提出了一种方法,能为图像中的特定对象生成明确的描述(引用表达式),并能解释这些表达以识别对象。模型受到图像字幕生成的启发,但着重于区分场景中的其他可能模糊对象。作者创建了一个大规模的MS-COCO数据集用于引用表达式研究,并通过波束搜索优化了语句生成和图像理解任务。实验表明,该方法在区分描述和选择正确对象区域方面优于现有方法。
部署运行你感兴趣的模型镜像

在这里插入图片描述

摘要

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

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

2. 数据集构建

基于MSCOCO数据集,从300000张图片,80个类别。选取其中包含2-4个相同类别的物体的图片,而且物体框至少要覆盖图片5%的区域。最后从26711张图片中选择了54822个物体。

3. 任务

3.1 语句生成

已知一张图片和目标物体(有被框选),需要生成一段描述文本。其实就是计算argmaxs(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∗=argmaxR∈Cp(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‘∈Cp(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∗=argmaxR∈Cp(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维向量对区域的相对位置和大小进行编码[xtlW,ytlH,xbrW,ybrH,SbboxSimage][\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=1Nlogp(Sn∣Rn,In,θ),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:
logp(Rn∣Sn,In,θ)=logogp(Sn∣Rn,In,θ)∑R′∈C(In)p(Sn∣R′,In,θ)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的互信息熵相同。因为MI(S,R)=logp(S,R)p(S)p(R)=logp(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)最小。
持续更新中~

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值