语义SLAM的数据关联和语义定位(三)
与现有方法的异同
特征点SLAM中的数据关联
先回忆一下特征点SLAM中,我们是如何处理数据关联的。下面以ORBSLAM为例。
在初始化部分,我们通过特征描述子的相似性,建立两帧之间的特征点关联,然后通过RANSAC框架下的姿态估计算法得到初始的R和t,重建和优化三维点的位置。
在追踪部分,我们首先会关联当前帧和上一帧。通过预估的姿态和三维点的深度范围,初步确定每个三维点在当前帧上的搜索范围,并依靠特征描述子的相似性建立关联关系。由于这样建立的关联关系中存在部分误匹配,因此在姿态估计等后续算法中需要RANSAC框架。
在重定位部分,我们通过特征描述子的相似性建立当前帧和候选帧之间的特征点关联,在RANSAC框架下利用P4P尝试求解并优化相对姿态。
回环检测部分和重定位部分类似,只不过求解的是Sim3姿态。
可以看出,ORBSLAM中的数据关联是一对多的,即一个landmark对应于一组观测值,每个观测值只对应于一个landmark。特征点SLAM是先做数据关联,再求解和优化姿态。由于错误的数据关联会影响姿态估计准确性,因此上述算法中大量调用RANSAC框架。
直接法SLAM中的数据关联
直接法的数据关联方法和特征点法有明显的区别。以DSO为例,在初始化部分,直接法通过极线搜索光度误差最小的点,并计算逆度和方差。在追踪部分,数据关联和姿态优化是融合一体的。这里没有显式的对应点的概念。而是根据深度和姿态的变化,图像上的对应点一直在变化,通过最小化光度误差来求解姿态和深度。直接法暂时没有重定位和回环检测部分。
在优化时,DSO用鲁棒的核函数来降低局外点的影响,并通过一些规则去除错误的数据关联。
基于概率的数据关联
基于概率的数据关联和上述两种有区别也有联系。
对于一个landmark和一幅图像,特征点SLAM是一对一的,直接法是一对多的(一个由深度及其方差决定的区域),概率关联是多对多的。
图像中的检测出的目标物体有固定的位置,是离散的,在这方面更像特征点。但由于图像中的目标(10个左右)并不如特征点那样丰富(1000个左右),错误的匹配不方便通过RANSAC算法来排除(样本不足)。
基于概率的数据关联会充分考虑到一个物体对应于多个检测结果的情形,这点和直接法的数据关联又有点像,其关联关系并不固定。
语义SLAM的数据关联和语义定位(三)的更多相关文章
- 语义SLAM的数据关联和语义定位(一)
语义SLAM和多传感器融合是自动驾驶建图和定位部分比较热门的两种技术.语义SLAM中,语义信息的数据关联相较于特征点的数据关联有所不同.我们一般用特征描述子的相似性来匹配和关联不同图像中的特征点.特征 ...
- 语义SLAM的数据关联和语义定位(四)多目标测量概率模型
多目标模型 这部分想讲一下Semantic Localization Via the Matrix Permanent这篇文章的多目标测量概率模型.考虑到实际情况中,目标检测算法从单张图像中可能检测出 ...
- 语义SLAM的数据关联和语义定位(二)Semantic Localization Via the Matrix Permanent
论文假设和单目标模型 这部分想讲一下Semantic Localization Via the Matrix Permanent这篇文章的一些假设. 待求解的问题可以描述为 假设从姿态\(x\)看到的 ...
- 语义slam用于高精地图和高精定位的一些想法
最近一直在考虑语义slam在自动驾驶和辅助驾驶中的用法,研究了一下视觉为主的高精度地图+高精定位的模式,特别是mobileye的REM. 秉承先建图再定位的思路,在服务器端(云端)建图,在车端定位. ...
- 分享| 语义SLAM的未来与思考(泡泡机器人)
相比典型的点云地图,语义地图能够很好的表示出机器人到的地方是什么,机器人“看”到的东西是什么.比如进入到一个房间,点云地图中,机器人并不能识别显示出来的一块块的点云到底是什么,但是语义地图的构建可以分 ...
- 从5个经典工作开始看语义SLAM
本文试图概括Semantic SLAM的主要思路和近年工作,⻓期更新.但因水平有限,若有错漏,感谢指正. (更好的公式显示效果,可关注文章底部的公众号) Semantic SLAM 简介 至今为止,主 ...
- 最近一年语义SLAM有哪些代表性工作?
点击"计算机视觉life"关注,置顶更快接收消息! 本文由作者刘骁授权发布,转载请联系原作者,个人主页http://www.liuxiao.org 目前 Semantic SLAM ...
- 语义SLAM研究现状总结
博客转载自:https://blog.csdn.net/xiaoxiaowenqiang/article/details/81051010 原文标题:深度学习结合SLAM 语义slam 语义分割 端到 ...
- 三维重建5:场景中语义分析/语义SLAM/DCNN-大尺度SLAM
前言: 在实时/非实时大规模三维场景重建中,引入了语义SLAM这个概念,参考三维重建:SLAM的尺度和方法论问题和三维重建:SLAM的粒度和工程化问题 .大规模三维场景重建的尺度增大,因此相对于整个重 ...
随机推荐
- 通过XMLHttpRequest和jQuery两种方式实现ajax
一.XMLHttpRequest实现获取数据 不使用jQuery实现页面不刷新获取内容的方式,我们这里采用XMLHttpRequest原生代码实现:js代码如下: //1.获取a节点,并为其添加Onc ...
- CentOS 6.7 下 MYSQL 5.7 的安装与配置
安装 #yum源 http://dev.mysql.com/downloads/repo/yum/ #安装 rpm -Uvh http://dev.mysql.com/get/mysql57-comm ...
- Chapter 2 Open Book——13
"People in this town," he muttered. "Dr. Cullen is a brilliant surgeon who could prob ...
- java入门,学习笔记
编译 通过javac编译java程序,会编译出一个后缀为class的文件,我们再通过java虚拟机(jvm)执行编译后的java程序. 在java中始终有一个main函数,它作为程序的入口,程序从这个 ...
- VS和Eclipse的调试功能哪个更强大?
以前一直用VS 2012来调试C/C++代码,F5.F10.F11用起来甚是顺手,前面也写过一篇关于VS最好用的快捷键:Visual Studio最好用的快捷键(你最喜欢哪个), 所以对于调试C/C+ ...
- 面试:C++二叉树遍历(递归/非递归)
#include <vector> #include <stack> #include <queue> using namespace std; struct Tr ...
- (转)Spring常用注解
使用注解来构造IOC容器 用注解来向Spring容器注册Bean.需要在applicationContext.xml中注册<context:component-scan base-package ...
- 使用CSS定位元素实现水平垂直居中效果
总结一下平时使用CSS技巧使元素达到水平居中效果 相对定位(或绝对定位)实现水平垂直居中: element{ position:relative; /*这个属性也可以是absolute*/ width ...
- 【转】CSRF基本概念
本文转自:http://www.cnblogs.com/hyddd/ 一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one ...
- Git学习笔记4
现在,远程库已经准备好了,下一步是用命令git clone克隆一个本地库: $ git clone git@github.com:michaelliao/gitskills.git 要克隆一个仓库,首 ...