基于深度学习的车道线检测方法以及装置与流程

文档序号:23765430发布日期:2021-01-29 20:07阅读:130来源:国知局
基于深度学习的车道线检测方法以及装置与流程

[0001]
本发明实施例涉及通信领域,具体而言,涉及一种基于深度学习的车道线检测方法、装置、存储介质以及电子装置。


背景技术:

[0002]
随着科技和经济的快速发展,路上的汽车越来越多,在方便人们出行的同时,也带来了越来越多的交通事故和交通拥堵问题。自动驾驶和智能辅助驾驶系统可以帮助驾驶员处理大部分道路信息,为驾驶员提供精准的指导,降低交通事故发生的概率。智能交通系统能识别车道上车辆的数量,判断道路是否拥堵,为驾驶员规划更合理的出行路线,缓解交通拥堵。在自动驾驶,智能辅助驾驶系统和智能交通系统中,基于视觉的车道线检测是非常关键的技术,他是实现车道偏离预警,车道拥堵预警的基础和核心技术。
[0003]
目前的相关技术中,进行车道线检测的方法存在需要大量的训练样本和复杂的神经网络模型,导致检测车道线的效率非常低的技术问题。
[0004]
针对相关技术中存在的车道线的检测效率过低的技术问题,目前尚未提出有效的解决方案。


技术实现要素:

