基于改进Unet 的斑马线分割

2020-03-24 03:49黄生鹏柳海南周克帅刘建宇
智能计算机与应用 2020年11期
关键词:斑马线特征提取卷积

黄生鹏,柳海南,周克帅,刘建宇

(上海工程技术大学 机械与汽车工程学院,上海 201620)

0 引言

近年来,随着无人驾驶、智能小车等智能交通工具的发展,如何有效的检测出道路标识线,保障行人的安全成为热门研究方向。斑马线是道路交叉口的重要安全标志,准确的识别出斑马线能有效提高交叉路口的行驶安全性。传统的斑马线识别方法主要有以下几种:

(1)灭点法[1]。根据斑马线的平行特点,利用两次霍夫变换找到直线的灭点从而确定斑马线所在的位置。该方法运算速度快,但是当斑马线较多时区分性差。

(2)频域法[2]。该方法从斑马线黑白交替出现的纹理规律出发,根据现实中斑马线的宽度找到特定的频率,并以该频率为中心频率在一定带宽内筛选,此方法识别率很高,但是计算成本高,实时效果差。

(3)双极系数法。该方法从斑马线黑白颜色分明特点出发,利用均值、方差获取某区域的黑白分明程度。双极系数法计算速度快,然而易受环境的影响。

随着深度学习的发展,特别是卷积神经网络[3]在图像领域的广泛应用,大量基于深度学习的图像分割算法被提出。如FCN[4]、Unet[5]、Mask RCNN[6]、Deeplab[7]等。这些算法在分割性能上相比于传统分割算法,具有更高的鲁棒性,而且速度也很快。因此,本文在深入研究Unet 网络的前提下,提出一种基于改进Unet 网络的斑马线分割算法。对Unet 特征提取网络进行改进,采用轻量级MobileNetv2[8]网络,代替原有模型的主干网络,以减小参数量;利用SENet 模块[9]增强对特征图中重要信息的提取。

1 Unet 网络原理

Unet 是Ronneberger 等人提出的一种医学影像分割网络,其网络结构如图1 所示。整个网络可分成二部分,左侧为特征提取网络,右侧为上采样网络。其中特征提取网络就是CNN 卷积网络,每个尺度结构包含两个3×3 卷积、一个RELU[10]层和一个2×2 的最大池化层。经池化层变换后,特征通道数扩大一倍;上采样网络每个尺度结构利用2×2 的上采样层,特征通道数减少一半,其后与对应的特征提取网络的特征图进行拼接操作,得到新的特征图,再采用2 个3×3 卷积层加RELU 激活层。最后一个拼接尺度用1×1 的卷积层将64 维通道特征图映射到2 维图像上,获得最终的分割结果。

图1 Unet 网络结构Fig.1 Unet network structure

2 网络结构改进

由上节可知,Unet 采用传统的卷积进行特征提取。由于斑马线分割场景往往处于复杂的环境中,这就需要更深层的卷积操作,才能有效的提取特征。随着卷积层的增加,参数量也会越来越大。为了达到既能高效提取特征,又能降低网络参数,本文采用Mobilenetv2 网络替换其特征提取网络,同时在网络结构中嵌入注意力机制——SENet 模块,进一步加强网络对有效特征信息的提取,抑制无效特征,进而提高分割精度和鲁棒性。

2.1 MoblieNetV2 网络

MobileNet 网络是一种轻量级网络,非常适用于嵌入式平台。其主要结构是基于流线型架构,结构中采用了大量的深度可分离卷积,以此来降低模型的参数量和计算量。

MobileNetv1 主要采用堆叠大量的深度可分离卷积结构,构建神经网络,在保证精度的情况下,极大的压缩了模型。深度可分离卷积结构如图2 所示。

