图像和方向盘转向角度融合的自动驾驶车道线分割方法

文档序号:33411516发布日期:2023-03-10 21:54阅读:37来源:国知局
图像和方向盘转向角度融合的自动驾驶车道线分割方法

1.本技术涉及自动驾驶技术领域,尤其是涉及图像和方向盘转向角度融合的自动驾驶车道线分割方法。


背景技术:

2.目前,车道线检测的方法大致分为两类:传统图像方法和基于深度学习的方法。其中,传统图像方法通过边缘检测滤波等方式先分割出车道线区域,再结合霍夫变换等算法进行车道线检测。这类算法存在一定的缺点:(1)这种方法需要人工手动去调滤波算子,根据算法所针对的道路场景的特点手动调节参数曲线,工作量大且鲁棒性较差;(2)当出现突发情况或者环境变化明显时,车道线的检测效果会受到很大影响;(3)这类传统方式实时性不好,安全性得不到保障。
3.由于深度学习的方法具有更好的实时性和鲁棒性,且可以更好的利用语义信息,使得这种方法逐渐代替传统图像的方式。但是深度学习的方法普遍存在以下几点问题:(1)方法的效果测试都基于公开数据集,这些数据集中的图片往往比较清晰,且比较具有规律,然而在真实场景下是否还能保持这种效果并没有测试;(2)这些方法都只采用的关于道路的二维图像数据进行车道线检测,从而忽略了丰富的车辆底层信息数据,在自动驾驶领域中,车辆底层信息数据例如转角、车速等也起到了非常重要的作用,这些数据往往能直观的表示出车辆当前的状态;(3)其中基于分割的车道线检测方法,因为其对每个像素点分类,导致分割模型大、处理速度慢;(4)缺乏对全局信息的提取,对全局信息充分理解有利于提高算法的鲁棒性,对于遮挡、不良光照等问题,也能进行很好的检测。


技术实现要素:

4.有鉴于此,本技术提供了图像和方向盘转向角度融合的自动驾驶车道线分割方法,以解决上述技术问题。
5.第一方面,本技术实施例提供了一种图像和方向盘转向角度融合的自动驾驶车道线分割方法,包括:
6.获取车辆转弯时的rgb图像和转向角;
7.利用预先训练完成的车道线检测模型对rgb图像和转向角进行处理,得到车道线分割结果;所述车道线检测模型包括:特征提取模块、融合模块和检测模块;
8.所述特征提取模块,用于提取rgb图像的特征图;
9.所述融合模块,用于对转向角和rgb图像的特征图进行融合,得到融合后的特征图;
10.所述检测模块,用于对融合后的特征图进行检测,得到车道线分割结果。
11.进一步地,所述特征提取模块采用res blocks,res blocks包括依次连接的3*3卷积层、归一化层、relu层、3*3卷积层、归一化层、加法器和relu层,所述加法器对归一化层输出的特征图和rgb图像进行相加。
12.进一步地,所述融合模块具体用于:
13.对于rgb图像的像元(i,j)的特征值f(i,j)进行如下处理,得到融合后的特征f

(i,j):
14.f

(i,j)=(1-a)
×
f(i,j)
15.其中,a为转角,i为像元在图像的横坐标,j为像元在图像的纵坐标。
16.进一步地,所述检测模块包括:全连接层、reshape层和车道检测器;所述全连接层将二维的融合后的特征图转为一维的向量;所述reshape层将一维向量调整为预设大小的图像;所述车道检测器对预设大小的图像进行车道线分类检测,输出车道线检测结果。
17.进一步地,所述方法还包括:
18.获取训练集,包括:真实场景下的自然图像数据集和转角数据集;所述自然图像数据集包括:恶劣光照直线下的rgb样本图像子集、恶劣光照曲线下的rgb样本图像子集、良好光照直线下的rgb样本图像子集以及恶劣光照直线下的rgb样本图像子集;
19.在车道线检测模型中增加辅助分割模块,所述辅助分割模块,用于对融合后的特征图,得到车道线分割结果;
20.将训练集中的每张rgb样本图像和对应的转向角,输入增加辅助分割模块的车道线检测模型,得到每张rgb样本图像对应的车道线预测结果;
21.基于每张rgb样本图像对应的车道线预测结果和车道线标注结果,确定损失函数值;
22.基于损失函数值,更新车道线检测模型的模型参数。
23.进一步地,基于每张rgb样本图像对应的车道线预测结果和车道线标注结果,确定损失函数值;包括:
24.计算辅助分割模块的损失函数ls:
[0025][0026]
其中,x
n,j
表示在第j个row anchor中第n个网格点;p(x
n,j
)为网格点x
n,j
属于车道线点的概率,q(x
n,j
)为网格点x
n,j
不属于车道线点的概率;n为每一行的网格数量,s表示row anchor的数量;
[0027]
计算车道检测模块的损失函数lc:
[0028][0029]
其中,m为车道线数量,l
ce
()代表交叉熵函数,p
i,j
表示第i条车道线上第j个row anchor的分类向量,t
i,j
为p
i,j
的标签数据;
[0030]
计算车道线的物理结构的损失函数l
p

