语义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的粒度和工程化问题 .大规模三维场景重建的尺度增大,因此相对于整个重 ...
随机推荐
- python 生成器 迭代器
阅读目录 一 递归和迭代 二 什么是迭代器协议 三 python中强大的for循环机制 四 为何要有for循环 五 生成器初探 六 生成器函数 七 生成器表达式和列表解析 八 生成器总结 一 递归和迭 ...
- windows store app 如何计算字符所占的宽度
最近在做一个PDF电子文档相关的项目,我们的app是运行在Windows 8 / WinRT 下的.由于使用的第三方库的一些技术限制,text area竟然不支持多行文本自动换行.于是我们就需要自己实 ...
- DDD漫想
领域专用语言 领域驱动设计(Domain Driver Design)开发中,最令我震撼的是领域专用语言(Domain specific language),领域专用语言专注于描述当前领域内的业务细节 ...
- python多线程-Semaphore(信号对象)
Semaphore(value=1) Semaphore对象内部管理一个计数器,该计数器由每个acquire()调用递减,并由每个release()调用递增.计数器永远不会低于零,当acquire() ...
- Docker概念学习系列之Docker与传统虚拟机差异(4)
不多说,直接上干货! 见[博主]撰写的https://mp.weixin.qq.com/s/YihjPONUcUi4b_7RC8oLYw 传统虚拟化是在硬件层面实现虚拟化,需要有额外的虚拟机管理应 ...
- SQL分区表示例
-- Create tablecreate table TT_FVP_OCR_ADDRESS( id NUMBER not null, waybill_no VARCHAR2(32) not null ...
- ffplay源码分析2-数据结构
ffplay是FFmpeg工程自带的简单播放器,使用FFmpeg提供的解码器和SDL库进行视频播放.本文基于FFmpeg工程4.1版本进行分析,其中ffplay源码清单如下: https://gith ...
- iis 程序池设置及详解-20180720
[非原创,好文收藏,分享大家] 公司的一个网站程序长时间运行后,速度变慢,重新启动网站后速度明显变快,估计是网站程序占用的内存和CPU资源没能及时释放,才需要每隔一段时间重启网站释放资源.但手工重启总 ...
- MyCAT入门实践
1.MyCAT简单介绍 MyCAT是一个彻底开源的,面向企业应用开发的大数据库集群,支持事务.ACID.可以替代MySQL的加强版数据库,是一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Or ...
- UML基础 UML对象图解析
本节向大家介绍一下UML对象图方面的内容,主要包括UML对象图概念介绍,表示法和用途等,希望通过本节的介绍大家对UML对象图有全面的认识,下面让我们一起来学习吧. UML对象图简介 对象图(Objec ...