MobileNetv2 网络是Mobilenetv1 的升级版,其主要特点在于反转残差模块(Inverted Residual Block)和瓶颈模块(Linear Bottleneck),是带有线性瓶颈层的反转残差结构,如图3 所示。首先,该结构输入的低维空间特征,通过Expansion layer 映射到高维空间特征,应用深度可分离卷积进行处理后,使用线性瓶颈层再将特征投影回低维特征。MobileNetv2 采用线性瓶颈(Linear bottleneck)代替非线激活变换,保留更多的特征信息。通常认为神经网络由n个Li层构成,每层经过激活函数最终的输出张量为hi×wi×di,一系列卷积与激活层形成了一个兴趣流(manifod of interest )。在神经网络中,兴趣流可以嵌入到低维子空间,就是卷积层中所有单个像素通道d,这些值包含多种编码信息。深度神经网络的层具有ReLU 非线性激活函数,当完整度较高的兴趣流经过非线性激活函数时,可能会产生空间坍塌。

图2 深度可分离卷积Fig.2 Depth separable convolution

图3 反转残差结构Fig.3 Reverse residual structure

2.2 基于SENet 改进的SE-MobileNetv2

SENet 模块是在通道维度上进行attention 操作,这种注意力机制可以让网络更加关注有效的通道特征,抑制那些不重要的通道特征。SENet 模块结构如图3 所示。首先SENet 模块对输入的特征图进行Squeeze 操作,得到channel 级的全局特征,然后对全局特征进行Excitation 操作。学习各个channel 之间的关系,获得不同channel 的权重,最后与原来的特征图相乘得到校准过的特征SENet 模块的3 个主要操作。

2.2.1 Squeeze 操作

一般的卷积操作仅仅在一个局部空间内进行,因此U中很难获得足够的信息来提取通道之间的关系。对于网络深度较潜的特征层来说,其感受野尺度都比较小,这种情况更加糟糕。U中的多个特征图,可被视为局部特征表征的一个子集,对于整个特征图来说具有很好的表现力。Squeeze 操作利用全局平均池化(global average pooling)将每一个通道上的空间特征编码为一个全局特征,其在某种程度上代表了全局感受野,压缩过程如公式(1)所示。

式中:uc表示卷积变换后第c 个通道的输出;zc表示压缩操作后第c 个通道的输出;(W,H) 表示特征图的宽和高;Fsq代表全局特征压缩变换函数。

2.2.2 Excitation 操作

图4 中的Fex(·,W) 变化操作,即为Excitation操作。其利用两个全连接和两个激活函数来获取通道之间的依赖关系,计算如公式(2)所示。

式中:σ代表Sigmoid 激活函数;z 是Squeeze 操作获取得全局特征,其维度是1×1×C;W1代表第一个全连接层中的降维权重,其维度是,其中r为降维比例,在文献[11]中该参数取值为16;W2代表第二个全连接层中的升维权重,其维度是,第二个全连接层输出的维度是1×1×C,再经过Sigmoid激活将权重归一化到(0,1)范围内,s的最终维度是1×1×C。

图4 ENet 模块Fig.4 SENet module

Excitation 操作通过两个全连接层,获取特征U中的C个特征图的权重。Squeeze 操作是将单个特征图进行特征编码,而Excitation 操作是对所有编码后的特征图进行信息汇总。这样做可以降低模型的复杂度,同时也提高了模型的计算效率。

2.2.3 Scale 操作

Scale 操作是通过相乘的方法,将Excitation 操作获取得归一化权重加权到标准卷积之后的特征上,经过加权后的特征图包含了先2 前特征U的每个通道的重要程度,因此可以达到加强重要特征信息的目的。计算如公式(3)所示:

式中:uc表示单个通道的二维矩阵;sc表示权重;表示加权计算后得到的特征图。

在传统卷积操作中,更多的关注点在于空间特征的融合上,对于通道维度的特征融合,卷积操作基本上默认对输入特征图的所有通道进行融合。而MboileNetv2 网络中的组卷积(Goup Convolution)和深度可分离卷积是对通道进行分组,使得模型参数量减少。这种方式并没有关注通道之间的关系,从而模型无法自动学习到不同通道特征之间的重要程度。因此,本文在反转残差结构的基础上,嵌入SENet 模块,使得模型更加关注有效通道信息,提高模型精度。结合模块结构如图5 所示。

