基于全局特征描述子的激光SLAM回环检测方法

2023-10-22 09:20

本文主要是介绍基于全局特征描述子的激光SLAM回环检测方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:韩超,陈敏,黄宇昊,赵明辉,杜乾坤,梁庆华

来源:上海交通大学学报

编辑:东岸因为@一点人工一点智能

同步定位和建图(SLAM)是实现机器人在未知环境下的定位和移动的重要技术方法[1]。定位精度是井下巡检的核心指标,高精度的定位算法是巡检过程中导航和避障的基础。但井下环境复杂,具有低照度、弱纹理、图像特征难以识别的特点[2],给基于视觉的SLAM算法带来了极大的困难。而激光SLAM算法测量距离远、精度高,利用环境的结构特征进行定位[3],在井下环境中更具应用前景[4-5]。

目前,SLAM算法通过估计的相邻帧之间的位姿变换不断叠加进行位姿信息计算,随着巡检时间的增加,每次位姿估计中的偏差不断累积形成较大的累积误差,制约了算法的定位精度。

利用图像语义信息丰富的特点,视觉SLAM算法如ORB-SLAM[6]、VINS[7]等,多使用基于词袋模型[8]的回环检测方法,利用预先训练的视觉特征单词构建词典,将图像中的特征描述为一个单词,图像中单词种类和数量构成图像的词袋向量,通过词袋向量之间的相似度进行回环检测。

但激光雷达分辨率低,传递信息不如图像丰富,基于词袋模型的回环检测方法难以应用。在LeGO-LOAM[9]和LIO-SAM[10]等激光SLAM方案中使用基于里程计的回环检测方法,通过当前位置信息判断是否可能存在回环,如当前位置一定范围内,存在历史轨迹点,则与对应关键帧进行匹配,并通过迭代最近点(ICP)配准方法进行位姿计算,实现累计误差的校正。此类方法效果受巡检距离限制,当累积误差超过一定范围时出现无法检测到回环或错误检测的问题,仍未解决累积误差不断增长的问题,受传感器精度影响大,且ICP方法对全部点云进行配准计算,计算时间较长。

文献[11-12]通过正态分布变换(NDT)或特征直方图检测闭环,通过距离信息判定当前位置阈值与历史轨迹的一致性,使用NDT方法或特征直方图方法进行位姿估计与二次回环检测,有效提升了匹配准确率,但召回率以及回环检测的实时性无法适用于井下无人机的定位需求。因此,使用回环检测方法解决井下无人机巡检保持长时间高精度定位的问题,需避免对里程计的依赖,使用场景相似特征进行回环检测,同时提高计算效率,保证实时性。

本文提出一种适用于激光SLAM的点云全局特征描述子回环检测方案,不依赖于位姿信息,利用矿井通道的几何结构特征进行匹配,通过计算与误差较小的历史场景之间的位姿变换,消除累积误差,并完成了完整SLAM算法框架的搭建,实时性好。该框架里程计部分基于激光里程计和建图(LOAM)[13]算法计算不带回环的位姿信息,回环检测部分基于曲率划分的特征点与点云质心之间的角度关系和尺度关系进行相似度检测,使用平面点和边角点配准方法优化计算速度,并由因子图优化方法保证全局一致性。最终,通过仿真和开源数据集实验验证了所提算法的有效性,本文研究可为激光SLAM的全局特征提取及回环算法提供理论基础。

01  基于全局特征描述子的回环检测

设计的定位系统整体分为2个模块:里程计模块和回环检测模块。

里程计模块参考LOAM算法[13]实现,输出里程计位姿信息,并根据点云三维曲率完成了特征点云的筛选,将边角特征点云a373009b23449d8c3875044f7b47a66a.png和平面特征点云804f10e788863ab09ce268157e4283de.png传递给回环检测模块。

