具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面将参考附图并结合实施例来详细说明本公开。
图1是本公开的一些实施例的障碍物信息生成方法的一个应用场景的示意图。
在图1的应用场景中,首先,计算设备101可以获取历史时间段内的检测数据集102和车辆位姿信息集103,其中,上述检测数据集102中的检测数据包括:时间戳和障碍物检测点坐标值,上述车辆位姿信息集103中的车辆位姿信息包括:时间戳和车辆位姿矩阵。接着,计算设备101可以将上述车辆位姿信息集103中每个车辆位姿信息和上述检测数据集102中与上述车辆位姿信息相匹配的检测数据进行组合以生成位姿数据信息组,得到位姿数据信息组集合104。然后,计算设备101可以响应于确定上述位姿数据信息组集合104满足预定条件,对上述位姿数据信息组集合104中的各个位姿数据信息进行信息分类,得到动态位姿数据信息集105和静态位姿数据信息集106。之后,计算设备101可以基于上述静态位姿数据信息集106,生成静态障碍物信息107。而后,计算设备101可以基于上述动态位姿数据信息集105,生成动态障碍物信息集108。最后,计算设备101可以基于上述静态障碍物信息107和上述动态障碍物信息集108,生成车辆车道级定位信息109。
需要说明的是,上述计算设备101可以是硬件,也可以是软件。当计算设备为硬件时,可以实现成多个服务器或终端设备组成的分布式集群,也可以实现成单个服务器或单个终端设备。当计算设备体现为软件时,可以安装在上述所列举的硬件设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的计算设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的计算设备。
继续参考图2,示出了根据本公开的车辆车道级定位方法的一些实施例的流程200。该车辆车道级定位方法,包括以下步骤:
步骤201,获取历史时间段内的检测数据集和车辆位姿信息集。
在一些实施例中,车辆车道级定位方法的执行主体(如图1所示的计算设备101)可以通过有线的方式或者无线的方式获取历史时间段内的检测数据集和车辆位姿信息集。其中,上述检测数据集中的检测数据可以包括但不限于:时间戳和障碍物检测点坐标值,上述车辆位姿信息集中的车辆位姿信息可以包括但不限于:时间戳和车辆位姿矩阵。上述历史时间段内(例如,3秒)的检测数据集可以是通过第一车载传感器(例如,毫米波雷达)生成的。上述车辆位姿信息集可以是通过第二车载传感器(例如,惯性测量单元)生成的。上述车辆位姿信息包括的车辆位姿矩阵可以用于表征车辆的位置和姿态的变化量。上述检测数据和位姿信息可以通过包括的时间戳成对应关系。例如,可以通过时间戳确定与位姿信息具有相同时间戳的检测数据。也可以通过时间戳确定与检测数据具有相同时间戳的位姿信息。上述障碍物检测点坐标值可以是在车辆坐标系中的障碍物检测点的坐标值。该车辆坐标系可以是以车辆的中心为原点,过原点以车辆的前进方向为横轴,过原点以垂直于横轴的水平朝向(例如,水平朝左的方向)为纵轴建立的。
步骤202,将车辆位姿信息集中每个车辆位姿信息和检测数据集中与车辆位姿信息相匹配的检测数据进行组合以生成位姿数据信息组,得到位姿数据信息组集合。
在一些实施例中,上述执行主体可以将上述车辆位姿信息集中每个车辆位姿信息和上述检测数据集中与上述车辆位姿信息相匹配的检测数据进行组合以生成位姿数据信息组,得到位姿数据信息组集合。其中,可以将上述车辆位姿信息集中每个车辆位姿信息和上述检测数据集中与上述车辆位姿信息包括的时间戳相同的检测数据进行组合以生成位姿数据信息组。位姿数据信息组可以用于表征同一个时间戳对应的所有检测数据和车辆位姿信息。由此,可以对两个不同传感器产生的数据进行时间维度的结构化融合(例如,将具有对应关系的数据作为一条记录存储在数据库中),使得减少融合后的数据的存储标签(例如,表名)。从而,可以从数据结构化的角度降低存储资源的占用。
步骤203,响应于确定位姿数据信息组集合满足预定条件,对位姿数据信息组集合中的各个位姿数据信息进行信息分类,得到动态位姿数据信息集和静态位姿数据信息集。
在一些实施例中,上述执行主体可以响应于确定上述位姿数据信息组集合满足预定条件,对上述位姿数据信息组集合中的各个位姿数据信息进行信息分类,得到动态位姿数据信息集和静态位姿数据信息集。其中,上述预定条件可以是上述位姿数据信息组集中每个位姿数据信息组中存在车辆位姿信息和检测数据,以及车辆位姿信息包括的车辆位姿矩阵所表征的位置姿态变化量小于预设的车辆位置姿态变化量。上述动态位姿数据信息集可以用于表征上述车辆周围的动态障碍物的信息(例如,周围行驶车辆的信息)。上述静态位姿数据信息集可以用于表征上述车辆周围的静态障碍物的信息(例如,车道隔离栏的信息)。具体的,上述车辆位姿矩阵小于预设的车辆位置姿态变化量可以用于表征车辆的位置和姿态的变化量在预设的车辆位姿矩阵范围内,符合实际情况,为正常状态。另外,上述信息分类可以是通过分类算法(例如,决策树,逻辑回归等算法)对上述位姿数据信息组集合中的各个位姿数据信息组进行分类。
在一些实施例的一些可选的实现方式中,上述检测数据集中的检测数据还可以包括相对速度值,上述车辆位姿信息集中的车辆位姿信息还可以包括车辆对地速度值。以及上述执行主体对位姿数据信息组集合中的各个位姿数据信息进行信息分类,可以包括以下步骤:
第一步,基于上述位姿数据信息组集合中每个位姿数据信息包括的相对速度值和车辆对地速度值,确定与上述位姿数据信息包括的障碍物检测点坐标值对应的对地速度值,得到对地速度值集合。其中,上述相对速度值可以是检测数据包括的障碍物检测点坐标值所表征的障碍物检测点相对于上述车辆的速度值。上述车辆对地速度值可以是某一时刻车辆相对地面的速度值。可以将每个位姿数据包括的相对速度值和车辆对地速度值的差值确定为对地速度值。
第二步,将上述对地速度值集合中大于预设速度阈值的对地速度值对应的位姿数据信息确定为动态位姿数据信息,得到动态位姿数据信息集。其中,上述预设速度阈值(例如,0.1米/秒)可以表征速度值的最小分辨率,以用于区分位姿数据信息对应的障碍物检测点是静态或动态。
第三步,将上述对地速度值集合中小于等于上述预设速度阈值的对地速度值对应的位姿数据信息确定为静态位姿数据信息,得到静态位姿数据信息集。
步骤204,基于静态位姿数据信息集,生成静态障碍物信息。
在一些实施例中,上述执行主体可以基于上述静态位姿数据信息集,生成静态障碍物信息。其中,可以将上述静态障碍物信息输入至预设的深度学习模型中(例如,循环神经网络,深度神经网络等),生成静态障碍物信息。该静态障碍物信息可以用于表征上述车辆于障碍物之间的距离值。
步骤205,基于动态位姿数据信息集,生成动态障碍物信息集。
在一些实施例中,上述执行主体可以基于上述动态位姿数据信息集,生成动态障碍物信息集。其中,可以将上述动态位姿数据信息集输入至预设的深度学习模型中(例如,深度生成网络,深度信念网络等),生成动态障碍物信息集。该动态障碍物信息集的数量可以用于表征上述车辆的周围环境中存在的动态障碍物的个数(例如,车辆,行人等)。上述动态障碍物信息集可以用于表征动态障碍物在车辆坐标系中的位置。
在一些实施例的一些可选的实现方式中,上述执行主体基于动态位姿数据信息集,生成动态障碍物信息集,可以包括以下步骤:
第一步,基于上述动态位姿数据信息集,生成动态障碍物质心坐标值组和平均速度值组。其中,可以利用分类算法(例如,均值偏移聚类算法,层次聚类算法等)对上述动态位姿数据信息集中的动态位姿数据信息进行分类,得到动态障碍物信息组集。每个动态障碍物信息组可以用于表征一个动态障碍物。从动态障碍物信息组中挑选出相对距离最远的预定数目个动态障碍物信息。将该预定数目个动态障碍物信息对应的障碍物坐标点的坐标值的平均值确定为质心坐标值。将该预定数目个动态障碍物信息对应的相对速度的平均值确定为平均速度值。
第二步,根据上述平均速度值组,对上述动态障碍物质心坐标值组中的各个动态障碍物质心坐标值进行坐标值校验,得到校验后的动态障碍物质心坐标值组,作为动态障碍物信息集。其中,可以将上述平均速度值组和上述动态障碍物质心坐标值组中的各个动态障碍物质心坐标值输入至预设的车辆动力学模型(例如,卡尔曼滤波器)以进行坐标值校验,生成校验后的动态障碍物置信坐标值组。
在一些实施例的一些可选的实现方式中,上述执行主体基于上述动态位姿数据信息集,生成动态障碍物质心坐标值组和平均速度值组,可以包括以下步骤:
第一步,将上述动态位姿数据信息集中各个动态位姿数据信息包括的障碍物检测点坐标值添加至动态坐标值集合中。其中,上述动态坐标值的初始状态可以为空集。
第二步,确定上述动态坐标值集合中每两个动态坐标值对应的相对速度值之间的速度差值,得到速度差值集合。其中,每两个动态坐标值可以是上述动态坐标值集合中的任意两个动态坐标值。由于动态坐标值可以是上述障碍物检测点坐标值,动态位姿数据信息包括障碍物检测点坐标值,以及动态位姿数据信息中还包括相对速度值。因此,可以确定动态坐标值对应的相对速度值。
第三步,将上述动态坐标值集合中每两个动态坐标值对应的相对速度值之间的差值确定为速度差值,得到速度差值集合。其中,速度差值集合中的速度差值可以用于表征两个障碍物检测点坐标值对应的障碍物检测点之间的速度差值。
第四步,基于上述动态坐标距离值集合和上述速度差值集合,对上述动态坐标距离值集合中的各个动态坐标距离值进行分类,得到动态坐标距离值组集合。其中,可以将动态位姿数据信息集中的每个动态位姿数据信息对应的上述动态坐标距离值集合中大于预设动态坐标距离阈值,且对应的上述速度差值集合中小于预设速度差值阈值的动态坐标距离值作为动态数据坐标距离值组。
第五步,确定上述动态坐标距离值组集合中每个动态坐标距离值组中各个动态坐标距离值的质心坐标值和平均速度值,得到动态障碍物质心坐标值组和平均速度值组。其中,可以将上述动态坐标距离值组中各个动态距离值的平均值确定为质心坐标值。可以将上述动态坐标距离值组中各个动态坐标距离值对应的相对速度值确定为平均速度值。
第六步,根据上述动态障碍物质心坐标值组和上述平均速度值组,生成车辆位置坐标值集,作为动态障碍物信息集。其中,可以根据预设的自适应滤波器生成动态障碍物的位置坐标值。
步骤206,基于静态障碍物信息和动态障碍物信息集,生成车辆车道级定位信息。
在一些实施例中,上述执行主体可以基于上述静态障碍物信息和上述动态障碍物信息集,生成车辆车道级定位信息。其中,上述静态障碍物信息和动态障碍物信息集可以综合表示上述车辆在上述历史时间段内周围障碍物距离变化情况。首先可以根据车载定位装置预估车辆的位置。然后可以从预先存储的车道数量信息中选出相同位置的车道数量信息,以确定上述车辆当前的车道数。之后可以根据上述静态障碍物信息所表征的距离值(即车辆与障碍物之间的距离值)进一步确定车辆所在车道(例如,障碍物为车道隔离栏,不同车道距离车道隔离栏的距离不同。因此,可以利用车辆与障碍物的距离值判断车辆所在的车道)。最后,可以根据上述动态障碍物信息集所包括的各个动态障碍物的距离值和坐标值(例如,动态障碍物的位置坐标值)对上述车辆所在的车道进行逻辑判断,确定上述车辆的最终车道以生成车辆车道级定位信息。从而,完成车辆车道级定位。
本公开的上述各个实施例具有如下有益效果:通过本公开的一些实施例的车辆车道级定位方法,可以提高车辆车道级定位的效率。具体来说,造成车辆车道级定位效率降低的原因在于:常用方法中的每个车道级定位方法都需要访问高精度地图数据或处理大量由传感器检测后输出的数据,因此,将占用大量的计算资源和内存资源,导致计算资源紧缺、计算能力不足等问题。基于此,本公开的一些实施例的车辆车道级定位方法,首先,减少了传感器的数量。可以使用少量的传感器(例如,毫米波雷达和惯性测量单元)检测车辆周围环境信息,以提供历史时间段内的检测数据集和车辆位姿信息集。由此,可以降低大量传感器检测后输出的数据量。然后,通过本方法中的车道级定位方法进行车辆车道级定,避免了综合多种车道级定位方法进行车道级定位。由此,可以减少利用多种车道级定位方法时对高精度地图数据的访问量。从而,通过降低大量传感器检测后输出的数据量和减少对高精度地图数据的访问量两个方面,节省了计算资源和内存资源的消耗。进而,提高了车辆车道级定位的效率。
进一步参考图3,其示出了车辆车道级定位方法的另一些实施例的流程300。该车辆车道级定位方法的流程300,包括以下步骤:
步骤301,获取历史时间段内的检测数据集和车辆位姿信息集。
步骤302,将车辆位姿信息集中每个车辆位姿信息和检测数据集中与车辆位姿信息相匹配的检测数据进行组合以生成位姿数据信息组,得到位姿数据信息组集合。
在一些实施例中,步骤301-302的具体实现方式及所带来的技术效果可以参考图2对应的那些实施例中的步骤201-202,在此不再赘述。
步骤303,响应于确定位姿数据信息组集合满足预定条件,对位姿数据信息组集合中的各个位姿数据信息进行信息分类,得到动态位姿数据信息集和静态位姿数据信息集。
在一些实施例中,上述执行主体可以响应于确定位姿数据信息组集合满足预定条件,对位姿数据信息组集合中的各个位姿数据信息进行信息分类,得到动态位姿数据信息集和静态位姿数据信息集。上述信息分类还可以是对于上述位姿数据信息组集合中的每个位姿数据信息组中的各个位姿数据信息进行分类。使得每个位姿数据信息组分类后可以得到动态位姿数据信息集和静态位姿数据信息集。即上述历史时间段内的每个时间戳可以对应一个动态位姿数据信息和一个静态位姿数据信息集。
步骤304,基于静态位姿数据信息集,生成静态障碍物表达式。
在一些实施例中,上述执行主体可以基于上述静态位姿数据信息集,生成静态障碍物表达式。其中,首先可以对上述静态位姿数据信息集中的各个静态位姿数据信息进行分类,从中选出表征目标静态障碍物(例如,路沿石)的静态位姿数据信息。然后,可以对表征目标静态障碍物的静态位姿数据信息包括的各个障碍物检测点坐标值进行表达式拟合(例如,直线拟合,二次曲线拟合等)。由此,可以生成静态障碍物表达式,用于表征道路上固定障碍物对应的障碍物检测点坐标值在车辆坐标系中的分布情况。上述静态障碍物信息可以包括静态障碍物表达式和静态障碍物表达式校验值。上述静态障碍物表达式校验值可以用于校验静态障碍物表达式所表征的静态障碍物是否适用于作为车辆车道级定位的参照物。从而,可以利用道路上固定的障碍物确定上述车辆的所在位置。另外,上述历史时间段内的每个时间戳可以对应一个静态障碍物表达式。
在一些实施例的一些可选的实现方式中,上述执行主体基于静态位姿数据信息集,生成静态障碍物表达式,可以包括以下步骤:
第一步,确定预设的基础表达式对应的最小拟合障碍物坐标数量。其中,预设的基础表达式可以是直线表达式,也可以是多项式曲线表达式。上述最小拟合障碍物坐标数量可以表示用于求解基础表达式的最少的坐标值的数量。
作为示例,当基础表达式为直线(例如,y=kx+b)时,最小拟合障碍物坐标数量可以是两个。即,需要两个障碍物检测点坐标值可以求解基础表达式。
第二步,从上述静态位姿数据信息集中选出上述最小拟合障碍物坐标数量个静态位姿数据信息,以及基于预设的循环计数阈值、预设的表达式信息集、预设的检测点最少数量阈值和所选出的静态位姿数据信息包括的障碍物检测点坐标值,执行以下拟合步骤:
第一子步骤:基于所选出的静态位姿数据信息包括的障碍物检测点坐标值,对上述基础表达式进行拟合,得到基础拟合表达式。其中,可以将所选出的静态位姿数据信息包括的障碍物检测点坐标值输入至上述基础表达式,生成基础表达式的参数。由此,可以得到基础拟合表达式。
第二子步骤:将上述静态位姿数据信息集中与所选出的各个静态位姿数据信息不匹配的静态位姿数据信息确定为目标静态位姿数据信息,得到目标静态位姿数据信息集合。其中,上述不匹配的静态位姿数据信息可以是与所选出的各个静态位姿数据信息不同的静态位姿数据信息。即,可以将上述静态位姿数据信息集中与所选出的各个静态位姿数据信息不相同的静态位姿数据信息确定为目标静态位姿数据信息,得到目标静态位姿数据信息集合。
第三子步骤:确定目标静态位姿数据信息集中每个目标静态位姿数据信息包括的障碍物检测点坐标值与基础拟合表达式之间的点线距离值,得到点线距离值组。其中,可以通过点到直线的距离值公式,确定目标静态位姿数据信息集中每个目标静态位姿数据信息包括的障碍物检测点坐标值与基础拟合表达式之间的点线距离值,得到点线距离值组。
第四子步骤:确定目标静态位姿数据信息集中各个目标静态位姿数据信息包括的障碍物检测点坐标值与基础拟合表达式之间的最大容差距离值。其中,上述最大容差距离值可以用于筛选与基础拟合表达式接近的障碍物检测点坐标值。可以从预设的表达式与最大容差距离值对应的关系表中选出最大容差距离值。关系表中可以包括不同形式的表达式与对应的最大容差距离值。
作为示例,基础拟合表达式为直线,在关系表中对应的最大容差距离值可以是0.01米。
第五子步骤:将点线距离值组中小于上述最大容差距离值的点线距离值对应的障碍物检测点坐标值添加至初始检测点坐标值集合中,得到检测点坐标值集合。其中,上述初始检测点坐标值集合的初始状态可以为空集。初始检测点坐标值集合可以用于在每次循环中存储点线距离值组中小于上述最大容差距离值的点线距离值对应的障碍物检测点坐标值,以生成检测点坐标值集合。
第六子步骤:将循环计数值增加1。其中,上述循环计数值的初始值可以为0。上述循环计数值(例如,100次)用于限定上述拟合步骤的循环次数。
第七子步骤:响应于确定循环计数值等于上述循环计数阈值,将表达式信息集中各个表达式信息中包括的检测点坐标值的数量最大的检测点坐标值的数量对应的基础拟合表达式确定为静态障碍物表达式。其中,上述最少数量阈值用于表征与基础拟合表达式之间的距离在上述最大容差距离值以内的障碍物检测点坐标值的最少数量。
第八子步骤:响应于确定循环计数值等于上述循环计数阈值,将表达式信息集中各个表达式信息包括的各个检测点坐标值中最大的检测点坐标值对应的基础拟合表达式确定为静态障碍物表达式。其中,上述循环计数值等于上述循环计数阈值可以表示循环的次数达到了预定次数,由此可以结束循环并输出静态障碍物表达式。
在一些实施例的一些可选的实现方式中,上述执行主体基于静态位姿数据信息集,生成静态障碍物表达式,还可以包括以下步骤:
响应于确定循环计数值小于上述循环计数阈值,将上述检测点坐标值集合初始化为初始检测点坐标值集合,以及从上述静态位姿数据信息集中选出未选择过的上述最小拟合障碍物坐标数量个静态位姿数据信息再次执行上述拟合步骤。其中,上述初始化可以是将上述检测点坐标值集合中的内容清空,得到空的初始检测点坐标值集合以便后续再次参与循环。从上述静态位姿数据信息集中选出静态位姿数据信息后可以对选出的静态位姿数据信息进行标记,由此可以确定静态位姿数据信息集中的未选择过的静态位姿数据信息。从而,可以达到避免重复选取的目的。
另外,当未选择过的静态位姿数据信息的数量小于上述最小拟合障碍物坐标数量个静态位姿数据信息时,也可以结束循环并将表达式信息集中各个表达式信息包括的各个检测点坐标值中最大的检测点坐标值对应的基础拟合表达式确定为静态障碍物表达式。实际的,上述静态障碍物表达式可以用于表征上述车辆在当前时刻的周围环境中静态障碍物在车辆坐标系中的表达形式。因此,在车辆行驶过程中的每个时刻都可以对应一个静态障碍物表达式。
步骤305,对静态障碍物表达式在车辆坐标系中预设的横轴区间内进行间隔采样,得到采样点坐标值集。
在一些实施例中,上述执行主体可以对上述静态障碍物表达式在车辆坐标系中预设的横轴区间内进行间隔采样,得到采样点坐标值集。其中,上述采样点坐标值集中的采样点坐标值与上述车辆位姿信息集中的车辆位姿信息包括的时间戳相对应。上述预设的横轴区间可以是大于等于零且小于等于横坐标阈值。上述间隔采样可以是以预设的长度间隔进行采样。
另外,考虑到毫米波雷达的特性:采集的障碍物检测点坐标值的准确度与载体与障碍物之间的距离成反比关系。即距离载体(例如,上述车辆)较近处采集的障碍物检测点坐标值的准确度更高,距离载体较远处采集的障碍物检测点坐标值的准确度会变低。因此,可以将上述预设的长度间隔设置为增长型。使得在距离载体较近的位置可以较多的进行采样。在距离载体较远的位置逐渐稀疏采样。从而,可以提高采样的准确度。上述长度间隔可以是以预设基础间隔为基准,每次采样将预设的基础间隔与增长因子(例如,取值为大于1且小于等于2的数)的乘积作为采样间隔。
步骤306,基于采样点坐标值集中各个采样点坐标值对应的车辆位姿矩阵,将采样点坐标值集中的每个采样点坐标值投影至车辆坐标系中以生成投影点坐标值,得到投影点坐标值集。
在一些实施例中,上述执行主体可以基于上述采样点坐标值集中各个采样点坐标值对应的车辆位姿矩阵,将上述采样点坐标值集中的每个采样点坐标值投影至车辆坐标系中以生成投影点坐标值,得到投影点坐标值集。其中,采样点坐标值和车辆位姿矩阵相对应可以是采样点坐标值对应的时间戳和车辆位姿矩阵对应的时间戳相同。可以通过以下步骤对上述采样点坐标值集中各个采样点坐标值进行投影:
第一步,可以将当前时刻的时间戳和上一时刻的时间戳对应的车辆位姿矩阵的乘积确定为位姿投影矩阵。其中,当前时刻可以对应一个时间戳。在上述历史时间段内可以包括多个连续的时间戳。该多个连续的时间戳可以是有时序的。当确定一个时间戳时,可以将与该时间戳相邻的前一个时间戳作为上一时刻。因此,可以确定上一时刻的时间戳对应的车辆位姿矩阵。
第二步,可以将上述采样点坐标值集中的每个采样点坐标值与该位姿投影矩阵的乘积确定为投影点坐标值,得到投影点坐标值集。
步骤307,基于投影点坐标值集和预先生成的上一时刻的静态障碍物表达式,对静态障碍物表达式进行静态校验,得到静态障碍物表达式校验信息。
在一些实施例中,上述执行主体可以基于上述投影点坐标值集和预先生成的上一时刻的静态障碍物表达式,对上述静态障碍物表达式进行静态校验,得到静态障碍物表达式校验信息组。其中,基于上述投影点坐标值集和预先生成的上一时刻静态的障碍物表达式,可以通过以下公式,生成静态障碍物表达式校验信息包括的平均值和方差值:
其中,
表示上述投影点坐标值集中各个投影点坐标值与上述上一时刻静态障碍物表达式之间距离的平均值,
表示序号,
表示上一时刻,
表示上述投影点坐标值集中投影点坐标值的数量,
表示上述静态障碍物表达式中的一次项系数,
表示上述上一时刻的静态障碍物表达式中的一次项系数,
表示上述投影点坐标值集中投影点坐标值的横坐标值,
表示上述投影点坐标值集中第
个投影点坐标值的横坐标值,
表示上述投影点坐标值集中投影点坐标值的纵坐标值,
表示上述投影点坐标值集中第
个投影点坐标值的纵坐标值,
表示上述静态障碍物表达式中的常数项,
表示上述上一时刻的静态障碍物表达式中的常数项,
表示上述投影点坐标值集中各个投影点坐标值与上述上一时刻静态障碍物表达式之间距离的方差值。
上述公式及其相关内容作为本公开的实施例的一个发明点,解决了背景技术提及的技术问题二“车辆传感器容易受到环境影响,导致传感器输出的数据的准确性降低,因此,导致一些车道级定位方法输出的车道级定位结果的准确性也随之降低,且由于常用的方法未对车道级定位结果进行校验,使得综合多个未校验的车道级定位方法的结果进行车道级定位时,导致车道级定位的准确度降低”。导致车道级定位的准确度降低的因素往往如下:车辆传感器容易受到环境影响,导致传感器输出的数据的准确性降低,因此,导致一些车道级定位方法输出的车道级定位结果的准确性也随之降低,且由于常用的方法未对车道级定位结果进行校验。如果解决了上述因素,就能提高车辆车道级定位的准确度。为了达到这一效果,首先,考虑了车辆在实际行驶过程中存在的环境因素,即存在静态的障碍物和动态的障碍物。在进行车辆车道级定位时,静态障碍物和动态障碍物对定位结果存在着不同的影响。因此,为了提高车辆车道级定位的准确度,对上述位姿数据信息组集合中的各个位姿数据信息进行了信息分类。然后,考虑了静态障碍物中存在一些参考难度较大的静态障碍物(例如,树干)。同时也存在一些易于参考的静态障碍物(例如,路沿石,栅栏等)。因此,上述方法对静态障碍物再次进行了筛选,选出符合条件的静态位姿数据信息作为车道级定位的参考内容。之后,考虑到了选出的静态位姿数据信息中包括的坐标值是散列状态,而散列的坐标值不能较好的体现静态障碍物在车辆坐标系中的形态(例如直线,或多次曲线)以进行统一的数学运算。因此,引入了静态障碍物表达式,从而便于统一的数学运算。而后,考虑到引入的静态障碍物表达式的准确度问题。因此,引入了上述公式,对采样点投影后的各个投影坐标值进行了静态校验。可以确保上述静态障碍物表达式具有较高的准确度。从而,在使用少量车辆传感器(例如,可以仅考虑毫米波雷达和惯性测量单元)的情况下,降低了环境对传感器检测结果的影响(即,毫米波雷达的主动探测结果可以较少的受到天气和光线的影响)。以及从多个方面贴合实际情况提高了每个步骤生成的数据的准确度。进而,提高了生成的车辆车道级定位信息的准确度。
步骤308,响应于确定静态障碍物表达式校验信息满足预设的静态校验条件,将静态障碍物表达式和静态障碍物表达式校验值确定为静态障碍物信息。
在一些实施例中,上述执行主体可以响应于确定上述静态障碍物表达式校验信息满足预设的静态校验条件,将上述静态障碍物表达式和上述静态障碍物表达式校验信息确定为静态障碍物信息。其中,上述预设的静态校验条件可以是:上述静态障碍物表达式校验信息中包括的平均值小于预设的平均阈值,且包括的方差值小于预设的方差阈值。
可选地,由于上述历史时间段内的每个时间戳都可以对应一个静态障碍物表达式,因此,上述执行主体还可以对每个静态障碍物表达式进行上述静态校验,得到静态障碍物表达式校验信息组。然后,可以通过以下公式生成静态障碍物表达式评分值:
其中,
表示上述静态障碍物表达式评分值。
表示初始评分值。
表示上述静态障碍物表达式校验信息组中满足上述预设的静态校验条件的静态障碍物表达式校验信息的数量。
表示评分值增长因子(例如,1.2)。
步骤309,基于动态位姿数据信息集,生成动态障碍物信息集。
在一些实施例中,步骤309的具体实现方式及所带来的技术效果可以参考图2对应的那些实施例中的步骤205,在此不再赘述。
步骤310,基于静态障碍物信息和动态障碍物信息集,生成车辆车道级定位信息。
在一些实施例中,上述执行主体可以基于上述静态障碍物信息和上述动态障碍物信息集,生成车辆车道级定位信息。其中,首先可以确定上述静态障碍物信息包括的静态障碍物表达式和上述车辆的预设的最近距离,预设的道路宽度值,预设的应急车道宽度值。然后,可以根据上述静态障碍物表达式和上述车辆的最近距离,道路宽度值,应急车道宽度值对上述车辆所在的车道进行判断,得到车辆所在的车道。
作为示例,以当前道路有两个车道和一个应急车道为例,当上述最近距离值小于上述道路宽度值的一半和上述应急车道宽度值的和,则上述车辆所在的车道为左数第一条车道上。当上述最近距离大于上述道路宽度值的一半,则可以确定上述车辆在左数第二个车道上。由此,达到了车辆车道级定位的目的。
可选地,上述执行主体还可以基于上述静态障碍物信息组、静态障碍物表达式评分值和上述动态障碍物信息集,生成车辆车道级定位信息。其中,首先对于上述动态障碍物信息集中的当前时刻的动态障碍物信息包括的障碍物的位置坐标值,可以确定障碍物与上述车辆之间的横向距离值。然后,根据上述横向距离值、上述道路宽度值、静态障碍物表达式评分值、上述应急车道宽度值和上述静态障碍物信息包括的静态障碍物表达式和上述车辆的最近距离,可以生成车辆车道级定位规则。最后可以将符合上述车辆车道级定位规则的车道信息作为车辆车道级定位信息。
作为示例,例如上述车辆所在的道路有三个及以上车道和一个应急车道。当上述最近距离值小于上述道路宽度值的一半和上述应急车道宽度值的和,以及上述静态障碍物表达式评分值大于预设评分阈值,则可以生成的上述车辆车道级定位规则组包括的一条规则为:上述车辆所在的车道不在右数第一车道和右数第二车道。当上述横向距离值小于道路中一条车道的宽度时,则可以生成的上述车辆车道级定位规则组包括的一条规则为:上述车辆不在左数第一条车道上。
从图3中可以看出,与图2对应的一些实施例的描述相比,图3对应的一些实施例中的车辆车道级定位方法的流程300体现了生成静态障碍物信息和生成车辆车道级定位信息的步骤。从多个方面贴合实际情况提高了每个步骤生成的数据的准确度。使得提高了生成静态障碍物信息的准确度。最后,结合静态障碍物信息和动态障碍物信息生成车辆车道级定位信息。使得生成的车辆车道级定位信息更加准确。从而,上述方法可以在提高车辆车道级定位的效率的基础上,兼顾的提高生成的车辆车道级定位信息的准确度。
进一步参考图4,作为对上述各图所示方法的实现,本公开提供了一种车辆车道级定位装置的一些实施例,这些装置实施例与图2所示的那些方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,一些实施例的车辆车道级定位装置400包括:获取单元401、选择单元402、分类单元403、第一生成单元404、第二生成单元405和第三生成单元406。其中,获取单元401,被配置成获取历史时间段内的检测数据集和车辆位姿信息集,其中,上述检测数据集中的检测数据包括:时间戳和障碍物检测点坐标值,上述车辆位姿信息集中的车辆位姿信息包括:时间戳和车辆位姿矩阵。选择单元402,被配置成将上述车辆位姿信息集中每个车辆位姿信息和上述检测数据集中与上述车辆位姿信息相匹配的检测数据进行组合以生成位姿数据信息组,得到位姿数据信息组集合。分类单元403,被配置成响应于确定上述位姿数据信息组集合满足预定条件,对上述位姿数据信息组集合中的各个位姿数据信息进行信息分类,得到动态位姿数据信息集和静态位姿数据信息集。第一生成单元404,被配置成基于上述静态位姿数据信息集,生成静态障碍物信息。第二生成单元405,被配置成基于上述动态位姿数据信息集,生成动态障碍物信息集。第三生成单元406,被配置成基于上述静态障碍物信息和上述动态障碍物信息集,生成车辆车道级定位信息。
可以理解的是,该装置400中记载的诸单元与参考图2描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于装置400及其中包含的单元,在此不再赘述。
下面参考图5,其示出了适于用来实现本公开的一些实施例的电子设备(例如图1中的计算设备101)500的结构示意图。图5示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图5中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开的一些实施例的方法中限定的上述功能。
需要说明的是,本公开的一些实施例上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述装置中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取历史时间段内的检测数据集和车辆位姿信息集,其中,上述检测数据集中的检测数据包括:时间戳和障碍物检测点坐标值,上述车辆位姿信息集中的车辆位姿信息包括:时间戳和车辆位姿矩阵;将上述车辆位姿信息集中每个车辆位姿信息和上述检测数据集中与上述车辆位姿信息相匹配的检测数据进行组合以生成位姿数据信息组,得到位姿数据信息组集合;响应于确定上述位姿数据信息组集合满足预定条件,对上述位姿数据信息组集合中的各个位姿数据信息进行信息分类,得到动态位姿数据信息集和静态位姿数据信息集;基于上述静态位姿数据信息集,生成静态障碍物信息;基于上述动态位姿数据信息集,生成动态障碍物信息集;基于上述静态障碍物信息和上述动态障碍物信息集,生成车辆车道级定位信息。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、选择单元、分类单元、第一生成单元、第二生成单元和第三生成单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取历史时间段内的检测数据集和车辆位姿信息集的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。