«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (5): 197-204  DOI: 10.19678/j.issn.1000-3428.0059517
0

引用本文  

李雅红, 周海英, 徐少伟. 基于对象关系网状转换器的图像描述模型[J]. 计算机工程, 2021, 47(5), 197-204. DOI: 10.19678/j.issn.1000-3428.0059517.
LI Yahong, ZHOU Haiying, XU Shaowei. Image Description Model Based on Object Relation Mesh Transformer[J]. Computer Engineering, 2021, 47(5), 197-204. DOI: 10.19678/j.issn.1000-3428.0059517.

基金项目

国家自然科学基金(61672473)

通信作者

周海英(通信作者), 教授、博士

作者简介

李雅红(1996-), 女, 硕士研究生, 主研方向为图像处理、模式识别;
徐少伟, 硕士研究生

文章历史

收稿日期:2020-09-14
修回日期:2020-11-08
基于对象关系网状转换器的图像描述模型
李雅红 , 周海英 , 徐少伟     
中北大学 大数据学院, 太原 030051
摘要:针对图像描述生成模型缺乏空间关系信息且图像特征利用不充分的问题,结合对象关系网状转换器,提出一种改进的图像描述模型。利用Faster R-CNN提取图像的外观和边界框特征,并将提取的特征输入到改进的转换器中经过编解码生成图像描述。通过将对象外观和边界框特征合并为关系特征的方式对编码器自我注意力层的注意力权值进行改进,以强化目标间的关联性。将编码器和解码器的连接设计为网状结构,从而充分利用图像特征。实验结果表明,与基于单一注意力的Top-down基线模型相比,该模型的BLUE@1和CIDEr评价指标值分别提高了7.6和3.7个百分点,显著提升了描述语句的准确性。
关键词图像描述模型    注意力机制    编码器和解码器    对象关系    网状转换器    
Image Description Model Based on Object Relation Mesh Transformer
LI Yahong , ZHOU Haiying , XU Shaowei     
School of Data Science and Technology, North University of China, Taiyuan 030051, China
Abstract: The existing image description generation models generally lack spatial relation information and do not fully utilize image features.To address the problem, this paper proposes an image description model based on object relation mesh transformer.The model employs Faster R-CNN to detect the features of the appearance and boundary box of the image, and inputs the detected features into the improved converter.In the transformer, the features are encoded and decoded to generate the image description.At the same time, the attention weight of the adaptive attention layer of the encoder is improved by integrating the features of object appearance and boundary box into relational features, which enhances the correlation between targets.In order to make full use of image features, the connection between the encoder and the decoder is designed as a mesh structure.The experimental results show that the score of the proposed model on BLUE@1 and CIDEr is 7.6 and 3.7 percentage points higher than that of the Top-down baseline model based on single attention, which demonstrates that the model significantly increases the accuracy of descriptive sentences.
Key words: image description model    attention mechanism    encoder and decoder    object relation    mesh transformer    
0 概述

图像描述生成是一项结合计算机视觉和自然语言处理(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]提出融合图像场景和物体先验知识的图像描述模型,使得网络能够学习到更加丰富的语义信息。现有图像描述研究成果在生成描述时缺乏空间关系信息,且不能充分利用图像特征,使得图像的描述仅停留在浅层,造成生成的图像描述存在语义不明确且内容不丰富等问题。为此,本文提出基于对象关系网状转换器的图像描述模型。该模型先使用自底向上注意机制模型提取图像的外观特征和边界框特征并计算得出对象关系特征,再将提取的特征输入到改进的转换器模型中,从而生成图像描述。

1 相关工作 1.1 多头注意力机制

注意力机制会模拟人类关注重点信息的某些特定部分。目前注意力机制已广泛应用于机器翻译[16]和文本分类[17]等领域,其目的是使得模型更加全面地捕捉到关键信息。

多头注意力机制是由多个自我注意力层并行组成,且每个头可进行独立的放缩点积注意。多头注意力实现框图如图 1所示。

Download:
图 1 多头注意力机制实现框图 Fig. 1 Block diagram of multi-head attention mechanism implementation

多头注意力机制是将查询向量序列Q、键向量序列K和值向量序列V经过线性变换输入到缩放点积注意中,通过h次缩放点积注意计算后,将计算结果进行合并线性变换。

使用$ \boldsymbol{F}=\{{\boldsymbol{f}}_{1}, {\boldsymbol{f}}_{2}, \cdots , {\boldsymbol{f}}_{n}\} $表示n个输入向量并经过以下步骤进行处理:

步骤1  经过式(1)得到查询向量序列Q、键向量序列K和值向量序列V

$ \boldsymbol{Q}=\boldsymbol{F}{\boldsymbol{W}}^{\boldsymbol{Q}}, \boldsymbol{K}=\boldsymbol{F}{\boldsymbol{W}}^{\boldsymbol{K}}, \boldsymbol{V}=\boldsymbol{F}{\boldsymbol{W}}^{\boldsymbol{V}} $ (1)

