什么是视觉Visual SLAM

What Is Visual SLAM?

What are the origins of visual SLAM? and what are some other applications for this technology beyond floor cleaning?

视觉Visual SLAM的起源是什么?除了吸尘器,这项技术还有哪些其他应用?

今年CES的获奖者之一是iRobot的众多Roombas(特别是s9+真空和清洁底座自动污垢处理)。所有Roomba真空吸尘器的一个独特的技术专长是它使用了vSLAM,即视觉同步定位和绘图。             

据iRobot称,这项技术使用光学传感器每秒捕获230400个数据点。这使得流动真空能够绘制出它周围环境的地图,包括它自己在那个环境中的位置,并绘制出“它在哪里,曾经在哪里,以及它需要清洁的地方”

The Roomba s9+ uses iRobot's patented vSLAM technology. Image used courtesy of iRobot

但是视觉冲击的起源是什么呢?除了垃圾吸尘器机器人,这项技术还有哪些其他应用?

What Is Visual SLAM?

通常,SLAM是一种利用传感器绘制设备周围区域的地图,同时将自身定位在该区域内的技术。声纳和激光成像是这项技术如何发挥作用的两个例子。

但与激光雷达(LiDAR)等使用激光阵列绘制区域地图的技术不同,visual slam使用一台摄像机来收集数据点并创建地图。Makhubela等人对visual SLAM进行了一次回顾,他解释说单视觉传感器可以是单目、立体视觉、全向或红绿蓝深度(RGBD)相机。

没有单一的算法来执行视觉SLAM;此外,据世界最大的机器视觉行业协会AIA称,当传感器的位置及其更广阔的环境都未知时,这种技术使用3D视觉进行位置映射。

3D Face Reconstructions and Drone Vision

而Makhubela等人。相信这项技术还处于初级阶段,visualslam仍然在一些有趣的用例中取得了进展。

