一种多车道线识别方法及装置与流程

文档序号:18942479发布日期:2019-10-23 01:16阅读:156来源:国知局
一种多车道线识别方法及装置与流程

本发明属于无人驾驶和高级辅助驾驶系统领域,具体涉及一种多车道线识别方法及装置。



背景技术:

随着智能化系统被应用到车辆驾驶领域中,越来越多的车辆上配置了能够实现自动驾驶功能或辅助驾驶功能的智能系统。为了实现自动驾驶功能或辅助驾驶功能,车辆上的智能系统通常需要从车辆周围的道路图像中识别出车道线,以确定车辆附近的行驶车道,从而指导车辆的驾驶。

实现车道线识别所面临的困难主要有两大因素:1)光照和天气因素。例如,夜间的路灯和汽车尾灯,雨天后的路面积水等都会由于光照不均而影响车道线的准确识别;此外,在大风、雾霾等能见度低的恶劣天气条件下,计算机很难区分路面像素与车道线像素,极易影响车道线的检测;2)道路因素。例如,车道线破损、颜色褪色、道路两旁的植物和围栏的阴影、以及路面车辆对车道线的遮挡等也会影响车道线的识别。

目前车道线的检测方法主要分为基于模型、基于特征以及基于深度学习的三种方法。基于特征的车道线检测算法,利用车道线与路面之间以及周边之间的纹理、灰度值、梯度变换以及边缘等特征差异,通过阈值分割的方法,将车道线的特征信息从图像中分离出来。基于模型的方法的原理是将车道线检测的问题,简化为求解曲线模型参数的问题。常用的车道线模型主要有直线模型、抛物线模型、双曲线模型以及样条曲线模型等。基于模型的方法由于其简单性而被普遍使用。但是,这些基于特征和模型的检测方法容易受到破损路面和障碍物遮挡等不良天气的道路场景影响。

基于深度学习的车道线检测算法,主要是搭建一个具有一定深度的特征提取网络,通过网络的计算,对车道线图像进行特征提取和分类。算法通过多次迭代学习卷积核的参数,并通过层间的参数共享最终提取出所需要的信息;这样不仅计算量大,而且识别的准确度不高。



技术实现要素:

本发明的目的在于提供一种多车道线识别方法及装置,用于解决现有技术中的深度学习无法对车道线进行准确识别的问题。

为解决上述技术问题,本发明的技术方案为:一种多车道线识别方法,包括以下步骤:

1),采集若干张道路原始图像,生成图像数据集;

2),构建深度学习网络模型,将图像数据集输入到深度学习网络模型中进行优化训练;

其中,所述优化训练的过程包括:

a,通过卷积计算和降维分别得到m个降维层的特征图;

b,对第n降维层的输出结果进行卷积计算,得到partm、对第m-1降维层的输出结果进行卷积计算得到partm-1、…、对第m-n降维层的输出结果进行卷积计算得到partm-n,其中n=0,1,2…,m-1;

c,对partm进行反卷积计算,得到partm’;将得到的partm’与第m-1降维层的partm-1进行叠加,并对partm’+partm-1做反卷积计算,计算结果与partm-2叠加,叠加后进行反卷积计算,依次类推,直至与partm-n叠加,并对叠加后的结果进行反卷积;

d,对还原后的特征图进行处理,得到最终神经网络输出图像的特征图outputfinal;

e,进行迭代训练,更新模型参数,计算损失函数,当损失函数的值最小时,保存网络参数值,结束训练;得到优化的深度网络学习模型;

3),将道路原始图像输入到训练好的深度学习网络模型中,得到待识别的道路图像的特征图;

4),对上述待识别的道路图像的特征图进行拟合,得到车道线的识别结果图。

进一步的,步骤a中,在降维之前,还包括对卷积后的特征图进行归一化处理和非线性映射处理。

进一步的,步骤e中,所述损失函数为:

其中,sfenlei为分类误差,scanshu为张量w的参数误差;是模型对输出结果的预测值,y是真实结果的值,n表示真实结果图像上标签值为1的点的数量,λ是平衡两个误差选取的权重,在试验过程中取0.001,o表示模型中卷积层和反卷积层总共的层数;wj是第j层卷积核参数的值,h表示矩阵wj元素的数量。

进一步的,步骤e中,模型参数的更新方式为:

w=w-vt

式中,vt表示参数更新变化的方向和值,值为正表示正向,反之则为反向,vt-1为上一次迭代的变化值,γ为一个固定参数,取0.9;α为学习率,初始取值为0.0005,为函数s关于张量w的导数。

进一步的,所述步骤d中的对还原后的特征图进行处理为:将还原后的特征图输入到分类器,对特征图中的每个位置的像素点进行分类,所述分类器为:

fq表示该像素点是车道线像素点的概率,eq表示该像素点的值,q=1,2。

进一步的,所述步骤4)包括:

s1:对神经网络的输出结果进行透视变换;

s2:再利用hough变换对图像进行车道线拟合,得到多条直线的拟合区域;

s3:分别在不同的拟合区间内使用最小二乘法进行曲线拟合;

s4:将得到的曲线方程进行逆透视变换,在原图像上画出曲线方程,得到多车道线的拟合结果。

本发明还提供了一种多车道线识别装置,包括处理器和存储器,处理器连接有用于获取车道线原始图像的采集接口;所述处理器执行存储在存储器中的如下方法指令:

1),采集若干张道路原始图像,生成图像数据集;

2),构建深度学习网络模型,将图像数据集输入到深度学习网络模型中进行优化训练;

其中,所述优化训练的过程包括:

a,通过卷积计算和降维分别得到m个降维层的特征图;

b,对第n降维层的输出结果进行卷积计算,得到partm、对第m-1降维层的输出结果进行卷积计算得到partm-1、…、对第m-n降维层的输出结果进行卷积计算得到partm-n,其中n=0,1,2…,m-1;

c,对partm进行反卷积计算,得到partm’;将得到的partm’与第m-1降维层的partm-1进行叠加,并对partm’+partm-1做反卷积计算,计算结果与partm-2叠加,叠加后进行反卷积计算,依次类推,直至与partm-n叠加,并对叠加后的结果进行反卷积;

d,对还原后的特征图进行处理,得到最终神经网络输出图像的特征图outputfinal;

e,进行迭代训练,更新模型参数,计算损失函数,当损失函数的值最小时,保存网络参数值,结束训练;得到优化的深度网络学习模型;

3),将道路原始图像输入到训练好的深度学习网络模型中,得到待识别的道路图像的特征图;

4),对上述待识别的道路图像的特征图进行拟合,得到车道线的识别结果图。

进一步的,步骤e中,所述损失函数为:

其中,sfenlei为分类误差,scanshu为张量w的参数误差;是模型对输出结果的预测值,y是真实结果的值,n表示真实结果图像上标签值为1的点的数量,λ是平衡两个误差选取的权重,在试验过程中取0.001,o表示模型中卷积层和反卷积层总共的层数;wj是第j层卷积核参数的值,h表示矩阵wj元素的数量。

进一步的,步骤e中,模型参数的更新方式为:

w=w-vt

式中,vt表示参数更新变化的方向和值,值为正表示正向,反之则为反向,vt-1为上一次迭代的变化值,γ为一个固定参数,取0.9;α为学习率,初始取值为0.0005,为函数s关于张量w的导数。

进一步的,所述步骤d中的对还原后的特征图进行处理为:将还原后的特征图输入到分类器,对特征图中的每个位置的像素点进行分类,所述分类器为:

fq表示该像素点是车道线像素点的概率,eq表示该像素点的值,q=1,2。

本发明的有益效果为:本发明提出的一种基于深度学习的特征提取网络对车道线进行识别;通过对构建的深度学习模型进行改进,没有在特征提取网络后面使用全连接层,极大的减少了神经网络的参数量,进而减少了神经网络的训练时间和提高了对车道线图像特征提取的计算速度;同时,采用反卷积层对神经网络输出的特征图进行大小还原,使得输入网络的车道线图像能够实现像素级的分类,并且对多个卷积层的特征图进行了叠加,进一步的提高了神经网络对车道线像素点分类的准确率。因此解决了传统车道线检测算法鲁棒性差、识别不准确的问题。