其中,$ {\boldsymbol{W}}^{\boldsymbol{Q}}\in {\mathbb{R}}^{{d}_{m}\times {d}_{k}} $$ {\boldsymbol{W}}^{\boldsymbol{K}}\in {\mathbb{R}}^{{d}_{m}\times {d}_{k}} $$ {\boldsymbol{W}}^{\boldsymbol{V}}\in {\mathbb{R}}^{{d}_{m}\times {d}_{v}} $为权重矩阵,$ {d}_{m} $为模型的维度,$ {d}_{k} $为键向量序列K的维度,$ {d}_{v} $为值向量序列V的维度。

步骤2  计算QK的点积,为了防止点积过大,使梯度更加稳定,按照比例因子$ 1/\sqrt{{d}_{k}} $归一化处理,并得到注意力权重$ {{\mathit \Omega} }_{A} $为:

$ {{\mathit \Omega} }_{A}=\frac{\boldsymbol{Q}{\boldsymbol{K}}^{\mathrm{T}}}{\sqrt{{d}_{k}}} $ (2)

步骤3  通过h个不同的权值矩阵$ {\boldsymbol{W}}^{\boldsymbol{Q}} $$ {\boldsymbol{W}}^{\boldsymbol{K}} $$ {\boldsymbol{W}}^{\boldsymbol{V}} $生成不同的QKV矩阵,并根据式(3)计算h$ \mathrm{h}\mathrm{e}\mathrm{a}{\mathrm{d}}_{i} $

$ \mathrm{h}\mathrm{e}\mathrm{a}{\mathrm{d}}_{i}=\mathrm{A}\mathrm{t}\mathrm{t}\mathrm{e}\mathrm{n}\mathrm{t}\mathrm{i}\mathrm{o}\mathrm{n}(\boldsymbol{Q}, \boldsymbol{K}, \boldsymbol{V})=\mathrm{S}\mathrm{o}\mathrm{f}\mathrm{t}\mathrm{m}\mathrm{a}\mathrm{x}\left({{\mathit \Omega} }_{A}\right)\boldsymbol{V} $ (3)

步骤4  通过$ \mathrm{c}\mathrm{o}\mathrm{n}\mathrm{c}\mathrm{a}\mathrm{t}(\cdot ) $h个不同的注意力结果拼接生成一个包含所有注意力信息的矩阵:

$ \mathrm{M}\mathrm{u}\mathrm{l}\mathrm{t}\mathrm{i}\mathrm{H}\mathrm{e}\mathrm{a}\mathrm{d}(\boldsymbol{Q}, \boldsymbol{K}, \boldsymbol{V})=\\ \mathrm{C}\mathrm{o}\mathrm{n}\mathrm{c}\mathrm{a}\mathrm{t}(\mathrm{h}\mathrm{e}\mathrm{a}{\mathrm{d}}_{1}, \mathrm{h}\mathrm{e}\mathrm{a}{\mathrm{d}}_{2}, \cdots , \mathrm{h}\mathrm{e}\mathrm{a}{\mathrm{d}}_{h}){\boldsymbol{W}}^{O} $ (4)

其中,$ {\boldsymbol{W}}^{O}\in {\mathbb{R}}^{h{d}_{v}\times {d}_{m}} $

1.2 转换器模型

转换器模型[18]较早开始应用于机器翻译领域,该模型的关键是在编码器和解码器中多次使用多头注意力机制,可使得模型注意到不同位置的信息,还能在不同子空间表示中学习到相关信息,有助于模型捕捉到更为丰富的信息。转换器模型如图 2所示。

Download:
图 2 转换器模型 Fig. 2 Transformer model

转换器模型没有用到CNN和RNN,完全基于注意力机制,主要由编码器和解码器两个部分组成。而编码器和解码器主要由自我注意力机制[19]和前馈神经网络组成。相比RNN和CNN,该模型本身不能捕捉到位置信息,因此在数据预处理部分需加入位置编码,并将输入嵌入向量Emb结合位置编码向量作为编码器和解码器的输入。位置编码PE的计算方法为:

$ \mathrm{P}\mathrm{E}(\mathrm{p}\mathrm{o}\mathrm{s}, 2i)=\mathrm{s}\mathrm{i}\mathrm{n}\left(\frac{\mathrm{p}\mathrm{o}\mathrm{s}}{10{000}^{\frac{2i}{{d}_{m}}}}\right) $ (5)
$ \mathrm{P}\mathrm{E}(\mathrm{p}\mathrm{o}\mathrm{s}, 2i+1)=\mathrm{c}\mathrm{o}\mathrm{s}\left(\frac{\mathrm{p}\mathrm{o}\mathrm{s}}{10{000}^{\frac{2i}{{d}_{m}}}}\right) $ (6)

其中,$ \mathrm{p}\mathrm{o}\mathrm{s} $表示位置,i表示嵌入维度,$ {d}_{m} $表示模型维度。当向量维度为偶数时则使用式(5)来计算PE,当向量维度为奇数时则使用式(6)进行计算。

