立体车道线确定方法、装置和电子设备
技术领域
本公开涉及地图处理技术领域,尤其涉及立体车道线确定方法、立体车道线确定装置和电子设备。
背景技术
在自动驾驶领域中,对于道路中车道线的识别是非常重要的。在相关技术中,车道线获取的方式主要有两种,其一是从当前环境图像中实时地检测出车道线,其二是在高精度地图中获取预先标注好的车道线,以确定环境中车道线的位置。
由于高精度地图中的车道线预先标注,现有的在高精度地图中标注车道线的方式主要由人工完成。可是对于高精度地图而言,其属于三维图像,是基于激光雷达生成的,激光雷达生成的图像一般无颜色信息,并且生成的图像还会受到路面上障碍物的影响,使得人工在高精度地图中标注车道线容易出现错误,并且需要大量重复操作,标注速度较慢,效率较低。
发明内容
本公开提出了立体车道线确定方法、立体车道线确定装置以及电子设备,以解决相关技术中的技术问题。
根据本公开实施例的第一方面,提出一种立体车道线确定方法,包括:
获取目标环境的三维点云,并将所述三维点云向垂直方向上进行投影,得到投影点构成的二维点云图像,其中所述投影点保留所述三维点云的高度信息;
根据所述二维点云图像进行车道线拟合,获得车道线点;
基于所述投影点的高度信息,确定所述车道线点的高度信息;
基于所述车道线点的高度信息,生成立体车道线
根据本公开实施例的第二方面,提出一种立体车道线确定装置,包括单独或者协同工作的一个或者多个处理器,所述处理器用于执行:
获取目标环境的三维点云,并将所述三维点云向垂直方向上进行投影,得到投影点构成的二维点云图像,其中所述投影点保留所述三维点云的高度信息;
根据所述二维点云图像进行车道线拟合,获得车道线点;
基于所述投影点的高度信息,确定所述车道线点的高度信息;
基于所述车道线点的高度信息,生成立体车道线。
根据本公开实施例的第三方面,提出电子设备,包括上述实施例所述的立体车道线确定装置。
根据本公开的实施例,由于将三维点云向垂直方向上进行投影,得到投影点构成的二维点云图像保留了三维点云的高度信息,从而根据二维点云图像进行车道线拟合获得的车道线点,也具有高度信息,而基于高度信息则可以区分位于不同高度的车道线,进而将车道线点整合为立体车道线。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本公开的实施例示出的一种立体车道线确定方法的示意流程图。
图2是根据本公开的实施例示出的另一种立体车道线确定方法的示意流程图。
图3是根据本公开的实施例示出的一种区块的示意图。
图4是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。
图5是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。
图6是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。
图7是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。
图8是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。
图9是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。
图10是根据本公开的实施例示出的一种根据所述二维点云图像进行车道线拟合,获得车道线点的示意流程图。
图11是根据本公开的实施例示出的另一种根据所述二维点云图像进行车道线拟合,获得车道线点的示意流程图。
图12是根据本公开的实施例示出的又一种根据所述二维点云图像进行车道线拟合,获得车道线点的示意流程图。
图13是根据本公开的实施例示出的又一种根据所述二维点云图像进行车道线拟合,获得车道线点的示意流程图。
图14是根据本公开的实施例示出的又一种根据所述二维点云图像进行车道线拟合,获得车道线点的示意流程图。
图15是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。
图16是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。
图17是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。
图18是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。
图19是根据本公开的实施例示出的立体车道线确定装置所在设备的一种硬件结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。另外,在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
在相关技术中,为了克服人工标注高精度地图中车道线所存在的种种问题,提出了一些自动标注高精度地图中的车道线的方法,但是目前的方法仅适用于高度方向上存在一个车道线的情况,针对高度方向上存在多个车道线的情况,例如立交桥、高架桥的道路在高度方向上存在重叠,那么道路中的车道线在高度方向上也存在重叠,也即车道线是立体的,并非局限在平面上的,那么基于相关技术中的方式无法区分开重叠的车道线。
图1是根据本公开的实施例示出的一种立体车道线确定方法的示意流程图。本公开实施例所述的立体车道线确定方法,可以适用于图像采集设备,图像采集设备可以采集车辆行驶环境的三维点云,也可以适用于能够对三维点云进行分析处理的其他电子设备,例如终端、服务器、车载设备等。
如图1所示,所述立体车道线确定方法包括以下步骤:
在步骤S1中,获取目标环境的三维点云,并将所述三维点云向垂直方向上进行投影,得到投影点构成的二维点云图像,其中所述投影点保留所述三维点云的高度信息;
在一个实施例中,目标环境的三维点云可以通过激光雷达获取。
在一个实施例中,将所述三维点云向垂直方向上进行投影,类似于向鸟瞰(birdview)图投影,例如鸟瞰图可以包括平行于水平面的两维坐标,例如x轴坐标和y轴坐标,但是本实施例中的三维点云向垂直方向上投影,得到的投影点构成的二维点云图像,除了包括x轴坐标和y轴坐标,还保留三维点云的高度信息,也即垂直于水平面的坐标,例如z轴坐标。
在步骤S2中,根据所述二维点云图像进行车道线拟合,获得车道线点;
在一个实施例中,可以先在二维点云图像中确定车道线区域,然后确定处于所述车道线区域中的投影点;进而根据所述车道线点平行于水平面的两维坐标,例如上述x轴坐标和y轴坐标,根据所述二维点云图像进行车道线拟合,获得车道线点。
在步骤S3中,基于所述投影点的高度信息,确定所述车道线点的高度信息;
在步骤S4中,基于所述车道线点的高度信息,生成立体车道线。
在一个实施例中,由于将三维点云向垂直方向上进行投影,得到投影点构成的二维点云图像保留了三维点云的高度信息,从而根据二维点云图像进行车道线拟合获得的车道线点,也具有高度信息,而基于高度信息则可以区分位于不同高度的车道线,进而将车道线点整合为立体车道线。
图2是根据本公开的实施例示出的另一种立体车道线确定方法的示意流程图。如图2所示,所述区块高度信息包括高度区间,所述基于所述投影点的高度信息,确定所述车道线点的高度信息包括:
在步骤S301中,将所述二维点云图像划分为多个区块;
在步骤S302中,对所述区块中的投影点的高度信息进行聚类,以确定至少一个高度区间。
在一个实施例中,可以将二维点云图像划分为多个区块,例如将二维点云图像栅格化,每个栅格(grid)即一个区块,由于区块中的投影点保留有高度信息,那么可以对区块中的投影点的高度信息进行聚类,从而确定至少一个高度区间。
其中,聚类算法包括但不限于k-means聚类算法,AP(Affinity Propagation)聚类算法等,具体可以根据需要选择。
例如对于某个区块而言,其中的投影点主要位于三个高度范围内,分别为0至0.3米,3.1米至3.4米,6.7米至7.0米,那么对该区块中投影点的高度信息进行聚类,可以确定3个高度区间,也即0至0.3米区间,3.1米至3.4米区间,6.7米至7.0米区间,说明该区块中主要有位于三个高度区间的车道,一般对应的场景为三层结构的高架桥,那么也就有位于三个高度区间的车道线,底层的车道上的车道线点高度信息处于0至0.3米区间,中层的车道上的车道线点高度信息处于3.1米至3.4米区间,顶层的车道上的车道线点高度信息处于6.7米至7.0米区间。
通过确定高度区间,便于后续确定区块中车道线的高度信息。
图3是根据本公开的实施例示出的一种区块的示意图。
如图3所示,例如可以将二维点云图像划分为16个区块,分比为A1B1、A1B2、A1B3、A1B4、A2B1、A2B2、A2B3、A2B4、A3B1、A3B2、A3B3、A3B4、A4B1、A4B2、A4B3、A4B4。具体划分的区块数和区块的形状可以根据需要设置,并不限于图3所示的情况。
其中可以包括两条相交的车道线,车道线α和车道线β,具体在区块A2B2中相交。
图4是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。如图4所示,所述基于所述投影点的高度信息,确定所述车道线点的高度信息还包括:
在步骤S303中,若确定了一个高度区间,根据所述高度区间的区间信息确定所述车道线点的高度信息。
在一个实施例中,若只确定了一个高度区间,说明高区块中只有位于一个高度区间的车道,也即该区块中的车道并不存在多层结构,而仅仅是一层结构,那么可以直接根据高度区间的区间信息确定车道中车道线线点的高度信息。
例如图3所示,对于区块A2B4而言,确定的高度区间为3.1米至3.4米,那么说明在区块A2B4中垂直方向上只有一条车道,那么车道中的车道线并不与其他车道线相交。例如高度区间的高度信息可以包括高度区间的上限值和下限值,例如3.1米和3.4米,那么根据高度区间的区间信息确定车道线点的高度信息的方式,可以是对上限值和下限值计算均值,得到的车道线点的高度信息为3.25米(该高度信息也可以表征车道线点所在车道的高度信息)。
图5是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。如图5所示,所述基于所述投影点的高度信息,确定所述车道线点的高度信息还包括:
在步骤S304中,若确定了多个高度区间,确定目标车道线点所属的车道线,其中,所述目标车道线点位于所述多个区块中的第一区块;
在步骤S305中,确定所述车道线上位于其他区块中的其他车道线点的高度信息,其中,所述其他区块为所述多个区块中与所述第一区块相邻的区块;
在步骤S306中,根据所述其他车道线点的高度信息,确定所述目标车道线点在所述多个高度区间中所属的目标高度区间;
在步骤S307中,根据所述目标高度区间的区间信息确定所述目标车道线点的高度信息。
在一个实施例中,若确定了多个高度区间,例如对于图3中的区块A2B2,在高度方向上存在两个相交车道,也就存在两个相交的车道线,而两个车道由于相交,高度必然不等,所以区块A2B2中的投影点一部分属于一个车道,另一部分属于另一个车道,因此属于两个高度区间,例如0至0.3米区间和3.1米至3.4米区间。
在这种情况下,可以确定目标车道线点所属的车道线,例如在步骤S2中,根据二维点云图像进行车道线拟合,可以得到至少一条车道线,例如图3所示,可以得到车道线α和车道线β,由于区块中的投影点都属于二维点云图像,因此可以确定车道线所属的车道线,例如确定区块A2B2中部分车道线点属于车道线α,另一部分车道线点属于车道线β。
但是由于高度区间的区间信息存在多个上限值和下限值,跨度过大,不能简单的通过计算均值的方式来确定其中车道线点的高度信息。
针对这种情况,本实施例可以确定车道线上位于其他区块中的其他车道线点的高度信息,其中,所述其他区块为多个区块中与第一区块相邻的区块,例如第一区块为图3的A2B2,那么对于车道线α而言,其他区块为A1B2和A3B2,对于车道线β而言,其他区块为A2B1和A2B3。
需要说明的是,如果请其他区块也存在多个高度区间,那么还需要进一步确定其他区块的相邻区块,直至确定的到相邻区块只有一个高度区间,那么针对该相邻区块,可以根据这一个高度区间的高度信息来确定区块中车道线点的高度信息。
本实施例假设区块A2B1、A2B3、A1B2和A3B2只有一个高度区间,那么针对区块A2B1、A2B3、A1B2和A3B2,可以按照图4所示实施例的方式确定出其中车道线的高度信息。
例如对于A1B2,确定的高度区间为0至0.3米区间,那么其中车道线的高度信息为0.15米;对于和A3B2,确定的高度区间为0.5至0.8米,那么其中车道线的高度信息为0.55米;对于A2B1,确定的高度区间为3.1至3.4米区间,那么其中车道线的高度信息为3.25米;对于A2B3,确定的高度区间为3.6至3.9米区间,那么其中车道线的高度信息为3.75米。
在得到其他车道线点的高度信息后,可以根据其他车道线点的高度信息,确定目标车道线点在多个高度区间中所属的目标高度区间,进而根据目标高度区间的区间信息确定所述目标车道线点的高度信息。
例如确定了A1B2和A3B2中车道线点属于车道线α,且A1B2中车道线点的高度信息为0.15米,A3B2中车道线点的高度信息为0.55米,由于车道线一般高度是连续变化的,因此可以确定属于A2B2中属于车道线α的车道线点的高度区间为0.15米至0.55米,进而可以计算0.15米和0.55米的均值作为A2B2中属于车道线α的车道线点的高度信息,也即0.35米。
同理,确定了A2B2和A2B3中车道线点属于车道线β,且A2B2中车道线点的高度信息为3.25米,A2B3中车道线点的高度信息为3.75米,可以确定属于A2B2中属于车道线β的车道线点的高度区间为3.25米至3.75米,进而可以计算3.25米和3.75米的均值作为A2B2中属于车道线β的车道线的高度信息,也即3.50米。
图6是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。如图6所示,所述其他区块包括第二区块和第三区块,所述车道线上位于所述第二区块中的其他车道线点的高度信息为第二高度信息,所述车道线上位于所述第三区块中的其他车道线点的高度信息为第二高度信息;
其中,所述根据所述其他车道线点的高度信息,确定所述目标车道线点在所述多个高度区间中所属的目标高度区间包括:
在步骤S3061中,在所述多个高度区间中确定介于所述第二高度信息和所述第三高度信息之间的区间作为目标高度区间。
在一个实施例中,在图5所示实施例的基础上,例如对于车道线α而言,其他区块包括第二区块A1B2和第三区块A3B2,A1B2中车道线点的第一高度信息为0.15米,A3B2中车道线点的第二高度信息为0.55米,例如第一区块A2B2包含高度区间为0.2至0.4米和3.3至3.6米,其中0.2米至0.4米区间介于0.15米和0.55米之间,所以可以选择0.2米至0.4米区间作为A2B2中属于车道线α的车道线点的目标高度区间。
进而可以根据该目标高度区间确定车道线点的高度信息,例如计算目标高度区间上限值和下限值的均值,也即0.3米作为A2B2中属于车道线α的车道线点的高度信息。
另外,为了保证车道线的连续性,对于区块中车道线确定的高度信息可以并不是一个单一的值,而是一个连续变化的函数的一部分,该函数可以根据车道线点的目标高度区间来确定,例如该函数为正比例函数,那么可以计算目标高度区间的上限值和下限值之差,并将该差值除以区块(例如区块为正方形)的边长,将得到的值作为函数的比例系数。据此,得到的该区块中车道线点的高度信息,就是按照该正比例函数连续变化的,从而可以良好地衔接于相邻区块的车道线点,确保多个区块中车道线点的高度信息连续,以便根据连续的高度信息绘制连续的车道线。
图7是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。如图7所示,所述对所述区块中的投影点的高度信息进行聚类,以确定至少一个高度区间包括:
在步骤S3021中,对所述区块中的投影点的高度信息进行聚类,以确定多个高度极值;
在步骤S3022中,以所述多个高度极值作为高度区间的边界值,以确定至少一个高度区间。
在一个实施例中,对区块中的投影点的高度信息进行聚类,以确定至少一个高度区间,具体可以是对区块中的投影点的高度信息进行聚类,以确定多个高度极值,例如对图3所示的区块A2B2中的投影点的高度信息进行聚类,可以确定4个高度极值,分比为0.2米,0.4米,3.3米和3.6米那么可以将极值从小到大每两个划分为一组,一组中的两个极值分别作为高度区间的边界值,例如0.2米和0.4米属于一组,其中0.2米可以作为高度区间的下限值,0.4米可以作为高度区间的上限值。
图8是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。如图8所示,所述方法还包括:
在步骤S5中,标注所述车道线点;
在步骤S6中,显示带有标注的所述车道线点。
在一个实施例中,可以对车道线进行标注,进而显示带有标注的车道线,例如针对位于不同高度的车道线点可以标注不同的高度信息,进而显示带有标注的车道线点,便于用户根据标注直观地确定车道线的高度。
可选地,所述标注包括以下至少之一:
高度信息、位置信息、类别。
在一个实施例中,除了对车道线标注高度信息,还可以标注位置信息、类别等,其中,类别可以包括虚线、实线、双实线、斑马线等,以便用户根据标注直观地确定车道线所处的位置,车道线所属的类型等信息。
图9是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。如图9所示,所述方法还包括:
在步骤S7中,根据所述车道线点的高度信息,确定立体车道线地图。
在一个实施例中,可以根据车道线点的高度信息,确定立体车道线地图,例如在高精度地图中自动生成立体车道线地图。
图10是根据本公开的实施例示出的一种根据所述二维点云图像进行车道线拟合,获得车道线点的示意流程图。如图10所示,所述根据所述二维点云图像进行车道线拟合,获得车道线点包括:
在步骤S201中,在所述二维点云图像中确定车道线区域;
在步骤S202中,确定处于所述车道线区域中的投影点;
在步骤S203中,根据所述投影点平行于水平面的两维坐标,对所述二维点云图像进行车道线拟合,获得车道线点。
在一个实施例中,在获取到的环境图像中,可以确定车道线区域。
其中,可以根据预先确定的图像识别模型在所述环境图像中确定车道线区域,例如可以预先通过机器学习训练图像识别模型(例如可以是神经网络),图像识别模型可以根据输入的图像确定图像中的车道线区域,那么可以将获取到的环境图像输入到图像识别模型中,即可确定出环境图像中的车道线区域。
另外,还可以根据相关技术中的算法,先在环境图像中确定出路面区域,然后在路面区域中确定车道线区域,从而不必分析环境图像中的所有信息,以便缩小确定车道线区域所依据的信息量,有利于减少误判。
然后可以根据投影点平行于水平面的两维坐标,例如x轴坐标和y轴坐标,拟合投影点作为车道线。例如可以通过贝塞尔曲线对投影点进行拟合。由于投影点位于车道线区域内,那么对投影点拟合得到的曲线可以作为车道线。
据此,可以结合环境图像和三维点云,确定三维点云中位于车道线区域中的投影点,进而通过拟合投影点确定车道线。而三维点云可以作为高精度地图,并且上述确定车道线的过程在很大程度上无需人工参与,因此有利于半自动甚至全自动地在高精度地图中确定车道线,在面对大量车道线的重复确定操作时,可以高速高效地完成,而且可以提高确定车道线的精度。
图11是根据本公开的实施例示出的另一种根据所述二维点云图像进行车道线拟合,获得车道线点的示意流程图。如图11所示,所述在所述二维点云图像中确定车道线区域包括:
在步骤S2011中,根据预先确定的图像识别模型在所述二维点云图像中确定所述车道线区域。
图12是根据本公开的实施例示出的又一种根据所述二维点云图像进行车道线拟合,获得车道线点的示意流程图。如图12所示,所述在所述二维点云图像中确定车道线区域包括:
在步骤S2012中,在所述二维点云图像中确定路面区域;
在步骤S2013中,在所述路面区域中确定车道线区域。
图13是根据本公开的实施例示出的又一种根据所述二维点云图像进行车道线拟合,获得车道线点的示意流程图。如图13所示,在根据处于所述车道线区域中的投影点平行于水平面的两维坐标进行车道线拟合之前,所述根据所述二维点云图像进行车道线拟合,获得车道线点还包括:
在步骤S204中,在处于所述车道线区域外的投影点中,确定到所述车道线区域的距离小于预设距离的候选点;
在步骤S205中,在所述候选点中确定与处于所述车道线区域中的投影点的预设属性信息的相似度大于预设相似度的扩展点;
在步骤S206中,将所述扩展点和处于所述车道线区域外的投影点作为新的投影点;
其中,所述根据所述投影点平行于水平面的两维坐标,对所述二维点云图像进行车道线拟合,获得车道线点包括:
在步骤S2031中,根据所述投影点平行于水平面的两维坐标,对所述二维点云图像中新的投影点进行车道线拟合,获得车道线点。
在一个实施例中,由于将三维点云中的点向环境图像中投影,或多或少会存在一些偏差,例如可能是图像采集设备的外参不够准确导致的,那么将导致在三维点云中部分本应位于车道线区域的投影点,并不会投影到环境图像的车道线区域内,这就可能导致拟合结果并不准确,也即拟合确定的车道线与三维点云中实际的车道线存在差异。
但是由于偏差一般不会很大,所以这些未投影到车道线区域的投影点距离投影到区域的投影点距离较近。因此,可以在车道线区域外的投影点中,确定到车道线点的距离小于预设距离的候选点,这些候选点就有可能是未投影到车道线区域的车道线点,针对候选点可以确定确定与车道线区域内的投影点的预设属性信息的相似度大于预设相似度的扩展点,例如可以采用floodfill(泛洪填充)算法来确定扩展点,其中,预设属性可以可以根据需要进行设置,例如可以是反射亮度(intensity),这些扩展点极有可能是未投影到车道线区域的投影点,从而可以将扩展点和原来车道线区域内的投影点作为新的投影点进行车道线拟合。
据此,可以缓解将三维点云中的点向环境图像中投影存在偏差而导致拟合结果不准确的问题。
图14是根据本公开的实施例示出的又一种根据所述二维点云图像进行车道线拟合,获得车道线点的示意流程图。如图14所示,所述根据所述二维点云图像进行车道线拟合,获得车道线点还包括:
在步骤S207中,根据接收到的修正指令修正所述车道线;
在步骤S208中,将修正后的车道线投影到所述二维点云图像中,以确定车道线在所述二维点云图像中的投影与所述车道线是否匹配;
在步骤S209中,根据车道线在所述二维点云图像中的投影与所述车道线的匹配结果生成响应信息。
在一个实施例中,可以接收人工输入的修正指令对车道线进行修正,但是人工修正的结果也可能存在误差,因此可以将修正后的车道线投影到环境图像中,以确定修正后的车道线在环境图像中的投影与车道线区域是否匹配,然后根据修正后的车道线在环境图像中的投影与车道线区域的匹配结果生成响应信息。
若修正后的车道线在环境图像中的投影与车道线区域不匹配,例如修正后的车道线在环境图像中的投影超过预设比例落在车道线区域以外,那么生成的响应信息可以用于提示用户修正结果不合理,以便用户重新修正;若修正后的车道线在环境图像中的投影与车道线区域匹配,例如修正后的车道线在环境图像中的投影小于预设比例落在车道线区域以外,那么生成的响应信息可以用于提示用户修正结果合理。
需要说明的是,本实施例除了在拟合投影点得到车道线后由人工参与进行修正,也可以在确定车道线区域,将三维点云中的点向环境图像投影的过程中由人工参与进行修正,例如在确定车道线过程中,可以接收人工输入的指令修正、补充、删减环境图像中的车道线区域,例如在将三维点云中的点向环境图像投影的过程中,对投影后的目标进行调整。
图15是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。如图15所示,在将所述三维点云向垂直方向上进行投影,得到投影点构成的二维点云图像之前,所述方法还包括:
在步骤S8中,在所述三维点云中确定属于障碍物的障碍点;
在步骤S9中,在所述三维点云中剔除所述障碍点;
其中,所述将所述三维点云向垂直方向上进行投影,得到投影点构成的二维点云图像包括:
在步骤S101中,将剔除所述障碍点的三维点云中的点向垂直方向上进行投影,得到投影点构成的二维点云图像。
在一个实施例中,在将所述三维点云向垂直方向上进行投影,得到投影点构成的二维点云图像之前,可以先将三维点云中属于障碍物的障碍点剔除,从而后续进行投影操作时,可以将剔除障碍点的三维点云中的点向垂直方向上投影,以免属于障碍物的障碍点投影到二维点云图像中,影响后续确定车道线点的准确性。
图16是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。如图16所示,所述在所述三维点云中确定属于障碍物的障碍点包括:
在步骤S801中,根据预先确定的深度学习模型,在所述三维点云中确定属于障碍物的障碍点。
在一个实施例中,可以预先通过深度学习得到深度学习模型,深度学习模型可以以三维点云作为输入,输出属于障碍物的障碍物点的信息,根据该信息,可以确定三维点云中属于障碍物的障碍点。其中,障碍物包括但不限于车辆、行人、交通指示牌等。
图17是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。如图17所示,所述根据所述二维点云图像进行车道线拟合,获得车道线点包括:
在步骤S308中,通过贝塞尔曲线对所述二维点云图像进行车道线拟合,获得车道线点。
在一个实施例中,可以根据需要选择曲线模型来拟合二维点云图像中的投影点以确定车道线。例如可以选择贝塞尔曲线拟合二维点云图像中的投影点以确定车道线。
图18是根据本公开的实施例示出的又一种立体车道线确定方法的示意流程图。如图18所示,所述通过贝塞尔曲线根据所述二维点云图像进行车道线拟合,获得车道线点包括:
在步骤S3081中,通过多段三阶贝塞尔曲线对所述二维点云图像进行车道线拟合,获得车道线点。
在一个实施例中,可以通过多段三阶贝塞尔曲线拟合二维点云图像中的投影点以确定车道线。其中,三阶贝塞尔曲线的方程如下:
P(t)=A(1-t)3+B·3(1-t)2·t+C·3(1-t)·t2+D·t3;
A、B、C和D为目标点中作为控制点的坐标。
具体拟合方式可以是确定二维点云图像中的投影点中最远的两点作为端点进行拟合,然后对于拟合得到的曲线,确定是否存在投影点距离该曲线距离大于预设距离,若存在这种投影点,则以该投影点向曲线做垂线,然后从垂线和曲线的交点将曲线划分为两部分,针对每部分曲线对投影点继续进行拟合,若对于进一步拟合后的曲线,仍存在到曲线的距离大于预设距离的投影点,那么继续以投影点向曲线做垂线,然后再从垂线和曲线的交点将曲线进一步划分,再对划分后的每部分曲线对目标点继续进行拟合,直至对于拟合后的曲线,所有投影点到曲线的距离小于或等于预设距离。
本公开立体车道线确定装置的实施例可以应用在电子设备(例如终端、服务器)上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图19所示,为本公开立体车道线确定装置所在设备的一种硬件结构示意图,除了图19所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等;从硬件结构上来讲该设备还可能是分布式的设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
本公开的实施例还提出一种立体车道线确定装置,所述装置可以适用于图像采集设备,图像采集设备可以采集车辆行驶环境的三维点云,也可以适用于能够对三维点云进行分析处理的其他电子设备,例如终端、服务器、车载设备等。
所述立体车道线确定装置包括单独或者协同工作的一个或者多个处理器,所述处理器用于执行:
获取目标环境的三维点云,并将所述三维点云向垂直方向上进行投影,得到投影点构成的二维点云图像,其中所述投影点保留所述三维点云的高度信息;
根据所述二维点云图像进行车道线拟合,获得车道线点;
基于所述投影点的高度信息,确定所述车道线点的高度信息;
基于所述车道线点的高度信息,生成立体车道线。
在一个实施例中,所述处理器用于执行:
将所述二维点云图像划分为多个区块;
对所述区块中的投影点的高度信息进行聚类,以确定至少一个高度区间。
在一个实施例中,所述处理器用于执行:
若确定了一个高度区间,根据所述高度区间的区间信息确定所述车道线点的高度信息。
在一个实施例中,所述处理器用于执行:
若确定了多个高度区间,确定目标车道线点所属的车道线,其中,所述目标车道线点位于所述多个区块中的第一区块;
确定所述车道线上位于其他区块中的其他车道线点的高度信息,其中,所述其他区块为所述多个区块中与所述第一区块相邻的区块;
根据所述其他车道线点的高度信息,确定所述目标车道线点在所述多个高度区间中所属的目标高度区间;
根据所述目标高度区间的区间信息确定所述目标车道线点的高度信息。
在一个实施例中,所述其他区块包括第二区块和第三区块,所述车道线上位于所述第二区块中的其他车道线点的高度信息为第二高度信息,所述车道线上位于所述第三区块中的其他车道线点的高度信息为第二高度信息;
其中,所述处理器用于执行:
在所述多个高度区间中确定介于所述第二高度信息和所述第三高度信息之间的区间作为目标高度区间。
在一个实施例中,所述处理器用于执行:
对所述区块中的投影点的高度信息进行聚类,以确定多个高度极值;
以所述多个高度极值作为高度区间的边界值,以确定至少一个高度区间。
在一个实施例中,所述处理器还用于执行:
标注所述车道线点;
显示带有标注的所述车道线点。
在一个实施例中,所述标注包括以下至少之一:
高度信息、位置信息、类别。
在一个实施例中,所述处理器还用于执行:
根据所述车道线点的高度信息,确定立体车道线地图。
在一个实施例中,所述处理器用于执行:
在所述二维点云图像中确定车道线区域;
确定处于所述车道线区域中的投影点;
根据所述车道线点平行于水平面的两维坐标,对所述二维点云图像进行车道线拟合,获得车道线点。
在一个实施例中,所述处理器用于执行:
根据预先确定的图像识别模型在所述二维点云图像中确定所述车道线区域。
在一个实施例中,所述处理器用于执行:
在所述二维点云图像中确定路面区域;
在所述路面区域中确定车道线区域。
在一个实施例中,所述处理器还用于执行:
在根据所述车道线点平行于水平面的两维坐标,根据所述二维点云图像进行车道线拟合,获得车道线点之前,在处于所述车道线区域外的投影点中,确定到所述车道线区域的距离小于预设距离的候选点;
在所述候选点中确定与处于所述车道线区域中的投影点的预设属性信息的相似度大于预设相似度的扩展点;
将所述扩展点和处于所述车道线区域外的投影点作为新的投影点;
其中,所述处理器用于执行:
根据所述车道线点平行于水平面的两维坐标,对所述二维点云图像中新的投影点进行车道线拟合,获得车道线点。
在一个实施例中,所述处理器还用于执行:
根据接收到的修正指令修正所述车道线;
将修正后的车道线投影到所述二维点云图像中,以确定车道线在所述二维点云图像中的投影与所述车道线是否匹配;
根据车道线在所述二维点云图像中的投影与所述车道线的匹配结果生成响应信息。
在一个实施例中,所述处理器还用于执行:
在将所述三维点云向垂直方向上进行投影,得到投影点构成的二维点云图像之前,在所述三维点云中确定属于障碍物的障碍点;
在所述三维点云中剔除所述障碍点;
其中,所述将所述三维点云向垂直方向上进行投影,得到投影点构成的二维点云图像包括:
将剔除所述障碍点的三维点云中的点向垂直方向上进行投影,得到投影点构成的二维点云图像。
在一个实施例中,所述处理器用于执行:
根据预先确定的深度学习模型,在所述三维点云中确定属于障碍物的障碍点。
在一个实施例中,所述处理器用于执行:
通过贝塞尔曲线对所述二维点云图像进行车道线拟合,获得车道线点。
在一个实施例中,所述处理器用于执行:
通过多段三阶贝塞尔曲线对所述二维点云图像进行车道线拟合,获得车道线点。
本公开的实施例还提出一种电子设备,包括上述任一实施例所述的立体车道线确定装置。所述电子设备可以是终端(具体可以是手机等移动终端,也可以是车载终端),也可以是服务器。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本公开时可以把各单元的功能在同一个或多个软件和/或硬件中实现。本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本公开的实施例而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。