基于注意力机制网络的航运监控图像识别模型

2021-11-05 01:30张凯悦
计算机应用 2021年10期
关键词:全局纹理卷积

张凯悦,张 鸿

(1.武汉科技大学计算机科学与技术学院,武汉 430081;2.智能信息处理与实时工业系统湖北省重点实验室(武汉科技大学),武汉 430081)

0 引言

深度学习和计算机视觉技术的发展让智能监控的应用越来越广泛,航运监控图像识别是对江海上运输能源的船舶的状态进行实时判断,是深度学习在能源运输领域的应用。当航运识别服务判断出作业中的船舶处于异常状态时,可以及时地向指挥中心发出预警,实现对异常状态船舶的快速定位。这极大地减轻了人力的负担,切实地保障了运输能源的安全。

航运监控图像识别不仅具有通用图像识别的难点,而且具有航运领域特有的困难和挑战。江海上的雾气、水面反射的阳光会干扰对识别主体有效特征的提取。在实际应用过程中,由于摄像头放置角度的问题,处于同一状态类别的船舶的视觉特征差异很大。运输的煤炭沾上雨水热值会损失,在运输过程中需要覆盖雨布,为了规范覆盖雨布的行为,航运图像识别服务需要判断船上的雨布是否完全盖好,黑色的雨布和煤炭很容易混淆,因此,处于不同状态类别的船舶视觉特征差异很小。经过上面的讨论可知,航运监控图像识别具有类间差异小、类内差异大和噪声干扰多的问题。

已有的航运监控图像识别模型C3D(Convolutional 3D)[1]是传统的图像识别模型,其将连续的图片处理成一段视频后输入到三维卷积神经网络,由于过多地关注时空特征且对图像有效特征的提取能力较弱,识别结果容易受到天气、背景、摄像头角度的影响,识别性能较差。本文方法基于注意力机制,属于细腻度图像分类方法的范畴,能够提取出航运图像中微小而有判别性的细节特征,有效解决了航运监控图像类间差异小、类内差异大和噪声干扰多的问题。本文模型在卷积神经网络(Convolutional Neural Network,CNN)框架的特征提取层之后训练一组1×1大小的卷积滤波器,用于提取出航运图像中具有判别性的区域,设计了一种多模块的网络结构,各模块分别提取图像全局纹理特征、局部判别性特征、融合特征,各个模块的输出分别输入到各自的损失层计算损失。

概括地来说,本文的主要工作包括3个方面:

1)局部判别性特征的提取不需要手工的定位标注或额外的目标定位网络,使用弱监督学习训练一组1×1大小的卷积滤波器实现对局部判别性特征的提取。

2)本文提出的模型使用多分支的网络结构,综合利用图像的全局纹理特征和局部判别性特征,增强了卷积神经网络学习中级表征的能力。

3)考虑到局部判别性特征和全局纹理特征的交互作用,本文设计了一个特征融合模块用于融合局部判别性特征和全局纹理特征。

所提出的模型在真实数据集上进行了验证,实验结果表示,该模型在预测精度上达到91.8%,可以有效地应用到实际航运监控项目中。

1 相关工作

由于航运图像类内差异大、类间差异小、噪声干扰多的特点,将航运图像识别归结到细腻度图像识别的范畴。在传统的计算机视觉研究中,图像识别只是在粗粒度上判断目标对象的元类别,例如判断一个目标对象是猫还是狗。细腻度图像识别是在元类别下对目标对象进行更加细致的划分,例如区分不同种类的鸟、不同型号的汽车。与传统的元类别级别的分类相比,细腻度图像识别要困难得多,因为从属类之间的视觉差异是很微妙的,往往需要提取目标对象高度局部化的判别性特征,例如不同种类的鸟的差异仅仅表现在鸟喙上的图案或羽毛的纹理。因此,从存在细微差异的局部区域提取有效信息已经成为解决细腻度图像识别问题的关键[2-3]。