回环检测模块中进行回环识别和位姿的更新。为实现对井下通道的几何描述,在激光雷达相对坐标系下,进行特征向量提取和中心点计算,基于点云的角度分布和尺度分布关系,构建点云的全局特征描述子;以多维描述子之间的相关性作为点云相似度的评价指标;使用特征点配准方法以改进全局配准计算耗时过大的问题;利用检测到的相似场景建立回环约束,通过因子图优化消除累积误差并保证轨迹和地图的全局一致性。回环检测模块是本文研究的重点,算法流程框图如图1所示。其中:87f466cc112a6f37834e8790155a4b73.pnga4308efaad19c16dd11e31b480f280f3.png分别为边角特征点云和平面特征点云对应的特征向量;a7b1a1e36ef505b9b1a4676bdf071ab2.png为关键帧65d3f43a01474566dab1ad48fe1189ed.png的全局描述子向量;11982c15176e83c8699bb3b61f0393f8.png090948c778f39ecb4330514cdf533fe5.png分别为关键帧1e7d5b823aa7208df104ed490f1ba3b5.png的边角特征和平面特征。

be3f6c0e9a54f9a2cc29ae24ce6e4aa0.png

图1   基于全局特征描述子的回环检测算法流程

1.1 特征向量提取

使用全局点云中具有代表性信息的边角特征和平面特征进行数据处理,对里程计模块中提取的边角特征点云48e6d7264125be4a44a2f34fb8f7fbd6.png和平面特征点云442a1831871481a0d2a9253b0bbfeaa0.png分别提取特征向量。取a3234cb8eea0b917f61455c3a204eda7.png151af1e4c8526ac3fff882c1a75f6b7d.png中的任意一点f7600623378b9d3f876dc5557059de08.png,使用5b47adedfacdb6fae0dfbedd88801c25.png-维(KD)树搜索其所在点云中邻近的1b8889145285a866cd82192bd9368d26.png个点,计算该部分点云的协方差矩阵,具体步骤如下。

步骤1 计算邻近e478ec76bac27c6b133547ecc697cafd.png点的质心:

166664f84618e5586c68d216d59c19b3.png

步骤2 计算协方差矩阵1bb19b85ab209d1727fe262a6d10d489.png,即质心df433d76821798c5e9a90d600a2f28ef.png到邻近点云中所有点6d3131ffe114f2b3ddbdfbebd6ba10c5.png的向量与其转置的内积:

58719ceea0dd990d4a8abc410cecf170.png

步骤3 对协方差矩阵进行奇异值分解(SVD),求特征值:

7b871ab7994e06d6ce2c2a52458932f5.png

式中:0d2fb3fda08057ab9b75995ed5bde1a4.png为矩阵bcc1c0352a789b33510075be1fe240eb.png对应的特征值;为矩阵32dddfd88acb9f4213682930e3bfdd41.png对应的特征向量;373a2d242f898b8e1518b17f7f7bdc1b.png为对角线2429a88d9091c379300ab9268b80d0cf.png组成的对角矩阵;178f9a155b98813b21363fc0811ecc42.png为奇异值分解后的实正交矩阵。

步骤4d1a1126b9f1e22f72b7a8be4bb79f9a2.png解得对应的特征向量447e561564fd2febafb31354755a0684.png

其中,边角特征提取线向量为特征向量d34a7c93370dbc2c728c63fd36bf3f0d.png,邻近点投影至该方向上的向量方差最最小,为最大特征值fdf1ab6305ee8d4b47bcf88326ca3959.png对应的特征向量7e9e106d790c08e6150819904779c035.png;平面特征提取法向量为特征向量739d716bf7abd97ba4757f4c4e46f877.png,邻近点投影至该方向上的向量方差最最大,为最小特征值λ1对应的特征向量db5095b0c3688907c1f3fc02c2592305.png[14]。

1.2 特征描述和相似度计算

设计全局特征描述子的计算方法。通过计算全局点云8fc776b1c9b1ea76d409ed4710f5fadb.png中所有点的三维坐标平均值得到当前帧的点云质心ee88abd29cadc89866cfa6d5da1d0d6b.png,以点云dbc8ad52c815588f408f6eb0e3c56ee4.png58e2b5f41942e450d5aa0a8dd3b7ab4e.png中所有点对应的特征向量的均值作为质心11de066e486694db572062bbffadc1e4.png处对应的特征向量bf15bef699babef45ae784295c27102b.png,进而计算点云的全局特征描述子,边角点云95a75489eef029fab49d4d436d5ebe23.png和平面点云55c8266a45391b4b0383567eca647d1a.png分开计算。