多头注意力机制在模型中起到关键作用,如图 2所示,带有一层编码器和解码器的转换器模型中共有三处用到多头注意:第一处是在编码器的多头注意,其中QKV都来自上一层编码器的输出,可保证编码器的每个位置都可以注意到上一层的所有位置;第二处是在解码器的多头注意力,与编码器不同的是,在放缩点积注意操作中添加了掩码函数,保证不会将该位置后面的V连到注意机制中;第三处是在编码器到解码器的注意层,其中KV来自编码器的输出,保证解码器的每个位置都注意到输入序列的所有位置,而Q来自上一层的解码器。

2 图像描述模型

本文提出的基于对象关系网状转换器的图像描述模型的总体流程如图 3所示。首先使用自底向上注意力机制模型提取图像外观特征和边界框特征,然后将上述特征输入到改进的转换器模型中进行编解码生成描述。分别对模型的编码器和解码器部分进行改进,通过将外观特征和边界框特征合并为对象关系特征,从而改进编码器自我注意力层的注意力权值,使得模型利用到空间关系信息。将编码器和解码器的连接设计为网状结构,让每层编码器与解码器相连接,使得模型充分利用图像特征,并生成更为全面准确的图像描述。

Download:
图 3 基于对象关系网状转换器的图像描述模型总体流程 Fig. 3 The overall process of the image description model based on the object relational mesh converter
2.1 特征提取

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维特征向量。最后提取的特征中包含每一个对象的外观特征$ {\boldsymbol{f}}_{A}^{i} $组成的$ \boldsymbol{A}=\left\{{\boldsymbol{f}}_{\boldsymbol{A}}^{1}, {\boldsymbol{f}}_{\boldsymbol{A}}^{2}, \cdots , {\boldsymbol{f}}_{\boldsymbol{A}}^{n}\right\} $,即n个对象自身的大小、颜色等特征,边界框特征$ {\boldsymbol{f}}_{\boldsymbol{G}}^{i} $组成的$ \boldsymbol{G}=\left\{{\boldsymbol{f}}_{\boldsymbol{G}}^{1}, {\boldsymbol{f}}_{\boldsymbol{G}}^{2}, \cdots , {\boldsymbol{f}}_{\boldsymbol{G}}^{n}\right\} $,即n个对象的位置及大小,然后将这些特征向量作为转换器模型的输入。

2.2 对象关系编码器

编码器由多个完全相同的层堆叠而成,每层由一个多头自我注意力层和一个全连接前馈网络层这2个子层组成。将从2.1节得到的目标检测器的特征向量AG作为编码器的输入,首先通过一个输入嵌入层将图像特征向量维数从2 048降至512,然后将嵌入的特征向量作为转换器模型的第一个编码器层的输入。对于第2层~6层的编码器,使用前一个编码器层的输出作为当前层的输入。

本文提出的对象关系编码器是通过将对象外观和边界框特征合并为关系特征来改进自我注意层的注意力权重,充分利用图像中目标之间的位置关系,强化目标之间的关联性。外观特征和边界框特征计算得到的关系特征如图 4所示。

Download:
图 4 对象关系示意图 Fig. 4 Schematic diagram of object relationships

由外观特征$ {\boldsymbol{f}}_{\boldsymbol{A}}^{n} $和对象关系特征$ {\boldsymbol{f}}_{\boldsymbol{R}}^{n} $组成的$ {\boldsymbol{f}}_{\boldsymbol{A}+\boldsymbol{R}}^{n} $作为编码器的输入:

$ {\boldsymbol{f}}_{\boldsymbol{A}+\boldsymbol{R}}^{n}={\boldsymbol{f}}_{\boldsymbol{A}}^{n}+\mathrm{c}\mathrm{o}\mathrm{n}\mathrm{c}\mathrm{a}\mathrm{t}\left[{\boldsymbol{f}}_{\boldsymbol{R}}^{1}, {\boldsymbol{f}}_{\boldsymbol{R}}^{2}, \cdots , {\boldsymbol{f}}_{\boldsymbol{R}}^{n}\right] $ (7)

其中,$ {\boldsymbol{f}}_{\boldsymbol{A}+\boldsymbol{R}}^{n} $为对象n的外观特征和关系特征,$ {\boldsymbol{f}}_{\boldsymbol{A}}^{n} $为外观特征,$ {\boldsymbol{f}}_{\boldsymbol{R}}^{n} $为对象关系特征,$ \mathrm{c}\mathrm{o}\mathrm{n}\mathrm{c}\mathrm{a}\mathrm{t}(\cdot ) $将得到的1~n个关系特征相连接。

$ {\boldsymbol{f}}_{\boldsymbol{R}}^{n}=\sum\limits_{m}{\omega }_{\boldsymbol{R}}^{mn}\cdot ({\boldsymbol{W}}^{\boldsymbol{V}}\cdot {\boldsymbol{f}}_{\boldsymbol{A}}^{m}) $ (8)

