技术领域
[0001] 本发明属于自动驾驶领域,涉及高精度地图技术,具体涉及一种基于车载相机的道路建图方法、系统、设备及介质。
相关背景技术
[0002] 自动驾驶的高精地图包含自动驾驶所需的丰富几何、语义特征,其中道路信息、交通信号等特征是行驶过程中的道路信息,道路信息最终支持自动驾驶车辆的任务和运动规划,因此在自动驾驶邻域内对道路信息进行建图是比较重要的环节。
[0003] 道路建图是指创建道路网络的图示,通常用于城市规划、交通管理和导航系统等方面,目前道路建图方法包括基于航空/卫星影像的方式和基于车载激光雷达点云的方式。
[0004] 基于航空/卫星影像的建图方法适用于大范围的路网信息的获取,其通过人工标记或设计算法提取航空/卫星图像中的道路信息进行建图,建图的精度和准确信很大程度上取决于图像质量,受天气光照、建筑物遮挡、地形等因素影响,进而难以确保道路网络的准确性和完整性,并且提取到的道路网络不包含深度或高程信息。
[0005] 基于车载激光雷达点云的建图方法适用于小范围的道路信息的获取,其通过车载激光雷达扫描行驶道路的周边环境3D点云,通过不同物体点云强度特征区分不同物体,进而提取到道路相关点云后处理得到道路网络信息。该方法在提取道路标记时也面临遮挡和点密度波动问题,使得道路提取的不准确和不完整,并且通常激光雷达扫描采集成本较高。
具体实施方式
[0040] 下面结合附图对本申请实施例进行详细描述。
[0041] 以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例的特征可以相互组合。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0042] 本发明实施例公开了一种基于车载相机的道路建图方法,参见图1所示,所述方法包括以下步骤:
[0043] S1、在目标路段上采集多组全路段行驶数据,每组所述全路段行驶数据均包括前视图像数据流和自车位置信息;
[0044] S2、对所述前视图像数据流进行语义特征识别得到每一帧前视图像的车道线像素点,通过与每一帧所述前视图像对应的所述自车位置信息将所述车道线像素点转换为世界坐标系下的3D点云数据,得到每组所述全路段行驶数据的全程车道线3D点云;
[0045] S3、对每组所述全路段行驶数据的所述全程车道线3D点云进行聚类和拟合处理,对得到的每条车道线的所有矢量化子车道线叠加融合得到每条所述车道线的矢量化车道线,得到所述目标路段的道路网络。
[0046] 在上述步骤S1的一个可选地实施例中,对于每个目标路段,可以在不同光照条件,不同道路环境下采集各种条件下的全路段行驶数据。具体来说,在目标路段上行驶时,可以通过自车上设置的车载相机,如前视的单目车载相机实时采集得到前视图像数据流,其中前视图像数据流中包括连续多帧的前视图像。同时,通过自车上设置高精度设备如GPS模块和I MU传感器采集的数据可以得到与每帧前视图像对应的自车位置。
[0047] 在上述步骤S2的一个可选地实施例中,所述对所述前视图像数据流进行语义特征识别得到每一帧前视图像的车道线像素点,包括:
[0048] S21、采用训练的语义分割算法,对所述前视图像数据流进行语义分割提取得到所述前视图像数据流中每一帧前视图像的车道线像素语义特征;
[0049] S22、提取每一帧所述前视图像的所述车道线像素语义特征的车道线分割中点,得到每一帧所述前视图像的车道线像素点。
[0050] 在上述步骤S2的一个可选的实施例中,所述通过与每一帧所述前视图像对应的所述自车位置信息将所述车道线像素点转换为世界坐标系下的3D点云数据,包括:
[0051] S23、通过对车载相机标定后得到的相机位姿信息,对每一帧所述前视图像的所述车道线像素点进行坐标系转换,得到自车坐标系下车道线点;
[0052] S24、通过与每一帧所述前视图像对应的所述自车位置信息的经纬度和姿态角,将所述自车坐标系下车道线点转换至世界坐标系下的3D点云数据,其中,所述3D点云数据中高度信息为每一帧前视图像对应的自车高程。
[0053] 在上述步骤S23的一个可选的实施例中,使用计算机视觉库或MATLAB相机标定软件对所述车载相机进行标定,得到所述相机位姿信息,所述相机位姿信息包括所述相机相对自车坐标系的旋转矩阵和平移向量。在对车载相机进行标定时,使用的自车坐标系是指固定在本车车身上的坐标系,可以以本车后车轴中心点作为坐标原点,以车辆朝向为x方向,以车辆左侧为y方向,以垂直向上为z方向,形成右手坐标系。
[0054] 在上述步骤S3的一个可选的实施例中,所述对每组所述全路段行驶数据的所述全程车道线3D点云进行聚类和拟合处理,包括:
[0055] S31、采用聚类算法对所述全程车道线3D点云进行聚类,得到所述目标路段中每条车道线的3D点云集;
[0056] S32、对每条所述车道线的所述3D点云集进行分段直线和分段曲线拟合处理,得到每条车道线的3D车道线方程;
[0057] S33、对每条所述车道线的所述3D车道线方程进行均匀采样,将得到的有序点连接得到每条所述车道线的矢量化子车道线。
[0058] 在具体实施时,对于每组全路段行驶数据中对应的全程车道线3D点云,可以采用dbscan聚类算法进行聚类得到每条车道线对应的点集,对每条车道线的点集可以采取分段直线、曲线拟合得到拟合方程。
[0059] 在上述步骤S33的一个可选的实施例中,所述对每条所述车道线的所述3D车道线方程进行均匀采样,将得到的有序点连接得到每条所述车道线的矢量化子车道线,包括:
[0060] 依据每条所述车道线的起始点和终止点,对每条所述车道线进行均匀采样得到所述车道线的有序点,将得到的有序点连接得到每条所述车道线的矢量化子车道线。
[0061] 本发明具体实施方式中,每条车道线的矢量化车道线可以通过以下方式获得:
[0062] 首先,每组全路段行驶数据中对应的全程车道线3D点云中每个点可以表示为{(x0,y0),(x1,y1)……(xn,yn)},这些点集分属目标道路上不同车道线,通过聚类算法后得到各条车道线的点集,各车道中线点集数量不定,例如,第1车道线条有n1个点:第2条车道线有n2个点:
第m条车道线有nm个点:
当点集数量大于一定阈值时,按下述公式对各
点集进行拟合: 得到相应点集合的车道线参数
其中k∈(1,m],由此得到m条3D车道线参数方程;
[0063] 然后,根据m组点集起始点和终止点,对每条车道线曲线进行均匀采样,将得到的有序点连接后,得到m条矢量化子车道线;
[0064] 最后,当有Z组数据时,有些数据中由于遮挡,使得Z组数据中某条车道线的某段出现不全或者不清晰等多种情况,此时可以对Z组数据处理通过叠加融合的方式使得每条车道线最终的比较全面清楚的矢量化车道线,某条车道线矢量化车道线的参见图2所示,以完成道路网络建图过程。
[0065] 基于同一发明构思,本发明实施例中还提供了一种基于车载相机的道路建图系统,如下面的实施例所述。由于基于车载相机的道路建图系统解决问题的原理与上述道路建图方法相似,因此所述道路建图系统的实施可以参见上述道路建图方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0066] 图3是本发明实施例公开的基于车载相机的道路建图系统的一种结构框图,如图3所示,所述系统包括数据采集模块301、语义特征分割模块302、3D点云转换模块303和点云处理建图模块304,下面对该结构进行说明。
[0067] 其中,所述数据采集模块301用于在目标路段上采集多组全路段行驶数据,每组所述全路段行驶数据均包括前视图像数据流和自车位置信息,所述数据采集模块包括车载相机、GPS模块和I MU传感器,其中,GPS模块是用来的得到车辆在每一帧时的经纬度和高程,I MU传感器是用来测量测量车辆在每一帧的姿态角,包括俯仰角(p itch)、滚转角(ro l l)和航向角(yaw),通过将GPS和I MU的数据结合,使用卡尔曼滤波器等算法来提高数据的准确性和稳定性,校正定位和姿态信息,得到自车在每一帧的经纬度、姿态角和高程。
[0068] 所述语义特征分割模块302用于对所述前视图像数据流进行语义特征识别得到每一帧前视图像的车道线像素点。
[0069] 所述3D点云转换模块303用于通过与每一帧所述前视图像对应的所述自车位置信息将所述车道线像素点转换为世界坐标系下的3D点云数据,得到每组所述全路段行驶数据的全程车道线3D点云。
[0070] 所述点云处理建图模块304用于对每组所述全路段行驶数据的所述全程车道线3D点云进行聚类和拟合处理,对得到的每条车道线的所有矢量化子车道线叠加融合得到每条所述车道线的矢量化车道线,得到所述目标路段的道路网络。
[0071] 在上述点云处理建图模块304的一个可选的实施例中,所述点云处理建图模块304包括矢量化子车道线获取模块和融合建图模块。
[0072] 其中,所述矢量化子车道线获取模块用于采用聚类算法对所述全程车道线3D点云进行聚类,得到所述目标路段中每条车道线的3D点云集;对每条所述车道线的所述3D点云集进行分段直线和分段曲线拟合处理,得到每条车道线的3D车道线方程;对每条所述车道线的所述3D车道线方程进行均匀采样,将得到的有序点连接得到每条所述车道线的矢量化子车道线;
[0073] 所述融合建图模块用于对每条车道线的所有所述矢量化子车道线叠加融合得到每条所述车道线的矢量化车道线。
[0074] 本发明的道路建图方法,通过利用自车上的车载相机采集的全路段的多组前视图像数据流,结合通过自车上的GPS模块和I MU传感器得到的几何自车定位信息,将图像的像素信息转换为3D点云,然后通过叠加融合的方式构建车辆行驶路段的道路网络信息。本发明的方法在保证一定的准确性条件下,能有效的降低道路建图的成本,同时,通过多组数据的叠加融合能够解决因遮挡、光照等因素影响道路网络准确性和完整性的技术问题。
[0075] 在本实施例中,提供了一种计算机设备,如图4所示,包括存储器401、处理器402及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的基于车载相机的道路建图方法。
[0076] 具体的,该计算机设备可以是计算机终端、服务器或者类似的运算装置。
[0077] 在本实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的基于车载相机的道路建图方法的计算机程序。
[0078] 具体的,计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD‑ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(trans itory med i a),如调制的数据信号和载波。
[0079] 显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
[0080] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。