基于显著性特征提取的图像描述算法
2022-04-14王鑫宋永红张元林
王鑫 宋永红 张元林
图像描述(Image captioning)是涉及到计算机视觉和自然语言处理这两个领域的一个重要的研究方向,主要工作是实现图像到文本的多模态转换[1-3],需要计算机能够识别图像上的对象,理解对象的属性、对象之间的关系,并用人类的语言表达出图像上的内容.
目前常用于图像描述的编码器-解码器 (Encoder-Decoder)框架最早受启发于机器翻译[4-6],NIC (Neural image caption)[7]模型作为第一个使用这个框架的图像描述模型,以卷积神经网络(Convolutional neural network,CNN)作为编码器来提取图像上的视觉信息[8-9],得到一个包含有整幅图像上视觉信息的全局视觉向量,以单层的长短期记忆网络(Long-short term memory,LSTM)[10]作为解码器,在生成图像描述的初始时刻将全局视觉向量输入LSTM 网络中,之后逐步生成图像描述中的每个单词.文献[11]中提出了g-LSTM (Guiding LSTM)模型,它与NIC 模型最大的不同在于,不仅将全局视觉向量作为LSTM 网络的输入,也将全局视觉向量用来构建LSTM 网络的各个门,作者尝试以这种方法来引导LSTM 生成更加贴合于图像内容的描述.文献[12]中使用多标签分类的方法,对图像进行多标签分类,从而将图像上的多个高层属性编码进一个0-1 向量中,该向量的每一维都对应属性库中的一个属性,如果图像上具有该属性,向量对应维度的值取1 否则取0,作者使用该向量代替编码器给出的全局视觉向量,取得了比较好的效果.
虽然这几种编码器-解码器模型都取得了不错的效果,但存在两个主要的问题:
1)包含整幅图像视觉信息的全局视觉向量在初始时刻被输入解码器中,解码器需要自己从中抽取预测单词所需的视觉信息,造成解码器负担过重.
2)作为解码器的LSTM 网络在预测每个单词时都会接收新的输入并遗忘掉现有的部分信息,这就造成了随着预测的进行一些重要的视觉信息会被遗忘掉,从而导致语言模型[13-15]预测出的单词逐渐缺乏图像上视觉信息的指导,偏离了图像的真实内容.
在编码器-解码器框架的基础上,相继提出了多种注意力模型.文献[16]中最早将空间注意力机制引入到图像描述领域,在预测单词时空间注意力模型能够根据LSTM 的隐含层状态来为每个局部视觉向量分配不同的权重,然后通过加权求和得到当前单词所需的视觉向量.空间注意力模型与编码器-解码器模型的结合,一定程度上解决了编码器-解码器模型的上述两个问题.但是同时也产生了3个新的问题:
1)在空间注意力模型中,每个局部视觉向量只对应一个标量权重,所以特征向量的每一维都需要乘以相同的权重,空间注意力的这种操作相当于认为同一个图像区域中所有视觉特征具有同等重要性,但实际情况并不是这样,所以本文认为空间注意力模型对特征的选择是不准确的.
2)空间注意力模型对局部视觉向量上视觉特征的选择是强制性的,解码器在预测每个单词时,空间注意模型都要求局部视觉向量权重之和为1,这就造成了局部视觉向量上没有解码器需要的视觉特征时,空间注意力模型也会向解码器中输入视觉特征,这些视觉特征就如同噪声一般,会干扰解码器对单词的预测.
3)空间注意力模型是一种自顶向下的注意力模型,对于生成一个长度为n的句子,空间注意力模块需要被执行n次,并且每次执行空间注意力模块时所有的局部视觉向量都需要参与运算,这无疑大大限制了模型的时间性能.
针对空间注意力模型存在的第2 个问题,文献[17]提出了自适应注意力机制(Adaptive attention),这种方法在局部视觉向量集合中添加一个编码有已生成单词序列语义信息的向量,当局部视觉向量上没有解码器需要的视觉信息时,该语义向量所对应的权重就会接近于1,从而可防止空间注意力模型强制向解码器中输入视觉特征.但是自适应注意力机制没能解决第1 个问题和第3 个问题,而且增加了空间注意力模型的参数量和计算复杂度.文献[18]提出的SCA-CNN (Spatial and channel-wise attention in CNN)一定程度上对空间注意力模型的第1 个问题做出了改进,它的通道级注意力模型能够为编码器输出特征图的每一个通道赋予一个权重,与空间注意力模型结合在一起既实现了对空间位置的选择也实现了对通道的选择.但是通道级注意力模型本质上只能为特征图的每个通道计算一个权重,这种对通道的筛选仍然不灵活、不充分,并没有完全解决第1 个问题.另外SCA-CNN 没有考虑解决第2 个问题和第3 个问题,相反的通道级注意力模型同样作为一个自顶向下的注意力模型,在空间注意力模型的基础上进一步增加了模型的参数量和计算复杂度.
1 本文工作
NIC 模型[7]的应用揭示了单个全局视觉向量能够用来生成整幅图像对应的描述,这就意味着全局视觉向量是对图像上的多种视觉信息的编码,相应的每条局部视觉向量都是对局部图像上的多种视觉信息的编码.换句话说,视觉特征提取器输出的每条视觉向量都包含了多种视觉特征.一般而言,单个句子无法描述出图像中的所有内容,所以语言模型在生成单条图像描述句子时,也无法用到所有的视觉特征.我们称视觉向量上对生成准确图像描述有用的特征为显著性视觉特征,其余为非显著性视觉特征,显然对于语言模型来说,非显著性视觉特征就是噪声,会影响其生成准确的图像描述.由于神经网络模型的可解释性不强从而导致特征向量每一维的含义难以被人类所理解,所以对显著性特征和非显著性特征的定义比较模糊,但是我们仍然希望在这种思想的指导下,设计出一种特征提取机制,能够在训练过程中学会区分这两种特征,提取显著性视觉特征,过滤非显著性视觉特征,本文称这种特征提取机制为显著性特征提取机制(Salient feature extraction mechanism,SFEM).SFEM 由全局显著性特征提取器(Global salient feature extractor,GE)和即时显著性特征提取器(Instant salient feature extractor,IE)构成.实验证明本文的SFEM 能够有效解决编码器-解码器模型存在的两个问题,并且能够避免空间注意力模型所存在的三个问题.
本文在MS COCO (Microsoft common objects in context)数据集上对SFEM 进行了评估,使用编码器-解码器模型[7,19]作为基准模型 (baseline),实验表明添加SFEM 模块后,模型在BLEU (Bilingual evaluation understudy)/CIDER (Consensus-based image description evaluation)值上比基准模型有8.63%/11.24%的提升.并且SFEM 可以完全取代空间注意力模型,我们在与SFEM 完全一致的基准模型上实现了空间注意力模型[16,19],实验表明SFEM 在BLEU4/CIDER值上比空间注意力模型有4.29%/5.79%的提升.另外本文还进行了两种模型在图形处理器 (Graphics processing unit,GPU)和中央处理器 (Central processing unit,CPU)环境下的时间性能对比实验,在单块Nvidia TITAN X GPU 环境下本文模型的FPS值比空间注意力模型高17.34%,在Intel Xeon CPU 环境下优势更加明显,本文模型的FPS (Frames per second)值比空间注意力模型高43.80%.由于现有的大多数图像描述算法都是在空间注意力模型上添加新的模块而设计的[17-21],时间复杂度在空间注意力模型的基础上都有不同程度的增加,所以相比于其他目前先进的模型,本文方法在时间性能上具有明显优势.
1.1 算法描述
本文的网络模型如图1 所示,整个模型分解为多个步骤,主要是为了说明每个模块的作用,实际中无论是前向传播还是反向传播,本模型都是一个端到端的网络模型.本文算法的主要步骤如下:
图1 本文网络模型Fig.1 Structure of our network
步骤 1.视觉特征提取.本文选用在ImageNet 数据集上预训练过的Inception-V4 模型作为特征提取器,用来对输入图像提特征,从而得到一个包含有多个特征向量的局部视觉向量集合,以及一个全局视觉向量.
步骤 2.全局显著性视觉特征提取.GE 会从局部视觉向量集合中提取出各个向量上包含的显著性视觉特征,然后将整幅图像上的显著性视觉信息编码进一个和单个局部视觉向量维度相同的特征向量中,本文将该特征向量称为全局显著性视觉向量.
步骤 3.即时显著性视觉特征提取.IE 根据解码器当前的隐含层状态,动态决定从全局显著性视觉向量中获取哪些视觉特征,同时决定视觉特征在当前步预测单词时的参与比例,从而向语言模型提供对预测本时刻单词最有用的显著性视觉特征.
步骤 4.单词预测.本文选用单层LSTM 网络作为语言模型,其需要凭借显著性视觉特征和上文的语义特征,预测本时刻的输出单词.如果输出单词不是句子终止符号,则转到步骤3,否则完成预测.
1.2 本文的主要贡献
1)提出了全局显著性特征提取器.本文的全局显著性特征提取器有三方面的作用:首先,全局显著性特征提取器会从各个局部视觉向量中提取并整合显著性视觉特征,这个操作会为局部视觉向量的每一维都生成一个权重,能够有效克服空间注意力模型对特征选择不准确的问题;其次,全局显著性特征提取器不需要使用自上而下的语义信息,所以对于单幅图像其只需要提取一次显著性视觉特征就可以用来生成任意长度和任意数量的句子;最后,全局显著性特征提取器只输出一条全局显著性视觉向量,能够显著减少解码器端提取视觉信息时的计算量.
2)提出了即时显著性特征提取器.本文的即时显著性特征提取器有两方面的作用:首先即时显著性特征提取器能够根据解码器当前的隐含层状态,动态决定从全局显著性视觉向量中获取哪些视觉特征,并有效控制视觉特征在语言模型预测单词时的参与比例,该比例可以为0,避免了空间注意力模型强制向语言模型输入视觉特征的问题;其次即时显著性特征提取器的计算量明显小于空间注意力模型,执行速度要优于空间注意力模型.
3)提出由全局显著性特征提取器和即时显著性特征提取器组成的SFEM,使用SFEM 能够大幅提高编码器-解码器模型生成图像描述的准确性,并且相比于广泛使用的空间注意力模型,SFEM在生成图像描述的准确性和时间性能两方面都具有明显的优势.
4)将全局显著性特征提取器和即时显著性特征提取器分别与空间注意力模型组合使用,实验结果表明本文的全局显著性特征提取器和即时显著性特征提取器单独使用时也能提升空间注意力模型生成图像描述的准确性.
2 基于显著性特征提取的图像描述模型
2.1 视觉特征提取器
视觉特征提取器通常也称为编码器,主要作用是从输入图像中提取整张图像上的视觉特征.本文选用在ImageNet 数据集上预训练过的Inception-V4 作为编码器.首先将任意尺寸的图像预处理为229×229像素,然后将图像送入编码器中提取其视觉特征.在Inception-V4 中,第3 个Inception-C 模块输出1 536 个通道的特征图,每个特征图的尺寸为8×8,将这些特征图由C×W ×H形变为(W ×H)×C,从而得到局部视觉向量集合{v1,v2,···,v64},vi∈R1536,如图2 所示,本文将图像划分为规则的网格,vi的感受野对应于图像上第i个格子,另外取平均层的输出为全局视觉向量g∈R1536,对应的感受野是整幅图像.
图2 局部视觉向量与图像的对应关系Fig.2 Correspondence between local visual vectors and image
2.2 语言模型
语言模型通常也称为解码器,对于给定的一幅图像I,我们的目标是生成描述这幅图像内容的一条句子S={S1,S2,···,SN},其中Si表示句子中第i个单词.遵循图像描述中有监督学习的优化方式,建立语言模型时的优化目标是最大化产生图像正确描述的概率,所以理想情况下,模型的参数θ应该满足
其中,θ是模型的参数,I是一幅图像,是这幅图像对应的正确描述.使用链式法则展开p(;θ)
为了在表达上简洁,我们去掉了θ.本文使用单层的LSTM 网络对进行建模,即
其中,δ(x,k)表示取向量x第k维上的值,表示全局显著性视觉向量,表示解码器在t时刻所需的显著性视觉向量,W表示网络权重.
2.3 SFEM
在图像描述领域,解码器之所以可以生成描述图像内容的句子,核心之处在于向解码器中输入了视觉特征,这些视觉特征能够指导编码器生成与图像内容相关的图像描述.而如何在合适的时间向解码器中输入合适的视觉特征则是让解码器生成最符合图像内容的描述的关键之处.本文提出了显著性特征的概念,并在提取显著性视觉特征,过滤非显著性视觉特征的思想指导下设计出SFEM,如图3所示,SFEM 包含GE和IE 两个部分.GE 能够自适应地提取视觉向量vi上的显著性视觉特征,过滤掉非显著性视觉特征.然后GE 会将所有局部视觉向量vi上的显著性视觉特征整合到唯一的一条特征向量中,称其为全局显著性视觉特征向量,之后解码器所需的一切视觉信息只需要从上获取.GE为
图3 SFEM 网络结构Fig.3 Structure of SFEM
IE 能够根据LSTM 的隐含层状态ht-1从中自适应地提取t时刻所需的显著性视觉特征,并能够灵活地控制视觉信息在解码器中的参与比例,避免无关的视觉信息干扰解码器预测单词,这一点十分有益于解码器生成语法和语义上正确的句子.IE为
2.3.1 全局显著性特征提取器
使用编码器对给定图像提特征得到全局视觉向量g∈RD和局部视觉向量集合{v1,v2,···,vN},vi∈RK.g是对整幅图像上视觉信息的编码,vi是对图像上局部区域上视觉信息的编码.正如之前所提到的,我们认为在每条视觉向量上都存在显著性视觉特征和非显著性视觉特征,其中显著性视觉特征对于解码器生成图像描述有用,需要保留下来,而非显著性视觉特征则会作为噪声干扰解码器生成图像描述,需要过滤掉.对于vi=[α1,α2,···,αK]T,在GE中直观地将vi的每个维度αi视为一种特征,并定义权重系数对该特征进行过滤
其中,Wvd∈RK×K,Wgd∈RK×D.值得注意的是,对于任意的vi,GE 为其构建时共用同一套参数Wvd和Wgd. 所以就网络的参数量而言,GE 其实和空间注意力模型基本一致.另外为了减少解码器一端的计算量,本文将GE 从各个局部视觉向量中提取到的显著性视觉特征融合到中,的计算方式为
实际上包含了整幅图像上所有重要的视觉信息,所以解码器只需要从获取视觉信息就能够生成正确的图像描述,从而能够减少解码器提取视觉特征时的计算量.最后由于本文的GE 位于解码器一端,所以对于单幅图像GE 只需要执行一次就可以用来生成任意数量、任意长度的图像描述.而生成一个长度为n的句子,空间注意力模型需要执行n次.
2.3.2 即时显著性特征提取器
解码器在预测图像描述时需要两种信息的支持,首先是前文的语义信息,其次是图像上的视觉信息.在本文方法中,通过GE 对局部视觉向量集合{v1,v2,···,vN}中的显著性视觉特征进行提取,大量的非显著性视觉特征已经被过滤,但是解码器是按时间顺序逐个预测单词来生成图像描述的,对于不同的单词,解码器所需的显著性视觉特征不同,而于同一个单词,在图像描述中出现第i次和第i+1次时,其所需的显著性视觉特征也不相同.为此本文提出IE 用来从中提取解码器在每一时刻所需显著性视觉特征.对于=[α1,α2,···,αK]T,在IE 中采取与GE 类似的方法,为每一维的特征值αi赋予一个权重,来衡量αi的显著性程度.所以对于,IE 需要为其生成K维的权重向量的构建使用解码器的t-1时刻的隐含层状态ht-1∈RL作为指导,因为ht-1包含了已生成单词序列的语义信息,所以训练好的模型可以通过ht-1来选择t时刻预测单词可能会用到的显著性视觉特征,即
其中,Whv∈RK×L是网络需要在训练中学习的参数.将对应元素相乘就可以获得t时刻输入解码器的显著性视觉向量t
从网络的参数量上来看,本文的IE 是非常少的,并且IE 在计算上也非常精简,因为虽然本文的IE 需要在预测每个单词时都执行一次,但IE 只涉及到ht-1和这两个输入,并且计算过程仅仅是对ht-1进行一个线性变换,再加一个向量间的对应元素相乘的操作,所以本文的IE 每次执行所需的时间要远远小于包括空间注意力模型在内的自定向下注意力模型.值得注意的是,本文的IE 不会强制向解码器输入视觉信息,因为所以当中没有解码器在t时刻需要的视觉特征时,每一维的值都为0,从而将上所有特征都作为非显著性特征进行过滤.
2.4 模型优化
本文网络采用端到端的训练方式,训练过程中固定视觉特征提取器的参数,只对SFEM和语言模型进行训练.语言模型的损失函数也是整个网络的损失函数,即
3 实验与分析
3.1 数据集和评价标准
我们使用MS COCO 数据集[22]来评价本文提出的方法.MS COCO 的训练集有82 783 幅图像,验证集中有40 504 幅图像,并且每幅图像对应5 个标注句子,这5 个句子的表达方式以及描述内容不尽相同,但这5 个句子都是对图像中内容的描述.本文使用Karpathy[23]中的数据划分方式进行模型的训练和评估,训练集不变,依旧是82 783 幅图像,从原来的验证集中选择5 000 幅图像来做验证集,选择5 000 幅图像来做测试集.对数据集的处理参照文献[19]的一系列处理方式,包括将句子中的字母都转换为小写、删除非字母数字的符号、使用空格将单词分割等.本文只保留在所有句子组成的集合中,至少出现5 次的单词,这样一来,本文最终的词库大小为10 516.对于句子长度,本文限制在30个单词以内,并且这30 个单词包括句子的开始符号BOS和句子的结束符号EOS.
本文使用BLEU1,BELU2,BELU3,BELU4[24],METEOR (Metric for evaluation of translation with explicit ordering)[25],以及CIDER[26],ROUGE(Recall-oriented understudy for gisting evaluation)[27],SPICE (Semantic propositional image caption evaluation)[28]作为评价标准.对于这些评价标准的计算,使用的是MS COCO 图像描述评价工具.
3.2 全局显著性特征提取器性能分析
本文的GE 能够从局部视觉向量中获取到显著性视觉特征,但是GE 是通道级别的注意力,人类很难去理解每个通道表示的是什么,所以本文采用了一种间接的方式,可视化出显著性特征在图像上的分布,以此来展示显著性特征与图像中的哪些内容能够对应起来.
本文通过Wi来衡量GE从vi提取的显著性视觉特征的量,具体表示为
其中,‖v‖1表示向量的L1 范数,K是vi的维度.结合第2.3.1 节对GE 的介绍,可以看出当Wi为0时,GE 未从vi上提取到任何视觉特征.Wi越大,说明GE从vi上提取的显著性视觉特征越多.
图4是Wi的可视化结果,每个子图中左边是原图,中间是Wi的可视化图,右边是原图和Wi的可视化图的叠加,文字为本文的SFEM 生成的图像描述.在本文的实验中,视觉特征提取器会从图像中提取出64 个局部视觉向量,按顺序对应于图像的64 个区域.本文将每个vi对应的Wi平铺于对应的区域,得到Wi的可视化图,其中灰度值越大表示GE 从该区域的显著性视觉特征越多,反之则越少.从图4 中可以发现,GE 更加关注图像上与周围环境差异比较大的区域,对于形状、纹理、颜色相似的区域则会适当降低关注.由此可以推测,通过GE在训练过程中的学习可以得知,这些相似的区域能够向语言模型提供的视觉特征基本一致,并且这些区域大概率是背景.为了避免这部分视觉特征在所占比重过高,GE 通常认为这些区域的视觉特征的显著性程度低;而与周围环境差异比较大的区域通常会存在模型感兴趣的实体对象,所以GE 认为这些区域的视觉特征显著性程度高.需要注意的是模型不会将图像上所有实体对象所在区域都作为感兴趣区域.由于一句话所能表达的内容有限,因此模型会与人的表达行为相似,通常只表达自己感兴趣的内容,从这一点来看,本文的GE 其实是一个内容注意力模块,对照图5 可以看出GE 能够决定语言模型将要描述的图像内容.
图4 显著性特征在空间上的分布Fig.4 Spatial distribution of salient features
图5 即时显著性特征随预测单词的变化Fig.5 The change of instant salient features with predicted words
3.3 即时显著性特征提取器性能分析
本文通过Dt来衡量IE在t时刻提取显著性视觉特征的量,Dt等于的L1 范数除以的维数,即
结合第2.3.2 节对IE 的介绍,可以看出当Dt为0 时,IE 不会从全局显著性视觉向量中提取到任何视觉特征,此时解码器对单词的预测完全参考LSTM在t时刻之前累积的语义特征.当Dt越大时,说明LSTM在t时刻参考的视觉特征越多.
本文认为一个完全符合图像内容的句子,它的每一个单词都应该在图像上有据可查,所以单词对应的Dt值通常不会为0,而Dt值的高低主要取决于3 个因素:首先是单词的抽象程度(抽象程度越低则Dt值越高);其次是单词对应的图像内容应大致位于GE 给出的显著性程度较高的区域(GE 会过滤掉大量视觉特征);最后是单词在数据集中出现的频数(频数越高则Dt值越高).通常情况下不考虑单词出现的频数,只有当单词出现的频数过低时,频数才会成为主因.本文对单词的抽象程度进行了简单定义:可以从图像上直接观察到,不需要根据图像内容做出推理的单词我们认为其抽象程度比较低,需要根据图像内容进行推理或者需要根据英语语法进行推理的单词我们认为其抽象程度比较高(注意单词的抽象程度与词性没有直接关系,实体对象的名称、数量和属性通常都可以从图像上直接观察到,所以它们的抽象程度一般都比较低).
我们使用本文模型为测试集中所有图像生成对应句子,然后统计该单词在所有句子中Dt的均值,从而得到,在表1 中给出了值最高的20 个单词.可以看出这些单词包括实体对象的名称以及属性,通常情况下可以从图像上直接观察到.我们对图5 第1 张图中每个单词进行详细分析:第1 个单词 “a”表示摩托车的数量,可以直接从图像中观察到,所以其抽象程度较低;第2 个单词 “motorcycle”表示摩托车的类别名称,可以直接从图像中观察到,所以其抽象程度较低;第3 个单词 “parked”抽象程度比较高,因为模型需要从摩托车上没有人来推测它的状态是停放的;第4 个单词 “in”抽象程度比较高,因为模型需要根据语法和图像内容进行推理才能得到;第5 个单词 “a”抽象程度比较高,因为这一个 “a”并不是很直观,它需要从语法和图像内容进行推理才能得到;第6 个单词 “dirt”表示地面的属性,但是模型不需要识别出 “field”,模型从 “field”所在的显著性程度较高的单块区域就可以判断出泥地面是脏的;第7 个单词 “field”对应的图像内容大部分位于GE 给出的显著性程度较低的区域,从仅剩的几块显著性较高的区域模型很难识别出 “field”;第8 个单词 “next”抽象程度比较高,因为模型需要从摩托车和栅栏的位置关系推理得到,以此类推后面的几个单词的Dt值.
表1 值最高的20个单词Table 1 The top-20 words withvalue
表1 值最高的20个单词Table 1 The top-20 words withvalue
3.4 SFEM 评估
1)Encoder-Decoder+SFEM.本文使用第2.1 节的视觉特征提取器作为编码器,以第2.2 节提到的语言模型作为解码器,搭建出编码器-解码器模型作为实验的基准模型,在基准模型上面分别添加空间注意力模型和本文提出的SFEM 进行对比实验.如表2 所示,本文模型比基准模型在BLEU-4值上提升了8.63%,在CIDER值上提升了11.24%.本文模型比空间注意力模型在BLEU-4值上提升了4.29%,在CIDER 上提升了5.79%.
表2 Encoder-Decoder+SFEM 在MS COCO 数据集上的表现(%)Table 2 The performance of Encoder-Decoder+SFEM on MS COCO dataset (%)
2)Up-Down-SFEM.为了充分对比SFEM和空间注意力模型的性能,并验证显著性目标检测方法能否提高SFEM 的性能,本文以文献[20]中提出的Up-Down 模型作为基准模型进行实验.Up-Down模型包含自底向上注意力模型和自顶向下注意力模型,其中自底向上注意力模型也是视觉特征提取器,由一个Faster-RCNN (Region-based convolutional neural network)[29]构成,自顶向下注意力模型就是空间注意力模型.Up-Down 模型使用Faster-RCNN 从图像上检测出显著性目标,并提取出显著性目标对应的视觉向量,每个显著性目标对应一个视觉向量,所以视觉特征提取器输出的也是一个局部视觉向量集合,接下来这些局部视觉向量会送给空间注意力模型用来获得语言模型预测每个单词时所需的视觉特征.由于文献[20]中训练Up-Down模型使用了额外的VG (Visual genome)[30]数据集,以及强化学习[31],所以本文对Up-Down 模型的实现细节以及训练方式可参考文献[21].实验中使用SFEM替换掉空间注意力模型来对比SFEM和空间注意力的性能,表3 中Up-Down-Spatial Attention 表示按照文献[21]方法实现的Up-Down模型,Up-Down-SFEM 表示用SFEM 替换空间注意力模块后的模型.我们取Faster-RCNN 中(Region proposal network)之前的视觉特征提取网络作为编码器,构造了一个编码器-解码器模型并为其添加SFEM 模块,以此来验证用显著性目标检测方法替换掉编码器能否提高SFEM的性能,在表3 中将该模型表示为Encoder-Decoder⋆+SFEM.对比Encoder-Decoder⋆+SFEM和Up-Down-SFEM 的结果,可以看出使用显著性目标检测方法并没有明显提高SFEM的性能,其中BLEU-4和ROUGE-L值有轻微的下降,我们认为有两方面的原因,首先是SFEM 中GE 本身就具有选取显著性区域的能力,所以显著性目标检测方法对SFEM 的增益有限;其次是显著性目标检测方法会将实体对象分割开来,可能会丧失表示实体对象相互关系的特征.另外对比Encoder-Decoder⋆+SFEM和Up-Down-Spatial Attention 的结果,可以看出在显著性目标检测方法的辅助下,空间注意力模型的性能才能够接近本文的SFEM,但这样进一步降低了空间注意力模型的时间性能.
表3 Up-Down+SFEM 在MS COCO 数据集上的表现(%)Table 3 The performance of Up-Down+SFEM on MS COCO dataset (%)
3)SFEM 的时间性能.在表4 中给出了空间注意力模型和本文的SFEM 的时间性能对比,对于Karpathy 划分下的测试集中的5 000 个样本,本文模型在单块Nvidia TITAN X GPU 环境下测试得到FPS值比空间注意力模型高17.34%,在Intel Xeon CPU 环境下本文模型的FPS值比空间注意力模型高43.80%.事实上,现有的很多图像方法都是在空间注意力模型的基础上添加模块得到的,所以这些方法的计算复杂度都要比空间注意力模型高,相应在速度上都要比空间注意力模型慢.所以,本文方法相比这些方法在速度上的优势明显.
表4 本模型和空间注意力模型的时间性能对比(帧/s)Table 4 Time performance comparison between our model and the spatial attention model (frame/s)
空间注意力模型可以表示为
实验中,Whα与式(9)中Whv参数量相同,所以Whαht-1与式(9)的计算量是一致的,式(10)是两个向量对应元素相乘,它的计算量相比矩阵乘法可以忽略不记,所以Whαht-1的计算量几乎等同于整个IE 的计算量,另外由于生成每个单词时α(vi,ht-1)需要计算N次,所以IE 的计算量远远小于空间注意力模型.
表5 中是各个模块单次执行时平均花费的时间,其中GE 单次执行花费的时间和空间注意力模型相当,但是由于GE 对于单幅图像只需要执行一次就可以用来生成任意长度、任意数量的图像描述,所以在生成图像描述的完整过程中GE 花费的时间小于空间注意力模型.IE 与空间注意力模型类似,在生成每个单次时都要执行一次,但是GPU 环境下空间注意力模型花费的时间是IE 的4.79 倍,CPU 环境下空间注意力模型花费的时间是IE 的21.84 倍.
表5 各个模块单次执行平均花费时间(s)Table 5 The average time spent by each module in a single execution (s)
4)SFEM 与其他注意力模型的对比.表6 中列出了近几年在图像描述领域常用的一些注意力模型,其中Soft-Attention、Hard-Attention 与本文中对比的空间注意力模型基本一致,本文的SFEM 性能优于这两种注意力模型,SCA-CNN和Up-Down是在空间注意力模型上添加新的模块改进得到的,可以看出本文的SFEM 与这些改进过的空间注意力模型也是具有可比性的,所以我们认为本文提出的SFEM 能够作为一种新的注意力模型应用在图像描述领域.
表6 本文模型在MS COCO 数据集上的表现(%)Table 6 The performance of our model on MS COCO dataset (%)
3.5 组合模型评估
1)全局显著性特征提取器+空间注意力模型.本文的全局显著性特征提取器与空间注意力模型配合使用时需要做以下两个改变:首先是使用全局显著性视觉信息向量替代全局视觉向量g;其次是重新构建一个局部显著性视觉信息向量集合替代局部视觉向量集合,具体表示为
2)即时显著性特征提取器+空间注意力模型.本文的即时显著性特征提取器和空间注意力模型配合使用时有两种方式:第1 种是空间注意力模型在前,而即时显著性特征提取器在后;第2 种则是即时显著性特征提取器在前,而空间注意力模型在后.这两种方式都能够提升空间注意力模型的性能,但是第2 种方式的提升更加明显,所以本文仅对第2种组合方式进行介绍.第2 种组合方式将即时显著性特征提取器作用于每一个局部视觉向量上,相当于重新构建了一个局部显著性视觉信息向量集合替代最初的局部视觉向量集合,具体表示为
在表7 中给出了全局显著性特征提取器结合空间注意力模型的实验结果以及即时显著性特征提取器结合空间注意力模型的实验结果,可以看出空间注意力模型添加了全局显著性特征提取器和即时显著性特征提取器之后,在各个评估标准上都能取得一定程度的提高.
表7 组合模型在MS COCO 数据集上的表现(%)Table 7 Performance of the combined model on MS COCO dataset (%)
4 结束语
目前空间注意力模型结合编码器-解码器框架在图像描述领域得到了广泛的应用,但是空间注意力模型有3 个主要的缺陷.本文按照语言模型对图像上视觉信息的需求,将每条视觉向量上的特征分为显著性视觉特征和非显著性视觉特征,在提取显著性视觉特征过滤非显著性特征的思想指导下,本文尝试提出一种新的显著性特征提取机制(SFEM)用来替代空间注意力模型,实验表明,本文的SFEM在图像描述的各个评价指标上均优于空间注意力模型,并且时间性能明显优于空间注意力模型.
图6 本文模型生成的图像描述展示Fig.6 Image descriptions generated by the model of this paper