[0005]
本发明实施例提供了一种基于深度学习的车道线检测方法、装置、存储介质以及电子装置,以至少解决相关技术中存在的车道线的检测效率过低的技术问题。
[0006]
根据本发明的一个实施例,提供了一种基于深度学习的车道线检测方法,包括:获取待检测的第一图片;将所述第一图片输入目标神经网络模型,得到目标特征图,其中,所述目标神经网络模型包括基于多尺度注意力机制生成的神经网络模型以及深度可分离卷积模型,所述目标特征图用于表示所述第一图片中每个像素为车道线像素的概率;对所述目标特征图执行图像后处理,以得到目标检测结果,其中,所述目标检测结果用于表示所述第一图片中已检测出的车道线。
[0007]
根据本发明的另一个实施例,提供了一种基于深度学习的车道线检测装置,包括: 获取模块,用于获取待检测的第一图片;第一处理模块,用于将所述第一图片输入目标神经网络模型,得到目标特征图,其中,所述目标神经网络模型包括基于多尺度注意力机制生成的神经网络模型以及深度可分离卷积模型,所述目标特征图用于表示所述第一图片中每个像素为车道线像素的概率;第二处理模块,用于对所述目标特征图执行图像后处理,以得到目标检测结果,其中,所述目标检测结果用于表示所述第一图片中已检测出的车道线。
[0008]
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述任一项方法实施例中的步骤。
[0009]
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程
序时实现上述任一项方法实施例中的步骤。
[0010]
通过本发明,采用获取待检测的第一图片,将第一图片输入目标神经网络模型,得到目标特征图,其中,目标神经网络模型包括基于多尺度注意力机制生成的神经网络模型以及深度可分离卷积模型,目标特征图用于表示第一图片中每个像素为车道线像素的概率,再对目标特征图执行图像后处理,以得到目标检测结果,其中,目标检测结果用于表示第一图片中已检测出的车道线,因此,可以解决相关技术中存在的车道线的检测效率过低的技术问题,达到提高车道线的检测效率、增加车道线的检测准确率、降低检测成本的技术效果。
附图说明
[0011]
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据本发明实施例的一种可选的基于深度学习的车道线检测方法的移动终端的硬件结构框图;图2是根据本发明实施例的一种可选的基于深度学习的车道线检测方法的流程示意图;图3是根据本发明实施例的一种可选的基于深度学习的车道线检测方法的示意图;图4a是根据本发明实施例的另一种可选的基于深度学习的车道线检测方法的示意图;图4b是根据本发明实施例的又一种可选的基于深度学习的车道线检测方法的示意图;图4c是根据本发明实施例的又一种可选的基于深度学习的车道线检测方法的示意图;图5是根据本发明实施例的又一种可选的基于深度学习的车道线检测方法的示意图;图6是根据本发明实施例的又一种可选的基于深度学习的车道线检测方法的示意图;图7是根据本发明实施例的又一种可选的基于深度学习的车道线检测方法的示意图;图8是根据本发明实施例的又一种可选的基于深度学习的车道线检测方法的示意图;图9是根据本发明实施例的又一种可选的基于深度学习的车道线检测方法的示意图;图10是根据本发明实施例的一种可选的基于深度学习的车道线检测装置的结构框图。
具体实施方式
[0012]
下文中将参考附图并结合实施例来详细说明本发明的实施例。
[0013]
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0014]
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种基于深度学习的车道线检测方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
[0015]
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的基于深度学习的车道线检测方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0016]
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
[0017]
在本实施例中提供了一种运行于移动终端、计算机终端或者类似的运算装置的基于深度学习的车道线检测方法,图2是根据本发明实施例的一种可选的基于深度学习的车道线检测方法的流程示意图,如图2所示,该流程包括如下步骤:s202,获取待检测的第一图片;s204,将第一图片输入目标神经网络模型,得到目标特征图,其中,目标神经网络模型包括基于多尺度注意力机制生成的神经网络模型以及深度可分离卷积模型,目标特征图用于表示第一图片中每个像素为车道线像素的概率;s206,对目标特征图执行图像后处理,以得到目标检测结果,其中,目标检测结果用于表示第一图片中已检测出的车道线。
[0018]
可选地,在本实施例中,上述第一图片可以包括但不限于:自动驾驶系统,智能辅助驾驶系统,智能交通系统中通过图像或视频采集设备采集到的图片,还可以包括但不限于通过预先存储在数据库中,或,通过其他方式采集到的图片。
[0019]
可选地,在本实施例中,上述目标神经网络模型包括但不限于卷积神经网络模型、循环神经网络模型等一种或者多种神经网络模型的组合,具体而言可以包括但不限于多尺度注意力机制生成的卷积神经网络模型以及深度可分离卷积模型。
[0020]
可选地,在本实施例中,上述目标特征图包括但不限于从上述第一图片中提取特征信息后生成的图片,上述图片中每个像素的取值可以包括但不限于表示上述第一图片中每个像素对应位置为目标对象的概率,也可以包括但不限于是上述车道线像素的概率或者是上述图像背景像素的概率。
[0021]
需要说明的是,上述车道线像素和上述图像背景像素可以包括但不限于为互斥关系的两种目标对象,换言之,上述每个像素如果不是用于表示车道线的像素,即是用于表示图像背景的像素。
[0022]
可选地,在本实施例中,已标注的图片可以包括但不限于自动驾驶系统,智能辅助驾驶系统,智能交通系统中通过图像或视频采集设备采集到的图片,还可以包括但不限于通过预先存储在数据库中,或,通过其他方式采集到的图片。
[0023]
可选地,在本实施例中,上述图像后处理可以包括但不限于归一化处理、图像平滑、图像锐化、图像膨胀、图像腐蚀等一种或多种图像处理方法的组合。
[0024]
上述仅是一种示例性说明,本实施例不做任何具体的限定。
[0025]
通过本发明,采用获取待检测的第一图片,将第一图片输入目标神经网络模型,得到目标特征图,其中,目标神经网络模型是使用一组已标注的图片对待训练的初始神经网络模型进行训练得到的模型,每个已标注的图片包括已标注的图像背景像素和已标注的车道线像素,目标特征图用于表示第一图片中每个像素为车道线像素的概率,目标神经网络模型用于从第一图片中确定出上述概率的分布,再对目标特征图执行图像后处理,以得到目标检测结果,其中,目标检测结果用于表示第一图片中已检测出的车道线,因此,可以解决相关技术中存在的车道线的检测效率过低的技术问题,达到提高车道线的检测效率、增加车道线的检测准确率、降低检测成本的技术效果。
[0026]
在一个可选的实施例中,将所述第一图片输入目标神经网络模型,得到目标特征图,包括:将所述第一图片输入第一卷积层,得到第一特征图;将所述第一特征图输入第二卷积层,得到第二特征图,其中,所述目标神经网络模型包括所述第二卷积层,所述第二卷积层用于基于多尺寸注意力机制增加所述第一特征图上预设区域的权重;对所述第二特征图进行第一预设处理,以得到所述目标特征图,其中,所述第一预设处理包括上采样操作。
[0027]
可选地,在本实施例中,上述第一预设处理可以包括但不限于上采样操作、特征提取操作等用于根据第二特征图生成目标特征图的处理方式。
[0028]
可选地,在本实施例中,上述目标神经网络模型包括所述第一卷积层,所述第一卷积层用于调整所述第一图片的分辨率,以及提取调整了分辨率后的所述第一图片的车道线像素,上述第一卷积层还可以包括但不限于用于进行特征提取的卷积神经网络,例如,轻量型卷积神经网络,可以包括但不限于采用1
×
1、3
×
3、5
×
5、7
×
7等尺寸的卷积核进行卷积操作,上述卷积操作可以包括但不限于采用预定的滑动步长实现,例如,步长为1、2等。
[0029]
上述仅是一种示例性说明,本实施例不做任何具体的限定。
[0030]
在一个可选的实施例中,将所述第一图片输入第一卷积层,得到第一特征图,包括:将分辨率小于等于第一预设分辨率的所述待检测的第一图片输入所述第一卷积层,得到所述第一特征图。
[0031]
可选地,在本实施例中,上述第一预设分辨率可以由工作人员人为设置,还可以包括但不限于根据目标神经网络模型的计算能力或者第一图片所对应的图像或视频流的原始分辨率进行灵活设置。
[0032]
可选地,在本实施例中,上述将分辨率小于等于第一预设分辨率的待检测的第一图片输入第一卷积层可以包括但不限于将分辨率较低的图片输入第一卷积层,以达到提高特征提取效率的技术效果。
[0033]
上述仅是一种示例性说明,本实施例不做任何具体的限定。
[0034]
在一个可选的实施例中,将所述第一图片输入第一卷积层,得到第一特征图,包括:将所述第一图片输入第一子卷积层,得到第一子特征图,其中,所述第一子卷积层用于执行卷积操作,所述第一卷积层包括第一子卷积层;将所述第一子特征图输入第二子卷积层,得到第二子特征图,其中,所述第二子卷积层用于执行深度可分离卷积操作以提取所述第一子特征图中的特征信息,所述第一卷积层包括第二子卷积层;在所述第二子特征图中的分辨率未达到第二预设分辨率的情况下,将所述第二子特征图重新输入所述第一子卷积层,以降低所述第一子特征图的分辨率;在所述第二子特征图中的分辨率达到所述第二预
设分辨率的情况下,将所述第二子特征图确定为所述第一特征图。
[0035]
可选地,在本实施例中,上述第一子卷积层用于降低特征图的分辨率,以提高特征提取的效率,上述第二子卷积层用于进行执行深度可分离卷积操作以提取第一子特征图中的特征信息,上述第二预设分辨率可以与上述第一预设分辨率相同或者不同。
[0036]
上述仅是一种示例性说明,本实施例不做任何具体的限定。
[0037]
在一个可选的实施例中,将所述第一子特征图输入第二子卷积层,得到第二子特征图,包括:分别使用1
×
n的卷积核和n
×
1的卷积核提取所述第一子特征图的特征信息,以得到所述第二子特征图,其中,所述n为大于1的正奇数。
[0038]
可选地,在本实施例中,上述第一卷积层可以包括但不限于采用传统卷积神经网络和轻量级卷积神经网络的特殊组合。在上述目标神经网络的底部,由于输入图像的分辨率比较大,通常只能使用较小的卷积核,导致底部卷积核的感受野较小,而使用大卷积核会导致计算代价过高。而通过在上述第一卷积层中的第二子卷积层使用大卷积核的深度可分离卷积,并且使用1
×
n和n
×
1的卷积替代n
×
n的卷积,在增加目标神经网络模型的感受野的同时,降低神经网络模型的计算代价。对于n
×
n的卷积核,假设输入通道数为c1,输出通道数为c2,卷积层的参数量为n*n*c1*c2,如果使用1
×
n和n
×
1的两个卷积核替代,卷积层的参数量为2*n*c1*c2,参数量降低了(n*n-2*n)*c1*c2。因此,可以达到当n越大的情况下,参数量降低效果越明显,但是感受野不变的技术效果。
[0039]
上述仅是一种示例性说明,本实施例不做任何具体的限定。
[0040]
在一个可选的实施例中,将所述第一特征图输入第二卷积层,得到第二特征图,包括:将所述第一特征图输入所述第二卷积层,以使用所述第二卷积层中包括的多个不同尺寸的卷积核对所述第一特征图进行卷积操作,以得到第一类特征图和多个第二类特征图;使用预设统计方式从所述多个第二类特征图中确定出多个第三类特征图,其中,所述多个第三类特征图为允许通过第二预设处理使得所述多个第三类特征图之间的大小匹配,且能够执行第三预设处理以得到注意力特征图,所述注意力特征图与所述第一类特征图的大小匹配;将所述注意力特征与所述第一类特征图执行所述第三预设处理,以得到所述第二特征图。
[0041]
可选地,在本实施例中,上述多个第二类特征中可以包括但不限于使用多个不同尺寸的卷积核对第一特征图进行卷积操作得到的第二类特征图。
[0042]
可选地,在本实施例中,上述预设统计方式可以包括但不限于统计学中的范数公式等,具体而言,可以包括但不限于向量范数、矩阵范数等。
[0043]
可选地,在本实施例中,上述第二预设处理可以包括但不限于调用函数调整特征图的通道数,例如,reshape操作,以调整特征图对应的特征向量的行数或者列数。
[0044]
可选地,在本实施例中,上述将所述第一特征图输入第二卷积层,得到第二特征图还可以包括但不限于在靠近神经网络模型输出层的区域,通过多尺度注意力机制来增加上述第一特征图中重要区域的权重,例如,包括但不限于容易出现车道线的相关区域的权重,以实现提高神经网络模型的检测准确性。
[0045]
具体而言,假定上述第一特征图的分辨率为w,h,通道数为c。首先使用包括但不限于三个不同尺度的卷积核(1
×
1、3
×
3、5
×
5,对应于前述的多个不同尺寸的卷积核)对第一
特征图分别进行卷积操作,采用不同的卷积核是为了融合不同感受野尺度下车道线元素的信息。输出三个特征图,具体而言,包括两个上述第二类特征图和一个第一类特征图,分辨率不变,通道数分别是0.5*c,0.5*c,c。其中,3
×
3、5
×
5两个第二类特征图用于计算元素之间的相关性,以确定特征图中每个像素位置对全局推断的重要性,再使用统计学中的方法,从通道的维度来统计每个位置元素的值,计算公式如下:其中,x是统计后的元素值,是同一位置不同通道上的值,经过计算后,输出的特征图分辨率不变,通道数变为1。然后,可以包括但不限于将输出的特征图通过reshape函数(对应于前述的第二预设处理)处理成(w*h)
×
1和1
×
(w*h)(对应于前述的第三类特征图),再通过矩阵乘法(对应于前述的第三预设处理),得到维度为(w*h)
×
(w*h)的矩阵,并且对该矩阵进行softmax操作,得到注意力特征图。再使用11卷积核生成的特征图(对应于前述的第一类特征图),通过reshape函数,处理为c
×
(w*h)的维度,与注意力特征图进行矩阵乘法,得到维度为c
×
(w*h)的矩阵,再将这个矩阵通过reshape函数处理为c
×
w
×
h的特征图,作为上述第二特征图。
[0046]
需要说明的是,在上述目标神经网络的中间和顶部层,输出特征的维度相比于目标神经网络的底部有大幅的降低,使用普通的卷积来进行特征提取,为了继续保持卷积核的感受野,卷积核也采用较大的核,同时采用1
×
n和n
×
1的卷积替代n
×
n的卷积的方法,降低网络计算代价。
[0047]
上述仅是一种示例性说明,本实施例不做任何具体的限定。
[0048]
通过本实施例,能够通过基于注意力机制生成的目标神经网络使得输出的目标特征图能够更加有效、准确地反映出输入图片中每个像素所处位置对应的像素,达到车道线检测的准确率的技术效果。
[0049]
在一个可选的实施例中,在将所述第一图片输入目标神经网络模型,得到目标特征图之前,所述方法还包括:获取第一样本图片和对应的标签图片;使用所述第一样本图片和所述标签图片对待训练的初始神经网络模型进行训练,得到所述目标神经网络模型,其中,所述目标神经网络模型用于通过如下损失函数进行训练:其中,c表示交叉熵损失函数,所述l
p
表示所述第一样本图片输入待训练的初始神经网络模型得到的车道线像素,所述l
t
表示所述标签图片标注的车道线像素,所述b
p
表示所述第一样本图片输入待训练的初始神经网络模型得到的图像背景像素,所述b
t
表示所述标签图片标注的图像背景像素,所述α为大于0的预定参数。
[0050]
可选地,在本实施例中,由于上述图像背景像素通常远多于车道线像素,通过预设的α来缓解类别不平衡带来的影响,训练过程中,可以包括但不限于将α设置为0.1。
[0051]
可选地,在本实施例中,可以包括但不限于在对初始神经网络模型进行训练时,可以将初始学习率配置为预设的取值,例如,0.01,将学习率衰减策略配置为包括但不限于预设的取值,例如,每迭代10000次,学习率乘以0.1,总共迭代次数设置为预设的取值,例如,
60000次。
[0052]
上述仅是一种示例性说明,本实施例不做任何具体的限定。
[0053]
在一个可选的实施例中,对所述目标特征图执行图像后处理,以得到目标检测结果,包括:将所述目标特征图执行二值化处理,得到车道线结果分割图;使用图像腐蚀操作和图像膨胀预处理所述车道线结果分割图,得到包含多个连通域的车道线结果分割图;将所述多个连通域中不符合预定条件的连通域删除,并拟合符合所述预定条件的连通域,以得到所述目标检测结果,其中,所述目标检测结果中包含的拟合后的连通域表示所述第一图片中已检测出的车道线。
[0054]
可选地,在本实施例中,上述二值化处理可以包括但不限于基于目标特征图标注原始图像,预测为车道线像素的部分标注为1,预测为非车道线,也即,背景像素部分标注为0,以得到上述车道线结果分割图。
[0055]
需要说明的是,图3是根据本发明实施例的一种可选的基于深度学习的车道线检测方法的示意图,如图3所示,可以通过包括但不限于如下方式对上述车道线像素进行过滤:s1,计算每个连通域302外接矩形的宽高,当宽和高都小于某一个阈值时,该连通域大概率不是车道线像素位置,直接删除该连通域,其中,对上述车道线像素进行过滤前可以包括但不限于如图4a所示,对上述车道线像素进行过滤后的结果可以包括但不限于如图4b所示。
[0056]
s2,在处理后的概率图上,可以包括但不限于使用skimage库将每块不同的连通域打上不同的数字id,代表着属于不同的车道线,处理后可以包括但不限于如图4c所示,其中,不同亮度代表的车道线像素属于不同的车道线。
[0057]
s3,图5是根据本发明实施例的另一种可选的基于深度学习的车道线检测方法的示意图,如图5所示,在获取到不同id的连通域后,使用函数y=kx+b,分别拟合每个连通域,其中k是斜率,b是截距,得到每个连通域对应的车道线模型作为候选车道线502。
[0058]
其中,由于例如透视效应,三维空间平行的车道线投射到二维空间,车道线与水平方向的夹角会处于某一个范围内,图6是根据本发明实施例的又一种可选的基于深度学习的车道线检测方法的示意图,如图6所示。这个夹角的范围需要根据相机的安装位置及焦距参数来确定。然后根据每条车道线的斜率,继续过滤角度不在该范围内的候选车道线。
[0059]
可选地,在本实施例中,上述图像腐蚀操作和上述图像膨胀的预处理可以包括但不限于一次或者多次操作,以得到包含多个连通域的目标特征图,上述预定条件可以包括但不限于根据连通与的大小、长短等形状特征进行确定,例如,通过设置预设长度阈值和预设宽度阈值,在上述连通域的长小于上述预设长度阈值,和/或宽小于预设宽度阈值的情况下,将该连通域删除,并保留符合上述预定条件连通域的目标特征图,以确定最终的目标检测结果。
[0060]
例如,在一些复杂道路场景下,上述目标神经网络模型所输出的目标特征图中记录的车道线特征可能会出现一些不连续,如图4a所示,通过使用包括但不限于opencv中图像腐蚀(erosion)操作,将零散的且小面积的车道线预测像素消除,因为分散且面积小的车道线预测像素大概率是误检,然后使用opencv中图像膨胀(dilation)操作,将剩下的车道线预测像素面积增加一些,最后,通过配置连通域的大小来过滤掉不属于车道线的连通域。
[0061]
上述仅是一种示例性说明,本实施例不做任何具体的限定。
[0062]
在一个可选的实施例中,所述方法还包括:通过聚类算法对所述目标检测结果中包含的拟合后的连通域进行同类合并,以重新确定所述第一图片中已检测出的车道线。
[0063]
可选地,在本实施例中,可以包括但不限于在过滤完非车道线后,留下多条车道线,但是有些候选车道线是属于同一车道线的不同部分,如图5左侧两根候选车道线,按照逻辑是属于同一条车道线上的,这些车道线需要合并。使用每条候选车道线的斜率来进行聚类,采用的聚类算法可以包括但不限于均值漂移聚类算法,可以包括但不限于由sklearn.cluster.meanshift函数实现, 聚类半径需要根据相机的安装位置及焦距参数来确定。得到的聚类中心数量就是车道线的数量,合并后每条车道线方程如下:其中,n表示该车道线由多少条候选车道线合并而来,k
i
和b
i
分别表示第i条候选车道线的斜率和截距。
[0064]
上述仅是一种示例性说明,本实施例不做任何具体的限定。
[0065]
在一个可选的实施例中,所述目标神经网络模型包括轻量级的卷积神经网络组成的神经网络模型。
[0066]
上述仅是一种示例性说明,本实施例不做任何具体的限定。
[0067]
下面结合具体的示例,对本实施例进行进一步的解释说明:目标神经网络模型架构采用了传统卷积神经网络模型和轻量级卷积神经网络模型的特殊组合。在目标神经网络模型底部,由于输入图像的分辨率比较大,通常只能使用较小的卷积核,导致底部卷积核的感受野较小,而使用大卷积核会导致计算代价过高。本发明中,在目标神经网络模型的底部使用大卷积核的深度可分离卷积,并且使用1
×
n和n
×
1的卷积替代n
×
n的卷积,在增加目标神经网络模型感受野的同时,降低目标神经网络模型的计算代价。对于n
×
n的卷积核,假设输入通道数为c1,输出通道数为c2,卷积层的参数量为n*n*c1*c2,如果使用1
×
n和n
×
1的两个卷积核替代,卷积层的参数量为2*n*c1*c2,参数量降低了(n*n-2*n)*c1*c2,n越大,参数量降低效果越明显,但是感受野不变。
[0068]
在目标神经网络模型的中间和顶部层,特征图的维度相比于目标神经网络模型底部有大幅的降低,使用普通的卷积来进行特征提取,为了继续保持卷积核的感受野,卷积核也采用较大的核,同时采用1
×
n和n
×
1的卷积替代n
×
n的卷积的方法,降低目标神经网络模型计算代价。
[0069]
目标神经网络模型结构如表一所示。
[0070]
表一其中,上述dewconvsp卷积操作可以包括但不限于表二中所示的内容:表二可选地,在本实施例中,在靠近目标神经网络模型输出层的地方,通过使用多尺度注意力机制来增加特征图上重要区域的权重(对应于表一中attention卷积层),以提高目标神经网络模型检测准确性,提出的注意力机制计算流程图如图7所示。
[0071]
s702,输入上一卷积层输出的特征图(对应于前述的第一特征图),假定第一特征图的分辨率为w,h,通道数为c。
[0072]
s704,使用三个不同尺度的卷积核对输入图像进行卷积操作,采用不同的卷积核是为了融合不同感受野尺度下车道线元素的的信息。输出三个特征图,分辨率不变,通道数分别是0.5*c,0.5*c,c(由上往下)。
[0073]
s706,前面两个特征图用于计算元素之间的相关性,为了确定每个位置对全局推断的重要性,使用统计学中的方法,从通道的维度来统计每个位置元素的值,计算公式如下:
上述计算过程示意图可以包括但不限于如图8所示:其中,x是统计后的元素值,x
i
是同一位置不同通道上的值,以i等于4为例,经过计算后,输出的特征图分辨率不变,通道数变为1。再将输出的特征图reshape成(w*h)
×
1和1
×
(w*h),并进行矩阵乘法,得到维度为(w*h)
×
(w*h)的矩阵,最后对该矩阵执行softmax操作,得到注意力特征图。
[0074]
s708,使用h(x)生成的特征图,reshape成c
×
(w*h)的维度,与注意力特征图进行矩阵乘法,得到维度为c
×
(w*h)的矩阵,再将这个矩阵reshape成c
×
w
×
h的特征图,作为输出特征图(对应于前述的目标特征图)。
[0075]
可选地,在本实施例中,上述目标神经网络模型中所有的卷积操作(对应于表一),只要滑动步长为1,特征图在进行卷积操作之前会在四周使用0填充,保证卷积操作后输出的特征图分辨率不变。网络的输入是rgb三通道彩色图,原图使用双线性插值resize到320
×
184
×
3,标签图使用最近邻插值算法resize到320
×
184,经过一系列卷积处理,输出车道线分割结果(对应于前述的目标特征图)。输出的车道线分割结果为概率图(对应于一张图,图中每个像素表示该像素所处位置是否是车道线的概率值),分辨率和输入图像一样,两个通道,分别表示图像背景像素位置和车道线像素位置信息。模型训练时,损失函数采用的是带权重交叉熵,公式如下:其中,c表示交叉熵损失函数,所述l
p
表示所述第一样本图片输入待训练的初始神经网络模型得到的车道线像素,所述l
t
表示所述标签图片标注的车道线像素,所述b
p
表示所述第一样本图片输入待训练的初始神经网络模型得到的图像背景像素,所述b
t
表示所述标签图片标注的图像背景像素,所述α为大于0的预定参数。
[0076]
需要说明的是,由于背景像素通常远多于车道线像素,α用来缓解类别不平衡带来的影响,训练时α可以设置为0.1。训练时使用的初始学习率为0.01,学习率衰减策略为,每迭代10000次,学习率乘以0.1,总共迭代次数设置为60000次。
[0077]
在上述目标神经网络模型输出车道线分割结果概率图结果后,利用图像后处理,统计学方法过滤误检的车道线,合并车道线,处理流程图如图9所示,具体可以如下步骤:s902,目标神经网络模型输出目标特征图;s904,对上述目标特征图进行腐蚀、膨胀处理;s906,过滤连通域;s908,给连通域标记id;s910,根据连通域拟合车道线;s912,根据角度范围过滤车道线;s914,聚类得到最终车道线;s916,输出检测结果。
[0078]
其中,在一些复杂道路场景下,上述目标神经网络模型所输出的目标特征图中记录的车道线特征可能会出现一些不连续,如图4a所示,通过使用包括但不限于opencv中图
像腐蚀(erosion)操作,将零散的且小面积的车道线预测像素消除,因为分散且面积小的车道线预测像素大概率是误检,然后使用opencv中图像膨胀(dilation)操作,将剩下的车道线预测像素面积增加一些。再通过连通域的大小来过滤掉不属于车道线的连通域。
[0079]
需要说明的是,可以通过包括但不限于如下方式对上述车道线像素进行过滤:s1,计算如图3所示每个连通域302外接矩形的宽高,当宽和高都小于某一个阈值时,该连通域大概率不是车道线像素位置,直接删除该连通域,经过处理后的结果可以包括但不限于如图4b所示,其中,图4b所示的连通域中不包括图4a中包含的部分连通域。
[0080]
s2,在处理后的概率图上,可以包括但不限于使用例如skimage库将每块不同的连通域打上不同的数字id,代表着属于不同的车道线,处理后的结果可以包括但不限于如图4c所示,不同亮度的车道线代表不同的车道线。
[0081]
s3,在获取到不同id的连通域后,使用函数y=kx+b,分别拟合每个连通域,其中,k是斜率,b是截距,得到每个连通域对应的车道线模型作为如图5所示的候选车道线502。
[0082]
其中,由于例如透视效应,三维空间平行的车道线投射到二维空间,车道线与水平方向的夹角会处于某一个范围内,如图6所示,车道线与水平方向夹角的范围需要根据相机的安装位置及焦距参数来确定。然后根据每条车道线的斜率,继续过滤角度不在该范围内的候选车道线。
[0083]
在过滤完非车道线后,留下多条车道线,但是有些候选车道线是属于同一车道线的不同部分,如图5左侧两根候选车道线,按照逻辑是属于同一条车道线上的,这些车道线需要合并。使用每条候选车道线的斜率来进行聚类,采用的聚类算法可以包括但不限于均值漂移聚类算法,可以包括但不限于由sklearn.cluster.meanshift函数实现, 聚类半径需要根据相机的安装位置及焦距参数来确定。得到的聚类中心数量就是车道线的数量,合并后每条车道线方程如下:其中,n表示该车道线由多少条候选车道线合并而来,k
i
和b
i
分别表示第i条候选车道线的斜率和截距。
[0084]
通过本实施例,采用基于多尺度注意力机制,建立目标神经网络模型用于车道线检测任务,根据深度神经网络各个层的特点,设计了一个轻量级的车道线检测网络,以实现在车道线检测任务中使用轻量级的深度神经网络,降低了网络的复杂度和计算代价,在存储能力和计算能力受限的嵌入式设备上部署有优势,增加目标神经网络模型的感受野,缓解车道线分割任务中,预测的车道线像素不连续问题,并且,结合目标神经网络模型的输出格式,设计一套后处理算法,可以在深度神经网络粗略提取车道线特征的基础上,准确地检测出车道线,降低了网络对训练数据集的要求。比如可以在一些通用的数据集上进行训练,就可以达到粗略提取车道线特征的要求,而不需要专门采集相对应的道路场景进行标注,降低了算法实际应用的成本。
[0085]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储
介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0086]
在本实施例中还提供了一种基于深度学习的车道线检测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0087]
图10是根据本发明实施例的一种可选的基于深度学习的车道线检测装置的结构框图,如图10所示,该装置包括:获取模块1002,用于获取待检测的第一图片;第一处理模块1004,用于将所述第一图片输入目标神经网络模型,得到目标特征图,其中,所述目标神经网络模型包括基于多尺度注意力机制生成的神经网络模型以及深度可分离卷积模型,所述目标特征图用于表示所述第一图片中每个像素为车道线像素的概率;第二处理模块1006,用于对所述目标特征图执行图像后处理,以得到目标检测结果,其中,所述目标检测结果用于表示所述第一图片中已检测出的车道线。
[0088]
在一个可选的实施例中,所述第一处理模块1004,包括:第一计算单元,用于将所述第一图片输入第一卷积层,得到第一特征图,其中,所述目标神经网络模型包括所述第一卷积层,所述第一卷积层用于调整所述第一图片的分辨率,以及提取调整了分辨率后的所述第一图片的车道线像素;第二计算单元,用于将所述第一特征图输入第二卷积层,得到第二特征图,其中,所述目标神经网络模型包括所述第二卷积层,所述第二卷积层用于基于多尺寸注意力机制增加所述第一特征图上预设区域的权重;第一处理单元,用于对所述第二特征图进行第一预设处理,以得到所述目标特征图,其中,所述第一预设处理包括上采样操作。
[0089]
在一个可选的实施例中,上述装置用于通过如下方式将所述第一图片输入第一卷积层,得到第一特征图:将分辨率小于等于第一预设分辨率的所述待检测的第一图片输入所述第一卷积层,得到所述第一特征图。
[0090]
在一个可选的实施例中,上述装置用于通过如下方式将所述第一图片输入第一卷积层,得到第一特征图:将所述第一图片输入第一子卷积层,得到第一子特征图,其中,所述第一子卷积层用于执行卷积操作,所述第一卷积层包括第一子卷积层;将所述第一子特征图输入第二子卷积层,得到第二子特征图,其中,所述第二子卷积层用于执行深度可分离卷积操作以提取所述第一子特征图中的特征信息,所述第一卷积层包括第二子卷积层;在所述第二子特征图中的分辨率未达到第二预设分辨率的情况下,将所述第二子特征图重新输入所述第一子卷积层,以降低所述第一子特征图的分辨率;在所述第二子特征图中的分辨率达到所述第二预设分辨率的情况下,将所述第二子特征图确定为所述第一特征图。
[0091]
在一个可选的实施例中,所述第一计算单元用于通过如下方式将所述第一子特征图输入第二子卷积层,得到第二子特征图:分别使用1
×
n的卷积核和n
×
1的卷积核提取所述第一子特征图的特征信息,以得到所述第二子特征图,其中,所述n为大于1的正奇数。
[0092]
在一个可选的实施例中,所述第二计算单元用于通过如下方式将所述第一特征图输入第二卷积层,得到第二特征图:将所述第一特征图输入所述第二卷积层,以使用所述第
二卷积层中包括的多个不同尺寸的卷积核对所述第一特征图进行卷积操作,以得到第一类特征图和多个第二类特征图;使用预设统计方式从所述多个第二类特征图中确定出多个第三类特征图,其中,所述多个第三类特征图为允许通过第二预设处理使得所述多个第三类特征图之间的大小匹配,且能够执行第三预设处理以得到注意力特征图,所述注意力特征图与所述第一类特征图的大小匹配;将所述注意力特征与所述第一类特征图执行所述第三预设处理,以得到所述第二特征图。
[0093]
在一个可选的实施例中,所述装置还用于:获取第一样本图片和对应的标签图片;使用所述第一样本图片和所述标签图片对待训练的初始神经网络模型进行训练,得到所述目标神经网络模型,其中,所述目标神经网络模型用于通过如下损失函数进行训练:其中,c表示交叉熵损失函数,所述l
p
表示所述第一样本图片输入待训练的初始神经网络模型得到的车道线像素,所述l
t
表示所述标签图片标注的车道线像素,所述b
p
表示所述第一样本图片输入待训练的初始神经网络模型得到的图像背景像素,所述b
t
表示所述标签图片标注的图像背景像素,所述α为大于0的预定参数。
[0094]
在一个可选的实施例中,所述第二处理模块1006,包括:第二处理单元,用于将所述目标特征图执行二值化处理,得到车道线结果分割图;第三处理单元,用于使用图像腐蚀操作和图像膨胀预处理所述目标特征图,得到包含多个连通域的目标特征图;第四处理单元,用于将所述多个连通域中不符合预定条件的连通域删除,并拟合符合所述预定条件的连通域,以得到所述目标检测结果,其中,所述目标检测结果中包含的拟合后的连通域表示所述第一图片中已检测出的车道线。
[0095]
在一个可选的实施例中,所述装置还用于:通过聚类算法对所述目标检测结果中包含的拟合后的连通域进行同类合并,以重新确定所述第一图片中已检测出的车道线。
[0096]
在一个可选的实施例中,所述目标神经网络模型包括轻量级的卷积神经网络组成的神经网络模型。
[0097]
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
[0098]
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
[0099]
在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:s1,获取待检测的第一图片;s2,将第一图片输入目标神经网络模型,得到目标特征图,其中,目标神经网络模型包括基于多尺度注意力机制生成的神经网络模型以及深度可分离卷积模型,目标特征图用于表示第一图片中每个像素为车道线像素的概率;
s3,对目标特征图执行图像后处理,以得到目标检测结果,其中,目标检测结果用于表示第一图片中已检测出的车道线。
[0100]
计算机可读存储介质还被设置为存储用于执行以下步骤的计算机程序:s1,获取待检测的第一图片;s2,将第一图片输入目标神经网络模型,得到目标特征图,其中,目标神经网络模型包括基于多尺度注意力机制生成的神经网络模型以及深度可分离卷积模型,目标特征图用于表示第一图片中每个像素为车道线像素的概率;s3,对目标特征图执行图像后处理,以得到目标检测结果,其中,目标检测结果用于表示第一图片中已检测出的车道线。
[0101]
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
[0102]
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
[0103]
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
[0104]
在一个示例性实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:s1,获取待检测的第一图片;s2,将第一图片输入目标神经网络模型,得到目标特征图,其中,目标神经网络模型包括基于多尺度注意力机制生成的神经网络模型以及深度可分离卷积模型,目标特征图用于表示第一图片中每个像素为车道线像素的概率;s3,对目标特征图执行图像后处理,以得到目标检测结果,其中,目标检测结果用于表示第一图片中已检测出的车道线。
[0105]
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
[0106]
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0107]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1