APP下载

融合通道注意力机制和深度编解码卷积网络的道路场景分割

2021-11-22黄泽华丁学明

小型微型计算机系统 2021年11期
关键词:卷积注意力维度

黄泽华,丁学明

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

1 引 言

自动驾驶技术和实景导航的发展离不开计算机视觉技术,自动驾驶的基础就是计算机通过人工智能的方式对汽车行为作出决策并实现自动控制.实现自动驾驶的前提是车辆能够通过计算机视觉采集环境信息,这其中最重要的过程就是道路场景的图像语义分割[1-4].语义分割就是依照图像中物体表达的含义进行区域分割,而对于语义类别较多的复杂图像而言,利用自动化图像分割技术替代人工具有重大的现实意义[5-8].图像语义分割不同于以往的目标识别,既可以对多目标、多类别进行识别,还能在图像中准确分割相应目标区域信息[9-12].

经典的语义分割网络结构通常是具有编解码结构的深度卷积网络[13].在2014年以前,卷积神经网络通常应用在图像分类上,仅仅只是判断图片是什么,但是图像语义分割需要对输入图片每一个像素按照特定类别进行分类.基于此,Long等人[14]将经典深度卷积网络VGG的全连接层替换成卷积层,使得网络核心运算结构都变成卷积层,因此称之为全卷积网络(fully convolutional networks,FCN).FCN将网络输出由一维向量转换成与输入图像尺寸一致的特征图进行像素级分类,达到图像语义分割的目的[14-18].FCN只是单纯将下采样后的特征图通过上采样的方式直接恢复到原尺寸,这些特征图比较稀疏,仅仅通过特征图直接融合的方式上采样输出,因此这种网络对于复杂图像分割情况不理想[19].

2015年,Ronneberger等人[20]设计出一种U型网络用于解决生物图像分割问题,称之为UNet.该网络分别在编码层和解码层进行了4次下采样和4次上采样,并且在解码层中采用了与编码层同样数量的卷积核,使得该网络成为一种对称编解码网络.UNet还将编码器结构中下采样池化层前的特征图通过跳跃连接的方式与解码层中同一层级的特征图相连,从而实现了编码层特征复用,得到了不同尺度的特征信息.尽管UNet能够将通过跳跃连接的方式对特征信息进行复用,但是UNet仅仅只是将前述所有特征信息直接融合,忽视了融合时不同特征的重要程度.

2017年,Badrinarayanan等人[21]针对FCN的问题提出了一种深度编解码卷积网络SegNet对道路场景图像进行语义分割.SegNet以分类网络VGG作为编码器结构设计了一种类似UNet的对称编解码网络.与UNet不同的是,SegNet是通过记录下采样时候特征图的最大值索引,再将该位置索引返回到同一层级的上采样特征图中.SegNet通过上述最大值索引的方式记录了下采样时的模糊特征,改善了FCN中没有考虑分割空间位置信息的问题,但是由于仅仅只是记录了最大值的位置信息,因此在编码过程仍然丢失了大部分特征信息.

对于一般的卷积神经网络而言,输入特征图通过卷积操作得到新的特征图是最核心的计算操作,卷积操作通常的作用是增大感受野,融合空间特征[22,23].对于卷积核通道维度而言,默认是对所有通道进行相同程度的融合,不关心不同通道的特征关系.2017年,Hu等人[24]提出了一种通道注意力机制SE模块,使得卷积神经网络可以学习通道维度上的特征关系.实验证明,SE模块在以InceptionNet和ResNet为基础的分类任务中有不错的效果.

针对深度编解码卷积网络的不足和通道注意力机制的优势,本文将其相互结合设计新的图像语义分割算法用于道路场景分割,不仅能够在空间维度上对特征图进行复用,记录特征图的模糊特征,还能学习编解码卷积网络中通道维度的特征信息,从而提升道路场景分割性能,解决复杂图像的自动化场景分割问题.针对通道注意力(SE模块)的研究,由于SE模块只通过全局平均池化获取上下文的背景信息,有时候会导致特征差异减小,因此本文设计出双路通道注意力(dual channel attention,DCA)模块,在对于原始特征层进行全局平均池化特征提取时,也同时进行了全局最大值池化,用于弥补全局平均池化的不足,相比原有的SE模块能够使得提取的高层次特征更加精准,从而得到高性能的分割网络,示意图如图1所示.

图1 双路通道注意力模块

