APP下载

注意力机制融合深度神经网络的室内场景识别方法

2021-05-10薛永杰巨志勇

小型微型计算机系统 2021年5期
关键词:准确率神经网络注意力

薛永杰,巨志勇

(上海理工大学 光电信息与计算机工程学院,上海 200093)

1 引 言

室内场景识别是机器人视觉领域的基本课题之一,其目的为让机器人能够通过分析物体之间的位置关系和物体自身属性,使其能够以人类的理解角度来感知环境[1],但实际生活中物体的复杂类内差异性与类间相似性,增加了各场景信息整合及逻辑推理的难度.因此,如何提取语义线索进行场景识别,在室内场景识别领域仍是一个具有挑战性的研究课题.

近年来,人工智能科技的发展日益加快,产生了许多基于机器学习的室内场景识别算法.Fan等[2]提出一种自适应多尺度系统,采用具有多并行通道的多层识别机制,将各通道空间尺度上的位置组合以进行位置场景识别.Fabio等[3]将目标位置属性分布输入贝叶斯分类器,结合降维手段生成统计模型,以进行场景分类.Yang等[4]提出改进隐狄利克雷分配模型结合K均值算法来学习和识别场景.上述方法与相关研究[5-7]提升了对视觉信息的获取,使其能够被充分利用,然而这些方法仅仅关注于纹理、颜色和几何结构等简单特征,并没有充分利用图像中的语义成分.因此对于复杂场景的识别,特别是开放布局的室内场景识别会有困难.

随着深度学习应用在图像描述和文本分类领域的快速发展,部分学者提出了RNN[8]、N-gram[9]、Word2Vec[10]等自然语言模型.并使用正则化[11]、批量标准化[12]、残差网络[13]等方法处理梯度消失或过拟合等问题.Chingiz等[14]提出了一种直接利用预先训练的卷积神经网络(Convolutional Neural Networks,CNN)中间层输出作为图像描述子的方法,通过图像序列的匹配从而进行场景识别.Krause等[15]提出了一种多层循环网络,为图像生成完整的段落描述.Peng等[16]等提出一种结合场景因素的理解模型,在语句生成过程中利用场景相关联单词与双长短期记忆网络(Long Short-Term Memory,LSTM)结构调整参数,提高图像语言理解准确性.上述研究为提取图像的语义信息提供了理论基础与参考.

为解决传统室内场景识别方法未充分利用图中语义信息而导致识别准确率低等问题,本研究提出一种基于注意力机制融合深度神经网络模型的室内场景识别方法.该方法由两部分模型融合组成,第1部分为基于注意力机制的LSTM 模型,第2部分为CNN模型.首先通过位置描述符表达图像中各物体属性与位置关系,采用GloVe模型提取图像中语义信息生成词向量.然后通过数据预处理算法保证数据格式,将所提取到的语义特征输入基于注意力机制的LSTM模型,通过注意力机制提升识别特征的准确率,采用其输出作为后接CNN的输入.最后通过Softmax函数进行场景分类.本研究采用Visual Genome数据集进行实验.结果表明,该方法能够对场景进行有效识别,相较其它室内场景识别方法具有更优识别准确率.

2 相关工作

2.1 图像的位置描述符(PD)定义

室内场所识别通常包含3个基本步骤:图像采集、信息表达和场所识别.本研究通过位置描述符(Position Describer,PD)表达图像中物体属性与其周围环境联系的信息.对于一张带有标签y的图像,分别从3方面对图像中物体进行描述:物体状态(表示为集合S)、物体属性(表示为集合A)及物体与物体之间关系(表示为集合R),取以上3类信息并集作为位置描述符,即PD∈S∪A∪R.其中元素均以文本形式表达,如图1(a)所示,每个位置描述符包含了物体属性和位置关系信息(例如“电脑边上的键盘”,其中‘电脑’与‘键盘’为物体属性,属于集合A,‘边上'为位置关系属性,属于集合R),物体状态信息(例如“一个男人用电脑在编程”,其中‘在编程’为目标状态,属于集合S).

图1 注意力融合深度神经网络的室内场景识别模型

2.2 GloVe模型

自然语言是一种高度抽象化的符号表示形式,无法直接被计算机识别,目前常用唯一的数字表示每个语言单元,并组合这些数字以反映丰富的语义信息,将自然语言转换为计算机能够处理的语言.本研究采用词表征的全局向量(Gloval vectors for word representation,GloVe)模型[17]转换将文中单词转换为数字.GloVe是一种用于获得词的向量表示的无监督学习模型,根据所给语料库构建词-词共现矩阵,统计每个单词在语料中一定范围内,其他单词出现的次数Xi与对应共现概率Pik如公式(1)和公式(2)所示:

(1)

(2)

式中Xik表示上下文单词k与单词i在上下文窗口中共同出现的次数;Xi表示单词i上下文中所有单词出现的总次数;Pik表示单词k出现在单词i上下文中的概率.通过比较概率的大小来判断单词之间的相关度.词向量相似度函数F定义如公式(3)所示:

(3)

(4)

3 算法研究

3.1 数据预处理算法

为确保PD格式符合GloVe模型输入尺寸,采用数据格式预处理算法对PD进行格式处理,如算法1所示.

算法1.数据格式预处理算法

输入:[xi]k表示第k图中的第i个PD;wn表示每个PD中的第n个词;batchsize表示每批训练样本个数;maxlen表示PD最大允许长度;wordsize表示单词长度.

1.Whilenot end of kdo

2. m=mod(length([xi]k),batchsize);

3.ifm>0then

4. 令[xi]k=[[xi]k,[xs]k],其中s为范围(1,i)的随机数;

5.endif

6.fori=1 to length([xi]k)do

7. 对[xi]k进行标准化处理;

9.ifmax(n)

11.else

13.endif

14.endfor

16.endwhile

在算法1中,第7步的标准化处理主要包含以下操作:

1)移除标点符号、多余空格和不影响位置描述符的原始语义的特殊符.

