基于MobileNetV3的车道线检测算法分析

2022-12-28 12:36朱冰冰甘海云林伟文
汽车实用技术 2022年23期
关键词:车道卷积函数

朱冰冰,甘海云,林伟文

基于MobileNetV3的车道线检测算法分析

朱冰冰,甘海云*,林伟文

(天津职业技术师范大学 汽车与交通学院,天津 300222)

车道线检测是车辆辅助驾驶中的重要一环,为实现对车道线进行准确快速的检测,文章提出一种基于MobileNetV3网络的轻量型车道线检测算法。首先对MobileNetV3网络的深度可分离卷积模块进行改进,同时在其基础上加入空间注意力机制模块;然后将车道线表示为三阶多项式,利用优化的MobileNetV3网络对图像中车道线特征进行提取得到用来拟合三阶多项式的车道线参数;最后构建一种车道线回归模型,通过不断地对车道线参数进行修正以提高车道线检测精度。在Tusimple车道线数据集上的实际测试结果表明,提出的算法其图像帧处理速度为210 fps、检测准确度达到了83.35%,能够实时运行,且具有较高的检测精度。

车道线检测;深度卷积神经网络;多项式拟合;辅助驾驶;MobileNetV3网络

车道线检测是车辆辅助驾驶以及无人驾驶环境感知模块的重要技术之一。当前车道线检测面临诸多挑战:包括车道线的类型呈现多样化、容易受到车辆行人等的遮挡、随使用时间增长出现的磨损,同时还会到受雨、雪等不同天气及明亮、阴暗等不同照度的影响。在进行车道线检测时,根据车道线特征提取方式的不同,可分为基于传统的方法和基于深度学习的方法[1-2]。基于传统的方法依赖于高度专业化、手工制作的特征和启发式的组合来对车道线进行检测,导致这类算法对光照、天气等变化比较敏感,因而当车辆行驶环境发生明显变化时,车道线的检测往往出现效果不佳。而基于深度学习的方法[3-4]则首先从大量具有标注信息的图像中提取丰富的特征信息,再依据这些信息对原始图像中对应的像素点标签进行推理,因此,相较于传统的车道线检测算法,其环境适应性更强。

虽然基于深度学习的方法在车道线检测性能上优于基于传统的方法,但这类算法多存在计算复杂度高且需要后处理步骤来拟合车道线,这不利于算法的实际落地应用。为此提出一种基于MobileNetV3的轻量型车道线检测算法,首先对MobileNetV3网络进行改进;然后将车道线表示为三阶多项式,基于优化的MobileNetV3网络推测拟合三阶多项式的车道线参数;最后构建一种车道线回归模型,以对车道线参数进行不断的修正。

1 基于MobileNetV3的车道线检测算法

MobileNetV3是一种轻量化的图像分类网络[5],其参数量少、运行速度高,适合实时性和准确度要求高的车道线检测算法使用。基于此对MobileNetV3的特征提取网络进行优化设计,来推测车道线拟合多项式的系数及相关参数以实现车道线的检测。

1.1 MobileNetV3网络架构

MobielNetV3网络模型结构细节如图1所示,主要由卷积操作层、池化操作层和分类操作层组成。卷积操作层由单个ConvBlock、多个堆叠的UnitBlock及单个FinalBlock组成,构成模型的特征提取部分。ConvBlock由一个卷积函数、一个批量标准化函数加激活函数组成;UnitBlock由三个ConvBlock和一个SEBlock组成,且结构上采用残差连接,其中SEBlock为通道注意力机制模块[6];FinalBlock由一个ConvBlock和一个SEBlock组成。池化操作层(Pooling)为一个自适应平均池化函数,将特征图大小转化为1×1。分类操作层(Classiferblock)由两个卷积函数和一个激活函数组成,对输入的特征图进行分类并输出最终的分类结果。

图1 MobileNetV3算法结构图

1.2 MobileNetV3网络优化

为提高模型检测车道线的精度,对模型的特征提取模块进行优化设计。将原模型中的Unit- Block更换为优化后的NewUnitBlock,FinalBlock更换为优化后的NewFinalBlock,具体操作细节如图2所示。

1.2.1深度可分离卷积模块优化

