作者丨铜离子c@知乎

来源丨https://zhuanlan.zhihu.com/p/214309563

编辑丨3D视觉工坊

回环检测,或者说场景识别问题,关键在于如何构建每个场景(图片/点云)的“唯一指纹”。

Scan context (IROS18): 针对于点云数据的全局描述符

题目:Kim, Giseop, and Ayoung Kim. "Scan context: Egocentric spatial descriptor for place recognition within 3d point cloud map."2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2018.

代码:https://github.com/irapkaist/scancontext

论文:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8593953

回环检测(场景识别)=场景描述+搜索,Scan context的作用是作为描述符来描述点云数据,其搜索算法则是保证回环能够快速检测出来的核心算法。

利用3D点云做场景识别的一般思路

相比较之下,3D点云的回环检测相比较于视觉回环检测更加困难,原因主要是3D点云缺乏色彩信息,纹理信息等,无法提取出传统的图像所特有的特征(ORB,SIFT等);如果不对点云数据进行预处理的话,就只能进行几何匹配,消耗较高;试想通过降维的方法,将3D点云降维到2D图像,2D图像保留的是深度信息表征,通过类似对彩色图像继续回环检测的方法,对降维的2D点云也进行特征提取和描述

预想的难点:1. 降维的形式,尽可能多的保留深度信息;2. 描述符的编码 3.相似度打分

0. Scan context的设计

降维的方式如上图,最后呈现出来的二维图中,横轴代表环向维度,纵轴代表径向维度,矩阵中的像素值是取的对应环向和径向相交区域(bin, 注意是具有一定体积的空间区域)点的最大高度;

直观感受降维后的图像,像是“凹凸不平”的山脉图(因为是用最大高度作为像素值),较好地保留了几何结构信息;论文中用了2.5D的表述,很贴切,这就像是moba类游戏的地图建模,虽然地图本质上3D的,在固定了视角之后就呈现出2.5D的效果,但是丝毫不会影响玩家对地图结构的判断。(这里以雷达光心为圆心,将“地图”进行了展开,但不影响理解它是2.5D的地图)

1. 描述符编码

降维后的Scan context就是一个Nr*Ns的矩阵,矩阵存储的值就是“地貌”的高度值;这个矩阵就是对该场景的编码,由于包含了全局信息,所以是一个全局的描述符

2. 相似度打分:列向比较

Scan context的特点是:由于雷达视角的不同,即当雷达在同一地点纯转动了一定角度之后,列向量向量值不变,但是会出现偏移;行向量的行为是向量中元素的顺序会发生改变,但是行向量不会发生偏移。为什么采用列向比较?论文给出的理由是能够对动态物体更有效。(不是很理解这个理由)

为了解决列向量偏移的问题,相似度打分采用调整列顺序后的最小距离作为相似度:

3. 总结

