联合编译:Blake、陈圳、章敏
摘要
本文提出了一个可以生成针对图片中特定目标或区域明确描述(指代表达)的方法,这个方法也能理解或解释这一指代表达,进而推断出正确的被描述的目标。以前的方法并没有将情景中的其他潜在模糊目标考虑在内,本文展示了我们所提出的办法比以前的生成目标描述方法要优秀。我们模型灵感源自近期深度学习在图像标注问题上的成功,虽然很难对图片标注进行评估,但是我们的任务能够做到轻松实现目标评估。我们也提出了基于MSCOCO的一个新的用于指代表达的大规模数据集。这个数据集和工具集可以用于可视化和评估,我们将它发布在github上,详见:https://github.com/mjhucla/Google_Refexp_toolbox。
引言
近来,许多人对生成图片文本描述的研究十分感兴趣。然而,这种图片标注问题既主观也不适定。因为有这么多有效的方法来描述任一给定图片,所以也很难对自动标注方法进行评估。特别是,我们如何能判定一张图片的描述优于另一个描述?
在这篇论文中,我们集中讨论了一个为给定图片生成本文的特别案例,其目标是生成明确的文本描述。这个描述能被精确地应用到图片中的某个目标或区域,这样一种描述就是所谓的「指代表达」。这一方法明显优于通用图片标注,因为它有一个定义良好的表现指标:如果独特描述出文本中相关目标或区域,听者能够理解这个描述并能指出其所描述的那个目标,这就是一个好的指代表达。另外,由于任务性质本身是有区别的。因此,较之图片标注,指代表达趋于更加细节化。最后,与整张图片比较的话,它更容易搜集训练数据以“覆盖”针对给定目标的合理指代表达空间。
我们考虑到了两个问题:(1)描述生成,我们必须生成可以独特指出图片中的重要目标和区域的文本表达。(2)描述理解,根据一个给定的描述这个目标的文本表达,找出这个目标。文献中提到的之前的研究工作几乎完全专注于描述生成,详细对比见图1:
图1
在这篇论文中,我们使用了时下最先进的深度学习方法来处理真实图像和文本问题。特别是我们在最近开发出的方法上建立了我们的模型,这些方法将卷积神经网络(CNN)和递归神经网络(RNN)结合起来。我们证实,我们的模型表现高于没有考虑到听者必须理解的情况下生成的指代表达的基准模型。我们也证明通过自动生成对图片区域的描述,可以使用半监督方式训练我们的模型。
在很多使用自然语言界面的应用中,比如控制一台机器人(如“Rosie,把那瓶啤酒从冰箱顶层给我拿过来。”),或者与图像编辑软件互动(如“Picasa,将栅栏后的第三辆汽车换成一辆摩托车。”),能够生成并了解目标描述很关键。另外,对于从事视觉和系统领域的研究工作来说,这也是一个很好的测试台,因为它有一个有用的客观表现评价尺度。
为了训练和评估这个系统,我们搜集数据并发布了一个新的基于流行 MS-COCO 数据组的大型指代表达数据组。
总结起来,我们的主要贡献如下。首先,我们提出了一个新的用于指代表达的大规模数据组。第二,我们评估了现有图片标注方法在指代表达任务上的表现情况。第三,我们研究出了一个结合生成和理解的新方法,这个方法比现有方法更好。
2.相关工作
指代表达
指代表达生成是一个典型的神经语言问题。重点主要在于理解人们一般使用哪一类词汇来描述视觉物体(色彩或者大小)、高阶关系的使用、过于描述和描述不足现象等。
环境在很多方面都扮演者一个相当重要的角色。首先,说话者必须将目标对象和一系列的替代者区分开来,另外必须提供为什么这样区分的理由。第二,听者的预判也是可预估的。
在这个问题上,此前的作者基本上都聚焦在如计算机生成对象(微小对象的图像)等小型数据集上,而且没有将他们的文本生成系统和真实的视觉系统结合起来。然而最近这种情况开始有改变,已经开始有人注意指代表达和复杂的真实世界图像联系的问题。Kazamzadeh等人是第一批收集大规模复杂现实世界图像指代表达的人。
我们也同样收集并评估了一个大规模数据集。然而我们超越了表述生成,学会了生成和理解模型。我们的深度学习模型能够对原始图像直接生成表面表述,不用再把原始图片转换成正式的对象表达。
于此同时,参考文献[24]中R.Hu等人提出一个与我们的基准模型接近的基于CNN-RNN方法,它实现了在ReferIt数据集上近期以来的最佳结果。但是他们没有使用我们的完整模型中的判断训练技巧。
图像标识
我们的方法灵感来自于一系列的图像和文本模型,主要是在视觉和学习领域中的。从模型角度来看的话,我们的方法是最接近将RNNs和CNNs应用到这类问题的。近期的文章主要是利用CNN的隐藏活动性来表达图像内容,然后这个输入到RNN中,最后生成一系列的文字。
大多数有关图像标识的论文都聚焦在描述图像全局,而没有任何的空间定位。然而,我们注意到两个特例。参考文献[55]提出一个将图像中文字和空间位置关联起来的注意力模型,不过他们仍然关注于图像全局的标识任务。参考文献[26]提出一个使用语句边界来校准文字和短语的模型。他们的模型和我们的基准模型类似,在第5节中将会具体描述。然而,这种方法并没有我们的完整模型好,我们的模型另外还考虑到了图像中其他的模糊区域。
视觉问题回答
指代表达和VQA任务相关。特别是,当说话者问一个像“图像中那辆红色的车在哪儿?”的问题时,指代表达理解就能够变成一个VQA任务,系统也要返回一个限定界限。然而,这两个任务在理论上和实践上还是有区别的。指代表达是关于交流的,在这个问题中说话者要发现与听众交流的最佳方式,而VQA主要是集中在回答问题而不是考虑听众想法上。另外,因为在VQA中问题通常开放式结尾,所以想要评估它们的答案基本和生成图片标识一样困难,但评估限定边界的准确度是比较容易的。
3.数据组构筑
目前已知最大的指代表达数据集是ReferIt数据集,它包含19894张自然景色图像中130525种表达以及96654中不同对象。这次的数据集是在ImageCLEF IAPR数据集上的分割与标记扩展。然而这个数据集也存在两个缺点,一个是其中图像有时候只包含某特定类别下的对象,这允许说者可以使用不模棱两可的精准描述,另一个就是ImageCLEF数据集主要集中在“整体”而不是“个人”上。
在本文中,我们使用了和参考文献[27]类似的方法,但是我们是在MSCOCO数据集的基础上进行构筑的。它包含超过30000张图片,在实时级别拥有80种分割对象。
针对每一个图像,我们对它是否存在2到4种的对象类型进行选择,对它们的限定边界是否占图像区域的5%进行测定,结果在26711张图像中选择了54822个物体。我们将对象选择任务发布到亚马逊的Mechanical Turk中,然后另外发布一个任务让不同的人来选择这个物体指代的是什么。我们将这些描述生成和验证任务在Mechanical Turk迭代实验了三次。通过这种方式,我们选择了104560种表述。每个物体平均有1.91中表述方式,每个图像平均有3.91种表述方式,结果如图2所示。我们将这个可以用于可视化和评估的数据集和工具集发布在github上,详见:https://github.com/ mjhucla/Google_Refexp_toolbox
图2
当我们在收集数据时,我们了解到Tamara Berg肚子将她的ReferIt游戏参考文献[27]应用到MSCOCO数据集上,从19994张图片中生成了针对50000种对象的表述。她将她的数据分享给了我们,在本文中两个数据集的结果都展示出来了。我们对两种数据集进行了可视化比较,详细结果见图3。
图3
4.任务
在这节中,我们将探讨我们是如何在高阶范围解决描述和生成这两个主要问题的。我们将在下节详细描述模型细节和训练过程。
4.1生成
进行描述生成任务时,给予了系统一整张图片和一个目标对象(通过一个边界盒具体化),并且必须生成一个目标对象相关的描述。正式来说,任务是计算argmaxSp(SR,I),其中S是句子,R是区域,I是图像。
由于使用RNNs代表p(S|R,I),我们可以一次性生成一个S词,直到产生一个结束句子的符号。虽然计算全部最有可能的句子非常困难,但我们可以通过束搜索大概的找到最有可能的句子(使用束的尺寸为3)。除了输入是一个区域而不是整张图像之外,它和标准的图像搜索任务非常的相似。最大的不同之处是,我们将训练模型产生,能区分输入区域和其它候选区域的描述。
4.2理解
进行描述理解任务时,我们给予了系统一整张图像和相关的描述,并且要求通过返回边界盒的方式,定位图像中提及的对象。有一种方法是给出相关的描述(和图像)训练模型,让它直接预测边界盒的位置。但是,我们在论文中采用了一个更简单,更基础的方法。其特殊之处在于,我们首先生成一组区域推荐的C,并要求系统按概率将其排名。然后我们使用R*= argmaxRCp(R|S,I)选择区域,根据贝叶斯法则,我们得到
假设一个统一的p(R|I)2,我们可以通过R*= argmaxRCp(R|S,I)选择区域。这个方法和[29,40]中的图像检索方法非常相似,其中区域扮演了图像的角色。
测试时,我们使用[10]中的“混合箱”方法产生对象推荐。从而产生了很多类不可分的边界盒es。随后我们把每个盒子分类到一个80MS-COCO的类别中,并抛弃那些低分数的部分。我们使用所得到的分类盒作为建议集C,以便达到最高性能,同时我们也对图像中的所有对象使用了真实的边界盒。在两种情况下,在排名推荐时,我们都没有对对象使用特别的标签。
5.基准方法
在该部分我们介绍了计算p(S|R,I)的基准方法。
图4.介绍基准模型的结构,<bos>和<eos>分别代表句子开头和结尾。
5.1模型结构
我们的基准模型类似于其它的图像捕捉模型,使用CNN表示图像,然后用LSTM产生文本。其主要区别在于,我们通过一个兴趣区域的CNN,增加CNN对于整个图像(除了位置信息以外)的代表性。我们模型的基准结构见图4。
进一步说,我们使用VGGNet作为CNN,在ImageNet数据集进行预训练。VGGNet最后的1000维层用来代表对象的区域。此外,我们统计整个图像的特征,作为背景。实验中,我们只优调CNN最后一层的权重,并且固定了其它的层。为了将区域输入CNN,我们保持了固定区域的纵横比,并在224x224的分辨率中对其进行测量,然后用平均像素填充边缘(这类似于[17]中的区域扭曲方法)。这为我们提供了一个该区域和图像2000维的特征向量。
我们使用了如下的五维向量编码相关的位置和区域大小:
其中(xtl,ytl)和(xbr,ybr)分别是对象边界盒左上角和右下角的坐标,H和W分别是图像的长和宽,Sbbox和simage分别是边界盒大小和图像。
结合区域,图像和位置/大小特征,我们得到了一个2005维的向量,并将它作为LSTM序列模型的输入,参数化式P(SR,I)。我们的LSTM中,使用了一个1024维的字嵌入空间,和一个1024维的隐藏状态向量。我们采用了最普通常用的LSTM结构,并且在每个时间点都将视觉代表作为LSTM的输入。
5.2最大值可能性训练
我们的训练数据(在第3节中进行了讨论)由观察到的(I,R,S)三个因素组成,其中I是图像,R代表I中的一个区域,S代表R的相关表示。为了训练基准模型,我们最小化相关表示,对于代表区域和图像的消极影响:
其中θ是RNN和CNN的参数,并合计了训练集中的N个例子。我们使用了普通随机梯度下降,其批量大小为16的,初始学习率为0.01——每50000次迭代次数减半。梯度规范被修改到最大值为10的范围。为了抵抗过度拟合,我们对于字嵌入和LSTM输出层,都规范0.5为使用的下降率。
图5描绘如何训练整个模型使用softmax loss功能。R(绿色)就目标区域,R·是错误区域。LSTM和CNNs的权重由R和R·共享。(色彩最好的视野)
6.完整的方法
基准方法是训练模型最大化p(S|R,I),因为它是最常见CNN-LSMT图像捕获模型的基础。然而,仅基于目标对象直接产生表示的方法(在[19]中被称为反射研究者法)存在缺陷,它可能无法产生有判别力的句子。例如,图4中:为了通过绿色边界盒产生一个代表女孩特点的描述,生成词“粉红”在它将该女孩和右边女孩区分时起了作用。最后,在后文章中,我们提出了一个模拟训练对象。
6.1鉴别(MMI)培训
5.2节中提出了一种方法训练模型使用最大值可能性。所以我们现在给出相应的目标函数:
我们接下来称之为softmax loss,注意到这和最大化S和R的共同信息一样(假设统一的p(R)),因此
所以该方法同样被称为最大化相同信息(MMI)训练。
MMI之后主要的直觉是,我们想知道听众是否会明显的打断句子。我们实验模型,看它是否考虑到目标对象的指代表达,也会被在同一张图像中的对象相似的产生。因此给出了一个训练样本(I,R,S),训练模型输出高的p(S|R,I),同时无论R·是否等于R,都重点训练一个低的p(S|R·,I)。注意式2中对比最大值可能性目标函数,在不考虑图片中其它的对象情况下,直接最大化p(S|R)。
有几个方法可以选择C的推荐范围。我们可以使用所有的正确对象边界盒,但这会在视觉上很容易区分的目标对象上浪费时间(我们称之为“easy ground truth negatives”)。另一个选择是,选择和目标对象同一个级别的正确对象边界盒。这样都更容易混淆。最后,我们可以使用和在测试中一样的推荐混合盒,并且选择一个有同样预测对象标签的混合盒作为R。在8.2中,我们会将这几种不同的方法进行对比。在每一步使用等级5随机的底片 ,这样所有给出图片的数据都会适合GPU内存。
为了优化式3,我们必须复制每一个R·∈ C(In)区域的网络(包括正确范围Rn),如图5所示。结果MIMI训练模型和ML训练模型有着相同数量的参数,而且在5.2节中我们使用了相同的优化和调整方法。因此唯一的不同点是目标函数。
由于计算的原因,对比目标区域R和单一的随机负面区域R·,使用如下的最大利润损失更加快捷:
我们称之为max-margin MMI(或者MMI-MM)直观的捕捉到了和softmax counterpart (MMI-SoftMax)相似的结果,如8.2节所示,在实践中也产生类似的结果。然而,由于最大目标仅仅对比了两个区域,所以网络必须复制两次。因此,每一个句子使用更少的内存,每个最小批允许更多的句子加载,反而有助于稳定梯度。
7.半监督训练
收集相关的表达数据是非常的昂贵。在该部分我们讨论了使用无描述边界盒的方法,半监督训练整个模型,因此这更是无处不在的。我们认为,在甚至没有附加描述的情况下,一个边界盒(区域)R如此有用的原因是,在MMI训练中,如果它产生了一个它无法自解码成正确的原始R(MMI激励p(S|R,I)变的更高于p(S|R,I))的句子时,它允许我们自己设定模型。
图6,描述了半监督训练过程,细节见论文。
在这种半监督设置下,我们考虑了一个小的,有着边界盒以及描述的图像数据集Dbb+txt,
和一个有着更大的图像和边界盒,但没有描述的数据集Dbb。使用Dbb+txt训练模型(我们称之为模型G)计算p(S|R,I)。然后利用模型G,产生一系列关于Dbb中边界盒的
描述(我们称这个新的数据集之为Dbb+auto)。然后本着引导学习的精神,在Dbb+txt和Dbb+auto的并集上重新训练G,
上述的方法缺陷在于,并不是所有产生的句子都是可信赖的,这可能会“污染”训练集。为了解决这个问题,我们在Dbb+txt上训练了一个整体不同的模型(我们称之为模型C),并且用它决定,在Dbb+auto数据集产生的句子中,哪些是值得信赖的。特别之处在于,我们应用整体中的每一个模型,去解码Dbb+auto中的每一个句子,并且只有当每个模型找到了同样正确的对象时,该句子才会被保留。我们称结果为验证数据集Dfiltered。这确保了产生的相关表示能够被大量不同类型的模型理解,从而最大限度地减少过拟合。说明见图6.在本实中,我们展示了我们的模型从半监督训练中大大受益。
8.实验
我们在第3节提到的两种COCO相关表示数据集中进行了实验:G-Ref数据集和UNC-Ref数据集。我们随机选择了5000个对象作为验证集,5000个对象作为测试集,而剩下的对象则作为训练集(44,822GRef和4000UNC-Ref)。
8.1评估指标
在该部分,我们详述了如何评估理解和生成任务性能。
表1.我们测量了UNC-Ref验证数据的精度@1。每一行都是一种不同的训练模式。
列显示了ground truth 或者multibox proposals,和ground truth(人类)或者产生描述的性能。因此有GT描述的列评估了理解系统的性能,并且有GEN描述的列评估(端对端)了产生系统的性能。
理解任务很容易评估:我们简单的计算了真实和因此边界盒之间联合比(IoU)率的交点。如果IoU超过了0.5,我们称该检测为一个正确的正面,否则称之为错误的负面(这相当于计算@1测量的精度)。然后计算所有图像的平均分。
生成任务的则要困难很多—我们可以用同样的方法评估生成描述,即把它当成图像描述,使用如CIDEr,BLEU和METEOR的指标进行性能评估。然而这种指标可能变得不可信任,并且不能解释语义。相反,如大部分最近图像捕捉竞赛中所作的一样,我们依赖人类评估。特别的是,当提出一个感兴趣的图像和对象时,我们要求了 Amazon Mechanical Turk (AMT) 工作人员,将自动生成对象描述和人类生成对象描述对比。AMT工作人员并不知道哪一个是人类生成的句子,哪一个是电脑生成的句子(我们甚至没有告诉他们一些句子可能是电脑生成以便减少偏见)。我们简单的问他们哪一个句子描述的更好,或者他们是否一样好。
增加非规模性的人类评估,我们通过如下方法评估我们整个系统,即传递自动生成的描述到理解系统中,并验证他们是原来感兴趣对象正确对应的解码。这端对端的的测试就自动的,并且比标准的图像捕捉指标更可靠。
8.2对比不同的训练方法
此部分,我们对比了不同的训练模型方法:最大值可能性训练(精准方法);简单的ground truth负面最大边际损(“MMIMM-easy-GT-neg”);困难的ground truth最大边际损失(“MMI-MM-hard-GT-neg”):混合盒负面最大边际损失(“MMI-MM-multiboxneg”);最大soft或者MMI损失(“MMI-SoftMax”)。在测试时,每一种方法,我们都考虑使用 ground truth或者multibox proposals。
表2:方法标准线(ML)的精度和基于各种数据集的目标函数
此外,我们把事实描述和生成描述都考虑进去。
在此实验中,我们把UNC-Ref当做是一个测试集,对各种各样的MMI算法选择和超参数设置进行测试。只有在确定算法选择和超参数设计之后,我们才会对G-Ref数据集进行试验。这会减少超参数和每一个特殊数据的“过度重合”。结果已在表1中进行总结,所做总结如下:
模式在生成描述中表现更好,可能是因为生成描述比事实描述更短(5.99个单词VS 8.43个单词),或是因为生成和理解模式共享一些相同的参数,所以即使生成器错误地使用了单词(比如,将“狗”描述成“猫”),但理解系统依然能正确解码。直观来说,模式使用自己的语言时能更好地进行“交流”。
所有Full model的变体(使用MMI训练时)比使用最大似然法进行训练的标准线表现的更好。
MMI训练的softmax版本和边缘最大化方法相似,但表现更差。
MMI训练在难例中的收获要比在简单例的收获的更多。
在使用真实建议时,能帮助实例训练;但在使用多边框建议时(我们在实践中采用的),最好还是使用多边框的实例。
基于以上的结果,我们在剩余的文章部分会将带有难实例的边缘最大化训练作为Full Model。
表3.Full Model在少量标注数据集上的训练表现和在大量自动标注数据集上的训练表现比较。
8.3 完全监督模式
在本部分,我们基于G-Ref和UNC-Ref测试和验证,对标准线(最大似然性)和最大边缘化MMI方法进行比较。和前文一样,我们会考虑真实图像及测试时的测试图像,和真实图像(人工)及生成描述(自动)。结果在表2。从表中可见,在所有情况下,MMI的训练表现要比ML更好。
除上述的端至端评价,我们会对生成句子质量进行人工判断。我们会从测试集中随机选择1000个物体并展示给Amazon Mechanical Turk的工作人员。标准线和full model中的描述到达或是优于人类描述分别占比15.9%和20.4%。这显示MMI训练效果比ML更好。
8.4半监督的训练
为进行半监督试验,我们把UNC-Ref和G-Ref的数据集分成两个有相同目标数的部分。第一个部分(指代为Dbb+txt)具有目标描述注释,第二部分(指代为Dbb)仅仅只有边框。表3显示的是半监督训练基于我们的数据的确认集和UNC-Ref上的测试结果。从表中可见,使用Dbb+txt和Dbb比单独使用Dbb+txt的结果要好。
8.5 定性结果
图7使用完整模式(短划线之上)和基线模式(短划线之下)生成的描述例子。
图7展示了完整生成模式(在短划线之上)和基线生成模式(在短划线之下)在测试图片上的定性表现。我们由完整模式生成的描述要比基线模式生成的描述更长,更能辨别。例如,在第二幅图片中,基线模式把其中一只猫描述为“躺在床上的猫”,这一描述不能让听者辨别出被描述的猫。完整模式把同一只猫描述为“躺在左边的猫”,这样的描述就很清楚。
图8使用完整模式进行描述辨认的结果。第1栏和第2栏分别显示的是原始图像和多边框建议。第3到底6栏显示的是当输入图中任意目标的描述时的模式判断结果。红色边框指代的是由模式预测的最有可能的目标,蓝色边框指代的是可能目标的边缘。这些描述可能会是数据集中的固有描述(第3栏),或是特殊描述(第4到第6栏)。
图8显示完整模式基于测试集的定性结果。第1和第2栏分别显示的是原始图像和多边框建议。最后4栏显示的是模式根据输入选择的边框(所有的句子都是为探索模式的理解能力)。为更好的解释这些结果,我们在模式的范围之内的边框用蓝色边框表示。这些边框被看做是“候选边框”,但是这些边框的分数不如选中的分数高。
总的来说,我们可以看到理解模式在从两三个词组到更长的描述中都表现很好。它能正确应对指代表达中单个单词的改变(例如,“穿黑色衣服的男人”和“穿红色衣服的男人”)。它也能正确辨认指代表达,例如,“载着女人的一匹黑马”,“女人”在另外一个短语也出现过“女人骑在黑马上”——但是要注意这种嵌入的单词可能会辨认失败。例如,在第4栏中,输入“穿白色衣服的女人”但却选择了“穿黑色衣服的女人”;这是因为我们的模式不能处理目标未出现的情况,但是做了合理的猜测。同样,在第5栏,可能是因为控制器太小以至于难以检测,或是缺少相关训练数据,输入“女人手中的控制器”但却选择了女人,橘色茶杯和控制器。
9.总结
总的来说,我们向读者展示了两个简单观点。第一,指代表达的研究已进行了数十年,但基于最近的图像解释潮流,这项研究又迸发出新的活力。图像解释本身很难评价,指代表达有一个客观的表现指标,并且要求语言和图像的语义相符合。基于数据集测试的成功比通过标准图像解释的意义更大。
第二,为成功生成描述,我们需要倾听者。试验显示,建模一个倾听者能正确解码生成的描述,这样的模式比使用只基于图像特征进行输出的模式表现要好。希望除了我们的数据集,这些观察能促进视觉和语言联合模式的建立。
via CVPR2016