遍历点云298ebd2187c24c40d241b794afc7ea3d.png中的所有点,确定以质心c27917ccac723303db20a39337acdff1.png为原点eb34d7e29f5ca793cf319f956f0eaace.png的参考坐标系08798bcb6fe64e45b2e12f8f6bb85228.png

23e44f2d9e139fd0a2dc5fa94ca8b585.png

式中:abe54c51662040b4b261d3b3da279e7d.png为点云8f4a09a14d3de1cbaf7a9b9f225d2dd0.pngd5f605d0947f9c4a7e74c5b91b44e7c4.png中任意选取的一点;ded01825804533d2ce2538a4930abc3f.png为点云质心处的归一化特征向量;ffacb2609f91cb3b715c557091489612.png为点fb30456e7dc13632078af3a2956515c5.png到质心8dfe653591780ef2b388adfad78d95af.png之间的欧氏距离。以7248711c9b3beb01736c744f2fb0d0c0.png16e4d439e938eaafa8a3b3ae19f0782c.png确定的坐标系如图2所示,其中:6b18383c38993eb7c5ad2947b59bb1f3.png为点b39ed3cb7efc83a4e45435a78fef949b.png处归一化之后的特征向量。

c0ef45fcd79c4350495e1121f69b88e4.png

图2   全局点云下的uvw坐标系

以上述计算得到的fb3b540ae50177c323296ad145c10b49.png坐标系为基准,计算点云特征向量相对于基准坐标系3个坐标轴的角度分布,则有:

8acc5061d2d97d0d8bb053a35c9feb3b.png

式中:1a6ac1f596705a3c65d5abad52f6131a.png为点0b25be5817c7966135072bd509132c75.png20fd2a51dc1d6436d46edfd774746127.png之间的欧氏距离;e8b42b265c2a409708d68d97d3f7fdd1.png为特征向量a98c21cb8aacb0674cd8a67e638b72aa.png与坐标轴v之间的夹角,值域为[-1,1];c95c186b8f27b70a66662cb4c120feb3.png6a75ac2b495961c3e4141cde32b465a3.pnga252e0031daf3308099b9dfc5c2e6c0b.png之间连线方向与坐标轴f73be47a862871bdbfd25259d016b57d.png之间的夹角,值域为[-1,1];25515c0dfac2f233045d4e4b383cbfb6.png为特征向量e05a1e194025bbecb55570d1d3baab2a.png投影至d1b717ad25d36434d171eaa0406dd0cf.png平面时与坐标轴ad606ed8ee3efa0d03bb73c7fa773ddb.png之间的夹角,值域为[−π/2,π/2]。

利用上述公式进行计算后,05002041c1b2bde8c289bcc5b6ca4f4f.png846304d4a665b8b79632eb5ea6b571b5.png6cb8cdc828309728c634c110c44b0971.pngec0890fef978e5eca9047264c236490a.png为非线性相关的,可以替代两点的(x,y,z,feb76eda146b8a4fe67617361b909e47.png71e5fe7976c53dab6b164a1a2e4b3d67.pngaf588b2fc36f1ff7d09004b46d4db835.png)共12维数据对点云的分布进行几何关系描述。

遍历点云1001dd0c0836c4224b8e4acf2c37a89c.png4f72bec9a6decbbf36ca23c826b76ac5.png中所有点,与质心点c78e0491f27bdb5950a58cbfc75545d1.png构成点对,计算对应的8358d6e97024fa282cc2f468ddad4d5a.png7dda22779a6b7757a73140dcc976fcce.png2580b6b3092ae3137d48f42c21992e28.png,d四要素。将6827a3e77e1f1311529611cf478a9ba7.png646527e852d87807cd2a8c1ed772dbc5.pngaa92bfc34575662e5a1181cac670badd.png的值域区间进行等分,统计全局点云三要素在各区间内的分布情况,构成特征描述子的角度分量。