1.1 细腻度识别

为了注意到图像的局部特征,早期的工作利用手工的标注框或注释作为训练时的附加局部特征信息[4-5],然而专家注释很难获得并且很容易出现人为的错误。基于局部信息的区域卷积神经网络(Part based Region Convolutional Neural Network,Part-RCNN)方 法[6]扩展了区域卷积神经网络(Region Convolutional Neural Network,RCNN)方法[7],在几何先验条件下,它可以检测到目标对象并定位局部特征,然后从一个正则化表示中预测一个细粒度的类别。Lin 等[8]提出一种反馈控制框架Deep-LAC(Deep Localization,Alignment and Classification),将对齐和分类误差反向传播到定位模块;还提出了用于连接定位模块和分类模块的阀门连接函数(Valve Linkage Function,VLF)。

为了减少额外的局部定位标注成本,一些方法只需要图像级别的标注,于是不同的特征池化方法被提出。Lin 等[9-10]提出双线性池化方法和改进的双线性池化方法,上述方法考虑到两个不同位置特征的成对交互作用,两个不同位置的特征通过矩阵外积的方式被融合。矩阵幂归一化协方差池网络(Matrix Power Normalized COVariance pooling ConvNets,MPNCOV)[11]通过矩阵平方的方式改进了二阶池化并且达到了当时最高的预测准确度。

空间变换卷积神经网络(Spatial Transformer Convolutional Neural Network,ST-CNN)[12]旨在通过学习适当的几何变换并在分类前对齐图像来获得精准的分类性能,该方法还可以同时定位多个对象的各个部分。Fu 等[13]提出了循环注意力卷积神经网络(Recurrent Attention Convolutional Neural Network,RA-CNN)来递归地预测一个注意力区域的位置并提取相应的特征,该方法只关注一个局部区域;为了同时产生多个注意力区域,Zheng 等[14]提出了多注意力卷积神经网 络(Multi-Attention Convolutional Neural Network,MACNN),它可以同时定位多个局部区域,他们提出通道分组损失,通过聚类算法生成多个注意力区域。

然而上述方法只是单一地提取图像全局特征或局部特征,没有考虑全局特征和局部特征的交互作用。本文方法使用多分支的网络结构和一个特征融合模块,综合利用图像全局特征和局部特征,实现了对图像局部信息和全局信息的同步学习。

1.2 卷积神经网络高阶特征表示

文献[15]对卷积神经网络中间隐藏层提取到的特征可视化后发现,随着网络层数的变深,提取到的特征从边缘和角落逐渐变为局部区域和整个目标对象;文献[16]发现通过对卷积层生成的所有特征图进行适当的加权平均,可以有效地可视化输入图像的所有局部区域;文献[17-19]对卷积神经网络的中间层进行监督,通过另一个全连接层和一个损失层来转换全连接层的输出,学习更多的局部区分性表示;文献[20]提出单阶段多尺度探测器(Single Shot MultiBox Detector,SSD),它将卷积滤波器和特定的宽高比的对象或特定的位置坐标相关联。

受到上述研究的启发,本文方法对卷积神经网络中间层提取到的特征进行1×1的卷积特征映射和线性变换,提取图像局部判别性特征。

2 多尺度特征融合注意力网络

本章将详细介绍多尺度特征融合注意力网络的整体框架和各模块构成。图1 是多尺度特征融合注意力网络的整体框架图。它包含4 个并行的模块:局部注意力提取模块、局部注意力监督模块、全局纹理特征提取模块、融合全局纹理特征和局部特征的特征融合模块。

图1 多尺度特征融合注意力网络整体框架Fig.1 Overall framework of multi-scale feature fusion attention network