其中,$ {\boldsymbol{W}}^{\boldsymbol{V}} $同式(1)中的权重矩阵,$ {\boldsymbol{f}}_{\boldsymbol{A}}^{m} $表示对象m的外观特征,$ {\omega }_{\boldsymbol{R}}^{mn} $表示关系权重。外观权重$ {\omega }_{\boldsymbol{A}}^{mn} $和边界框权重$ {\omega }_{\boldsymbol{G}}^{mn} $计算方法为:

$ {\omega }_{\boldsymbol{R}}^{\mathrm{m}\mathrm{n}}=\frac{{\omega }_{\boldsymbol{G}}^{mn}\cdot \mathrm{e}\mathrm{x}\mathrm{p}\left({\omega }_{\boldsymbol{A}}^{mn}\right)}{\sum\limits_{\boldsymbol{G}}^{kn}\cdot \mathrm{e}\mathrm{x}\mathrm{p}\left({\omega }_{\boldsymbol{A}}^{kn}\right)} $ (9)
$ {\omega }_{\boldsymbol{A}}^{mn}=\frac{\mathrm{d}\mathrm{o}\mathrm{t}({\boldsymbol{W}}^{\boldsymbol{K}}{\boldsymbol{f}}_{\boldsymbol{A}}^{m}, {\boldsymbol{W}}^{\boldsymbol{Q}}{\boldsymbol{f}}_{\boldsymbol{A}}^{n})}{\sqrt{{d}_{k}}} $ (10)
$ {\omega }_{\boldsymbol{G}}^{mn}=\mathrm{R}\mathrm{e}\mathrm{L}\mathrm{U}({\boldsymbol{W}}^{\boldsymbol{G}}\cdot {\boldsymbol{E}}_{\boldsymbol{G}}({\boldsymbol{f}}_{\boldsymbol{G}}^{m}, {\boldsymbol{f}}_{\boldsymbol{G}}^{n}\left)\right) $ (11)

其中,设置比例因子$ {d}_{k} $=64,$ {\boldsymbol{W}}^{\boldsymbol{K}} $$ {\boldsymbol{W}}^{\boldsymbol{Q}} $$ {\boldsymbol{W}}^{\boldsymbol{G}} $为权重矩阵,$ {\boldsymbol{E}}_{\boldsymbol{G}} $表示将边界框特征嵌入到高维中表示,$ {\boldsymbol{f}}_{\boldsymbol{G}}^{m} $$ {\boldsymbol{f}}_{\boldsymbol{G}}^{n} $分别表示对象mn的边界框特征,$ ({\boldsymbol{f}}_{\boldsymbol{G}}^{m}, {\boldsymbol{f}}_{\boldsymbol{G}}^{n}) $表示对象mn的相对位置,假设mn的位置分别表示为$ ({x}_{m}, {y}_{m}, {w}_{m}, {h}_{m}) $$ ({x}_{n}, {y}_{n}, {w}_{n}, {h}_{n}) $,其中$ x, y, w, h $分别表示中心点的坐标和宽高,则mn相对位置的计算方法为:

$ ({\boldsymbol{f}}_{\boldsymbol{G}}^{m}, {\boldsymbol{f}}_{\boldsymbol{G}}^{n})\mathrm{ }={\left(\mathrm{l}\mathrm{g}\frac{{x}_{m}-{x}_{n}}{{w}_{m}}, \mathrm{l}\mathrm{g}\frac{{y}_{m}-{y}_{n}}{{h}_{m}}, \mathrm{l}\mathrm{g}\frac{{w}_{n}}{{w}_{m}}, \mathrm{l}\mathrm{g}\frac{{h}_{n}}{{h}_{m}}\right)}^{\mathrm{T}} $ (12)

编码器的每个注意头将输入特征$ \boldsymbol{F}=\{{\boldsymbol{F}}^{1}, {\boldsymbol{F}}^{2}, \cdots , {\boldsymbol{F}}^{n}\} $中的每个特征$ {\boldsymbol{F}}^{i}=\{{\boldsymbol{f}}_{\boldsymbol{A}+\boldsymbol{R}}^{1}, {\boldsymbol{f}}_{\boldsymbol{A}+\boldsymbol{R}}^{2}, \cdots , {\boldsymbol{f}}_{\boldsymbol{A}+\boldsymbol{R}}^{n}\} $利用式(1)计算查询向量序列Q、键向量序列K和值向量序列V,然后代入式(2)生成新的注意力权重$ {{\mathit \Omega} }_{\boldsymbol{A}+\boldsymbol{R}} $,通过代入式(3)计算h=8个不同注意力的输出$ \mathrm{h}\mathrm{e}\mathrm{a}{\mathrm{d}}_{i} $,最后连接代入式(4)计算得出$ \mathrm{M}\mathrm{u}\mathrm{l}\mathrm{t}\mathrm{i}\mathrm{H}\mathrm{e}\mathrm{a}\mathrm{d} $ $ (\boldsymbol{Q}, \boldsymbol{K}, \boldsymbol{V}) $