计算全局点云69b40a3ed6a4bcf3bf80061f4b7df21b.png中距离质心点7aa1c11458f2d22d48b1b8eb2781ba39.png最远的位置,将最大距离均分为多个区间,统计各个点相对于质心距离在区间中的分布,以此构成特征描述子的尺度分量。

最终设计的点云全局描述特征描述子为230维向量,其中前105维为边角特征点云87bc6c54d03c31d751cb859acba6ff9b.png计算得到的角度分量6c4fafdf0b40636ef47dd75c2c010eee.pngea630baf9b57aef81f72e8a6e450a14f.png58bffdb9d2a502d23b273d328f42612c.png,中间105维数据为平面特征点云d3ab8796059637fb4d32fe87782ef6ef.png计算得到的角度分量2c99211d00312a045a8d14819368ee60.pngc5653a43939bfaf4ee0f46eb01fe647b.pnge5fd6b7ca68207107dba3562efaae6c0.png,均以35维的向量表示,最后20维数据为当前帧点云59046162bc30bb7e2f1778a7b54fdf10.png全部点的尺度分量5040df1c6e482e6f5866223397ae8949.png

本文提出的全局描述子计算方法以点云中心建立相对坐标系进行计算,具有旋转不变性和平移不变性,如图3所示。图3(a)为原始点云8a18ff615db5d99f7dc301a523697ae5.png及其旋转45°、平移10 m后的点云,经旋转和平移变换后,如图3(b)和3(c)所示,点云的全局特征描述子不发生变化。其中:35789fcb1db8f309f2083bd563a15507.png为描述子381bc88da9c60f579999972ab127dcb3.png的维度信息;c005658bf3578d74f78bc8e5319a46b4.png为对应维度的数值信息。旋转不变性和平移不变性说明,对于同一场景下,激光雷达传感器处于不同角度和位置时,仍能进行准确地进行回环检测。

8d945a724ec5f2a116c18b4da62d2c62.png

图3   旋转和平移不变性实验

使用点云全局特征描述子的皮尔逊相关系数[15]作为衡量点云相似度的标准,其计算公式如下:

7452336582c806497cc2ec66a75d3111.png

式中:57ac825baa20b613636786756792c118.png1efabe876c15f2fa83dfa0403c96b424.png为归一化后的点云全局特征描述子;235ced7492d47d9c2844bc8922c854ce.png7d9096fb7a1c11d53c80f723c30c8a83.png分别为f02848b21e279438dadfdc3d6dd5674d.png9fbb56daec9fe458e92a8caf757ce6d6.png元素的平均值向量;2a2b64ea993926820279e7f14235d592.png为数学期望;20dbb4693f1d355e2bbd456372406467.png为方差;05e8393d356521788756c32ae7367000.png为相关系数,其取值范围为[0, 1]。当6719b5aa7c854505f52e0565775c8c8f.png接近于1时,说明特征描述子为正相关关系,点云的相似度越高[16]。

1.3 位姿变换

对筛选后相似度大于阈值的当前帧点云7c4ca8c75c4dbecd21b7ef8b8880c7d8.png和历史相似帧点云e7da0c45aa2dc9615326ef4bc9800ad0.png进行相对位姿变换的计算。相对位姿的计算使用点云的边角特征和平面特征配准方法,即使用三维点的曲率计算公式[13]计算点云不同位置处的光滑度,以光滑度为依据提取点云的边角特征和平面特征,只对边角特征和平面特征进行点云配准,提高了计算速度。

为减少点云的误匹配概率,使用曲率估计方法对点云配准效果进行验证。当前帧边角点和平面点分别在相似帧边角特征和平面特征中搜索匹配点,对相似帧的特征进行主成分分析,计算其特征值7033f869b341eb559165c6f02f54652c.png

其中,当点云为边角特征时,扫描点按照线方向分布;为平面特征时,扫描点呈现平面式分布,在垂直平面方向上的方差最小。边角特征和平面特征应分别满足如下关系式:

c815e06b639475abfb91bc443bdf1ffb.png

对于配准后的相似帧点云,构建需要求解的目标函数,使用Levenberg-Marquardt法迭代求解使目标函数最小的位姿变换,其目标函数如下:

7ef71c80c570f438e8f687e7b10a38bd.png

式中:上标L和W分别为局部和世界坐标系;上划线-为测量值,~为估计值;671371f5eb7b0835fee8b07e05db116b.png为当前边角特征点云f5ee06a7546b9e3da3c0ff2e0230faf8.png中一点e0694ea474ecd959d9b6225b6af61f5c.png在激光雷达局部坐标系下的坐标;cda2500134eb43127d41005825378fae.png为当前平面特征点云60d653b75344a1deb1058258cfc79f66.png中一点38af35267ac9ddc810ce3c9ec138fe43.png在激光雷达局部坐标系下的坐标;92903c1dd56bb56e96ac0bf440cd29f8.png0fe33363dfe15e1037834fa7a9eeb5b0.png分别为相似帧边角特征点云在世界坐标系下距离23b1cdf681f55bbce679efb88cb4a2be.png最近的两点坐标;e73de4c19853ac440d9c1ac11e606993.pngbf2b38d76252e04dcf6db89e19dca451.png67e45285bf1025df283bcd62f8c3447f.png分别为相似帧平面特征在世界坐标系下距离ea5d0dffda788bd74aea47c2bed2bc8e.png最近的三点坐标;93f6573713ec826bfa2b424018ee96bd.png67e31932a3c9e7377e88a6cda3f703e5.png分别为边角和平面特征的目标函数,其含义为配准点到线或平面的距离;6cb31c48dffe694e2961d4f81f4193e6.pngd4a041e113b8b6835f4582ce85b30d4c.png为待求解变量,分别为当前坐标系到世界坐标系下的旋转四元数估计值和平移向量估计值。

边角特征和平面特征的配准如图4所示,其中:黑色点云为当前帧;绿色点云为历史相似帧;黑色加粗点为当前帧边角特征点坐标8bf9cac52b6987ee18628a7f93b4f265.png和平面特征点坐标4dc6264e6375c7a153a860feadc1e9a6.png;绿色加粗点分别为相似帧的边角特征点22920b7bfdab19d81166a6ab57e085cc.png4f7fe63b65038f1e8d49fe40d31bafe5.png构成直线,以及平面特征点c3bd0b38e47ab12b0413f8d5c49015c7.pngbc065b4da4ec04aa3a4554ef6dc1c903.pngecbad6ca4db68dec48dd5648eded1b5f.png构成平面。

1f423b193a09fcedc5b977183ed6fbee.png

图4   边角特征和平面特征点云配准

1.4 因子图优化

通过位姿变换方法可以获得当前关键帧与历史相似帧之间的相对位姿变换,以此建立新的回环约束,构建因子图如图5所示。其中:f3233a6d908d4fb2a28bdedca5cfef17.png为测量函数;e9093b0a7ec6eca3494bfb7e20d17f31.png为测量噪声协方差矩阵;因子图由一系列不同时刻位姿测量值4149dfb815053eaae045425c5457656f.png和地图路标点42a17bee0b905cb72d1dc2564852f1f5.png的观测量构成。每条实线为1次前后帧之间的位姿累积测量事件,每条虚线为1次检测到的回环约束测量事件,将因子图表达转换为线性化的约束的线性矩阵5549953c59e4f652765f09a3257c45c2.png的形式,每一个新的测量值都会致使信息矩阵发生更新。

44fa3a32a0530c5c9c30e0086ced70b5.png

图5   因子图优化模型

对于1次测量事件,e60acb97e5e9f2a8f87c4e4e8c5461f1.pngd1cf2550ebdbcaea45d2dc714cb2097e.png时刻位姿测量值分别为5003a61af8f15885f99be35200c734cc.pnga50a60b82ca30c0ea9b7d45a586d32a1.png,对应的路标点集合为134ea3966eb12b9137890852a45fcb80.png测量事件构成的约束函数如下:

edb2a6753222c9069c5cc8fe4a26695f.png

因子图优化的过程为求解目标函数得到概率最大的地图和位姿信息路径,其目标函数为测量约束的集合,目标函数公式如下:

153f20a3551758e4f46db974f32a09c3.png

因子图优化的方法将图映射为信息矩阵的表达方式进行求解,利用图的稀疏性特点,在求解过程中保持较低的计算量和错误的数据关联,优于一般的滤波方法[17]。

02  实验结果与讨论

2.1 准确率和召回率实验

准确率和召回率是衡量回环检测模块中相似度检测算法性能的重要指标,在回环检测算法设计中需首先保证较高的准确率,其次在满足高准确率的同时尽可能提高相似度检测模块的召回率。

准确率和召回率的计算方法如下:

5487eb0a6a2a3569b4dca0c5f4b38513.png

式中:b0b0e93c5dc17cbbf2fa885c5f3e4456.png为准确率;c5c40d80b89dc41c0d5b74bb8a7c78a5.png为召回率;TP为正确识别出同一场景的数量;FP为将不同场景错误识别为同一场景的数量;FN为同一场景被错误识别为不同场景的数量。

实验采用苏黎世联邦理工学院公开数据集[18]进行测试,该数据集为手持激光雷达在真实矿井中扫描得到的数据。改变相似度检测算法的阈值ω(0<ω<1),以此测试算法在不同阈值情况下的准确率和召回率,结果如图6所示。

6804be320aa6af507d8cc948806d60bc.png

图6   准确率和召回率曲线

由图6可知,在保证准确率为100%的条件下,召回率最高可以达到50。76%,超过一半的相似场景会被召回,此时阈值736eae23e18e83de4832fd20a93383a9.png为0。95,随着阈值9273196b96a0d6af4601b3cad022bb2f.png进一步降低,召回率增大,准确率降低,回环检测可能出现错误匹配,得到错误的位姿信息,对定位和建图产生严重的影响、因此应保证高准确率,在后续算法实验中均将阈值6ebcea0f9d97a809681065479abdcb5e.png设置为0。95,此时准确率为100%。

2.2 定位精度实验

本文进行了多组仿真和开源数据集下的定位精度实验。实验平台CPU为AMD 3600,内存16 GB,算法采用C++语言编写,均在Ubuntu 18.0的机器人操作系统(ROS)进行测试。仿真实验中,使用文献[19]提供的开源数据进行测试,该数据来自于美国国防部高级研究计划局(DARPA)在匹斯堡举行的“DARPA地下煤矿挑战赛”。使用该数据集进行了4组实验,其中Sim_mine_1和Sim_mine_2为仿真实验,将井下三维模型导入Gazebo仿真系统,添加传感器进行数据采集,模拟巡检工作。搭建的仿真实验环境如图7所示,仿真实验中以无人机作为载体,上方搭载Velodyne-16激光雷达进行数据采集。

b8bf39bfd609993e325c180df44fdb09.png

图7   井下仿真实验环境

M100_Underground和M100_Tunnel分别为在真实矿井中大疆M100无人机搭载激光雷达在井下巷道和矿山隧道巡检时录制的数据包文件,其中包含了雷达运动过程中的里程计信息。共进行了4组井下环境的实验,实验中每次巡检结束时,传感器回到起点附近。实验对照算法分别为LOAM[13],以及复现文献[9]的回环检测算法,以LOAM作为前端里程计,使用近邻点搜索和ICP配准进行位姿变换计算的LOAM+ICP算法。将3种定位算法结果分别与仿真实验中记录的真实值或开源数据集中记录的里程计值进行对比。

实验的4个场景分别使用轨迹真实值进行建图,地图情况如图8所示。图8(a)和8(b)分别为仿真环境的地图,为开采矿井的巷道场景,路段分叉多,通道为非结构化场景,缺乏明显特征;图8(c)和8(d)为M100无人机搭载激光雷达扫描得到的地图,图8(c)环境与图8(a)和8(b)类似,分叉路段多,通道为挖掘面,而图8(d)为矿井入口隧道,采用水泥浇筑,具有支撑柱等结构化特征。