论文总体上比较好理解,核心就是为了利用点云数据进行场景识别,对原始点云数据进行了降维处理,保留成2.5D的形式,没有破坏几何结构信息(类比moba游戏的地图);直接利用这种二维矩阵格式的数据作为描述符进行相似度比较。本质上我认为难点在于降维+相似度打分的pipeline具体设计,思路设计倒是常规思路。以及后面的搜索算法是基于这种形式有所优化的。

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

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

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

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

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

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

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

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

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

  1. segMatch:基于3D点云分割的回环检测

    该论文的地址是:https://arxiv.org/pdf/1609.07720.pdf segmatch是一个提供车辆的回环检测的技术,使用提取和匹配分割的三维激光点云技术.分割的例子可以在下面的图 ...

  2. 自动驾驶系统进阶与项目实战(四)自动驾驶高精度地图构建中的三维场景识别和闭环检测

    自动驾驶系统进阶与项目实战(四)自动驾驶高精度地图构建中的三维场景识别和闭环检测 闭环检测(loop-closure detection)是SLAM中非常关键的一部分,当然也是自动驾驶高精度地图(HD ...

  3. 开源!用于3D激光雷达SLAM回环检测的实时词袋模型BoW3D

    点击进入->3D视觉工坊学习交流群 0. 笔者个人体会 回环检测对于SLAM系统的全局一致性有着至关重要的影响.现有的视觉SLAM回环检测大多是基于词袋模型,也就是2012年推出的BoW2库和2 ...

  4. M2DP:一种新的三维点云描述子及其在回环检测中的应用

    文章:M2DP: A Novel 3D Point Cloud Descriptor and Its Application in Loop Closure Detection 作者:Li He , ...

  5. 视觉SLAM回环检测、词袋模型和视觉位置识别--论文记录和实验简析

    一.传统方法部分(词袋模型,bag of words,BoW) 1. 预先在环境中采集足够多的图像或者所有位置的图像(成千上万张图片)之后构建视觉词汇表 参考论文:2012年的TRO顶刊 Gálvez ...

  6. 回环检测算法综述之场景描述

    在视觉SLAM问题中,位姿的估计往往是一个递推的过程,即由上一帧位姿解算当前帧位姿,因此其中的误差便这样一帧一帧的传递下去,也就是我们所说的累积误差.一个消除误差有效的办法是进行回环检测.回环检测判断 ...

  7. (回环检测)Scan Context++: Structural Place Recognition Robust to Rotation and Lateral Variations in Urba

    论文创新基本和之前一致,只是比之前表达更加规范化,此外添加了很多有趣实验验证,没有余力可以不看这篇论文,之前那篇看完就够了 摘要 位置识别是机器人导航中的一个关键模块.现有的研究路线主要集中在视觉位置 ...

  8. 3D激光SLAM的回环检测方法

    一.Scan-to-Scan 1.格地图或者说是概率占据栅格地图初步 在Matlab中创建一个1000*1000大小的二维数组,如果数组中每个元素取值为0到255的整数(灰度图),再把这个数组用Mat ...

  9. 基于语义图的三维点云场景识别

    标题:Semantic Graph Based Place Recognition for 3D Point Clouds 作者:Xin Kong, Xuemeng Yang , Guangyao Z ...

最新文章

  1. SQL SERVER DBCC命令解释
  2. 基于服务器端保存用户的查询参数
  3. MATLAB实战系列(十七)-大学生数学建模赛题解析-水塔中水流量估计(附MATLAB源码)
  4. mysql5.7.23版本环境配置
  5. 设计模式是什么鬼(模板方法)
  6. 从零学ELK系列(四):Docker安装Elasticsearch(超详细图文教程)
  7. php 导入excal,php导入excel php使用phpexcel导入excel文件
  8. php和java访问中的一些区别
  9. aip格式转化为pdf,catia的三维图转PDF格式咋弄
  10. 微博舆情挖掘需求分析
  11. xmta温度控制仪说明书_XMT温度控制仪说明书
  12. C#使用爬虫爬取某网站视频
  13. 社交网络算法在金融反欺诈中的应用
  14. 自学Android,学多久可以加入字节跳动?
  15. 可能是国内最火的开源项目 —— PHP 篇
  16. VisionPro斑点工具CogBlobTool
  17. 两张独立显卡连接两个显示器如何配置
  18. 清华物理系与计算机系哪个好,兰州大学现在还有物理系吗?
  19. 大数据时代的地理信息系统发展
  20. TE、TM、TEM模式的区别

热门文章

  1. MySql中实现 按经纬度搜索附近的人,并按距离排序的简单实现
  2. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.yx.store.servic
  3. 中国电信光纤终端端口映射解决方案
  4. Golang的range
  5. MATLAB的repmat函数
  6. nginx参数etag
  7. 关于笔记本插网线识别不出来的解决办法
  8. srvbuildres: error while loading shared libraries: libXm.so.3
  9. 基于ssm框架的汽车租赁租车行系统
  10. 使用python绘制月饼,慢慢等待将至的中秋节