附图说明

图1是本发明的基于深度学习模型的车道线识别方法流程图;

图2是本实施例的深度学习模型的卷积计算和降维流程图;

图3是本实施例的反卷积计算示意图;

图4是本实施例的特征图还原流程图;

图5是本实施例的特征图二值化处理的流程图;

图6是本发明的基于深度学习模型的实验拟合结果。

具体实施方式

为了详细阐述本发明的目的、技术方案和优点,以下结合具体实施步骤和附图,对本发明进行进一步详细说明。

车道线识别方法实施例:

为了解决现有技术中,对复杂路况条件下,车道线检测鲁棒性差的问题,本发明提出一种基于深度学习模型的车道线检测方法,可用于多车道线的图像分类,能够广泛的用于车道线检测领域。

图1为本发明的实现的流程图,本发明的车道线识别方法主要包括两大部分:特征提取部分和车道线识别部分。

一,采集若干张道路原始图像,生成图像数据集;

至少采集同一场景下的20000张道路场景图像的图片进行保存以构建图像数据集。

二,对于车道线图像的特征提取部分,其包括以下步骤:

1),构建深度学习网络模型,将图像数据集输入到深度学习网络模型中进行优化训练;

其中,构建的深度学习网络模型中的神经网络包括16个卷积层、5个降维层,3个反卷积层和1个分类层;对该深度学习网络模型具体的优化训练的过程包括:

步骤1:进行卷积计算。

原始输入图像image的大小为m×n×3,即图像大小为m×n的r、g、b三色图,其中r分量图记iamge1,g分量图记为image2,b分量图记为image3。

第1卷积层有64个卷积核,每个卷积核与输入通道数目相对应有3个3×3的分量,位移步长为1。给定第1卷积层第1个卷积核的三个分量如下为其中1个卷积核分量:

将输入图像imagek与第1个卷积核进行卷积计算:

式中,是第1个卷积层第1个卷积核输出的特征图,输入imagek(k=1,2,3)的每一个通道对应1个卷积核分量,不同的卷积核分量对不同的imagek的同一位置进行卷积计算并求和,最后除以输入图像的通道数。

进一步地,具体的卷积过程,以为例与输入图像的r分量做卷积计算。

1.将卷积核进行180°反转,包括行和列,得到

2.给定矩阵image1(i,j),表示image1在image1=(i,j)点周围的像素点构成的矩阵:

当i=1时,image1(i-1,j-1),image1(i-1,j),image1(i-1,j+1)=0;当i+1>m时,image1(i+1,j-1),image1(i+1,j),image1(i+1,j+1)=0;当j=1时,image1(i-1,j-1),image1(i,j-1),image1(i+1,j-1)=0;当j+1>n时,image1(i-1,j+1),image1(i,j+1),image1(i+1,j+1)=0。

3.矩阵与矩阵image1(i,j)对应元素相乘得到:

aimage1(i,j)=image1(i-1,j-1)×p33+image1(i-1,j)×p33+image1(i-1,j+1)×p31+image1(i,j-1)×p23+image1(i,j)×p22+image1(i,j+1)×p21+image1(i+1,j-1)×p13+image1(i+1,j)×p12+image1(i+1,j+1)×p11(3)

4.卷积核的中心与输入矩阵的第一个值对应,以步长为1的移动速度遍历矩阵种的所有值,因此image1与卷积核做了m×n次卷积计算。

卷积的计算过程参考图2所示,卷积后得到的输出特征图的大小定义为:

其中inputw和inputh表示输入图像的长和宽,kernals是卷积核的边长,这里取3,g是填充的行列数,这里取1,s表示移动的步长,这里取1。

因此,经过卷积变换后,第1卷积层得到的特征图的大小为m×n×64,64表示第1卷积层有64个不同的卷积核,得到64个不同的特征图。