559270c23f342dbfe85c73237dbb6581.png

图8   实验场景点云地图

算法定位精度实验中,进行初始坐标系对齐,以均方根误差,全局最大误差值以及终点处的绝对误差作为评价定位精度的指标,实验结果如表1所示,其中:序号1,2,3,4分别为实验Sim_mine_1、实验Sim_mine_2、实验M100_Underground和实验M100_Tunnel。

90ce753d7e93821aa088286a3f29700f.png

表1   定位精度实验结果

4次实验中,与没有回环检测模块的LOAM算法相比,LOAM+ICP算法和本文算法在最大误差,终点绝对误差以及均方根绝对误差3个指标上均得到明显提高。没有回环检测模块的定位算法随运行时间增长,累积误差逐步增大,体现为LOAM算法的终点绝对误差明显大于其他两种算法,这是造成LOAM算法全局轨迹的均方根误差较大的主要原因。

使用定位评价和可视化工具(EVO)集绘制 Sim_mine_1实验中的定位轨迹,初始坐标轴x,y,z对齐后的轨迹曲线如图9所示,其中:t为时间。3种算法在z坐标下的差值明显,LOAM算法没有回环检测模块,累积误差未得到校正,最终偏移误差绝对值最大;LOAM+ICP和本文算法在加入回环检测后,在巡检轨迹中间段产生一定偏移,但通过回环检测校正了累积误差,全局轨迹的均方根误差较小。

fefec58b3dbc865ad9c57541bfecd5ca.png

图9   Sim_mine_1定位实验轨迹

与LOAM+ICP算法相比,本文算法的定位精度更高,均方根误差较小,但两者终点绝对误差较为接近。其原因在于LOAM+ICP算法计算速度慢,影响了里程计算法的精度,中期误差大,但当检测到回环时仍能计算出准确的位姿,消除累积误差。实验中LOAM+ICP算法和本文算法回环检测部分各模块的计算耗时如表2所示。

bd54c3005c84d0bf3198a025c24c63d6.png

表2   算法各模块运行时间

上述实验数据均为实验过程中记录的单次完整执行对应模块需要的平均耗时。实验结果显示,相似度检测模块中,LOAM+ICP基于位置进行判断,而本文算法需要计算点云描述子,算法步骤较多,在该模块中耗时增加3.5919 ms;而在位姿计算模块,LOAM+ICP通过ICP方法计算相似帧之间的位姿变换,对点云中的所有点进行配准、目标函数的构建和迭代求解,而本文算法基于曲率计算方法,仅对边角和平面特征进行处理和计算,优化了计算效率,平均耗时由 122.3668 ms降至 67.4053 ms,降低了44.92%;回环时间反映了完整执行一次回环检测模块需要的平均时间,得益于位姿计算时间的明显下降,回环检测模块的整体耗时由 147.0491 ms降低为 88.7274 ms。

在LOAM+ICP算法中由于回环检测模块平均耗时超过100 ms,低于点云数据采集频率10 Hz。且基于全局描述子的回环检测方法解决了 LOAM+ICP算法召回率随累积误差增大不断减小的问题,在长时间运行中更加具有优势。

因子图优化模块对于保证轨迹的全局一致性和平滑性有重要作用。Sim_mine_1实验使用本文算法进行因子图优化前后的轨迹如图10所示。其中:绿色轨迹为因子图优化前轨迹;红色轨迹为因子图优化后轨迹。由局部放大图可以看出,优化后点云地图无重影,全局一致性良好,因子图优化前轨迹的均方根误差为 0。888733 m,大于优化后的 0。588270 m。

1bdb651801f0d7e1a23b01910be94767.png

图10   因子图优化前后轨迹

03  结语

针对井下巡检时定位误差随时间不断累积的问题,提出一种适用于激光SLAM的基于点云全局特征描述子的回环检测方法。该方法具有以下优势:

①充分利用了井下巷道的结构特征,相似度检测不受位姿信息约束,通过曲率分别提取通道四周墙壁边角处和平面处的特征向量,利用特征向量和点云中心点之间的角度关系和点云通道和中心点之间的距离关系构建了全局特征描述子;

②提高了计算速度,基于边角点和平面点配准策略,进行高效率的位姿变换算法研究;

③全局一致性优,采用因子图优化获得了使全局误差最小的位姿,校正了累积误差。

实验结果表明,本文算法定位精度相较于不加回环检测的LOAM算法和使用距离信息进行回环检测的LOAM+ICP算法得到较大提升,在长时间长距离的实验中提升效果显著。实验结果对于井下执行长时间的巡检任务具有指导意义,未来工作中考虑进一步研究,将算法应用于井下巡检无人机平台上,探究在实际应用场景中的可行性。

本文仅做学术分享,如有侵权,请联系删文。

点击进入—>3D视觉工坊学习交流群

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

3D视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
2.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
3.国内首个面向工业级实战的点云处理课程
4.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
5.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
6.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
7.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

8.从零搭建一套结构光3D重建系统[理论+源码+实践]

9.单目深度估计方法:算法梳理与代码实现

10.自动驾驶中的深度学习模型部署实战

11.相机模型与标定(单目+双目+鱼眼)

12.重磅!四旋翼飞行器:算法与实战

13.ROS2从入门到精通:理论与实战

14.国内首个3D缺陷检测教程:理论、源码与实战

15.基于Open3D的点云处理入门与实战教程

16.透彻理解视觉ORB-SLAM3:理论基础+代码解析+算法改进

17.机械臂抓取从入门到实战

重磅!粉丝学习交流群已成立

交流群主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、ORB-SLAM系列源码交流、深度估计、TOF、求职交流等方向。

扫描以下二维码,添加小助理微信(dddvisiona),一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

a7b8bdb3869c698865f49412fe7ce2a3.jpeg

▲长按加微信群或投稿,微信号:dddvisiona

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)源码分享、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答等进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,6000+星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看,3天内无条件退款

d508a7e8be6c6cb3038d190f89c7a31e.jpeg

高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

这篇关于基于全局特征描述子的激光SLAM回环检测方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/260537

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

浅谈主机加固,六种有效的主机加固方法

在数字化时代,数据的价值不言而喻,但随之而来的安全威胁也日益严峻。从勒索病毒到内部泄露,企业的数据安全面临着前所未有的挑战。为了应对这些挑战,一种全新的主机加固解决方案应运而生。 MCK主机加固解决方案,采用先进的安全容器中间件技术,构建起一套内核级的纵深立体防护体系。这一体系突破了传统安全防护的局限,即使在管理员权限被恶意利用的情况下,也能确保服务器的安全稳定运行。 普适主机加固措施:

webm怎么转换成mp4?这几种方法超多人在用!

webm怎么转换成mp4?WebM作为一种新兴的视频编码格式,近年来逐渐进入大众视野,其背后承载着诸多优势,但同时也伴随着不容忽视的局限性,首要挑战在于其兼容性边界,尽管WebM已广泛适应于众多网站与软件平台,但在特定应用环境或老旧设备上,其兼容难题依旧凸显,为用户体验带来不便,再者,WebM格式的非普适性也体现在编辑流程上,由于它并非行业内的通用标准,编辑过程中可能会遭遇格式不兼容的障碍,导致操

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

【北交大信息所AI-Max2】使用方法

BJTU信息所集群AI_MAX2使用方法 使用的前提是预约到相应的算力卡,拥有登录权限的账号密码,一般为导师组共用一个。 有浏览器、ssh工具就可以。 1.新建集群Terminal 浏览器登陆10.126.62.75 (如果是1集群把75改成66) 交互式开发 执行器选Terminal 密码随便设一个(需记住) 工作空间:私有数据、全部文件 加速器选GeForce_RTX_2080_Ti

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级,那么拉取更新历史弹出升级控制窗口用户选择升级时,拉取升级包解压,重启应用用户选择忽略时,本地版本标志为忽略版本用户选择取消时,隐藏升级控制窗口 2.