IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> SLAM机器人开发(四)Improved_ORBSLAM2算法 -> 正文阅读

[人工智能]SLAM机器人开发(四)Improved_ORBSLAM2算法

ORBSLAM算法简介

本专栏介绍的SLAM机器人使用的Improved_SLAM2算法基于ORBSLAM算法,建立稠密点云地图,是一种视觉SLAM算法。ORBSLAM算法使用ORB特征点,自2015年提出以来被开发者广泛使用。

2015年提出ORB-SLAM
转载:R. Mur-Artal, J. M. M. Montiel ,J. D. Tardós. ORB-SLAM: A Versatile and Accurate Monocular
SLAM System[J]. IEEE/Transactions on Robotics, 2015, 31(5):1147-1163.
2017年提出ORB-SLAM2
转载:R. Mur-Artal,J. D. Tardós. ORB-SLAM2: An Open-Source SLAM System for Monocular, Stereo,and RGB-D Cameras[J]. IEEE/Transactions on Robotics, 2017, 33(5):1255-1262.
2021年提出ORB-SLAM3
转载:C. Campos, R. Elvira, et al.ORB-SLAM3: An Accurate Open-Source Library for Visual,
Visual-Inertial, and Multimap SLAM[J]. IEEE/Transactions on Robotics(Early Access), 2021:1-17.

Improved_SLAM2算法

在这里插入图片描述与基本的视觉 SLAM 框架类似,本专栏中的 Improve-ORBSLAM2 算法分为 RGB-D 相机数据读取、前端 VO/VIO、回环检测、后端非线性优化、视觉建图、稠密重建、定位等部分。
本专栏使用的Improved_SLAM2算法代码托管在Gitee上:
funandi_Improved_ORBSLAM2
基于:
高翔的ORBSLAM2_with_pointcloud_map代码;
R. Mur-Artal,J. D. Tardós的ORB_SLAM2代码;
R. Mur-Artal, J. M. M. Montiel ,J. D. Tardós的ORB_SLAM代码;

RGB-D 相机数据读取

(1)本专栏中选用的 RGB-D 相机是 RealSense D415和Kinect V2,从 RealSense D415 读取的深度图分辨率最大为 1280×720,帧率60fps;彩色图分辨率最大为 1920×1080,帧率60fps;从Kinect V2读取的深度图分辨率最大为 512×424,帧率30fps;彩色图分辨率最大为 1920×1080,帧率30fps。以上图像中,每个像素占用的存储均为 2Byte,即 16 位数据。

(2)如果使用RealSense D415,可借助 RealSense 驱动,在消息位置“/camera/color/image_raw”读取彩色图,消息位置“/camera/depth/image_rect_raw”读取深度图。RealSense 测量深度图的原理融合了双目视觉和结构光原理。采用结构光可以解决双目视觉在环境低纹理或光照太强或太弱时无法准确获得深度数据的问题。由于使用双目视觉的原理,所以 RealSense 在使用时需要标定参数。其中,RealSense D415 的基线为 55mm,内参矩阵可以通过查阅 ROS 系统中 RealSense 节点发布的的话题“/camera/color/camera_info”获得。

(3)如果使用Kinect V2,可借助kinect驱动,在消息位置"/kinect2/qhd/image_color"读取彩色图,消息位置"/kinect2/qhd/image_depth_rect"读取深度图。

前端 VCO

Improve-ORBSLAM2 算法中使用了视觉里程计(含结构光)、惯性里程计和轮速里程计一同来估计物流机器人位姿和局部地图。其中,视觉里程计中结构光会主动发射激光图,然后测量激光图的视差,在无纹理的情况下也可以估计位姿;惯性里程计通过 IMU 测量三轴角速度和三轴角加速度等信息,可以在相机快速运动的情况下也准确估计位姿;轮速里程计则测量麦轮转速,但是由于物流机器人系统是非完整约束系统,对估计位姿的作用不是很大。由于主要里程计为视觉里程计和惯性里程计,本文称其为视觉综合例程计VCO(Visual-Comprehensive Odometry)。

ORB 特征

ORB 特征由改进后的 FAST 角点和 BRIEF 描述子构成。特征点是图像信息的又一种表达形式,对每张图像选择一组好的特征是至关重要的。计算机视觉领域的研究者们设计出了许多相对稳定的局部图像特征,比如 SIFT、ORB、SURF 等等。
FAST 角点是一种关键点,主要检测局部像素灰度变化明显的地方,以速度快著称,FAST 角点提供了特征点的位置。原始的 FAST 角点检测会对灰度图中的每一个像素点 p 进行检测,如果其周围的 16 个像素点有连续的 N 个点亮度明显不同于 p,即认为 p 为角点。其中, N 可取 12, 9,11。相较于原版的 FAST, ORB 中选取了最符合的 M 个 FAST 角点,同时计算了特征点的主方向,为后续的 BRIEF 描述子增加了旋转不变特性。它的检测过程如下:
BRIEF 是一种二进制描述子,它的描述向量由许多个 0 和 1 组成,这里的 0 和 1 编码了关键点附近两个像素(比如说 m 和 n)的大小关系:如果 m 比 n 大,则取 1,反之就取 0。 BRIEF使用了随机选点的比较和二进制表达,所以匹配起来非常快,存储起来也十分方便,适用于实时的图像匹配。由于考虑到了旋转和缩放,使得 ORB 在平移、旋转、缩放的变换下仍有良好的表现。
有测试表明,在同一幅图像中同时提取约 1000 个特征点的情况下, ORB 约要花费 15.3ms,SURF 约花费217.3 ms , SIFT 约花费 5228.7ms。

特征匹配

ORB-SLAM2 采用快速近似最近邻(FLANN)算法来适合于匹配点数量极多的情况。 FLANN算法使用了随机 K-D 树算法,先找出数据集中方差最高的维度,利用这个维度的数值将数据划分为两个部分,对每个子集重复相同的过程;然后,建立多棵随机 K-D 树,从具有最高方差的 D n维中随机选取若干维度,用来做划分。在对随机 K-D 森林进行搜索时,所有的随机 K-D 树将共享一个优先队列, K-D 森林中的树一般不超过 20。但是,对于需要高精度的情形,优先搜索 K-means树更加有效。

估计相机位姿

用四元数表示机器人姿态

后端非线性优化

回环检测

回环检测目的

词袋模型

相似度计算

视觉建图

稠密重建

定位模式

ORBSLAM算法展望

最新的ORB-SLAM3于今年5月正式提出, 是第一个基于特征点的紧耦合的 VIO 系统,仅依赖于最大后验估计,包括在 IMU 在初始化时。与旧版本相比,ORB-SLAM3 在大场景或小场景,室内或室外中都能鲁棒的实时运行。而且在精度上,相比于上一版提升了 2 到 5 倍。
C. Campos, R. Elvira等人提出的ORB-SLAM3代码。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-26 22:09:34  更:2021-12-26 22:14:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 23:23:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码