编码器自我注意力层的输出作为全连接前馈网络层(Fully connected Feedforward Network,FFN)的输入,FFN包括ReLU激活函数和线性激活函数。

$ \mathrm{F}\mathrm{F}\mathrm{N}\left(\boldsymbol{M}\right)=\mathrm{m}\mathrm{a}\mathrm{x}(0, \boldsymbol{M}{\boldsymbol{W}}_{1}+{b}_{1}){\boldsymbol{W}}_{2}+{b}_{2} $ (13)

其中,$ \boldsymbol{M} $表示自我注意力层的输出$ \mathrm{M}\mathrm{u}\mathrm{l}\mathrm{t}\mathrm{i}\mathrm{H}\mathrm{e}\mathrm{a}\mathrm{d}(\boldsymbol{Q}, \boldsymbol{K}, \boldsymbol{V}) $$ {\boldsymbol{W}}_{1} $$ {\boldsymbol{W}}_{2} $表示权值,$ {b}_{1} $$ {b}_{2} $表示偏差。

将编码器中自我注意力层和前馈网络层的输出都输入到残差连接及归一化Add & Norm中,并将输入转化为均值为0、方差为1的数据。

根据上述多个完全相同的编码层堆叠结构,将提取的特征$ \boldsymbol{F}=\{{\boldsymbol{F}}^{1}, {\boldsymbol{F}}^{2}, \cdots , {\boldsymbol{F}}^{n}\} $经过多级编码得到输出$ \tilde{\boldsymbol{F}}=\{{\tilde{\boldsymbol{F}}}^{1}, {\tilde{\boldsymbol{F}}}^{2}, \cdots , {\tilde{\boldsymbol{F}}}^{n}\} $

2.3 网状解码器

传统的转换器模型在所有特征编码完成后才与解码器连接,存在未全面利用特征信息的问题。因此本文提出网状解码器,即将编码器与解码器以网状形式连接,使得每层编码器与解码器连接,实现编码器和解码器的交叉注意,充分利用图像特征,使生成的描述更加全面准确。

解码器部分和编码器部分结构类似,也是由多个完全相同的层堆叠形成的,层数与编码器的层数相同。与编码器不同的是,在自我注意力层与全连接层前馈网络中间加一层编解码注意力层,每层解码器由3个子层组成。解码器部分由编码器的输出$ \tilde{\boldsymbol{F}} $以及t-1时刻生成的单词$ {Y}_{t-1} $作为输入,并生成t时刻单词$ {Y}_{t} $。在自我注意层,由于当前t时刻单词的预测仅依赖于先前t-1时刻预测出的单词,为隐藏t时刻以后的信息,以保证当前预测时无法获取未来的信息,在自我注意力层使用包含掩码的多头自我注意力机制。

编解码注意力层用来计算当前描述内容与编码的特征向量之间的关系。原始转换器模型中解码器只用到最后一层编码器的最终输出,而本文改进的网状解码器将用到所有编码器层的输出,更充分地利用了图像的特征。将编码器的输出$ \tilde{\boldsymbol{F}} $以及t-1时刻生成的单词$ {Y}_{t-1} $作为输入,则网状注意力可定义为:

$ D(\tilde{\boldsymbol{F}}, {Y}_{t-1})=\sum\limits_{i=1}^{N}{\alpha }_{i}\cdot \partial ({\tilde{\boldsymbol{F}}}^{i}, {Y}_{t-1}) $ (14)
$ \partial ({\tilde{\boldsymbol{F}}}^{i}, {Y}_{t-1})=\mathrm{A}\mathrm{t}\mathrm{t}\mathrm{e}\mathrm{n}\mathrm{t}\mathrm{i}\mathrm{o}\mathrm{n}({\boldsymbol{W}}^{\boldsymbol{Q}}{Y}_{t-1}, {\boldsymbol{W}}^{\boldsymbol{K}}{\tilde{\boldsymbol{F}}}^{i}, {\boldsymbol{W}}^{\boldsymbol{V}}{\tilde{\boldsymbol{F}}}^{i}) $ (15)
$ {\alpha }_{i}=\sigma \left({\boldsymbol{W}}_{i}\right[{Y}_{t-1}, \partial ({\tilde{\boldsymbol{F}}}^{i}, {Y}_{t-1})]+{b}_{i}) $ (16)

其中,$ \partial ({\tilde{\boldsymbol{F}}}^{i}, {Y}_{t-1}) $表示编码器到解码器的注意力层,$ {\tilde{\boldsymbol{F}}}^{i} $表示编码层编码后输出的第i个特征,$ {Y}_{t-1} $表示t-1时刻生成的单词,$ \sigma $表示sigmoid激活,$ {\alpha }_{i} $中的$ {\boldsymbol{W}}_{i} $$ {b}_{i} $分别表示权重和偏差,用来表示每个编码层的单个贡献以及不同层之间的相对重要性。

