热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SLAM技术分享_it技术分享社区

SLAM技术分享_it技术分享社区同时定位与地图重建(SimultaneousLocalizationandMapping,SLAM),是机器人领域中的一项基础的底层技术,其希望机

同时定位与地图重建(Simultaneous Localization and Mapping, SLAM),是机器人领域中的一项基础的底层技术,其希望机器人能在一个陌生的环境下实现自身的实时定位,同时能够重建出有关于环境的地图。随着近年无人驾驶、增强现实、虚拟现实等应用的兴起,作为实现这些应用的SLAM技术也越发引人注目。SLAM技术主要完成两项任务:自身定位与环境建图,也是让机器知道自己在哪里,已经周围的环境是啥。然而,如果想要精确的实现定位任务就不可避免的需要高精度的地图,而高精度的地图重建是需要以更为精确的自身定位作为基础的。
近年以来,除了传统的激光SLAM解决方案,基于视觉,基于惯性传感器等等的解决方案也在不断变多,整个SLAM领域整体呈现百花齐放的态势。
一. 目前在SLAM领域中的关键问题:
1、数据关联:SLAM技术在未来的发展过程中必然会有一个方向是将SLAM系统中集成多传感器,进行多传感器的融合任务。但是显而易见的是不同的传感器之间具有不同的特征,目前的很多SLAM研究人员都转向了研究多传感器SLAM中的传感器校准(例如自校准或者快速标定等内容),状态估计和后端BA优化。
2、 多机SLAM联合建图:目前在小范围内已有的若干SLAM系统大多都能获得比较好的效果,但是面对大规模,长时间的SLAM问题,如果只采用单机SLAM系统则获得良好的效果,此时通过分散的多机SLAM系统来解决大场景,长时间的SLAM任务将会是一个比较合适的选择,属于比较前沿的SLAM研究方向。
3、 高清晰度、信息量丰富的地图:SLAM技术作为机器人领域的一项底层基础技术,需要根据上层应用程序需要提供一张具有丰富信息的地图,其中比较具有代表性的地图形式就是拓扑地图,语义地图,以及点云地图等等;同时当SLAM系统的面对大场景,长时间的情况时,采用何种方式来存储更新地图也将是一个迫切需要解决的问题。
3、目前SLAM技术仍然面对着更强适应性、鲁棒性、可扩展性的要求。
4、适合的SLAM应用:目前SLAM技术具有广泛的应用场景,但是许多SLAM系统依然处在实验室研究阶段,缺乏合适的工程工具进行封装,需要我们继续完善SLAM的应用生态。
二. SLAM领域中的经典数据集:
1.KITTI数据集(单目视觉 ,双目视觉, velodyne, POS 轨迹)

KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。该数据集用于评测立体图像(stereo),光流(optical flow),视觉测距(visual odometry),3D物体检测(object detection)和3D跟踪(tracking)等计算机视觉技术在车载环境下的性能。KITTI包含市区、乡村和高速公路等场景采集的真实图像数据,每张图像中最多达15辆车和30个行人,还有各种程度的遮挡与截断。在这里插入图片描述
下载地址链接:https://pan.baidu.com/s/1htFmXDE 密码:uu20

2.TUM数据集(自带Ground-truth轨迹与测量误差的脚本)

数据集包含一些室内的序列,在不同的纹理下,不同的光照和不同的结构条件,从RGB-D传感器采集到的数据中分别去评估物体的重建和SLAM/视觉里程计的性能。TUM提供很多数据集,从各个有利位置捕获对象,每个条目中包含图像序列、相应的轮廓和完整的校准参数。
在这里插入图片描述
下载地址:链接:https://pan.baidu.com/s/1htFmXDE 密码:uu20

3.Oxford数据集(室外场景)

对牛津的一部分连续的道路进行了上百次数据采集,收集到了多种天气、行人和交通情况下的数据,也有建筑和道路施工时的数据,总的数据长度达1000小时以上。
在这里插入图片描述
下载地址:https://robotcar-dataset.robots.ox.ac.uk/

4.EuRoC数据集(无人机拍摄序列)

EuRoC数据集包含11个双目序列,这些序列是由小型无人机在两个不同的房间和一个大型工业环境中飞行时记录下来的。提供两种类型的数据集: 第一个包含来自Leica多站的三维位置地面真值,并着重于视觉惯性的评估SLAM算法在一个真实的工业场景。
在这里插入图片描述
下载地址:链接:https://pan.baidu.com/s/1miXf40o 密码:xm59

5.ICL-NUIM数据集(室内向,提供ground-truth和odometry)

该集旨在对RGB-D、视觉测距和SLAM算法进行基准测试。两个不同的场景(起居室和办公室场景)提供了基本事实。客厅具有3D表面地面实况以及深度图和相机姿势,因此完美地适用于不仅用于标记相机轨迹而且还用于重建。办公室场景仅带有轨迹数据,并且没有任何明确的3D模型。
下载地址:http://www.doc.ic.ac.uk/~ahanda/VaFRIC/iclnuim.html