卡内基梅隆机器人研究所(Carnegie Mellon's robotics institute)的一个令人兴奋的进展是,该研究所发明了一种用智能手机视频创建3D人脸重建的两步方法。这个过程的第一步是使用视觉冲击来三角化人脸表面上的点,同时也使用这些信息来识别相机的位置。然后,研究人员使用深度学习算法来填补个人轮廓和面部标志(眼睛、耳朵和鼻子)的空白。

Researchers say this method could build avatars for gaming or create customized surgical masks or respirators. Image (modified) used courtesy of Carnegie Mellon University

另一个视觉冲击的应用是蜻蜓,一个由Accuware创建的软件。Accuware拥有自己的专利视觉SLAM方法,用于机器人和无人机的3D定位,号称定位地图的精确度为5厘米。然而,该软件的一个缺点是,该软件至少需要16gb的计算机RAM,其中大部分用于处理引擎将来自相机的数据转换为地图。

Accuware表示,他们看到了在自动车辆、自动机器人和无人驾驶飞机上进行视觉猛击的未来,这些机器人和无人驾驶飞机用于运载以及搜索和救援。

MonoSLAM and PTAM

关于两个最流行的视觉SLAM迭代(MonoSLAM和PTAM:MonoSLAM,一个实时单摄像机SLAM)的快速历史课是由Davison等人创建的vSLAM的第一个实现。2007年。

从那时起,研究人员Taketomi等人扩展了PTAM(并行跟踪和映射)技术。虽然单斯拉姆和PTAM的基本前提相似,但它们在一些重要方面有所不同。

How Does MonoSLAM and PTAM Work?

首先,MonoSLAM和PTAM都必须初始化映射。在MonoSLAM中,这是通过使用已知对象作为第一个数据点来实现的。此点允许设备根据对象的已知参数校准和缩放其测量值。另一方面,PTAM通过使用所谓的“五点算法”(一种基于摄像机相对运动估计位置的过程)来实现地图初始化。

接下来,两种视觉SLAM技术都执行跟踪和定位,这就是真正神奇的地方。在MonoSLAM中,该技术使用一种称为扩展Kalman滤波器的数学过程来估计相机的运动,并找到“特征点”的三维坐标,这些特征点是记录在地图上的三维结构和物体。

Map created by Accuware's Dragonfly. Image used courtesy of Accuware

PTAM匹配特征点,以估计当前地图点和来自相机的最新输入图像之间的相机位置。然后使用三角剖分创建三维位置,并使用捆绑算法优化这些数据点。AIA描述了捆绑算法如何利用montecarlo分析从多个数据点中找出一个平均位置。

如Taketomi等人。解释一下,PTAM,以及visualslam的许多后期实现,使用重定位和全局地图优化来优化摄像机位置和地图环境。

Challenges of Visual SLAM: Motion and Light

虽然视觉冲击显示出机器人技术的前景,但研究表明,这项技术有几个主要问题。

一个重要的原因是它在处理动态环境方面的局限性。视觉冲击必须实时操作。但是,由于只有一个摄像头,视觉SLAM无法提供360度的视野,Makhubela等人。解释一下。这意味着系统必须以极高的速度工作,以捕捉环境变化并在短时间内覆盖整个观察区域。

Makhubela等人。断言这些动态限制导致了协作SLAM(CoSLAM),它使用多个摄像机执行视觉SLAM。CoSLAM修复了限制观看区域的问题,但增加了处理负担。也就是说,需要一台更强大的计算机来保持系统的实时运行。

光变差是Makhubela等人的另一个问题。引用。也就是说,从室内到室外环境之间的反射面和光线变化会阻碍数据点。换言之,镜像屋不是一个视觉猛击可以轻松操控的地方。

What's Your Take on SLAM?

虽然视觉重击在许多领域显示出了希望,特别是在无人机和机器人设计中,但它仍然存在动态运动和光照的问题。但是我们想听听你对总体技术的经验。

什么是视觉Visual SLAM的更多相关文章

  1. 基于视觉的 SLAM/Visual Odometry (VO) 开源资料、博客和论文列表

    基于视觉的 SLAM/Visual Odometry (VO) 开源资料.博客和论文列表 以下为机器翻译,具体参考原文: https://github.com/tzutalin/awesome-vis ...

  2. 三维重建7:Visual SLAM算法笔记

    VSLAM研究了几十年,新的东西不是很多,三维重建的VSLAM方法可以用一篇文章总结一下. 此文是一个好的视觉SLAM综述,对视觉SLAM总结比较全面,是SLAM那本书的很好的补充.介绍了基于滤波器的 ...

  3. 泡泡一分钟:Topomap: Topological Mapping and Navigation Based on Visual SLAM Maps

    Topomap: Topological Mapping and Navigation Based on Visual SLAM Maps Fabian Bl¨ochliger, Marius Feh ...

  4. 三维视觉、SLAM方向全球顶尖实验室汇总

    本文作者 任旭倩,公众号:计算机视觉life,编辑成员 欧洲 英国伦敦大学帝国理工学院 Dyson 机器人实验室 http://www.imperial.ac.uk/dyson-robotics-la ...

  5. Visual SLAM

    Visual SLAM 追求直接SLAM技术,而不是使用关键点,直接操作图像强度的跟踪和映射. 作为直接方法,LSD-SLAM使用图像中的所有信息,包括边缘,而基于关键点的方法只能在拐角处使用小块.这 ...

  6. Comparison of Laser SLAM and Visual SLAM

    Comparison of Laser SLAM and Visual SLAM 目前,SLAM技术广泛应用于机器人.无人机.无人机.AR.VR等领域,依靠传感器可以实现机器的自主定位.测绘.路径规划 ...

  7. [摘抄] SFM 和 Visual SLAM

    来自知乎: SFM和vSLAM基本讨论的是同一问题,不过SFM是vision方向的叫法,而vSLAM是robotics方向的叫法. vSLAM所谓的mapping,vision方向叫structure ...

  8. 三维视觉惯性SLAM的有效Schmidt-EKF

    三维视觉惯性SLAM的有效Schmidt-EKF An Efficient Schmidt-EKF for 3D Visual-Inertial SLAM 论文地址: http://openaccess ...

  9. 论文阅读:Robust Visual SLAM with Point and Line Features

    本文提出了使用异构点线特征的slam系统,继承了ORB-SLAM,包括双目匹配.帧追踪.局部地图.回环检测以及基于点线的BA.使用最少的参数对线特征采用标准正交表示,推导了线特征重投影误差的雅克比矩阵 ...

随机推荐

  1. hdu3793 判断对称(水题)

    题意:       给你一个串,问你这个串是不是关于某个字母对称的,这个串是一个首位相接的圆. 思路:       水题,直接枚举每一个为对称点试一下就行了,不解释了. #include<std ...

  2. SQL Server 数据库基本使用技巧

    use master; #显示数据库 select top 3 * from spt_values; #显示去前3行 select * from test where id2 like '%1010% ...

  3. 码农飞升记-02-OracleJDK是什么?OracleJDK的版本怎么选择?

    目录 1.Oracle JDK 是什么? 2.Oracle JDK 版本如何选择? 1.Java SE 发布节奏以及不同版本的差距 1.Java SE 8 以及之前版本的发布节奏和不同版本的差距 1. ...

  4. Linux性能调优命令之free

    功能说明 free 命令显示系统使用和空闲的内存情况,包括物理内存.交互区内存(swap)和内核缓冲区内存.共享内存将被忽略 语法 free [参数] 参数 -b : 以Byte为单位显示内存使用情况 ...

  5. ES6学习-4 解构赋值(1)数组的解构赋值

    解构赋值是ES6很大的一个提升,为我们带来了很多方便,但用不好,会使程序的可读性变差,所以用时要注意,尽量保持程序的易读性. 数组解构赋值 在JS没有支持解构赋值之前,我们声明几个变量并赋值通常都是像 ...

  6. 选择“保留window设置、个人文件及应用”或者“升级安装windows并保留文件设置和应用程序”的 处理干净以后用ghost备份

    个人经验 第一次装好以后 把所有常用软件什么的 还有系统的更新全部装好 删去乱七八糟的临时文件啊什么的 处理干净以后用ghost备份下次需要重装直接从ghost镜像恢复 然后更新软件 打补丁 再备份 ...

  7. 013.Python的文件操作

    一 文件操作 fp = open("打开的文件",mode="模式选择",encoding="编码集") open 函数 返回一个文件io对 ...

  8. Linux内存带宽的一些测试笔记

    Linux内存带宽的一些测试笔记 首页 所有文章 2014年10月 GNU/Linux系统  2014-10-21 13:20  GNU/LINUX系统 内存带宽 1k 字  669 次 最近要测一下 ...

  9. nosql数据库之Redis集群

    Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation). Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行这些命令需要在多个 ...

  10. DOCKER学习_015:Docker网络补充

    1 Docker容器使用LINK方式互通 在前面的网络实验中,当同一主机的两个Docker容器,使用Bridge网桥互通时,我们必须使用docker inspect Dockerid查找出Docker ...