本文的主要内容有:1)将深度编解码卷积网络应用到道路场景分割任务上,可以实现从原始图片到分割结果的端到端过程;2)将通道注意力机制引入深度编解码网络,通过对比实验证明,通道注意力机制能够提升深度编解码网络的道路图像分割性能;3)针对通道注意力机制的SE模块中只通过全局平均池化得到背景特征信息的不足,提出了DCA模块,加入另外一路全局最大池化以丰富通道注意力机制的细节纹理特征信息的提取,实验结果显示相比于引入SE模块,在深度编解码卷积网络中引入DCA模块能够进一步改善深度编解码网络的分割性能.

2 通道注意力机制模块

卷积运算是CNN的核心运算模块,本质上来说,卷积运算对特征图的局部区域进行融合,不仅仅包括空间维度,也包括通道维度的特征融合.通常情况下,卷积操作的最大作用是提高空间维度的感受野,也可以说是提取多尺度空间信息.然而对于通道维度而言,仅仅只是直接将所有通道维度的特征图直接融合,忽略了不同通道特征的重要性.

SE模块[24]是一种改善卷积神经网络通道特征的注意力机制,其重点就是需要关注两个特征图中特征层相互之间的通道维度特征,并且通过通道特征来建立特征图之间的显性关系.这种模块的通道特征重标定策略并没有引入一个新的维度进行特征融合,而仅仅只是将通道信息的重要性进行划分,因此可以轻松融入各种卷积网络中.通道注意力机制通过学习通道维度的权重信息,重视提升网络性能的通道,抑制对网络性能影响不大的特征.本文将SE模块作为通道注意力机制引入到深度编解码卷积网络中以提升分割性能,图1结构示意图中两个虚线内部即为SE模块.

SE模块主要包含压缩(squeeze)和激励(excitation)两种操作.压缩操作的目的是需要得到前一个特征图通道维度上的全局特征,采用全局平均池化(global average pooling,GAP)实现,上述操作可由公式(1)表示:

(1)

式中,z表示通道维度GAP后的实数矩阵(也可以认为是压缩操作后输出),Fsq表示压缩函数,此公式中的压缩函数为GAP,x为二维特征图(空间信息维度)组成的集合,h和w分别表示特征图空间信息的高和宽两个维度.

压缩操作将通道维度上的每一个二维特征图都转换成一个实数,在一定程度上表示特征图的全局信息,也可以说具有全局感受野,其输出维度与输入特征图通道数量一致.

激励操作的主要目的是要学习GAP后全局特征各个通道的重要程度,一般由全连接层—ReLU层—全连接层—Sigmoid层组成.第1个全连接层的目的是降维,然后采用ReLU作为激活函数选取,第2个全连接层恢复原始维度,最后采用Sigmoid函数激活输出值,上述操作可由公式(2)表示:

s=Fex(z,W)=σ(W2δ(W1z))

(2)

(3)

重标定实际上就是对原卷积核得到的多个特征图按重要程度给定权值的过程,引入重标定模块在理论上不会影响原来的性能,因为在最差的情况下就是将前面的特征图直接融合映射到下一个卷积核,即能保证经过注意力机制的特征图不会因为通道注意力机制的引入而导致网络分割性能下降.

综上,SE模块的输出可由公式(4)表示:

(4)

由于SE模块直接通过全局平均池化能够使得提取的高层次特征减小邻域受限造成的估计值方差,因此主要保留的是图像的背景信息,对于小目标和图片纹理的保留效果并不好.

本文针对SE模块的不足,提出了双路通道注意力模块(DCA),即在SE模块的基础上并联另外一路全局最大池化(global max pooling,GMP)的压缩操作,使得提取的高层次特征可以减小卷积层参数误差造成的估计值偏移[25],因此可以更多保留图像小目标以及纹理信息.

DCA模块第1路为SE模块,输出与SE模块一致,即:

(5)

第2路与第1路类似,同样包括压缩、激励和重标定3种操作.第2路激励操作将SE模块中通道维度GAP替换成GMP,输出实数矩阵m可由公式(6)表示:

m=max{x(i,j)}

(6)

激励和重标定操作与SE类似,记GMP通道的两个全连接层权重集合分别为W3和W4,维度与GAP路的两个全连接层一致.因此,DCA模块第2路输出可由公式(7)表示:

(7)

综上,DCA模块的输出为:

(8)

