车道中心线的确定方法、装置和电子设备转让专利

申请号 : CN202210562407.8

文献号 : CN114644019B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴宏升史院平杨福威韩志华

申请人 : 苏州挚途科技有限公司

摘要 :

本发明提供了一种车道中心线的确定方法、装置和电子设备,首先获取当前时刻采集的在当前车身坐标系下,自车道的当前左右车道线点集,以及在历史时刻采集的在前一时刻车身坐标系下,自车道的历史左右车道线点集。对历史左右车道线点集进行位姿更新,得到在当前车身坐标系下的更新后的历史左右车道线点集。基于当前左右车道线点集和更新后的历史左右车道线点集,确定第一左右车道线点集。基于第一左右车道线点集,确定当前时刻对应的目标车道中心线。该方式保留了历史时刻的车道线离散点,可以充分利用历史检测结果的先验知识,对当前时刻的车道线进行校正,进而提高车道中心线的准确度和稳定性。

权利要求 :

1.一种车道中心线的确定方法,其特征在于,所述方法包括:获取当前时刻采集的在当前车身坐标系下,自车道的当前左车道线点集和当前右车道线点集,以及在历史时刻采集的在前一时刻车身坐标系下,所述自车道的历史左车道线点集和历史右车道线点集;

对所述历史左车道线点集和所述历史右车道线点集进行位姿更新,得到在所述当前车身坐标系下的更新后的所述历史左车道线点集和更新后的历史右车道线点集;

基于所述当前左车道线点集和更新后的所述历史左车道线点集,确定第一左车道线点集;

基于所述当前右车道线点集和更新后的所述历史右车道线点集,确定第一右车道线点集;

基于所述第一左车道线点集和所述第一右车道线点集,确定所述当前时刻对应的目标车道中心线;

所述基于所述第一左车道线点集和所述第一右车道线点集,确定所述当前时刻对应的目标车道中心线的步骤包括:对所述第一左车道线点集进行拟合处理,得到第一左车道线信息;

对所述第一右车道线点集进行拟合处理,得到第一右车道线信息;

按第二预设步长,分别对所述第一左车道线信息和所述第一右车道线信息进行离散处理,得到所述第一左车道线信息对应的第二左车道线点集,以及所述第一右车道线信息对应的第二右车道线点集;

基于所述第二左车道线点集和所述第二右车道线点集,确定车道中心线点集;

基于所述车道中心线点集,确定所述当前时刻对应的所述目标车道中心线;

所述基于所述车道中心线点集,确定所述当前时刻对应的所述目标车道中心线的步骤包括:对所述车道中心线点集进行拟合处理,得到初始车道中心线;

获取所述前一时刻对应的车道中心线信息;

基于所述前一时刻对应的车道中心线信息,采用中值滤波的方式,对所述初始车道中心线进行平滑处理,得到所述当前时刻对应的所述目标车道中心线。

2.根据权利要求1所述的方法,其特征在于,所述获取当前时刻采集的在当前车身坐标系下,自车道的当前左车道线点集和当前右车道线点集的步骤包括:获取当前时刻采集的在所述当前车身坐标系下,所述自车道的当前左车道线信息和当前右车道线信息;

按第一预设步长,分别对所述当前左车道线信息和所述当前右车道线信息进行离散处理,得到所述当前左车道线信息对应的当前左车道线点集,以及所述当前右车道线信息对应的当前右车道线点集。

3.根据权利要求1所述的方法,其特征在于,对所述历史左车道线点集和所述历史右车道线点集进行位姿更新,得到在所述当前车身坐标系下的更新后的所述历史左车道线点集和更新后的历史右车道线点集的步骤包括:获取自车在所述前一时刻的自车车速,以及所述自车的前轮转角;

计算所述当前时刻与所述前一时刻之间的时间间隔;

针对所述历史左车道线点集以及历史右车道线点集中的每个离散点,根据所述自车车速、所述前轮转角、所述时间间隔,以及所述离散点在所述前一时刻车身坐标系下的坐标值,确定所述离散点在所述当前车身坐标系下的更新后的坐标值;

根据所述历史左车道线点集中,每个离散点对应的更新后的坐标值,确定更新后的所述历史左车道线点集;

根据所述历史右车道线点集中,每个离散点对应的更新后的坐标值,确定更新后的所述历史右车道线点集。

4.根据权利要求1所述的方法,其特征在于,所述基于所述当前左车道线点集和更新后的所述历史左车道线点集,确定第一左车道线点集的步骤包括:根据所述自车的车头位置,对更新后的所述历史左车道线点集进行过滤,得到过滤后的历史左车道线点集;

对所述当前左车道线点集和过滤后的历史左车道线点集进行合并,得到所述第一左车道线点集。

5.根据权利要求1所述的方法,其特征在于,所述基于所述当前右车道线点集和更新后的所述历史右车道线点集,确定第一右车道线点集的步骤包括:根据所述自车的车头位置,对更新后的所述历史右车道线点集进行过滤,得到过滤后的历史右车道线点集;

对所述当前右车道线点集和过滤后的历史右车道线点集进行合并,得到所述第一右车道线点集。

6.一种车道中心线的确定装置,其特征在于,所述装置包括:获取模块,用于获取当前时刻采集的在当前车身坐标系下,自车道的当前左车道线点集和当前右车道线点集,以及在历史时刻采集的在前一时刻车身坐标系下,所述自车道的历史左车道线点集和历史右车道线点集;