解码器层还包含全连接层前馈网络,编解码器多头注意的输出经过残差连接及归一化Add & Norm进行归一化数据,再通过一个线性层和Softmax操作后,得出概率值最大的词即为t时刻的预测结果$ {Y}_{t} $

3 实验及结果分析 3.1 数据集

实验选择的数据集主要包括以下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比例生成训练集、验证集和测试集。

Download:
图 5 数据集样本 Fig. 5 Samples of dataset
3.2 评价指标

描述图像生成的评价指标包括定量评价和人工主观评价。为了定量评价本文的图像描述模型,采用图像描述任务中常用的3个指标:BLEU@N[24]、METEOR[25]和CIDEr[26],且这3种指标的得分越高表示生成的描述越接近参考描述。

1)BLEU@N是基于N-grams准确率的评测,用于分析模型生成的语句与参考语句中N元组共同出现的程度,N可取1、2、3、4。

本文模型生成的描述表示为$ {c}_{i} $,参考语句表示为$ {s}_{i} $N-gram表示n个单词长度的词组集合,$ {\omega }_{n} $为第n组可能的N-gram,$ {\omega }_{n} $在句子$ {c}_{i} $中出现的次数为$ {h}_{n}\left({c}_{i}\right) $,在句子$ {s}_{i} $中出现的次数为$ {h}_{n}\left({s}_{i}\right) $,则准确率$ {P}_{n} $$ \mathrm{B}\mathrm{L}\mathrm{U}\mathrm{E}@N $可表示为:

$ {P}_{n}=\frac{\sum\limits_{i}\sum\limits_{n}\mathrm{m}\mathrm{i}\mathrm{n}\left\{{h}_{n}\right({c}_{i}), \mathrm{m}\mathrm{a}\mathrm{x}({h}_{n}\left({s}_{i}\right)\left)\right\}}{\sum\limits_{i}\sum\limits_{n}\mathrm{m}\mathrm{i}\mathrm{n}\left({h}_{n}\right({c}_{i}))} $ (17)
$ \mathrm{B}\mathrm{L}\mathrm{U}\mathrm{E}@N=\mathrm{m}\mathrm{i}\mathrm{n}(1, \mathrm{e}\mathrm{x}\mathrm{p}(1-{l}_{s}/{l}_{c}\left)\right)\times \mathrm{e}\mathrm{x}\mathrm{p}\left(\sum\limits_{n=1}^{N}{\omega }_{n}\mathrm{l}\mathrm{g}{p}_{n}\right) $ (18)

其中,$ {l}_{s} $$ {l}_{c} $分别表示参考语句的长度和模型生成语句的长度。

2)METEOR是基于准确率P和召回率R的指标,主要评测生成的描述与参考描述同义词、词根的匹配情况。模型生成语句描述与参考描述间的准确率和召回率的调和平均值计算方法为:

$ F=\frac{PR}{(1-\alpha )R+\alpha P} $ (19)
$ P=\frac{\left|m\right|}{\sum\limits_{n}{h}_{n}\left({c}_{i}\right)} $ (20)
$ R=\frac{\left|m\right|}{\sum\limits_{n}{h}_{n}\left({s}_{i}\right)} $ (21)
$ \mathrm{M}\mathrm{E}\mathrm{T}\mathrm{E}\mathrm{O}\mathrm{R}=(1-\gamma {\left(ch/m\right)}^{\theta })\boldsymbol{F}\times 100\mathrm{\%} $ (22)

其中,P表示准确率,R表示召回率,m表示预先给定的一组校准,$ \alpha \mathrm{、}\gamma ,\theta $是用于评价的默认参数。

3)CIDEr是图像描述的专用指标,通过计算参考描述与模型生成描述的余弦相似度评测,则更能反映所生成句子的语义质量。

$ {c}_{i} $为模型生成的语句,$ {S}_{i}=\{{s}_{i1}, {s}_{i2}, \cdots , {s}_{im}\} $为第i张图片的参考语句的集合,则有:

$ \mathrm{C}\mathrm{I}\mathrm{D}\mathrm{E}{\mathrm{r}}_{n}({c}_{i}, {S}_{i})=\frac{1}{m}\sum\limits_{j}\frac{{\boldsymbol{g}}^{n}\left({c}_{i}\right)\cdot {\boldsymbol{g}}^{n}\left({s}_{ij}\right)}{\left|\right|{\boldsymbol{g}}^{n}\left({c}_{i}\right)\left|\right|\left|\right|{\boldsymbol{g}}^{n}\left({s}_{ij}\right)\left|\right|}\times 100\mathrm{\%} $ (23)

其中,$ {\boldsymbol{g}}^{n}\left({c}_{i}\right) $$ {\boldsymbol{g}}^{n}\left({s}_{ij}\right) $为TF-IDF向量。

当用多种长度的N-grams时,则有:

$ \mathrm{C}\mathrm{I}\mathrm{D}\mathrm{E}\mathrm{r}({c}_{i}, {S}_{i})=\frac{1}{N}\sum\limits_{n=1}\mathrm{C}\mathrm{I}\mathrm{D}\mathrm{E}{\mathrm{r}}_{n}({c}_{i}, {S}_{i})\times 100\mathrm{\%} $ (24)