局部注意力提取模块用于提取图像局部判别性特征,生成局部注意力图;局部注意力监督模块以监督学习的方式保证局部注意力提取模块提取区分性特征的能力;全局纹理特征提取模块通过双流卷积神经网络生成两个特征图,再以矩阵外积的方式融合两个特征图生成全局纹理特征图;特征融合模块使用双线性池化融合全局纹理特征图和局部特征图。4个模块的输出分别输入到各自的损失层计算损失,对4个损失进行加权求和获得总的损失。

2.1 局部注意力提取

图2是将局部注意力可视化的效果图。如图2所示,通过局部注意力模块提取到航运监控图像中的吊塔、裸露的煤块等具有判别性的有效区域特征,这些区域性特征经过特征映射输入到分类器,对于提升图像识别的准确性具有重要意义。例如:局部注意力模块提取到吊塔,可以大概率判断图像的类别属于船舶靠港;提取到裸露的煤块,可以判断图像的雨布没有盖好。局部注意力提取模块的核心组成部分是一组1×1×C大小的卷积滤波器和一个全局最大池化层。卷积特征的每个通道对应于一个视觉模式[21],然而,由于缺乏一致性和鲁棒性,这些特征映射不能充当注意力映射[22]。受到文献[21-23]的启发,本文根据特征通道的空间关系,通过1组1×1×C大小的卷积滤波器将特征映射转化为局部注意力映射。将输入图像通过若干个卷积层和池化层,获得尺寸为C×H×W的特征图,其中C是特征图的通道数,H和W分别是特征图的高度和宽度。假设1×1×C的卷积滤波器通过监督学习已经具有发掘局部区分性特征的能力,通过这个卷积滤波器对特征图进行卷积获得注意力热力图,再对注意力热力图进行全局最大池化,在注意力热力图上选取最大的响应值,就可以获得具有判别性特征的区域。

图2 局部注意力模块提取效果Fig.2 Effect of local attention extraction module

2.2 局部注意力监督

通过在1×1×C的卷积滤波器后接入1 个跨通道池化层和1 个Softmax 损失层,局部注意力监督模块以监督学习的方式保证局部注意力模块提取区分性特征的能力。局部注意力监督模块主要使用了跨通道平均池化算法。

将航运图像分成正常行驶、未盖雨布、无效雨布、重载停泊、空仓停泊、船舶靠港等6 个类别,分类数目用M表示,M=6。对于某一个特定类别使用10 个局部注意力图来表示,局部注意力图的数目用k表示,k=10。因此一共需要kM个1×1 大小的卷积滤波器,kM个卷积滤波器生成kM个注意力图。经过特征提取器提取到的特征图经过kM个卷积滤波器卷积后,输出维度为kM×H×W的特征矩阵F,H和W分别是生成的特征矩阵的高度和宽度。

特征矩阵F以集合的方式表示为:F=,经过全局最大池化层,对每个特征矩阵求最大值,输出的特征矩阵的维度变为kM×1×1,输出的特征矩阵用G表示,G=。跨通道平均池化层将输出的特征矩阵分成M组,每组含有k个1×1 维的特征矩阵。每组用于表示一个特定的类别,如式(1)所示。再分别对每组的k个特征矩阵计算平均值,最终输出1×M维的特征矩阵,用h表示。将h输入到M路的Softmax 损失层计算损失以鼓励卷积滤波器对某一特定类别产生较大的响应,Softmax损失公式如式(2)所示,hi和hj是h中的元素。

2.3 全局纹理特征提取

受到文献[9]和文献[24]的启发,本文使用双流卷积神经网络提取图像的全局纹理特征,双流卷积神经网络通过对两个卷积神经网络提取到的特征进行特征融合生成二阶特征。文献[9]的研究结果表明二阶特征是一种有效的图像纹理表示,因此本文模型使用双流卷积神经网络提取图像全局纹理特征,图3是全局纹理特征提取模块的示意图。

图3 全局纹理特征提取模块示意图Fig.3 Schematic diagram of global texture feature extraction module