2)使用对应中文文本替换语句中数字.

3)在不改变原始语义的情况下移除停顿词.

此外,如图1(b)所示,在LSTM模型中采用了L2正则化小批量梯度下降算法,输入数据为三维张量,各维度分别表示对应词嵌入向量的尺寸,句子的长度和批处理的大小.由于位置描述符的最大输入长度受LSTM模型的限制,因此须对其规范化.否则可能出现语句长度过短,导致输入张量中存在无法处理的空元素;语句过长,模型无法处理,导致信息丢失.因此,应通过添加零张量或拆分句子的方法来保持语句尺寸始终一致,以避免出现空元素.算法1对位置描述符的格式进行了规范化以满足LSTM的要求,从而保证信息的准确性.

3.2 室内场景识别模型构建

位置描述符包含丰富的语义信息而神经网络模型具有强大的自然语言处理的能力,卷积神经网络能够提取句子中不同位置的特征,LSTM能够有效处理序列问题并避免梯度爆炸或梯度消失的情况.本研究提出一种基于注意力机制融合深度神经网络(Attention-based fusion deep neural networks,AFDNN)模型用于室内场景识别.该模型由基于注意力机制的 LSTM 模型与CNN模型2部分融合组成.

3.2.1 基于注意力机制的LSTM模型

由于位置描述符中各单词之间存在语义依赖关系,且上下文之间存在时序关系,因此本研究采用了一种带有基于注意力机制的LSTM模型,于每个时步t计算ht与其前6个时步之间的联系.注意力模型如图2所示,每个时步所占能量值都不同,能量值越高表示所占权重越大,根据能量值大小给予每个时步相应的注意力权重,可表示为式(5)和式(6).

图2 注意力模型

(5)

(6)

式中WS表示时步T之前所有时步的注意力权重总和,hT表示时步T隐层值,aT为标量,表示时步T的权重,W表示模型训练时学习到的权重矩阵,exp(W×ht)表示时步T的潜在能量.如图2所示,ht-3具有的注意力权重最高,ht-6具有的注意力权重最低.

LSTM单元每一个时步的输出都由门函数、上一个隐层状态ht-1和当前时步的输入xt共同控制,当前隐层状态ht与细胞状态Ct由输入门it,遗忘门ft,输出门ot共同控制,基于注意力机制的LSTM模型公式定义如式(7)-式(16)所示:

it=σ(Wi·[ht-1,xt,Ct-1]+bi)

(7)

式中it表示第t个时步输入门的计算结果;σ表示sigmoid函数,输出范围介于[0,1];Wi表示输入门权重;ht-1表示上一个隐层的状态;Ct-1表示上一时刻细胞状态;bi表示输入门偏置.

ft=σ(Wf·[ht-1,xt,Ct-1]+bf)

(8)

式中ft表示第t个时步遗忘门的计算结果;Wf表示遗忘门权重;bf表示遗忘门偏置.

ot=σ(Wo·[ht-1,xt,Ct]+bo)

(9)

式中ot表示第t个时步输出门的计算结果;Wo表示输出门权重;bo表示输出门偏置.

(10)

(11)

式中⊙表示Hadamard乘积;注意力机制通过计算t时步的数据与其之前6个时步的权重来更新细胞状态Ct,如公式(12)和公式(13)所示:

(12)

(13)

(14)

(15)

(16)