$ {\omega }_{k} $计算权重TF-IDF的向量$ {\boldsymbol{g}}_{k}\left({s}_{ij}\right) $为:

$ {\boldsymbol{g}}_{k}\left({s}_{ij}\right)=\frac{{h}_{k}\left({s}_{ij}\right)}{\sum\limits_{{\omega }_{l}\in {\mathit \Omega} }{h}_{l}\left({s}_{ij}\right)}\mathrm{l}\mathrm{g}\left(\left|I\right|/\sum\limits_{{I}_{P}\in I}\mathrm{m}\mathrm{i}\mathrm{n}\left(1, \sum\limits_{q}{h}_{k}\left({s}_{pq}\right)\right)\right) $ (25)

其中,$ {\mathit \Omega} $表示全部N-grams词表,$ I $表示图像的集合,$ {h}_{k}\left({s}_{ij}\right) $表示$ {\omega }_{k} $$ {s}_{ij} $中出现的次数。

3.3 实验方法

实验环境为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所示。其中,最优结果加粗表示。

下载CSV 表 1 本文模型在不同搜索宽度下的评价指标 Table 1 Evaluation index of the proposed model under different search widths 

表 1所示,随着搜索宽度的增加,BLEU@N和METEOR的评分也会增加,这表明模型性能更好。评价指标中的CIDEr是专用于图像描述的评价指标,结合图 6表 1可以看出,当搜索宽度数值设置为3时CIDEr值最大,且其他指标也相对较大,这表明此时模型效果最好。

Download:
图 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个百分点。

下载CSV 表 2 2种图像描述模型评价指标对比 Table 2 Comparison of evaluation index of two image description models 
3.4 结果对比分析

为验证本文模型的性能,使用上述客观评价指标对本文模型生成的图像描述进行评价。本文模型与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)是生成一个句子模板,将模板中的空缺与图像区域相关联,并将图像中检测到的目标物体嵌入到句子模板中来生成图像描述。

下载CSV 表 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)中的Top-down模型描述出人走进房间,而本文模型进一步描述了人和椅子的关系,即人在朝着椅子走;图 7(b)中的Top-down模型只描述出人坐在椅子上,本文模型还正确描述出椅子和墙的相对位置关系,即人坐在墙角的椅子上;图 7(c)中的Top-down模型描述出人蹲着,本文模型则在细节上描述出人正在朝着床底看;图 7(d)中的Top-down模型描述出人弯腰捡东西,本文模型在细节上描述了人与椅子的相对位置关系;图 7(e)中的Top-down模型描述出人摔倒在地上,而本文模型进一步描述出人摔倒时所在的位置;图 7(f)中的Top-down模型描述出人躺在床上,而本文模型准确定位到床的位置并注意到人在侧身躺着。综上所述,本文模型生成的描述在对象关系以及位置关系等细节上表现更佳,且语义更加全面丰富。

Download:
图 7 Top-down模型和本文模型生成图像描述对比 Fig. 7 Comparison of image caption generated by Top-down model and the proposed model
4 结束语

本文提出一种基于对象关系网状转换器的图像描述模型。该模型采用自底向上注意力机制提取图像中的外观特征和边界框特征,再将提取的特征输入到改进的转换器模型中经编解码生成图像描述。利用基于注意力机制的转换器模型编解码,可关注到图像的关键细节部分。在编码器部分,使用对象外观特征和边界框特征合并得到关系特征来改进自我注意力层的注意力权值,并有效利用对象之间的空间关系信息,强化目标之间的关联性。在解码器部分,将编码器和解码器的连接设计为网状结构,以充分利用图像特征。实验结果表明,该模型可显著提升描述语句的准确性。下一步将在本文模型基础上加入视频和音频等数据,并在视频描述相关任务中展开研究,以实现视频的高效检索。

