全卷积神经网络在道路场景语义分割中的应用研究

2020-07-01 11:02李艳梅陶卫国龙彦霖
关键词:池化层语义卷积

苗 晨,李艳梅, 陶卫国,罗 建,龙彦霖,付 婧

(1.西华师范大学,四川 南充 637009;2.四川德尔博睿科技股份有限公司,四川 南充 637000)

0 引言

科技的快速发展使自动驾驶成为可能,道路场景解析是最重要的技术之一.图像分割[1]是计算机视觉的基础,在图像解析领域也有着至关重要的地位.在深度学习技术的快速发展之前就已经提出了很多用于图像分割的技术,比较著名的有Normalized Cut,Grab Cut等.Normalized Cut[2]是通过像素和像素之间的关系权重来综合考虑,根据给出的阈值,将图像一分为二的图划分法;Grab Cut[3]的分割效果优于Normalized Cut技术,但它的缺点也很明显,因为它同Normalized Cut一样,只能做二类语义分割任务,也就是说一次操作只能分割一个类别对象,多个目标图像就要进行多次运算;其次,它需要人工干预,这个弱点在批量化处理和智能时代有很大的局限性.

深度学习的快速发展使卷积神经网络得以应用于语义分割领域,而且已经被证明是一种强大的图像识别和处理工具.全卷积神经网络(Fully Convolutional Network,FCN)[4,5]是在经典的卷积神经网络的基础上改进得来的,包含了卷积层、池化层,但不包含全连接层.全卷积神经网络通过池化操作缩小图像特征尺寸,降低特征空间维度,从而减少计算量、增大感受野,同时也能防止过拟合,再通过反卷积层进行上采样操作将尺寸缩小的特征图还原至原图像大小,实现端到端的输出.但在这个先使用池化操作将特征图尺寸缩小再通过反卷积放大的过程,造成了图像特征信息的丢失.

本文提出一种新型的用于语义分割的全卷积神经网络.由于目前的卷积神经网络(Convolutional Neural Network,CNN)[6,7]和FCNs在处理图像任务时使用池化操作,造成在处理过程中图像特征信息的丢失,为了去除池化层并保留其降低特征空间维度的功能,本文提出了使用步长较大的普通卷积层代替池化层的语义分割网络.该模型的关键目标是提供一个更简化的CNN模型,获得更好的基准性能和结果.它是一个基于完全卷积神经网络模型的编码解码网络,编码网络基于VGG 16的前13层,而解码网络使用上采样和反卷积单元,最后是像素级分类层.该网络结构简单,通过使用低分辨率编码器特征图,为分割提供了更小的搜索空间.Springenberg等[8]发现可以用传统的卷积层代替max-pooling层,这可以通过增加整体步长来实现.由此产生的网络将在众多的图像识别基准上提供相似的精度,而不会降低效率.基于这一发现,本文设计了一种简单的道路场景语义分割网络,它全部由卷积层组成,并在CamVid数据集上产生有竞争力的、更强的性能.

1 相关理论

1.1 VGGNet

VGGNet[9]是牛津大学的视觉几何组(Visual Geometry Group)中的研究人员提出的,并以此命名.VGGNet的一个改进就是采用连续的几个小卷积核代替AlexNet中的较大的卷积核,从而包含了更多的激活函数层,提供更高的效率,降低可训练参数量,保证了在具有相同感受野的情况下,提升了网络深度,在一定程度上提高了神经网络的功能.本文使用了VGG16网络的前五层作为本网络结构中的编码结构,包括卷积层,激活函数等部分,并对池化层用功能相同的卷积层来代替.

卷积层在卷积神经网络中至关重要,用来完成对输入图像的特征提取和传递.计算任意给定的卷积层的输出大小的公式是:

其中O是输出特征尺寸,W表示输入特征尺寸,K是卷积核大小,P是“padding”即填充的像素数,S代表步幅.在本文网络中,普通的卷积层中的填充方式为“SAME”,即经过该卷积层处理后的特征图大小保持不变;而在代替了池化层的2×2卷积层中没有填充,且步长为2,使得该卷积层输出的特征图大小为输入特征图的1/2,这就实现了与池化层降采样相同的功能.

卷积层参数可看作是图像中对应位置像素的权重,将卷积核内各像素的加权值赋予中心像素,是为图像特征抽象的过程.该过程可表示为:

y=f(wx+b)

上述式子中,x、y分别代表输入特征和输出特征,w表示卷积层参数,b表示偏移量,f为激活函数.