下面将详细阐述全局纹理特征提取的过程。qA(l,I)和qB(l,I)分别表示特征提取函数qA和qB对图像I进行特征提取后,在位置l提取到的特征。首先对两个特征矩阵在同一位置的特征表示进行双线性组合,如式(3)所示:

假设经过特征提取器获得的特征图的维度是H×W×C,H、W、C分别表示特征图的高度、宽度、通道数。经过双线性组合,特征图上的每一个位置对应的特征矩阵的维度是C×C,在本文提到的算法中通道数是512,因此特征图上的每一个位置对应的特征矩阵的维度是512×512,特征向量的维度过大,需要对特征矩阵降维。

本文使用Sum Pooling 池化方法对每一个位置对应的特征矩阵求和,将高维的特征矩阵投影到低维空间,如式(4)所示:

假设qA和qB提取的特征图的维度分别是M×N和N×Q,经过双线性池化生成的特征图ϕ(I)的维度是M×Q,再将M×Q矩阵形式的特征表达转换为向量x后输入到分类器计算损失,如式(5)所示:

最后对特征向量进行归一化和正则化操作,生成特征向量z,如式(6)和式(7)所示。z就是需要的全局纹理特征表示。

2.4 全局纹理特征与局部特征融合

为了使模型学习到全局纹理特征和局部特征的关系和交互作用,本文模型使用双线性注意力池化[25]融合全局纹理特征图和局部特征图。特征融合过程如图4 所示。FH×W×N是使用特征提取器获得的全局纹理特征图,H、W和N分别表示特征图的高度、宽度和通道数。AH×W×M是使用2.1 节提到的局部注意力提取模块获得的局部特征图。局部特征图指向图像的特定部位。

图4 特征融合模块示意图Fig.4 Schematic diagram of feature fusion module

将每一个全局纹理特征图Fk与局部特征图Α作Hadamard 积进行特征融合,生成融合特征图PM×N×H×W,M个全局纹理特征图与N个局部特征图融合后生成M×N个融合特征图,双线性注意力融合的计算式如式(8)所示:

使用全局最大池化对生成的融合特征图降维,用g(Pk)表示池化过程,池化过程如式(9)所示:

最后对生成的融合特征表示进行归一化和正则化处理。

2.5 损失函数

上述4 个模块的输出分别输入到各自的损失层计算损失值,总的损失值是4 个模块的损失的加权和,总的损失函数如式(10)所示:

其中:Losspart是局部注意力提取模块的损失,Lossglobal是全局纹理特征提取模块的损失,Lossfuse是特征融合模块的损失,Losssup是局部注意力监督模块的损失。

损失函数为交叉熵损失(Cross Entropy Loss Error,CE),交叉熵损失用于计算两个概率分布之间的差异。交叉熵损失的公式如式(11)所示:

其中:yi是真实标签;pi是预测概率。

使用Softmax 函数计算某特定类别的预测概率,模型的损失函数结合了Softmax 函数和交叉熵损失函数,损失函数公式如式(12)所示:

其中:y是真实值是分类器输出的分类向量;N是类别数目。

3 实验与结果分析

3.1 实验数据

本文将航运过程中累积的监控视频制作成航运图像数据集,数据集一共有126 336张图像。根据航运监控项目的业务需求和船舶的运动状态,将航运图像分成6 个类别,分别是正常行驶、无效雨布、未盖雨布、重载停泊、船舶靠港、空仓停泊。图5 是航运监控图像数据集示例图像。然而在划分数据集的过程中,空仓停泊类别的图像数量较少,因此对空仓停泊类别的图像进行了随机的平移、缩放、水平翻转以扩充空仓图像类别的数据,使得数据集的分布均匀。

图5 航运监控图像数据集示例图像Fig.5 Example images of shipping monitoring image dataset

3.2 实验环境及设置

实验环境的软硬件配置如下:Intel Core i9-9900k CPU 3.6 GHz处理器,Nvdia GeForce RTX 2080Ti 12 GB显卡,64GB内存。操作系统是Windows Server 2019,编程语言是Python 3.6.8,深度学习框架是Pytorch 1.5.0。

