1.本发明涉及人工智能技术,特别涉及一种确定车辆的运行轨迹的方法及系统。
背景技术:
2.随着人工智能技术及物联网技术的发展,无人驾驶车辆技术成为了技术发展方向。无人驾驶车辆的运行实现过程为:首先,将诸如多线激光器或摄像头等传感器置于到运行的车辆上,采集得到以图像帧为单位的每帧的点云数据;然后,基于相邻帧的点云数据,采用点云匹配算法和闭环检测算法的相结合算法,计算得到传感器的相邻帧的位姿差,即传感器的相邻帧的累计里程计;最后,由于传感器相对于车辆的位置是确定的,所以根据计算得到的传感器的相邻帧的位姿差,确定车辆的运行轨迹;也可以根据传感器的相邻帧的位姿差,构建得到车辆运行区域的高精度的点云地图。在这里,点云数据指的是在一个三维坐标系统中的一组向量的集合,代表了传感器的当前帧的位置信息。点云匹配算法是为了匹配相邻两帧的点云数据,得到传感器的相邻两帧的位姿差,即里程数据。闭环检测算法是为了减少传感器的相邻两帧的位姿差的累计误差,对传感器的相邻两帧的位姿差进行闭环修正的算法。
3.采用点云匹配算法进行相邻帧的位姿差计算时,经常运用在场景简单且结构化程度较高的环境区域中,通过在当前帧点云数据中选取的边界特征点和平面特征点,与相邻前帧点云数据中选取的边界特征点和平面特征点分别进行匹配计算后,得到传感器的当前帧与相邻前帧的位姿差。但是,采用点云匹配算法进行相邻帧的位姿差计算,虽然执行简单,但运用场景具有局限性,存在如下缺点:1)基于相邻两帧中提取的边界特征点和平面特征点的分别匹配计算对环境区域的结构化要求比较高;2)当环境区域中有树木或草丛等非结构化的场景时,则较难以从相邻帧中提取出精度很高的边界特征点和平面特征点;3)在匹配过程中,相邻帧的云点数据的噪声会参与整个匹配运算,导致匹配运算得到的传感器的相邻帧的位姿差的误差较大。
4.可以看出,采用上述方法得到置于运行车辆的传感器的相邻帧的位姿差时,为了减少误差,需要对环境区域进行限制。当限制了环境区域后,其计算的误差也比较大,即使后续采用闭环检测算法修正,也无法完全消除误差。从而使得基于传感器的相邻帧的位姿差,确定得到的车辆的运行轨迹的误差也比较大,无法精确定位车辆或/和得到高精度的点云地图。
技术实现要素:
5.有鉴于此,本发明实施例提供一种确定车辆的运行轨迹的方法,该方法能够在不限定环境区域的情况下精确的确定车辆的运行轨迹。
6.本发明实施例还提供一种确定车辆的运行轨迹的系统,该系统能够在不限定环境区域的情况下精确的确定车辆的运行轨迹。
7.本发明实施例是这样实现的:
8.一种确定车辆的运行轨迹的方法,包括:
9.将置于运行车辆的传感器采集的当前帧点云数据转换为当前帧的距离图像,将所述当前帧的距离图像划分为当前帧的多个子图像;
10.从当前帧的每个子图像中提取平面特征点并汇总,得到当前帧的平面特征点;
11.从当前帧的每个子图像中提取边界特征点并汇总,得到当前帧的边界特征点;
12.将当前帧的平面特征点与边界特征点分别与相邻前帧的平面特征点与边界特征点进行匹配运算,得到传感器的当前帧与相邻前帧的位姿差;
13.基于传感器的当前帧与相邻前帧的位姿差,确定车辆的运行轨迹。
14.较佳地,所述传感器为多线激光器;
15.所述将置于运行车辆的传感器采集的当前帧点云数据转换为当前帧的距离图像包括:
16.所述距离图像中的每一行代表多线激光器的每一条扫描线的扫描点云,每一列代表多线激光器的0
°
~360
°
之间水平旋转对应的分辨率角度,距离图像中的每个元素代表对应的点云数据到多线激光器或车辆的距离信息;
17.所述将所述当前帧的距离图像划分为当前帧的多个子图像包括:
18.根据预设值将所述当前帧的距离图像进行均分,得到当前帧的多个子图像。
19.较佳地,在所述从当前帧的每个子图像中提取平面特征点并汇总,及所述从当前帧的每个子图像中提取边界特征点并汇总之前,所述方法还包括:
20.从当前帧的点云数据中提取出地面点云,对应所划分的当前帧的子图像中的元素,且以地面标签标识;
21.将当前帧的点云数据中的非地面点云,基于距离图像进行聚类处理,得到多簇点云数据,针对得到的每一簇点云数据,当判定代表场景区域中的结构化物体时,设置唯一标签标识,且对应所划分的当前帧的子图像中的元素。
22.较佳地,所述从当前帧的每个子图像中提取平面特征点并汇总,所述从当前帧的每个子图像中提取边界特征点并汇总包括:
23.针对所述每个子图像,计算设置有有效标签的点云数据的曲率值,有效标签包括唯一标签和地面标签;
24.将曲率值小于等于设定的曲率门限值,且有效标签为地面标签的点云确定为平面特征候选点,从平面特征候选点中选取当前帧的平面特征点;
25.将曲率值大于设定的曲率门限值,且有效标签为唯一标签的点云确定为边界特征候选点,从边界特征候选点中选取当前帧的边界特征点。
26.较佳地,所述得到传感器的当前帧与相邻前帧的位姿差之前,还包括:
27.将当前帧的平面特征点、边界特征点采用当前帧之前的设定个数帧构成的局部特征点云地图进行修正后,对得到传感器的当前帧与相邻前帧的位姿差进行更新。
28.较佳地,所述确定车辆的运行轨迹包括:
29.根据传感器的当前帧与相邻前帧的位姿差,及所述传感器相对于车辆的位置信息,确定车辆的运行轨迹。
30.较佳地,该方法还包括:
31.基于传感器的当前帧与相邻前帧的位姿差,构建全局特征点的点云地图。
32.一种确定车辆的运行轨迹的系统,包括:分割单元、特征点提取单元及位姿差计算单元,其中,
33.分割单元,用于将置于运行车辆的传感器采集的当前帧点云数据转换为当前帧的距离图像,将所述当前帧的距离图像划分为当前帧的多个子图像;
34.特征点提取单元,用于从当前帧的每个子图像中提取平面特征点并汇总后,得到当前帧的平面特征点;从当前帧的每个子图像中提取边界特征点并汇总,得到当前帧的边界特征点;
35.位姿差计算单元,用于将当前帧的平面特征点与边界特征点分别与相邻前帧的平面特征点与边界特征点进行匹配运算,得到传感器的当前帧与相邻前帧的位姿差;基于传感器的当前帧与相邻前帧的位姿差,确定车辆的运行轨迹。
36.一种确定车辆的运行轨迹的装置,包括:
37.存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行上述任一所述的确定车辆的运行轨迹的方法。
38.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一所述的确定车辆的运行轨迹的方法。
39.如上所见,本发明实施例将置于运行车辆的传感器采集的当前帧点云数据转换为当前帧的距离图像,将所述当前帧的距离图像划分为当前帧的多个子图像;汇总从当前帧的每个子图像中提取的平面特征点后,得到当前帧的平面特征点;汇总从当前帧的每个子图像中提取的边界特征点后,得到当前帧的边界特征点;将当前帧的平面特征点与边界特征点分别与相邻前帧的平面特征点与边界特征点进行匹配运算,得到传感器的当前帧与相邻前帧的位姿差,基于所述位姿差确定车辆的运行轨迹。这样,由于对置于运行车辆的传感器采集的每帧点云数据采用了距离图像及划分子图像处理,并在划分的子图像中基于曲率计算提取精确的平面特征点及边界特征点,使得从每帧点云数据中提取的平面特征点及边界特征点准确,且不受环境区域影响,避免了采集环境区域的结构化限制及采集的每帧点云数据的噪声影响,所以可以在不限定环境区域的情况下,精确的确定车辆的运行轨迹。
附图说明
40.图1为本发明实施例提供的确定车辆的运行轨迹的方法流程图;
41.图2为本发明实施例提供的确定车辆的运行轨迹的方法具体例子流程图;
42.图3为本发明实施例提供的确定车辆的运行轨迹的系统结构示意图。
具体实施方式
43.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
44.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除
了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
45.下面以具体实施例对本发明的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
46.背景技术采用的点云匹配算法进行传感器的相邻帧的位姿差计算,由于其是针对置入运行车辆的传感器采集的点云数据直接提取相邻帧的边界特征点及平面特征点分别进行匹配运算,所以无法消除点云数据中的噪声,且当采集环境区域不是结构化场景时(结构化场景指的是在三维空间中存在地面、房屋或边界墙等结构化的物体,而不包括树木或草丛等非结构化的物体),则无法排除这些遮挡物体,所以使得计算误差较大,即使采用闭环检测算法对传感器的相邻帧的位姿差进行修正后,也无法克服。因此,基于背景技术提供的采用点云匹配算法进行计算得到的传感器的相邻帧的位姿差,确定得到的车辆的运行轨迹与实际的车辆运行轨迹的误差也比较大,基于此构建的云点地图也不精确。
47.因此,本发明实施例为了克服背景技术提供的问题,将置于运行车辆的传感器采集的当前帧点云数据转换为当前帧的距离图像,将所述当前帧的距离图像划分为当前帧的多个子图像;汇总从当前帧的每个子图像中提取的平面特征点后,得到当前帧的平面特征点;汇总从当前帧的每个子图像中提取的边界特征点后,得到当前帧的边界特征点;将当前帧的平面特征点与边界特征点分别与相邻前帧的平面特征点与边界特征点进行匹配运算,得到传感器的当前帧与相邻前帧的位姿差,基于所述位姿差确定车辆的运行轨迹。
48.这样,由于对置于运行车辆的传感器采集的每帧点云数据采用了距离图像及划分子图像处理,并在划分的子图像中基于曲率计算提取精确的平面特征点及边界特征点,使得从每帧点云数据中提取的平面特征点及边界特征点准确,且不受环境区域影响,避免了采集环境区域的结构化限制及采集的每帧点云数据的噪声影响,所以可以在不限定环境区域的情况下,精确的确定车辆的运行轨迹。
49.图1为本发明实施例提供的确定车辆的运行轨迹的方法流程图,其具体步骤包括:
50.步骤101、将置于运行车辆的传感器采集的当前帧点云数据转换为当前帧的距离图像,将所述当前帧的距离图像划分为当前帧的多个子图像;
51.步骤102、从当前帧的每个子图像中提取平面特征点并汇总,得到当前帧的平面特征点;
52.步骤103、从当前帧的每个子图像中提取边界特征点并汇总,得到当前帧的边界特征点;
53.步骤104、将当前帧的平面特征点与边界特征点分别与相邻前帧的平面特征点与边界特征点进行匹配运算,得到传感器的当前帧与相邻前帧的位姿差;
54.步骤105、基于传感器的当前帧与相邻前帧的位姿差,确定车辆的运行轨迹。
55.在该方法中,还包括:基于传感器的当前帧与相邻前帧的位姿差,构建全局特征点的点云地图。
56.在该方法中,在车辆运行过程中,对于传感器采集的与当前帧的相邻前帧的点云数据,也采用步骤101~步骤103的过程进行,得到当前帧的相邻前帧的边界特征点及平面
特征点。
57.在该方法中,由于置于运行车辆的传感器相对于车辆的相对位置信息已知,所以确定车辆的运行轨迹包括:
58.根据传感器的当前帧与相邻前帧的位姿差,及所述传感器相对于车辆的位置信息,确定车辆的运行轨迹。在这里,传感器的当前帧与相邻帧的位姿差实际上就是传感器的累计里程计数据。
59.在该方法中,所述传感器为多线激光器。
60.在该方法中,所述车辆为无人驾驶车辆。
61.在该方法中,所述距离图像中的每一行代表多线激光器的每一条扫描线的扫描点云,每一列代表多线激光器的0
°
~360
°
之间水平旋转对应的分辨率角度,距离图像中的每个元素代表对应的点云数据到多线激光器或车辆的距离信息。
62.在该方法中,所述将所述当前帧的距离图像划分为当前帧的多个子图像包括:
63.根据预设值将所述当前帧的距离图像进行均分,得到当前帧的多个子图像。从而保证后续提取的当前帧的平面特征点及边界特征点精确。
64.在该方法中,在所述步骤102及步骤103之前,还包括:
65.从当前帧的点云数据中提取出地面点云,对应所划分的当前帧的子图像中的元素,且以地面标签标识;
66.将当前帧的点云数据中的非地面点云,基于距离图像进行聚类处理,得到多簇点云数据,针对得到的每一簇点云数据,当判定代表场景区域中的结构化物体时,则设置唯一标签标识,且对应所划分的当前帧的子图像中的元素。
67.在这里,所述提取出地面点云的过程包括:在当前帧的点云数据中提取多线激光器扫描到地面的扫描线的点云数据后,对选取的每个点云数据,计算其与相邻到地面的扫描线射出角度相同的点云数据之间的正切角值是否大于设定的地面临界切角值,如果是,则该两点不是地面点云,如果否,则该两点是地面点云。
68.在这里,所述基于距离图像进行聚类处理,得到多簇点云数据包括:
69.当前帧的点云数据中的非地面点云分别对应距离图像中的元素,通过距离图像中的对应的元素信息,包括对应的点云数据到多线激光器的距离信息及所在的射出角度,通过设定的几何方法,计算得到水平面上相邻点云之间的连线与其中第一个点云和多线激光器之间的连线的夹角,判断该夹角大于设定的临近夹角,代表同一个物体,聚类为同一簇,否则,代表非同一个物体。
70.在这里,所述针对得到的每一簇点云数据,当判定代表场景区域中的结构化物体时,则设置唯一标签标识包括:
71.判断该簇点云数据的点云个数是否大于设定的点云门限值,如果是,则为该簇点云数据设置唯一标签。
72.在该方法中,所述从当前帧的每个子图像中提取的平面特征点并汇总,所述从当前帧的每个子图像中提取边界特征点并汇总包括:
73.针对所述每个子图像,计算设置有有效标签的点云数据的曲率值,有效标签包括了唯一标签和地面标签;
74.将曲率小于等于设定的曲率门限值,且有效标签为地面标签的点云确定为平面特
征候选点,从平面特征候选点中确定当前帧的平面特征点;
75.将曲率大于设定的曲率门限值,且有效标签为唯一标签的点云确定为边界特征候选点,从边界特征候选点中确定当前帧的边界特征点。
76.在该方法中,所述得到传感器的当前帧与相邻前帧的位姿差之前,还包括:
77.将当前帧的平面特征点、边界特征点采用当前帧之前的设定个数帧构成的局部特征点云地图进行修正后,对得到传感器的当前帧与相邻前帧的位姿差进行更新。
78.举一个具体例子对本发明实施例进行详细说明。
79.图2为本发明实施例提供的确定车辆的运行轨迹的方法具体例子流程图,其具体步骤包括:
80.步骤201、将采集得到的点云数据转换为距离图像。
81.在本步骤中,点云数据是置于运行的无人驾驶车辆的多线激光器在每帧扫描场景中的物体三维坐标,转换为距离图像时包括了物体距离多线激光器的距离信息。
82.对于扫描得到的每帧点云数据,将该三维的点云数据投影为距离图像,所得到的距离图像中的每一行代表了多线激光器的每一条扫描线的扫描点云,每一列代表了多线激光器的0
°
~360
°
之间水平旋转对应的分辨率角度,距离图像中的每个元素代表了对应的点云数据到多线激光器或车辆的距离信息。其中,上述物体三维坐标是基于多线激光器的坐标,也可以根据需要将该坐标转换为基于车辆的三维坐标(根据已知的置于运行车辆的传感器相对于车辆的相对位置信息转换)。
83.步骤202、针对每帧的距离图像,根据设置的预设值进行划分,得到多个子图像。
84.在本步骤中,在对距离图像进行划分时,预设值可以设置为四、六、八和十二等,目的在于将距离图像的360
°
的列均分,保证后续均匀提取边界特征点或平面特征点。在划分时,不能划分的子图像太多,如果划分的太多则会造成每个子图像中的元素太少,后续提取边界特征点或平面特征点的像素太少,导致后续提取精度下降,也不能划分的子图像太少,会导致提取的边界特征点或平面特征点集中在某一个局部的子图像中,提取不均匀,造成后续的点云匹配算法和优化计算不正确。
85.步骤203、对每帧的点云数据进行计算,提取出其中的地面点云,并以地面标签进行标识。
86.在本步骤中,多线激光器在每帧扫描场景中的物体时,其中的几条扫描线会分布在地面上的。比如,十六线激光器在扫描时有七条扫描线扫描的点云数据分布在地面上,三十二条线激光器在扫描时有十五条扫描线扫描的点云数据分布在地面上,六十四线激光器在扫描时有五十条扫描线扫描的点云数据分布在地面上。将这些地面上的点云数据进行拟合计算,拟合出地面。
87.以三十二线激光器扫描为例,将十五条扫描线上的每个点云数据进行计算,找出相邻线相同射出角度的两点,计算两点之间正切角,判断得到的正切角是否大于设定的地面临界切角值,如果是,则判定该两点没有分布在地面上,如果否,则判定该两点分布在地面上,将该两点的点云数据对应地面标签。对于其他的每个点,都采用上述方法进行相同计算,最终得到所有标识有地面标签的点云数据。
88.在这里,对点云数据进行地面标签的标识时,并没有使用距离图像中的对应元素进行计算,而是直接利用点云数据进行计算得到,但是每个点云数据在距离图像中有唯一
对应的元素,也就是具有一一映射关系。
89.步骤204、基于距离图像,将其中未被标识为地面标签的点云数据进行聚类,生成多簇点云数据。
90.在本步骤中,采用图像分割方法,将分离地面后剩余的点云数据进行距离图像中的聚类。其中,聚类的目标是为了识别出水平面上相邻的两个点云数据属于场景中不同的物体,并将相邻两个点云数据中的第一个点云数据之前的点云数据与第二个点云数据之后的点云数据区分开。如果水平面上相邻的两个点云数据属于同一个物体,则该两个点之间的连线与其中第一个点云和多线激光器之间的连线的夹角就会较大,反之同理,所以采用该理论就可以将分离地面后剩余的点云数据进行距离图像中的聚类。
91.距离图像中的每个元素信息包括:对应的点云数据到多线激光器的距离信息及所在的射出角度,在计算时,利用距离图像中的每个元素信息通过设定的几何方法,就可以计算得到水平面上该两个点之间的连线与其中第一个点云和多线激光器之间的连线的夹角。
92.步骤205、针对每簇点云数据,判断该簇点云数据的点云个数是否大于设定的点云门限值,如果是,则为该簇点云数据设置唯一标签。
93.在本步骤中,所设定的点云门限值为三十,是根据经验设置的,当该簇点云数据的点云个数的点云数为三十时,表明该簇点云表示了一个结构化的物体。因此,通过设定点云门限值,则将环境区域内的诸如落叶或草丛等非结构化的物体在点云分割过程中删除,分割后的每簇点云数据表示了结构化较大的问题,如房屋、树木或路面等。比如,有三簇点云数据的情况下,这三簇点云数据中点云数据的个数都大于三十,分别为i、ii和iii,对于i中的每个点云数据,打上标签a,对于ii中的每个点数据,打上标签b,对于iii中的每个点云数据,打上标签c,由此每簇点云数据都具有不同于其它簇点云数据的唯一标签。
94.步骤206、针对每个子图像,计算设置有有效标签的点云数据的曲率值,有效标签包括了唯一标签和地面标签。
95.在本步骤中,根据点云数据的分布特征计算点云曲率值,多线激光传感器在扫描每帧图像时,水平旋转一周射出线束间的角度是等同的。当点云数据分布在平面上时,点云的分布紧密;当点云数据分布在边界附近时,点云的分布分散。在计算所选定的点云曲率值时,可以选取所选定点云的左右各设定个数(比如十个)的点云进行曲率值计算。比如,六个子图像中的子图像一中有有效标签的点云数据个数是50个,则可以从中选定一个点云数据,然后选取该选定点云数据的左右各十个点云数据,计算这二十个点云到选定的点云的距离和,该和的平方值即可描述为该选定的点云的曲率值。
96.步骤207、将曲率值小于等于设定的曲率门限值,且有效标签为地面标签的点云确定为平面特征候选点。
97.在本步骤中,所设定的曲率门限值是根据经验设置的,曲率值的大小能够反映所选定的点云数据偏移平面的远近。
98.步骤208、从平面特征候选点中确定当前帧的平面特征点。
99.在本步骤中,比如在子图像一中得到多个平面特征候选点,则可以从多个平面特征候选点中选择每行中的曲率值最小且标签为地面标识的四个点作为子图像一的平面特征点。在这里,每一行,表示子图像一中,多线激光器的每一条扫描线中的平面特征候选点。
100.在本步骤中,得出了每个子图像中的平面特征点后,汇总构成了当前帧的平面特
征点。
101.步骤209、计算平面特征点匹配对的相似性,得到位姿变换中的第一组状态量,平面特征点匹配是当前帧和相邻前一帧的平面特征点的匹配。
102.在本步骤中,第一组状态量包括z轴方向的位移、俯仰角及横滚角。过程为:首先依据每个特征点标签进行两帧特征点云之间对应关系的搜索,当前帧中平面特征点的标签为地面标识,因此只需要在前一帧标签也是地面标识的平面特征点云中进行最近邻搜索,找到距离最近的特征点组成平面特征点匹配对,从而通过确定平面特征点匹配对的方式提升准确率,减少误配率。然后利用匹配算法求解平面特征点匹配对之间6自由度的位姿变换值。其中,先计算平面特征点匹配对之间的相似性,可以利用最小二乘优化(lm,levenberg
‑
marquardt)的非线性优化算法求解平面特征点匹配对之间6自由度位姿变换中的z轴方向的位移、横滚角和俯仰角的3个自由度的状态变量,由于平面特征点匹配对描述的是地面,所以其在要求解的3个自由度变量上具有较强的约束,可以求解这3个自由度变量作为位姿差值即可。
103.步骤210、将曲率值大于设定的曲率门限值,且有效标签为唯一标签的点云确定为边界特征候选点。
104.步骤211、从边界特征候选点中确定当前帧的边界特征点。
105.在本步骤中,在每个子图像中得到的多个边界特征候选点中,选择每行中的曲率值最大的设定个数(比如2个)的边界特征候选点作为该子图像中的边界特征点。在这里,每一行,表示子图像中,多线激光器的每一条扫描线中的边界特征候选点。
106.在本步骤中,得出了每个子图像中的边界特征点后,汇总构成当前帧的边界特征点。
107.步骤212、计算边界特征点匹配对的相似性,得到位姿变换中的第二组状态量,边界特征点匹配是当前帧和相邻前一帧的边界特征点的匹配。
108.在本步骤中,第二组状态量包括航向角、x轴的位移和y轴的位移。对于边界特征点,其只需在前一帧标签不是地面标识的特征点云中进行最近邻搜索,找到距离最近的特征点组成边界特征点匹配对,然后利用匹配算法求解两帧点云之间6自由度的位姿变换。其中,可以计算边界特征点匹配对之间的相似性,在计算相似性时,再次利用列文伯格
‑
马夸尔优化算法求解位姿变换中另外3个自由度变量,即航向角、x轴和y轴方向的位移。
109.这样,通过步骤209和本步骤的两步匹配优化求解,通过分割后更加准确的特征点匹配对将6个自由度一次性优化问题拆分成两个3自由度优化问题,在保证精度的同时减少了计算时间。上述涉及到的x轴、y轴和z轴,是基于多线激光器的激光坐标系的,其原点是多线激光器的中心点,x轴可以是车辆运行方向,y轴是朝左方向,z轴是朝上方向。
110.步骤213、将当前帧的平面特征点、边界特征点与之前的设定帧构成的局部特征点云地图进行匹配,更新第一组状态量和第二组状态量。
111.在本步骤中,假设当前帧是lj,局部特征点云地图就是lj
‑
n,...lj
‑
1的这m帧中,每帧的边界特征点和平面特征点的点云在全局坐标系下的一个“叠加”。
112.相邻两帧点云间匹配求解的是两帧之间的相对位姿变换,且是基于前一帧坐标系的。比如,l1和l2是相邻两帧,在匹配后,求出的相对位姿变换是基于l1的多线激光器的激光坐标系的,而设定l1的激光坐标系是全局坐标系,所以就可以得到l2在全局坐标系下的
位姿;l2和l3匹配求解出基于l2的多线激光器的激光坐标系的相对位姿变换,再乘以l2在全局坐标系下的位姿即可得到l3在全局坐标系下的位姿....,以此类推,lj和lj
‑
1匹配后也可以得到基于lj
‑
1激光坐标系的相对位姿变换,乘以lj
‑
1的全局位姿后即可计算出lj的全局位姿。
113.但是,这种帧间匹配特别容易造成累积误差,计算出的全局位姿很快就偏离真实值了。所以需要再通过帧与局部特征点云地图匹配的方式再进行一次匹配,调整一下lj的位姿,这样优化后的位姿会准很多,因为局部特征点云地图比单帧点云的特征更加丰富,特征间的匹配更多,从而约束更多,计算出的结果也更加准确。
114.这样,最终得到的第一组状态量和第二组状态量,就是传感器的当前帧与相邻前帧的位姿差。据此就可以确定车辆的运行轨迹。
115.图3为本发明实施例提供的确定车辆的运行轨迹的系统结构示意图,包括:分割单元、特征点提取单元及位姿差计算单元,其中,
116.分割单元,用于将置于运行车辆的传感器采集的当前帧点云数据转换为当前帧的距离图像,将所述当前帧的距离图像划分为当前帧的多个子图像;
117.特征点提取单元,用于从当前帧的每个子图像中提取平面特征点并汇总后,得到当前帧的平面特征点;从当前帧的每个子图像中提取边界特征点并汇总,得到当前帧的边界特征点;
118.位姿差计算单元,用于将当前帧的平面特征点与边界特征点分别与相邻前帧的平面特征点与边界特征点进行匹配运算,得到传感器的当前帧与相邻前帧的位姿差;基于传感器的当前帧与相邻前帧的位姿差,确定车辆的运行轨迹。
119.在该系统中,位姿差计算单元,还用于基于传感器的当前帧与相邻前帧的位姿差,构建全局特征点的点云地图。
120.在该系统中,所述分割单元,还用于所述距离图像中的每一行代表多线激光器的每一条扫描线的扫描点云,每一列代表多线激光器的0
°
~360
°
之间水平旋转对应的分辨率角度,距离图像中的每个元素代表对应的点云数据到多线激光器或车辆的距离信息。
121.所述分割单元,还用于所述将所述当前帧的距离图像划分为当前帧的多个子图像包括:根据预设值将所述当前帧的距离图像进行均分,得到当前帧的多个子图像。
122.在该系统中,所述特征点提取单元,还用于从当前帧的点云数据中提取出地面点云,对应所划分的当前帧的子图像中的元素,且以地面标签标识;将当前帧的点云数据中的非地面点云,基于距离图像进行聚类处理,得到多簇点云数据,针对得到的每一簇点云数据,当判定代表场景区域中的结构化物体时,设置唯一标签标识,且对应所划分的当前帧的子图像中的元素;针对所述每个子图像,计算设置有有效标签的点云数据的曲率值,有效标签包括了唯一标签和地面标签;将曲率值小于等于设定的曲率门限值,且有效标签为地面标签的点云确定为平面特征候选点,从平面特征候选点中确定当前帧的平面特征点;将曲率值大于设定的曲率门限值,且有效标签为唯一标签的点云确定为边界特征候选点,从边界特征候选点中确定当前帧的边界特征点。
123.在该系统中,所述位姿差计算单元,还用于所述得到传感器的当前帧与相邻前帧的位姿差之前,还包括:将当前帧的平面特征点、边界特征点采用当前帧之前的设定个数帧构成的局部特征点云地图进行修正后,对得到传感器的当前帧与相邻前帧的位姿差进行更
新。
124.可以看出,本发明实施例提供的激光点云分割状态下的快速特征点匹配方法,可以滤掉环境区域中的落叶,草丛,碎屑等噪音点云,特征点提取速度由此加快,特征点匹配对的搜索准确率也相应提高,在保证精确度的前提下,降低了计算资源。本发明实施例提供的算法逻辑清晰,规则简单、对场景区域的依赖减弱而适应性加强,提升了创建大规模场景点云地图时的作业效率。
125.本技术实施例还提供一种计算机可读介质,所述计算机可读存储介质存储指令,所述指令在由处理器执行时可执行如上所述的确定车辆的运行轨迹的方法中的执行步骤。实际应用中,所述的计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的,也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或多个程序被执行时,可以实现上述各实施例描述的所述的应用业务的执行方法。根据本技术公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd
‑
rom)、光存储器件、磁存储器件,或者上述的任意合适的组合,但不用于限制本技术保护的范围。在本技术公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
126.本发明实施例还提供一种电子设备,其中可以集成本技术实施例实现方法的装置。
127.具体来讲:
128.该电子设备可以包括一个或一个以上处理核心的处理器、一个或一个以上计算机可读存储介质的存储器以及存储在存储器上并可在处理器上运行的计算机程序。在执行所述存储器的程序时,可以实现上述的确定车辆的运行轨迹的方法。
129.具体的,实际应用中,该电子设备还可以包括电源、输入单元、以及输出单元等部件。本领域技术人员可以理解,本发明实施例中的电子设备的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
130.处理器是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器内的软件程序和/或模块,以及调用存储在存储器内的数据,执行服务器的各种功能和处理数据,从而对该电子设备进行整体监控。
131.存储器可用于存储软件程序以及模块,即上述计算机可读存储介质。处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
132.该电子设备还包括给各个部件供电的电源,可以通过电源管理系统与处理器逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源还可以包括
一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
133.该电子设备还可包括输入单元,该输入单元可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
134.该电子设备还可以包括输出单元,该输出单元可以用于显示由用户输入的信息或提供给用户的信息以及各种图像用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。
135.本技术附图中的流程图和框图,示出了按照本技术公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或者代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应该注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同附图中所标准的顺序发生。例如,两个连接地表示的方框实际上可以基本并行地执行,它们有时也可以按照相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或者流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
136.本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本技术中。特别地,在不脱离本技术精神和教导的情况下,本技术的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本技术公开的范围。
137.本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思路,并不用于限制本技术。对于本领域的技术人员来说,可以依据本发明的思路、精神和原则,在具体实施方式及应用范围上进行改变,其所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
转载请注明原文地址:https://doc.8miu.com/index.php/read-1722087.html