对图像的区域加字幕的制作方法

文档序号:15932224发布日期:2018-11-14 01:49阅读:152来源:国知局
本发明涉及计算机程序和系统领域,并且更具体地涉及与学习被配置为用于对图像区域加字幕的函数相关的方法、设备、数据结构和程序。
背景技术
市场上提供了许多用于对象的设计、工程和制造的系统和程序。cad是计算机辅助设计的首字母缩略词,例如它涉及用于设计对象的软件解决方案。cae是计算机辅助工程的首字母缩略词,例如它涉及到模拟未来产品物理行为的软件解决方案。cam是计算机辅助制造的首字母缩略词,例如它涉及用于定义制造过程和操作的软件解决方案。在这种计算机辅助设计系统中,图形用户界面在技术效率方面起着重要作用。这些技术可能嵌入在产品生命周期管理(plm)系统中。plm是指一种业务战略,帮助企业共享产品数据,应用通用流程,并利用企业知识来从概念到产品生命结束开发产品,跨越扩展企业的概念。达索系统(dassaultsystèmes)提供的plm解决方案(商标为catia,enovia和delmia)提供了组织产品工程知识的工程中心,管理制造工程知识的制造中心和可以使得企业集成和连接到工程和制造中心二者的企业中心。整个系统提供了开放的对象模型,链接产品、过程和资源,实现动态的、基于知识的产品创建和决策支持,从而推动优化的产品定义、制造准备、生产和服务。在这样的背景和其他背景下,场景理解和图像字幕越来越重要。图像字幕是计算机视觉和自然语言处理的交集处的问题,并且包括在给定输入图像的情况下生成用于描述输入图像的字幕。区域字幕是一种特定类型的图像字幕,其包括给定输入图像和输入图像内的感兴趣输入区域的情况下生成用于描述输入区域的字幕。密集字幕是一种更进一步的方法:它包括自动查找图像中不同的感兴趣区域,并对每个图像进行描述。这些技术在场景理解应用中可能是有用的,例如通过提供从图像自动生成3d体验。以下论文涉及图像字幕,并在下文中提及:-[1]r.krishna等人,visualgenome:connectinglanguageandvisionusingcrowdsourceddenseimageannotations,arxiv2016-[2]r.kiros等人,unifyingvisual‐semanticembeddingswithmultimodalneurallanguagemodels,iccv2015-[3]r.lebret等人,phrase‐basedimagecaptioning,2015-[4]r.kiros等人,multimodalneurallanguagemodels,icml2014-[5]t.mikolov等人,distributedrepresentationsofwordsandphrasesandtheircompositionality,nips2013-[6]s.venugopalan等人,long‐termrecurrentconvolutionalnetworksforvisualrecognitionanddescription,cvpr2015-[7]o.vinyals等人,showandtell:aneuralimagecaptiongenerator,ieee2015-[8]a.karpathy等人,deepvisual‐semanticalignmentsforgeneratingimagedescriptions,ieee2015-[9]a.karpathy等人,densecap:fullyconvolutionallocalizationnetworksfordensecaptioning,cvpr2016-[10]k.papineni等人,bleu:amethodforautomaticevaluationofmachinetranslation,acl2002-[11]m.denkowski等人,meteoruniversal:languagespecifictranslationevaluationforanytargetlanguageacl2014-[12]i.sutskever等人,sequencetosequencelearningwithneuralnetworks,nips2014现有的图像字幕技术基于由用于训练配置为生成字幕的机器学习模型(即,函数)的图像/字幕对组成的数据库。这样的数据库可以从众包平台获得,在众包平台中人们被要求写描述图片的字幕。现有的数据库包括用于图像字幕的mscoco和用于密集字幕的visualgenome[1]。加字幕的现有方法由两个类别组成:从经学习的多模态空间中进行句子检索和由编码器/解码器框架生成句子。在这两种方法中,模型中的输入图像都被编码并检索图像签名。然后,在处理该签名后检索字幕。生成字幕的质量评估可以通过不同的语言指标来执行[10,11]。在多模态方法中[2,3,4],学习了图像和短语表示的公共空间。这样一个公共空间就像一个嵌入空间,用于两种模态,图像和文本,这是使用如[5]中学习word2vectm时使用的负采样的技术学习的。一旦学习了这样的空间,在检索到其签名与嵌入空间中的图像查询签名最相似的字幕之后,执行句子生成过程。这种方法的问题在于所获得的字幕非常受到数据库中已有的字幕偏置。而且,检索最相似的字幕是这样的一个操作,即,如果数据库变得太大,操作可能非常耗时。在第二种方法中,编码器/解码器框架用于生成句子[6,7,8]。在对图像进行编码的第一步中,图像的签名是在图像通过卷积神经网络并获取某些较高完全连接层的输出之后获得的。然后,如在[12]中开发的一般方法中,由递归神经网络对图像签名进行解码,递归神经网络在词语逐词语地产生句子。当生成图像中区域的字幕时,密集字幕的任务也使用上述编码器/解码器框架。最先进的方法[9]将神经网络内的本地化层集成在一起,以自动查找图像中感兴趣的区域。这些方法对于整个图像描述都很有效,只要用于训练它们的数据库的质量足够好即可。但是,用于生成图像内区域的字幕的相同模型不会提供与在整个图像中一样好的结果。因此,仍然需要改进的用于对图像区域加字幕的解决方案。技术实现要素:因此提供了一种用于学习函数的计算机实现的方法。该方法包括提供三元组的数据集。每个三元组包括相应的图像、相应图像的相应区域以及相应区域的相应字幕。该方法还包括利用三元组的数据集来学习被配置为基于输入图像和输入图像的输入区域生成输出字幕的函数。该函数因此被配置用于对图像的区域加字幕。加字幕可以相对较快地执行,例如,基本上是实时的,因为预先学习函数从而已经基于输入图像和输入图像的输入区域生成了输出字幕。此外,与现有技术相比,该函数被配置用于执行相对高质量的加字幕和/或具有相对高的鲁棒性。换言之,由该方法输出的字幕相对准确地描述输入图像的输入区域,并且使用句法和/或语法相对正确的语言,和/或关于用于学习的数据集的质量具有相对较高的鲁棒性。这是由于使用三元组的数据集进行学习,三元组不仅包括图像区域和相应的字幕,而且还包括包含区域本身的图像,使得该函数不仅基于输入区域的信息生成输出,而且还基于包括输入区域的输入图像的信息来生成输出。换句话说,该方法利用了区域的上下文,也就是包含该区域的图像,因而提高字幕的质量。这与区域描述的已知方法不同,在已知方法中句子生成过程仅使用来自区域内部的信息而不使用其周围的信息。这意味着缺乏当生成字幕时基于的上下文信息。而且,已知的训练模型对训练它们的数据库非常敏感。该方法可以包括以下中的一个或多个:-所述函数包括第一组件,所述第一组件被配置为确定所述输入图像和所述输入区域的组合的签名,以及第二组件,所述第二组件被配置为基于组合的签名来生成所述输出字幕;-第二组件被配置为迭代地生成输出字幕;-第二组件包括一个或多个递归神经网络;-一个或多个递归神经网络包括一个或多个长短期记忆神经网络;-第二组件被配置为基于词嵌入空间进一步生成输出字幕;-第二组件包括第一递归神经网络、第二递归神经网络和词嵌入层,并且第一递归神经网络被配置为基于相应的输入词嵌入向量递归地生成相应的输出词嵌入向量,相应于所述第一递归神经网络的输入词嵌入向量是所述第二递归神经网络和然后的所述词嵌入层的所述复合物的输出,所述第二递归神经网络被配置为基于相应的输入词嵌入向量且基于组合的签名来递归地生成相应的输出词嵌入向量,相应于第二递归神经网络的输入词嵌入向量是第一递归神经网络的输出,并且词嵌入层被配置成基于相应的输入词嵌入向量生成相应的输出词嵌入向量,相应于词嵌入层的所生成的词嵌入向量是与作为概率最高的词的词嵌入空间中表示的词汇表的词对应的词嵌入向量;-该方法包括提供字幕数据集,该学习包括用字幕数据集训练第一递归神经网络和/或词嵌入层,然后训练第二递归神经网络;-第一组件包括被配置为提取输入图像的签名的组件,被配置为提取输入区域的签名的组件,以及被配置为组合输入图像的签名和输入区域的签名的组件;-被配置为提取输入图像的签名的组件和被配置为提取输入区域的签名的组件是相应的卷积神经网络;-相应的卷积神经网络共享权重;-被配置为组合输入图像的签名与输入区域的签名的组件包括级联组件或添加组件,和/或完全连接层;和/或-学习包括学习第一组件,然后学习第二组件的至少一部分。还提供了能够根据该方法学习的函数。换句话说,该函数构成将输入转换为输出的方案,该方案可通过该方法获得。该函数可以在计算机实现的过程中用于对图像的区域加字幕。该过程可以例如包括提供输入图像和输入区域,并且应用该函数以基于输入图像和输入区域生成输出字幕。输入区域例如可以在提供输入图像之后在输入图像内被识别,例如由用户或以任何其他方式(例如通过形成密集字幕的过程并且与这种密集字幕的任何经典区域识别阶段一起执行识别)。该过程可以用不同的输入重复,例如用相同的函数。重复可以在用密集字幕标识的相同图像的不同区域上执行。可选地或另外地,输入可以构成视频的帧序列,该过程针对每个帧实时地输出一个或多个区域的字幕。进一步提供了包括用于执行该方法和/或该过程的指令的计算机程序。还提供了包括功能和/或程序的数据结构。进一步提供了一种其上记录有数据结构的计算机可读存储介质。还提供了一种包括其上记录有数据结构的数据存储介质的设备。该设备可以形成非暂时性计算机可读介质。备选地,该设备可以包括耦合到数据存储介质的处理器。该设备因此可以形成一个系统。该系统可以进一步包括耦合到处理器的图形用户界面。附图说明现在将通过非限制性示例并参照附图来描述本发明的实施例,其中:-图1示出了该系统的一个示例;以及-图2-13图示了该方法的示例。具体实施方式所称“计算机实现的”意味着步骤(或基本上所有的步骤)由至少一台计算机或任何类似系统执行。因此,计算机可能全自动地或半自动地执行步骤。在示例中,触发至少一些步骤可以通过用户-计算机交互来执行。所需的用户-计算机交互水平可以取决于预见的自动化水平,并与实现用户意愿的需求相平衡。在示例中,这个水平可以是用户定义的和/或预先定义的。一种方法的计算机实现的典型示例是用适合于此目的的系统执行该方法。该系统可以包括耦合到存储器和图形用户界面(gui)的处理器,该存储器上记录有包括用于执行该方法的指令的计算机程序。存储器也可以存储数据库。存储器是适用于这种存储的任何硬件,可能包括若干物理不同部分(例如一个用于程序,并且可能一个用于数据库)。图1示出了系统的示例,其中该系统是客户端计算机系统,例如,用户的工作站。该示例的客户端计算机包括连接到内部通信总线1000的中央处理单元(cpu)1010,也连接到总线的随机存取存储器(ram)1070。客户端计算机还配备有图形处理单元(gpu)1110,其与连接到总线的视频随机存取存储器1100相关联。视频ram1100在本领域中也被称为帧缓冲器。大容量存储设备控制器1020管理对大容量存储设备(例如硬盘驱动器1030)的访问。适合于有形地体现计算机程序指令和数据的大容量存储设备包括所有形式的非易失性存储器,例如包括半导体存储器设备,诸如eprom、eeprom和闪速存储器设备;磁盘,如内部硬盘和可移动磁盘;磁光盘;以及cd-rom盘1040。上述任何内容都可以由专门设计的asic(专用集成电路)补充或包含在其中。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括诸如光标控制设备、键盘等的触觉设备1090。在客户端计算机中使用光标控制设备以允许用户选择性地将光标定位在显示器1080上的任何期望位置。另外,光标控制设备允许用户选择各种命令和输入控制信号。光标控制装置包括许多用于向系统输入控制信号的信号生成设备。通常,光标控制设备可以是鼠标,鼠标的按钮用于生成信号。可选地或另外地,客户端计算机系统可以包括敏感垫和/或敏感屏幕。计算机程序可以包括可由计算机执行的指令,该指令包括用于使上述系统执行方法的单元。该程序可以记录在任何数据存储介质上,包括系统的存储器。该程序可以例如以数字电子电路或计算机硬件、固件、软件或其组合来实现。程序可以实现为装置,例如有形地体现在机器可读存储设备中以供可编程处理器执行的产品。方法步骤可以由执行指令程序的可编程处理器执行,以通过对输入数据进行操作并生成输出来执行该方法的功能。处理器因此可以是可编程的并且被耦合以从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并且将数据和指令发送到数据存储系统、至少一个输入设备和至少一个输出设备。应用程序可以以高级过程或面向对象的编程语言来实现,或者如果需要的话可以以汇编或机器语言来实现。在任何情况下,该语言可能是经编译或解释的语言。该程序可以是完整的安装程序或更新程序。在任何情况下,程序在系统上的应用都会产生执行该方法的指令。该方法用于学习被配置为用于对图像区域加字幕的函数。图像是表示物理信号的空间分布的数据结构,例如在场景上。空间分布可以是任何维度,例如2d或3d。空间分布可以是任何形状,例如形成网格并由此定义像素,网格可能不规则或规则。物理信号可以是任何信号,例如颜色或灰度级,使得图像可以是rgb图像或灰度图像。该图像可以是合成图像或者可选地是诸如照片的自然图像。预期应用函数的数据集的图像和/或输入图像可以全部是相同类型的图像,例如全部是矩形2drgb或灰度图像。可替代地,可以预期一组不同的图像类型。图像的区域是图像的任何部分。区域因此是图像。该部分可以是连通和/或凸的。该部分可以是矩形。预期应用函数的数据集的区域和/或输入区域可以全部具有相同的形状,例如全部是矩形。可替代地,可以预期一组不同的区域形状。图像的字幕是图像内容的文字表示。字幕可以包括描述这种图像内容的文本表述或句子或由其组成。该方法学习的函数特别适用于基于输入图像和输入图像的输入区域生成输出字幕。换句话说,该函数应用于输入图像和输入图像的输入区域,或者再换句话说,该函数将图像和图像的区域作为输入。该函数然后输出描述输入区域的内容的字幕,输出至少在某种程度上取决于由输入图像提供的区域的上下文。所称“学习”,意味着该方法实现机器学习过程,该过程包括提供与输出相关联的输入的数据集,然后调整加权函数(也称为“神经网络”)的自由权重,使得所得函数(即经学习的函数,即对应于最终权重的函数)根据预定标准最佳匹配数据集。可以以任何已知的方式执行调整,例如通过使得通过将加权函数应用于数据集的输入并将结果与关联于数据集中的这些输入的输出进行比较而评估的重建损失最小化。现在,在该方法的情况下,加权函数被设计为应用于包括图像和图像区域的输入偶对,以便生成输出字幕。换句话说,经学习的函数的体系结构被预先设置为应用于输入图像和输入图像的输入区域二者(而不是现有技术中的单个输入图像)。相应地,数据集由三元组(即三块数据的有序集合)组成,每个三元组包括相应的图像、相应图像的相应区域以及相应区域的相应字幕。换句话说,数据集将一方面的输入图像和相应输入区域与另一方面的相应字幕相关联。可以以任何方式提供这样的数据集,例如通过涉及一个或多个用户手动产生图像区域的字幕和/或从数据存储库检索而获得数据集。如前所述,这样的数据集已经照此存在。现在参考图2-13讨论该方法的实现方式的示例。下面讨论的示例提供了用于功能体系结构的可选方面和用于执行学习的方式的可选方面,这些方面可以组合在一起。在这些示例中,该方法构成了用于图像内部的区域描述的改进方法,其中主要焦点在于图像的签名与其周围的上下文化。如将要显示的,该方法可能严重依赖于深度学习技术,深度学习技术可以在图像特征提取和自然语言处理(nlp)中表现出优异的性能。示例的优点可以包括端到端的学习体系结构、输入区域图像的大小不需要约束,并且由于特征上下文化而改进了描述。在示例中,函数的体系结构可以被约束,使得该函数包括被配置为确定输入图像和输入区域的组合的签名的第一组件c1,以及被配置为基于组合的签名生成输出字幕的第二组件c2。术语“组件”仅指代可与任何其他子函数复合以形成函数的子函数。神经网络的组件因此也是神经网络。换句话说,函数包括c1和c2的复合物,c2应用于c1的输出。术语“组合”对于最初的信息块指定从最初的信息块导出的另一信息块。组合的签名是识别组合并将其与其他相同类型的信息块区分开的向量。由c1确定的签名由此标识考虑了图像本身的内容的图像区域的内容,而不是仅仅图像区域的内容。结果,形成两个不同图像的区域的相同内容可以与不同的签名相关联。相反,具有不同内容的相同图像的不同区域可以与不同签名相关联。在示例中,c1包括被配置为提取输入图像的签名(即,独立于任何其他信息)的组件c11,被配置为提取输入区域的签名(即,独立于任何其他信息)的组件c11',以及被配置为组合输入图像的签名和输入区域的签名的组件c12。在这种情况下,组合的签名是签名的组合。可以为c11和/或c11'实现被配置为提取图像的签名的任何组件。c11和c11'可以相等(即,两者都应用相同的过程)。c11和/或c11'每个可以是相应的卷积神经网络(cnn)。已知这种签名提取器在应用于图像时提供良好且快速的结果,特别是形成规则网格的图像。在稍后进一步讨论的示例中,各个cnn可以共享权重(即,可以约束学习,使得构成c11和c11'的cnn具有相同的体系结构和相同的权重,使得c11和c11'仅仅是相同的单个神经网络的实例,可以写成c11=c11')。这种权重共享提高了结果的质量。c12可以执行任何类型的信息组合。在示例中,c12可以包括级联组件或添加组件,即,将由c11和c11'输出的签名(换句话说,该区域和图像的签名)级联(例如,按照预定顺序)的组件,或者将由c11和c11'输出的签名(换句话说,该区域和图像的签名)加在一起的组件(即,向量加法,即坐标的按维度相加)。在示例中,c12可以进一步包括完全连接层。c12的这种示例引起了结果的高质量。包括级联组件和完全连接层的c12的示例可以如下。整个图像的签名xi和区域的签名xr可以级联成向量(xi,xr),然后通过完全连接层,输出为y=σ(w(xi,xr)+b),其中σ是非线性的,w是权重矩阵而b是偏差。在示例中,学习可以包括学习c1,然后学习c2的至少一部分(例如,应用于c1的输出的部分)。c1(相应的c2的至少一部分)的学习独立于函数的任何其他组件执行。可以利用初始数据集的图像和区域来学习c1(例如,忽略初始数据集的所有字幕)。一旦经学习,c1可以被应用于初始数据集的图像和区域的至少一部分,以创建每个(根据初始数据集的字幕)与相应字幕相关联的签名(相应图像和相应区域的每个组合)的新数据集。然后可以基于这个新的数据集学习c2的至少一部分。在c2具有也需要学习的其他部分的情况下,这种学习可以在任何时候执行,在学习c1之前,与学习c1同时(即平行地)或者在学习c1之后和/或基于初始数据集或其他数据集执行。换句话说,学习是分段的。这提高了学习的速度,并且引起了结果的高质量。这特别适用于当在学习c1之后如此学习的c2的部分包括递归神经网络时,该递归神经网络将组合的签名作为输入并且参与输出字幕的迭代生成。递归神经网络是众所周知的神经网络类别。在该方法的情况下,递归神经网络被证明对迭代地生成字幕特别高效。在这种情况下,学习可以包括训练c1(例如,其cnn,例如当它们共享权重时一起),然后仅训练这样的递归神经网络。该递归神经网络是以下示例中描述的“第二递归神经网络”。在示例中,第二组件被配置为基于组合的签名并且还基于词嵌入空间来生成输出字幕。词嵌入空间是一个向量空间,其中一个词对应于一个所谓的词嵌入向量。第二组件可以利用这样的词嵌入空间来生成输出字幕。例如,第二组件可以包括第一递归神经网络、第二递归神经网络和词嵌入层。第二组件的这些子组件可以如图2所示进行交互,图2示出了通过满足该配置的方法可学习的函数的示例。在图2的示例中,第一和第二递归神经网络是长短期记忆(lstm)神经网络,分别记为lstm1和lstm1,但是关于图2的以下讨论同样适用于其他类型的递归神经网络。而且,在图2的示例中,该函数包括如上所述的第一组件c1和第二组件c2。如在前面的示例中所述,c1被配置为由于c1包括被配置为提取输入图像210的签名的组件c11、被配置为提取输入区域220的签名的组件c11'以及被配置为组合输入图像的签名和输入区域的签名的组件c12而确定输入图像210和图像210的输入区域220的组合的签名。然而,以下关于图2的讨论适用于被配置成确定输入图像210和输入区域220的组合的签名的任何其他组件。在该示例中,组件c11和c11'是cnn,但是关于图2的以下讨论也适用于其他签名提取组件。组件c12将从c11和c11'输入的签名级联并且还包括完全连接(fc)层,但是关于图2的以下讨论也适用于其他类型的签名组合组件。lstm1被配置为基于相应的输入词嵌入向量250递归地生成相应的输出词嵌入向量260。相应于lstm1的输入词嵌入向量250是lstm2和然后的词嵌入层的复合物的输出250。换句话说,lstm1每次都基于lstm1过去产生的(由递归循环280表示)以及由复合函数提供的输入词嵌入向量250迭代地产生相应的输出词嵌入向量260,复合函数包括将lstm2应用于输入230、260,然后将词嵌入层应用于lstm2的输出290。lstm2被配置为基于相应的输入词嵌入向量260并且基于组合的签名230递归地生成相应的输出词嵌入向量290。相应于lstm2的输入词嵌入向量260是lstm1的输出260。换言之,lstm2每次基于lstm2过去产生的(由递归循环270表示)、基于输入词嵌入向量260并且基于签名230(其因此每次被重用)迭代地产生相应的输出词嵌入向量290。现在,词嵌入层被配置成基于相应的输入词嵌入向量290来生成相应的输出词嵌入向量250。相应于词嵌入层的所生成的词嵌入向量250是词汇表的词对应的词嵌入向量,在词嵌入空间中表示词汇表,该词汇表的词是最高概率的词(根据输入290)。词汇表是一组允许生成形式良好的表达(如字幕)的词。词汇表可能属于单一语言。词汇表可以是出现在一组字幕中的一组词,例如出现在初始数据集的全部或部分字幕中的词的全部或部分(例如,基于很多出现标准来确定)。术语词汇表还可以指定代表该组词的词嵌入向量集合(关于词嵌入层)。在词嵌入空间中表示词汇表,词汇表的每个词通过词嵌入层与已知的相应词嵌入向量相关联,由此预先确定这样的词嵌入向量集合。词嵌入层是基于这样的信息输出生成的词嵌入向量250的组件,该生成的词嵌入向量250是根据输入290具有最高概率的集合的元素。概率处理根据自然语言处理中的经典词嵌入层是已知的。例如,词嵌入层可以被配置为输出生成词汇表的每个词的概率,然后根据输出概率生成具有最高概率的词。由词嵌入层输出的与词汇表的词相对应的每个词嵌入向量,词嵌入层由此顺序地确定词汇表的词,词序列形成字幕。与输出用于输入到lstm1的词嵌入向量250并行地,词嵌入层也可以在确定每个词时逐词地输出对应的字幕,或者在确定整个序列之后立即输出对应的字幕。为了说明这个众所周知的神经网络,讨论词嵌入层的一个示例。利用词嵌入空间中的词的w1,…,wn表示,每个向量具有维度d=128,并且给定维度d=128的输出h,词嵌入层的输出可以是概率为p1,…,pn的向量,其中:pk=exp(<wk,h>)/σiexp(<wi,h>)。在训练期间,学习词嵌入中不同词的表示(即参数w1,…,wn)。在图2的示例中,一方面的lstm1与另一方面的lstm2和然后的词嵌入层的复合物一起相互作用,并且它们的递归迭代是交错的。从语言处理领域可知,对于第一次递归,在迭代过程(例如lstm1)开始时的lstm1和lstm2中的一个使用表示第一次迭代的这种开始情况的常量而不是输入250本身(因为目前没有其他lstm提供可用的输出),由“句首”或<bos>表示。另外,当lstm2输出表示结尾的常量时,迭代过程结束,由“句尾”或<eos>表示。可以以任何方式学习图2所表示的函数。在示例中,学习可以包括学习词汇表中的每个词的词嵌入向量。这些向量是词嵌入层中的参数。学习可以通过基于一组字幕与lstm1联合学习词嵌入层来执行。可替代地,词嵌入层的学习可以与lstm1的学习分开执行,两种学习都是基于一组字幕进行的。在所有情况下,该组字幕可以是初始数据集提供的一部分或全部字幕。所述方法可以包括提供这样的字幕数据集,所述学习然后包括用字幕数据集训练lstm1和/或词嵌入层,并且然后仅训练lstm2(基于每个都与相应图像相关联而且与签名相关联的一组字幕)。换句话说,lstm1和/或词嵌入层可以被预先学习为lstm2。lstm1和/或词嵌入层的训练可以在训练lstm2之前和/或在训练c1的组件(例如,cnnc11和c11'和/或fc层)之前或同时进行。lstm2可以在训练c1的组件(例如,cnnc11和c11'和/或fc层)之后被训练。在示例中,由该方法学习的函数可以被包括在场景理解和/或密集字幕处理中。密集字幕聚集了用于自动检测媒体中感兴趣区域并用句子描述这些区域的所有技术。该方法可以用于密集字幕的描述部分,并且因此假定媒体中提供的区域是由用户选择的或者从外部检测算法获得的。至于图像字幕中使用的其他方法,该方法位于两个领域的交叉处:·媒体表示的特征提取:用户提供的媒体本身对于从中生成词语序列的模型可能无法理解。人们可能不得不从利用特征提取过程从该媒体中检索签名。这些特征可以是从描述符获得的经过设计的特征,它们也可以通过机器学习模型学习。深度学习和特别是用于分析如图像或视频等媒体的卷积神经网络的最新进展为特征学习提供了良好的结果。·自然语言处理:在设计能够理解人类语言的算法方面取得了许多进展。这些模型的重点在于能够理解人类语言并且还能够生成相关句子。直到最近,通过构建整合句子解析器、检索句子的语义表示和句子的依赖结构(即区分不同的词性标注及其关系)的模型,通过大量精心设计实现了这一点。最近在深度学习方面的进步允许通过训练可以学习语言规则的深度学习模型来自动执行所有这些过程。这种模型只需要对特定语言句子的数据集进行训练,然后就能够理解和生成用该语言的句子。在示例中,该方法高效地利用了上述近期深度学习的进展。至于密集字幕领域的相关方法,该方法属于一种遵循相同类型模式的框架:它具有可以执行密集计算的离线阶段,以及其中将用户的延迟降至最低的性能是关键的在线阶段。在线阶段可分为两步:·首先可以分析用户提供的媒体,并且第一过程输出该媒体的唯一标识符。该标识符在本领域中被称为“签名”或“特征”。出于性能目的,签名通常是媒体的较小维度表示。例如在歌曲检索中,签名可能是记录曲调的功率谱的最大谐波的集合。·签名然后转移到第二过程,第二过程从签名中产生句子。这是通过训练以产生句子的递归神经网络来执行的。在在线阶段,句子的产生受到作为模型输入给出的媒体的签名偏置。因此,生成的句子与媒体内容密切相关,并被解释为媒体的描述。在密集字幕中,由模型生成的句子的质量和相关性可能非常依赖于训练期间使用的数据库的质量。离线阶段可以被认为是一个双层过程,基于提供的由图像、图像内部区域和区域描述组成的三元组数据集:·人员可以根据句子的语言来训练语言模型。为此,人员可以收集由三元组数据库中的所有句子组成的数据库。然后人员可以通过将句子标记化并且只保留数据库中足够频繁的词来预处理数据库:这将是学习的词汇表。然后可以在这个预处理的数据库上训练语言模型并学习生成句子。学习生成句子的过程可以基本上包括教导模型以生成在句子中的先前词之后的最可能的词。因此,人员可以获得一个可以逐词生成句子的模型。·人员可以训练媒体的特征提取器。该提取器可以从媒体构建特征并将这些特征作为输入放到语言模型以便于生成描述。在示例中,函数的主要目标是以语言句子的形式给出图像中区域的描述。它可以使用编码器-解码器框架,其中图像被编码为较低维度的代码,然后由语言模型对其进行解码以生成词序列。该方法可以利用卷积神经网络在编码器中进行2d特征提取的高效性。对于解码器,该方法可以利用递归神经网络进行序列生成的高效性。现在讨论前面和/或后面提到的概念。密集字幕包括用人能够理解的句子(词序列)描述图像内的区域的问题。它包括学习模型的参数,将首先提取区域的相关签名,然后从该签名生成一系列词以描述插标的区域。深度神经网络(dnn)是神经网络中学习的一套强大的技术(如论文“rumelhart等人,learninginternalrepresentationsbyerrorbackpropagation,1986”中所述),这是一种生物启发式编程范例,使计算机能够根据观测数据进行学习。在图像识别中,dnn的成功归因于它们学习丰富的中级二维图像表示的能力,而不是在其它图像分类方法(svm、boosting、随机森林等)中使用的手工设计的低级特征(zernike矩,hog,bag-of-words,sift等)。更具体地说,dnn专注于基于原始数据的端到端学习。换句话说,它们通过完成从原始特征开始到结束于标签的端到端优化,最大限度地避免了特征工程。这由图3示出,该图示出了深度神经网络的示例。卷积神经网络(如论文“lecun等人的convolutionalnetworksforimages,speech,andtime‐series”中所述)是深度神经网络的特例,其中较低层的神经元被卷积过滤器替代。这由示出卷积过滤器的示例的图4进行说明。这些过滤器应用在输入中的任何地方,并将特征图作为输出给出。该特征图显示了过滤器识别输入中的某些特定模式的激活区域。深度学习在叠加多个卷积层时的优点是提供一种提取非常复杂但功能强大的特征的方式,这些特征比由描述符获得的基本特征更为复杂。递归神经网络(如在论文“graves,supervisedsequencelabellingwithrecurrentneuralnetworks”中所描述的)是特殊类型的神经网络,其在时间序列处理中已经显示出有利的性能。它们的成功归功于它们在进行预测时整合先前状态的反馈信息的能力。这是通过神经元定义中的时间循环来执行的。最近对rnn的研究使得将门控机制纳入其定义中。这些模型(长短期记忆(lstm),门控递归单元(gru))通过它们的记忆集成和处理消失梯度问题的能力改进了最新技术的性能。在示例中,该框架可以分解为两个阶段。第一阶段(可能被称为“离线”阶段,如上所述)可能严重依赖深度神经网络,尤其是使用卷积神经网络进行媒体中的特征提取以及递归神经网络从这些特征生成句子。术语“离线”是指这个阶段对于该方法的用户可以是透明的事实,并且即使人们有很大的计算需求,也可以花时间进行计算。在这部分期间,可以学习这些网络的参数,并且这可以针对所有来执行。学习过程可以分两步进行:首先可以学习递归神经网络的参数以便具有语言模型,其次可以与递归神经网络相结合学习卷积神经网络的参数以便理解如何提取媒体的上下文特征,并将递归神经网络的学习与特征提取过程相适应。第二阶段(可以如上所述表示为“在线”阶段)收集在从图像区域生成句子的过程中实时执行的所有步骤。图5-6分别示出了离线阶段和在线阶段的示例技术工作流程。现在讨论语言建模的示例。区域加字幕过程的第一要点可以是语言建模。可以从描述图像区域的字幕中学习该语言。这可以尽可能地以最大的精度学习,以确保生成的字幕是正确的并且可以被人理解。尽管区域加字幕任务的全局体系结构可以通过端到端的方式学习,但发现将语言模型分开学习,然后将参数调谐到全局模型会带来更好的性能。最后,语言模型的学习可以分两部分进行:1.从数据集中预处理字幕2.以生成模式训练递归神经网络现在讨论从数据集预处理字幕的示例。预处理数据集中的字幕可以允许很好地学习语言模型的参数。在原始数据集中,句子可以是字符串的形式。标记器可以首先标记这些句子,即分开不同的词并将它们置于小写。事实上,在计算机的角度来看,“汽车”和“汽车”的字符串可能不一样。而且,在设计标记器时可能会做很多工作,因为它们可能被配置为处理标点符号和特殊字/缩写词。例如,标记器可能必须考虑“u.s.”和“us”是相同的标记。一旦句子被标记化,可以为该语言设计词汇表。这可能意味着并非所有词都是由模型学习的,而只是数据集中频率最低的词。事实上,较容易的是,模型不以较高的相关性学习很少出现的词的含义。现在讨论从数据集中的字幕对语言模型进行训练的示例。可以通过将递归神经网络视为生成模型来完成语言模型的训练。在一个实现方式中,人们可以使用长短期记忆(lstm)(例如,如在论文“s.hochreiter等人的longshort-termmemory”中所描述的)。lstm是一种特殊类型的递归神经网络,在进行预测时具有显式的存储器和门控机制以与存储器交互。它们在各种暗示时间序列的域,特别是在自然语言处理中展示了它们的高效性存在lstm单元的若干实现方式,它们可以因单元内部的窥视孔连接或门的数量而不同。例如,门控递归单元(gru)是一个只有两个门的特殊实现方式。该方法可以在特别高效的实现方式中考虑在论文“s.hochreiter等人的longshort‐termmemory”中描述的原始lstm实现方式。该方法可能已经将lstm的输出维度设置为语言的词嵌入空间的维度。以下讨论词嵌入的概念。在自然语言处理中,让lstm处理由一个热点向量表示的词(即词汇表大小向量,除了插标词的索引处其它地方都是0),这将耗费太多时间并且不具有计算效率。事实上,在这种情况下,向量的大小应该是词汇表的大小,在lstm的定义中需要太多的参数。相反,该方法可以做的是将这些词嵌入到某个词嵌入空间中。这样的空间具有有趣的属性,因为它反映了词的含义,并按照它们的含义对它们进行了聚类。词嵌入的概念在2013年确实引起了兴趣,特别是google推出了word2vectm。这是利用称为skip-gram的特定方法以负采样在googlenewstm上学习的模型(在论文“t.mikolov等人的distrbitutedrepresentationsofwordsandphrasesandtheircompositionality”中进行了描述)。在这里,该方法可以使用lstm以不同方式学习词嵌入作为替代。在解释lstm的句子生成过程时,将词嵌入与lstm结合起来可能会有所帮助。预测词的过程如下:·lstm的输出是词嵌入空间中的点。·预测的词则是嵌入表示与预测点最接近的词。·预测的词的嵌入表示然后被馈送到lstm的输入中以预测下一个词。因此,该方法可以在训练期间学习与词嵌入相结合的lstm的参数。这些参数可以从数据集的大量字幕中学习。这可以是针对语言建模训练这一特定任务的训练集。字幕不需要额外的约束,因为它们可能已经使用标记化和词汇表限制定义进行了预处理。现在讨论由该函数操作的上下文特征提取。区域字幕中的第二个基本要点可能是从媒体提取特征。这个特征然后可以在稍后作为lstm的输入给出,以便偏置lstm的句子预测并使其生成描述该区域的句子。这里的方法的主要贡献可能是考虑在该媒体中由该地区周围上下文化的感兴趣区域的特征。因此,该方法获得了媒体中感兴趣区域的上下文特征,并且由于其考虑了来自该区域的周围的信息而更加丰富。现在讨论提取特征向量的示例。媒体的特征提取过程是一个具有挑战性的任务,有几种可能的方法。在引入深度学习之前,这是通过诸如sift或surf等描述符来完成的,这些描述符给出了经过设计的特征。原本这些特征给出了图像的低级签名:描述符给出了特征图,该特征图显示了在图像中检测到像对象轮廓这样的低级元素的激活区域。深度学习的进步使现在有可能从图像学习特征。由于可以堆叠在神经网络中的大量层,现在还可以真正地深入特征的定义。在一个实现方式中,该方法可以利用卷积神经网络(例如,如在论文“y.lecun等人,backpropagationappliedtohandwrittenzipcoderecognition,neuralcomput,1989”中所述)。cnn是使用卷积代替一般矩阵乘法的神经网络,并且已经证明它们高效地识别来自具有杂乱背景和多个其他对象的图像中的复杂场景的对象。更具体地说,该方法可以实现赢得ilsvrc2012的分类任务(即在1000个类别中识别图像中存在的对象的类别的任务)的cnn。它被称为alexnet,并在论文“alexkrizhevsky,imagenetclassificationwithdeepconvolutionalneuralnetworks,nips2012”中进行了描述)。然而,该方法可以通过去除第八完全连接层(在文献中fc8)上方的层来使得这样的网络适应手头的特定任务,因为该层被设计为ilsvr挑战中的1000维,ilsvr挑战是对来自1000个类别的对象进行分类的挑战。因此,最终,该方法可以考虑的截断版本的alexnet网络由5个卷积层(具有池化和归一化)和2个完全连接层组成。并且截断的alexnet的最后一层(即fc7)包含4096个神经元,因此图像的特征向量将是4096维向量。现在讨论组合该区域特征和周围特征的示例。当设计区域签名时人们只考虑感兴趣区域内的信息,人们就会漏掉区域上下文给出的大量信息。当图像中的区域大小很小时尤其如此:在这种情况下,cnn不会捕捉到非常丰富的特征。为了改善区域特征的质量,该方法因此可以将其与在图像中的区域的周围提取的上下文特征组合。这是通过将来自区域图像的由第一cnn(其可被称为区域cnn)提取的特征与来自包括该区域的图像和其周围区域的由第二cnn(其可被称为上下文cnn)提取的特征组合来完成的。组合不同特征时可以使用几种方法。其中的方法可以实现:·级联:区域的特征向量和周围区域的特征向量级联成表示上下文特征向量的向量。·相加:将区域的特征向量和周围区域的特征向量相加成表示上下文特征向量的向量。·使用完全连接层:将区域的特征向量和周围区域的特征向量级联成向量,并在级联之上添加完全连接层。这导致另一个表示上下文特征向量的向量。图7说明了在神经网络体系结构级组合特征的这个过程。现在讨论如何针对特征提取和语言建模端到端地训练模型的示例。网络中特征提取和组合的训练可以与来自语言建模部分的lstm的训练联合进行。所有这些都可以以端到端的方式完成。该方法可以仅根据利用语言建模部分学习的参数微调lstm的参数。因此,在训练的这部分中,可以学习整个模型,以便根据作为输入给出的区域和周围上下文生成字幕。网络的参数因此可以在具有内部指定的区域的大量图像和描述这些区域的字幕上进行学习。这样的三元组(整个图像、区域图像、字幕)集合表示训练数据集。这里不需要对图像大小或字幕属性进行约束,因为在讨论语言建模时,已经按照上述相同的方式对字幕进行了预处理。现在讨论如何将所有上述示例阶段放在一起的示例,参考图8-9,这些图分别表示离线阶段示例和相应的在线阶段示例。最终的过程可能会整合上下文特征提取过程和语言模型。整个模型的学习可以在端到端的过程中完成。然而,可以首先从字幕数据库中对语言模型进行学习,然后将学习权重微调到体系结构的lstm部分。当人们将这两个过程结合起来时,从该区域和上下文中提取的组合特征的上下文特征向量作为语言模型的输入给出,以便用该向量给出的信息来偏置该句子的预测。因此,生成的句子与该区域及其上下文带来的信息强相关,然后给出由该上下文带来的信息加强的该区域的描述。所有的训练细节如图8所示。在图9的在线阶段中示出测试模型。图10示意性地示出了根据图2的示例的在线阶段的简化示例。在t=0(即,第一次迭代)时,表示句子开始的词嵌入向量h<bos>被输入到lstm1以初始化加字幕过程。lstm1的输出作为输入传递给lstm2,lstm2还被提供有组合的签名230作为另一个输入。然后,lstm2输出词嵌入向量,该词嵌入向量输入到词嵌入层,该词嵌入层进而输出词汇表的每个词的生成概率向量(该词汇表被简化为三个词“<eos>”,“公共汽车(bus)”和“停放”为了保持示例简单)。然后生成“公共汽车”这个词,因为它是最高概率的一个。在t=1时(第二次迭代)时,词“公共汽车”的词嵌入向量被输入到lstm1,lstm1将基于此及其过去的输出(由附图标记280表示)来输出结果到lstm2,lstm2本身基于此,基于签名230及其过去的(由附图标记270表示)将向量输出到将产生词“停放(parked)”的词嵌入层。在t=2(最后一次迭代)时,执行相同的过程以观察词嵌入层的输出是<eos>,指示过程结束。该过程因此在此处终止,由该函数生成的字幕“公共汽车停放”对应于图2的图像210的区域220。图11-13各自显示了各自具有相应区域310-360的相应图像。下面的表i-iii提供了通过该方法的实现方式在这些图像和区域上输出的字幕(一个使用了对签名组合的级联,另一个使用了对签名的组合的相加),与由现有技术(lrcn,即非上下文化区域签名)的实现方式输出的字幕进行比较。可以看出,该方法生成的字幕质量较好。区域lrcn上下文特征:级联上下文特征:相加310黑白花的狗穿黑色夹克的男人穿黑色夹克的男人320黑白花的猫红色小汽车黑白花的狗330地板是拼接的道路上的白线道路上的白线340没叶的树背景中的树带绿叶的树350树没叶没叶的树背景中的大树360大窗户大建筑物带大钟表的建筑物表i–对于图11的图像的区域生成的字幕区域lrcn上下文特征:级联上下文特征:相加310火车是黑色的人行道道路上的白线320地板是拼接的道路上的白线道路上的白线330建筑物一侧的墙壁黑白街标黑白照片340黑白照片街道上的公共汽车道路上的公共汽车350大建筑物大建筑物大建筑物360轨道上的火车白色建筑物大建筑物表ii-对于图12的图像的区域生成的字幕表iii-对于图13的图像的区域生成的字幕表iv示出了基于之前提到的指标的不同指标的所述方法的不同实现方式(和现有技术lrcn的实现方式)之间的比较。该函数是基于数据库“visualgenome”学习的,子区域>100px(表中表示的所有模型均已在此数据库中进行了训练和测试)。设置不同的nlp评估指标来与由人类生成的测试集中的参考字幕相比较评估生成的字幕的质量。bleu-n(n=1..4):这是一种流行的nlp评估指标,用于计算在生成的字幕和参考字幕中出现的n-gram的比例的量。惩罚太短句子的惩罚系数乘以这个量。meteor:这是一种语言特定的评估指标。它利用对词同义词敏感的词对词匹配将候选句子和生成的句子进行比较。rouge-l:这是通过查看候选句子和生成的句子之间最长的公共子序列来比较候选句子和生成的句子的指标。cider:这是基于共识的评估指标,其中句子中的词汇以根形式进行变换,并比较这些转换后的句子的n-gram集合。可以看出,该方法通常比现有技术表现得更好。而且,看起来由早先描述的实现方式提供了特别好的结果,该实现方式包括用于提取图像和区域的签名的cnn共享权重,随后是两个签名的连接,然后是完全连接层。表iv-不同实现方式的比较当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1