APP下载

基于语义分割的全卷积图像描述模型

2023-01-31李永生颜秉勇周家乐

计算机工程与设计 2023年1期
关键词:解码器解码编码器

李永生,颜秉勇,周家乐

(华东理工大学 信息科学与工程学院,上海 200237)

0 引 言

如何让设计好的模型有效地利用图像信息生成更接近人类语言的描述是目前研究的热点。通常模型会以卷积神经网络(convolutional neural network,CNN)作为编码器提取图像特征为固定大小的向量作为多层长短时记忆网络(long short term memory,LSTM)的输入解码生成描述性语句[1]。通过在权威数据集实验,分析系统生成句子的语法和内容的准确性,达到对产生式模型的评估。

目前,图像描述主要分为3种研究方向:①模板法:基于图像本身的特征进行特征提取识别出图像目标,再将图像目标填入相匹配的语言模板生成描述性语句[2];②检索法:将图像和图像对应的描述语句映射到相同特征空间再计算两者之间的相似度生成描述性语句,把图像描述当成检索任务来操作[3];③主流的基于深度学习的图像描述法:以CNN作为编码器提取图像特征,以LSTM作为解码器生成图像描述语句[4-6]。为了生成更加接近人类语言的图像描述,需要让模型决定在每一个时间步更依赖于图像信息还是语言模型[4],同时为了让描述更具有多样性和更符合场景可以基于抽象场景图来关注使用者的意图[5],对解码器部分的改进让模型结果有了较大提升,然而普遍以LSTM作为解码器将严重降低模型训练速度且非常消耗实验资源,不利于实验研究,而且直接采用图像分类模型作为编码器对图像信息进行编码,缺乏对图像语义信息的利用,目标间也难以获得明确的相互关系,虽然以Bottom-Up作为编码器提取图像感兴趣区域获得目标特征和以Top-Down作为解码器确定目标特征对描述性语句的贡献度相结合的图像描述方法[6]能够准确获得图像类别,但编码器部分对目标间关系的理解仍然不够,针对上述问题本文创新性提出结合语义分割和CNN解码器的图像描述方法,本文贡献如下:

(1)在图像描述中引入语义分割方法,获得丰富的语义信息进而让模型加深对图像中物体间关系的理解,语义信息的增强有利于让模型解码出包含更丰富图像间相互关系的描述语句,将语义分割与CNN解码器相结合,提高图像精度的同时加快模型训练速度。

(2)增强查询与注意力之间的关联性,避免解码器解码时无关注意力结果影响,进一步提高模型生成描述的能力。

1 经典模型结构

如图1所示为目前主流的图像描述编解码模型,CNN作为编码器会提取图像特征生成固定大小的特征向量,LSTM作为解码器将编码器提取的特征向量作为输入再解码生成描述性语句。

图1 主流Encoder-Decoder模型结构[7]

主流的编解码模型能够在一定程度上解码生成符合人类描述的描述性语言,但是仍然存在许多问题让图像描述无法取得进一步的发展。

1.1 编码器

编码器负责提取图像特征信息生成固定长度的特征向量,在之前的研究中普遍采用图像分类模型做编码器,图像分类模型更偏向于对目标物的识别,而图像描述不仅需要识别出图像中的物体,还需要得到图像中物体间的相互关系[8]。

图像的语义信息包含了图像的底层特征语义和高层特征语义[9],是一幅图像最想表达的信息,丰富的语义信息可以提高图像对图像中物体间相互关系的理解,加强模型对图像物体间相互关系的理解有助于生成的描述性语言更具有逻辑性。而图像分类模型多为经过若干卷积得到的高层语义,感受野大有利于对物体的分类,难以获得图像中物体间丰富的相互关系而让生成的描述十分僵硬,甚至只是图像中目标种类的堆叠。

1.2 解码器

解码器会输入编码器生成的固定长度的特征向量解码生成描述性语言,主流的编解码模型一般使用LSTM或其变体作为解码器。解码器解码过程主要由输入字嵌入、LSTM解码以及输出字嵌入3部分共同组成[10]。首先将输入字嵌入送入LSTM解码,再选择后验概率最大的单词作为输出单词,但LSTM从yi(第i个输出单词)到yn(第n个输出单词)预测输出单词的时候每次只会有顺序的预测一个单词,在每一个时间步i内选择条件概率最大的作为预测下个单词的输入,正是由于在时间上存在固有顺序,下一个LSTM的输入必须依靠上一个LSTM的输出,这种串联训练的方式严重增加解码器的训练速度,消耗训练时间和训练资源。