[0031]
l
p
=l
p1
+l
p2
[0032]
其中,相似性损失函数l
p1
为:
[0033][0034]
其中,二阶差分损失函数l
p2
为:
[0035][0036]
其中,loc
i,j
代表第j个row anchor中第i条车道线的位置;
[0037]
总损失函数值l为:
[0038]
l=lc+l
p
+ls。
[0039]
第二方面,本技术实施例提供了一种图像和方向盘转向角度融合的自动驾驶车道线分割装置,包括:
[0040]
获取单元,用于获取车辆转弯时的rgb图像和转向角;
[0041]
车道线分割单元,用于利用预先训练完成的车道线检测模型对rgb图像和转向角进行处理,得到车道线分割结果;所述车道线检测模型包括:特征提取模块、融合模块和检测模块;
[0042]
所述特征提取模块,用于提取rgb图像的特征图;
[0043]
所述融合模块,用于对转向角和rgb图像的特征图进行融合,得到融合后的特征图;
[0044]
所述检测模块,用于对融合后的特征图进行检测,得到车道线分割结果。
[0045]
第三方面,本技术实施例提供了一种电子设备,包括:存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本技术实施例的方法。
[0046]
第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现本技术实施例的方法。
[0047]
本技术提高了车辆转弯时的车道线的检测精度。
附图说明
[0048]
为了更清楚地说明本技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0049]
图1为本技术实施例提供的图像和方向盘转向角度融合的自动驾驶车道线分割方法的流程图;
[0050]
图2为本技术实施例提供的特征提取模块的示意图;
[0051]
图3为本技术实施例提供的图像和方向盘转向角度融合的自动驾驶车道线分割装置的功能结构图;
[0052]
图4为本技术实施例提供的电子设备的功能结构图。
具体实施方式
[0053]
为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
[0054]
因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0055]
首先对本技术实施例的设计思想进行简单介绍。
[0056]
近些年来,随着高级辅助驾驶系统(adas)的迅速发展,与驾驶相关的各种辅助功能也越来越受到各行各业的关注。其中,车道线检测作为一个基础模块,在自动驾驶领域中起到了重要的作用,自动驾驶车辆在行驶过程中需要沿着车道线行驶,所以对车道线进行准确的感知至关重要。为了保证汽车在行驶过程中的安全性,车道线检测的不仅要获取道路上每条车道线的走向和形状,还需要对每条车道线实例进行区别。
[0057]
车道线检测的难点包括:(1)车道线包含丰富的结构信息,不仅形状细长,而且车道线之间也存在一定的结构关系,例如车道线之间相互平行、消失点的位置信息等等,如何充分的利用这些结构信息是工作当中的一大挑战;(2)车道线检测大多应用于自动驾驶领域,真实场景道路下车道线变化复杂,光照影响、遮挡问题、语义模糊等等,这些情况都会在很大程度上给我们的工作增加难度;(3)车道线检测应用于车载系统,需要处理实时数据,对算法实时性提出了很高的要求,如何在保持算法性能的基础上提高检测速度,降低对硬件的需求是车道线检测任务面对的又一挑战。
[0058]
为此,本技术提供了一种图像和方向盘转向角度融合的自动驾驶车道线分割方法,该方法通过卷积神经网络提取特征,并将图像数据和转角数据充分融合来进行最终的车道线检测。采用了多种模态数据以及卷积神经网络,使得我们的检测方法不仅体量小、速度快,而且在真实场景的测试中精度更高,效果更好。
[0059]
在介绍了本技术实施例的应用场景和设计思想之后,下面对本技术实施例提供的技术方案进行说明。
[0060]
如图1所示,本技术实施例提供了一种图像和方向盘转向角度融合的自动驾驶车道线分割方法,包括:
[0061]
步骤101:获取车辆转弯时的rgb图像和转向角;
[0062]
步骤102:利用预先训练完成的车道线检测模型对rgb图像和转向角进行处理,得到车道线分割结果;
[0063]
所述车道线检测模型包括:特征提取模块、融合模块和检测模块;
[0064]
所述特征提取模块,用于提取rgb图像的特征图;
[0065]
其中,特征提取模块采用卷积神经网络,卷积神经网络采用原始图像作为输入,可以有效的从大量样本中学习到相应地特征,避免了复杂的特征提取过程。卷积层、池化层以及全连接层是卷积神经网络中最基本且最重要的层。卷积层通过使用不同的卷积核就能对图像提取相应的特征,卷积核通过不断的在图像中滑动获得卷积核大小像素点的特征,同
时保留了像素间的空间关系。池化层通过将图像划分为不同的区域,只保留区域中相对重要的特征或者对特征做平均化处理等,能够降低特征图的维数,并且能够减少模型参数数量和降低模型的计算复杂度,防止产生过拟合问题。全连接层一般位于整个神经网络的最后,主要作用就是将前面卷积层和池化层计算得到的特征空间映射样本标记空间,由此实现了端到端的学习过程。
[0066]
如图2所示,所述特征提取模块采用res blocks,res blocks包括依次连接的3*3卷积层、归一化层、relu层、3*3卷积层、归一化层、加法器和relu层,所述加法器对归一化层输出的特征图和rgb图像进行相加。使得在特征提取的同时解决了梯度消失的问题,提升网络的表达能力。
[0067]
所述融合模块,用于对转向角和rgb图像的特征图进行融合,得到融合后的特征图;
[0068]
为了在曝光、光线过暗等恶劣光照条件下也能够有效进行车道检测,本技术的融合模块将车辆的低维特征信息转角与图像特征信息结合在一起,直观上,如果车道线存在弯曲,即转角不为0,图像特征应该发生变化;如果车道线不存在弯曲,即转角为0,图像特征应该与原始保持一致。具体地,将原始图像经过res blocks模块得到的特征中的含有不同感受野信息的特征层进行尺寸归一化,之后将归一化得到特征与通过公式所示操作得到融合后的特征,这样就使得特征中融入了转角信息,从而在不良光照条件下也可以有较好的预测结果。
[0069]
对于rgb图像的像元(i,j)的特征值f(i,j)进行如下处理,得到融合后的特征f