在不考虑偏置参数的条件下,第1卷积层所包含的参数w1数量为(3×3×3)×64=1728。

步骤2:对卷积后得到的64个不同的特征图进行归一化处理。

是第1卷积层的输出结果,对其进行归一化变换:

式中,为该层输出结果的均值和方差,k、l是该层输出图像的大小,i表示神经元的数目,β1、β2是需要学习的两个参数,初始值为0到1的任意值。通过对网络各隐含层的输入进行归一化操作,可以加快神经网络的训练速度。

步骤3:非线性映射。

将每一个特征图内的值与0进行比较,大于0的值保持不变,小于0的值取0,得到64个处理后的特征图。

步骤4:对步骤3中得到的64个处理后的特征图进行第2次卷积计算,卷积后得到特征图的大小为m×n×64。

步骤5:对第2次卷积后的特征图降维。

对第2次卷积后得到的特征图进行不重叠的降维,降维核大小为2×2。

具体的,每个通道的特征图被划分为个区域,每个区域的最大值作为该区域的代表值,用1个像素值取代2×2区域的值。所以降维后的特征图的大小为:

如图3所示为特征图的降维流程图,最终输出第一降维层的特征图其大小为m/2×n/2×64。

步骤6:继续进行两次卷积计算,卷积核的数量由64更改为128,第4卷积层输出的特征图大小为(m/2)×(n/2)×128。

步骤7:对第4次卷积后的特征图降维,得到第二降维层的特征图,其大小为(m/4)×(n/4)×128。

步骤8:继续进行两次卷积计算并降维。

其中的卷积核数量由64改为256,第6卷积层输出的特征图大小为(m/4)×(n/4)×256,得到第三降维层的特征图,其大小为(m/8)×(n/8)×256。

步骤9:依次类推,通过继续进行若干次卷积计算并降维,最终得到第四降维层的特征图,大小为(m/16)×(n/16),第五降维层的特征图,大小为(m/32)×(n/32)×512。

步骤10:直至卷积层卷积完,结束特征提取部分,具体流程图,如图2所示。

步骤11:特征图尺寸还原。

将神经网络提取的特征图的大小还原成原始输入图像的尺寸,如图4所示,具体步骤包括:

1.分别对第5降维层的输出结果第4降维层的输出结果和第3降维层的输出结果分别进行卷积,卷积核大小为1×1,数目为64。

卷积后输出结果的大小分别为(m/32)×(n/32)×64、(m/16)×(n/16)×64和(m/8)×(n/8)×64,用part5、part4和part3表示。

2.对part5进行反卷积计算。

对输入图像part5放大2倍,在(m/32)×(n/32)的矩阵中等间隔插0,得到(m/16)×(n/16)的矩阵;然后用4×4的卷积核进行反卷积,反卷积后得到的特征图part5’,大小为(m/16)×(n/16)×64,反卷积的计算过程如图3所示。

3.反卷积计算后的part5’与part4进行叠加后的结果为part5’+part4,对part5’+part4做反卷积计算,卷积的输出结果为(part5’+part4)’,大小为(m/8)×(n/8)×64。

4.反卷积计算后的(part5’+part4)’与part3叠加后的结果为(part5’+part4)’+part3,对(part5’+part4)’+part3进行反卷积计算,输入图像放大8倍,卷积核大小改为16×16,得到的输出结果为m×n×64,记为partfinal。

5.对partfinal进行卷积计算,卷积核大小为1,核数目为2;最终的输出结果output为m×n×2。

步骤12:对每个位置的像素点进行分类。

将还原后的特征图output输入到分类器,对特征图中的每个位置的像素点进行分类,其中的分类器为:

fq表示该像素点是车道线像素点的概率。eq表示该像素点的值,q=1,2。

将输出结果经过分类器计算后得到fenleioutput,大小为m×n×2,每个特征图分别表示原图在该像素点位置上为车道线点的概率。

步骤13:得到最终神经网络输出图outputfinal。将fenleioutput车道线像素点概率大于0.5的像素置为1,其余位置置为0,其实现过程如图5所示。