6.RGB-D对象数据集

RGB-D对象数据集是300个常见家庭对象的大型数据集。这些对象被分为51个类别。该数据集使用Kinect风格的3D相机来记录,该相机以30Hz记录同步和对准的640×480 RGB和深度图像。拍摄时将每个物体放置在转盘上旋转一整圈并捕获视频序列。对于每个对象,有3个视频序列,每个视频序列都安装在不同高度的摄像机上,以便从与地平线不同的角度观察对象。
在这里插入图片描述
下载地址:http://rgbd-dataset.cs.washington.edu/

7.SYNTHIA(室外环境)

SYNTHIA数据集是为了解决在驾驶场景的上下文中解决语义分割和相关的场景理解问题。SYNTHIA包括通过从虚拟城市渲染出来多个帧集合,并包含针对13类对象的精确像素级语义标注,其中每一项是:杂项,天空,建筑物,道路,人行道,栅栏,植被,杆,汽车,路标,行人,骑自行车的人,车道标记。
在这里插入图片描述
官网:http://synthia-dataset.net/

8.Cityscapes

Cityscapes数据集中包含来自50个不同城市的街道场景中记录的各种立体视频序列集,此外还有50000帧的高质量像素级标注以及20000弱标注帧的大型数据集。同时,有关图像标注的详细信息和标注示例可在此网页上找到。

Cityscapes数据集的用途主要表现在:

1、评估视觉算法在语义城市场景理解任务上的性能,包括像素级、实例级和全景语义级人物等;

2、意在支持许多需要大量(弱)标注数据的研究,例如用于训练深度神经网络等。
在这里插入图片描述
官网:https://www.cityscapes-dataset.com/

三.项目推荐:


  1. ORB-SLAM系列:
    在这里插入图片描述
    ORB-SLAM是Mur-Artal R等人在2015年首次提出,并在2017年,2020年不断完善的基于ORB特征描述子构建的SLAM系统,是现代SLAM系统中相对完善且易用的SLAM系统;相较于其他的SLAM系统,ORB-SLAM具有以下这些显著的优点:

1、支持单目、双目、RGBD摄像头。可以说是对视觉SLAM涉及的传感器进行了全面的兼容。

2、整个系统围绕ORB特征展开,ORB特征是一种在精度和效率直接的合理折中,满足了SLAM系统需要

3、首次提出了回环检测的概念。

4、ORB-SLAM创造性的采用了多线程的思路来将不同SLAM系统中的不同模块进行拆分,将模块化设计引入SLAM系统。

除了上述主要的特点之外,ORB-SLAM还进行了很多细节上的优化和扩充,使得整个SLAM系统有着目前为止依然较为优秀的鲁棒性,效率和准确率。同时,ORB-SLAM v1版本主要针对单目系统,ORB-SLAM v2版本增加了立体相机和RGBD相机的适配,ORB-SLAM v3增加了IMU和多地图的功能,使得整个SLAM系统不断完善和强化。

以下是笔者自己试验的一段ORB-SLAM v2的效果:
在这里插入图片描述
ORB-SLAM v1: https://github.com/raulmur/ORB_SLAM
​ORB-SLAM v2: https://github.com/raulmur/ORB_SLAM2
​ORB-SLAM v3: https://github.com/UZ-SLAMLab/ORB_SLAM3

