APP下载

多模态图像描述任务综述

2023-07-29朱晨豪陆琪多

计算机仿真 2023年6期
关键词:解码器编码器模态

朱晨豪,叶 霞,陆琪多

(火箭军工程大学,陕西西安710025)

1 引言

近十年的时间里,深度学习技术飞速发展,2012年AlexNet[1]在ImageNet图像识别大赛中一举夺魁,正式拉开了深度学习技术快速发展的序幕,卷积神经网络(CNN)和循环神经网络(RNN)被更多学者认可,成为计算机视觉、自然语言处理、机器学习等领域进行科研实验的主流方法。随着研究人员数量上的增多,更多高效的网络架构也被提出,例如:VGG[2]、Google Net[3]、ResNet[4]、LSTM[5]和GRU[6]等,逐步提高了深度学习技术在目标识别[21]、语义分割[37]等任务上的性能表现,也解决了许多现实生活中的许多问题并催生了实际应用,包括手机中的语音助手、具有人脸识别功能的门禁系统以及现在触手可及的各种智能家居,都是深度学习技术发展为人类生活带来的便利。

当深度学习技术在传统的计算机视觉和自然语言处理领域取得巨大成功时,有越来越多的学者关注到了结合计算机视觉和自然语言处理领域的多模态任务,即尝试让机器通过构建能够联合多种模态信息的模型来捕捉不同模态之间的对应关系和语义特征,从而能够同时处理多种形式的数据(图像、音频、文本等),加深机器对现实世界的感知。主要研究任务有多模态情感识别[42]、图片描述[27,30,31]、视频分类[56]、多模态对话系统[35]等,它们在现实生活中都有相应的研究背景和应用价值,以图片描述为例,它在目标识别的基础上,进一步提高了机器对图像理解和描述能力的要求,不仅仅局限于识别图像内的实体对象并给出其正确的分类标签,而是尝试让机器关注图像中实体之间的关系,以文本形式来展现图像中所包含的信息,实现机器从看到图像到看“懂”图像、从感知智能到认知智能的转变,这对人工智能无论是在技术层面的发展还是在工业应用上的推动都具有重要意义,该技术在图片检索、视频描述、帮助视障人群和婴幼儿早教方面都有极大的应用前景。

2 图像描述方法的发展与分类

在本节中,将介绍图像描述任务各类方法的发展情况,根据文本生成时是否依赖于人为制定的规则将所有方法分为两大类:半自动化生成方法和自动化生成方法,在这两类之下,又从生成规则、模型架构、模态融合等方面对各类方法进行详细划分,为了使读者有更直观清楚的阅读体验,方法分类结构如图1所示。

图1 图像描述任务的方法分类

2.1 半自动化生成方法

这类方法是图像描述生成早期的方法,这类方法的特征是文本生成模型一般都有所依赖,要遵循已有的标题生成规则或图像和标题的语料库来生成图像描述。按照生成规则的不同,又分为了基于固定模板的方法和基于空间检索的方法。

2.1.1 基于固定模板的方法

Farhadi等人[22]提出了一个由物体、动作、场景组成的三元组模板填充方法,通过求解马尔可夫随机场(MRF)从图像中检测出相应的三元组元素,将其填充到模板相应的空白槽中来生成文本描述。Kulkarni等人[19]在此基础上扩展介词元素,组成四要素对模板进行填充。基于模板方法步骤分为:

1)预定义带有空白槽的模板;

2)从图像中检测出对象、动作、场景等要素;

3)将上一步的要素填入空白槽生成标题。

由于该方法的模板结构和长度固定,不能根据特定图像的需要生成变长语句描述,导致生成的文本句式固定,不同图像描述任务生成的语句具有很高相似性,与人为自然化描述有较大差距,所以基于模板的方法不能完全胜任图像描述的生成任务。

2.1.2 基于空间检索的方法

