ORB-SLAM是一个精确的多功能单目SLAM系统,它的全称是ORB-SLAM: A Versatile and Accurate Monocular SLAM System,其研发者是Taylor Guo,发布于2015年的《IEEE Transactions on Robotics》。单目SLAM指的是使用单个相机进行同时定位与建图的技术,而ORB-SLAM是其中的一个开创性工作,它具有处理剧烈运动图像的能力,并可自动处理闭环控制、重定位、甚至全自动位置初始化。 SLAM系统主要分为单目SLAM和多目SLAM,其中单目SLAM仅使用单个相机作为传感器输入,难度较高,因为单个视角的信息有限,但它的应用场景更加广泛。而ORB-SLAM正是在单目SLAM领域的重大突破。它在各种场合,无论是室内的小场景还是室外的大场景,都显示出强大的鲁棒性。 系统架构方面,ORB-SLAM具有三个主要功能模块,包括特征提取、追踪、局部地图构建和闭环控制,这三个模块通过三个线程并行运行,它们分别是:追踪线程、局部地图构建线程和闭环控制线程。特征提取使用的是ORB特征,它是一种旋转不变的特征,即使在没有GPU的情况下也能够实现实时的图像处理。 关于系统的关键创新点,其一是在于对所有任务使用相同的ORB特征进行追踪、地图构建、重定位和闭环控制,这样系统效率高、稳定可靠。ORB-SLAM可以进行实时的全局优化处理,包括位置地图和闭环回路。它还采用了一种基于位置优化的实时闭环控制,称为Essential Graph,该图通过生成树构建,包含了系统、闭环控制链接和视图内容关联强边缘。 此外,ORB-SLAM还包含全自动地图初始化,这意味着它可以在没有人工干预的情况下,自动开始地图构建过程。在初始化地图的过程中,ORB-SLAM能够选择不同的模型创建平面或者非平面的初始化地图,并且这个过程是自动的,具有良好的鲁棒性。 在地图构建方面,ORB-SLAM使用了云点(地图点)和关键帧(关键图像帧)技术,它们在地图重构中起到了重要的作用。通过严格的筛选,去除冗余的关键帧,系统能够增强追踪的鲁棒性,并提高程序的操作性。 ORB-SLAM还具备实时相机重定位功能,具备良好的旋转不变特性。即使在追踪失败后,系统也可以重新进行定位,且地图能够被重复使用。此外,ORB-SLAM能够处理大量地图云点和关键帧,并通过合适的方法进行挑选,以优化地图的质量。 在实验方面,ORB-SLAM在多个图像数据集上进行了测试,包括New College、TUMRGB-D和KITTI等,表现出了其精度和性能优势。相比于其他最新的单目SLAM系统,ORB-SLAM的性能优势是显而易见的。 ORB-SLAM的结论和讨论部分提到,它基于离散/特征方法与稠密/直接方法对比,并指出了后续工作的方向。论文还包含了一个附录,介绍非线性优化和捆集调整等内容,并列出了参考文献。 ORB-SLAM是一个功能全面、具有创新性的单目SLAM系统,它的出现极大地推动了单目视觉SLAM技术的发展,使其在实时性和准确性方面都达到了新的高度。它为未来研究提供了宝贵的经验和启示,尤其在处理复杂场景以及优化系统性能方面,为SLAM技术的发展奠定了重要的基础。
2024-08-30 13:43:19 2.01MB 单目SLAM
1
实现步骤:https://blog.csdn.net/qq_46107892/article/details/130403411?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22130403411%22%2C%22source%22%3A%22qq_46107892%22%7D
2024-07-23 18:40:42 392.86MB
1
git clone https://github.com/lturing/ORB_SLAM3_ROS 针对上面的连接下载不下来文件的情况,上传ORB_SLAM3_ROS代码,该代码包括RGBD稠密建图的程序
2024-06-19 17:59:22 460.8MB
1
import cv2 as cv def ORB_Feature(img1, img2): # 初始化ORB orb = cv.ORB_create() # 寻找关键点 kp1 = orb.detect(img1) kp2 = orb.detect(img2) # 计算描述符 kp1, des1 = orb.compute(img1, kp1) kp2, des2 = orb.compute(img2, kp2) # 画出关键点 outimg1 = cv.drawKeypoints(img1, keypoints=kp1, outImage=None) outimg2 = cv.drawKeypoints(img2, keypoints=kp2, outImage=None)
2024-06-03 16:11:38 8.13MB python opencv
1
ORB-SLAM2安装指南,具体可参见博客中的详细介绍,按照步骤安装,可在Ubuntu14.04中运行ORB-SLAM2算法。
2023-04-11 10:21:03 4KB ORB-SLAM2 视觉SLAM 相机标定
1
目录 0. 摘要 1. ORB-SLAM2 简介 2. 安装依赖库 (1)安装Pangolin  (2)安装必要的依赖库 (3)安装OpenCV (4)安装Eigen (5)安装BLAS and LAPACK库 (1) BLAS: Basic Linear Algebra Subprograms (2) LAPACK:Linear Algebra PACKage 3. 编译OEB_SLAM 4. 运行测试程序 4.1 TUM数据集格式简介:官网介绍https://vision.in.tum.de/data/datasets/rgbd-dataset/file_formats 4.2. RGB-
2023-03-29 12:35:40 781KB dev opencv OR
1
ORB-SLAMM2源码解析
2023-03-10 09:06:33 30.85MB SLAM
1
Orb_slam2_ros 具有ROS接口的ORB_SLAM2此存储库是ROS中的ORB-SLAM2的简单演示。 从SLAM生成的数据(例如相机姿态,关键帧轨迹和点云)将发布在ROS中。 在此根目录中独立编译Pangolin 运行build.sh来编译项目 运行启动文件 roslaunch orb_slam_ros orb_slam_stereo.launch用于启动立体声节点 roslaunch orb_slam_ros orb_slam_mono.launch用于启动单节点
2023-03-01 10:22:48 41.21MB C++
1
orb算法matlab代码开放的心态 使用ORB-SLAM2和单反相机,一种非常便宜且便携的手势估计解决方案,适用于教育性3d绘画和其他用途。 作者:THE Hack 2019 Dream Blue Team开发人员:@ pityhero233 开发人员须知 由于ORBvocabulary超出了GitHub的最大文件大小,因此已将其从存储库中排除。 请从Vocabulary /文件夹中解压缩它,或从GitHub手动克隆它。 灵感 我们首先从Google听说过这个想法。 是Google Inc.的flipbrush项目,它使用HTC VIVE VR设置进行3D绘画。 它很棒而且很棒,但是超过900美元的成本几乎使它无法适应日常使用。 以前,我们具有制造自动驾驶汽车的经验,我们发现可以在这种情况下将几种用于汽车本地化的算法应用于这种情况,因此我们尝试使用廉价的相机来构建自己的TiltBrush版本。 它能做什么 这是一个概念验证的演示,具有两个不同的后端,使用户能够以毫米级别的精度在不受限制的空间中绘画作品。 我是如何建造的 首先,通过分析GoPro运动相机的开源android客户端,我们
2023-02-23 21:13:46 1.51MB 系统开源
1
MVision机器视觉机器视觉 感谢支持 无人驾驶的各个方面知识 1. 感知(Perception): 主要涉及的技术点包括场景理解、交通状况分析、路面检测、空间检测、 障碍物检测、行人检测、路沿检测、车道检测。还有一个比较新颖有趣的是通过胎压去检测道路质量。 在无人驾驶行业,有一套通用的数据集——KITTI数据集,里面有不同的数据,包括双目视觉的数据、定位导航的数据等。 物体检测(Object Detection): 传统方法主要是针对固定物体的检测。一般的方法是HOG( 方向梯度直方图),然后再加一个SVM的分类器。 而对于动
2023-02-12 18:15:52 1.04GB opencv robot deep-learning cnn
1