高精度地图中车道线的确定方法和装置
技术领域
本公开涉及地图处理领域,尤其涉及高精度地图中车道线的确定方法、高精度地图中车道线的确定装置、电子设备和自动驾驶车辆。
背景技术
在自动驾驶领域中,对于道路中车道线的识别是非常重要的。在相关技术中,车道线获取的方式主要有两种,其一是从当前环境图像中实时地检测出车道线,其二是在高精度地图中获取预先标注好的车道线,以确定环境中车道线的位置。
由于高精度地图中的车道线需要预先标注,现有的在高精度地图中标注车道线的方式主要由人工完成,而人工在地图中的标注操作,针对二维图像是相对准确的,可是三维图像一般是基于激光雷达生成的,激光雷达生成的图像一般无颜色信息,并且生成的图像还会受到路面上障碍物的影响,使得标注人员难以分辨路面上哪些位置属于车道线,从而导致人工在三维图像中标注车道线的精度较低。
而高精度地图就是三维图像,所以在高精度地图中标注车道线难以达到理想的精度。并且人工在高精度地图中标注车道线,需要大量重复操作,标注速度较慢,效率较低。
发明内容
本公开提出了高精度地图中车道线的确定方法、高精度地图中车道线的确定装置、电子设备和自动驾驶车辆,以解决相关技术中人工在高精度地图中标注车道线的精度较低,效率较低的技术问题。
根据本公开实施例的第一方面,提出一种高精度地图中车道线的确定方法,包括:
获取车辆行驶环境的环境图像和三维点云;
在所述环境图像中确定车道线区域;
将所述三维点云中的点向所述环境图像投影,确定位于所述车道线区域内的目标点;
拟合所述目标点以确定车道线。
根据本公开实施例的第二方面,提出一种高精度地图中车道线的确定装置,所述确定装置包括包括单独或者协同工作的一个或者多个处理器,所述处理器用于执行:
获取车辆行驶环境的环境图像和三维点云;
在所述环境图像中确定车道线区域;
将所述三维点云中的点向所述环境图像投影,确定位于所述车道线区域内的目标点;
拟合所述目标点以确定车道线。
根据本公开实施例的第三方面,提出一种电子设备,包括上述任一实施例所述的高精度地图中车道线的确定装置。
根据本公开实施例的第四方面,提出一种自动驾驶车辆,包括上述实施例所述的电子设备。
根据本公开的实施例,可以结合环境图像和三维点云,确定三维点云中位于车道线区域中的目标点,进而通过拟合目标点确定车道线。而三维点云可以作为高精度地图,并且上述确定车道线的过程在很大程度上无需人工参与,因此有利于半自动甚至全自动地在高精度地图中确定车道线,在面对大量车道线的重复确定操作时,可以高速高效地完成,而且可以提高确定车道线的精度。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本公开的实施例示出的一种高精度地图中车道线的确定方法的示意流程图。
图2是根据本公开的实施例示出的一种在环境图像中确定车道线区域的示意图。
图3是根据本公开的实施例示出的一种将所述三维点云中的点向所述环境图像投影的示意图。
图4是根据本公开的实施例示出的一种拟合目标点以确定车道线的示意图。
图5是根据本公开的实施例示出的另一种高精度地图中车道线的确定方法的示意流程图。
图6是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。
图7是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。
图8是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。
图9是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。
图10是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。
图11是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。
图12是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。
图13是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。
图14是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。
图15是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。
图16是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。
图17是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。
图18是根据本公开的实施例示出高精度地图中车道线的确定装置所在设备的一种硬件结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。另外,在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
图1是根据本公开的实施例示出的一种高精度地图中车道线的确定方法的示意流程图。本公开实施例所述的高精度地图中车道线的确定方法,可以适用于图像采集设备,图像采集设备可以车辆行驶环境的环境图像和三维点云,也可以适用于能够对环境图像和三维点云进行分析处理的其他电子设备,例如终端、服务器、车载设备等。
如图1所示,所述高精度地图中车道线的确定方法可以包括以下步骤:
在步骤S1中,获取车辆行驶环境的环境图像和三维点云;
在一个实施例中,可以获取车辆行驶环境的环境图像和三维点云,其中,环境图像可以通过相机等图像采集设备获取,三维点云可以通过激光雷达获取。
在步骤S2中,在所述环境图像中确定车道线区域;
在一个实施例中,在获取到的环境图像中,可以确定车道线区域。
其中,可以根据预先确定的图像识别模型在所述环境图像中确定车道线区域,例如可以预先通过机器学习得到图像识别模型(例如可以是设计好的神经网络),图像识别模型可以根据输入的图像确定图像中的车道线区域,那么可以将获取到的环境图像输入到图像识别模型中,即可确定出环境图像中的车道线区域。
在另一些实施方式中,还可以先在环境图像中确定出路面区域,然后在路面区域中确定车道线区域,从而不必分析环境图像中的所有信息,以便缩小确定车道线区域所依据的信息量,有利于减少误判。
图2是根据本公开的实施例示出的一种在环境图像中确定车道线区域的示意图。如图2所示,在环境图像中确定车道线区域,可以针对车道线区域标注特定的颜色,例如白色,以区分环境图像中的车道线区域和其他区域,并且针对其他区域中的不同物体,例如静态物和动态物,也可以标注不同的颜色,以便区分。
在步骤S3中,将所述三维点云中的点向所述环境图像投影,确定位于所述车道线区域内的目标点;
在一个实施例中,可以获取采集环境图像的图像采集设备的内参,然后根据该内参,以及世界坐标系到图像采集设备的坐标系的旋转关系和位移关系,将三维点云中的点在世界坐标系中的第一坐标,转换为环境图像中的第二坐标。
例如三维点云中的点在世界坐标系中的第一坐标为(xw,yw,zw),该点在环境图像中对应的第二坐标为(μ,ν,1),第一坐标和第二坐标之间的关系如下:
其中,
图像采集设备包含5个内参,分别是a
x=fm
x,a
y=fm
y,γ,μ
0和ν
0,其中,f为图像采集设备的焦距,m
x为x方向上单位距离的像素数(scale factors),m
y为y方向上单位距离的像素数,γ为x方向和y方向之间的畸变参数(skew parameters),μ
0和ν
0对应光心位置principal point。
zc为任意齐次坐标的比例因子,矩阵R为旋转矩阵(Rotation Matrix),用于表示世界坐标系到图像采集设备的坐标系的旋转关系,矩阵T为位移矩阵Translation Matrix,用于表示世界坐标系到图像采集设备的坐标系的位移关系,矩阵R和矩阵t属于图像采集设备的外参(Extrinsic Matrix)。
在将三维点云中的点在世界坐标系中的第一坐标,转换为环境图像中的第二坐标后,就确定了三维点云中的点在环境图像中对应的坐标,即第二坐标,而车道线区域已经确定,那么根据第二坐标与车道线区域的关系,就可以确定位于车道线区域内的目标点,也即三维点云中位于所述车道线区域内的点。
在步骤S4中,拟合所述目标点以确定车道线。
在一个实施例中,确定位于车道线区域内的目标点后,可以拟合所述目标点以确定车道线,例如可以通过贝塞尔曲线对目标点进行拟合。由于目标点位于车道线区域内,那么对目标点拟合得到的曲线可以作为车道线。
根据本公开的实施例,可以结合环境图像和三维点云,确定三维点云中位于车道线区域中的目标点,进而通过拟合目标点确定车道线。而三维点云可以作为高精度地图,并且上述确定车道线的过程在很大程度上无需人工参与,因此有利于半自动甚至全自动地在高精度地图中确定车道线,在面对大量车道线的重复确定操作时,可以高速高效地完成,而且可以提高确定车道线的精度。
图3是根据本公开的实施例示出的一种将所述三维点云中的点向所述环境图像投影的示意图。图4是根据本公开的实施例示出的一种拟合目标点以确定车道线的示意图。
如图3所示,可以将所述三维点云中的点向环境图像投影,确定位于车道线区域内点为目标点。可以例如通过贝塞尔曲线对目标点进行拟合,拟合得到的车道线的三维鸟瞰图如图4所示。
以通过二阶贝塞尔曲线对目标点进行拟合为例,可以在多个目标点中选取起点A和终点C以及点B,点B位于起点A和终点C之间。
在线段AB上确定控制点D,以及在线段BC上确定和控制点E,其中,AD/AB=BE/BC=k,k为预设比值;
然后在线段DE上确定点F,其中,DF/DE=k;
在保证AD/AB=BE/BC=k的基础上,改变控制点D和控制点E的位置,并在DF/DE=k的情况下确定改变控制点D和控制点E后新的点F,并按照该方式确定所都的点F。
最后从起点A开始,朝着点C的方向,依次连接所有点F,最终构成的曲线即通过二阶贝塞尔曲线对点A、点B和点C拟合后的曲线。
需要说明的是,除了通过二阶贝塞尔曲线拟合,也可以通过三阶或更高阶的贝塞尔曲线进行拟合,具体可以根据需要选择。
图5是根据本公开的实施例示出的另一种高精度地图中车道线的确定方法的示意流程图。如图5所示,所述在所述环境图像中确定车道线区域包括:
在步骤S201中,根据预先确定的图像识别模型在所述环境图像中确定所述车道线区域。
在一个实施例中,可以先获取车辆行驶环境的环境图像和三维点云,然后根据预先确定的图像识别模型在所述环境图像中确定车道线区域。
例如可以预先通过机器学习得到图像识别模型(例如可以是设计好的神经网络),图像识别模型可以根据输入的图像确定图像中的车道线区域,那么可以将获取到的环境图像输入到图像识别模型中,即可确定出环境图像中的车道线区域。
进而可以将所述三维点云中的点向所述环境图像投影,确定位于所述车道线区域内的目标点,最后拟合所述目标点以确定车道线。
图6是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。如图6所示,所述在所述环境图像中确定车道线区域包括:
在步骤S202中,在所述环境图像中确定路面区域;
在步骤S203中,在所述路面区域中确定车道线区域。
在一个实施例中,可以先获取车辆行驶环境的环境图像和三维点云,然后在获取到的环境图像中确定路面区域。
例如可以预先通过机器学习得到路面识别模型,路面识别模型可以根据输入的图像确定图像中的路面区域,那么可以将获取到的环境图像输入到路面识别模型中,从而确定出环境图像中的路面区域;进而将确定出的路面区域的图像输入到预先通过机器学习得到的图像识别模型中,图像识别模型可以根据输入的图像确定图像中的车道线区域,从而根据输入的路面区域的图像,确定路面区域中的车道线区域。
进而可以将所述三维点云中的点向所述环境图像投影,确定位于所述车道线区域内的目标点,最后拟合所述目标点以确定车道线。
图7是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。如图7所示,在将所述三维点云中的点向所述环境图像投影之前,所述方法还包括:
在步骤S5中,在所述三维点云中确定属于障碍物的障碍点;
在步骤S6中,在所述三维点云中剔除所述障碍点;
其中,所述将所述三维点云中的点向所述环境图像投影包括:
在步骤S301中,将剔除所述障碍点的三维点云中的点向所述环境图像投影。
在一个实施例中,可以先获取车辆行驶环境的环境图像和三维点云,然后在获取到的环境图像中确定路面区域。
对于三维点云,可以将其中的点向环境图像投影,而在将三维点云中的点向所述环境图像投影之前,可以先将三维点云中属于障碍物的障碍点剔除。例如可以预先通过机器学习(例如可以是深度学习)得到障碍物识别模型,障碍物识别模型可以根据输入的三维点云确定三维点云中的障碍物,那么通过将三维点云输入到障碍物识别模型中,可以确定出三维点云中的障碍物,例如可以确定出障碍物在在三维点云中对应的障碍物区域,将障碍物区域内的点作为障碍点从三维点云中剔除,从而三维点云点云中剩余的点中没有障碍物点。
从而后续进行投影操作时,可以将剔除了障碍点的三维点云中的点向环境图像投影,确定位于所述车道线区域内的目标点,最后拟合所述目标点以确定车道线,据此,有利于避免属于障碍物的障碍点投影到环境图像的车道线区域,影响确定目标点的准确性。
图8是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。如图8所示,所述在所述三维点云中确定属于障碍物的障碍点包括:
在步骤S501中,根据预先确定的深度学习模型,在所述三维点云中确定属于障碍物的障碍点。
在一个实施例中,可以先获取车辆行驶环境的环境图像和三维点云,然后在获取到的环境图像中确定路面区域。
对于三维点云,可以将其中的点向环境图像投影,而在将三维点云中的点向所述环境图像投影之前,可以先将三维点云中属于障碍物的障碍点剔除。
其中,可以预先通过深度学习得到深度学习模型,深度学习模型可以以三维点云作为输入,输出属于障碍物的障碍物点的信息,根据该信息,可以确定三维点云中属于障碍物的障碍点。其中,障碍物包括但不限于车辆、行人、交通指示牌等。对于确定出的障碍点,可以从三维点云中剔除。
从而后续进行投影操作时,可以将剔除了障碍点的三维点云中的点向环境图像投影,确定位于所述车道线区域内的目标点,最后拟合所述目标点以确定车道线,据此,有利于避免属于障碍物的障碍点投影到环境图像的车道线区域,影响确定目标点的准确性。
图9是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。如图9所示,所述三维点云为目标时刻下环境的三维点云,在将所述三维点云中的点向所述环境图像投影之前,所述方法还包括:
在步骤S7中,确定所述目标时刻之前或之后的至少一个其他时刻的车辆行驶环境的三维点云,在所述目标时刻下的预测点云;
在步骤S8中,将所述预测点云堆叠到所述目标时刻下环境的三维点云中;
其中,所述将所述三维点云中的点向所述环境图像投影包括:
在步骤S302中,将堆叠后的三维点云中的点向所述环境图像投影。
在一个实施例中,可以先获取车辆行驶环境的环境图像和三维点云,然后在获取到的环境图像中确定路面区域。
对于三维点云,可以将其中的点向环境图像投影,而在将三维点云中的点向所述环境图像投影之前,对车辆行驶环境采集的三维点云操作可以连续执行(执行的次数和执行的时刻可以根据需要进行设置),从而采集到多个时刻下环境的三维点云。
将三维点云中的点向环境图像投影,如果仅将目标时刻下环境的三维点云向环境图像投影,由于采集三维点云的激光雷达的线数较少,采集到的三维点云中点云密度较低,投影到环境图像中位于车道线区域的目标点较少,不利于得到准确的拟合结果。
根据本实施例,可以采集多个时刻下的三维点云,具体地,除了采集目标时刻下的三维点云,还可以采集目标时刻之前或之后至少一个其他时刻下车辆行驶环境的三维点云。对于采集到的其他时刻下的三维点云,可以确定在目标时刻下的预测点云,例如可以根据车辆在其他时刻与目标时刻的姿态差异和位置差异,对其他时刻的车辆行驶环境的三维点云进行预测(预测方式可以根据需要选择,例如可以通过卡尔曼滤波实现,也可以根据预先机器学习得到的预测模型实现),以确定其他时刻的车辆行驶环境的三维点云,在目标时刻下的预测点云。
然后将预测点云堆叠到所述目标时刻下环境的三维点云中,从而提高点云密度,那么将三维点云中的点向所述环境图像投影,具体可以是将堆叠后的三维点云中的点向环境图像投影,然后确定位于所述车道线区域内的目标点,由于堆叠后的三维点云中包含更多的点,因此可以提高投影到环境图像中位于车道线区域的目标点的数量,进而拟合目标点以确定车道线,就可以针对数量更多的目标点进行拟合,有利于得到准确的拟合结果。
图10是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。如图10所示,所述确定所述目标时刻之前或之后的至少一个其他时刻的三维点云,在所述目标时刻下的预测点云包括:
在步骤S701中,确定所述车辆在所述其他时刻与所述目标时刻的姿态差异,以及所述车辆在所述其他时刻与所述目标时刻的位置差异;
在步骤S702中,根据所述姿态差异和所述位置差异确定所述其他时刻的车辆行驶环境的三维点云,在所述目标时刻下的预测点云。
在一个实施例中,可以先获取车辆行驶环境的环境图像和三维点云,然后在获取到的环境图像中确定路面区域。
对于三维点云,可以将其中的点向环境图像投影,而在将三维点云中的点向所述环境图像投影之前,对车辆行驶环境采集的三维点云操作可以连续执行(执行的次数和执行的时刻可以根据需要进行设置),从而采集到多个时刻下环境的三维点云。具体地,除了采集目标时刻下的三维点云,还可以采集目标时刻之前或之后至少一个其他时刻下车辆行驶环境的三维点云。对于采集到的其他时刻下的三维点云,可以确定在目标时刻下的预测点云。
在一个实施例中,车辆在其他时刻与目标时刻的姿态和位置上的差异,可以导致车辆在其他时刻与目标时刻下环境的三维点云有所不同,那么可以根据姿态差异和位置差异确定其他时刻的车辆行驶环境的三维点云,在目标时刻下的预测点云。
例如t时刻为当前时刻,t+1时刻为当前时刻的下一时刻,t时刻车辆的位置坐标为(x1,y1),t+1时刻车辆的位置坐标为(x1+x0,y1+y0),姿态(例如行驶方向)没有变化,那么对于t+1时刻的三维点云,确定其在t时刻的预测点云,可以将t+1时刻的三维点云中所有点在x方向上减去x0,在y方向减去y0。
需要说明的是,确定预测点云的方式并不限于上述方式,而是可以根据需要选择,例如可以基于卡尔曼滤波对其他时刻下的目标点云进行预测,从而确定预测点云,也可以基于预先机器学习得到的预测模型对其他时刻下的目标点云进行预测,从而确定预测点云。
然后将预测点云堆叠到所述目标时刻下环境的三维点云中,从而提高点云密度,那么将三维点云中的点向所述环境图像投影,具体可以是将堆叠后的三维点云中的点向环境图像投影,然后确定位于所述车道线区域内的目标点,由于堆叠后的三维点云中包含更多的点,因此可以提高投影到环境图像中位于车道线区域的目标点的数量,进而拟合目标点以确定车道线,就可以针对数量更多的目标点进行拟合,有利于得到准确的拟合结果。
图11是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。如图11所示,所述将所述三维点云中的点向所述环境图像投影包括:
在步骤S303中,根据采集所述环境图像的图像采集设备的内参,世界坐标系到所述图像采集设备的坐标系的旋转关系和位移关系,将所述三维点云中的点在世界坐标系中的第一坐标,转换为所述环境图像中的第二坐标。
在一个实施例中,可以先获取车辆行驶环境的环境图像和三维点云,然后在获取到的环境图像中确定路面区域,进而将所述三维点云中的点向所述环境图像投影。
例如可以获取采集环境图像的图像采集设备的内参,然后根据该内参,以及世界坐标系到图像采集设备的坐标系的旋转关系和位移关系,将三维点云中的点在世界坐标系中的第一坐标,转换为环境图像中的第二坐标。
在将三维点云中的点在世界坐标系中的第一坐标,转换为环境图像中的第二坐标后,就确定了三维点云中的点在环境图像中对应的坐标,即第二坐标,而车道线区域已经确定,那么根据第二坐标与车道线区域的关系,就可以确定位于车道线区域内的目标点,也即三维点云中位于所述车道线区域内的点。最后可以拟合所述目标点以确定车道线。
图12是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。如图12所示,所述方法还包括:
在步骤S9中,标注所述目标点;
在步骤S10中,显示带有标注的所述目标点。
在一个实施例中,可以先获取车辆行驶环境的环境图像和三维点云,然后在获取到的环境图像中确定路面区域,进而将所述三维点云中的点向所述环境图像投影,确定位于所述车道线区域内的目标点,然后拟合目标点以确定车道线。
而对于目标点,可以对其进行标注,例如可以通过特定的颜色对目标点进行标注,例如对三维点云中的目标点标记为白色,其他非目标点则可以标记为黑色,也可以通过特定的标识对目标点进行标注,例如在三维点云中为目标点赋予不同于非目标点的标识。
据此,可以显示带有标注的目标点,以便用户在查看三维点云时,能够根据标注区分三维点云中的目标点和非目标点。
图13是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。如图13所示,所述方法还包括:
在步骤S11中,根据接收到的修正指令修正所述车道线;
在步骤S12中,将修正后的车道线投影到所述环境图像中,以确定修正后的车道线在所述环境图像中的投影与所述车道线区域是否匹配;
在步骤S13中,根据修正后的车道线在所述环境图像中的投影与所述车道线区域的匹配结果生成响应信息。
在一个实施例中,可以先获取车辆行驶环境的环境图像和三维点云,然后在获取到的环境图像中确定路面区域,进而将所述三维点云中的点向所述环境图像投影,确定位于所述车道线区域内的目标点,然后拟合目标点以确定车道线。
在确定车道线之后,可以接收人工输入的修正指令对车道线进行修正,但是人工修正的结果也可能存在误差,因此可以将修正后的车道线投影到环境图像中,以确定修正后的车道线在环境图像中的投影与车道线区域是否匹配,然后根据修正后的车道线在环境图像中的投影与车道线区域的匹配结果生成响应信息。
若修正后的车道线在环境图像中的投影与车道线区域不匹配,例如修正后的车道线在环境图像中的投影超过预设比例落在车道线区域以外,那么生成的响应信息可以用于提示用户修正结果不合理,以便用户重新修正;若修正后的车道线在环境图像中的投影与车道线区域匹配,例如修正后的车道线在环境图像中的投影小于预设比例落在车道线区域以外,那么生成的响应信息可以用于提示用户修正结果合理。
需要说明的是,本实施例除了在拟合目标点得到车道线后由人工参与进行修正,也可以在确定车道线区域,将三维点云中的点向环境图像投影的过程中由人工参与进行修正,例如在确定车道线过程中,可以接收人工输入的指令修正、补充、删减环境图像中的车道线区域,例如在将三维点云中的点向环境图像投影的过程中,对投影后的目标进行调整。
图14是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。如图14所示,在拟合所述目标点以确定车道线之前,所述方法还包括:
在步骤S14中,在所述三维点云的非目标点中,确定到所述目标点的距离小于预设距离的候选点;
在步骤S15中,在所述候选点中确定与所述目标点的预设属性信息的相似度大于预设相似度的扩展点;
在步骤S16中,将所述扩展点和所述目标点作为新的目标点;
其中,所述拟合所述目标点以确定车道线包括:
在步骤S401中,拟合所述新的目标点以确定车道线。
在一个实施例中,可以先获取车辆行驶环境的环境图像和三维点云,然后在获取到的环境图像中确定路面区域,进而将所述三维点云中的点向所述环境图像投影,确定位于所述车道线区域内的目标点,然后拟合目标点以确定车道线。
然而将三维点云中的点向环境图像中投影,或多或少会存在一些偏差,例如可能是采集环境图像的图像采集设备的外参不够准确导致的,那么将导致在三维点云中位于车道线区域的部分目标点,并不会投影到环境图像的车道线区域内,这就可能导致拟合结果并不准确,也即拟合确定的车道线与三维点云中实际的车道线存在差异。
但是由于偏差一般不会很大,所以这些未投影到车道线区域的目标点距离投影到区域的目标点距离一般较近。因此,在拟合目标点以确定车道线之前,可以在三维点云的非目标点中,确定到目标点的距离小于预设距离的候选点,这些候选点就有可能是未投影到车道线区域的目标点。
针对候选点,可以在其中确定与目标点的预设属性信息的相似度大于预设相似度的扩展点,例如可以采用floodfill(泛洪填充)算法来确定扩展点,其中,预设属性可以根据需要进行设置,例如可以是反射亮度(intensity),这些扩展点由于与目标点的预设属性信息非常接近,因此极有可能是未投影到车道线区域的目标点,从而拟合所述新的目标点以确定车道线,具体可以是将扩展点和原来的目标点作为新的目标点进行车道线拟合。
据此,可以缓解将三维点云中的点向环境图像中投影存在偏差而导致拟合结果不准确的问题。
图15是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。如图15所示,所述拟合所述目标点以确定车道线包括:
在步骤S402中,通过曲线模型拟合所述目标点以确定车道线。
在一个实施例中,可以先获取车辆行驶环境的环境图像和三维点云,然后在获取到的环境图像中确定路面区域,进而将所述三维点云中的点向所述环境图像投影,确定位于所述车道线区域内的目标点,然后拟合目标点以确定车道线。其中,拟合目标点可以根据需要选择曲线模型来进行拟合,例如可以选择贝塞尔曲线拟合目标点以确定车道线。
图16是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。如图16所示,所述通过贝塞尔曲线拟合所述目标点以确定车道线包括:
在步骤S4021中,通过多段三阶贝塞尔曲线拟合所述目标点以确定车道线。
在一个实施例中,可以先获取车辆行驶环境的环境图像和三维点云,然后在获取到的环境图像中确定路面区域,进而将所述三维点云中的点向所述环境图像投影,确定位于所述车道线区域内的目标点,然后拟合目标点以确定车道线。其中,拟合目标点可以通过多段三阶贝塞尔曲线进行拟合。
三阶贝塞尔曲线的方程如下:
P(t)=A(1-t)3+B·3(1-t)2·t+C·3(1-t)·t2+D·t3;
A、B、C和D为目标点中作为控制点的坐标,关于控制点的选取,在前文有所描述,在此不再赘述。
其中,具体拟合方式可以是确定目标点中最远的两点作为起点和终点进行拟合,然后对于拟合得到的曲线,确定是否存在目标点距离该曲线距离大于预设距离,若存在这种目标点,说明拟合效果并不满足要求,则以该目标点向曲线做垂线,然后从垂线和曲线的交点将曲线划分为两部分,针对每部分曲线对目标点继续进行拟合,若对于进一步拟合后的曲线,仍存在到曲线的距离大于预设距离的目标点,那么继续以目标点向曲线做垂线,然后再从垂线和曲线的交点将曲线进一步划分,再对划分后的每部分曲线对目标点继续进行拟合,直至对于拟合后的曲线,所有目标点到曲线的距离小于或等于预设距离。
图17是根据本公开的实施例示出的又一种高精度地图中车道线的确定方法的示意流程图。如图17所示,所述方法还包括:
在步骤S17中,基于所述车道线生成控制指令,其中,所述控制指令用于控制车辆行驶。
在一个实施例中,可以先获取车辆行驶环境的环境图像和三维点云,然后在获取到的环境图像中确定路面区域,进而将所述三维点云中的点向所述环境图像投影,确定位于所述车道线区域内的目标点,然后拟合目标点以确定车道线。
在所述高精度地图中车道线的确定方法可以应用于自动驾驶技术领域,例如应用于自动驾驶的车辆时,可以基于拟合确定的车道线生成控制指令,以控制车辆行驶,例如可以生成控制指令使得车辆在自动驾驶时,保持在两道车道线之间行驶,以便干扰或碰撞到其他车道内的车辆,确保自动驾驶过程中的交通安全。
本公开高精度地图中车道线的确定装置的实施例可以应用在车载设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图18所示,为本公开高精度地图中车道线的确定装置所在设备的一种硬件结构示意图,除了图18所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等;从硬件结构上来讲该设备还可能是分布式的设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
本公开的实施例还提出一种高精度地图中车道线的确定装置。本公开实施例所述的高精度地图中车道线的确定装置,可以适用于图像采集设备,图像采集设备可以车辆行驶环境的环境图像和三维点云,也可以适用于能够对环境图像和三维点云进行分析处理的其他电子设备,例如终端、服务器、车载设备等。
在一个实施例中,所述车道线确定装置包括包括单独或者协同工作的一个或者多个处理器,所述处理器用于执行:
获取车辆行驶环境的环境图像和三维点云;
在所述环境图像中确定车道线区域;
将所述三维点云中的点向所述环境图像投影,确定位于所述车道线区域内的目标点;
拟合所述目标点以确定车道线。
在一个实施例中,所述处理器用于执行:
根据预先确定的图像识别模型在所述环境图像中确定所述车道线区域。
在一个实施例中,所述处理器用于执行:
在所述环境图像中确定路面区域;
在所述路面区域中确定车道线区域。
在一个实施例中,所述处理器还用于执行:
在将所述三维点云中的点向所述环境图像投影之前,在所述三维点云中确定属于障碍物的障碍点;
在所述三维点云中剔除所述障碍点;
其中,所述将所述三维点云中的点向所述环境图像投影包括:
将剔除所述障碍点的三维点云中的点向所述环境图像投影。
在一个实施例中,所述处理器用于执行:
根据预先确定的深度学习模型,在所述三维点云中确定属于障碍物的障碍点。
在一个实施例中,所述三维点云为目标时刻下环境的三维点云,所述处理器还用于执行:
在将所述三维点云中的点向所述环境图像投影之前,确定所述目标时刻之前或之后的至少一个其他时刻的车辆行驶环境的三维点云,在所述目标时刻下的预测点云;
将所述预测点云堆叠到所述目标时刻下环境的三维点云中;
其中,所述将所述三维点云中的点向所述环境图像投影包括:
将堆叠后的三维点云中的点向所述环境图像投影。
在一个实施例中,所述确定所述目标时刻之前或之后的至少一个其他时刻的三维点云,所述处理器用于执行:
确定所述车辆在所述其他时刻与所述目标时刻的姿态差异,以及所述车辆在所述其他时刻与所述目标时刻的位置差异;
根据所述姿态差异和所述位置差异确定所述其他时刻的车辆行驶环境的三维点云,在所述目标时刻下的预测点云。
在一个实施例中,所述处理器用于执行:
根据采集所述环境图像的图像采集设备的内参,世界坐标系到所述图像采集设备的坐标系的旋转关系和位移关系,将所述三维点云中的点在世界坐标系中的第一坐标,转换为所述环境图像中的第二坐标。
在一个实施例中,所述处理器还用于执行:
标注所述目标点;
显示带有标注的所述目标点。
在一个实施例中,所述处理器还用于执行:
根据接收到的修正指令修正所述车道线;
将修正后的车道线投影到所述环境图像中,以确定修正后的车道线在所述环境图像中的投影与所述车道线区域是否匹配;
根据修正后的车道线在所述环境图像中的投影与所述车道线区域的匹配结果生成响应信息。
在一个实施例中,所述处理器还用于执行:
在拟合所述目标点以确定车道线之前,在所述三维点云的非目标点中,确定到所述目标点的距离小于预设距离的候选点;
在所述候选点中确定与所述目标点的预设属性信息的相似度大于预设相似度的扩展点;
将所述扩展点和所述目标点作为新的目标点;
其中,所述拟合所述目标点以确定车道线包括:
拟合所述新的目标点以确定车道线。
在一个实施例中,所述处理器用于执行:
通过曲线模型拟合所述目标点以确定车道线。
在一个实施例中,所述处理器用于执行:
通过多段三阶贝塞尔曲线拟合所述目标点以确定车道线。
在一个实施例中,所述处理器还用于执行:
基于所述车道线生成控制指令,其中,所述控制指令用于控制车辆行驶。
本公开的实施例还提出一种电子设备,包括上述任一实施例所述的高精度地图中车道线的确定装置。
本公开的实施例还提出一种自动驾驶车辆,包括上述实施例所述的电子设备。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。本领域内的技术人员应明白,本公开的实施例可提供为方法、***、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。