发明内容
本申请实施例的目的在于提供一种地图构建方法、装置、电子设备及存储介质。以实现采用市场乘用车现有的传感器完成低成本地图构建。具体技术方案如下:
为实现上述目的,本申请实施例提供了一种地图构建方法,所述方法包括:
对车辆沿目标车道线行驶过程中实时采集的各帧图像进行检测,获得从各帧图像中检测到的目标点的信息;其中,目标点包括:位于车道线端部的车道线节点、位于车位角点的车位节点和位于车道线中间的车道线关键点;
其中,车道线节点的信息包括:该车道线节点在车辆坐标系中的位置;车道线关键点的信息包括:该车道线关键点在所述车辆坐标系中的位置、该车道线关键点的曲率和采集序号;车位节点的信息包含:该车位节点在所述车辆坐标系中的位置;
构建地图坐标系;
基于所述车辆坐标系和所述地图坐标系的转换关系,将所述车道线节点、所述车道线关键点、所述车位节点在所述车辆坐标系中的位置分别转换到地图坐标系下;
基于所述目标车道线上的车道线关键点的采集序号查询所述目标车道线上的车道线关键点的曲率,将所述目标车道线上每个曲率发生突变的车道线关键点分别确定为一个子坐标系的原点,并确定各个子坐标系的坐标轴方向;基于所确定的各子坐标系的原点对目标车道线进行分段,并将每一目标分段车道线包含的车道线节点、车道线关键点在所述地图坐标系中的位置,转换到该目标分段车道线所属的子坐标系下,基于转换后的位置拟合目标分段车道线的方程;
针对每一车位节点,确定该车位节点所属的子坐标系,将该车位节点在所述地图坐标系中的位置转换到该车位节点所属的子坐标系下;
基于各个子坐标系的原点在所述地图坐标系下的位置绘制地图中的各个子坐标系,基于各个子坐标系下各个目标分段车道线的拟合方程绘制地图中的各车道线,基于各个子坐标系下各个车位节点的位置绘制地图中的各车位。
可选的,所述车位节点的信息还包含:车位标识在所述车辆坐标系下的位置,所述构建地图坐标系,包括:
基于车位标识和车位节点的位置关系将所述车位节点与所述车位标识关联以唯一标识所在车位的车位节点;
从唯一标识出的所述车位节点中选取任一一个车位节点作为地图坐标系的原点;
根据所述车道线节点确定的车道线方向或者根据所述车位节点确定的车位线方向,确定出地图坐标系的坐标轴方向。
可选的,所述构建地图坐标系,包括:
在对车辆沿目标车道线行驶过程中实时采集的各帧图像进行实时检测时,还从各帧图像中获取到起始区域标志位的至少一个节点;
以起始区域标志位中的任一节点作为地图坐标系的原点;
根据起始区域任一边所在方向确定出地图坐标系的坐标轴方向。
可选的,所述对车辆沿目标车道线行驶过程中实时采集的各帧图像进行检测,获得从各个图像中检测到的目标点的信息的步骤,包括:
对车辆沿目标车道线行驶过程中实时采集的各帧图像进行检测,确定所述车道线节点在车辆坐标系下的位置、所述车位节点在车辆坐标系下的位置和所述车道线关键点在所述车辆坐标系下的位置;
针对每一检测到的车道线关键点,记录该车道线关键点的采集序号,并计算该车道线关键点所属车道线在该车道线关键点处的曲率,作为该车道线关键点的曲率。
可选的,还包括:
针对各帧图像检测到的各目标点在地图坐标系下的位置对各目标点进行跟踪,得到各目标点在所述地图坐标系下的优化位置。
可选的,所述基于各个子坐标系下各个目标分段车道线的拟合方程绘制地图中的各车道线,包括:
针对每一目标分段车道线,基于该目标分段车道线的车道线关键点进行曲线拟合,得到该目标分段车道线所属子坐标系下的拟合方程;
将相邻的位于同一目标车道线上的两个车道线关键点的曲率发生突变的车道线关键点分别作为各个目标分段车道线的起点和终点;
根据每一目标分段车道线的拟合方程、所述起点和所述终点在该目标分段车道线所属的子坐标系下绘制各目标分段车道线;
针对所述目标车道线以外的每一非目标车道线,根据该非目标车道线上的车道线关键点的曲率发生突变的车道线关键点将该非目标车道线进行分段,得到各非目标分段车道线;
将相邻的位于同一非目标车道线上的两个车道线关键点的曲率发生突变的车道线关键点分别作为各个非目标分段车道线的起点和终点;
根据各非目标分段车道线上的车道线关键点进行曲线拟合,得到与该非目标分段车道线对应的目标分段车道线所在子坐标系下的拟合方程;
根据每一非目标分段车道线的拟合方程、与每一非目标分段车道线对应的起点和终点,在对应的子坐标系下绘制各非目标分段车道线。
可选的,所述基于各个子坐标系下各个车位节点的位置绘制地图中的车位,包括:
针对每一车位节点,确定该车位节点所属的子坐标系,根据该车位节点在所属子坐标系中的位置绘制在其所属的子坐标下的车位。
可选的,还包括:
判断所述目标车道线中的拟合方程是否为表示直线的方程;
若所述拟合方程为表示直线的方程,则计算该拟合方程与该拟合方程所在的子坐标系的坐标轴的夹角,并判断该夹角是否为零;
若该夹角不为零,以该拟合方程所在的子坐标系的原点为旋转点,基于该夹角对所述目标车道线和所述非目标车道线上的车道线节点、车道线关键点和车位节点在各自子坐标下的位置进行旋转修正,分别得到旋转修正后的所述车道线节点、所述车道线关键点和所述车位节点在其所属子坐标系下的位置。
可选的,还包括:
获取相邻两个车道线之间的车道宽度;
对各非目标车道线上的车道线关键点进行调整,使各车道线关键点到相邻的车道线的距离为所述相邻两个车道线的车道宽度;
基于调整后的各非目标车道线上的车道线关键点重新进行曲线拟合,得到与该非目标分段车道线对应的目标分段车道线所在子坐标系下的新拟合方程;
根据每一非目标分段车道线的新拟合方程、与每一非目标分段车道线对应的起点和终点在对应的子坐标系下绘制各非目标分段车道线。
本申请实施例还提供了一种基于地图的路径规划方法,所述方法包括:
加载所述地图,确定车辆在所述地图的地图坐标系中的初始位置,并确定车辆的目的位置;
基于所述车辆在所述地图的地图坐标系中的初始位置,确定车辆所属的初始子坐标系,将车辆在所述地图坐标系中的初始位置转换为车辆在所述初始子坐标系中的初始位置;
确定所述初始子坐标系中车道的终点位置,规划车辆从所述初始子坐标系中的初始位置到所述终点位置的行驶路线;
当检测到车辆与所述终点位置的距离在预设范围内,确定与所述初始子坐标系相邻的下一子坐标系,将车辆在所述初始子坐标系中的位置转换为车辆在该下一子坐标系中的位置,并将该下一子坐标系确定为新的初始子坐标系,将车辆在该下一子坐标系中的位置确定为车辆在新的初始子坐标系中的初始位置,返回确定所述初始子坐标系中车道的终点位置,规划车辆从所述初始子坐标系中的初始位置到所述终点位置的行驶路线的步骤,直到车辆行驶至所述目的位置。
可选的,所述确定车辆在所述地图的地图坐标系中的初始位置的步骤,包括:
获取环视图像,对所述环视图像进行检测,确定目标节点以及所述目标节点与车辆的相对位置;其中,所述目标节点为车位节点或起始区域标志位节点;
基于所述目标节点在所述地图的地图坐标系中的位置,以及所述目标节点与车辆的相对位置,确定车辆在所述地图的地图坐标系中的初始位置。
本申请实施例还提供了一种地图构建装置,所述装置包括:
检测模块,用于对车辆沿目标车道线行驶过程中实时采集的各帧图像进行检测,获得从各帧图像中检测到的目标点的信息;其中,目标点包括:位于车道线端部的车道线节点、位于车位角点的车位节点和位于车道线中间的车道线关键点;其中,车道线节点的信息包括:该车道线节点在车辆坐标系中的位置;车道线关键点的信息包括:该车道线关键点在所述车辆坐标系中的位置、该车道线关键点的曲率和采集序号;车位节点的信息包含:该车位节点在所述车辆坐标系中的位置;
构建模块,用于构建地图坐标系;
第一转换模块,用于基于所述车辆坐标系和所述地图坐标系的转换关系,将所述车道线节点、所述车道线关键点、所述车位节点在所述车辆坐标系中的位置分别转换到地图坐标系下;
分段模块,用于基于所述目标车道线上的车道线关键点的采集序号查询所述目标车道线上的车道线关键点的曲率,将所述目标车道线上每个曲率发生突变的车道线关键点分别确定为一个子坐标系的原点,并确定各个子坐标系的坐标轴方向;基于所确定的各子坐标系的原点对目标车道线进行分段,并将每一目标分段车道线包含的车道线节点、车道线关键点在所述地图坐标系中的位置,转换到该目标分段车道线所属的子坐标系下,基于转换后的位置拟合目标分段车道线的方程;
第二转换模块,用于针对每一车位节点,确定该车位节点所属的子坐标系,将该车位节点在所述地图坐标系中的位置转换到该车位节点所属的子坐标系下;
绘制模块,用于基于各个子坐标系的原点在所述地图坐标系下的位置绘制地图中的各个子坐标系,基于各个子坐标系下各个目标分段车道线的拟合方程绘制地图中的各车道线,基于各个子坐标系下各个车位节点的位置绘制地图中的各车位。
为实现上述目的,本申请实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一方法步骤。
为实现上述目的,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法步骤。
本申请实施例有益效果:
采用本申请实施例提供的地图构建方法,对车辆沿目标车道线行驶过程中实时采集的各帧图像进行检测,获得从各帧图像中检测到的目标点的信息;其中,目标点包括:位于车道线端部的车道线节点、位于车位角点的车位节点和位于车道线中间的车道线关键点;其中,车道线节点的信息包括:该车道线节点在车辆坐标系中的位置;车道线关键点的信息包括:该车道线关键点在车辆坐标系中的位置、该车道线关键点的曲率和采集序号;车位节点的信息包含:该车位节点在车辆坐标系中的位置;构建地图坐标系;基于车辆坐标系和地图坐标系的转换关系,将车道线节点、车道线关键点、车位节点在车辆坐标系中的位置分别转换到地图坐标系下;基于目标车道线上的车道线关键点的采集序号查询目标车道线上的车道线关键点的曲率,将目标车道线上每个曲率发生突变的车道线关键点分别确定为一个子坐标系的原点,并确定各个子坐标系的坐标轴方向;基于所确定的各子坐标系的原点对目标车道线进行分段,并将每一目标分段车道线包含的车道线节点、车道线关键点在地图坐标系中的位置,转换到该目标分段车道线所属的子坐标系下,基于转换后的位置拟合目标分段车道线的方程;针对每一车位节点,确定该车位节点所属的子坐标系,将该车位节点在地图坐标系中的位置转换到该车位节点所属的子坐标系下;基于各个子坐标系的原点在地图坐标系下的位置绘制地图中的各个子坐标系,基于各个子坐标系下各个目标分段车道线的拟合方程绘制地图中的各车道线,基于各个子坐标系下各个车位节点的位置绘制地图中的各车位。
可见,仅采用车辆自带的传感器即可完成地图构建,无需借助其他传感器。此外,在构建地图过程中,构建多个子坐标系用于描述对应的分段车道线。从而,在根据地图进行泊车辅助过程中,以车辆所处位置邻近的子坐标系的分段车道线作为路径规划的依据,避免车道线较长导致误差积累,提高了泊车辅助的精确度。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本申请保护的范围。
为了解决现有技术中采用车辆之外的其他昂贵传感器构建地图成本较高的技术问题,本申请实施例提供了一种地图构建方法、装置、电子设备及存储介质。
本申请实施例可以应用于自动代客泊车系统、或家庭泊车辅助系统等。采用本申请实施例所构建的地图可以用于自动代客泊车系统的轨迹规划。
参见图1,图1为本申请实施例提供的地图构建方法的一种流程示意图,方法可以包括以下步骤:
S101:对车辆沿目标车道线行驶过程中实时采集的各帧图像进行检测,获得从各帧图像中检测到的目标点的信息;其中,目标点包括:位于车道线端部的车道线节点、位于车位角点的车位节点和位于车道线中间的车道线关键点;其中,车道线节点的信息包括:该车道线节点在车辆坐标系中的位置;车道线关键点的信息包括:该车道线关键点在车辆坐标系中的位置、该车道线关键点的曲率和采集序号;车位节点的信息包含:该车位节点在车辆坐标系中的位置。
为了便于理解,下面先对本申请实施例涉及的目标点类型进行介绍。目标点的类型可以大致分为节点和关键点。
其中,关键点表示车道线中间点,本申请实施例中,车道线关键点用于拟合车道线方程,也用于确定车道线的曲率突变点。
节点在图像中具有明确的特征,高识别率,且可以基于图像计算节点的具体空间位置。节点可以包括:车道线线段端点、车道线交点、车位角点、方框角点等。可以用不同数字定义不同节点类型,例如定义0为车道线线段端点类节点、定义1为车道线交点类节点、定义2为车位角点类节点、定义3为方框交点类节点等。
本申请实施例中,可以从多条车道线中选取一条车道线作为目标车道线,通常可以选取最外侧的车道线作为目标车道线,如图2所示。车辆可以沿着目标车道线行驶,实时采集多帧图像,并对实时采集的各帧图像进行实时检测,获得不同类型的目标点的信息,用于绘制地图。
具体的,目标点类型包括:位于车道线端部的车道线节点、位于车位端部的车位节点和位于车道线中间的车道线关键点。如图2所示,图2示出了部分车道线节点、车道线关键点和车位节点。
车道线节点的信息包括:该车道线节点在车辆坐标系中的位置;车道线关键点的信息包括:该车道线关键点在车辆坐标系中的位置、该车道线关键点的曲率和采集序号;车位节点的信息包含:该车位节点在车辆坐标系中的位置。
本申请实施例中,可以基于机器视觉相关算法,检测车道线关键点、车道线节点。例如,所采用的算法可以是Caltech Lane Detection算法,或基于深度信息的LaneNet、SCNN算法。也可以基于机器视觉相关算法,检测车位节点。
具体的,车辆沿目标车道线行驶过程中实时采集各帧图像,对各帧图像进行检测,确定车道线节点在车辆坐标系下的位置、车位节点在车辆坐标系下的位置和车道线关键点在车辆坐标系下的位置。
此外,针对每一检测到的车道线关键点,记录该车道线关键点的采集序号,并计算该车道线关键点所属车道线在该车道线关键点处的曲率,作为该车道线关键点的曲率。
S102:构建地图坐标系。
本申请实施例中,地图采集区域可以是地下停车场、或者封闭园区停车场等。
为了进行地图构建,需要构建地图坐标系,首先,要确定地图坐标系的原点,然后再确定地图坐标系的坐标轴。
本申请的一种实施例中,在检测车位节点的过程中,还检测车位标识,车位标识可以是车位序号,例如图2中示出的车位处的“01”、“02”等字符。构建地图坐标系具体可以包括:基于车位标识和车位节点的位置关系将车位节点与车位标识关联以唯一标识所在车位的车位节点;从唯一标识出的车位节点中选取任一一个车位节点作为地图坐标系的原点;根据车道线节点确定的车道线方向或者根据车位节点确定的车位线方向,确定出地图坐标系的坐标轴方向。
其中,唯一标识所在车位的车位节点指将车位节点和车位标识进行关联,用于区分不同车位的车位节点,针对每一车位节点,确定在车辆坐标系中与该车位节点距离最近的车位标识,则将该车位节点与该车位标识关联,表示该车位节点属于该车位标识对应的车位。
在唯一标识所在车位的车位节点后,可以从唯一标识出的车位节点中任选一个车位节点作为地图坐标系的原点。
然后确定地图坐标系的坐标轴,可以先根据车道线节点确定的车道线方向或者根据车位节点确定的车位线方向,确定地图坐标系中的其中一个坐标轴方向,然后基于右手坐标系和已确定的一个坐标轴方向,确定另外一个坐标轴方向。
本申请的一种实施例中,如果地图采集区域中设置有代客泊车起始区域,也可以将代客泊车起始区域的节点作为地图坐标系的原点。构建地图坐标系具体可以包括:在对车辆沿目标车道线行驶过程中实时采集的各帧图像进行实时检测时,还从各帧图像中获取到起始区域标志位的至少一个节点;以起始区域标志位中的任一节点作为地图坐标系的原点;根据起始区域任一边所在方向确定出地图坐标系的坐标轴方向。
由于起始区域是具备唯一标识的,因此可以作为地图坐标系的原点。可以选取起始区域标志位中的任一节点作为地图坐标系的原点,根据起始区域任一边所在方向确定出地图坐标系的坐标轴方向,然后可以基于右手坐标系和已确定的一个坐标轴方向,确定另外一个坐标轴方向。
如图2所示,所确定的地图坐标系的原点可以是代客泊车的起始区域标志位中的一个节点,例如图2示出的停车场代客泊车起始区域标志的右下角的节点。或者,所确定的地图坐标系的原点可以是唯一标识出的车位节点,例如图2示出的序号为01的车位的一个车位节点。
S103:基于车辆坐标系和地图坐标系的转换关系,将车道线节点、车道线关键点、车位节点在车辆坐标系中的位置分别转换到地图坐标系下。
本申请实施例中,车辆坐标系表示以车身为原点的坐标系。在车辆沿目标车辆行驶过程中,车辆坐标系与所确定的地图坐标系的相对关系不断发生变化。车辆中的里程计算模块可以基于车载轮速计信息、IMU(Inertial MeasurementUnit,惯性测量单元)信息、车辆方向盘转向角信息,实时更新车辆坐标系和地图坐标系的转换关系。
进而可以基于车辆坐标系和地图坐标系的转换关系,将车道线节点、车道线关键点、车位节点在车辆坐标系中的位置分别转换到地图坐标系下。
其中,具体的转换过程可以参见坐标转换相关技术,不再赘述。
S104:基于目标车道线上的车道线关键点的采集序号查询目标车道线上的车道线关键点的曲率,将目标车道线上每个曲率发生突变的车道线关键点分别确定为一个子坐标系的原点,并确定各个子坐标系的坐标轴方向;基于所确定的各子坐标系的原点对目标车道线进行分段,并将每一目标分段车道线包含的车道线节点、车道线关键点在地图坐标系中的位置,转换到该目标分段车道线所属的子坐标系下,基于转换后的位置拟合目标分段车道线的方程。
本申请实施例中,为了避免车道线较长导致误差积累,可以确定多个子坐标系,并对车道线进行分段。
具体的,针对目标车道线,可以基于车道线关键点的采集序号依次查询目标车道线上车道线关键点的曲率,将目标车道线上每个曲率突变的车道线关键点分别确定为一个子坐标系的原点,而每个子坐标系的坐标轴方向可以根据需求进行设定。例如,可以设定子坐标系的坐标轴方向与地图坐标系的坐标轴方向相平行。
特别的,地图坐标系的原点可以作为第一个子坐标系的原点。
本申请实施例中,基于所确定的各子坐标系的原点对目标车道线进行分段,子坐标系是用于描述分段车道线的,针对目标车道线,分段得到的目标分段车道线的数目等同于子坐标系的数目,且二者一一对应,即每个目标分段车道线都属于一个子坐标系。
例如,对于目标车道线,第一个目标分段车道线属于第一个子坐标系,第二个目标分段车道线属于第二个子坐标系,以此类推。
本申请的一个实施例中,也可以基于车道线关键点和子坐标系原点的采集先后顺序,确定车道线关键点所属的子坐标系。例如,子坐标系原点A是第二个子坐标系的原点,子坐标系原点B是第三个子坐标系的原点,则采集顺序处于子坐标系原点A和子坐标系原点B之间的目标车道线关键点均属于第二个子坐标系。相应的,采集顺序处于子坐标系原点A和子坐标系原点B之间的目标车道线的车道线关键点,组成的目标分段车道线也属于第二个子坐标系。
作为一个示例,参见图2,图2示出了所确定的子坐标系,分别为第一段子坐标系、第二段子坐标系和第三段子坐标系。
在确定目标分段车道线所属的子坐标系后,可以将每一目标分段车道线包含的车道线节点、车道线关键点在地图坐标系中的位置,转换到该目标分段车道线所属的子坐标系下,并基于转换后的位置拟合目标分段车道线的方程。
在拟合分段车道线的方程时,可以根据实际情况选取合适的方程。对于曲率为零的目标分段车道线,采用直线方程进行拟合。对于曲率不为零的分段车道线,若曲率固定,则可以采用圆方程拟合;若曲率不固定,可以采用多项式方程拟合,或者螺旋线方程拟合。
作为一个示例,参见图2,图2中右侧最长的车道线为目标车道线,该目标车道线可以划分为三个目标分段车道线,其中第一个目标分段车道线和第三个目标分段车道线是曲率为零的直线,可以采用直线方程进行拟合,而第二个目标分段车道线是曲率不为零的曲线,可以采用多项式方程拟合。
S105:针对每一车位节点,确定该车位节点所属的子坐标系,将该车位节点在地图坐标系中的位置转换到该车位节点所属的子坐标系下。
针对车位节点,也进行坐标转换,将每一车位节点在地图坐标系中的位置转换到该车位节点所属的子坐标系下。
本申请的一个实施例中,也可以基于车位节点和子坐标系原点的采集先后顺序,确定车位节点所属的子坐标系。例如,子坐标系原点a是第二个子坐标系的原点,子坐标系原点b是第三个子坐标系的原点,则采集顺序处于子坐标系原点A和子坐标系原点B之间的车位节点均属于第二个子坐标系。
作为一个示例,参见图2,序号为01-04的车位均属于第一段子坐标系下,
则可以基于序号为01-04的车位中各车位节点在地图坐标系中的位置转换到该对应的车位节点所属的子坐标系下。
S106:基于各个子坐标系的原点在地图坐标系下的位置绘制地图中的各个子坐标系,基于各个子坐标系下各个目标分段车道线的拟合方程绘制地图中的各车道线,基于各个子坐标系下各个车位节点的位置绘制地图中的各车位。
本申请实施例中,基于上述步骤S101-S105,可以确定各个子坐标系的原点在地图坐标系下的位置,可以绘制地图中的各个子坐标系。
然后,基于各个子坐标系下各个目标分段车道线的拟合方程绘制地图中的各车道线,并基于各个子坐标系下各个车位节点的位置绘制地图中的各车位。
具体的,可以基于分段车道线在所属的子坐标系下的拟合方程,绘制分段车道线。
针对每一车位节点,确定该车位节点所属的子坐标系,根据该车位节点在所属子坐标系中的位置绘制在其所属的子坐标下的车位。
可见,仅采用车辆自带的传感器即可完成地图构建,无需借助其他传感器。此外,在构建地图过程中,构建多个子坐标系用于描述对应的分段车道线。从而,在根据地图进行泊车辅助过程中,以车辆所处位置邻近的子坐标系的分段车道线作为路径规划的依据,避免车道线较长导致误差积累,提高了泊车辅助的精确度。
本申请的一种实施例中,参见图3,图3为本申请实施例提供的地图构建方法中绘制车道线的一种流程示意图,如图3所示,上述步骤S106中:基于各个子坐标系下各个目标分段车道线的拟合方程绘制地图中的各车道线,具体可以包括:
S301:针对每一目标分段车道线,基于该目标分段车道线的车道线关键点进行曲线拟合,得到该目标分段车道线所属子坐标系下的拟合方程。
其中,曲线拟合的结果可能是表示直线的方程,也可能是表示曲线的方程。
如上文所述,可以根据车道线关键点的曲率确定采用直线方程或曲线方程进行拟合。
S302:将相邻的位于同一目标车道线上的两个车道线关键点的曲率发生突变的车道线关键点分别作为各个目标分段车道线的起点和终点。
同一目标车道线上的可能存在多个曲率发生突变的车道线关键点,可以基于车道线关键点的采集序号确定位于同一目标车道线上的两个相邻的曲率突变的车道线关键点,分别作为目标分段车道线的起点和终点。
S303:根据每一目标分段车道线的拟合方程、起点和终点在该目标分段车道线所属的子坐标系下绘制各目标分段车道线。
针对每一目标分段车道线,确定该目标分段车道线在所属子坐标系下的拟合方程,以及起点和终点之后,即可在所属子坐标系下绘制该目标分段车道线。
S304:针对目标车道线以外的每一非目标车道线,根据该非目标车道线上的车道线关键点的曲率发生突变的车道线关键点将该非目标车道线进行分段,得到各非目标分段车道线。
S305:将相邻的位于同一非目标车道线上的两个车道线关键点的曲率发生突变的车道线关键点分别作为各个非目标分段车道线的起点和终点。
S306:根据各非目标分段车道线上的车道线关键点进行曲线拟合,得到与该非目标分段车道线对应的目标分段车道线所在子坐标系下的拟合方程。
S307:根据每一非目标分段车道线的拟合方程、与每一非目标分段车道线对应的起点和终点,在对应的子坐标系下绘制各非目标分段车道线。
针对除目标车道线之外的每一非目标车道线,可以基于与目标车道线相同的原理进行车道线分段、曲线拟合以及绘制,不再赘述。
本申请的一种实施例中,为了提高车道线中各目标点的坐标精确度,可以针对各帧图像检测到的各目标点在地图坐标系下的位置对各目标点进行跟踪,得到各目标点在地图坐标系下的优化位置。
其中,优化位置是指:对基于各帧图像检测到的目标点位置进行跟踪,得到的稳定目标点的稳定位置。
具体的,针对车道线节点,可以基于不同帧图像检测得到的车道线节点进行节点关联。例如,基于图像a检测得到的车道线节点包括节点1,并且已计算得到节点1在地图坐标系中的位置坐标;基于图像b检测得到的车道线节点包括节点2,并且已计算得到节点2在地图坐标系中的位置坐标。如果节点1与节点2的欧式距离或马氏距离满足一定阈值,可以认为节点1和节点2实际上是同一车道线节点,则对节点1和节点2进行关联。
也就是,关联成功的车道线节点,实质上是同一车道线节点,为了得到车道线节点的准确坐标,可以对关联成功的车道线节点进行跟踪,所采用的跟踪算法可以是卡尔曼滤波跟踪算法。
节点跟踪能够输出车道线节点在地图坐标系中的实时更新位置。本申请的一个实施例中,如果车道线节点的实时更新位置变化小于一定阈值,表示车道线节点的位置坐标已经足够稳定,并且准确,可以取消对该车道线节点的跟踪,也就是说,得到车道线节点的稳定位置。
针对车位节点的关联、跟踪过程,可以参见针对车道线节点的关联、跟踪过程,不再赘述。
可见,采用滤波算法对车道线节点、车位节点进行关联和跟踪,相比于仅针对车道线节点、车位节点进行一次位置计算的方式,能够得到更为准确的位置信息。
本申请的一种实施例中,在得到目标车道线的拟合方程后,可以判断目标车道线中的拟合方程是否为表示直线的方程,如果是,那么在没有误差的理论情况下,目标车道线的拟合方程与该拟合方程所在的子坐标系的坐标系夹角,应该为零。
在夹角不为零的情况下,表示采集过程出现了一定误差,为了得到更准确的车道线关键点、车道线节点和车位节点信息,可以以该拟合方程所在的子坐标系的原点为旋转点,基于该夹角对目标车道线和非目标车道线上的车道线节点、车道线关键点和车位节点在各自子坐标系下的位置进行旋转修正,分别得到旋转修正后的车道线节点、车道线关键点和车位节点在其所属子坐标系下的位置。
相应的,在拟合各分段车道线的方程时,可以基于旋转修正后的车道线节点、车道线关键点进行拟合。在绘制各车位时,也可以基于旋转修正后的车位节点在所属子坐标系下的位置绘制车位。
可见,本申请的一个实施例中,基于目标车道线中的直线拟合方程和拟合方程所在的子坐标系的坐标轴之间的夹角,衡量采集误差,若夹角不为零,根据该夹角对所采集的各车道线节点、车道线关键点、车位节点的位置进行修正,能够得到更为准确的位置信息,提高绘制地图的精度。
本申请的一种实施例中,在绘制地图之前,可以基于相邻两个车道线之间的车道宽度来进一步修正车道线关键点。
具体的,可以先获取相邻两个车道线之间的车道宽度,例如基于相邻两个车道线拟合的直线方程计算车道宽度。然后对非目标车道线上的车道线关键点进行调整,使各车道线关键点到相邻的车道线的距离为相邻两个车道线的车道宽度。
也就是说,如果非目标车道线上的各车道线关键点到相邻的车道线的距离不等于车道线宽度,表示该车道线关键点的位置坐标不够准确,则可以对该车道线关键点进行优化调整,使得车道线关键点到相邻的车道线的距离为相邻两个车道线的车道宽度。
相应的,在针对各个非目标车道线上的各车道线关键点进行优化调整后,可以重新进行曲线拟合,得到与该非目标分段车道线对应的目标分段车道线所在子坐标系下的新拟合方程。
进而,根据每一非目标分段车道线的新拟合方程、与每一非目标分段车道线对应的起点和终点,在对应的子坐标系下绘制各非目标分段车道线。
可见,本申请的一个实施例中,基于车道宽度对各目标车道线的车道线关键点进行优化调整,能够得到更为准确的车道线关键点位置信息,从而更准确的绘制车道线,进一步提高绘制地图的精度。
为了便于理解,下面结合附图图4对本申请实施例提供的地图构建方法进行进一步解释说明。
图4为本申请实施例提供的地图构建方法的一种示意图,如图4所示,基于环视相机拍摄多帧图像,车位线检测算法模块检测到的具备唯一性标识的车位节点可以作为地图坐标系的原点,其中唯一性标识可以是车位序号,由光学字符检测模块检测;车道线检测算法模块检测到曲率为零的车道线方向作为地图坐标系的其中一个坐标轴的方向,从而构建地图坐标系。此外,在车辆行驶过程中,车道线检测算法模块、车位线检测算法模块实时输出车道线关键点信息、车道线节点信息和车位节点信息,包括车道线节点、车道线关键点、车位节点的位置,以及车道线关键点的曲率。
同时,车辆里程算法模块基于车辆转向角、车载IMU(Inertial measurementunit,惯性测量单元)信息和车载轮速计提供的信息,实时计算车辆坐标系与地图坐标系之间的转换关系,从而基于实时确定的转换关系将车道线节点、车道线关键点、车位节点在车辆坐标系的位置转换到地图坐标系。针对车道线关键点、节点进行关联、跟踪预测,分别确定曲率不变段和曲率渐变段中车道线关键点、节点的准确且稳定位置。针对车道线关键点,基于曲率突变的车道线关键点划分子坐标系,基于子坐标系的原点对车道线进行分段,再将车道线节点、关键点映射到子坐标系中,进而拟合车道线方程。基于各子坐标系下拟合的车道线方程,以及车位节点的位置,构建地图。
可见,仅采用车辆自带的传感器即可完成地图构建,无需借助其他传感器。
参见图5,图5为本申请实施例提供的基于地图的路径规划方法的一种流程示意图,如图5所示,方法可以包括以下步骤:
S501:加载地图,确定车辆在地图的地图坐标系中的初始位置,并确定车辆的目的位置。
本申请实施例中,所加载的地图是按照本申请实施例提供的地图构建方法构建的。
为了实现路径规划,需要先确定车辆在地图坐标系中的初始位置。具体的,可以获取环视图像,对环视图像进行检测,确定目标节点以及目标节点与车辆的相对位置,其中,目标节点是具备唯一标识的节点,例如可以是车位节点或起始区域标志位节点。
由于目标节点在所加载地图的地图坐标系中的位置是已知的,因此,可以基于目标节点在地图的地图坐标系中的位置,以及目标节点与车辆的相对位置,确定车辆在地图的地图坐标系中的初始位置。
此外,还需要确定车辆的目的位置。
S502:基于车辆在地图的地图坐标系中的初始位置,确定车辆所属的初始子坐标系,将车辆在地图坐标系中的初始位置转换为车辆在初始子坐标系中的初始位置。
本申请实施例中,为了提高路径规划质量,可以将从初始位置到目标位置的整个路径规划分为多个子坐标系下的多段路径规划。
具体的,可以基于车辆在地图的地图坐标系中的初始位置,确定车辆所属的初始子坐标系,并将车辆在地图坐标系中的初始位置转换为车辆在初始子坐标系中的初始位置。
S503:确定初始子坐标系中车道的终点位置,规划车辆从初始子坐标系中的初始位置到终点位置的行驶路线。
初始坐标系中,路径规划的终点位置是该初始坐标系中车道的终点位置,本申请实施例中,可以预先定义子坐标系中车道的站点位置。
首先,在初始坐标系中,完成一次路径规划。路径规划过程中,基于环视相机采集车道线数据,车道线检测模块、车位检测模块提供实时检测的信息,以供车载系统完成路径规划。
S504:当检测到车辆与终点位置的距离在预设范围内,确定与初始子坐标系相邻的下一子坐标系,将车辆在初始子坐标系中的位置转换为车辆在该下一子坐标系中的位置,并将该下一子坐标系确定为新的初始子坐标系,将车辆在该下一子坐标系中的位置确定为车辆在新的初始子坐标系中的初始位置,返回确定初始子坐标系中车道的终点位置,规划车辆从初始子坐标系中的初始位置到终点位置的行驶路线的步骤,直到车辆行驶至目的位置。
本申请实施例中,当检测到车辆与终点位置的距离在预设范围内,可以将车辆在初始子坐标系中的位置转换为车辆在该下一子坐标系中的位置,并将该下一子坐标系确定为新的初始子坐标系。
从而重新在下一子坐标系进行路径规划,直到车辆行驶至目的位置。
可见,在基于地图的路径规划方法中,将整个路径规划转换为各个子坐标系下的路径规划,从而,在每一子坐标系下进行路径规划,所依据的分段车道线是与车辆所处位置相邻近的,因此避免车道线较长导致误差积累,提高了泊车辅助的精确度。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一地图构建方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一地图构建方法的步骤。
本申请实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
对车辆沿目标车道线行驶过程中实时采集的各帧图像进行检测,获得从各帧图像中检测到的目标点的信息;其中,目标点包括:位于车道线端部的车道线节点、位于车位角点的车位节点和位于车道线中间的车道线关键点;
其中,车道线节点的信息包括:该车道线节点在车辆坐标系中的位置;车道线关键点的信息包括:该车道线关键点在所述车辆坐标系中的位置、该车道线关键点的曲率和采集序号;车位节点的信息包含:该车位节点在所述车辆坐标系中的位置;
构建地图坐标系;
基于所述车辆坐标系和所述地图坐标系的转换关系,将所述车道线节点、所述车道线关键点、所述车位节点在所述车辆坐标系中的位置分别转换到地图坐标系下;
基于所述目标车道线上的车道线关键点的采集序号查询所述目标车道线上的车道线关键点的曲率,将所述目标车道线上每个曲率发生突变的车道线关键点分别确定为一个子坐标系的原点,并确定各个子坐标系的坐标轴方向;基于所确定的各子坐标系的原点对目标车道线进行分段,并将每一目标分段车道线包含的车道线节点、车道线关键点在所述地图坐标系中的位置,转换到该目标分段车道线所属的子坐标系下,基于转换后的位置拟合目标分段车道线的方程;
针对每一车位节点,确定该车位节点所属的子坐标系,将该车位节点在所述地图坐标系中的位置转换到该车位节点所属的子坐标系下;
基于各个子坐标系的原点在所述地图坐标系下的位置绘制地图中的各个子坐标系,基于各个子坐标系下各个目标分段车道线的拟合方程绘制地图中的各车道线,基于各个子坐标系下各个车位节点的位置绘制地图中的各车位。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
应用本申请实施例提供的电子设备,仅采用车辆自带的传感器即可完成地图构建,无需借助其他传感器。此外,在构建地图过程中,构建多个子坐标系用于描述对应的分段车道线。从而,在根据地图进行泊车辅助过程中,以车辆所处位置邻近的子坐标系的分段车道线作为路径规划的依据,避免车道线较长导致误差积累,提高了泊车辅助的精确度。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任一地图构建方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一地图构建方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于地图构建装置、电子设备、计算机可读存储介质及计算机程序产品实施例而言,由于其基本相似于地图构建方法实施例,所以描述的比较简单,相关之处参见地图构建方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。