为提取到特征图中更丰富的信息,将原UnitBlock中左边第二个ConvBlock用一种新的深度可分离卷积块dseBlock进行替换。如图1所示,dseBlock由两个卷积函数和两个批量标准化函数加激活函数组成。对左边第一个卷积操作,其、均为1,当需要进行下采样时,其=3,=2,输出特征图通道数为输入特征图通道数的一半;对左边第二个卷积操作,其=3 or 5,数值变化规则与MobileNetV3对应位置数值变化规则一致,=1,的数值与输入特征图通道数相同,为深度维度上的卷积操作,输出特征图通道数与输入特征图通道数相同。两个批量标准化函数均为BatchNorm2d,两个激活函数均为ReLU。其结构上采用跳跃连接,连接方式为特征图通道维度上的拼接操作。

1.2.2注意力机制模块优化

原UnitBlock和FinalBlock中的SEBlock仅为通道注意力模块,优化操作时,在SEBlock后添加空间注意力模块spattBlock,构成通道-空间混合注意力模块NewSEBlock,该注意力模块能使得模型给予车道线特征更多权重,提高模型对车道线特征的关注度。如图1所示,spattBlock首先对输入的特征图执行通道维度上的两种数学运算。一种为Max运算,这将得到一张特征图,特征图大小与输入特征图的大小一致,同时特征图上每一元素的数值为对应元素位置在所有通道位置处数值的最大值;另一种为Mean运算,这也将得到一张特征图,特征图大小与输入特征图的大小一致,同时特征图上每一元素的数值为对应元素位置在所有通道位置处数值的平均值。然后将这两张特征图在通道维度上进行拼接操作,将完成拼接后的特征图再进行一个卷积操作、一个批量标准化操作和激活函数操作。其中对于卷积操作,其=7、=1,批量标准化操作采用BatchNorm2d,激活函数采用ReLU,这将得到输入spattBlock中的特征图中的每一特征图空间位置处的权重值,用该权重值与输入spattBlock中的特征图进行乘法操作以得到具有空间注意力信息的特征图,最终NewUnitBlock和NewFinalBlock的结构细节如图2所示。

图2 NewMobileNetV3算法结构图

1.3 车道线检测算法

基于上一节提出的车道线特征提取网络NewMobileNetV3,本节构建用于实现车道线检测算法的模型。车道线检测算法模型如图3所示,车辆运行前方的车道线图像输入车道线检测模型后,模型通过对图像中的车道线特征进行提取检测出图像中每一条车道线的参数。该参数由表示图像中每一条车道线的多项式系数及其相关参数组成,基于检测出的车道线参数对车道线进行拟合进而实现车道线检测。理想情况下,车道线检测结果如图4所示,其中实线表示检测出来的车道线。

图3 基于NewMobielNetV3的车道线检测模型

1.3.1车道线回归模型

由上节可知,图4表示的是车道线检测模型在理想状态下完成车道线检测的结果,然而模型在实际运行中其检测结果并非如此。因为在这一过程中,模型并不能保证由检测得到的车道线参数拟合出来的车道线与实际道路场景中的车道线保持高度对齐,因而造成检测得出的车道线与真实的车道线相比存在极大的偏差甚至完全不正确。为减小以及尽可能消除这种偏差,需要构建一种车道线回归模型。该车道线回归模型负责在车道线检测模型进行训练的过程中,计算模型检测得到的车道线参数与车道线标签中真实的车道线参数之间的误差值,将该误差值将作为模型训练过程中的损失函数值,通过在模型训练过程中不断地对该损失函数值进行修正以保证该误差值最小甚至为0,最终保证检测得到的车道线与真实的车道线保持极大的对齐甚至完全重合。

图4 车道线参数可视化及车道线检测结果

其中,=3,表示车道线拟合多项式的最高阶次数为3,采用三阶多项式对检测出的车道线进行拟合;=1,2,3,4,5表示检测出来的第1,2,3,4,5条车道线,通常一张车道线图像中存在3~5条车道线,因此,采用检测出最大5条车道线的算法覆盖图像中可能出现的不同车道线数目的情况; a,j表示推断出的第条车道线的拟合多项式的第阶次项系数。根据式(1)对车道线进行拟合,车道线拟合结果如图4中黑色实线所示,因图中只有三条车道线,因此,模型仅对检测出的车道线中的三条进行拟合,另外两条将不具有实际意义。对于每一组数据中的第5个数据s表示每一条车道线的低端点距离图像底边的距离,第6个数据h表示每一条车道线的顶端点距离图像底边的距离,因为车道线标签中每一条车道线的顶端点距离图像底边的距离都是相同的,因此,理想情况下由车道线检测模型检测得出的车道线顶端点距离图像底边的距离也应是相同的。第7个数据c表示检测出来的车道线置信度,只有置信度大于设定的阈值时,检测出来的车道线才被认为存在,否则认为不存在此车道线。假定阈值设定为0.8,因检测得出的第1、2、3条车道线的置信度值均大于设定的阈值,因此,这三条检测得出的车道线具有实际意义,因检测得出的第4、5条车道线的置信度值都远小于设定的阈值,因此,这两条检测得出的车道线不具有实际意义。由图4也可分析得出,因第1、2、3条车道线真实存在,所以其置信度很大;因不存在第4、5条车道线,所以其置信度很小,说明理想情况下该检测结果是可信的。