空间检索方法需要维护一定数量图片和与之相匹配的标题组成的语料库,将它作为图像描述任务的检索库。例如,Hodosh等人[14]创建了由8000张图片和40000条标题组成的语料库,每张图片有5个不同的标题来描述其中对象与事件,整个语料库用于支撑图片和文本的空间检索方法。其方法概括为:

1)首先基于图像搜索方法在检索池中检索相似图像;

2)将相似图像的标题作为候选的标题库,然后从中选择最为匹配语段组成标题。

该方法要花费较大的人力和时间去维护一个语料库,如果语料库数据范围存在局限性导致与检索图像匹配度过低,则生成的标题会在语义和精确度上呈现出较差结果。而这种根据已有的标题进行检索生成标题的方法显然不能达到人工智能标准,因为它不能够根据自己的理解创造性的为图像生成标题。

2.2 自动化生成方法

随着CNN和RNN在计算机视觉和机器翻译任务上取得较好效果,在各大比赛中拔得头筹时,这也直接影响了计算机视觉和自然语言处理交叉领域图像描述任务的进展,有学者将其应用到多模态领域的图像描述任务,提出了基于神经网络的端到端模型,这种模型一般采用编码器—解码器架构,相较于基于固定模板或空间检索的方法,该方法不依赖人为预定的生成规则或用于检索的语料库,生成的文本句式灵活、创新度高,对于不同图像的描述任务有较高的泛化能力,逐渐成为研究热点,本文从多角度将自动化生成方法分为不同类别。

2.2.1 视觉空间表示方法

该方法以卷积神经网络学习到的视觉向量作为图像和文本之间的媒介,将图像特征向量和文本特征向量作为独立输入传给解码器,以生成文本。Fang等人[49]提出了词检测器模型,提取出图像中可能存在的单词表述词集,基于这个词集来生成文本描述。Lebret等人[50]提出用短语来表示图像中的内容,基于短语集来生成文本描述。

2.2.2 多模态空间表示方法

单模态数据往往不能包含所有有效信息,例如:文本数据无法包含音频中的语气语调信息,音频数据又无法包含视频中的神态和肢体动作的信息。所以对于预测任务,不同模态数据之间存在语义上的互补性,多模态融合能实现信息的补充,使得预测结果更为精确。多模态数据的融合方法也成为了多模态任务中的基础性问题,现有的融合方法主要分为三类:前端融合、中间融合和后端融合。其中图片描述任务应用中间融合方法居多,这类方法的模态融合步骤为:

1)通过CNN和RNN,分别取得图像特征向量和文本特征的词向量;

2)将视觉特征向量和文本特征的词向量映射到共同的多模态向量空间;

3)将多模态空间向量传给语言模型解码器生成文本描述。

Kiros等人[30]首次提出了多模态语言模型,基于对数双线性模型提出了模态偏对数双线性模型和三因子对数双线性模型,该方法基于卷积神经网络和多模态神经语言模型,通过学习图片和文本的联合表示来生成文本描述。在现在看了该融合方法虽然有不足之处,但它首次将多模态融合的数据表示方法引入学者视线中,对于图像描述任务的发展仍有重大意义。Kiros等人[31]在文献[30]的基础之上将学习到的图片和文本表示,通过一个全连接层映射到多模态空间,引入了结构-内容神经语言模型(Structure-Content Neural Language Model-s,SC-NLM)模型对多模态空间向量进行解码生成标题,它能够提取句子结构变量来指导标题的生成,降低语法错误概率。比较有意思的是,由于SC-NLM采用线性编码器,学习得到的多模态空间向量也满足加法运算性质。

Mao等人[40]提出了多模态循环神经网络模型(M-RNN),该模型包含两个词向量层,一个RNN层,一个多模态层和一个SoftMax输出层。多模态层将三个输入(文本特征、循环层特征和图像特征)通过元素相加的方式来映射到共同的多模态向量空间,该方法没有考虑文本和视觉特征之间的语义关系,忽略了多模态融合时的语义对齐问题,这样的映射处理过于粗糙会产生噪声,对模型最终产生的结果会有负面影响,导致生成描述的准确性下降。