1.3 注意力机制

注意力机制负责在模型解码时让模型关注图像重点区域,排除无关信息对生成描述的干扰。图像描述的注意力机制与人眼的注意力机制颇为类似,当我们观察某一目标的时候,只会去关注目标本身,视野中的其它部分会被自动忽略,将注意力集中在重点信息上从而获取对我们更有效的资源。在实验中注意力模型会给重点关注的部分分配一组较高的权重,对不需要关注的部分较低的权重,让模型自动识别两者,抑制不相干信息对实验的影响。

经典的注意力机制θatt(Q,K,V) 首先会计算Q(查询向量,目标语言所有词的特征向量对应的矩阵)和K(需要被翻译语言经过编码器之后的词向量表示)之间的相似性,然后使用相似度分数计算V(输入特征的向量)上的加权平均向量,如图2所示,而具体计算公式如式(1)和式(2)所示

图2 传统注意力机制

(1)

(2)

2 基于语义分割的图像描述模型

针对主流编解码模型出现的问题本文提出基于语义分割的全卷积图像描述模型,创新性的在图像描述中提出语义分割和卷积神经网络相结合的图像描述方法,编码器部分融合语义分割模块增强语义信息,提高对图像中物体间关系的理解;以CNN作为解码器加快模型训练速度;为避免注意力机制给与冗余信息分配不必要的权重信息,调整注意力的输出,让模型只关注模型需要关注的部分。

2.1 模型架构

如图3所示为本文模型结构图。模型主要是由编码器、注意力机制和解码器等3部分组成。图像分类模块和语义分割模块组成的编码器会提取图像特征信息生成特征矩阵 [f1,f2,…,fn]; 图3中黑白方块为Masked卷积[7]代替LSTM作为解码器生成描述性文字;注意力机制让模型关注需要关注的部分,在生成描述语句的精确度和训练的速度上都得到了提升。

图3 本文模型结构

2.2 基于语义分割的编码器模型

提取图像信息生成固定长度的特征向量是编码器的主要任务。而丰富的图像语义信息可以加深模型对图像中物体间相互关系的理解有助于解码生成描述,因此在编码器部分加入语义分割模块提取语义信息,编码器结构公式化如式(3)所示

E_out=C(img)+γF(img)

(3)

式(3)中img为模型输入,即输入图像,C(img) 为图像分类模块,F(img) 为语义分割模块,γ为模型的可训练参数,E_out表示编码器输出,是固定长度的特征向量。

C(img) 是图像分类模块,本文选择使用预训练的DenseNet特征提取网络。该模型建立之前所有卷积层与之后卷积层之间的密集连接,充分利用图像所有特征,同时前后卷积网络之间的短路连接提高了梯度的反向传播能力,让卷积神经网络能够训练更深的网络结构,DenseNet的计算公式如式(4)所示

D_outl=Hl([o0,o1,…,ol-1])

(4)

式(4)中Hl是包括卷积、池化、标准化和激活函数在内一系列组合操作的非线性转化函数,o0,o1,…,ol-1表示第0到第l-1层输出特征图的通道合并,D_outl表示DenseNet第l层输出。由式(4)可知该模型包含丰富的图像信息对图像物体识别十分有利。

F(img) 是语义分割模块,本文选择使用UNet[11]语义分割网络作语义特征提取器加强编码器特征向量包含的语义信息。UNet是非常出色而且小巧的语义提取网络,与FCN[12]和Deeplab[13]相比,UNet只需4次上采样在同一个stage跳跃连接,保证恢复出来的特征图融合更多的low-level的特征,使得分割图恢复边缘等信息更加精细[12],UNet网络结构如图4所示。

图4 UNet网络结构

UNet可以提取丰富的语义信息但是难以捕捉语义信息之间明确的相互关系,为此需要在UNet中添加注意力模块,将位置注意力和通道注意力两个并行连接的模块插入UNet下采样与上采样之间让模型明确语义信息间的相关性。

2.2.1 位置注意力

位置注意力模块可以将大范围的图像语义信息进行编码到图像的局部感受野中来增强特征图的表达能力。位置注意力Ej[14]计算公式如式(5)和式(6)所示

