李雅红,周海英,徐少伟
(中北大学 大数据学院,太原 030051)
图像描述生成是一项结合计算机视觉和自然语言处理(Natural Language Processing,NLP)的综合性任务。近年来,通过机器自动提取图像中的信息已成为图像理解领域的热点研究内容[1]。图像描述先提取图像特征,再使用自然语言处理语句描述出图像特征,从而实现图像到文本的转化,在图像检索和帮助视障人理解图像方面具有较高的应用价值。
基于深度学习的图像描述方法是目前主流的方法。文献[2]通过将卷积神经网络(Convolutional Neural Network,CNN)与循环神经网络(Recurrent Neural Network,RNN)相结合来搭建神经图像描述(Neural Image Caption,NIC)模型并生成图像描述,但是生成的描述仅包含图像的全局特征而未关注重点信息。注意力机制可实现从众多信息中挑选出关键信息,文献[3-4]通过利用CNN、注意力机制和长短期记忆(Long Short-Term Memory,LSTM)模型,使得生成的描述更加符合实际。文献[5]通过对卷积网络进行改进,利用特征层的空间注意以及通道注意,使得模型关注到不同的语义信息。文献[6]在引入视觉哨兵机制基础上提出了自适应注意力机制。文献[7]在解码器中加入视觉监督信号,可在生成描述时自主决定应该依赖视觉信号还是语言模型。文献[8]提出基于目标检测的图像描述方法,先利用目标检测技术提取图像特征,再将特征输入到语言模型中生成描述。文献[9]提出自上而下与自下而上相结合的注意力模型,其中基于自下而上的注意力模型用于提取对象特征,而基于自上而下的注意力模型则用于学习特征对应的权重。
虽然以上研究均取得一定效果,但是仍存在没有合理利用被检测对象之间的空间关系信息[9-11]的问题,然而这些信息对于理解图像中的内容通常是至关重要的。针对空间关系信息仅在目标检测中应用的问题,文献[10]采用边界框方法标注出主体对象和相关对象,并通过网络学习边界框内的视觉特征。文献[11]提出几何注意,使用边界框的坐标和大小来推断对象间关系的重要性。文献[12]在视觉关系检测方面提出了训练对象和谓词的视觉模型,并将其相结合来预测每幅图像的多种关系。图像场景图[13]在视觉关系检测方面也有广泛的应用,例如文献[14]采用图像场景方法提取图像中的目标特征、目标属性特征和目标间的关系特征,该模型的关键是使用字典来消除图像和语言间的语义障碍。文献[15]提出融合图像场景和物体先验知识的图像描述模型,使得网络能够学习到更加丰富的语义信息。现有图像描述研究成果在生成描述时缺乏空间关系信息,且不能充分利用图像特征,使得图像的描述仅停留在浅层,造成生成的图像描述存在语义不明确且内容不丰富等问题。为此,本文提出基于对象关系网状转换器的图像描述模型。该模型先使用自底向上注意机制模型提取图像的外观特征和边界框特征并计算得出对象关系特征,再将提取的特征输入到改进的转换器模型中,从而生成图像描述。
注意力机制会模拟人类关注重点信息的某些特定部分。目前注意力机制已广泛应用于机器翻译[16]和文本分类[17]等领域,其目的是使得模型更加全面地捕捉到关键信息。
多头注意力机制是由多个自我注意力层并行组成,且每个头可进行独立的放缩点积注意。多头注意力实现框图如图1 所示。
图1 多头注意力机制实现框图Fig.1 Block diagram of multi-head attention mechanism implementation
多头注意力机制是将查询向量序列Q、键向量序列K和值向量序列V经过线性变换输入到缩放点积注意中,通过h次缩放点积注意计算后,将计算结果进行合并线性变换。
使用F={f1,f2,…,fn}表示n个输入向量并经过以下步骤进行处理:
步骤1经过式(1)得到查询向量序列Q、键向量序列K和值向量序列V。
步骤2计算Q和K的点积,为了防止点积过大,使梯度更加稳定,按照比例因子归一化处理,并得到注意力权重ΩA为:
步骤3通过h个不同的权值矩阵WQ、WK、WV生成不同的Q、K、V矩阵,并根据式(3)计算h个headi:
步骤4通过concat(·)将h个不同的注意力结果拼接生成一个包含所有注意力信息的矩阵:
转换器模型[18]较早开始应用于机器翻译领域,该模型的关键是在编码器和解码器中多次使用多头注意力机制,可使得模型注意到不同位置的信息,还能在不同子空间表示中学习到相关信息,有助于模型捕捉到更为丰富的信息。转换器模型如图2所示。
图2 转换器模型Fig.2 Transformer model
转换器模型没有用到CNN 和RNN,完全基于注意力机制,主要由编码器和解码器两个部分组成。而编码器和解码器主要由自我注意力机制[19]和前馈神经网络组成。相比RNN 和CNN,该模型本身不能捕捉到位置信息,因此在数据预处理部分需加入位置编码,并将输入嵌入向量Emb 结合位置编码向量作为编码器和解码器的输入。位置编码PE 的计算方法为:其中,pos 表示位置,i表示嵌入维度,dm表示模型维度。当向量维度为偶数时则使用式(5)来计算PE,当向量维度为奇数时则使用式(6)进行计算。
多头注意力机制在模型中起到关键作用,如图2所示,带有一层编码器和解码器的转换器模型中共有三处用到多头注意:第一处是在编码器的多头注意,其中Q、K、V都来自上一层编码器的输出,可保证编码器的每个位置都可以注意到上一层的所有位置;第二处是在解码器的多头注意力,与编码器不同的是,在放缩点积注意操作中添加了掩码函数,保证不会将该位置后面的V连到注意机制中;第三处是在编码器到解码器的注意层,其中K和V来自编码器的输出,保证解码器的每个位置都注意到输入序列的所有位置,而Q来自上一层的解码器。
本文提出的基于对象关系网状转换器的图像描述模型的总体流程如图3 所示。首先使用自底向上注意力机制模型提取图像外观特征和边界框特征,然后将上述特征输入到改进的转换器模型中进行编解码生成描述。分别对模型的编码器和解码器部分进行改进,通过将外观特征和边界框特征合并为对象关系特征,从而改进编码器自我注意力层的注意力权值,使得模型利用到空间关系信息。将编码器和解码器的连接设计为网状结构,让每层编码器与解码器相连接,使得模型充分利用图像特征,并生成更为全面准确的图像描述。
图3 基于对象关系网状转换器的图像描述模型总体流程Fig.3 The overall process of the image description model based on the object relational mesh converter
Faster R-CNN[20]在目标检测和目标定位任务中有较高的准确率,其核心思想是位置预测机制,且主要分为两个阶段来实现目标检测。第一阶段是先使用CNN 提取图像特征,然后通过区域建议网络(Region Proposal Network,RPN)生成目标候选区域,再采用非极大值抑制方法选取前N个超过交并比阈值(Intersection-over-Union,IoU)的候选区域作为感兴趣区池化层的输入。在第二阶段通过感兴趣区池化层将每个图像特征和候选区域映射为固定长度的特征向量,输入到全连接层和Softmax 层,最终输出预测对象类别和边界框偏移量。
本文使用Faster R-CNN 和ResNet-101[21]对图像特征进行提取。对Faster R-CNN 预测出的对象类别采用非极大值抑制方法,丢弃类预测概率低于置信度的所有边界框。在空间维度上应用均值池化为每个对象边界框生成2 048 维特征向量。最后提取的特征中包含每一个对象的外观特征组成的A=,即n个对象自身的大小、颜色等特征,边界框特征组成的,即n个对象的位置及大小,然后将这些特征向量作为转换器模型的输入。
编码器由多个完全相同的层堆叠而成,每层由一个多头自我注意力层和一个全连接前馈网络层这2 个子层组成。将从2.1 节得到的目标检测器的特征向量A、G作为编码器的输入,首先通过一个输入嵌入层将图像特征向量维数从2 048 降至512,然后将嵌入的特征向量作为转换器模型的第一个编码器层的输入。对于第2 层~6 层的编码器,使用前一个编码器层的输出作为当前层的输入。
本文提出的对象关系编码器是通过将对象外观和边界框特征合并为关系特征来改进自我注意层的注意力权重,充分利用图像中目标之间的位置关系,强化目标之间的关联性。外观特征和边界框特征计算得到的关系特征如图4 所示。
图4 对象关系示意图Fig.4 Schematic diagram of object relationships
其中,WV同式(1)中的权重矩阵,表示对象m的外观特征,表示关系权重。外观权重和边界框权重计算方法为:
其中,设置比例因子dk=64,WK、WQ、WG为权重矩阵,EG表示将边界框特征嵌入到高维中表示,分别表示对象m、n的边界框特征表示对象m、n的相对位置,假设m、n的位置分别表示为(xm,ym,wm,hm)、(xn,yn,wn,hn),其中x,y,w,h分别表示中心点的坐标和宽高,则m和n相对位置的计算方法为:
编码器的每个注意头将输入特征F={F1,F2,…,Fn}中的每个特征利用式(1)计算查询向量序列Q、键向量序列K和值向量序列V,然后代入式(2)生成新的注意力权重ΩA+R,通过代入式(3)计算h=8 个不同注意力的输出headi,最后连接代入式(4)计算得出MultiHead(Q,K,V)。
编码器自我注意力层的输出作为全连接前馈网络层(Fully connected Feedforward Network,FFN)的输入,FFN 包括ReLU 激活函数和线性激活函数。
其中,M表示自我注意力层的输出MultiHead(Q,K,V),W1、W2表示权值,b1、b2表示偏差。
将编码器中自我注意力层和前馈网络层的输出都输入到残差连接及归一化Add&Norm 中,并将输入转化为均值为0、方差为1 的数据。
根据上述多个完全相同的编码层堆叠结构,将提取的特征F={F1,F2,…,Fn}经过多级编码得到输出。
传统的转换器模型在所有特征编码完成后才与解码器连接,存在未全面利用特征信息的问题。因此本文提出网状解码器,即将编码器与解码器以网状形式连接,使得每层编码器与解码器连接,实现编码器和解码器的交叉注意,充分利用图像特征,使生成的描述更加全面准确。
解码器部分和编码器部分结构类似,也是由多个完全相同的层堆叠形成的,层数与编码器的层数相同。与编码器不同的是,在自我注意力层与全连接层前馈网络中间加一层编解码注意力层,每层解码器由3 个子层组成。解码器部分由编码器的输出以及t-1 时刻生成的单词Yt-1作为输入,并生成t时刻单词Yt。在自我注意层,由于当前t时刻单词的预测仅依赖于先前t-1 时刻预测出的单词,为隐藏t时刻以后的信息,以保证当前预测时无法获取未来的信息,在自我注意力层使用包含掩码的多头自我注意力机制。
编解码注意力层用来计算当前描述内容与编码的特征向量之间的关系。原始转换器模型中解码器只用到最后一层编码器的最终输出,而本文改进的网状解码器将用到所有编码器层的输出,更充分地利用了图像的特征。将编码器的输出以及t-1 时刻生成的单词Yt-1作为输入,则网状注意力可定义为:
解码器层还包含全连接层前馈网络,编解码器多头注意的输出经过残差连接及归一化Add&Norm进行归一化数据,再通过一个线性层和Softmax 操作后,得出概率值最大的词即为t时刻的预测结果Yt。
实验选择的数据集主要包括以下2 种:
1)Visual Genome 数据集[22]。本文使用Visual Genome 数据集训练自底向上的注意力模型。该数据集包含10.8 万幅图像,且每幅都标注了图像中包含的物体对象以及对象的属性。
2)UR-caption 数据集。UR Fall Detection(URFD)数据集被用来训练本文提出的图像描述模型。该数据集包含30 个跌倒和40 个日常生活视频片段,包含走路、跌倒、蹲下、坐着、弯腰和平躺6 种日常活动。由于该数据集数量大且标注格式与本文方法要求格式不同,因此本文选用1 000 张RGB 图像,数据集样本如图5 所示。按照Microsoft COCO 2014 caption dataset[23]格式进行标注,每个图像有2 句人工标注语句,生成了UR-caption 数据集的json 文件,并按照8∶1∶1 比例生成训练集、验证集和测试集。
图5 数据集样本Fig.5 Samples of dataset
描述图像生成的评价指标包括定量评价和人工主观评价。为了定量评价本文的图像描述模型,采用图像描述任务中常用的3 个指标:BLEU@N[24]、METEOR[25]和CIDEr[26],且这3 种指标的得分越高表示生成的描述越接近参考描述。
1)BLEU@N是基于N-grams 准确率的评测,用于分析模型生成的语句与参考语句中N元组共同出现的程度,N可取1、2、3、4。
本文模型生成的描述表示为ci,参考语句表示为si,N-gram 表示n个单词长度的词组集合,ωn为第n组可能的N-gram,ωn在句子ci中出现的次数为hn(ci),在句子si中出现的次数为hn(si),则准确率Pn和BLUE@N可表示为:
其中,ls和lc分别表示参考语句的长度和模型生成语句的长度。
2)METEOR 是基于准确率P和召回率R的指标,主要评测生成的描述与参考描述同义词、词根的匹配情况。模型生成语句描述与参考描述间的准确率和召回率的调和平均值计算方法为:
其中,P表示准确率,R表示召回率,m表示预先给定的一组校准,α、γ,θ是用于评价的默认参数。
3)CIDEr 是图像描述的专用指标,通过计算参考描述与模型生成描述的余弦相似度评测,则更能反映所生成句子的语义质量。
ci为模型生成的语句,Si={si1,si2,…,sim}为第i张图片的参考语句的集合,则有:
其中,gn(ci)和gn(sij)为TF-IDF 向量。
当用多种长度的N-grams 时,则有:
用ωk计算权重TF-IDF 的向量gk(sij)为:
其中,Ω表示全部N-grams 词表,I表示图像的集合,hk(sij)表示ωk在sij中出现的次数。
实验环境为Ubuntu 18.04 64 位系统,开发软件为Pycharm,编程语言为Python3.6,使用Pytorch 深度学习框架,硬件配置为Intel i5-8250U,NVIDIA GeForce MX150 显卡。
在采用自底向上注意机制模型提取特征时,分别对Faster R-CNN 和ResNet-101 进行训练,在模型中设置IoU 阈值为0.7,设置类别预测概率的置信度阈值为0.2。在图像描述生成模型训练时,编码器解码器层数设置为6,训练模型的批量处理和学习率分别设定为15 和5e-4。在句子处理部分,本文采用Word2Vec[27](Word to Vector)的编码方式,模型生成句子的最大长度设定为16 个单词。采用Pytorch 架构中的Adam 优化器对模型参数进行优化,训练的epoch 设定为30。
本文模型在训练完成后,采用集束搜索的方法验证其性能,通过搜索宽度来确定模型每一步保留下来的可能性词的数量。为验证不同搜索宽度对模型的影响,在数据集上使用不用搜索宽度进行实验,结果如表1 所示。其中,最优结果加粗表示。
表1 本文模型在不同搜索宽度下的评价指标Table 1 Evaluation index of the proposed model under different search widths %
如表1 所示,随着搜索宽度的增加,BLEU@N和METEOR 的评分也会增加,这表明模型性能更好。评价指标中的CIDEr 是专用于图像描述的评价指标,结合图6 和表1 可以看出,当搜索宽度数值设置为3 时CIDEr 值最大,且其他指标也相对较大,这表明此时模型效果最好。
图6 本文模型在不同搜索宽度下的CIDEr 值Fig.6 CIDEr values of the proposed model under different search widths
为验证本文模型中对象关系网状转换器对生成图像描述的影响,在实验中将基线模型中基于单一注意力的自上而下图像描述生成模型Top-down[9]和本文基于对象关系网状转换器模型进行对比,结果如表2 所示。结果表明,本文提出的对象关系网状转换器模型生成的描述评分比Top-down 模型分别提高了7.6、1.1、0.2、2.1、0.8 和3.7 个百分点。
表2 2 种图像描述模型评价指标对比Table 2 Comparison of evaluation index of two image description models %
为验证本文模型的性能,使用上述客观评价指标对本文模型生成的图像描述进行评价。本文模型与Hard-attention[3]、SCST[28]、Adaptive[6]、Top-down[9]和NBT[8]模型评价指标对比结果如表3 所示。其中,最优结果加粗表示。Hard-attention 引入了注意力机制,使得不同时刻的特征动态输入到语言模型生成描述。SCST(Self-Critical Sequence Training)是基于自临界训练序列生成描述,采用强化学习的方法优化图像描述问题。Adaptive 是基于带有视觉哨兵的自适应注意力机制的图像描述模型,由模型决定是依赖图像还是视觉哨兵生成图像描述。Top-down是基于自上而下与自下而上相结合的注意力模型,该模型在目标物体或者图像的其他显著区域上计算注意力权值。NBT(Neural Baby Talk)是生成一个句子模板,将模板中的空缺与图像区域相关联,并将图像中检测到的目标物体嵌入到句子模板中来生成图像描述。
表3 本文模型与其他模型的评价指标对比Table 3 Comparison of evaluation index between the proposed model and other models %
从表3 可以看出,除了评价指标BLEU@3 外,本文模型的评价指标值均高于其他5 种模型。其中,本文模型相比Hard-attention 模型CIDEr 值提升了10.9 个百分点。
为进一步验证本文模型效果,本文进行大量主观对比实验。将基于Top-down 模型和本文模型生成的图像描述进行对比,结果如图7所示。图7(a)中的Topdown 模型描述出人走进房间,而本文模型进一步描述了人和椅子的关系,即人在朝着椅子走;图7(b)中的Topdown 模型只描述出人坐在椅子上,本文模型还正确描述出椅子和墙的相对位置关系,即人坐在墙角的椅子上;图7(c)中的Top-down 模型描述出人蹲着,本文模型则在细节上描述出人正在朝着床底看;图7(d)中的Top-down 模型描述出人弯腰捡东西,本文模型在细节上描述了人与椅子的相对位置关系;图7(e)中的Topdown 模型描述出人摔倒在地上,而本文模型进一步描述出人摔倒时所在的位置;图7(f)中的Top-down 模型描述出人躺在床上,而本文模型准确定位到床的位置并注意到人在侧身躺着。综上所述,本文模型生成的描述在对象关系以及位置关系等细节上表现更佳,且语义更加全面丰富。
图7 Top-down 模型和本文模型生成图像描述对比Fig.7 Comparison of image caption generated by Top-down model and the proposed model
本文提出一种基于对象关系网状转换器的图像描述模型。该模型采用自底向上注意力机制提取图像中的外观特征和边界框特征,再将提取的特征输入到改进的转换器模型中经编解码生成图像描述。利用基于注意力机制的转换器模型编解码,可关注到图像的关键细节部分。在编码器部分,使用对象外观特征和边界框特征合并得到关系特征来改进自我注意力层的注意力权值,并有效利用对象之间的空间关系信息,强化目标之间的关联性。在解码器部分,将编码器和解码器的连接设计为网状结构,以充分利用图像特征。实验结果表明,该模型可显著提升描述语句的准确性。下一步将在本文模型基础上加入视频和音频等数据,并在视频描述相关任务中展开研究,以实现视频的高效检索。