什么是视觉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. hdu4287 水题

    题意:          水题,就是给你一些单词,和一些按键记录,问打出下面的那些单词,每一个按键记录一共按了多少次. 思路:       直接把每个单词的每一位转换成数字,然后再把每个单词转换的数字 ...

  2. 异步访问技术Ajax(XMLHttpRequest)

    目录 AJAX XMLHttpRequest Ajax向服务器发送请求 Ajax接收服务器响应 AJAX - onreadystatechange 事件 使用 Callback 函数 一次Ajax请求 ...

  3. 记一次 .NET 医院CIS系统 内存溢出分析

    一:背景 1. 讲故事 前几天有位朋友加wx求助说他的程序最近总是出现内存溢出,很崩溃,如下图: 和这位朋友聊下来,发现他也是搞医疗的,哈哈,.NET 在医疗方面还是很有市场的,不过对于内存方面出的问 ...

  4. 【python】Leetcode每日一题-最长公共子序列

    [python]Leetcode每日一题-最长公共子序列 [题目描述] 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度.如果不存在 公共子序列 ,返回 0 . ...

  5. unity怎么把工程打包成unitypackage文件

    unity怎么把工程打包成unitypackage文件 想探讨问题的原因 上课的时候,看到老师的磁盘都要爆满了,主要的原因是同学们提交的2DGameKit,工程文件太大了. 文件没有压缩,占用空间是2 ...

  6. 【maven】IDEA工程右边的maven配置中Plugins有重复的命令

    问题 解决 换一个IDEA的版本,比如2020.02 参考链接 https://ask.csdn.net/questions/1060938 https://bbs.csdn.net/topics/3 ...

  7. PHP 通用格式化调试函数

    /** * 打印调试函数 * @param $content * @param $is_die */function pre($content, $is_die = true){ header('Co ...

  8. vscode 终端操作命令npm报错

    错误: 如果没有安装的node.js ,则需要安装. node.js官网下载地址: https://nodejs.org/zh-cn/ 安装node.js 后会看到C:\Users\XXX\AppDa ...

  9. Docker 部署net5程序

    1.前言 本文讲述使用docker容器部署.net5项目.实现跨平台. 部署环境:docker 容器.liunx系统.这里采用VmWare虚拟机.并采用MobaXterm工具实现终端连接linux系统 ...

  10. UVA 160 - Factors and Factorials

     Factors and Factorials  The factorial of a number N (written N!) is defined as the product of all t ...