更新模块,用于对所述历史左车道线点集和所述历史右车道线点集进行位姿更新,得到在所述当前车身坐标系下的更新后的所述历史左车道线点集和更新后的历史右车道线点集;

第一确定模块,用于基于所述当前左车道线点集和更新后的所述历史左车道线点集,确定第一左车道线点集;

第二确定模块,用于基于所述当前右车道线点集和更新后的所述历史右车道线点集,确定第一右车道线点集;

第三确定模块,用于基于所述第一左车道线点集和所述第一右车道线点集,确定所述当前时刻对应的目标车道中心线;

所述第三确定模块还用于:

对所述第一左车道线点集进行拟合处理,得到第一左车道线信息;

对所述第一右车道线点集进行拟合处理,得到第一右车道线信息;

按第二预设步长,分别对所述第一左车道线信息和所述第一右车道线信息进行离散处理,得到所述第一左车道线信息对应的第二左车道线点集,以及所述第一右车道线信息对应的第二右车道线点集;

基于所述第二左车道线点集和所述第二右车道线点集,确定车道中心线点集;

基于所述车道中心线点集,确定所述当前时刻对应的所述目标车道中心线;

所述第三确定模块还用于:

对所述车道中心线点集进行拟合处理,得到初始车道中心线;

获取所述前一时刻对应的车道中心线信息;

基于所述前一时刻对应的车道中心线信息,采用中值滤波的方式,对所述初始车道中心线进行平滑处理,得到所述当前时刻对应的所述目标车道中心线。

7.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1‑5任一项所述的车道中心线的确定方法。

8.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1‑5任一项所述的车道中心线的确定方法。

说明书 :

车道中心线的确定方法、装置和电子设备

技术领域

[0001] 本发明涉及自动驾驶技术领域,尤其是涉及一种车道中心线的确定方法、装置和电子设备。

背景技术

[0002] 在辅助驾驶感知系统中,核心功能AEB(Autonomous Emergency Braking,自动紧急制动)、FCW(Forward Collision Warning,前方碰撞预警)以及ACC(Adaptive Cruise Control,自我调整巡航控制)的第一筛选都是基于自车所在车道的车道中心线进行计算的。因此,车道中心线的准确性、稳定性直接影响到自车感兴趣第一的筛选,进而影响辅助驾驶功能的准确执行。
[0003] 车道中心线通常根据两侧车道线对应坐标点的中位数得到,而两侧车道线在实际相机传感器很难做到完全准确的检测,导致计算得到的车道中心线偏斜以及不稳定地跳动。相关技术中,为了提高对车道线检测的准确度,可以在相机检测端提升图像识别能力以提高车道线检测能力,或者通过滤波的方式增加车道线的稳定性,或者通过筛选过滤的方法对奇异的车道线进行处理,然而这些方式对车道线检测的准确度提升有限,从而难以保证车道中心线的准确度和稳定性。

发明内容

