一种基于迁移学习的车道线检测方法
2021-05-09王子豪李向军
王子豪 李向军
摘 要:鉴于车道线检测在自动驾驶中占据重要地位,文章提出一种基于迁移学习的车道线检测方法,用Darknet53替代原DeepLabv3+的特征提取网络。针对图片中车道线类与背景类分布极不平衡的问题,使用Focal Loss函数替代CE Loss函数。实验结果表明,该方法的检测效果比原网络好,平均交并比达到76.95%,具有良好的准确性。
关键词:车道线检测;迁移学习;DeepLabv3+
中图分类号:TP391.4 文献标识码:A文章编号:2096-4706(2021)20-0082-05
A Lane Line Detection Method Based on Transfer Learning
WANG Zihao, LI Xiangjun
(Dalian Ocean University, Dalian 116023, China)
Abstract: Since lane line detection plays an important role in automatic driving, this paper proposes a lane line detection method based on transfer learning, replacing the original DeepLabv3+s feature extraction network with Darknet53. To solve the problem that the distribution of lane line class and background class in the picture is extremely unbalanced, the Focal Loss function is used to replace the CE Loss function. The experimental results show that the detection effect of the method is better than that of the original network, and the average cross-merge ratio reaches 76.95%, which has good accuracy.
Keywords: lane line detection; transfer learning; DeepLabv3+
0 引 言
环境感知是实现自动驾驶的重要因素之一,而车道线检测又是环境感知中的重点事项,可以广泛应用于车道偏离预警,路径规划等领域。
车道线检测方法主要分为两类,一类是利用传统方法检测,另一类是利用深度学习方法检测。传统的车道线检测方法又分为基于模型的检测方法和基于特征的检测方法两类,基于模型的检测方法将所提取的特征与已定义的模型相匹配,将车道线识别转变为参数计算问题;基于特征的检测方法即通过提取宽度、边缘梯度、颜色和强度等特征将图像的像素点标为车道线与非车道线的点,从而完成车道线检测。隋靓[1]等结合Hough变换及二次曲线模型提出一种针对高速公路的车道线识别方法;MA Chao[2]等利用颜色聚类、最小二乘法描述曲线参数,提出一种基于CIELab的车道线检测方法;杨金鑫等[3]根据逆透视变换(IPM)及大津法(OSTU)结合K-means聚类提出一种基于动态搜索框的三车道线检测方法。这些方法虽然实时性很好,但都是相对某一特定行车场景需要结合经验手动调整参数,很容易受环境场景(强光、雨雪、大雾、夜晚等)的影响。
深度学习的发展,为解决不同场景下的车道线检测提供了新思路。Pizzati Fabio[4]等基于ROS框架采用CNN训练实现街道场景中的车道线检测,且在获取车道线信息的同时,不会因为检测空白部分的失准而导致车道线信息扭曲。丁冰[5]等基于FCN提出一种多任务多场景下的车道线检测方法,并开发出一种ELM(极限学习机),用于识别整条车道的车道线标记。 LEE Seokju[6]等提出了基于顺序迁移学习的端到端车道线检测网络,使用全卷积层代替全连接层,将点检测问题重新定义为区域分割问题。综上所述,用深度学习的方法进行车道线检测,比传统方法的适应能力更强,稳定性更好,但是提取特征的能力不尽人意,远未达到理想状态。为此本文提出一种基于迁移学习的车道线检测方法,结合高性能的特征提取网络和语义分割模型进行车道线检测。
本文中語义分割模型选择的是DeepLabv3+,它是目前最先进的语义分割模型之一,具有编码器-解码器的网络结构,分割能力较强。而Darknet53是一种Resnet风格的网络,在imageNet上可以实现77.2%的top1精度和93.8%的top5精度[7]。其结果与ResNet-152的结果接近,但仅有53层,比ResNet-152的计算量更小。因此,本文提出将Darknet53作为DeepLabv3+的特征提取网络,结合他们各自的优势,提取多尺度高级特征并获得更高的准确率。
1 Dark-DeepLabv3+
首先简要介绍Darknet53及DeepLabv3+,然后详细介绍如何借助迁移学习将Darknet53应用于DeepLabv3+,并将其命名为Dark-DeepLabv3+。最后简要说明Focal Loss损失函数。
1.1 Darknet53网络模型
Darknet53用于yolov3的特征提取,将其作为yolov3网络的主干。其架构非常简单,如表1所示,共含有53个卷积层,主要由五层卷积和五个残差模块组成。Conv1到Conv5除Conv1多一个步长为1的3×3卷积外,其余均为步长为2的3×3卷积。每个残差模块分别由(1、2、8、8、4)个重复的残差组件构成,每个残差组件则由一个1×1卷积、一个3×3卷积和一个快捷链路(short cut)组成,以防止网络加深导致训练错误的增加。而且Darknet53中每个卷积的后面都有一个BN层和一个LeakyReLU激活函数。
1.2 DeepLabv3+模型
DeepLabv3+由一个解码器-编码器组成。其编码器由一个特征提取器和空洞空间金字塔池化(Atrous Spatial Pyramid Pooling, ASPP)模块构成。首先,经过特征提取器提取出下采样16倍的特征。将其下采样4倍的特征传入编码器,作为编码器的低级特征。同时将下采样16倍的特征传入ASPP结构,利用空洞率为6、12、18的空洞卷积获得多尺度特征,并将他们拼接起来得到最终特征。解码器将ASPP传入的特征进行4倍上采样,与低级特征进行融合拼接。拼接之后,为了细化特征,使用3×3卷积进行通道转换,再使用softmax分类器获得低分辨率结果。最后将低分辨率结果上采样4倍,从而获得与输入分辨率大小相同的预测。解码器结构如表2所示。
1.3 迁移后的网络
前面介绍了Darknet53及DeepLabv3+,现将其进行迁移融合。如表1所示,Darknet53共进行了五次下采样操作(每个1×1卷积步长为2),最终下采样32倍,然而DeepLabv3+的骨干提取特征仅将样本下采样16倍。因此在迁移设计中,将Conv5的步长改为1,同时为了保证Res5卷积核的感受野不受影响,将Res5的普通卷积全部由空洞率为2的空洞卷积代替,这样就可以使Darknet53完美替换DeepLabv3+的初始骨干网络。
在ASPP结构中,每个卷积核输出通道都是256,平均池化层的卷积核大小是输入特征尺寸的1/8,并且它的步长等于内核大小,所以平均池化层的输出为8×8。平均池化层后连接一个256通道的1×1卷积。在级联之前,1×1卷积的输出将上采样到平均值之前的大小。在解碼部分,我们将Res2的输出作为低级特征,并且在与ASPP输出特征连接之前将其通过通道数为48的1×1卷积,然后与ASPP输出的特征进行级联。最后为了细化特征加入一个个输出通道为256的3×3卷积。迁移学习后的网络图如图1所示。
1.4 Focal Loss函数
Focal Loss函数主要解决目标检测中背景与前景之间极端不平衡的问题。车道线检测只包含车道线和背景这两类,且车道线的占比相对于背景来说特别少,大部分损失均与背景类相关,语义分割任务主要是对每个像素进行分类,因此像素之间的数量比例很大,比较难挖掘特征。因此使用FocalLoss函数,如式(1)所示。
其中,γ和λ为超参数,pt为ground-truth的概率。当γ为0时,Focal Loss函数可以视为标准的交叉熵损失函数。因此式(1)也可以看作一个加权交叉熵损失函数,权重(λ-pt)γ随pt的增加而减小,表明它随着真实预测值的变化而变化,因此困难的负样本会比简单的负样本具有更大的权重。与交叉熵损失函数相比,困难的负样本对损失的贡献更大,恰好对应着车道线检测的实际情况。
2 实验
2.1 实验环境
本实验算法的所选框架是pytorch,并在一块Nvdia GTX 3080(内存为10 GB)上运行了所提出的网络,所用服务器CPU为Inteli7-11700K,3.6 kHz,Windows系统。所有的卷积后都跟一个BatchNorm和LeakReLu激活函数(斜率为0.1)。由于受GPU内存的限制,将每次输入图片批次设置为4,裁剪大小为468×468。网络训练采用随机梯度下降法,使用SGD网络模型优化器,动量为0.9,权重衰减为0.000 1,总Epoch为200。学习率为0.01乘以,其中,power为0.9,iter_num表示当前迭代数,max_iter表示最大迭代数140 000。本实验选取Tusimple数据集训练了我们的模型,Tusimple数据集共包含3 626张精细注释的图像,是一个专门做车道线检测的数据集。将实验参数及预处理后的图像输入网络进行训练。图2为损失值变化图,在20 000次左右时开始趋于平衡。
我们的准确性结果是使用语义分割常用的指标MIoU进行评测的。MIoU表达式为:
其中k为预测的类,TP为真正(预测正确,预测结果是正类),FN为假正(预测错误,预测结果是正类),FP为假负(预测错误,预测结果为负类)。
2.2 实验结果
2.2.1 Darknet-DeepLabv3+
我们采用不同特征提取网络的DeepLabv3+在TuSimple数据集上进行了大量实验,结果对比如表3所示。
由表3可以看出,随着特征提取网络提取能力的提升,最终应用于DeepLabv3+的分割能力也随之提高。同时,这个表也证明了,迁移特征提取能力强的网络,可以使语义分割得到更好的效果。图3是Darknet-DeepLabv3+检测车道线的效果图。
从图2中可以看出,使用Dark-DeepLabv3+进行车道线检测,无论是直线情况还是弯道情况,检测效果都非常好,充分证明了本文提出的迁移学习车道线检测方法的可行性。
2.2.2 Focal loss函数
我们采用八组不同的λ和γ应用到网络训练中,从而找出最佳的结果,如表4所示。
在λ=2和γ=0.5的情况下,可以得到最好的结果,无论λ是1还是2,随着γ的增加,结果会越来越差,还可以看出λ=2时的结果普遍好于λ=1时的结果,这证明了保留简单例子的权重和扩大困难负样本更有利于车道线检测。γ=0相当于交叉熵损失函数,可以证明在车道线检测中,Focal Loss函数比CE Loss函数更适合,可以有效解决车道线类和背景类不平衡的问题。
3 结 论
本文提出一种基于迁移学习的车道线检测方法,将Darknet53迁移到DeepLabv3+中,形成Darknet-DeepLabv3+网络。新网络在车道线检测中效果良好,具有很好的准确性和鲁棒性。同时使用Focal Loss函数替代CE Loss函数,比较适用于分割车道线这种类别不平衡的情况。但本文尚未针对检测速度对网络加以改进,在日后的工作中,我们将在保证准确性的前提下提高车道线检测的实时性。
参考文献:
[1] 隋靓,党建武,王阳萍.基于分段切换模型的快速车道线检测 [J].计算机应用与软件,2017,34(8):201-205.
[2] MA C,XIE M.A method for lane detection based on color clustering [C]//2010 Third International Conference on Knowledge Discovery and Data Mining. Phuket:IEEE,2010:200-203.
[3] 杨金鑫,范英,樊祺超,等.基于动态区域搜索框及K-means聚类的三车道检测算法[J].科学技术与工程,2019,19(27):253-257.
[4] PIZZATI F,GARC?A F. Enhanced free space detection in multiple lanes based on single CNN with scene identification [C]//2019 IEEE Intelligent Vehicles Symposium (IV). Paris:IEEE,2019:2536-2541.
[5] 丁冰,杨祖莨,丁洁,等.基于改进YOLOv3的高速公路隧道内停车检测方法 [J].计算机工程与应用,2021,57(23):234-239.
[6] LEE S,KIM J,YOON J S,et al. Vpgnet:Vanishing point guided network for lane and road marking detection and recognition [C]//2017 IEEE International Conference on Computer Vision (ICCV).Venice:IEEE,2017:1965-1973.
[7] Deng J,DONG W,SOCHER R,et al. ImageNet:A large-scale hierarchical image database [C]//IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway:IEEE,2009:248–255.
作者簡介:王子豪(1996—),男,汉族,辽宁葫芦岛人,硕士研究生在读,研究方向:控制科学与控制理论、计算机视觉;
李向军(1963—)女,汉族,辽宁大连人,教授,硕士生导师,博士,研究方向:控制科学与控制理论。