最后通过批归一化层(batch normalizing,BN)处理DCA模块的输出,具有加快网络训练收敛、控制梯度爆炸和防止梯度消失以及防止过拟合等特点[26].

3 深度编解码卷积网络

对数据处理问题,通常需要将输入数据经过一系列的映射转换成另外一种输出数据,这时的输入输出数据可以说具有一定程度的相同语义信息.例如将视频的模拟信号编码成数字信号储存起来,需要时再将数字信号解码成模拟信号用于视频输出,这就是视频播放器的原理.

深度编解码卷积网络就是类似这种原理的一种深度学习网络,通过编码器中的卷积和池化操作提取输入图片的特征信息,再通过解码层中上采样或者反卷积等方式将每个像素的类别进行标注,最终输出一张具有语义类别的分割图像.

3.1 编码器结构

经典的卷积神经网络一般用作图像分类,通常是由卷积层、池化层和全连接组成.卷积层中的若干个卷积核组成核心计算单元,用于图像的特征提取;池化层可以减少网络中的参数数量,降低网络冗余;全连接层将通过卷积和池化学习到的特征映射到样本空间中,其具有整合卷积层和池化层特征图信息的功能.

FCN是基于经典的分类网络VGG改进的,除了全连接层以外的其它层可以看作是图像语义分割网络的编码器结构,如图2所示,作用是提取原始图像的特征信息,将高分辨率图像转换成语义类别特征图.SegNet中的编码器结构同样选取了VGG结构,这两种网络之所以都选取这样的结构是因为其在ImageNet[27]项目上表现出色,具有高效的特征提取功能,对于图像中1000个种类别具有很好的分类效果,通常图像分割需要分割的类别都属于这1000种之中.

图2 融合通道注意力机制的深度编解码卷积网络结构图

3.2 解码器结构

卷积神经网络中图像分类的输出一般是一维的One-hot向量用于表示输入图像属于每一类的概率.而图像语义分割需要得到一个与输入图片尺寸相同的二维特征图,FCN针对这种情况将全连接层全部替换成反卷积层(deconvolution layers),通过设置相应的超参数可以将下采样得到的特征图映射成所需要的尺寸,并且逐像素进行预测,达到语义分割的目的.

图像或特征图经过卷积和反卷积计算操作后特征图尺寸大小可以由公式(9)和公式(10)表示:

(9)

o′=(i′-1)s+k-2p

(10)

其中,i、o和i′、o′为卷积和反卷积运算的输入、输出尺寸大小,k为卷积核的大小,s为卷积核的滑动步长,p为每个维度相同的填充尺寸大小.

反卷积是FCN解码层的关键部分,通过设计反卷积层的卷积核大小、步长、填充大小等超参数,可以将编码器得到的特征图输出成任意尺寸的图像.

SegNet和UNet的解码器与编码器会有一定的对称特性,这种对称特性体现为:编码器和解码器结构中卷积个数相同;编码器结构中的池化层对应于解码器中的反卷积层,其个数也相同.有了这种对称特性以及这两种网络本身对于下采样特征图的融合,解码器结构能够更好的依照编码器提取的特征信息映射为分割图像.

4 实验结果与分析

4.1 道路场景分割数据集

实验中选取的道路场景数据集是剑桥驾驶标签视频数据集(Cambridge-driving Labeled Video Database,CamVid),数据集的图片是通过摄像机在驾驶位置拍摄的道路信息[28,29].数据集中包含367张训练集图片和233张测试集图片,本文实验中需要分割的目标类别有12种,具体的类别与对应场景颜色RGB数值如表1所示.

表1 CamVid数据集场景类别统计

CamVid数据集中图片和标签的分辨率为480×360,由于SegNet和UNet网络进行了4次最大值池化,每次池化后特征图尺寸减少为原来的一半,经过4次池化操作后特征图缩小到原来的1/16.为了便于网络训练,需要将原始数据集图片尺寸裁切为320×320.

4.2 实验参数

文所提出的融合双路通道注意力机制的深度编解码卷积分割网络是经过Tensorflow框架编写的训练模块,使用NVIDIA GTX 2080图形处理器运算,具体实验参数如表2所示.

表2 实验参数

4.3 评价指标

实验中采用的评价指标为准确率(accuracy)和平均交并比(mean intersection over union,mIOU),上述指标都能相对直观的给出图像分割的综合性能,定义如下:

(11)

(12)

(13)

(14)