[0004] 本发明的目的在于提供一种车道中心线的确定方法、装置和电子设备,以提高车道中心线的准确度和稳定性。
[0005] 本发明提供的一种车道中心线的确定方法,方法包括:获取当前时刻采集的在当前车身坐标系下,自车道的当前左车道线点集和当前右车道线点集,以及在历史时刻采集的在前一时刻车身坐标系下,自车道的历史左车道线点集和历史右车道线点集;
[0006] 对历史左车道线点集和历史右车道线点集进行位姿更新,得到在当前车身坐标系下的更新后的历史左车道线点集和更新后的历史右车道线点集;基于当前左车道线点集和更新后的历史左车道线点集,确定第一左车道线点集;基于当前右车道线点集和更新后的历史右车道线点集,确定第一右车道线点集;基于第一左车道线点集和第一右车道线点集,确定当前时刻对应的目标车道中心线。
[0007] 进一步的,获取当前时刻采集的在当前车身坐标系下,自车道的当前左车道线点集和当前右车道线点集的步骤包括:获取当前时刻采集的在当前车身坐标系下,自车道的当前左车道线信息和当前右车道线信息;按第一预设步长,分别对当前左车道线信息和当前右车道线信息进行离散处理,得到当前左车道线信息对应的当前左车道线点集,以及当前右车道线信息对应的当前右车道线点集。
[0008] 进一步的,对历史左车道线点集和历史右车道线点集进行位姿更新,得到在当前车身坐标系下的更新后的历史左车道线点集和更新后的历史右车道线点集的步骤包括:获取自车在前一时刻的自车车速,以及自车的前轮转角;计算当前时刻与前一时刻之间的时间间隔;针对历史左车道线点集以及历史右车道线点集中的每个离散点,根据自车车速、前轮转角、时间间隔,以及离散点在前一时刻车身坐标系下的坐标值,确定离散点在当前车身坐标系下的更新后的坐标值;根据历史左车道线点集中,每个离散点对应的更新后的坐标值,确定更新后的历史左车道线点集;根据历史右车道线点集中,每个离散点对应的更新后的坐标值,确定更新后的历史右车道线点集。
[0009] 进一步的,基于当前左车道线点集和更新后的历史左车道线点集,确定第一左车道线点集的步骤包括:根据自车的车头位置,对更新后的历史左车道线点集进行过滤,得到过滤后的历史左车道线点集;对当前左车道线点集和过滤后的历史左车道线点集进行合并,得到第一左车道线点集。
[0010] 进一步的,基于当前右车道线点集和更新后的历史右车道线点集,确定第一右车道线点集的步骤包括:根据自车的车头位置,对更新后的历史右车道线点集进行过滤,得到过滤后的历史右车道线点集;对当前右车道线点集和过滤后的历史右车道线点集进行合并,得到第一右车道线点集。
[0011] 进一步的,基于第一左车道线点集和第一右车道线点集,确定当前时刻对应的目标车道中心线的步骤包括:对第一左车道线点集进行拟合处理,得到第一左车道线信息;对第一右车道线点集进行拟合处理,得到第一右车道线信息;按第二预设步长,分别对第一左车道线信息和第一右车道线信息进行离散处理,得到第一左车道线信息对应的第二左车道线点集,以及第一右车道线信息对应的第二右车道线点集;基于第二左车道线点集和第二右车道线点集,确定车道中心线点集;基于车道中心线点集,确定当前时刻对应的目标车道中心线。
[0012] 进一步的,基于车道中心线点集,确定当前时刻对应的目标车道中心线的步骤包括:对车道中心线点集进行拟合处理,得到初始车道中心线;获取前一时刻对应的车道中心线信息;基于前一时刻对应的车道中心线信息,对初始车道中心线进行平滑处理,得到当前时刻对应的目标车道中心线。
[0013] 本发明提供的一种车道中心线的确定装置,装置包括:获取模块,用于获取当前时刻采集的在当前车身坐标系下,自车道的当前左车道线点集和当前右车道线点集,以及在历史时刻采集的在前一时刻车身坐标系下,自车道的历史左车道线点集和历史右车道线点集;更新模块,用于对历史左车道线点集和历史右车道线点集进行位姿更新,得到在当前车身坐标系下的更新后的历史左车道线点集和更新后的历史右车道线点集;第一确定模块,用于基于当前左车道线点集和更新后的历史左车道线点集,确定第一左车道线点集;第二确定模块,用于基于当前右车道线点集和更新后的历史右车道线点集,确定第一右车道线点集;第三确定模块,用于基于第一左车道线点集和第一右车道线点集,确定当前时刻对应的目标车道中心线。
[0014] 本发明提供的一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述任一项的车道中心线的确定方法。
[0015] 本发明提供的一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述任一项的车道中心线的确定方法。
[0016] 本发明提供的车道中心线的确定方法、装置和电子设备,首先获取当前时刻采集的在当前车身坐标系下,自车道的当前左车道线点集和当前右车道线点集,以及在历史时刻采集的在前一时刻车身坐标系下,自车道的历史左车道线点集和历史右车道线点集。对历史左车道线点集和历史右车道线点集进行位姿更新,得到在当前车身坐标系下的更新后的历史左车道线点集和更新后的历史右车道线点集。基于当前左车道线点集和更新后的历史左车道线点集,确定第一左车道线点集。基于当前右车道线点集和更新后的历史右车道线点集,确定第一右车道线点集。基于第一左车道线点集和第一右车道线点集,确定当前时刻对应的目标车道中心线。该方式保留了历史时刻的车道线离散点,可以充分利用历史检测结果的先验知识,对当前时刻的车道线进行校正,进而提高车道中心线的准确度和稳定性。

附图说明

[0017] 为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018] 图1为本发明实施例提供的一种车道中心线的确定方法的流程图;
[0019] 图2为本发明实施例提供的另一种车道中心线的确定方法的流程图;
[0020] 图3为本发明实施例提供的一种左右车道线离散点集更新模块的处理流程示意图;
[0021] 图4为本发明实施例提供的一种车道线坐标系变化示意图;
[0022] 图5为本发明实施例提供的一种车道中心线拟合模块的处理流程示意图;
[0023] 图6为本发明实施例提供的一种车道中心线后处理模块的处理流程示意图;
[0024] 图7为本发明实施例提供的一种车道中心线的确定装置的结构示意图;
[0025] 图8为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