针对多模态融合时的语义对齐问题,Karp-athy等人[43]在文献[36]的基础上提出了视觉语义对齐模型,该模型由负责提取图像视觉特征的R-CNN[21]、提取文本特征的双向循环神经网络(B-RNN)以及计算图像与文本匹配得分的函数三部分组成,通过计算句子片段和图像区域的向量点积来代表两者的相似性度量,只将相似性最高的句子片段和对应的图像区域进行匹配,以相互匹配的图片区域和句子片段作为目标函数中的得分项,以不匹配的图片区域和句子片段作为惩罚项,来不断优化模型参数,达到语义对齐的效果。实验结果表明,在将多模态信息进行语义对齐后,模型在图像与句子的检索和生成任务上的表现都有所提升。

Chen等人[51]研究了图像和文本双向映射的可能性,在为图像生成描述的基础上,尝试让机器能够像人一样通过文本描述而生成与之相匹配的画面。在Mikolo等人[9,10]工作的基础上做了结构上的创新,这里的模态融合把VGG网络提取到的视觉特征作和RNN时间步t-1时刻隐藏层的输出作为时间步t的输入,计算出单词Wt的概率。该文章主要贡献分成两个方面:

1)提出了一个全新的任务。不同于前期大家致力于由图像生成对于描述的目标,该文献提出了由文本描述生成对应视觉表示的全新任务;

2)提出一个可以实现文本和图片相互转化的双向生成模型,该模型主要是在文献[9,10]的基础上增加了循环视觉隐藏层,它能根据上层RNN生成的文本来更新调整图像内容,也可以将生成的图像与输入图像视觉特征集进行比较,帮助RNN预测下一个词语。

2.2.3 组合网络结构

组合网络架构[48-50,55]一般是由几个独立的模块组成的非端到端模型,主要包括提取图像特征的视觉模块和生成文本的语言模型模块,这类结构一般将图片描述任务分成几步来完成,其方法如下:

1)由CNN或其它视觉模块提取图像特征,包括场景、对象、属性等信息;

2)语言模型根据步骤1中的信息生成候选文本描述;

3)根据图片—文本相似度度量模型筛选出得分最高的文本描述。

Fang等人[49]采用bottom-up机制,整个模型由词检测器、最大熵语言模型和深度多模态相似模型(Deep Multimodal Similarity Model,DMSM)三部分组成,DMSM是在单模态深度结构化语义模型[59]的基础上提出的,它由图片模型和文本模型两部分神经网络组成,将文本和图片模态数据映射到共同的语义空间,定义两者的余弦相似度为生成描述和图像之间的匹配程度。本文生成描述的方法为:

1)训练词检测器。常用的图像检测方法智能检测出图像中的实体,而形容词、动词等描述性词语很难检测出了,为了从图像中检测出想要的词,采用弱监督的多示例学习方法Noisy-OR MIL在由训练标题组成的词集上训练词检测器;

2)提取单词集。用训练好的词检测器提取出图像中所有可能存在的词;

3)生成描述集。基于检测出的单词集,使用最大熵函数语言模型使生成的描述尽可能包含多的信息;

4)计算图像—文本相似度。使用DMSM计算生成描述与图片之间的相似度,选择具有最高相似度的文本作为最终结果。

Ma等人[48]提出使用基于多层优化的多任务方法来生成〈对象,属性,动作,场景〉的结构化词语作为LSTM输入生成描述。Lebret等人[50]认为图像描述的关键要素是名词短语,而名词短语之间的作用关系则可以用介词短语或动词短语来表示,所以只要识别出图像中的名词短语、介词短语和动词短语后便能很好的对一副图像进行描述,提出了一种检测图像短语描述的模型,由短语来生成文本描述。利用CNN从图像中提取可能的短语集,将短语向量表示为短语中词向量的平均值,采用约束语言模型生成文本描述,固定的生成规则会限制模型学习方向,无法学习更多自然描述方式来修饰句子,从而大大减小生成语句的灵活性。组合网络结构的几个组成模块不能实现端到端训练,需要分别学习各部分模型参数。