(5)

(6)

式(5)中sij为第i个位置对第j个位置的影响,BiCjDi是图像特征图A经过BN层和RELU层卷积操作后得到的新特征图。根据式(5)通过Bi和Cj特征图计算得到位置注意力映射图sij, 由式(5)可知当两个不同位置的特征越相似sij受影响越大。得到注意力映射图sij后将其与Di相乘的结果和最初的特征图A逐元素相加得到输出位置注意力Ej,尺度系数α一般初始化为0进行学习,由最后的输出Εj可知任一位置都是图像中所有位置的特征和初始特征加权得到的结果,因此可以聚合全部的语义结果,引入注意力机制获取图像中任意位置空间上的依赖关系。

2.2.2 通道注意力

多次卷积后图像高层特征的每一个通道都可以看作是某一类别的明确响应且不同语义间存在联系,通过增强获得的不同通道映射之间的依赖能提高特征图对特定语义信息的表征能力,通道注意力Ej[14]计算公式如式(7)和式(8)所示

(7)

(8)

式(7)中xji为第i个通道对第j个通道的影响,A是图像特征图。根据式(7)通过图像原始特征计算得到通道注意力图xji, 再将通道注意力图与特征图相乘的结果逐元素和特征图A相加后得到最终的特征图,与位置注意力一样尺度系数β初始化为0开始训练。由式(8)可知每个通道的特征都是全部通道和特征图的加权和,增强了通道特征图之间的全局依赖。

为了充分利用远程依赖性,将两个注意力模块并行连接添加到网络结构中,汇总注意力模块的功能,加强特征表示能力。

同时本文并没有单纯的将语义分割模块与图像分类模块融合到一起,而是使用加权残差连接的方式将两者结合,式(3)中的参数γ为模型可训练参数从0开始训练,让模型动态自适应的从提取的语义特征中提取模型所需要的信息,提高生成描述的能力。

2.3 基于全卷积的语句生成模型

解码器会以编码器生成的固定长度的特征向量作为输入,再解码生成符合人类语言的描述性文字。LSTM网络作为目前主流的解码器模型在序列数据的预测和生成上具有较好的处理效果,但是LSTM难以并行训练的缺陷将会严重限制模型解码的训练速度,为了缩短解码器的训练时间本文选择CNN代替LSTM作为模型解码器。

由于解码器处理的数据是带有时间序列的,同时图像中物体间的关系也较为离散,而二维卷积更多处理具有连续像素的数据,因此能够对数据在某一方向的平移不变特征进行提取的一维卷积在处理时间序列数据上可能更有优势。对比图1与图3发现解码器输入输出与传统编解码模型一样,改变只是将中间的LSTM替换为Masked卷积[7],在训练时Masked卷积会模拟LSTM生成描述的方式,Masked卷积会屏蔽当前之后的部分只使用当前和之前的部分预测单词,保留卷积核中间点之前的像素信息。像素生成方式如图5所示,随着训练进行模型会按照从左到右,从上到下顺序预测下一个像素[15]。

图5 图像中生成下一个像素的结构

在模型解码时只需要记住与生成描述相关的信息,因此本文添加门控线性单元[16]过滤无关信息让模型学会选择有用的解码信息。式(9)为门控线性单元的计算公式

hl(X)=(X*W+b)⊗σ(X*V+c)

(9)

式(9)中X为卷积层的输入,W,b,V,c为可学习参数,σ为sigmoid函数,⊗为矩阵间元素间的乘积。式(9)的后半部分为激活函数,控制X*W+b的哪些信息输入下一层。本文在Masked卷积后添加门控线性单元并以此为一个模块Mn(f_v) 重复叠加不停获取对解码有用的信息,如式(10)所示

(10)

式(10)中Mn(f_v) 为融合了门控线性单元和Masked卷积的全卷积模块,f_v是编码器提取的特征向量。通过堆叠卷积层和门控线性单元来获得更丰富、更抽象的网络信息。但在实验中n的数量会影响解码精度,Mn(f_v) 模块越多获取的信息越过于抽象,越难以解码出流畅的描述性语言,因此n的数量需要根据实际情况确定。

2.4 基于注意力的注意力模型