图5 SENet 模块结合图Fig.5 SENet module binding diagram

3 数据集构建

深度神经网络模型的训练,需要大量优良的数据支撑。本文构建的斑马线数据集来源分为二部分,一部分是通过互联网爬取网页图片,另一部分由人工采集,并进行人工手动标注。为了使模型具有更强的鲁棒性,本文在晴天、阴天、雨天、复杂街道环境等条件下采集斑马线数据集。

卷积神经网络的数据拟合过程,需要给网络提供一个真实的标准数据。通过网络预测的结果与真实结果的损失值,自动的调整模型权重,从而使模型的预测值逐渐接近真实值,实现斑马线分割检测任务。因此,需要对数据集进行人工手动标注,本文采用Lbaleme 图像标注工具对每张图片进行手工标注,获取分割label,标注文件以Json 格式保存,主要记录标注点的位置、类别标签。标注过程如图6 所示。

图6 斑马线标注Fig.6 Zebra mark

完成标注后,将网页获取的数据划分为训练集、验证集,对模型进行预训练。然后将预训练模型在自制数据集上进行调优和测试。

4 网络模型训练与实验结果分析

4.1 MobileNetv2 改进前后的对比实验

本文首先对MobileNetv2 与改进后的SEMobileNetv2进行对比实验。通常使用分类数据集对卷积神经网络进行分类精度的测试对比,本文选取Cifar10 数据集进行实验,该数据集包含10 个类别,其中50 000张为训练集,10 000 张为测试集;深度学习框架选用Keras,优化策略为Adam,初始学习率(learning rate)为0.001,当学习率在连续3 次迭代中保持不变时,学习率变为原来的0.5 倍,batch_size 为32,迭代次数(epoch)为20 000 次。实验结果如图7 所示。

图7 改进前后分类精度对比Fig.7 Comparison of classification accuracy before and after improvement

由图7 可知,通过20 000 次的迭代,改进后的SEmobileNetv2 分类精度比之前精度提升了1.6%。通过嵌入SENet 模块对模型的特征提取能力有一定的提升。

4.2 基于SEMobileNetv2 的斑马线分割实验

将Unet 特征提取网络替换为SEMobileNetv2,搭建分割模型。分别对改进前后的Unet 分割网络进行训练,其训练集8 000 张,测试集500 张,训练参数见表1。

表1 实验环境Tab.1 Experimental environment

图8 loss 值对比Fig.8 Comparison of loss

经过3 万次的迭代,由图8 可知:基于SEMobileNetv2的Unet 分割网网络的loss 收敛效果更佳。

获取两种Unet 模型后,本文分别在不同环境中对斑马线进行了测试,测试效果如图9 所示。在有车辆行驶的条件下和无障碍物的条件下,改进后的Unet 网络模型的分割精度均比原来的分割网络提高了1.8%。进一步验证了改进模型的有效性。

图9 分割效果图对比Fig.9 Comparison of segmentation effect

5 结束语

本文在Unet 网络的基础上,将其主干特征提取网络替换为MobileNetv2,减少模型的参数,降低模型的计算量。并在网络结构中嵌入了SENet 模块,增强特征提取网络,对于有效特征信息进行加权。实验结果表明,改进后的SEMobileNetv2 网络结构与原来的网络结构在分类精度上提高了1.6%。验证了改进后Unet 分割网络相对于原网络在分割精度上提高了1.8%。本文的方法在分割精度上有了一定的提升,但是训练集数据不够丰富,测试环境为静态,后续应进一步增强模型的泛化能力。

猜你喜欢
斑马线特征提取卷积
同步定位与建图特征提取和匹配算法研究
基于全卷积神经网络的猪背膘厚快速准确测定
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
创意斑马线
空间目标的ISAR成像及轮廓特征提取
机智的斑马线
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
小脚丫斑马线