(i,j):
[0070]f′
(i,j)=(1-a)
×
f(i,j)
[0071]
其中,a为转角,i为像元在图像的横坐标,j为像元在图像的纵坐标。
[0072]
所述检测模块,用于对融合后的特征图进行检测,得到车道线分割结果。所述检测模块包括:全连接层、reshape层和车道检测器;所述全连接层将二维的融合后的特征图转为一维的向量;reshape层将一维向量调整为预设大小的图像,车道检测器对预设大小的图像进行车道线分类检测,输出车道线检测结果。
[0073]
此外,所述方法还包括:车道线检测模型的训练步骤,具体包括:
[0074]
步骤s1:真实场景下的自然图像数据集和转角数据集的收集与划分;
[0075]
深度学习模型对数据集有着较大的依赖,采用基于端到端的深度学习模型固然有着诸多的好处,但其也需要更加庞大的数据集和更强的计算资源。因此,本实施例的收集了不同场景下的自然图像和转角数据集。
[0076]
目前,本实施例的数据集来源于udacity数据集,它们均有较高质量的数据。udacity数据集包含33817张图像数据,此外,除了有车辆拍摄的图像,还包含车辆本身的属性和参数信息,例如经纬度、制动器、油门、转向度、转速。本实施例的数据集是从udacity数据集中筛选出部分图像数据,并筛选出对应的转向度数据,转向角数据范围(-1,1)。此外,为了更好测试网络性能我们将数据集按照光照条件以及是否为直线分为恶劣光照直线、恶劣光照曲线、良好光照直线以及恶劣光照直线,四部分数据比列为1:1:1:1。
[0077]
步骤s2:数据集的处理
[0078]
由于udacity数据集原始任务是目标检测,并没有提供车道线的标注信息,因此对
提取的数据集进行了手工标注,具体地,通过标注工具采取像素标注的形式对图像数据中的车道线进行了标注,在图像的高方向上,对每条车道线每隔10个像素进行一次标注,记录像素点的宽以及高的位置信息。通过车道线的像素点标注信息将每条线相邻的数据点按照直线进行连接从而生成了标签图像。为了提高数据集的质量,对图像进行了预处理,包括数据清洗、数据划分、数据归一化等方法。
[0079]
在数据清洗方面,针对数据的不完整性以及不准确性,针对有问题的“脏数据”,对其进行数据清洗,对于不完整数据和异常数据,进行了数据剔除,达到清理的目的;在数据集划分方面:对于车道线检测模型,将数据集分别按8:2划分为训练集、测试集,以减轻过拟合现象;在数据集归一化方面:将图像统一尺寸为(640,480),使网络更容易学习。
[0080]
步骤s3:在车道线检测模型中增加辅助分割模块,所述辅助分割模块对融合后的特征图,得到车道线分割结果;
[0081]
为了获取全局的上下文信息,在训练时引入了辅助分割模块,它仅在训练时有效。
[0082]
步骤s4:将训练集中的每张rgb样本图像和转向角输入增加辅助分割模块的车道线检测模型,得到每张rgb样本图像对应的车道线预测结果;
[0083]
步骤s5:基于每张rgb样本图像对应的车道线预测结果和车道线标注结果,确定损失函数值;
[0084]
对图像进行划分,每一行就是一个行锚row anchor,每一个单元格就是一个cell单元格。
[0085]
辅助分割模块引入了少量参数,使得检测效果有较大提升。具体操作是,将融合模块融合得到的特征层,通过卷积进行降维,最后得到分割结果图,与标签图像计算损失,将得到的结果作为损失函数的一部分,辅助训练,辅助分割模块的损失函数ls为:
[0086][0087]
其中,x
n,j
表示在第j个row anchor中第n个网格点;p(x
n,j
)为网格点x
n,j
为车道线点的概率,q(x
n,j
)为网格点x
n,j
不为车道线点的概率;n为每一行的网格数量;s表示row anchor的数量;
[0088]
计算车道检测模块的损失函数lc:
[0089][0090]
其中,m为车道线数量,l
ce
代表交叉熵函数,p
i,j
表示第i条车道线上第j个row anchor的分类向量,t
i,j
为p
i,j
的标签数据;
[0091]
计算车道线的物理结构的损失函数l
p