2.2.4 编码器—解码器结构

编码器—解码器结构是一种端到端的学习机制,网络接收输入图像之后的输出结果便是对该图像的描述,一般由CNN视觉编码器和LSTM语言解码器组成,如图2所示。

图2 编码器—解码器结构示意图

Kiros等人[31]受机器翻译和多模态学习最新方法的启发,将编码器和解码器引入了图像描述任务,提出使用CNN和LSTM组成的编码器学习图片和文本表示,SC-NLM模型对多模态空间向量进行解码生成标题。Vinyals等人[41]提出了一种神经图像标题生成器(Neural Image Caption Generator,NIC)模型,NIC是典型的端到端模型,由CNN和LSTM组成编码器和解码器,CNN隐藏层的输出作为LSTM编码器的输入。Wang等人[34]提出了并行RNN-LSTM结构,进一步提高了解码效率。

经典LSTM在生成长序列时的生成效果会下降,主要问题在于CNN编码器传入的图像信息只在t0时刻传入LSTM,随着时间步的增加,图像信息的指导作用会逐渐减弱,LSTM也不能保留所有时间步的信息,会遗忘之前的已经生成的文本,只能结合当前时间步的输入以及之前一定范围内的隐藏状态预测输出。针对此问题,Jia等人[37]主要对LSTM提出了改进,在原有遗忘门、输入门、输出门的基础之上增加了一个从图像中提取的全局语义信息作为额外输入,这样LSTM的每个单元中每个门都有全局语义信息的输入,使图像信息能够持续的指导文本生成,提高生成的文本与图像内容的契合度。g-LSTM根据全局语音信息的不同又细分为基于检索指导、语义向量指导和图像指导。

LSTM对当前输出的预测依赖于视觉特征和前一时刻隐藏层信息,无法根据下文信息推断当前的输出。为了利用上下文信息提高预测的准确率,Wang等人[53]使用双向长短期记忆网络(Bidirectional LSTM,b-LSTM),整个模型由负责图像编码的CNN,文本编码的b-LSTM和多模态LSTM三部分组成,b-LSTM分别按照顺序和倒序对输入文本编码,同视觉特征向量输入多模态LSTM层嵌入到共同语义空间,并解码成文本描述。

不难看出对于编码器—解码器结构的改进,主要从图像特征提取的编码器和生成描述的解码器部分入手,尝试使用性能更强大的网络来提取图像内的信息(图像中的对象、对象之间的联系等)。解码器部分对RNN或LSTM的改进也是为了根据编码器的输出生成更精确的描述。未来随着目标检测和机器翻译技术的进一步发展,基于编码器—解码器的图像描述方法也会随之取得更好的效果。

2.2.5 注意力机制

为了使生成描述能够更加细致的,研究人员在原有方法的基础上引入了注意力机制[23-29,66-72],以在特征提取方面取得更好的效果。Xu等人[27]受机器翻译任务启发,提出了一种基于注意力机制模型,该模型提出了软确定性和硬随机性两种注意力方法。文献[70]在文献[27]的基础上提出了改进,将全连接层替换为分组卷积的注意力机制。Pedersoli等人[24]提出了一种区域注意力模型,该模型使用基于空间Transformer的卷积变体来提取图像的注意区域,将注意区域与生成的词联合起来,对下一时刻的生成词和注意区域进行预测。文献[65]提出一种多层注意力模型,多层注意力结构与多层LSTM交叉连接组成多层次的语言模型,由Faster-RCNN提取不同区域的图像特征,分层依次传入多层次语言模型生成描述。

在注意力驱动模型的情况下,体系结构隐式地选择在每个时间步骤中关注哪些区域,但它不能从外部进行监督,无法控制描述哪些区域以及每个区域的重要性。Cornia等人[45]提出了一种区域可控的注意力模型,通过Fast-RCNN得到区域序列,再由排序网络(SortingNetwork)得到排序后的区域序列,在原有LSTM基础上增加了语块转换门和自适应注意力机制的视觉哨兵,前者选择下一时间步的图像区域,哨兵向量控制模型在预测词语时是否根据图像区域进行预测。

