Disco-SLAM算法之Scan-Context

Scan-Context的理解

Scan context: 3D点云的场景识别/回环检测

原创投稿 | ScanContext 论文详解 - 用途:Lidar SLAM 回环检测、空间描述符(这篇我觉得写得通俗易懂)

Scan Context的创建

简单来说,把传感器周围的点云存在一个类似下面的地图中,3D降维到2D

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rXTgzGxV-1680147328886)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230118233805364.png)]
在这里插入图片描述

降维后的Scan context就是一个Nr*Ns的矩阵,横轴代表环向维度,纵轴代表径向维度,矩阵中的像素值是取的对应环向和径向相交区域(bin, 注意是具有一定体积的空间区域)点的最大高度;这个矩阵就是对该场景的编码,由于包含了全局信息,所以是一个全局的描述符。

Similarity score的计算

通俗的讲就是这两个降维后的2D矩阵通过

在这里插入图片描述

这个公式来计算相似度,那如果旋转过后,位置没变,但是角度变了是不是整体的ring没变,但是sector方向整体偏移,那就用最简单的方法将每一个值都试过去,看看是不是符合相似度阈值。

在这里插入图片描述

Two-phase Search Algorithm

那么显然前面说的,挨个试过去的方法运算量很大,效率奇低,所以作者提出了一种高效的方法。将整个地图再次降维一下,通过环键(Ring key)编码来将每一个横轴的值变为一个实值,这样整个一圈圈的ring就从Nr ✖ Ns 变为Nr了。

环键编码算法采用如下

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

这样就会得到许多个一维向量(不同的location),作者构建了一个KDTree来搜索K个最相似的scan index,搜索结果再进行相似度匹配计算就会大大提高效率。

个人理解,就是把原先的三维地图降维到二维矩阵,再通过判断Sector方向的突出地貌个数来降维(确实虽然旋转了,但是每个方向的整体地形不能变,或者说每个视角中的高点个数不会变),最终得到许多个一维的KD树匹配。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值