3.2.2 卷积神经网络模型

wj=[xj,xj+1,…,xj+k-1]

(17)

cj=f(wj⊙m+b)

(18)

中,⊙表示Hadamard乘积,b为偏置项,f表示线性修正单元(Rectified Linear Unit,ReLU).此外,本研究模型使用多个卷积核来生成不同的特征图,卷积层后接最大池化层(Max-pooling layer)进行特征提取,最大池化层的输出将通过式(19)中Softmax函数进行分类.

(19)

式中Pi表示被分类为第i类的可能性,C表示分类的数目.zi表示全连接层的输出,包含位置描述符的全部信息,取输出最大值所对应的类别为作为最终结果.如图1(c)所示,本研究卷积神经网络室内场景识别模型由卷积层、池化层、输出层3部分组成.第一层为卷积层,使用ReLU作为激活函数,其输入为LSTM模型的输出;第二层池化层,采用最大池化层对经过卷积层处理后的数据进行二次采样;最后一层为输出层,经过最大池化层处理后,数据信息通过全连接层(fully-connected layer)输送至Softmax进行室内场景分类.

3.3 模型训练

本研究模型采用交叉熵损失函数衡量预测值与实际结果之间的差异性信息,其定义如式(20)所示:

(20)

算法2.L2正则化小批量梯度下降算法

输入:学习率lr;学习衰减率d;最大迭代次数τ;正则化参数λ;初始参数θ.

输出:更新参数θ*

1.k=1;

2.while未满足停止条件do

3. 抽取m个带有标签y(i)的小批量样本{x(1),x(2)…,x(m)};

4. 计算交叉熵损失函数的均方误差:

(21)

5. 计算梯度预测值g=ΔθL((x(i);θ),y(i));

6. 更新参数θ*=θ-lr×g;

7.ifk>τdo

8. 更新学习率lr=lr×dk-τ;

9.endif

10.k=k+1;

11.endwhile

4 实验与分析

4.1 实验环境

实验环境如表1所示.

表1 实验环境配置

4.2 数据集及评价标准

本研究实验数据采用由斯坦福大学人工智能实验室开发的Visual Genome数据集.该数据集包含各类语义信息及108077张生活场景图像,取其中75653张作为训练集,32424张作为测试集.通过开源标注工具LabelImg对图像进行标注,部分数据集样本如图3所示.

图3 具有位置描述符的室内场景样本

本研究分别采用精确率(Precision)、查全率(Recall)、准确率(Accuracy)和F1-Score作为模型评价指标,具体定义分别如式(22)、式(23)、式(24)和式(25)所示:

(22)

(23)

(24)

(25)

式中TP表示被检索为正样本且分类正确的样本数;FP表示实际为负且分类错误的样本数;FN表示实际为正且分类错误的样本数;TN表示被检索为负样本的且分类正确的样本数.

4.3 实验参数设置

文中实验参数设置如下:通过GloVe模型生成词向量表示,单词向量维数=128,上下文窗口大小=6,最小计数频率=1,迭代次数=50.经过算法1处理后,数据集中每个不同单词都被转换为唯一的128维向量,用于位置描述符中的信息.其中,位置描述符最大长度设置为10,每个类别的标签都通过独热编码转为唯一的数字字符串表示,具体实验数据集样本信息如表2所示.通过在不同数据条件下进行对比测试,最终将学习率(learning rate)设置为0.1,学习衰减率(learning rate decay)设置为 0.96.文中实验采取1次10折交叉验证,取各次实验数据的平均值作为最终结果.

表2 实验数据集信息

4.4 实验结果与分析

本研究采用基于注意力机制融合深度神经网络模型进行实验,选取Visual Genome数据集中的5类室内场景:卧室、厕所、厨房、客厅和书房,每类包含100张图片,进行室内场景识别,通过3个不同实验对识别结果进行衡量,验证模型有效性.

实验1.为验证位置描述符分类的有效性,在所选取的5类场景样本上进行实验,并对实验结果进行分析.表3以融合矩阵的形式展示了测试样本图像中位置描述符的具体分类情况,各场景种类下位置描述符的精确率、查全率、准确率和F1-Score衡量结果如表4所示.

表3 室内场景位置描述符混淆矩阵

如表3和表4结果所示,本研究AFDNN模型对于不同场景下的单个位置描述符的平均精确率为71.13%、平均查全率为71.11%、平均准确率为73.02%、平均F1-Score为71.64%.在处理每幅图像所含位置描述符时,保存由各位置描述符所得场景种类预测结果,当处理完图像中所有位置描述符后,根据硬投票(hard voting)机制,选取预测结果中所得票数最高的场景作为该图像最终场景识别结果,表5为所有实验测试识别结果分布.