四.SLAM系统的常见应用
1、无人机导航:
在这里插入图片描述2、无人驾驶:
在这里插入图片描述
3、VR/AR:
在这里插入图片描述
参考文献:
[1]Huang B , Zhao J , Liu J . A Survey of Simultaneous Localization and Mapping[J]. 2019.
[2]刘浩敏, 章国锋, 鲍虎军. 基于单目视觉的同时定位与地图构建方法综述[J]. 计算机辅助设计与图形学学报, 2016, 28(6):855-868.
[3]Davison A J, Reid I D, Molton N D, et al. MonoSLAM: realtime single camera SLAM[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2007, 29(6):1052-1067.
[4]Kummerle R , Grisetti G , Strasdat H , et al. G2o: A general framework for graph optimization[C]// Robotics and Automation (ICRA), 2011 IEEE International Conference on. IEEE, 2011.
[5]Polok L . Incremental Cholesky Factorization for Least Squares Problems in Robotics[C]// Intelligent Autonomous Vehicles. 2013.
[6]Klein G , Murray D . Parallel Tracking and Mapping for Small AR Workspaces[C]// Mixed and Augmented Reality, 2007. ISMAR 2007. 6th IEEE and ACM International Symposium on. ACM, 2007.
[7]Mur-Artal R , Montiel J M M , Tardos J D . ORB-SLAM: a Versatile and Accurate Monocular SLAM System[J]. IEEE Transactions on Robotics, 2015, 31(5):1147-1163.
[8]Mur-Artal R , Tardos J D . ORB-SLAM2: An Open-Source SLAM System for Monocular, Stereo, and RGB-D Cameras[J]. IEEE Transactions on Robotics, 2017:1-8.
[9]D. Galvez-L ´ opez and J. D. Tard ´ os, “Bags of binary words for fast place recognition in image sequences,” IEEE Transactions on Robotics, vol. 28, no. 5, pp. 1188–1197, 2012.
[10]Sivic, Zisserman. Video Google: a text retrieval approach to object matching in videos[C]// Proceedings Ninth IEEE International Conference on Computer Vision. IEEE, 2003.
[11]Robertson, Stephen. Understanding inverse document frequency: on theoretical arguments for IDF[J]. Journal of Documentation, 2004, 60(5):503-520.

想了解更多关于我们金翅创客实验室的内容,请关注微信公众号:金翅创客。
在这里插入图片描述

原创声明:本文内容均为本人原创作品。请任何和个人、组织,在经过本人授权后,方可转载。


推荐阅读
  • 目录预备知识导包构建数据集神经网络结构训练测试精度可视化计算模型精度损失可视化输出网络结构信息训练神经网络定义参数载入数据载入神经网络结构、损失及优化训练及测试损失、精度可视化qu ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 三角测量计算三维坐标的代码_双目三维重建——层次化重建思考
    双目三维重建——层次化重建思考FesianXu2020.7.22atANTFINANCIALintern前言本文是笔者阅读[1]第10章内容的笔记,本文从宏观的角度阐 ... [详细]
  • POJ 2482 星空中的星星:利用线段树与扫描线算法解决
    在《POJ 2482 星空中的星星》问题中,通过运用线段树和扫描线算法,可以高效地解决星星在窗口内的计数问题。该方法不仅能够快速处理大规模数据,还能确保时间复杂度的最优性,适用于各种复杂的星空模拟场景。 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • com.hazelcast.config.MapConfig.isStatisticsEnabled()方法的使用及代码示例 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • CM 创始人分享:在 GitHub 上成为开源项目的守护者
    本文由 CM 创始人 Steve Klabnik 发表在其个人博客上,详细介绍了他在 GitHub 上为 Rails 开源项目所做的贡献和经验,特别强调了如何有效管理和筛选项目中的问题。 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战
    OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战 ... [详细]
  • 在C#编程中,数值结果的格式化展示是提高代码可读性和用户体验的重要手段。本文探讨了多种格式化方法和技巧,如使用格式说明符、自定义格式字符串等,以实现对数值结果的精确控制。通过实例演示,展示了如何灵活运用这些技术来满足不同的展示需求。 ... [详细]
  • 独家解析:深度学习泛化理论的破解之道与应用前景
    本文深入探讨了深度学习泛化理论的关键问题,通过分析现有研究和实践经验,揭示了泛化性能背后的核心机制。文章详细解析了泛化能力的影响因素,并提出了改进模型泛化性能的有效策略。此外,还展望了这些理论在实际应用中的广阔前景,为未来的研究和开发提供了宝贵的参考。 ... [详细]
  • 在安装 iOS 开发所需的 CocoaPods 时,用户可能会遇到多种问题。其中一个常见问题是,在执行 `pod setup` 命令后,系统无法连接到 GitHub 以更新 CocoaPods/Specs 仓库。这可能是由于网络连接不稳定、GitHub 服务器暂时不可用或本地配置错误等原因导致。为解决此问题,建议检查网络连接、确保 GitHub API 限制未被触发,并验证本地配置文件是否正确。 ... [详细]
  • SSL 错误:目标主机名与备用证书主题名称不匹配
    在使用 `git clone` 命令时,常见的 SSL 错误表现为:无法访问指定的 HTTPS 地址(如 `https://ip_or_domain/xxxx.git`),原因是目标主机名与备用证书主题名称不匹配。这通常是因为服务器的 SSL 证书配置不正确或客户端的证书验证设置有问题。建议检查服务器的 SSL 证书配置,确保其包含正确的主机名,并确认客户端的证书信任库已更新。此外,可以通过临时禁用 SSL 验证来排查问题,但请注意这会降低安全性。 ... [详细]
  • 本文详细探讨了在ASP.NET环境中通过加密数据库连接字符串来提升数据安全性的方法。加密技术不仅能够有效防止敏感信息泄露,还能增强应用程序的整体安全性。文中介绍了多种加密手段及其实施步骤,帮助开发者在日常开发过程中更好地保护数据库连接信息,确保数据传输的安全可靠。 ... [详细]
author-avatar
多米音乐_35872875
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有