2.2.6 强化学习方法

以上所提及的工作都是监督学习方法,这些方法都存在共性问题,训练出来的模型受限于标注的数据集,所以模型生成的文本与数据集的描述很相似,这种现象成为暴露偏差,成因是模型的输入在训练和推断时的不一致造成的。在训练时每一个词输入都来自真实样本,但是在推断时输入用的却是上一个词的输出。为解决这个问题,研究人员引入了强化学习方法。Ren等人[73]提出了基于政策网络和价值网络的图像描述方法,分别起到局部和全局指导的作用,其中政策网络根据当前状态预测下个词语,价值网络评估当前状态的可能拓展评估奖励价值,使用了一种新的视觉语义嵌入奖励的actor-critic强化学习方法来训练这个模型。Ranzato等人[74]针对暴露偏差问题,提出一种新的序列训练方法,在解码器部分采用了基于强化学习的混合增量交叉熵增强方法 (Mixed Incremental Cross-Entropy Reinforce,MIXER),在训练时通过随机采样的方法使用前一时刻预测的高概率词语作为下一时刻的输入,避免因训练和测试时输入不同问题导致生成描述的准确性降低。Rennie等人[75]提出了自我批判序列训练(self-critical sequence training,SCST)优化算法,该方法使用贪婪搜索的方法计算奖励信号,利用测试时的输出奖励规范奖励信号,这样可以避免估计奖励信号和奖励归一化,实验结果表明,该方法能够提升模型训练效果。

2.3 小结

本节从多角度对图像描述任务方法进行分类,为了对各方法的具体效果有更直观的展示,从各类别中选出几个方法在MS COCO数据集上的效果进行对比,见表1。

表1 不同方法在MS COCO数据集上的对比

3 常用数据集和评价指标

3.1 常用数据集

深度学习技术的发展是建立在大型数据集的基础之上,如果没有数据集提供给模型进行训练,模型的各种性能的比较就无从提起。本节介绍了图像描述领域常用的6个数据集,从图片数量、平均标注数量、实体类别、是否分组四个方面进行对比,见表2。

表2 数据集对比

3.1.1 Flickr8K

Flickr8K数据集总共包含8000张图片,每张图片配有5个不同的标注,对图片中的内容进行了描述。其中6000张图片和对应的标注组成训练数据集,2000张用于测试和开发。

3.1.2 Flickr30K

Flickr30K数据集包含31783张图像,每个图像有五条不同的标注,共计158915句话,它没有划分好训练集和测试集,训练集和测试集的大小和内容可以由研究人员按需确定。

3.1.3 MSCOCO

MS COCO是由微软团队提供的用于图像识别、语义分割和图像标注的数据集,有超过30万张图片、200多万条标注,图像分为80种类别并且已经划分好了训练集和测试集。

3.1.4 Visual Genome

Visual Genome数据集是斯坦福大学李飞飞团队于2016年发布的大规模图片语义理解数据集,共计10.8万多张图片,每张图像平均包含35个对象、26个属性和21个对象之间的成对关系。标注工作主要包括七个部分:区域描述、对象、属性、关系、区域图、场景图和问答对。

3.1.5 Instagram

Instagram数据集是由Tran等人[55]和Chunseong等人[56]提出的两个数据集组成,包含来自Instagram应用上的约1万张图片,大部分是名人的照片。后者提出的数据集主要应用于标签预测任务,包含了110万条主题广泛的帖子和一个来自6300多个用户的标签列表。

3.1.6 ImageNet

ImageNet数据集是深度学习图像研究领域经常使用的大型可视化数据库。超过1400万的图像URL被ImageNet手动注释,来标注出图像中的对象,在至少一百万个图像中,还提供了边界框。ImageNet包含2万多个类别,每个类别包含数百个图像。