图像描述的注意力机制可以让模型在解码时注意力集中在重点信息上,但传统的注意力机制即使是不相关的向量依然会生成加权平均向量,鉴于此本文在注意力机制上添加AOA模块[17],为注意力再添加注意力。

Lun等[17]提出的注意力机制结构如图6所示。通过两个线性变换生成“信息向量”inf和“注意力门”gate,公式如式(11)和式(12)所示

(11)

(12)

(13)

⊙表示逐元素相乘。在查询向量与注意力结果之间添加注意力,让模型自适应选择哪些信息需要送入之后的训练。图6中Linear层可以并不是只有一层,而是许多Li-near层连接在一起,但是本文并没有采取多层结构,而是只使用了一层Linear层,卷积层没有类似的门限结构来保留有用信息,过多的卷积操作会降低生成描述的能力,同时增加生成描述的时间。

图6 Attention on Attention

3 实验设计与结果分析

3.1 数据集预处理

本文使用MSCOCO作为图像描述数据集,MSCOCO数据集非常庞大,可以用于所有计算机视觉任务的研究,是目前最有说服力的数据集,实验中使用113 287个图像作为训练图像,5000张图像进行验证,5000张图片进行测试,每张图片有5条描述。本文使用的单词表总计有9221个单词,对于描述中不在单词表中的单词使用来代替。为了有效防止过拟合,提高模型的性能,在训练前会对图像做旋转、裁剪等数据增强操作,可以在一定程度上提高模型的泛化能力,最后把图片尺寸调整为 (224,224,3) 再统一送入模型进行训练。

3.2 模型训练

实验环境是Ubuntu 20.04 64位系统,使用Pycharm做开发工具,Python环境为Python3.7,深度学习框架选择的是Pytorch,显卡为NVIDIA GeForce RTX 3090。训练时部分网络参数见表1。

表1 网络训练参数

3.3 评价方法

图像描述中衡量描述性语句适当性和流畅性两方面的评价指标采用的是BLEU、Meteor和ROUGE,这些都是经过时间检验能正确评价实验结果的评价指标。

BLEU使用的是N-gram匹配规则匹配描述性语句与参考描述,随着N的增大表示重合程度越高,同时生成的语句也越流畅;METERO是基于BLEU缺乏对召回率评价的改进,同时考虑单词在语句中的位置和成分;ROUGE为基于描述中n元词的共现信息来评价,是一种面向n元词召回率的图像描述评价方法,以上评价指标分数越高表明模型生成描述结果越好。

3.4 结果分析

以LSTM为解码器的Adaptive模型是目前图像描述领域表现最好的模型结构之一,由表2(Seg_model为以CNN为解码器同时编码器搭配语义分割模块的图像描述模型,Noseg_model为以CNN为解码器但是解码器并没有添加语义分割模块的图像描述模型)实验结果可知,本文模型在参数量高于Adaptive模型2到3倍的情况下依然有更快的训练速度,Seg_model和Noseg_model的训练速度几乎只有Adaptive速度的一半,以LSTM作为解码器的Adaptive模型因为LSTM无法向CNN一样并行训练,所以即使有更少的参数量也难有更短的训练时间,因此以CNN作为解码器在训练速度上要优于LSTM的解码器。

表2 本文方法与LSTM作解码器参数对比

图7为Seg_model和Adaptive在BLEU4分数对比,横坐标为迭代次数,纵坐标为BLEU4评价分数,分数越高代表评价效果越出色,Seg_model模型在迭代次数为55的时候开始收敛,而Adaptive模型在迭代次数为52时候会开始收敛,结合运行训练时间,本文模型能更快收敛,更具实际意义。

图7 Seg_model和Adaptive在BLEU4分数收敛