图5 车道线标签中车道线参数可视化结果

由车道线标签中车道线参数数据可得到每条标注好的车道线底端点距离图像底边的距离s*以及其顶端点距离图像底边的距离h*,其中车道线标签点中每一条车道线的顶端点距离图像底边的距离都是相同的。一般车道线图像中存在3到5条车道线,因此,对于车道线标签,若车道线真实存在,则对应的车道线标签置信度c*1且p*、s*及h*具有实际意义;若车道线不存在,则c*0且p*、s*及h*不具有实际意义。基于此,构建车道线回归模型,其定义表述为式(2),并且使用该回归模型作为模型训练时的损失函数以对模型进行训练。

其中,x=P(*),x为模型检测到的图像中车道线点的位置坐标,此坐标是通过将车道线标签中车道线标签点的位置坐标代入模型预测得出的拟合多项式得到的;p、s、c及h为各分式平衡权重;表示车道线标签图像标注的车道线数目,=3,=4或=5;reg为平均均方误差(Meansquare Error,MSE),cls为二值交叉熵损失函数(Binary Cross Entropy, BCE)。

2 实验与分析

实验平台采用Pytorch,实验硬件配置为E5- 2603型号中央处理器(Central Processing Unit, CPU),NVIDIA Tesla-P4 GPU,软件环境为Ubuntu 18.04操作系统,Cuda10.2,Cudnn8.0,Pytorch- gpu1.10.1,Python3.6。

2.1 实验数据集

实验数据集采用TuSimple数据集[7],数据集总共包含6 408张带有标注信息的车道线图片,图片的分辨率大小为1028×720,其中3 268张图片用于模型的训练,358张图片用于模型的验证以及2 782张图片用于模型的测试。

2.2 评价指标

评价指标采用Tusimple数据集给出的官方基准指标[7],指标分别为检测精度(Accuracy, Acc)、检测结果假正率(False Positive, FP)及检测结果假负率(False Negative, FN)。

2.3 实验设置

将Tusimple训练集和验证集送入基于MobileNetV3和基于NewMobileNetV3的车道线检测模型中进行训练和验证。训练采用Adam优化器及Cosine Annealing Learning Rate机制,初始的学习率设为3e-4,s、c及h分别设为1,p设为300。针对样本批处理大小及训练总轮数的设定,因其影响着模型最终所能达到的车道线检测精度,需要针对具体情况进行微调,通常对其进行设定时可参考以下策略:使用过小的批处理大小,模型容易陷入局部最优值,训练后的模型其检测效果一般;增大批处理大小,模型训练过程将更稳定、训练时损失函数值将下降更快,有助于加速模型的收敛速度、提高模型的检测精度;然而增大批处理大小的同时将使得对试验设备的内存容量要求变高、需要更多的训练轮数及训练时间。基于此,在现有试验设备性能的约束条件下,为使得模型在达到全局最优值的同时花费较少的训练时间成本,将样本批处理大小设为16。在这种情况下,模型在训练2 660个epoch后,其损失函数值不再继续下降且保持稳定,同时模型检测精度达到最优,因此,将模型的训练总轮数(epoch)设为2 660。

2.4 实验结果分析

使用训练好的模型在Tusimple测试集上进行实验,车道线检测结果如表1和图6所示。表1对基于MobileNetV3及基于NewMobileNetV3的车道线检测模型的定量检测结果进行了对比分析,可知这两种模型都能很好地检测出车道线,且均能达到实时运行的速度,图像帧处理速度分别为228 fps和210 fps。同时优化后的模型具有更高的检测精度,检测准确度为83.35%,相比提高了4.17个百分点。图6可视化了优化后的模型在实际道路场景中的测试结果,实线为检测得出的车道线,由检测结果可知该车道线检测算法能对车道线进行准确的检测。