步骤14:进行迭代训练,更新模型参数;计算损失函数,当损失函数的值最小时,保存网络参数值,结束训练;得到优化的深度网络学习模型;

其中的损失函数为:

损失函数有两部分组成,第一部分是分类误差,第二部分是张量w的误差。式中是模型对图像输出结果的预测值,y是真实结果的值,n表示真实结果图像上标签值为1的点的数量,λ是平衡两个误差选取的权重,在试验过程中取0.001,o表示模型中卷积层和反卷积层总共的层数。

其中的分类误差sfenlei为:

由于lanesegnet网络层数多,参数多,网络结构复杂。为了防止由于参数众多而引起模型过拟合,本发明采用优化其正则相参数的方法防止过拟合。

式中wj是第j层卷积核参数的值,h表示矩阵wj元素的数量。

其中模型参数的更新方式为:

w=w-vt(16)

式中,vt表示参数更新变化的方向和值,值为正表示正向,反之则为反向,vt-1为上一次迭代的变化值,γ为一个固定参数,取0.9;α为学习率,初始取值为0.0005,为函数s(即式(12))关于参数w的导数。

如果梯度长时间保持一个方向(为正或者长时间为负),则增大学习率α增大参数w的更新幅度,反之,如果频繁发生符号翻转,则表明要减小参数更新幅度。这样就可以加快收敛并减小震荡。

2),将道路原始图像输入到训练好的深度学习网络模型中,得到待识别的道路图像的特征图;

三,对于车道线图像识别部分:

对待识别的道路图像的特征图进行拟合,得到车道线的识别结果图,其包括以下步骤:

s1:对神经网络的输出结果进行透视变换;

经过神经网络的计算,得到了车道线像素点的空间位置,拟合出车道线曲线方程需要的高阶多项式,为了计算方便,将图像进行透视变化,透视变换后的车道线会保持平行,定义矩阵z:

矩阵中包含6个参数,值为0的参数是为了确保在转换的过程中水平线依然保持水平。将神经网络输出结果与矩阵z进行相乘:

outputfinal′=z×outputfinal(18)

s2:再利用hough变换对图像进行车道线拟合,得到多条直线的拟合区域;

本实施例中,通过利用hough变换对图像进行车道线拟合得到d(d≥1)条直线,每条直线左右分别平移c个像素距离(c一般取20-30个像素),这样得到d个四边形拟合区间。

s3:分别在不同的拟合区间内使用最小二乘法进行曲线拟合;

s4:将得到的曲线方程进行逆透视变换,在原图像上画出曲线方程,得到多车道线的拟合结果。

将得到的曲线方程kd进行逆透视变换,d表示有d条曲线,变换计算过程为:

kd′=z-1×kd(19)

在原图像上画出曲线方程kd′,得到多车道线的拟合结果。

如图6所示为本发明在数据集上的部分测试结果,图中所列结果包含了各种路况条件。从检测结果来看,本发明所提出的方法在图6中出现围栏干扰、多车道线、阴影遮挡、强光照、颜色干扰、道路标志符干扰、以及车辆遮挡等条件下都能准确识别车道线,具有较强的鲁棒性。

需要说明的是,上述实施例中在特征尺寸还原时叠加的特征图层数是3层,叠加3层是作为一个最优参数。作为其他实施方式,叠加的特征图层数还可以是4层、5层,其是根据建立深度学习模型的神经网络有关。

本实施例中的连续进行卷积计算的次数、反卷积的次数以及迭代次数都可以根据需要进行设置,其并不局限于上述限定的次数。

车道线识别装置实施例:

本发明还提供了一种车道线识别装置,该装置实际上为计算机等具备数据处理能力的设备,该设备包括处理器和存储器,处理器连接有用于获取车道线原始图像的采集接口,该处理器可以是通用处理器,还可以是数字信号处理器、专用集成电路等,该处理器用于执行指令实现本发明的车道线识别方法,具体方法见上述介绍的方法实施例,这里不再赘述。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1