什么是视觉Visual SLAM
什么是视觉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的更多相关文章
- 基于视觉的 SLAM/Visual Odometry (VO) 开源资料、博客和论文列表
基于视觉的 SLAM/Visual Odometry (VO) 开源资料.博客和论文列表 以下为机器翻译,具体参考原文: https://github.com/tzutalin/awesome-vis ...
- 三维重建7:Visual SLAM算法笔记
VSLAM研究了几十年,新的东西不是很多,三维重建的VSLAM方法可以用一篇文章总结一下. 此文是一个好的视觉SLAM综述,对视觉SLAM总结比较全面,是SLAM那本书的很好的补充.介绍了基于滤波器的 ...
- 泡泡一分钟: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 ...
- 三维视觉、SLAM方向全球顶尖实验室汇总
本文作者 任旭倩,公众号:计算机视觉life,编辑成员 欧洲 英国伦敦大学帝国理工学院 Dyson 机器人实验室 http://www.imperial.ac.uk/dyson-robotics-la ...
- Visual SLAM
Visual SLAM 追求直接SLAM技术,而不是使用关键点,直接操作图像强度的跟踪和映射. 作为直接方法,LSD-SLAM使用图像中的所有信息,包括边缘,而基于关键点的方法只能在拐角处使用小块.这 ...
- Comparison of Laser SLAM and Visual SLAM
Comparison of Laser SLAM and Visual SLAM 目前,SLAM技术广泛应用于机器人.无人机.无人机.AR.VR等领域,依靠传感器可以实现机器的自主定位.测绘.路径规划 ...
- [摘抄] SFM 和 Visual SLAM
来自知乎: SFM和vSLAM基本讨论的是同一问题,不过SFM是vision方向的叫法,而vSLAM是robotics方向的叫法. vSLAM所谓的mapping,vision方向叫structure ...
- 三维视觉惯性SLAM的有效Schmidt-EKF
三维视觉惯性SLAM的有效Schmidt-EKF An Efficient Schmidt-EKF for 3D Visual-Inertial SLAM 论文地址: http://openaccess ...
- 论文阅读:Robust Visual SLAM with Point and Line Features
本文提出了使用异构点线特征的slam系统,继承了ORB-SLAM,包括双目匹配.帧追踪.局部地图.回环检测以及基于点线的BA.使用最少的参数对线特征采用标准正交表示,推导了线特征重投影误差的雅克比矩阵 ...
随机推荐
- Android的so注入( inject)和函数Hook(基于got表) - 支持arm和x86
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/53942648 前面深入学习了古河的Libinject注入Android进程,下面来 ...
- PAT 乙级 -- 1007 -- 素数对猜想
题目简述 让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数."素数对猜想"认为"存在无穷 ...
- Python中shodan模块的使用
关于shodan的安装和使用,传送门--> 渗透测试之Shodan的安装和使用 常用 Shodan 库函数 shodan.Shodan(key) :初始化连接API Shodan.count(q ...
- 通过 Netty、ZooKeeper 手撸一个 RPC 服务
说明 项目链接 微服务框架都包括什么? 如何实现 RPC 远程调用? 开源 RPC 框架 限定语言 跨语言 RPC 框架 本地 Docker 搭建 ZooKeeper 下载镜像 启动容器 查看容器日志 ...
- Jenkins 基础篇 - 环境准备
前期准备 为了开发这套课程,我专门购买了一台二手戴尔服务器 Dell R720,同时把废弃多年的笔记本电脑也利用了起来.当然如果自己没有多余的电脑,也可以在自己电脑上安装 Vmware Worksta ...
- Root mapping definition has unsupported parameters
使用ElasticSearch创建映射报错 Root mapping definition has unsupported parameters 原因 使用的ES版本为7.2.0,不再支持创建指定类型 ...
- Failed opening required
报错 点击页面右下角的图标,再点击错误可以显示报错.或者在项目中runtime--log也可以查看error [64]think\\__require_file(): Failed opening r ...
- 在网页添加 Live2D 看板娘
只需要将以下代码粘贴到 标签中即可 <!--看板娘--> <script src="https://cdn.jsdelivr.net/npm/jquery/dist/jqu ...
- 浅谈持续集成(CI)、持续交付(CD)、持续部署(CD)
CI/CD是实现敏捷和Devops理念的一种方法,具体而言,CI/CD 可让持续自动化和持续监控贯穿于应用的 整个生命周期(从集成和测试阶段,到交付和部署).这些关联的事务通常被统称为"CI ...
- linux集群压测部署方案
我们今天主要分享的内容从三方面讲解. 集群压力机部署 shell脚本简介 shell脚本搞定压力机部署 集群压力机部署 linux.png 分布式压测背景介绍 在企业项目实战时,如果被压的服务器处 ...