本发明涉及自动驾驶,具体涉及一种同步定位与地图构建方法及其装置。
背景技术:
1、同步定位和建图(slam)技术一直是机器人学和自动驾驶领域的研究热点。它允许机器人在未知环境中,通过自身的传感器(如激光雷达、摄像头等)实时地构建环境地图,并同时确定自身在地图中的位置。然而,在动态环境中,如繁忙的交通场景,传统的同步定位和建图技术面临着诸多挑战。例如,动态物体的存在不仅会影响地图构建的准确性,还会干扰机器人的自我定位。而文献“optical flow and scene flow estimation:asurvey.pattern recognition,114:107861,2021”中场景流估计为三维点云提供了运动信息,并为同步定位和建图技术在动态或拥挤场景中的应用带来了新的选择。其中,发明人经过研究发现:现有同步定位和建图方法及其系统在动态环境中面临着挑战,例如特别是在复杂交通环境中,由于动态物体的存在,传统的同步定位和建图方法及其系统在点云分割和姿态估计方面的准确性受限。
2、因此,针对上述现有技术的不足,有必要进行改进。
技术实现思路
1、本发明提供一种同步定位与地图构建方法及其装置,本同步定位与地图构建方法及其装置用于解决现有同步定位与地图构建方法在动态环境中面临的挑战,特别是在复杂交通环境中,由于动态物体的存在,传统同步定位和建图(slam)系统在点云分割方面的准确性受限。
2、根据第一方面,一种实施例中提供一种同步定位与地图构建方法。该方法包括:
3、获取连续的两帧点云数据以及该两帧点云数据的时间戳;
4、语义分割的步骤:计算该两帧点云数据中各点的场景流,利用所述场景流对上述各点进行分类而得到各点的分类结果;其中,所述分类结果包括动态点和静态点;
5、利用中间数据结果进行全局地图构建;其中,所述中间数据结果包括经过上述分类的该两帧点云数据。
6、一实施例中,所述语义分割的步骤中,计算该两帧点云数据中各点的场景流,利用所述场景流对上述各点进行分类而得到各点的分类结果,包括:
7、场景流初步估计的步骤:对该两帧点云数据进行估计而得到各点初步的场景流;
8、场景流初步分类的步骤:对所述各点初步的场景流进行分类而得到上述各点初步的分类结果;
9、场景流迭代估计的步骤:以所述初步的分类结果为引导,再次对该两帧点云数据进行估计而得到所述各点新的场景流;
10、场景流迭代分类的步骤:对所述各点新的场景流进行分类而得到各点新的分类结果;
11、重复所述场景流迭代估计的步骤至所述场景流迭代分类的步骤,直至达到预设停止迭代条件,此时将所述场景流迭代估计的步骤所获得的所述各点新的场景流作为该两帧点云数据中各点的场景流,将所述场景流迭代分类的步骤所获得的所述各点新的分类结果作为上述各点的分类结果。
12、一实施例中,所述中间数据结果还包括与所述点云数据对应的静态点云和与所述静态点云对应的场景流;
13、其中,所述利用中间数据结果进行全局地图构建,包括:
14、利用上述各点的分类结果从所述点云数据中获得与所述点云数据对应的静态点云,利用上述各点的分类结果从上述各点的场景流中获得与所述静态点云对应的场景流;
15、利用与所述点云数据对应的静态点云和与所述静态点云对应的场景流进行全局地图构建。
16、一实施例中,所述利用上述各点的分类结果从所述点云数据中获得与所述点云数据对应的静态点云,利用上述各点的分类结果从上述各点的场景流中获得与所述静态点云对应的场景流,包括:
17、利用上述各点的分类结果而生成与所述点云数据对应的语义二值掩码;其中,所述语义二值掩码是将对应的所述点云数据中的动态点设置为1,将对应的所述点云数据中的静态点设置为0而得到的;
18、利用所述语义二值掩码从对应的所述点云数据中过滤所述动态点而获得与所述点云数据对应的静态点云,利用所述语义二值掩码从上述各点的场景流中过滤所述动态点而获得与所述静态点云对应的场景流。
19、一实施例中,所述利用与所述点云数据对应的静态点云和与所述静态点云对应的场景流进行全局地图构建,包括:
20、利用与所述点云数据对应的静态点云和与所述静态点云对应的场景流得到该两帧点云数据之间的变换矩阵;
21、建立该两帧点云数据的局部模型,利用所述变换矩阵将所述局部模型融合至对应的全局模型,直至所述全局模型构建完成;
22、其中,所述利用与所述点云数据对应的静态点云和与所述静态点云对应的场景流得到该两帧点云数据之间的变换矩阵,包括:
23、利用与第t帧所述点云数据对应的静态点云以及与该静态点云对应的场景流得到与第t+1帧所述点云数据对应的静态点云;
24、其中,所述与第t+1帧所述点云数据对应的静态点云的表达式为:
25、
26、其中,所述pt*表示与第t帧所述点云数据对应的静态点云,所述表示与该pt*对应的场景流;
27、对所述pt*和所述进行去中心化处理而得到去中心化处理后的所述pt*和所述
28、其中,去中心化处理后的所述pt*和所述的表达式分别为:
29、
30、其中,n′表示与所述点云数据对应的静态点云中静态点的数量;表示第t帧所述点云数据中第i个静态点的位置;表示根据所述和与所述对应的场景流得到的第t+1帧所述点云数据中第i个静态点的位置;
31、利用所述和所述得到第t帧所述点云数据到第t+1帧所述点云数据之间的所述变换矩阵;其中,所述变换矩阵的表达式为:
32、
33、其中,上述svd表示进行奇异值分解的操作;
34、
35、其中,当|r|≥0,vt[2,:]=-vt[2,:];而其他情形时,vt[2,:]=vt[2,:]。
36、一实施例中,所述场景流初步分类的步骤:对所述各点初步的场景流进行分类而得到上述各点初步的分类结果,包括:
37、获取上述各点初步的场景流;
38、应用高斯混合模型对上述各点初步的场景流进行聚类而得到多个类别的子场景流;其中,每个类别的子场景流均包含一组具有相似运动特性的点;
39、利用数量分类策略和速度分类策略对所述多个类别的子场景流进行分类而得到上述各点初步的分类结果。
40、根据第二方面,一种实施例中提供一种同步定位与地图构建装置。该装置包括:
41、数据采集子模块,被配置为获取连续的两帧点云数据以及该两帧点云数据的时间戳;
42、场景流分割模块,被配置为计算该两帧点云数据中各点的场景流,利用所述场景流对上述各点进行分类而得到各点的分类结果;其中,所述分类结果包括动态点和静态点;
43、数据处理模块,被配置为利用中间数据结果进行全局地图构建;其中,所述中间数据结果包括经过上述分类的该两帧点云数据。
44、一实施例中,所述场景流分割模块包括场景流计算子模块和场景流动态-静态分类子模块;
45、其中,所述语义分割的步骤:计算该两帧点云数据中各点的场景流,利用所述场景流对上述各点进行分类而得到各点的分类结果,包括:
46、场景流初步估计的步骤:所述场景流计算子模块对该两帧点云数据进行估计而得到各点初步的场景流;
47、场景流初步分类的步骤:所述场景流动态-静态分类子模块对所述各点初步的场景流进行分类而得到上述各点初步的分类结果;
48、场景流迭代估计的步骤:所述场景流计算子模块以所述初步的分类结果为引导,再次对该两帧点云数据进行估计而得到所述各点新的场景流;
49、场景流迭代分类的步骤:所述场景流动态-静态分类子模块对所述各点新的场景流进行分类而得到各点新的分类结果;其中,重复上述得到所述各点新的场景流的过程至上述得到各点新的分类结果,直至达到预设停止迭代条件,此时将所述场景流计算子模块所获得的所述各点新的场景流作为该两帧点云数据的场景流,将所述场景流动态-静态分类子模块所获得的所述各点新的分类结果作为所述各点的分类结果。
50、一实施例中,所述场景流分割模块还包括静态点云提取子模块;所述数据处理模块包括场景流里程计子模块、姿态估计子模块和全局地图融合子模块;所述中间数据结果还包括与所述点云数据对应的静态点云和与所述静态点云对应的场景流;其中,所述利用中间数据结果进行全局地图构建,包括:
51、所述静态点云提取子模块利用上述各点的分类结果从所述点云数据中获得与所述点云数据对应的静态点云,利用上述各点的分类结果从上述各点的场景流中获得与所述静态点云对应的场景流;
52、所述场景流里程计子模块利用与所述点云数据对应的静态点云和与所述静态点云对应的场景流得到该两帧点云数据之间的变换矩阵;
53、所述姿态估计子模块建立该两帧点云数据的局部模型,所述全局地图融合子模块利用所述变换矩阵将所述局部模型融合至对应的全局模型,直至所述全局模型构建完成。
54、根据第三方面,一种实施例中提供一种计算机可读存储介质,包括程序,所述程序能够被处理器执行以实现如本文中任一实施例所述的方法。
55、本技术的有益效果是:
56、本技术的同步定位与地图构建方法,包括:获取连续的两帧点云数据以及该两帧点云数据的时间戳;计算该两帧点云数据中各点的场景流,利用所述场景流对上述各点进行分类而得到各点的分类结果;其中,所述分类结果包括动态点和静态点;利用中间数据结果进行全局地图构建;其中,所述中间数据结果包括经过上述分类的该两帧点云数据;通过上述“计算该两帧点云数据中各点的场景流”所得到的场景流信息能够提供动态特征(如上述动态点),进而能够帮助本技术的“利用所述场景流对上述各点进行分类而得到各点的分类结果”准确地区分动态物体和静态物体,并在语义分割过程中有效地处理这些信息,即利用场景流信息能够显著提升语义分割的准确性,使得本同步定位与地图构建方法能够更精确地识别点云数据中的动态和静态部分,从而构建了更高质量的同步定位与地图构建地图。
1.一种同步定位与地图构建方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述计算该两帧点云数据中各点的场景流,利用所述场景流对上述各点进行分类而得到各点的分类结果,包括:
3.如权利要求2所述的方法,其特征在于,所述中间数据结果还包括与所述点云数据对应的静态点云和与所述静态点云对应的场景流;
4.如权利要求3所述的方法,其特征在于,所述利用上述各点的分类结果从所述点云数据中获得与所述点云数据对应的静态点云,利用上述各点的分类结果从上述各点的场景流中获得与所述静态点云对应的场景流,包括:
5.如权利要求3所述的方法,其特征在于,所述利用与所述点云数据对应的静态点云和与所述静态点云对应的场景流进行全局地图构建,包括:
6.如权利要求2所述的方法,其特征在于,所述对所述各点初步的场景流进行分类而得到上述各点初步的分类结果,包括:
7.一种同步定位与地图构建装置,其特征在于,包括:
8.如权利要求7所述的同步定位与地图构建装置,其特征在于,所述场景流分割模块包括场景流计算子模块和场景流动态-静态分类子模块;
9.如权利要求8所述的同步定位与地图构建装置,其特征在于,所述场景流分割模块还包括静态点云提取子模块;
10.一种计算机可读存储介质,其特征在于,包括程序,所述程序能够被处理器执行以实现如权利要求1-6中任一项所述的方法。