激活函数[10]用来对输入特征进行一种非线性的转换,其输出结构作为下一层的输入.本文提出的网络使用了ReLU激活函数,它是使用最广泛的激活函数之一.公式如下:

ReLU激活函数是非线性的,在反向传播算法中可用,而且它不会同时激活所有的神经元,从而使得网络很稀疏,提高计算效率.

1.2 全卷积神经网络

2015年,Jonathan Long等人在其论文 “Fully convolutional networks for semantic segmentation”(用于语义分割的全卷积神经网络)中提出了全卷积神经网络(Fully Convolutional Networks,FCN),要解决的核心问题就是像素级的语义分割任务.经典的卷积神经网络包含卷积层和池化层,后面连接若干全连接层,全连接层将卷积层产生的特征图映射成固定长度的特征向量作为最终输出结果,而全卷积神经网络则使用卷积层代替了全连接层,可以输入任意尺寸的图像,使用卷积池化操作后缩小图像尺寸,获得不同尺度的特征图,再使用反卷积层进行上采样,使特征图恢复到原图像的大小,输出像素级的预测图.全卷积神经网络可以输入任意大小的图像,输出同样大小的像素级分类的预测图,实现端到端的输出.

2 完全卷积的神经网络

本文提出的完全卷积神经网络是一个编码解码结构的语义分割网络.如之前所述,编码器是基于VGG16网络的前13层的卷积神经网络模型,但本文使用有相同的特征空间降维功能的卷积层代替其池化层.该算法先将输入图像进行初始化,然后通过一组组卷积层和ReLU激活函数单元对数据进行处理.其次是基于上采样单元即反卷积层的解码器,解码器的上采样单元对编码器的部分卷积层输出的特征图进行上采样.

如图1所示,本文提出的网络是一个简单的编码解码结构,整体可分为卷积网络(Convolution network)和反卷积网络(Deconvolution network)两部分.黑色线框模块代表普通卷积层;红色线框模块表示代替了池化层的大小为2×2,步长为2的卷积层;绿色线框模块表示上采样层;蓝色线框模块表示融合操作(fuse).输入原始图像后,卷积层进行高维特征提取,使用大小为2×2的卷积层实现降低特征空间维度的目的,这一部分看作是卷积网络.反卷积[11-13]网络的操作过程就是经过卷积网络操作后的特征图再通过上采样(Upsampling)扩大特征尺寸使其恢复至原始图像大小,为了获得更多的特征信息,使用跳跃结构(Skip architecture)将网络浅层的详细信息与深层的粗糙信息相结合,实现了更加精准的端到端的输出.

图1 网络结构图

上采样操作(Upsampling)[14]在经典的全卷积神经网络里面可以看作是池化的逆过程,由于本网络使用卷积层替换了池化层,所以大小为2×2的卷积层为下采样,上采样操作也就是反卷积操作.在处理数据的过程中,下采样操作使特征图缩小,而上采样操作则是扩大特征图尺寸.本网络使用反卷积的方法使大小比原始图像小得多的特征图还原为原始图像大小.

图2展示了网络上采样的过程,图中Image为原始图像,Conv1、Conv2、Conv3、Conv4、Conv5表示各层卷积操作的输出,每经过一个卷积部分,特征图缩小为输入特征的1/2.最后两个卷积核大小为1×1的普通卷积层的输出特征分别为Conv6和Conv7,经过这两层操作得到的特征图尺寸不变.Conv3、Conv4、Conv7参与上采样操作,Output为最终输出结果.

图2 上采样过程图

以上图为例,设原图大小为32×32,经过卷积网络部分的处理后,特征图Conv7的大小为原图的1/32,也就是1×1.先将特征图Conv7进行2倍的上采样操作,也就是增加一个反卷积层使特征图大小为Conv7的两倍,大小变为2×2。此时可以看出2倍上采样后的特征图Conv7的尺寸与特征图Conv4的尺寸相同,将这两个特征图进行融合操作(fuse),也就是将它们的对应元素相加得到一个大小同为2×2的特征图fuse1.将融合后的结果fuse1进行2倍上采样操作就得到了一个大小为4×4的特征图,与特征图Conv3大小相同,同样地将它们也进行融合操作,得到一个大小为4×4的特征图,再将此特征图进行8倍上采样操作,输出一个大小为32×32的预测特征图,与原图大小相同,实现了输出大小与输入大小相同的端到端的语义分割网络.

3 实验结果及分析

3.1 实验数据