参考文献
[1]
YANG Nan, NAN Lin, ZHANG Dingyi. Research on image interpretation based on deep learning[J]. Infrared and Laser Engineering, 2018, 47(2): 9-16. (in Chinese)
杨楠, 南琳, 张丁一. 基于深度学习的图像描述研究[J]. 红外与激光工程, 2018, 47(2): 9-16.
[2]
VINYALS O, TOSHEV A, BENGIO S, et al. Show and tell: a neural image caption generator[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2015: 3156-3164.
[3]
XU K, BA J, KIROS R, et al. Show, attend and tell: neural image caption generation with visual attention[C]//Proceedings of the 32nd International Conference on International Conference on Machine Learning. New York, USA: ACM Press, 2015: 2048-2057.
[4]
YANG Jin, LIU Jianbei, DIAO Jing. Image local feature descriptor based on discrete cosine transform[J]. Computer Engineering, 2012, 38(14): 173-176. (in Chinese)
杨进, 刘建波, 赵静. 基于离散余弦变换的图像局部特征描述子[J]. 计算机工程, 2012, 38(14): 173-176.
[5]
CHEN Long, ZHANG Hanwang, XIAO Jun, et al. SCA-CNN: spatial and channel-wise attention in convolutional networks for image captioning[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2017: 1-12.
[6]
LU J S, XIONG C M, PARIKH D, et al. Knowing when to look: adaptive attention via a visual sentinel for image captioning[C]//Proceedings of the 30th IEEE Conference on Computer Vision and Piscataway. Washington D.C., USA: IEEE Press, 2017: 3242-3250.
[7]
HOU Xingchen, WANG Jin. Image caption based on adaptive attention model[J]. Computer and Modernization, 2020, 30(6): 95-100. (in Chinese)
侯星晨, 王锦. 基于自适应注意模型的图像描述[J]. 计算机与现代化, 2020, 30(6): 95-100.
[8]
LU J, JIANWEI Y, BATRA D, et al. Neural baby talk[C]//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2018: 1-11.
[9]
ANDER S P, HE X D, BUEHLER C, et al. Bottom-up and top-down attention for image captioning and visual question answering[C]//Proceedings of 2018 IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2018: 1122-1136.
[10]
DAI Bo, ZHANG Yuqi, LIN Dahua. Detecting visual relationships with deep relational networks[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2017: 3298-3308.
[11]
HU Han, GU Jiayuan, ZHANG Zheng, et al. Relation networks for object detection[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2018: 3588-3597.
[12]
LU C W, KRISHNA R, BERNSTEIN M, et al. Visual relationship detection with language priors[C]//Proceedings of ECCV'16. Berlin, Germany: Springer, 2016: 852-869.
[13]
XU D F, ZHU Y K, CHOY C B, et al. Scene graph generation by iterative message passing[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2017: 3097-3106.
[14]
YANG Xu, TANG Kaihua, ZHANG Hanwang, et al. Auto-encoding scene graphs for image captioning[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2019: 10685-10694.
[15]
TANG Pengjie, TAN Yunlan, LI Jinzhong. Image description based on the fusion of scene and object category prior knowledge[J]. Journal of Image and Graphics, 2017, 22(9): 1251-1260. (in Chinese)
汤鹏杰, 谭云兰, 李金忠. 融合图像场景及物体先验知识的图像描述生成模型[J]. 中国图象图形学报, 2017, 22(9): 1251-1260.
[16]
BAHDANAU D, CHO K, BENGIO Y. Neural machine translation by jointly learning to align and translate[EB/OL]. [2020-08-20]. https://arxiv.org/abs/1409.
[17]
YANG Z C, YANG D Y, DYER C, et al. Hierarchical attention networks for document classification[C]//Proceedings of 2016 Conference of the North American Chapter of the Association for Computational Linguistics. Stroudsburg, USA: Association for Computational Linguistics, 2016: 236-256.
[18]
VASWANI A, SHAZEEER N, PARMAR N, et al. Attention is all you need[EB/OL]. [2020-08-20]. https://arxiv.org/pdf/1706.03762.pdf.
[19]
LIN Z H, FENG M W, CICERO N D S, et al. A structured self-attentive sentence embedding[EB/OL]. [2020-08-20]. https://arxiv.org/pdf/1703.03130.pdf.
[20]
REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149. DOI:10.1109/TPAMI.2016.2577031
[21]
HE Kaiming, ZHANG Xiangyu, REN Shaoqing, et al. Deep residual learning for image recognition[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2016: 770-778.
[22]
KRISHNA R, ZHU Y, GROTH O, et al. Visual genome: Connecting language and vision using crowdsourced dense image annotations[EB/OL]. [2020-08-20]. https://link.springer.com/content/pdf/10.1007%2Fs11263-016-0981-7.pdf.
[23]
LIN Y T, MAIRE M, BELONGIE S, et al. Microsoft COCO: common objects in context[C]//Proceedings of European Conference on Computer Vision. Berlin, Germany: Springer, 2014: 740-755.
[24]
PAPINENI K, ROUKOS S, WARDR, et al. BLEU: a method for automatic evaluation of machine translation[C]//Proceedings of the 40th Annual Meeting on Association for Computational Linguistics. Washington D.C., USA: IEEE Press, 2002: 311-318.
[25]
DENKOWSKI M, LAVIE A. Meteor universal: language specific translation evaluation for any target language[C]//Proceedings of the 9th Workshop on Statistical Machine Translation. Washington D.C., USA: IEEE Press, 2014: 376-380.
[26]
VEDANTAM R, LAWRENCE Z C, PARIKH D. CIDER: consensus-based image description evaluation[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2015: 4566-4575.
[27]
LIU Y, LIU Z, CHUA T S, et al. Topical word embeddings[C]//Proceedings of the 29th AAAI Conference on Artificial Intelligence. Berlin, Germany: Springer, 2015: 2418-2424.
[28]
RENNIE S J, MARCHERET E, MROUEH Y, et al. Self-critical sequence training for image captioning[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2017: 7008-7024.