[0026] 下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027] 车道中心线即自车所在车道的中心线,通常根据两侧车道线对应坐标点的中位数得到,目前计算的参数主要是车道中心线的曲线方程。当两侧车道线数据准确稳定时,车道中心线自然也是满足功能需求,而当前车道中心线计算所面临的问题正是两侧车道线在实际相机传感器很难做到完全准确的检测导致的车道中心线的偏斜以及不稳定地跳动。
[0028] 上述车道线检测的问题会进一步导致车道中心线的不准确,目前针对这些问题的处理方法主要分为三类:①在相机检测端提升图像识别能力以提高车道线检测能力;②通过滤波的方式增加车道线的稳定性;③通过筛选过滤的方法对奇异的车道线目标进行处理,增加准确性。在图像检测端的提升并不具备很强的泛化能力,更改了传感器,方法就不具备通用性。通过卡尔曼滤波或其他滤波器对车道中心线的稳定性有一定的改善,但是效果并不明显,对于长时间车道线信息的不准确,这类方法对车道中心线的计算并没有太多的改善。而对车道线进行奇异性连续性进行过滤筛选,泛化性不强,无法处理很多极端路况。
[0029] 车道中心线计算不准确主要体现在两个方面:①车道线本身不清晰或者受光照或天气影响导致或者受前方车辆等遮挡导致的模糊不清,无法识别,这种情况下左右两条车道线有可能只有一条被检测到,甚至两条都无法被检测,即使检测出来也是不符合实际情况的;②受减速标线、导流线或者匝道汇入汇出等路况或者自车行驶异常(低速或者自车转向下视觉检测效果大大降低)下车道线检测结果与实际车道线有一定的差距,具体表现在两车道线集体偏斜、分叉或者内凹等等,造成了车道中心线朝向角和曲率都不准确。
[0030] 针对上述问题,仅仅是传统的基于滤波器的车道线跟踪算法,对于车道线突变有一定的抑制和平滑的作用,但是不能绝对改善车道线的准确性,非常依赖前一时刻车道线的状态;基于车道线平行性连续性奇异性过滤算法,则对阈值的选择有着很强的依赖,泛化能力不强,同时很难解决两条车道线都无法检测或者均检测异常的场景,例如两条车道线都异常或者车道线渐变式异常的情形;而图像处理进行车道线提取则依赖相机硬件,更换相机或者其他传感器,方法就不适用了。综上,相关技术中的处理方式对车道线检测的准确度提升有限,从而难以保证车道中心线的准确度和稳定性。基于此,本发明实施例提供了一种车道中心线的确定方法、装置和电子设备,该技术可以应用于自动驾驶中,需要确定车道中心线的应用中。
[0031] 为便于对本实施例进行理解,首先对本发明实施例所公开的一种车道中心线的确定方法进行详细介绍;如图1所示,该方法包括如下步骤:
[0032] 步骤S102,获取当前时刻采集的在当前车身坐标系下,自车道的当前左车道线点集和当前右车道线点集,以及在历史时刻采集的在前一时刻车身坐标系下,自车道的历史左车道线点集和历史右车道线点集。
[0033] 上述当前车身坐标系通常是以当前时刻的车头位置的中心作为原点建立的坐标系;上述前一时刻车身坐标系通常是以前一时刻的车头位置的中心作为原点建立的坐标
系;上述当前左车道线点集和当前右车道线点集可以理解为,在当前时刻,通过传感器采集的车道线图像中,左车道线对应的多个离散点的集合,以及右车道线对应的多个离散点的集合;上述历史左车道线点集和历史右车道线点集可以理解为,在每个历史时刻,通过传感器采集的车道线图像中,左车道线对应的多个离散点的集合,以及右车道线对应的多个离散点的集合,并且,按照一定的递推关系,每个历史时刻采集的左车道线点集和右车道线点集中的有效离散点集都被转换到了前一时刻车身坐标系下。在实际实现时,当需要确定准确的车道中心线时,需要先获取当前时刻在当前车身坐标系下左右车道线点集,以及之前所有时刻在前一时刻车身坐标系下的左右车道线离散点集。
[0034] 步骤S104,对历史左车道线点集和历史右车道线点集进行位姿更新,得到在当前车身坐标系下的更新后的历史左车道线点集和更新后的历史右车道线点集。
[0035] 在实际实现时,由于每个时刻,传感器输出的车道线都是基于该时刻车头位置所在的坐标系下的曲线方程,因此,需要及时地对车道线根据位姿进行更新,具体的,需要将历史左车道线点集和历史右车道线点集内各个离散点在前一时刻车身坐标系下的坐标值,转换为在当前车身坐标系下的坐标值,从而得到更新后的历史左车道线点集和更新后的历史右车道线点集。
[0036] 步骤S106,基于当前左车道线点集和更新后的历史左车道线点集,确定第一左车道线点集。
[0037] 当确定上述更新后的历史左车道线点集后,可以根据上述当前左车道线点集,确定第一左车道线点集,比如,为了减少无效离散点的数量,降低计算量,可以对更新后的历史左车道线点集进行过滤,再将过滤后的历史左车道线点集与当前左车道线点集进行合并,得到上述第一左车道线点集。
[0038] 步骤S108,基于当前右车道线点集和更新后的历史右车道线点集,确定第一右车道线点集。
[0039] 当确定上述更新后的历史右车道线点集后,可以根据上述当前右车道线点集,确定第一右车道线点集,比如,为了减少无效离散点的数量,降低计算量,可以对更新后的历史右车道线点集进行过滤,再将过滤后的历史右车道线点集与当前右车道线点集进行合并,得到上述第一右车道线点集。
[0040] 步骤S110,基于第一左车道线点集和第一右车道线点集,确定当前时刻对应的目标车道中心线。
[0041] 在确定上述第一左车道线点集和第二右车道线点集后,就可以进一步确定当前时刻对应的目标车道中心线,比如,可以将上述第一左车道线点集重新拟合成新的左车道线,将上述第一右车道线点集重新拟合成新的右车道线,在根据新的左车道线和新的右车道线计算出上述目标车道中心线。
[0042] 上述车道中心线的确定方法,首先获取当前时刻采集的在当前车身坐标系下,自车道的当前左车道线点集和当前右车道线点集,以及在历史时刻采集的在前一时刻车身坐标系下,自车道的历史左车道线点集和历史右车道线点集。对历史左车道线点集和历史右车道线点集进行位姿更新,得到在当前车身坐标系下的更新后的历史左车道线点集和更新后的历史右车道线点集。基于当前左车道线点集和更新后的历史左车道线点集,确定第一左车道线点集。基于当前右车道线点集和更新后的历史右车道线点集,确定第一右车道线点集。基于第一左车道线点集和第一右车道线点集,确定当前时刻对应的目标车道中心线。该方式保留了历史时刻的车道线离散点,可以充分利用历史检测结果的先验知识,对当前时刻的车道线进行校正,进而提高车道中心线的准确度和稳定性。
[0043] 本发明实施例还提供了另一种车道中心线的确定方法,该方法在上述实施例方法的基础上实现;该方法包括如下步骤:
[0044] 步骤一,获取当前时刻采集的在当前车身坐标系下,自车道的当前左车道线信息和当前右车道线信息。
[0045] 上述当前左车道线信息可以以当前左车道线方程表示,上述当前右车道线信息可以以当前右车道线方程表示;在实际实现时,当需要确定车道中心线时,可以先获取传感器输出的当前时刻的车道线信息,该车道线信息可以以车道线方程表示,车道线方程一般是三次曲线方程,如下式:
[0046] y=f(x)=A0+A1x+A2x2+A3x3;
[0047] 其中,A0、A1、A2和A3为曲线方程的系数;上述当前左车道线信息和上述当前右车道线信息通常都可以以上述三次曲线方程的形式表示,只是系数可能有差异。
[0048] 步骤二,按第一预设步长,分别对当前左车道线信息和当前右车道线信息进行离散处理,得到当前左车道线信息对应的当前左车道线点集,以及当前右车道线信息对应的当前右车道线点集。
[0049] 上述第一预设步长可以根据实际需求进行设置,在实际实现时,可以按照第一预设步长,对传感器输出的车道线方程进行离散处理,得到一系列点集;具体的,可以按照传感器识别的车道线沿纵向起点xstart和终点xend,在此区间内将纵向坐标x按照一定的步长step(1 对应上述第一预设步长),离散出一系列点(xstart,f(xstart)),(xstart+step1,f(xstart+step1)),……,(xstart+i*step1,f(xstart+ i*step1)),……, (xend,f(xend)),形成点集。
[0050] 采用上述方法,将当前时刻t车道左右车道线在当前时刻t坐标系 下方程离散成两个点集Sleft|T(t),C(t)和Sright|T(t),C(t),分别对应上述当前左车道线点集和上述当前右车道线点集。
[0051] 步骤三,获取在历史时刻采集的在前一时刻车身坐标系下,自车道的历史左车道线点集和历史右车道线点集。
[0052] 步骤四,获取自车在前一时刻的自车车速,以及自车的前轮转角。
[0053] 上述前一时刻的自车车速和前轮转角可以从自车的底盘信息确定,位姿更新的输入主要是底盘信息,假设在视觉传感器更新的周期内车身姿态保持不变(周期一般都是几十毫秒),即车身按照上一时刻的朝向和车速运动一个传感器周期。根据车辆动力学,前驱车辆运动的朝向一般是按照前轮转角进行运动,因此,离散点集位姿的更新主要是根据前轮转角和车速进行计算。
[0054] 步骤五,计算当前时刻与前一时刻之间的时间间隔。
[0055] 假设当前时刻t的时间为T(t),前一时刻t‑1的时间为T(t‑1),则两者之间的时间间隔为△T= T(t)‑ T(t‑1),该时间间隔即为传感器周期。
[0056] 步骤六,针对历史左车道线点集以及历史右车道线点集中的每个离散点,根据自车车速、前轮转角、时间间隔,以及离散点在前一时刻车身坐标系下的坐标值,确定离散点在当前车身坐标系下的更新后的坐标值。
[0057] 步骤七,根据历史左车道线点集中,每个离散点对应的更新后的坐标值,确定更新后的历史左车道线点集。
[0058] 步骤八,根据历史右车道线点集中,每个离散点对应的更新后的坐标值,确定更新后的历史右车道线点集。
[0059] 位姿更新主要分为离散点的平移和旋转,其中,平移是两时刻车身位置的变化即根据自车车速行驶在x方向和y方向的位移,如下式:
[0060] ;
[0061] 式中,x|T(t)和x|T(t‑1)是t时刻和t‑1时刻离散点的x坐标,y|T(t)和y|T(t‑1)是t时刻和t‑1时刻离散点的y坐标;t时刻的时间是T(t),t‑1时刻的时间是T(t‑1),两者之间的时间间隔即是传感器周期△T= T(t)‑ T(t‑1);Vcar是自车底盘输入的自车车速,即t‑1时刻的车速,αwheel是前轮转角,通过前轮转角将车速分解到沿x方向和y方向,从而计算两个方向对应的位移。
[0062] 旋转是将坐标系上的点按照前轮转角的角度大小旋转,如下式:
[0063] ;
[0064] 位姿更新即将平移旋转两者相加,更新前后离散点坐标变化即如下所式:
[0065] ;
[0066] 将上一时刻t‑1所有有效左右车道线在上一时刻t‑1坐标系C(t‑1)下的点集Sleft|T(t‑1),C(t‑1)和Sright|T(t‑1),C(t‑1),按照上述方法更新到当前时刻坐标系C(t)下,即点集更新为Sleft|T(t‑1),C(t)和Sright|T(t‑1),C(t),分别对应上述更新后的历史左车道线点集,以及更新后的历史右车道线点集。
[0067] 步骤九,根据自车的车头位置,对更新后的历史左车道线点集进行过滤,得到过滤后的历史左车道线点集。
[0068] 步骤十,对当前左车道线点集和过滤后的历史左车道线点集进行合并,得到第一左车道线点集。
[0069] 步骤十一,根据自车的车头位置,对更新后的历史右车道线点集进行过滤,得到过滤后的历史右车道线点集。
[0070] 步骤十二,对当前右车道线点集和过滤后的历史右车道线点集进行合并,得到第一右车道线点集。
[0071] 经过位姿更新后的历史左车道线点集和历史右车道线点集中,有很多离散点的位置都小于车头所在位置,这些点根据实际情况是不可见的,同时为了降低计算量,需要将这些离散点过滤删除,比如,如果车头位置为当前车身坐标系的原点,即车头位置的x值为0,可以将历史左车道线点集和历史右车道线点集中,x值小于0的离散点删除,得到轻量化Sleft|T(t‑1),C(t)和轻量化Sright|T(t‑1),C(t),分别对应上述过滤后的历史左车道线点集和上述过滤后的历史右车道线点集。
[0072] 对上述当前左车道线点集Sleft|T(t),C(t)和过滤后的历史左车道线点集Sleft|T(t‑1),C(t)进行合并,得到上述第一左车道线点集,即Sleft|T(t)=Sleft|T(t),C(t)∪Sleft|T(t‑1),C(t);对上述当前右车道线点集Sright|T(t),C(t)和过滤后的历史右车道线点集Sright|T(t‑1),C(t)进行合并,得到上述第一右车道线点集,即Sright|T(t)=Sright|T(t),C(t)∪Sright|T(t‑1),C(t)。
[0073] 步骤十三,对第一左车道线点集进行拟合处理,得到第一左车道线信息。
[0074] 步骤十四,对第一右车道线点集进行拟合处理,得到第一右车道线信息。
[0075] 车道线拟合即将一系列离散点拟合成一条三次曲线,对于一个离散点集2 3
,将其拟合成y=A0+A1x+A2x +A3x 的形式,可以采用最
小二乘拟合法,如下式:
[0076] ;
[0077] 计算出左右两侧车道线方程的参数A0、A1、A2和A3。
[0078] 可以根据上述第一左车道线点集和上述第一右车道线点集Sleft|T(t),和Sright|T(t),2
按上述方式分别计算得到第一左车道线信息对应的方程y|left=A0|left+A1|leftx+A2|leftx +A3
3 2 3
|leftx ,以及第一右车道线信息对应的方程y|right=A0|right+A1|rightx+A2|rightx +A3|rightx ,同时获取第一左车道线信息的终点xend|left和第一右车道线信息的终点xend|right。
[0079] 步骤十五,按第二预设步长,分别对第一左车道线信息和第一右车道线信息进行离散处理,得到第一左车道线信息对应的第二左车道线点集,以及第一右车道线信息对应的第二右车道线点集。
[0080] 上述第二预设步长也可以根据实际需求进行设置;在实际实现时,可以对上述得到的第一左车道线信息对应的方程y|left=fleft(x)以步长step(2 对应上述第二预设步长)进行离散处理,得到第二左车道线点集;对上述得到的第一右车道线信息对应的方程y|right=fright(x)以步长step2进行离散处理,得到第二右车道线点集。
[0081] 步骤十六,基于第二左车道线点集和第二右车道线点集,确定车道中心线点集。
[0082] 在实际实现时,当得到上述第二左车道线点集和第二右车道线点集后,可以计算每个步长对应的两个点的中点,得到一系列车道中心线离散点集,即Smiddle|T(t)={(0,(fleft(0)+fright(0))/2),(step2,(fleft(step2)+fright(step2))/2),...,(i*step1,(fleft(i*step1)+fright(i*step1))/2),...,(xend|middle,(fleft(xend|middle)+fright(xend|middle))/2)};其中,xend|middle取左右车道线的终点xend|left和xend|right中的最大值。
[0083] 步骤十七,基于车道中心线点集,确定当前时刻对应的目标车道中心线。
[0084] 该步骤十七具体可以通过以下步骤A至步骤C实现:
[0085] 步骤A,对车道中心线点集进行拟合处理,得到初始车道中心线。
[0086] 参照前述曲线拟合方法,根据车道中心线离散点集Smiddle|T(t)中的每个离散点进行拟合处理,计算当前时刻车道中心线方程y|middle=A0|middle,T(t)+A1|middle,T(t)x+A2|middle,T(t)2 3
x +A3|middle,T(t)x ,即上述初始车道中心线。
[0087] 步骤B,获取前一时刻对应的车道中心线信息。
[0088] 步骤C,基于前一时刻对应的车道中心线信息,对初始车道中心线进行平滑处理,得到当前时刻对应的目标车道中心线。
[0089] 在得到上述初始车道中心线后,通常会对该初始车道中心线进行平滑滤波处理,由于在前述历史车道线点集中的离散点更新已经利用了大量的过去时刻的信息,所以针对初始车道中心线的平滑滤波不需要再采用计算耗时比较大的卡尔曼滤波器,可以采用一般的中值滤波即可,取前一时刻T(t‑1)和当前时刻T(t)车道中心线参数的平均值对上述初始车道中心线的方程系数进行更新,即:
[0090] A0|middle=(A0|middle,T(t‑1)+ A0|middle,T(t))/2;
[0091] A1|middle=(A1|middle,T(t‑1)+ A1|middle,T(t))/2;
[0092] A2|middle=(A2|middle,T(t‑1)+ A2|middle,T(t))/2;
[0093] A3|middle=(A3|middle,T(t‑1)+ A3|middle,T(t))/2;
[0094] 因此,最终的目标车道中心线对应的方程为y|middle=A0|middle+A1|middlex+A2|middlex23
+A3|middlex 。
[0095] 上述车道中心线的确定方法,通过将当前时刻左右车道线离散化,并与之前时刻的离散点进行融合,再重新拟合成两条新的车道线继而计算车道中心线,充分利用之前可见时刻的车道线检测信息,即使当前一段时间车道线不可见或检测不准确也可以通过先验信息进行校准,大大提高了车道中心线的准确度和稳定性。
[0096] 为进一步理解上述实施例,下面提供如图2所示的另一种车道中心线的确定方法的流程图,该方案是基于之前所有时刻有效车道线离散点集的先验知识重新拟合左右车道线进而计算车道中心线,如图2所示,首先根据车身底盘信息对之前时刻的左右车道线离散点集进行位姿更新,结合当前时刻车道线测量数据,通过左右车道线离散点集更新模块,得到左车道线离散点集和右车道线离散点集,然后通过车道中心线拟合模块,得到拟合的车道中心线,最后通过车道中心线后处理模块对拟合的车道中心线进行后处理,得到平滑的车道中心线。
[0097] 由图2可知,该方案主要包括三个模块,分别为左右车道线离散点集更新模块、车道中心线拟合模块以及车道中心线后处理模块,下面对三个模块的具体处理过程分别进行介绍。
[0098] 参见图3所示的一种左右车道线离散点集更新模块的处理流程示意图,该模块主要分为两个部分,分别为:当前时刻在当前车身坐标系下左右车道线离散,以及之前所有时刻在上一时刻车身坐标系下的左右车道线离散点更新。前者是对当前图像检测数据的收
集,后者车道线先验知识的更新,最后将二者融合,具体处理流程如下:通过车道线离散模块对获取到的当前时刻车道线测量数据进行离散处理,得到当前时刻车身坐标系下当前时刻左车道线离散点集,以及当前时刻车身坐标系下当前时刻右车道线离散点集。获取车身底盘信息以及上一时刻车身坐标系下过去时刻所有车道线离散点集,通过车道线离散点集坐标更新模块对过去时刻所有车道线离散点集中的每个离散点的坐标进行更新,得到当前时刻车身坐标系下过去时刻所有车道线离散点集。最后对当前时刻车身坐标系下当前时刻左车道线离散点集、当前时刻车身坐标系下当前时刻右车道线离散点集,以及当前时刻车身坐标系下过去时刻所有车道线离散点集进行点集合并处理,得到当前时刻车身坐标系下所有左车道线离散点集,以及当前时刻车身坐标系下所有右车道线离散点集。
[0099] 参见图4所示的一种车道线坐标系变化示意图,在对之前左右车道线离散点更新时,由于每个时刻的传感器输出的车道线都是基于该时刻车头位置所在的坐标系下的曲线方程,因此,需要及时对车道线根据位姿进行更新。具体的,对离散点的更新即是将左右车道线离散点集内点的坐标从上一时刻t‑1的车身坐标系转换到当前时刻t所在的车身坐标系上。根据这种递推关系,之前所有时刻的车道线有效离散点集都保留了下来,经过与当前时刻车身坐标系下当前时刻车道线离散点集的融合,可以保证车道线的准确性和稳定性。
[0100] 参见图5所示的一种车道中心线拟合模块的处理流程示意图,车道中心线拟合是先将更新后的左右车道线离散点集Sleft|T(t)和Sright|T(t)先重新拟合成新的左右车道线,再基于新的左右车道线计算车道中心线。具体的,通过车道线拟合模块对上述得到的当前时刻车身坐标系下所有左车道线离散点集进行曲线拟合,得到当前车道左车道线,通过车道线拟合模块对上述得到的当前时刻车身坐标系下所有右车道线离散点集进行曲线拟合,得到当前车道右车道线,然后通过车道中心线提取模块,对当前车道左车道线和当前车道右车道线分别按一定的步长重新离散成一系列点,然后计算每个步长对应的两个点的中点,得到一系列车道中心线离散点集,然后对车道中心线离散点集进行曲线拟合,得到拟合的车道中心线。
[0101] 参见图6所示的一种车道中心线后处理模块的处理流程示意图,在得到拟合的车道中心线后,通常可以通过车道中心线滤波模块对该拟合的车道中心线进行平滑处理,得到平滑的车道中心线。
[0102] 上述车道中心线的确定方法,将车道线离散成点,将历史时刻的车道线离散点保留,充分利用了之前检测结果的先验知识;将历史时刻的离散点集与当前时刻车道线点的融合,再重新拟合车道线,可以保证对当前时刻不准确车道线的校正,使左右车道线更准确稳定;该方式基于之前准确的先验知识,可以大大提高车道中心线的稳定性和准确性。另外,左右车道线离散化计算车道中心线,保证了即使左右车道线都不准确的情况下,对车道中心线的结果的影响做到最低。
[0103] 相对于相关技术中利用图像端优化检测效果来提取车道中心线的方式,本方案通用性更强,适用于所有相机传感器输出的车道线数据,不依赖硬件。另外,相关技术中,针对一般的传统卡尔曼滤波器处理计算车道中心线的方法,首先,滤波器参数需要经常调整很难泛化,其次针对连续多个周期车道线不准确该方法也难以处理。而本发明不需要调参,其次大量的车道线历史离散点的保留保证了能在长时间车道线不准确的情况下,车道中心线能准确输出。另外,对比相关技术中,根据左右车道线最优的车道线计算车道中心线的方法,本发明能够处理两侧车道线均不正确的场景,同时针对左右车道线内凹外扩的情形可以保证车道中心线不受影响。综上,本方案针对左右车道线方程作为输入的情况下能够使车道中心线更准确、更稳定,方法更通用更方便。
[0104] 经实际验证,本方案针对城市道路,在周围环境很多车辆遮挡车道线的情况下,能保证车道中心线稳定准确。在高速公路进出匝道也能保持很好的效果。
[0105] 本发明实施例提供了一种车道中心线的确定装置,如图7所示,装置包括:获取模块70,用于获取当前时刻采集的在当前车身坐标系下,自车道的当前左车道线点集和当前右车道线点集,以及在历史时刻采集的在前一时刻车身坐标系下,自车道的历史左车道线点集和历史右车道线点集;更新模块71,用于对历史左车道线点集和历史右车道线点集进行位姿更新,得到在当前车身坐标系下的更新后的历史左车道线点集和更新后的历史右车道线点集;第一确定模块72,用于基于当前左车道线点集和更新后的历史左车道线点集,确定第一左车道线点集;第二确定模块73,用于基于当前右车道线点集和更新后的历史右车道线点集,确定第一右车道线点集;第三确定模块74,用于基于第一左车道线点集和第一右车道线点集,确定当前时刻对应的目标车道中心线。
[0106] 上述车道中心线的确定装置,首先获取当前时刻采集的在当前车身坐标系下,自车道的当前左车道线点集和当前右车道线点集,以及在历史时刻采集的在前一时刻车身坐标系下,自车道的历史左车道线点集和历史右车道线点集。对历史左车道线点集和历史右车道线点集进行位姿更新,得到在当前车身坐标系下的更新后的历史左车道线点集和更新后的历史右车道线点集。基于当前左车道线点集和更新后的历史左车道线点集,确定第一左车道线点集。基于当前右车道线点集和更新后的历史右车道线点集,确定第一右车道线点集。基于第一左车道线点集和第一右车道线点集,确定当前时刻对应的目标车道中心线。该装置保留了历史时刻的车道线离散点,可以充分利用历史检测结果的先验知识,对当前时刻的车道线进行校正,进而提高车道中心线的准确度和稳定性。
[0107] 进一步的,获取模块70还用于:获取当前时刻采集的在当前车身坐标系下,自车道的当前左车道线信息和当前右车道线信息;按第一预设步长,分别对当前左车道线信息和当前右车道线信息进行离散处理,得到当前左车道线信息对应的当前左车道线点集,以及当前右车道线信息对应的当前右车道线点集。
[0108] 进一步的,更新模块71还用于:获取自车在前一时刻的自车车速,以及自车的前轮转角;计算当前时刻与前一时刻之间的时间间隔;针对历史左车道线点集以及历史右车道线点集中的每个离散点,根据自车车速、前轮转角、时间间隔,以及离散点在前一时刻车身坐标系下的坐标值,确定离散点在当前车身坐标系下的更新后的坐标值;根据历史左车道线点集中,每个离散点对应的更新后的坐标值,确定更新后的历史左车道线点集;根据历史右车道线点集中,每个离散点对应的更新后的坐标值,确定更新后的历史右车道线点集。
[0109] 进一步的,第一确定模块72还用于:根据自车的车头位置,对更新后的历史左车道线点集进行过滤,得到过滤后的历史左车道线点集;对当前左车道线点集和过滤后的历史左车道线点集进行合并,得到第一左车道线点集。
[0110] 进一步的,第二确定模块73还用于:根据自车的车头位置,对更新后的历史右车道线点集进行过滤,得到过滤后的历史右车道线点集;对当前右车道线点集和过滤后的历史右车道线点集进行合并,得到第一右车道线点集。
[0111] 进一步的,第三确定模块74还用于:对第一左车道线点集进行拟合处理,得到第一左车道线信息;对第一右车道线点集进行拟合处理,得到第一右车道线信息;按第二预设步长,分别对第一左车道线信息和第一右车道线信息进行离散处理,得到第一左车道线信息对应的第二左车道线点集,以及第一右车道线信息对应的第二右车道线点集;基于第二左车道线点集和第二右车道线点集,确定车道中心线点集;基于车道中心线点集,确定当前时刻对应的目标车道中心线。
[0112] 进一步的,第三确定模块74还用于:对车道中心线点集进行拟合处理,得到初始车道中心线;获取前一时刻对应的车道中心线信息;基于前一时刻对应的车道中心线信息,对初始车道中心线进行平滑处理,得到当前时刻对应的目标车道中心线。
[0113] 本发明实施例所提供的车道中心线的确定装置,其实现原理及产生的技术效果和前述车道中心线的确定方法实施例相同,为简要描述,车道中心线的确定装置实施例部分未提及之处,可参考前述车道中心线的确定方法实施例中相应内容。
[0114] 本发明实施例还提供了一种电子设备,参见图8所示,该电子设备包括处理器130和存储器131,该存储器131存储有能够被处理器130执行的机器可执行指令,该处理器130执行机器可执行指令以实现上述车道中心线的确定方法。
[0115] 进一步地,图8所示的电子设备还包括总线132和通信接口133,处理器130、通信接口133和存储器131通过总线132连接。
[0116] 其中,存储器131可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non‑volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口133(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线132可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0117] 处理器130可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器130中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器130可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated 
Circuit,简称ASIC)、现场可编程门阵列(Field‑Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器131,处理器130读取存储器
131中的信息,结合其硬件完成前述实施例的方法的步骤。
[0118] 本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述车道中心线的确定方法,具体实现可参见方法实施例,在此不再赘述。
[0119] 本发明实施例所提供的车道中心线的确定方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
[0120] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0121] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。