赞
踩
原创投稿 | ScanContext 论文详解 - 用途:Lidar SLAM 回环检测、空间描述符(这篇我觉得写得通俗易懂)
简单来说,把传感器周围的点云存在一个类似下面的地图中,3D降维到2D
降维后的Scan context就是一个Nr*Ns的矩阵,横轴代表环向维度,纵轴代表径向维度,矩阵中的像素值是取的对应环向和径向相交区域(bin, 注意是具有一定体积的空间区域)点的最大高度;这个矩阵就是对该场景的编码,由于包含了全局信息,所以是一个全局的描述符。
通俗的讲就是这两个降维后的2D矩阵通过
这个公式来计算相似度,那如果旋转过后,位置没变,但是角度变了是不是整体的ring没变,但是sector方向整体偏移,那就用最简单的方法将每一个值都试过去,看看是不是符合相似度阈值。
那么显然前面说的,挨个试过去的方法运算量很大,效率奇低,所以作者提出了一种高效的方法。将整个地图再次降维一下,通过环键(Ring key)编码来将每一个横轴的值变为一个实值,这样整个一圈圈的ring就从Nr ✖ Ns 变为Nr了。
环键编码算法采用如下
这样就会得到许多个一维向量(不同的location),作者构建了一个KDTree来搜索K个最相似的scan index,搜索结果再进行相似度匹配计算就会大大提高效率。
个人理解,就是把原先的三维地图降维到二维矩阵,再通过判断Sector方向的突出地貌个数来降维(确实虽然旋转了,但是每个方向的整体地形不能变,或者说每个视角中的高点个数不会变),最终得到许多个一维的KD树匹配。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。