为了保证实验结果的有效性和公平性,本文在同等条件下对其它模型进行了多次实验。由表3(B1、B2、B3、B4分别代表BLEU1、BLEU2、BLEU3、BLEU4评价指标)实验数据可知,与其它5个经典模型相比本文模型具有一定优势。B1表示只要有词相同精度就高,并不要求语序,与B1分数最高的S-A和H-A比较,Seg_model精度仅比H-A低0.2%,比S-A高0.1%,几乎没有差距,说明我们的模型能够识别出描述图片的语句,随着Bn的n提高,评价标准开始注重生成描述的语序,n越高还能有较高的精度才是优秀模型应该有的表现,以最高的B4为例,B4时Seg_model和Noseg_model精度高达0.278和0.266,比在B4表现最好的gLSTM和mRNN分别提升了1.2%和0.2%,比表现较次的NIC模型提高了7.5%和6.3%,在METEOR和ROUGH上Seg_model同样比最高的H-A模型分别提升了0.6%和0.3%。由Noseg_model的B1和B3精度可知模型使用全卷积解码后确实会导致模型精度降低,Noseg_model在B1上比S-A和H-A分别降低1.1%和1.4%,由此可知CNN解码能力相较于LSTM解码能力偏弱,LSTM门限结构能够储存更多更长依赖的信息,进而生成较好的描述,但Seg_model添加了语义分割后各项评价指标提升了约1%左右,语义信息的增强有利于图像描述精度的提高。

表3 本文方法与其它经典模型的最佳结果比较

表4的Convcap模型是同样使用Masked卷积作为解码器在相同条件下多次实验的对比结果,精度上除了B2相差0.2%以外,其余评价指标都有提升,B1、B3、B4、METEOR、ROUGE分别提高1.2%、0.9%、0.2%、0.9%、0.5%,随着Bn评价指标n的提高本文模型精度在提高,说明本文模型生成的语句更具有顺序性和逻辑性。METERO是基于BLEU的改进,精度更高说明单词在语句中位置更合适。这更加表明语义信息的增强对图像描述具有非凡的意义。

表4 本文模型与Convcap结果比较

表5是本文Seg_model模型和S-A在MSCOCO数据集上随机生成的描述,对比两种描述可知生成的描述都能表达出图片的含义。由第5幅图可知S-A模型只描述了一个女人,而本文模型却描述出了图像中所有人,语义信息的增强可以让模型理解图像中有哪些物体,但总体来说两种优秀模型生成的描述旗鼓相当。

表5 COCO数据集上生成描述对比

由实验结果可知语义信息的增强确实对模型非常有利,语义分割提取的是像素级别的特征,能够区分出属于各个目标类的像素[19],这对图像描述是十分有利的,表6为从MSCOCO数据集中随机挑选的部分图片及其描述,由表6数据集描述可知MSCOCO并没有描述图片中每一个物体,这也正是本文灵感来源之一,图像描述不需要太精细的特征,不需要把输入图像中的每一个目标都识别出来,只需要提取出相同的目标类并在此基础上理解相互关系即可。

表6 MSCOCO数据集个别数据展示

然而并不是所有的语义分割模型都能提高模型精度,本文选择UNet作为语义特征提取模块是在相当漫长的失败中做的选择,由大量失败实验可知模型结构复杂同时包含过多的高低层特征融合的模型结构既不会给模型精度带来多大提升,还会因为过多的特征融合增加模型训练速度。因此选择轻量级且有强语义提取能力的UNet可以让模型生成描述能力进一步提高。

由表7实验结果对比表4实验数据发现,以Seg_model为例,B1、B2、B3、B4、METEOR、ROUGE分别提高了1.7%、0.7%、0.8%、1%、0.5%、1.6%,为注意力添加注意力后,加强了注意力结果与查询向量之间的关联性,抑制不相关信息对模型生成描述的误导,如果不添加注意力,受到冗余信息的影响,注意力机制把对应区域带入解码器时会影响解码器生成图像描述,降低生成描述的能力。

表7 未改进注意力机制的模型最佳结果

4 结束语

本文在图像描述中提出语义分割和卷积神经网络相结合的图像描述方法,编码时使用语义分割提取图像语义信息的同时并行连接图像特征提取网络,加强编码器对图像中物体间关系的理解;解码时为了加快训练速度,使用CNN代替LSTM作为解码器缩短模型的训练时间;同时为了增加注意力与查询之间的关联性,在注意力机制上再添加注意力抑制不相关信息对模型生成描述的误导,进一步提高实验效果。对比实验结果表明,本文提出的模型结构要优于传统神经网络图像描述模型,在图像描述领域有广泛应用。希望本文提出的语义分割和卷积神经网络相结合的模型结构能够为图像描述的提供新的解决思路。

猜你喜欢

解码器解码编码器
融合CNN和Transformer编码器的变声语音鉴别与还原
《解码万吨站》
科学解码器(一)
科学解码器(二)
科学解码器(三)
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
解码eUCP2.0
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
基于双增量码道的绝对式编码器设计