本文使用十折交叉验证法进行模型的训练,将数据集均分为10 份,在训练过程中,依次地将其中1 份作为测试集,其余9份作为训练集,训练结束后得到10个模型,最终的性能指标是10 个模型的性能指标之和的平均值。每张图像在输入到模型前被预处理为448×448 大小。在模型训练过程中使用随机梯度下降(Stochastic Gradient Descent,SGD)优化算法,初始学习率设置为0.1,动量(momentum)设置为0.9,权重衰减系数设置为1E-4,batch size 设置为32,使用GPU 训练300个epoch。

3.3 对比模型及评价标准

选用了其他常用的图像识别模型与本文的模型进行对比,这些模型包括:

1)微调的视觉几何组网络(Fine-Tuned Visual Geometry Group Network,FT VGGNet)[26],VGGNet 通过反复堆叠3×3 大小的卷积核和2×2 大小的池化层构建整个网络,在保证感受野大小不变的情况下,减少网络参数。

2)微调的残差网络(Fine-Tuned Residual Network,FT ResNet)[27],ResNet模型通过残差连接的方式解决网络模型中不同层级的特征组合问题或者说浅层信息的远距离传输问题。

3)C3D[1]:将时序上连续的图像制作成视频段,使用三维卷积核提取视频段的时空特征。

4)双流卷积神经网络(Bilinear Convolutional Neural Network,B-CNN)[9]:用双线性池化融合两个分支的特征输出。

5)RA-CNN[13]:循环注意力卷积神经网络模型,以递归的方式关注同一个注意力区域。

6)MA-CNN[14]:多尺度注意力卷积神经网络模型,可以同时关注多个注意力区域。

7)判别滤波器组卷积神经网络模型(Discriminative Filter Learning within a Convolutional Neural Network,DFL-CNN)[23]。

8)判别关键域深度学习模型(Discriminating key domains and deep Learning Convolutional Neural Network,DL-CNN)[28]。

9)基于特征重标定的生成对抗模型(Feature Recalibration Generative Adversarial Network,FR-GAN)[29]。

本文使用准确率作为模型评价标准,对预测结果进行统计后,准确率计算式如式(13)所示:

其中:TP(True Positive)是将正类预测为正类的数目;FN(False Negative)是将正类预测为负类的数目;FP(False Positive)是将负类预测为正类的数目;TN(True Negative)是将正类预测为负类的数目。

3.4 结果分析

3.4.1 不同模块组合识别准确率的对比

为了验证多尺度特征融合网络的有效性和检验模型中不同模块的贡献大小,单独使用网络中某一模块或某些模块进行实验,实验结果如表1所示,不同模块的简称表示如下:

表1 本文模型不同模块在数据集上的实验结果对比 单位:%Tab.1 Experimental results of different modules of the proposed model on the dataset unit:%

1)G Only:只使用全局纹理特征提取模块。

2)P Only:只使用局部注意力提取模块。

3)G+P:使用全局纹理特征提取模块和局部注意力提取模块。

4)G+P+Sup:使用全局纹理特征提取模块、局部注意力提取模块和局部注意力监督模块。

5)G+P+Sup+Mix:使用完整的多尺度融合注意力网络模型。

实验结果表明,与单独使用模型某个分支或某些分支相比,完整的多尺度融合注意力网络模型的识别性能最优,证明了4 个分支的协同作用有利于学习与理解图像的有效特征。单独使用全局纹理特征提取模块的识别准确率最低,证明局部注意力机制在图像识别模型中产生了重要的作用。

不同模块组合的准确率随迭代次数的变化曲线如图6所示。

图6 使用不同模块组合的准确率变化情况Fig.6 Variation of accuracy by using different combinations of modules