本文实验使用剑桥驾驶标签视频数据集(Cambridge-driving Labeled Video Database,CamVid)来验证网络的有效性.CamVid数据集[15]是包含驾驶时获得的街道视图的图像集合.该数据集提供ground truth标签,将每个像素与32个语义类之一相关联,包括汽车、道路和建筑等.本文使用的CamVid数据集将32个类缩减至11个类,将原始数据集中的多个类别组合在一起,例如,“Car”是“Car”“SUVPickupTruck”,“Truck_Bus”,“Train”和“OtherMoving”的组合.CamVid数据集的数据虽然大多数是使用固定式位置CCTV式摄像机拍摄的,但该数据是从驾驶汽车的角度捕获而来的,所以此数据集满足了本实验的需求.

3.2 参数设置

本文实验平台的操作系统为CentOS,GPU: GTX 1080 Ti,CPU:E5系列 .模型采用VGG16进行fine-tuning,设置本网络学习率为0.00001,网络训练迭代次数为100000,batchsize为2,weight_loss_rate为0.0005.

3.3 评价指标

计算图像语义分割结果的均交并比和像素精度.均交并比(Mean Intersection over Union,MIoU)[16]是计算两个集合的交集与并集之比,在语义分割任务中,这两个集合是真实值(ground truth)和预测值(predicted segmentation),计算每个类的IoU后求平均所得.计算公式为:

像素精度(Pixel Accuracy,PA)[14]是标记正确的像素在总像素中所占比例,计算公式为:

3.4 实验结果分析

本文提出的网络与全卷积神经网络在CamVid数据集上通过对各类的IoU以及总体的MIoU和PA数据进行对比,见表1.

表1 全卷积神经网络和本文网络实验结果对比

通过表1可以看出本文提出的网络的MIoU和PA相对于全卷积神经网络来说均有提升,且在CamVid数据集除了background类之外的11个类中有9个类的IOU高于全卷积神经网络,说明用相同功能的卷积层代替池化层减少了图像在卷积操作的过程中的特征信息的损失,使特征在反卷积操作恢复特征尺寸时拥有更多的特征信息,网络深度的增加也在一定程度上提升了网络性能,获得了更好的语义分割结果.在CamVid数据集的实验结果上,MIoU和PA分别提升了3.1%和2.88%.

图3展示了全卷积神经网络和本文网络的分割结果图.(a)和(b)是傍晚的光线较暗的城市道路交通场景图,(c)和(d)是白天的光线明亮的城市道路交通场景图.从(a)组预测图可以看出本文网络对车辆类别的预测比全卷积神经网络好;(b)组中,本文网络对于车辆和行人有较好的预测结果;(c)组中,本文网络对图中右边的建筑有更好的分割,但是对图左边的围墙类别与建筑类别混淆,相比较与全卷积神经网络,本网络对行人的分割结果更优;通过(d)组中的预测结果图可以看出本网络对车辆的分割边界比全卷积神经网络更加清晰.

图3 全卷积神经网络与本文网络预测图

自动驾驶对使用的图像分割网络处理数据的速度有很高的要求,本文使用480×360像素的图像对网络的inference时间进行实验,同时也将网络参数量进行对比.表2中包含两种网络的单张图像处理的时间(T),网络处理图像速率(V)以及网络参数量(P)的数据.

表2 全卷积神经网络与本文网络的速度和参数量

可以从表2中看出本文网络的参数量略高于全卷积神经网络.在处理单张图像所需时间以及网络每秒钟处理的帧数(单张图像可看作一帧)量来看,本网络有轻微的优势.然而,两个网络处理图像的速度虽然相近,但都没有达到实时性的要求.

4 结语

本文在全卷积神经网络的基础上提出一种完全卷积的神经网络模型,通过一种简单的编码解码结构对目标图像进行语义分割.实验证明,在CamVid数据集上,本文网络相较于基础全卷积神经网络获得了更高的语义分割的精确度.与此同时,虽然本网络相较于全卷积神经网络有较好的分割效果,但是其对较小的对象的语义分割存在缺陷,且处理速度达不到实时性要求,因此,如何更有效地提高对图像中小目标的语义分割检测效果和网络运算速度,是下一步要研究的方向.

猜你喜欢
池化层语义卷积
真实场景水下语义分割方法及数据集
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络模型研究分析*
基于卷积神经网络的纸币分类与点钞
基于深度学习卷积神经网络的人体行为识别研究
卷积神经网络的分析与设计
从滤波器理解卷积
基于全卷积神经网络的SAR图像目标分类*
基于傅里叶域卷积表示的目标跟踪算法
“吃+NP”的语义生成机制研究