什么是视觉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 FaceReconstructions 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的最先进技术的调查-A survey of state-of-the-art on visual SLAM

    原文见文章末尾: 今天读了一篇视觉slam的综述,真的是读了一天,记录一下.我比较关注的是特征提取和匹配和深度学习有关的章节.好久,但是还算是有收获的吧. 摘要: 本文概述了视觉同步定位和测绘(V-S ...

  2. Comparison of Laser SLAM and Visual SLAM

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

  3. Visual SLAM

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

  4. SLAM综述(4)激光与视觉融合SLAM

    分享 SLAM包含了两个主要的任务:定位与构图,在移动机器人或者自动驾驶中,这是一个十分重要的问题:机器人要精确的移动,就必须要有一个环境的地图,那么要构建环境的地图就需要知道机器人的位置. 本系列文 ...

  5. 彻底搞懂视觉-惯性SLAM:基于VINS-Fusion(正式开课)

    背景介绍 自动驾驶和服务机器人行业增速明显,自2021年以来,多家公司开始逐步落地自己的L2~L4级别的辅助/自动驾驶产品(无人出租车或者配送机器人),如百度.滴滴.美团.华为.特斯拉.Waymo等. ...

  6. SLAM综述|激光与视觉融合SLAM

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 SLAM包含了两个主要的任务:定位与构图,在移动机器人或者自动驾驶中,这是一个十分重要的问题:机器人要 ...

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

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

  8. Visual SLAM: What are the Current Trends and What to Expect?

    引自 Tourani A, Bavle H, Sanchez-Lopez J L, et al. Visual SLAM: What are the Current Trends and What t ...

  9. DROID-SLAM: Deep Visual SLAM for Monocular, Stereo, and RGB-D Cameras论文阅读笔记

      这篇博客分享的是ECCV 2020最佳论文原班人马邓嘉团队的最新力作<DROID-SLAM: Deep Visual SLAM for Monocular, Stereo, and RGB- ...

最新文章

  1. java 线程组作用_浅析Java中线程组(ThreadGroup类)
  2. Java中的BigDecimal类你真的了解吗?
  3. margin:0 auto;不能居中的原因
  4. 死磕java并发cas_死磕 java并发包之AtomicInteger源码分析
  5. boost::thread模块实现默认执行器的测试程序
  6. php中的thumb函数,phpcms v9 thumb(缩略图) 函数说明
  7. java时间加减_java时间加减
  8. java dos 菜单栏_学习java之电脑的常用快捷键和DOS窗口下的常用命令
  9. Re-Order Buffer
  10. 【NOI2002】【Luogu1196】银河英雄传说(并查集带边权)
  11. Python入门--for循环
  12. 斐波那契数列【java实现】
  13. 随机信号功率谱估计方法matlab仿真
  14. C语言常用字符ASCII代码表,C语言常用转义字符、ASCII、优先级对照表
  15. c语言表白情书作品,程序员一句话表白情书
  16. 拷机测试需要多久_如何科学理解麒麟9000的拷机功耗?
  17. 更换主板后 Office无法激活问题解决
  18. APP登录 技术点与流程全解
  19. java读取execle
  20. Webpack是什么?(webpack初学简单易理解)

热门文章

  1. 2022-2028年中国粘胶纤维市场投资分析及前景预测报告
  2. 2022-2028年中国钛合金行业深度调研及投资前景预测报告
  3. Linux shell 学习笔记(3)— shell 父子关系及内建命令
  4. Centos配置yum为阿里源
  5. Python关于%matplotlib inline
  6. LeetCode中等题之简易银行系统
  7. LeetCode简单题之使每位学生都有座位的最少移动次数
  8. LeetCode简单题之在区间范围内统计奇数数目
  9. TVM 优化 ARM GPU 上的移动深度学习
  10. 用户自定义协议client/server代码示例