从图6 可以看出,从整体上看,使用不同的模块组合进行训练,准确率都在逐渐上升,而使用完整的多尺度融合注意力网络模型,曲线变化最平稳,波动最小,并且完整的多尺度融合注意力网络模型能到达到最高的识别准确率。实验结果表明,本文提出的多尺度融合注意力网络模型在训练过程中更加稳定,并能达到最好的收敛效果。

3.4.2 不同模型识别准确率的对比

本文将提出的模型与其他主流的图像识别模型在航运监控图像数据集上进行了对比验证,实验结果如表2 所示。实验结果显示,本文提出的模型和其他的9 个对比模型相比,本文提出的模型表现出最优的识别性能。

表2 不同模型在数据集上不同类别情况的准确率对比 单位:%Tab.2 Accuracy comparison of different models on different situations of the dataset unit:%

本文提出的模型和传统的卷积神经网络模型VGG-Net和ResNet相比,识别准确率分别提高了6.4个百分点和5.6个百分点,识别性能提升较大,这是因为传统的卷积神经网络模型中级表征学习能力较差,只能学习到图像的浅层次特征,本文提出的模型引入了注意力机制,模型的注意力可以聚焦到最具有区分性的区域,加强了卷积神经网络对中级表征的学习能力。

B-CNN模型融合两个特征提取器输出的特征图得到图像的全局纹理表示,本文提出的模型在B-CNN 模型的基础上增加了提取局部区分性特征的子网络,本文模型既学习到全局纹理特征,又学习到局部区分性特征,因此相较于B-CNN 模型,本文提出的模型表现出更优的识别性能。

RA-CNN 模型以递归的方式关注同一个区分性区域,而本文模型能够同时提取多个区分性区域,综合利用多个区分性区域的特征。

MA-CNN 模型进行分类时只利用到图像的局部区分性特征,而本文模型使用多流的网络结构,不仅利用到局部区分性特征,还利用到全局纹理特征。

DFL-CNN 模型以非对称式多流的网络结构,同时学习图像的局部区分性特征和全局纹理特征,而本文模型相较于DFL-CNN 模型,增加了1个特征融合子网络,能够学习到整体特征和局部特征内在的联系。

DL-CNN 模型对图像进行语义分割,分割出判别性的关键区域,但其对关键区域的划分比较粗糙,对于未盖雨布等关键区域较大的类别识别效果较好,但对于关键区域较小的类别识别效果劣于本文模型。

FR-GAN 模型使用生成对抗算法学习有效特征,但生成对抗算法的鉴别器的训练比较困难,而本文模型训练更容易且表现出更优的分类性能。

4 结语

针对已有的航运监控图像识别模型无法解决航运监控图像的特征提取容易受到噪声和拍摄角度的影响的问题,本文提出了一种基于注意力机制和多尺度特征融合的航运监控图像识别模型。该模型使用多分支的神经网络结构,既学习到图像局部区分性特征,又学习到图像全局纹理特征。局部区分性特征的提取不需要额外的人工标注,通过一组卷积滤波器和全局最大池化层,发掘出图像中若干个区分性区域。为了有效提取图像全局纹理特征,在全局纹理特征提取模块中使用双流卷积神经网络结构和双线性特征组合算法。考虑到全局特征和局部特征的交互作用,本文方法使用双线性注意力池化算法融合图像局部特征和全局特征。实验结果表明,本文模型的识别准确率优于其他对比模型,可以有效地应用于航运监控图像识别任务。然而,本文提出的模型参数数量较多,模型训练容易受到计算资源的限制并且模型较难拟合,在接下来的工作中将探索如何对模型进行适当的剪枝和压缩以减少参数数量。

猜你喜欢
全局纹理卷积
基于全卷积神经网络的猪背膘厚快速准确测定
基于改进空间通道信息的全局烟雾注意网络
领导者的全局观
基于图像处理与卷积神经网络的零件识别
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
肺纹理增多是病吗?
童梦
落子山东,意在全局
TEXTURE ON TEXTURE质地上的纹理