[0092]
l
p
=l
p1
+l
p2
[0093]
l
p1
的设置是考虑到车道线是光滑的,所以相邻行锚中车道线所在的单元格位置不会有突变,相邻两个行锚的单元格类别概率分布应该是相似的,因此定义相似性损失函数l
p1
为:
[0094][0095]
l
p2
的设置是考虑到车道线一般是直线,由于视角的原因,弯曲的车道线在图像上大部分也近似直线。最小化相邻行锚预测出车道线位置的二阶差分,能够约束网络预测结果,使得车道线不要“太弯”。二阶差分损失函数l
p2
为:
[0096][0097]
其中,loc
i,j
代表第j个row anchor中第i条车道线的位置;
[0098]
总损失函数值l为:
[0099]
l=lc+l
p
+ls[0100]
步骤s6:基于损失函数值,更新车道线检测模型的模型参数。
[0101]
基于上述实施例,本技术实施例提供了一种图像和方向盘转向角度融合的自动驾驶车道线分割装置,参阅图3所示,本技术实施例提供的图像和方向盘转向角度融合的自动驾驶车道线分割装置200至少包括:
[0102]
获取单元201,用于获取车辆转弯时的rgb图像和转向角;
[0103]
车道线分割单元202,用于利用预先训练完成的车道线检测模型对rgb图像和转向角进行处理,得到车道线分割结果;所述车道线检测模型包括:特征提取模块、融合模块和检测模块;
[0104]
所述特征提取模块,用于提取rgb图像的特征图;
[0105]
所述融合模块,用于对转向角和rgb图像的特征图进行融合,得到融合后的特征图;
[0106]
所述检测模块,用于对融合后的特征图进行检测,得到车道线分割结果。
[0107]
需要说明的是,本技术实施例提供的图像和方向盘转向角度融合的自动驾驶车道线分割装置200解决技术问题的原理与本技术实施例提供的图像和方向盘转向角度融合的自动驾驶车道线分割方法相似,因此,本技术实施例提供的图像和方向盘转向角度融合的自动驾驶车道线分割装置200的实施可以参见本技术实施例提供的图像和方向盘转向角度融合的自动驾驶车道线分割方法的实施,重复之处不再赘述。
[0108]
基于上述实施例,本技术实施例还提供了一种电子设备,参阅图4所示,本技术实施例提供的电子设备300至少包括:处理器301、存储器302和存储在存储器302上并可在处理器301上运行的计算机程序,处理器301执行计算机程序时实现本技术实施例提供的图像和方向盘转向角度融合的自动驾驶车道线分割方法。
[0109]
本技术实施例提供的电子设备300还可以包括连接不同组件(包括处理器301和存储器302)的总线303。其中,总线303表示几类总线结构中的一种或多种,包括存储器总线、外围总线、局域总线等。
[0110]
存储器302可以包括易失性存储器形式的可读介质,例如随机存储器(random access memory,ram)3021和/或高速缓存存储器3022,还可以进一步包括只读存储器(read only memory,rom)3023。
[0111]
存储器302还可以包括具有一组(至少一个)程序模块3024的程序工具3025,程序模块3024包括但不限于:操作子系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0112]
电子设备300也可以与一个或多个外部设备304(例如键盘、遥控器等)通信,还可以与一个或者多个使得用户能与电子设备300交互的设备通信(例如手机、电脑等),和/或,与使得电子设备300与一个或多个其它电子设备300进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入/输出(input/output,i/o)接口305进行。并且,电子设备300还可以通过网络适配器306与一个或者多个网络(例如局域网(local area network,lan),广域网(wide area network,wan)和/或公共网络,例如因特网)通信。如图4所示,网络适配器306通过总线303与电子设备300的其它模块通信。应当理解,尽管图4中未示出,可以结合电子设备300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、磁盘阵列(redundant arrays of independent disks,raid)子系统、磁带驱动器以及数据备份存储子系统等。
[0113]
需要说明的是,图4所示的电子设备300仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0114]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被处理器执行时实现本技术实施例提供的图像和方向盘转向角度融合的自动驾驶车道线分割方法。具体地,该可执行程序可以内置或者安装在电子设备300中,这样,电子设备300就可以通过执行内置或者安装的可执行程序实现本技术实施例提供的图像和方向盘转向角度融合的自动驾驶车道线分割方法。
[0115]
本技术实施例提供的方法还可以实现为一种程序产品,该程序产品包括程序代码,当该程序产品可以在电子设备300上运行时,该程序代码用于使电子设备300执行本技术实施例提供的图像和方向盘转向角度融合的自动驾驶车道线分割方法。
[0116]
本技术实施例提供的程序产品可以采用一个或多个可读介质的任意组合,其中,可读介质可以是可读信号介质或者可读存储介质,而可读存储介质可以是但不限于是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合,具体地,可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、ram、rom、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、光纤、便携式紧凑盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0117]
本技术实施例提供的程序产品可以采用cd-rom并包括程序代码,还可以在计算设备上运行。然而,本技术实施例提供的程序产品不限于此,在本技术实施例中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0118]
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
[0119]
此外,尽管在附图中以特定顺序描述了本技术方法的操作,但是,这并非要求或者
暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0120]
最后所应说明的是,以上实施例仅用以说明本技术的技术方案而非限制。尽管参照实施例对本技术进行了详细说明,本领域的普通技术人员应当理解,对本技术的技术方案进行修改或者等同替换,都不脱离本技术技术方案的精神和范围,其均应涵盖在本技术的权利要求范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1