视觉SLAM中,通常是指使用相机来解决定位和建图问题。

SLAM中使用的相机往往更加简单,不携带昂贵的镜头,以一定的速率拍摄周围的环境,形成一个连续的视频流。

相机分类:

单目相机:只是用一个摄像头进行SLAM的做法成为单目SLAM。

单目相机的数据就是照片,照片就是拍照时的场景在相机的成像平面上留下的一个投影,它以二维的形式反映了三维的世界,在这个过程中丢掉了一个维度即深度(距离)。我们无法通过单张照片计算场景中的物体与我们之间的距离。(照片:近小远大原理)

如果想要通过单目相机拍摄的照片恢复三维结构,必须改变相机的视角(移动相机,才能估计它的运动和场景中物体的远近与大小)。

通过移动,我们知道“近处的物体移动快,远处的物体移动慢”从而得知物体的远近,但这仍然是相对值。

单目SLAM无法仅凭图像确定物体的真实尺寸。即尺度不确定性。

平移之后,可以计算深度,但无法确定真实尺寸。这给单目SLAM的应用造成了很大的麻烦。

双目相机:有两个摄像头,由两个单目相机组成(两个相机之间的距离叫“基线”是已知的),通过这个基线(进行大量计算并且是不太可靠的)来估计每个像素的空间位置来测量物体与我们之间的距离,客服单目相机无法知道距离的缺点。

双目相机测量到的深度范围和基线有关,基线距离越大,能够测量到的就越远。可用于室内也可用于室外。

缺点:配置与标定较为复杂,其深度和精度受双目的基线或者分辨率所限,并且视差的计算非常消耗计算机资源,在现有的条件下,计算量是双目的主要问题之一。

RGB-D(深度相机)携带多个摄像头,可以采集到彩色图片,还可以读出每个像素与相机之间的距离。

最大的特点:可以通过红外结构光或Time-of-Flight原理,像激光传感器那样,通过主动向物体发射光并接收返回的光,测量物体与相机之间的距离。这是通过物理测量的方法来计算距离,相比双目相机通过软件计算距离来说深度相机可以节省大量的时间。

缺点:大多数深度相机的测量范围窄,噪声大,视野小,易受日光干扰,无法测量投射材质等。

在SLAM中,主要用于室内,室外则较难应用。

在相机的运动过程中,我们可以得到一些列连续变化的图像,视觉SLAM的目标就是通过这样的图像进行定位和地图重建。SLAM需要一个完善的算法框架,现在框架已经相对成熟了。

视觉SLAM中相机详解的更多相关文章

  1. 第六篇 视觉slam中的优化问题梳理及雅克比推导

    优化问题定义以及求解 通用定义 解决问题的开始一定是定义清楚问题.这里引用g2o的定义. \[ \begin{aligned} \mathbf{F}(\mathbf{x})&=\sum_{k\ ...

  2. 视觉SLAM中的数学基础 第二篇 四元数

    视觉SLAM中的数学基础 第二篇 四元数 什么是四元数 相比欧拉角,四元数(Quaternion)则是一种紧凑.易于迭代.又不会出现奇异值的表示方法.它在程序中广为使用,例如ROS和几个著名的SLAM ...

  3. winxp计算机管理中服务详解

    winxp计算机管理中服务详解01 http://blog.sina.com.cn/s/blog_60f923b50100efy9.html http://blog.sina.com.cn/s/blo ...

  4. cocos2dx常见的46中+22中动作详解

    cocos2dx常见的46中+22中动作详解 分类: iOS2013-10-16 00:44 1429人阅读 评论(0) 收藏 举报 bool HelloWorld::init(){    ///// ...

  5. Android中Context详解 ---- 你所不知道的Context

    转自:http://blog.csdn.net/qinjuning/article/details/7310620Android中Context详解 ---- 你所不知道的Context 大家好,  ...

  6. iOS中-Qutarz2D详解及使用

    在iOS中Qutarz2D 详解及使用 (一)初识 介绍 Quartz 2D是二维绘图引擎. 能完成的工作有: 绘制图形 : 线条\三角形\矩形\圆\弧等 绘制文字 绘制\生成图片(图像) 读取\生成 ...

  7. 【转】declare-styleable的使用(自定义控件) 以及declare-styleable中format详解

    原文网址:http://www.cnblogs.com/622698abc/p/3348692.html declare-styleable是给自定义控件添加自定义属性用的 1.首先,先写attrs. ...

  8. Python中dict详解

    from:http://www.cnblogs.com/yangyongzhi/archive/2012/09/17/2688326.html Python中dict详解 python3.0以上,pr ...

  9. 【转】 java中HashMap详解

    原文网址:http://blog.csdn.net/caihaijiang/article/details/6280251 java中HashMap详解 HashMap 和 HashSet 是 Jav ...

随机推荐

  1. 九、Hadoop学习笔记————Hive简介

    G级别或者T级别都只能用hadoop

  2. 项目实战——企业级Zabbix监控实战(一)

    项目实战--企业级Zabbix监控实战 实验一:Zabbix监控的搭建 1.实验准备 centos系统服务器3台. 一台作为监控服务器, 两台台作为被监控节点, 配置好yum源. 防火墙关闭. 各节点 ...

  3. selenium与表格的二三事

    今天遇到的问题是selenium与表格中行和列的问题! 我想要做的事情是统计当前的table有多少行,表格形式如下如所示: 图中所示为2行,我的定位方式是这样的 : table=driver.find ...

  4. Shell编程基础篇-下

    1.1 条件表达式 1.1.1 文件判断 常用文件测试操作符 常用文件测试操作符 说明 -d文件,d的全拼为directory 文件存在且为目录则为真,即测试表达式成立 -f文件,f的全拼为file ...

  5. day2-Python基本数据类型介绍

    百度云连接 链接:https://pan.baidu.com/s/1hsGQx7m 密码:u07q

  6. java 之 职责链模式(大话设计模式)

    目前很多OA办公自动化软件,加快了办公效率,简化流程.相信很多小伙伴都用过.笔者了解到的大多数办公软件底层实现流程大多数采用的都是Activity或者是JBPM框架. 今天笔者要说的也是类似于流程的一 ...

  7. JDBC中的Statement和PreparedStatement的差别

    以Oracle为例吧 Statement为一条Sql语句生成运行计划, 假设要运行两条sql语句 select colume from table where colume=1; select col ...

  8. 一起talk C栗子吧(第一百二十六回:C语言实例--statickeyword)

    各位看官们,大家好,上一回中咱们说的内置宏的样例.这一回咱们说的样例是:static关键字. 闲话休提.言归正转. 让我们一起talk C栗子吧! 看官们,C语言提供了static关键字.它常常出如今 ...

  9. 自己定义View Controller转换动画

    原文链接 : Introduction to Custom View Controller Transitions and Animations 原文作者 : joyce echessa 译文出自 : ...

  10. 关于chrome浏览器的帐号密码和背景色的填充问题

    不知道大家平时做项目的时候有木有关注这个问题,其实之前做项目遇到过类似的问题,但是因为是单独的chrome浏览器的填充,而且是样式问题稍微严重点,也就没在意.然而在近期的项目中有遇到了这个问题,最为一 ...