车道线检测方法、电子设备、介质及车辆与流程

文档序号:30940817发布日期:2022-07-30 02:05阅读:83来源:国知局
车道线检测方法、电子设备、介质及车辆与流程

1.本发明涉及人工智能领域,具体提供一种车道线检测方法、电子设备、介质及车辆。


背景技术:

2.目前,对于车道线的检测很多是通过自动驾驶感知模型来是实现的。自动驾驶感知模型由于要满足车端部署,往往非常轻量,其对应的模型性能有较大的提升空间。知识蒸馏是一种有效的提升轻量模型性能的方式,同时不会对轻量模型在推理阶段做任何改变。但是,实际中并没有将知识蒸馏有效迁移到车道线检测场景中的蒸馏方法,因此,现有的对于轻量模型的蒸馏方法对应的蒸馏效果较差,将其用于车道线检测时,导致车道线检测精度较差,难以达到令人满意的检测效果。
3.相应地,本领域需要一种新的车道线检测方法来解决上述问题。


技术实现要素:

4.为了克服上述缺陷,提出了本发明,以提供解决或至少部分地解决现有的车道线检测方法对应的检测精度较差的技术问题。本发明提供了一种车道线检测方法、电子设备、介质及车辆。
5.在第一方面,本发明提供一种车道线检测方法,包括下述步骤:获取包含车道线的待检测图像;将所述待检测图像输入利用蒸馏方法训练好的车道线检测模型,识别出车道线,其中,所述蒸馏方法所使用的教师模型和车道线检测模型均包括主干网络和特征金字塔网络,其中所述教师模型的主干网络包括顺序连接的用于将图像从图像域转换到特征域的转换模块和至少一个判别特征产生模块,所述判别特征产生模块包括顺序连接的卷积层、全局平均池化层和至少一个全连接层,其中所述卷积层接收所述转换模块输出的第一图像特征并输出第二图像特征,所述全局平均池化层和所述至少一个全连接层根据输入的所述第二图像特征生成动态权重,并利用所述动态权重对所述第二图像特征进行动态加权得到第三图像特征。
6.在一个实施方式中,所述卷积层包括第一子卷积层、第二子卷积层和第三子卷积层,其中所述第一子卷积层的卷积核大小为m*n,所述第二子卷积层的卷积核大小为n*n,所述第三子卷积层的卷积核大小为n*m,其中n和m均为自然数且m《n。
7.在一个实施方式中,所述判别特征产生模块还包括:shortcut连接通路、残差层和激活函数层,其中所述shortcut连接通路将所述第一图像特征传送到残差层;所述残差层对所述第一图像特征和所述第三图像特征进行求和操作后,经过所述激活函数层输出。
8.在一个实施方式中,还包括:获取车道线训练图像;将所述车道线训练图像分别输入教师模型和车道线检测模型,通过所述教师模型对所述车道线检测模型进行知识蒸馏从而得到训练好的车道线检测模型。
9.在一个实施方式中,所述将所述车道线训练图像分别输入教师模型和车道线检测
模型,通过所述教师模型对所述车道线检测模型进行知识蒸馏,还包括:所述教师模型和车道线检测模型的特征金字塔网络分别输出第一特征图和第二特征图;基于所述第一特征图和第二特征图确定蒸馏损失;基于车道线检测模型的检测结果与真实标签确定基础损失;基于所述蒸馏损失和基础损失对所述车道线检测模型进行训练。
10.在一个实施方式中,所述基于所述第一特征图和第二特征图确定蒸馏损失,包括:构造kl损失函数:
[0011][0012][0013]
上式中,loss(y
t
,ys)表示蒸馏损失函数,y
t
、ys分别表示第一特征图和第二特征图,c表示特征通道数,τ表示超参数,h和w分别表示特征的空间维度,φ(
·
)表示将第一特征转换为特征分布的函数。
[0014]
在一个实施方式中,在将所述车道线训练图像分别输入教师模型和车道线检测模型,通过所述教师模型对所述车道线检测模型进行知识蒸馏之前,所述方法还包括:对待训练的所述车道线检测模型进行预训练,得到预训练的车道线检测模型参数;利用所述参数对待训练的车道线检测模型初始化。
[0015]
在第二方面,本发明提供一种电子设备,该电子设备包括处理器和存储装置,所述存储装置适于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行前述任一项所述的车道线检测方法。
[0016]
在第三方面,提供一种计算机可读存储介质,该计算机可读存储介质其中存储有多条程序代码,所述程序代码适于由处理器加载并运行以执行前述任一项所述的车道线检测方法。
[0017]
在第四方面,提供一种车辆,包括前述的电子设备。
[0018]
本发明上述一个或多个技术方案,至少具有如下一种或多种有益效果:
[0019]
本发明提供一种车道线检测方法,首先获取包含车道线的待检测图像,接着将待检测图像输入利用蒸馏方法训练好的车道线检测模型来识别出车道线,其中,主要通过提供一种高性能的教师模型,通过该模型中的全局平均池化层和至少一个全连接层能够根据输入的图像特征生成动态权重,并对该图像特征和全连接层输出的动态权重进行乘积或者求和这样的加权操作,以得到加权后的图像特征,如此,在引入较少计算量或者参数的情况下,有效提升了网络的性能,实现了轻量车道线检测模型无痛涨点的效果,实现了模型的高效蒸馏,如此,训练得到的车道线检测模型的检测精度更高,将其用于车道线检测时,提高了车道线检测的检测精度,从而实现安全驾驶的效果。
[0020]
进一步地,通过三个依次叠加的卷积核,能够提取图像特征,相对于一个卷积核来说,对应网络的参数量小,避免了直接使用大卷积核造成的网络参数量大、难优化问题,有利于提高蒸馏效果,减少蒸馏时间,同时,实现了大感受野,这种大感受野应用在车道线的识别时,能够进一步提高车道线的检测精度。
附图说明
[0021]
参照附图,本发明的公开内容将变得更易理解。本领域技术人员容易理解的是:这些附图仅仅用于说明的目的,而并非意在对本发明的保护范围组成限制。此外,图中类似的数字用以表示类似的部件,其中:
[0022]
图1是根据本发明的一个实施例的车道线检测方法的主要步骤流程示意图;
[0023]
图2是根据本发明的一个实施例的包括教师模型和学生模型的整体蒸馏模型的示意图;
[0024]
图3是根据本发明的一个实施例的教师模型的主干网络完整结构示意图;
[0025]
图4是根据本发明的一个实施例的主干网络中的判别特征产生模块的结构示意图;
[0026]
图5是根据本发明的一个实施例的电子设备的结构示意图。
具体实施方式
[0027]
下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
[0028]
在本发明的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器,通信端口,存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、图像处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“a和/或b”表示所有可能的a与b的组合,比如只是a、只是b或者a和b。术语“至少一个a或b”或者“a和b中的至少一个”含义与“a和/或b”类似,可以包括只是a、只是b或者a和b。单数形式的术语“一个”、“这个”也可以包含复数形式。
[0029]
目前,实际中并没有将知识蒸馏有效迁移到车道线检测场景中的蒸馏方法,因此,现有的对于轻量模型的蒸馏方法对应的蒸馏效果较差,将其用于车道线检测时,导致车道线检测精度较差,难以达到令人满意的检测效果。
[0030]
为此,本技术提出了一种车道线检测方法、电子设备、介质及车辆。
[0031]
首先获取包含车道线的待检测图像,接着将待检测图像输入利用蒸馏方法训练好的车道线检测模型以识别出车道线,其中,蒸馏方法所使用的教师模型为高性能的教师模型,该教师模型包括主干网络和特征金字塔网络,其中,主干网络中的判别特征产生模块包括卷积层、全局平均池化层和至少一个全连接层,通过全局平均池化层和至少一个全连接层能够根据输入的第二图像特征生成动态权重,并利用该动态权重对第二图像特征进行动态加权得到第三图像特征,如此,在不改变计算量的情况下,有效提升了教师模型的性能,进一步提高了蒸馏效果,如此,训练得到的车道线检测模型的检测精度更高,将其用于车道线检测时,提高了车道线检测的检测精度,从而实现安全驾驶的效果。
[0032]
参阅附图1,图1是根据本发明的一个实施例的车道线检测方法的主要步骤流程示意图。如图1所示,本发明实施例中的车道线检测模型的蒸馏方法主要包括下列步骤s11-步骤s12。
[0033]
步骤s11:获取包含车道线的待检测图像。
[0034]
具体的,获取包含车道线的待检测图像所使用的硬件可以包括车载摄像头、lidar、radar等等。
[0035]
步骤s12:将待检测图像输入利用蒸馏方法训练好的车道线检测模型,识别出车道线,其中,蒸馏方法所使用的教师模型和车道线检测模型(即上述学生模型)均包括主干网络和特征金字塔网络,其中教师模型的主干网络包括顺序连接的用于将图像从图像域转换到特征域的转换模块和至少一个判别特征产生模块,判别特征产生模块包括顺序连接的卷积层、全局平均池化层和至少一个全连接层,其中卷积层接收转换模块输出的第一图像特征并输出第二图像特征,全局平均池化层和至少一个全连接层根据输入的第二图像特征生成动态权重,并利用动态权重对第二图像特征进行动态加权得到第三图像特征。
[0036]
具体如图2所示,本技术中的教师模型和学生模型均包括主干网络、特征金字塔网络和预测网络,其中,特征金字塔网络用于提取特征图,预测网络用于根据输入的特征图输出预测结果。
[0037]
具体地,教师模型的主干网络包括依次连接的转换模块和至少一个判别特征产生模块,其中,转换模块主要是用于将图像从图像域转换到特征域,也就是提取输入图像的特征信息。另外,本技术中的判别特征产生模块的个数为至少一个。
[0038]
在如图3所示的示例中,主干网络包括依次连接的一个转换模块和四个判别特征产生模块。
[0039]
其中,转换模块包括3个卷积层。第一个卷积层的输出通道数为32,卷积核k为(3,3),移动步长s为2,空洞卷积率d为1。第二个卷积层的输出通道数、卷积核以及空洞卷积率与第一个卷积层相同,只是第二个卷积层的移动步长为1。第三个卷积层和第一个卷积层的卷积核、移动步长以及空洞卷积率均相同,只是第三个卷积层的输出通道数为64。
[0040]
其中,第一个判别特征产生模块的输出通道数为128,第二个判别特征产生模块的输出通道为256,第三个判别特征产生模块的输出通道数为512,第四个判别特征产生模块的输出通道数为1024。
[0041]
示例性的,当输入图像为6*3*1088*1920,也就是输入了6张通道数为3、长宽为1088*1920的车道线训练图像,通过转换模块后输出的图像为6*64*544*960,接着经过第一个判别特征产生模块卷积后,输出的图像为6*128*272*480,经过第二个判别特征产生模块卷积后,输出的图像为6*256*136*240,经过第三个判别特征产生模块卷积后,输出的图像为6*512*68*120,经过第四个判别特征产生模块卷积后,输出的图像为6*1024*34*60。
[0042]
总之,转换模块输出第一图像特征至判别特征产生模块。
[0043]
每个判别特征产生模块可以包括至少一个block模块,每个block模块包括顺序连接的卷积层、全局平均池化层和至少一个全连接层。
[0044]
该实施例中第一个判别特征产生模块可以包括三个block,图3中仅示意出了依次叠加的两个block,其中在第二个block旁边以*2的方式呈现出第二个block的数量为2。第二个判别特征产生模块可以包括四个block,图3中仅示意出了依次叠加的两个block,其中在第二个block旁边以*3的方式呈现出第二个block的数量为3。第三个判别特征产生模块可以包括六个block,图3中仅示意出了依次叠加的两个block,其中在第二个block旁边以*5的方式呈现出第二个block的数量为5。类似的,第四个判别特征产生模块可以包括三个
block,图3中仅示意出了依次叠加的两个block,其中在第二个block旁边以*2的方式呈现出第二个block的数量为2。通过本技术中的主干网络,则能够高效地提取输入图像的相关特征。
[0045]
在一个具体实施方式中,如图4所示,本技术中的block中包含一个卷积层、一个全局平均池化层(global avg pooling)和两个全连接层(fc)。
[0046]
其中,如图4所示,卷积层包括第一子卷积层、第二子卷积层和第三子卷积层,第一子卷积层的卷积核为1*3,第二子卷积层的卷积核为3*3,第三子卷积层的卷积核为3*1。通过这三个依次堆叠的子卷积层,卷积效果相当于一个5*5的卷积核的卷积效果,但是,本技术中三个依次叠加的卷积核,相对于现有技术使用一个卷积核来说,对应网络的参数量小,避免了直接使用大卷积核造成的网络参数量大、难优化问题,有利于提高蒸馏效果,减少蒸馏时间,同时,实现了大感受野,这种大感受野对于车道线这种细长检测物识别是尤其有效的,能够进一步提高车道线的检测精度。
[0047]
另外,在该实施例中,第一子卷积层和第二子卷积层对应的激活函数可以为relu。
[0048]
在上述示例的基础上,本领域技术人员能够理解,本技术的第一子卷积层的卷积核大小可以为m*n,第二子卷积层的卷积核大小可以为n*n,第三子卷积层的卷积核大小可以为n*m,其中n和m均为自然数且m《n。具体来说,大小依次为m*n、n*n以及n*m的三个卷积核的卷积效果相当于一个(2n-1)*(2n-1)的卷积核的卷积效果。这在车道线这种细长检测物识别时需要更大感受野的需求下(例如n》3)效果更好,且n越大效果越好。
[0049]
上述卷积层接收上述转换模块输出的第一图像特征并输出第二图像特征。
[0050]
在一个具体实施方式中,如图4所示,本技术中的block中包含一个卷积层、一个全局平均池化层(global avg pooling)和两个全连接层(fc),其中,全局平均池化层和两个依次连接的全连接层能够根据卷积层输出的第二图像特征生成动态权重,并利用动态权重对第二图像特征进行动态加权以得到第三图像特征。
[0051]
具体是先用全局平均池化层对卷积层输出的第二图像特征进行空间上的压缩,然后用两个全连接层输出通道个数的动态激活值,来对特征在通道维度进行加权,实现根据不同输入动态调节特征响应值的效果。
[0052]
另外,两个全连接层对应的激活函数可以为relu或者sigmoid。示例性地,第一个全连接层对应激活函数可以为relu,第二个激活函数对应的激活函数可以为sigmoid。需要说明的是,在本技术的方案中,可以仅使用一个全连接层,激活函数可以选用relu和sigmoid之一。
[0053]
图4中的所示即为乘法加权,然而本技术不限于此,这里的加权可以是乘积操作或者求和操作。
[0054]
通过对全连接层输出的动态权重和第二图像特征进行乘积操作或者求和操作,以得到第三图像特征,如此,在引入较少计算量或者参数的情况下,有效提升了网络的性能,实现了轻量车道线检测模型无痛涨点的效果,实现了模型的高效蒸馏。
[0055]
如图4所示,在一个具体实施方式中,判别特征产生模块还包括:shortcut连接通路、残差层和激活函数层,其中shortcut连接通路将第一图像特征传送到残差层;残差层对第一图像特征和第三图像特征进行求和操作后,经过激活函数层输出,其中激活函数层对应的激活函数可以是relu。
[0056]
总之,基于前述实施例可知,本技术block中包含的卷积层能够实现大感受野,全局平均池化层和至少一个全连接层能够实现特征的动态加权,这两种手段均可以提升蒸馏上限。
[0057]
然而,由于图4中的网络设置,导致了该网络的深度较大。为此,本技术还通过设置的shortcut连接通路将第一图像特征传送到残差层。解决了深度网络中梯度发散,难以训练的问题,在网络深度较大时仍然能够保证网络实现高效蒸馏的效果,进而提高学生模型的蒸馏效果。
[0058]
利用蒸馏方法训练车道线检测模型的过程可以通过下述步骤s101-步骤s102。
[0059]
步骤s101:获取车道线训练图像。
[0060]
具体来说,这里获取的可以是车道线训练图像集,其包含多张车道线训练图像,每一张车道线训练图像中对应标注有车道线位置以及类别等标签,可用于后续的教师模型和学生模型的蒸馏训练。
[0061]
步骤s102:将车道线训练图像分别输入教师模型和车道线检测模型,通过教师模型对车道线检测模型进行知识蒸馏从而得到训练好的车道线检测模型。
[0062]
在一个实施方式中,步骤s102还包括:
[0063]
教师模型和车道线检测模型的特征金字塔网络分别输出第一特征图和第二特征图;
[0064]
基于第一特征图和第二特征图确定蒸馏损失;
[0065]
基于车道线检测模型的检测结果与真实标签(ground truth)确定基础损失;基于蒸馏损失和基础损失对车道线检测模型进行训练。
[0066]
具体的,通过教师模型和车道线检测模型的特征金字塔网络分别输出第一特征图和第二特征图来确定蒸馏损失,并利用蒸馏损失和车道线检测模型对应的基础损失两者配合以对车道线检测模型进行训练,直至蒸馏损失和基础损失都收敛时,即可得到训练好的车道线检测模型,如此,有效提高了对车道线检测模型的蒸馏效果。
[0067]
在一个实施方式中,基于第一特征图和第二特征图确定蒸馏损失,包括:构造kl损失函数:
[0068][0069][0070]
上式中,loss(y
t
,ys)表示蒸馏损失函数,y
t
、ys分别表示第一特征图和第二特征图,c表示特征通道数,τ表示超参数,h和w分别表示特征的空间维度,φ(
·
)表示将第一特征转换为特征分布的函数。
[0071]
具体的,本技术将构造的kl损失函数作为蒸馏损失,先在h*w维度对每个像素点做归一化后,再对每个像素点逐一做kl散度,对于车道线检测来说,使得每个通道上编码的特征分布相同,相对于现有技术中构造的kl损失函数直接对每个像素点做kl散度来说,拉近了教师模型和轻量车道线检测模型的特征金字塔网络输出特征之间显著性区域的分布距离,降低了通道上特征之间的学习难度,提高了蒸馏效果,增加了车道线检测模型的识别精
度。
[0072]
基于上述步骤s11-步骤s12,首先获取包含车道线的待检测图像,接着将待检测图像输入利用蒸馏方法训练好的车道线检测模型以识别出车道线,其中蒸馏方法所使用的教师模型为高性能的教师模型,通过该模型中的全局平均池化层和至少一个全连接层能够根据输入的图像特征生成动态权重,并对全连接层输出的动态权重和该输入的图像特征进行乘积操作或者求和操作,以得到加权的图像特征,如此,在引入较少计算量或者参数的情况下,有效提升了网络的性能,实现了轻量车道线检测模型无痛涨点的效果,实现了模型的高效蒸馏,如此,训练得到的车道线检测模型的检测精度更高,将其用于车道线检测时,提高了车道线检测的检测精度,从而实现安全驾驶的效果。
[0073]
在一个实施方式中,在将车道线训练图像分别输入教师模型和车道线检测模型,通过教师模型对车道线检测模型进行知识蒸馏之前,所述方法还包括:
[0074]
对待训练的车道线检测模型进行预训练,得到预训练的车道线检测模型参数;
[0075]
利用参数对待训练的车道线检测模型初始化。
[0076]
具体来说,在知识蒸馏之前,先对车道线检测模型进行预训练,并利用预训练后的车道线检测模型的参数对该车道线检测模型进行初始化,以利用初始化参数的车道线检测模型与教师模型进行蒸馏训练,如此,提高了蒸馏效果。
[0077]
需要指出的是,尽管上述实施例中将各个步骤按照特定的先后顺序进行了描述,但是本领域技术人员可以理解,为了实现本发明的效果,不同的步骤之间并非必须按照这样的顺序执行,其可以同时(并行)执行或以其他顺序执行,这些变化都在本发明的保护范围之内。
[0078]
本领域技术人员能够理解的是,本发明实现上述一实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
[0079]
进一步,本发明还提供了一种电子设备。如图5所示,在根据本发明的一个电子设备实施例中,电子设备包括处理器80和存储装置81,存储装置可以被配置成存储执行上述方法实施例的车道线检测模型的蒸馏方法或车道线检测方法的程序,处理器可以被配置成用于执行存储装置中的程序,该程序包括但不限于执行上述方法实施例的车道线检测方法的程序。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。
[0080]
进一步,本发明还提供了一种计算机可读存储介质。在根据本发明的一个计算机可读存储介质实施例中,计算机可读存储介质可以被配置成存储执行上述方法实施例的车道线检测模型的蒸馏方法或车道线检测方法的程序,该程序可以由处理器加载并运行以实
现上述车道线检测方法。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机可读存储介质可以是包括各种电子设备形成的存储装置设备,可选的,本发明实施例中计算机可读存储介质是非暂时性的计算机可读存储介质。
[0081]
进一步,本发明还提供了一种车辆,包括前述的电子设备。
[0082]
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1