式中,TP指的是预测为正例,实际也为正例;TN指的是预测为负例,实际也为负例;FP指的是预测为正例,实际为负例;FN指的是预测为负例,实际为正例;k+1为类别数量.

特别地,对于图像分割,上述指标可由图3表示.

图3 图像分割性能指标直观示意图

4.4 实验结果与分析

根据表3和表4可知,3种编解码卷积网络中分割性能UNet分割性能最好,SegNet次之,这是由于这两种网络结构在空间维度上加入了跳跃连接或最大值索引模块,跳跃连接的方式是相对应的编解码网络层中特征图的复用,相比最大值索引能够得到更多的信息,因此能够获得更好的分割效果.由于FCN是将VGG的全连接层改成卷积层得到的网络,因此参数数量大、训练时间较长.在深度编解码卷积网络引入通道注意力机制后,虽然模型参数数量略有上升,导致模型训练时间略有增加,但是由于3种网络结构在卷积时重视通道特征信息,因此分割准确率和平均交并比等性能指标都有较明显的上升.

表4 不同网络模型的道路场景分割精度统计及对比

表3 不同网络模型综合性能统计及对比

综合而言,双路通道注意力模块对于UNet提升最为显著,DCA-UNet的准确率和mIOU相较于UNet分别提升了约7个和8个百分点.由于参数数量增加不多,训练时间大致相同,但是分割准确率和mIOU均有明显提高.DCA-UNet之所以能够有最优的分割性能是因为其保留了UNet跳跃连接的空间维度特征复用,并且引入了双路注意力模块改善了通道维度的特征融合,因此对于道路场景分割效果最好.

为了说明通道注意力机制在训练过程中起到的作用,本文将训练后得到的特征图通过梯度类激活热力图(gradient class activation map,Grad-CAM)[31]进行可视化.通过生成热力图的方式对网络模型进行解释,以一种非常直观的方法将卷积神经网络学习到的特征展现出来.对于图像分割而言,网络模型实际上是对输出的分割图像进行逐像素的分类,因此Grad-CAM可以表明网络模型是根据哪些像素点来判断场景类别的,如图4所示.图4中给出了以UNet作为基本深度编解码分割网络时的通道注意力机制可视化过程,5个不同场景的原始图片通过卷积核提取出多个通道维度的特征图,Grad-CAM图中颜色越深的部分表示输出值对该像素位置越敏感.由图4可知,引入通道注意力机制对于场景分割效果有明显改善,这是由于通道注意力机制可以依据特征图通道的重要性进行重标定及加权融合.对比两种通道注意力模块而言,由于DCA相比SE多了一路通过全局最大池化提重标定特征图的结构,因此对场景图中行人、交通标志和柱杆等小目标场景比较敏感,可以较好提升小目标场景的分割性能.

图4 道路场景分割结果梯度类激活热力图可视化

图5给出了实验中所有模型的实际分割效果图.对于3种编解码卷积网络而言,大多数的场景相对能够得到较好的分割,但是在没有引入通道注意力机制时会导致产生部分噪声层,从而影响分割效果.例如对于天空、建筑和树类别的轮廓和边缘分割不到位,没有很有效的识别出上述特征.引入通道注意力机制模块后对于分割背景有着较明显的改善,并且DCA模块的两路通道注意力机制对于不同场景的轮廓和细节等小目标都有着更好的优化.

图5 道路场景分割效果图

5 结 语

随着自动驾驶技术的不断发展,迫切需要自动化道路图像分析技术来处理大量的道路场景图片.本文通过深度编解码卷积网络实现了端到端的道路场景分割算法,并且通过融合通道注意力机制提升了分割效果.然后通过分析原通道注意力的不足,提出了融合双路通道注意力机制和深度编解码卷积网络的道路分割算法,增强了对通道特征信息重要程度的学习,使得网络可以自动判断所学信息的有效性.通道注意力机制模块的引入在参数量和训练时间增加较小的情况下很好的改善了原网络的性能,使得网络模型可以更好得利用所学的特征信息来完成场景分割的任务.由于道路场景图像通常是连续多帧的视频图像,因此未来的目标是如何减轻算法的复杂度并且兼具分割性能,也就是算法的轻量化.

猜你喜欢

卷积注意力维度
基于全卷积神经网络的猪背膘厚快速准确测定
理解“第三次理论飞跃”的三个维度
让注意力“飞”回来
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
认识党性的五个重要维度
浅论诗中“史”识的四个维度
A Beautiful Way Of Looking At Things
人生三维度