表4 不同室内场景的实验结果

表5 室内场景识别结果混淆矩阵

如表5所示,对于500例测试样本,正确识别样本数为486例,错误识别样本数为14例,识别正确率达到97.2%.通过分析,错误识别情况主要集中发生在将客厅误识别为卧室和将厕所误识别为厨房2类.图4展示了其中2例错误识别结果及其位置描述符(由于空间限制图像中部分位置描述符省略).以图4(a)为例,图像的真实标签为客厅,但本研究方法预测标签为卧室,其具体实验结果情况如表6所示(由于长度限制表格中部分位置描述符省略).由实验结果所示,对于个别具有大量类似物体且享有共同属性的位置描述符的室内场景(例如“靠近灰色沙发的木桌”或“一个灰色的沙发”都可能出现在卧室和客厅中),可能会使模型产生错误的识别结果.

表6 图4(a)中位置描述符的实验结果

图4 2例错误识别结果

实验2.为了测试注意力机制对模型识别准确性的影响,将AFDNN模型和FDNN模型进行对比,本研究选取不同训练集比例,并比较不同参数设置条件下模型识别准确率.表7列出了两种模型在不同训练集比例下的识别准确率.

如表7所示,当训练集比例为0.7时,AFDNN模型的位置描述符准确率与图像准确率达到最高值,分别为73.02%和97.20%.相较于无注意力机制的FDNN模型的准确率67.67%和95.30%分别提高了5.35%和1.9%.随着训练集比例的数量减少,AFDNN模型识别准确率略有下降,但总体识别准确率仍然保持在较高水平.相反FDNN模型总体识别准确率受训练集比例影响较大,这表明本研究模型具有一定的容错能力,在注意力机制下主要提取位置描述符中最重要的特征.例如,类别为书房的室内场景中常包含如“灰色的台式电脑”等位置描述符,这类位置描述符在场所识别中将起到主要作用.此外,卷积神经网络模型中也会保留一些特征信息,因此在投票机制的帮助下仍能确保一定的识别正确率.

表7 不同训练集比例下的准确率

实验3.为比较不同室内场景方法的识别效果,使用本研究AFDNN模型分别与ResNet[13]、CNN[14]、SIFT[18]、SVM[19]和FDNN对所选取5类室内场景进行识别,表8列出了6种方法在不同室内场景的实验结果.

如表8所示,本研究AFDNN模型在所选五类室内场景的识别准确率达到97.20%,相较传统机器学习方法SIFT,SVM精准度分别提高了33.55%、27.9%.其中SIFT算法准确率最低,仅为63.65%.造成其准确底下的主要原因为:SIFT算法通过比较图像中的局部特征及关键点来检测两幅图像的相似度,而室内场景具有复杂的类内差异性与类间相似性,造成SIFT算法难以精准识别.本研究方法相较于深度学习模型CNN和ResNet精准度分别提高了4.97%,10.51%.可以看出,CNN精准度相较于本研究方法略低,虽然该方法仅考虑了图像特征属性,但由于其较深的神经网络结构,经大量数据集图像训练后,所提取的特征会保留在卷积层中,从而一定程度上保证了精准度,但对图像中的语义信息没有充分利用,并且计算复杂度相对高,耗时较长.AFDNN的实验效果优于FDNN,在引入的注意力机制后,使得位置描述符中重要特征与输出类别之间关联性更强,更好地提高模型室内场景识别结果.整体来讲本研究所提出的AFDNN模型相较其余传统室内场景识别方法具有更好的性能.

表8 不同方法实验结果对比

5 总 结

由于大多数室内场景识别方法仅依靠物体自身特征属性进行识别,并未充分利用图像中丰富的语义内容,故提出了一种注意力机制融合深度神经网络的室内场景识别方法,该方法通过位置描述符将室内环境的图像特征进行融合,在经过数据预处理算法后,采用GloVe模型将从图像中提取的特征信息转为文本形式.经过带有L2正则化的小批量梯度下降算法训练模型后,通过AFDNN模型进行场景识别.实验结果表明,本研究模型能够有效对室内场景进行识别,相较传统室内场景识别方法取得了更优的识别准确率,在后续研究中应加强关注人与物体之间的互动关系,增加描述语句的多样性,使模型具有更强泛化能力,从而解决因相同位置描述符导致错误识别的问题.

猜你喜欢

准确率神经网络注意力
基于神经网络的船舶电力系统故障诊断方法
基于人工智能LSTM循环神经网络的学习成绩预测
让注意力“飞”回来
MIV-PSO-BP神经网络用户热负荷预测
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
A Beautiful Way Of Looking At Things