3.2 评价指标

由于图像描述任务生成的是文本描述,不同于目标检测任务,文本打分并没有一个完美的评判标准,其中最重要的还是人类对生成描述的评价,但由于人与人的看法不同,难以有一个统一的评判标准,所以对于图像描述任务采用有固定标准的评价机制,常用的评价指标有BLEU、ROUGE、METEOR和CIDEr。

3.2.1 BLEU

BLEU(Bilingual Evaluation Understudy)实际上是判断两个句子的相似程度,基于n-gram来判断译文与参考译文的n元组匹配个数,得分范围是0~1,得分越高代表模型效果越好,根据n的不同又分为不同指标,如,BLEU-1、BLEU-2等,一般只计算BLEU-1~4的得分。

3.2.2 ROUGE

ROUGE(recall-oriented understanding for gisting evaluation)是评估自动文摘以及机器翻译的一组指标。它将生成的描述与人工描述进行比对,统计二者之间相同的基本单元的数目,来评价摘要的质量,得分越高代表模型效果越好,常用的评价标准有:Rouge-N、Rouge-L、Rouge-S等。

3.2.3 METEOR

METEOR是基于单精度的加权调和平均数和单字召回率的度量方法,它将语序纳入打分范围,通过比对生成文本与参考文本的单个词的重叠部分,当两者不同时适当给予惩罚来降低分数,同样也是得分越高代表模型效果越好。

3.2.4 CIDEr

与以上方法不同,CIDEr是为图像描述专门提出的一种评价方法,其基本工作原理就是通过度量带测评语句与其它大部分人工描述句之间的相似性来评价相似性,CIDEr首先根据n-grams编码参考句子中的出现频率,根据信息熵公式,数据集中图片出现频率越高其包含的信息量越少,相应的其权重也应降低,通过TF-IDF计算每个n-gram的权重。将句子用n-gram表示成向量形式,每个参考句和生成句之间通过计算TF-IDF向量的余弦距离来度量其相似性。

4 结论

本文回顾了近年来多模态领域图像描述任务的发展,对其方法从多角度进行了分类总结,深度学习的方法和强化学习方法的引入,使得图像描述效果得到很好地提升,也产生了许多应用,但距离真正意义上使机器能够智能化描述图像还有不小的差距。基于目前发展趋势,以下几个方面可能会成为未来研究重点。

1)从监督学习转向无监督学习图像描述方法研究。机器监督学习需要使用有标注的图像数据集,但图像数据集的标注是一项耗时耗力的工作,现有标注的数据集容量远小于未标注的数据,由于无监督学习方法可以摆脱数据集限制,使用未标注数据进行训练,所以为了取得更好的效果,无监督学习方法可能会成为未来图像描述任务的研究热点。

2)带有情感的多样化图像描述生成研究。通过数据集训练得到的描述模型,其描述风格在一定程度上与数据集中描述的风格相类似,无法做到像人类一样根据看到图像时的情感来生成多样化的描述,在未来的研究中,可以考虑将情感作为额外的输入信息,来指导编码器结构生成描述文本,从而生成多样化图像描述。

3)去复杂化的图像描述模型研究。自从引入深度学习技术后,图像描述任务的模型不断复杂化,从组合网络到编码器—解码器结构,在编码器—解码器的基础上又加入了注意力机制,而且神经网络层数的加深会导致误差累积而降低训练效果。模型复杂化会提高对设备的算力要求,不利于图像描述技术在手机、车载电脑等微端的应用。所以为了使图像描述技术更好的应用于现实生活中,模型的去复杂化研究可能成为未来的研究方向。

猜你喜欢

解码器编码器模态
科学解码器(一)
科学解码器(二)
科学解码器(三)
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
基于FPGA的同步机轴角编码器
基于PRBS检测的8B/IOB编码器设计
JESD204B接口协议中的8B10B编码器设计
国内多模态教学研究回顾与展望
基于HHT和Prony算法的电力系统低频振荡模态识别
多总线式光电编码器的设计与应用