表1 车道线检测模型在Tusimple数据集上的检测结果

3 结论

本文针对车道线检测算法对实时性、准确性要求高的需求,提出了基于MobileNetV3模型的车道线检测算法。首先对MobileNetV3网络基本结构进行了介绍,并对其进行优化设计,包括对其深度可分离卷积模块进行改进以及在其基础上加入空间注意力机制模块;紧接着采用三阶多项式表示车道线,基于优化的MobileNetV3网络来对三阶多项式系数进行推断实现车道线检测;最后为提高车道线检测精度,构建了车道线回归模型来对车道线参数进行不断的修正。实验结果表明,提出的算法其图像帧处理速度为210 fps、检测准确度达到了83.35%,不仅能实时运行且具有较高的检测精度。

[1] 吴一全,刘莉.基于视觉的车道线检测方法研究进展[J].仪器仪表学报,2019,40(12):92-109.

[2] 李玉卿,鲍泓,郑颖,等.基于视觉的车道线检测研究进展[C]//中国计算机用户协会网络应用分会2019年第二十三届网络新技术与应用年会论文集.北京:中国计算机用户协会,2019:9-12.

[3] PAN X G, SHI J P, LUO P, et al. Spatial as Deep: Spatial CNN for Traffic Scene Understanding[C]// AAAI Conference on Artificial Intelligence; Innova- tive Applications of Artificial Intelligence Conference; Symposium on Educational Advances in Artificial Intelligence.Palo Alto:AAAI,2018:6665-7655.

[4] DAVY N, BERT B, STAMATIOS G, et al. Towards End-to-End Lane Detection: an Instance Segmenta- tion Approach[C]//IEEE Intelligent Vehicles Sympo- sium.Piscataway:IEEE,2019:286-291.

[5] ANDREW H, MARK S, GRACE C, et al. Searching for MobileNetV3[C]//International Conference on Computer Vision.Piscataway:IEEE,2019:1314-1324.

[6] JIE H, LI S, GANG S, et al. Squeeze-and-Excitation Networks[C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.Piscata- way:IEEE,2018:7132-7141.

[7] Tusimple. Tusimple Benchmark [EB/OL].[2021-12- 03].http://github.com/Tusimple/t-usimplebenchmark.

Analysis of Lane Detection Algorithm Based on MobileNetV3

ZHU Bingbing, GAN Haiyun*, LIN Weiwen

( School of Automobile and Transportation, Tianjin University of Technology and Education,Tianjin 300222, China )

Lane detection is an important part of vehicle assisted driving. In order to realize detecting lane lines accurately and quickly, a lightweight lane detection algorithm based on MobileNetV3 network is proposed. Firstly, the deep separable convolution module of MobileNetV3 network is improved, and the spatial attention mechanism module is added on this basis. Then the lane lines are represented as third-order polynomials, and the lane lines features in the image are extracted by using the optimized MobileNetV3 network to obtain the lane lines parameters used to fit the third-order polynomials. Finally, a regression model of lane-line is constructed to improve the detection accuracy of lane lines by constantly revising the lane lines parameters. The experimental results on Tusimple lane dataset show that the proposed algorithm has a frame processing speed of 210fps and a detection accuracy of 83.35 %. It can run in real time and has high detection accuracy.

Lane detection; Deep convolutional neural network; Polynomial fitting; Assisted driving;MobileNetV3 network

U495

B

1671-7988(2022)23-71-06

U495

B

1671-7988(2022)23-71-06

10.16638/j.cnki.1671-7988.2022.023.013

朱冰冰(1998—),男,硕士研究生,研究方向为基于深度学习的车辆视觉感知技术,E-mail:zhubb1550225 8352@163.com。

甘海云(1975—),男,博士,教授,研究方向为智能汽车控制系统,E-mail:ganhaiyun@aliyun.com。

猜你喜欢
车道卷积函数
基于OpenCV的直道车道线识别技术研究
北斗+手机实现车道级导航应用
二次函数
基于3D-Winograd的快速卷积算法设计及FPGA实现
第3讲 “函数”复习精讲
避免跟车闯红灯的地面车道线
二次函数
函数备考精讲
卷积神经网络的分析与设计
从滤波器理解卷积