《工业控制计算机》2021 年第 34 卷第 12 期 51 基于双 Kinect 的视觉 SLAM 方法的研究* Research on Visual Slam Method Based on Dual Kinect 姜 鹏 1,2 陶 肖 1,2 戴立根 3 (1 复杂环境特种机器人控制技术与装备湖南省工程研究中心,湖南 湘潭 411104 ; 2 湖南理工职业技术学院,湖南 湘潭 411104 ;3 OPPO 广东移动通信有限公司,广东 东莞 523000 ) 摘要:针对移动机器人的同步定位与制图问题(SLAM ,Simultaneous Localization and Mapping ),传统的视觉 SLAM 算法在制图过 程 中 可 能 遇 到 制 图 断 链 的 情 况 ,这 是 由 于 在 制 图 的 过 程 中 环 境 数 据 特 征 点 缺 失 造 成 的 ,以 RGBD-SLAM 算 法为例在特征点缺少的情况下鲁棒性都较低。 设计双 Kinect 系统平台扩大相机的数据采集范围,变相地扩大每帧图像特征 点的数量以提高 SLAM 算法的鲁棒性。 同时,给出了特征点选取的方法。 实验表明双 Kinect 系统平台的设计能够提供系统 的鲁棒性,能在一定程度上解决在特征点缺少情况下的 SLAM 问题。 关键词:移动机器人;定位与制图;双 Kinect ;视觉 SLAM Abstract:Aiming at the problem of simultaneous localization and mapping of mobile robot (SLAM),the traditional visual SLAM algorithm may encounter cartographic chain breaking in the cartographic process,which is caused by the lack of environmental data feature points in the cartographic process.Taking rgbd-slam algorithm as an example,its robustness is low in the absence of feature points.This paper designs a dual Kinect system platform to expand the data acquisition range of the camera and expand the number of feature points of each frame in a disguised manner,so as to improve the robustness of SLAM algorithm.At the same time,the method of feature point selection is given. Experiments show that the design of dual Kinect system platform can provide system robustness and solve the SLAM problem in the absence of feature points to a certain extent. Keywords:mobile robot,positioning and mapping,dual Kinect,visual slam 自机器人从诞生之日开始便替代着人类从事各类生产生活 活动。 而机器人的自主定位与移动被认为是机器人能否完全替 代 人 类 从 事 生 产 活 动 的 关 键 。 SLAM (Simultaneous Localiza tion and Mapping)[1]即是研究解决机器人在陌生环境中的同步 定位与地图绘制问题,主要研究三个方面的内容,即机器人的定位、 制图以及机器人运动路径规划,是当前移动与自主机器人研究的热 点问题。 使用不同的传感器,SLAM 的方法有多种, 本文从视觉 SLAM 技术出发,研究介绍解决视觉 SLAM 方法中的缺陷与不足。 1 视觉 SLAM 概述 通常情况下自主机器人工作在既不可事先得到自身状态又 不能获取所处环境的地图,且存在大量不可预测性,如传感器测 量的误差、电机控制的不稳定性、软件方面的近似处理等。 因此 SLAM 方法即对机器人的概率建模, 对机器人的不确定性 进 行 明确的可计算性的表示。 SLAM 问题的处理过程即是机器 人 与 所处环境的交互过程,传感器负责环境数据的采集,控制机构则 用于机器人反作用于环境, 这种概率模型的交互过程就是迭代 贝叶斯估计。 视觉 SLAM 方法就是负责采集环境数据的传感器 为视觉传感器,通常为相机,如 Kinect[2]相机。 1.1 视觉 SLAM 的基本原理 图 1 为视觉 SLAM 的经典框架。 如图 1 所示, 视觉 SLAM 一般包括视觉传感器 [2]、视 觉 里 程 计 [3]、数 据 的 后 端 优 化 [4]、数 据 的回环检测 [4]以及地图的构建。 视 觉 SLAM 系 统 首 先 通 过 相 机 进 行 环 境 数 据 进 行 拍 照 采 集, 视觉里程计对图像进行处理与计算得到各个时刻相机的姿 态,形成相应的相机运动轨迹,后可根据相机坐标与环境坐标的 图1 视觉 SLAM 框架图 变换得到各个时的转换矩阵,此过程称为视觉 SLAM 的前端。后 端对前端的相机各时刻姿态进行优化,使其累计误差达到最小, 并最终完成建立地图。 在此过程中视觉里程计的算法对整个结 果起到至关重要的作用, 核心是如何得到相连两帧不同图像之 间的位置关系,其算法分为直接法与间接法两种,间接法又称为 特征点法。 1.2 系统建模及数学描述 特征点法就是在视觉里程计算法中应用图像的特征点匹配 的方法得到不同时刻间的位置关系, 具体就是将相机连续两帧 不同时刻的图像进行特征点的比较,利用几何算术的方法(比较 经典的是 ICP[5]迭代算法)计算连续不同时刻的相机位姿的变化 关系。 随着相机不断进行位移,通过相机坐标与图片坐标的空间 关系得到地图特征点的点云集合,进而完成制图。 常见的特征点 有角点,比如 FAST [6]角点、Harris [7]角 点 。 随 着 数 字 图 像 处 理 技 术的发展, 研究人员陆续找到更加复杂但稳定的特征点, 比如 ORB [8]特征点、SIFT [9]特征点以及 SURF [10]特征点等。 系统模型 如图 2 所示,机器人在不断的运动中,通过相机不断进行环境信 息的采集, 对不同时刻图像帧特征点进行提取并匹配得到帧间 * 复杂环境特种机器人控制技术与装备湖南省工程研究中心专项课题 (LGY18GZ001 );复杂环境特种机器人控制技术与装备湖南 省工程研究中心专项课题(LGY18GZ005 ) 基于双 Kinect 的视觉 SLAM 方法的研究 52 转移矩阵,求解相机的运动估计,最后通过位姿优化得到环境地 的解决。 系统的设计如图 4 所示: i 图。 其中,XP 表示各时刻机器人的位置,XL 表示各图像特征点,Z 表示传感器的观测数据,ui 表示传感器运动信息。 图4 双 Kinect 系统设计示意图 如 图 4 所 示 ,系 统 由 两 个 Kinect 相 机 组 成 ,两 个 相 机 之 间 的相对位置是固定好的,相机之间的视野互不重叠干扰。 Kinect 图2 视觉 SLAM 模型 相机采集数据是有源测距, 其通过其自身的红外散斑发射器向 其数学描述如下: 外发射近红外光束, 当光束接触到障碍物后被反射回来被红外 i Location:xp ,i=1 ,2 ,…,n i Landmarks:xL =1 ,2 ,…,m i+1 i Motion:xp =f (xp ,ui )+wi j i (1 ) 接收器所接收, 最终通过计算反射回来的散斑之间的集合关系 (2 ) 计算出距离,如若两个相机之间存在重叠视野,在测得深度距离 (3 ) j Observation:zi =h (xp ,xL )+νi,j (4 ) 问题可描述为:在已知机器人运动方程式(4 )及传感器观测 i 数 据 式 (3 )的 情 况 下 ,求 解 各 时 刻 机 器 人 的 的 位 置 X P 及 各 时 刻 是两个相机之前的红外光束会相互干扰, 导致测得的环境深度 信息不可靠。 因此,设计的两 个 Kinect 相 机 之 间 视 野 不 重 叠 互 不干扰。 将两个相机之间的位置进行固定,一是为了保证相机视 野的不重叠性, 二是相机相对位置固定使得系统更易完成制图 与自身位姿的确定。 如前所述,搭建无重叠 视 野 的 双 Kinect 系 统 变 相 扩 大 相 机 地图信息 XL 进而得到全局优化的地图 M 。 在此过程中特征点 XL 成为链接整个地图制作过程的关键。 而通常情况下,相机(比如 数据采集范围以期得到足够 Kinect 相机) 在进行环境数据的采集时会拍到连续几帧特征点 多的特征点以应对在特征点 稀缺的情况,对图像做点特征提取和匹配后,能够用于点匹配的 的提取与匹配之时特征点缺 特征点较少, 而这些数量较少的特征点不能对传感器的状态进 少的情况。 双 Kinect 系统采 行运动估计,从而导致机器人 SLAM 问题的失败。 本质上,就是 集环境数据后, 对环境数据 在相机采集完环境数据后,部分帧中的特征点缺少,从而不能求 的处理如下: 首先遍历每一 解帧间转移矩阵,最终导致任务的失败。 个图像像素点, 记每个像素 系统的流程可如图 3 所示,通过传感 器 (如 Kinect 相 机 )对 点 为 PK,设 每 个 像 素 点 的 亮 环境进行特征点的提取, 而后通过帧间匹配进行位姿的估计及 度为 IP ,以 PK 为圆心半径为 优化,这里用 Ti 表示帧间计算的转移矩阵,Ti 能否存在取决于特 3 选取 16 个像 素 点 Pi ,i=1 , 征点的匹配。 理想情况下 T0,T1,… Tn 应为闭环的,且在相机环顾 环境一周后应满足式(5 ),其中 I 为单位矩阵。 T0 T1 T2 … Tn =I K ′ 2 … 16 ,各 选 取的像素点的亮 度记为 IP ,如图 5 所示。 图5 特征点示意图 ′ (5 ) i 记 T 为像素点亮度梯度差,在本文中 T=0.3IP 。 记 M 为满足 K 式(6 )或(7 )的像素点的个数,初始化时 M=0 。 IP ≥IP +T (6 ) IP ≤IP -T (7 ) ′ i 图3 ′ i 系统的流程图 M=M+1 通常得不到足够多的特征点,从而导致帧间转移矩阵 Ti 的缺失, 的 SLAM 方法,变相扩展 Kinect 相的采集范围以期得到更多 的 特征点,使得系统帧间转移矩阵 Ti 更具鲁棒性。 2 双 Kinect 系统设计 如 本 文 前 文 所 述 ,由 于 传 感 器 自 身 局 限 性 、环 境 纹 理 、光 照 等因素的影响, 视觉 SLAM 算法会因特征点的缺失导致帧间转 移矩阵 Ti 的缺失,最终导致系统 对 SLAM 过 程 的 失 败 。 从 传 感 器的角度考虑,希望拓展传感器对环境数据的采集范围,以期得 到更多的特征点。 基于此,设计双 Kinec 平台,变相地扩大传感 器的检测范围,单个 Kinect 传感器 视 野 的 局 限 性 即 可 得 到 很 好 k 若像素点 Pi 满足式(6 )或(7 ),则 现 实 大 多 数 情 况 下 由 于 环 境 、光 照 、传 感 器 自 身 的 局 限 性 , 帧间运动计算断链。 基于此种情况本文提出一种双 Kinect 相机 k (8 ) 若 M>=9 ,则 PK 为特征点。 通过双相机系统 扩 大 系 统 检 测 范围,扩大特征点的检测范围,通过本系统设计的环境数据采集 系统使用 RGBD-SLAM 方法使得系统更具鲁棒性。 3 实验结果与分析 我们在湖南理工职业技术学院实验室采集了数据, 用于实 验测试。 图 6 为使用单 Kinect 相机使用 RGBD-SLAM 算 法 进 行 实 验 的 结 果 , 图 7 为 使 用 双 Kinect 平 台 使 用 RGBD-SLAM 算法的结果。 在图中,标明“断开 ”的 地 方 为 单 Kinect 平 台 在 环 境数据中面临特征点匹配关系缺失的地方,在这样的情况之下, 原 RGBD-SLAM 算法的制图任务将面临识别,但是借助本系统 的 双 Kinect 平 台 ,由 于 环 境 数 据 采 集 范 围 的 扩 大 ,特 征 点 得 以 《工业控制计算机》2021 年第 34 卷第 12 期 扩充,制图任务得以继续。 53 统在面临特征点缺少的情况下, 通过扩充相机采集视野扩充特 征点匹配的一个方法。 实验表明本系统能在一定程度上解决特 征点缺失导致制图断链的问题, 使得视觉 SLAM 算法更具鲁棒 性。但是在双 Kinect 相机都采集不到特征点时,SLAM 任务同样 面临失败。 同时,由于每帧环境数据采集范围的增加,计算机的 计算量加大,增加了计算机的运算负担。 因此,本系统在算法及 特征点的快速匹配上有进一步优化的空间。 参考文献 [1 ]马 家 辰 ,张 琦 ,谢 玮 ,等 . 基 于 粒 子 群 优 化 的 移 动 机 器 人 SLAM 方 法 [J ]. 北京理工大学学报,2013 ,33 (11 ):1151-1154 [2 ]戴立根 . 欠点特征环境的视觉同步定位与制图研究 [D ]. 哈尔滨:哈尔 滨工业大学,2016 [3 ]张慧娟 . 复杂环境下 RGB-D 同时定位与建图算法研究[D ]. 北京:中 图6 单 Kinect 平台制图结果 国科学院大学,2019 [4 ]林 国 聪 ,薛 斌 强 ,王 冬 青 . 基 于 图 优 化 的 SLAM 后 端 优 化 算 法 研 究 [J ]. 电子设计工程,2020 ,8 (24 ):6-10 ,16 [5 ]张文 . 基于多传感器融合的室内机器人自主导航方法研究 [D ]. 合肥: 中国科学技术大学,2017 [6 ]张 大 伟 ,苏 帅 . 自 主 移 动 机 器 人 视 觉 SLAM 技 术 研 究 [J ]. 郑 州 大 学 学报(理学版),2021 ,53 (1 ):1-8 [7 ]LOO S,AMIRI A,MASHOHOR S,et al.CNN-SVO:improving the mapping in semi-direct visual odometry using single -image depth prediction [C] ∥IEEE International Conference on Robotics and Automation. Montreal, 2019:5218-5223 [8 ]潘 薇 ,蔡 自 兴 ,陈 白 帆 . 复 杂 环 境 下 多 机 器 人 协 作 构 建 地 图 的 方 法 [J ]. 四川大学学报:工程科学版,2010 ,42 (1 ):143-148 [9 ]蒋林,方东君,雷斌,等 . 单目视觉移动机器人导航算法研究现状及趋 势[J ]. 计算机工程与应用,2021 ,57 (5 ):1-9 图7 4 双 Kinect 平台制图结果 结束语 [10 ]陈赢峰 . 大 规 模 复 杂 场 景 下 室 内 服 务 机 器 人 导 航 的 研 究 [D ]. 合 肥 : 中国科学技术大学,2017 本 文 提 出 的 双 Kinect 视 觉 SLAM 平 台 , 是 在 单 Kinect 系 [收稿日期:2021.8.25 ] ∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥ (上接第 48 页) [2 ]Bloesch M,Omari S,Hutter M,et al.Robust visual inertial 误。 除此之外,当绕走廊一周回到初始点时,同样由于特征较少 odometry using a direct EKF -based approach [C] / / IEEE / 无法进行特征匹配,导致回环检测失效。 而加入线特征检测后, RSJ International Conference on Intelligent Robots & Sys- 很明显在转角处有大量线特征被检测出, 无角度飘飞问题且轨 迹估计更加准确,实验证实了该算法的有效性和鲁棒性。 4 tems.IEEE, 2015:298-304 [3 ]Qin T, Li P, Shen S. VINS -Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator[J].IEEE Transactions 结束语 本文在基于点特征的方法上引入线特征检测扩充环境信 息,并对点线特征进行加权计算。 通过公开数据集测试,结果表 明在图像帧之间加入更多的视觉约束有利于提高位姿估计精 度。 最后将该算法应用于实际走廊场景中进行对比验证,结果证 实了该算法在弱纹理环境的鲁棒性与适应性,具有实用价值。 参考文献 [1 ]Mourikis A I,Roumeliotis S I.A Multi-State Constraint Kalman on Robotics, 2018, 34(4):1004-1020 [4 ]Shi J.Good Feature to Track[C] / / IEEE Conference on Com- puter Vision and Pattern Recognition, 1994: 593-600 [5 ]毛储伟 . 移动机器人室内环境同步定位与建图算法研究 [D ]. 哈尔滨: 哈尔滨工业大学,2020 [6 ]王云舒 . 特殊视觉应用环境下微小型飞行器视觉 / 惯性组合导航关键 技术[D ]. 南京:南京航空航天大学,2018 [7 ]Bosse, Michael, Furgale, et al. Keyframe-based visual-iner- Filter for Vision-Aided Inertial Navigation [C] / / Robotics and tial Automation,2007 IEEE International Conference on.IEEE,2007: Journal of Robotics Research, 2015, 34(3):314-334 odometry using nonlinear optimization [J].International [收稿日期:2021.7.26 ] 3565-3572 ∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥ (上接第 50 页) 析与思考[J ]. 中国电机工程学报,2020 ,40 (17 ):5493-5506 [2 ]刘吉臻,胡勇,曾德良,等 . 智能发电厂的架构及特征[J ]. 中国电机 工 程学报,2017 ,37 (22 ):6463-6470 ,6758 [3 ]Hochreiter S,Schmidhuber J.Long Short -term memory [J]. Neural Computation,1997,9(8):1735-1780 [4 ]张连强,王东风 . 基于改进人群搜索算法的 PID 参数优化[J ]. 计算机 工程与设计,2016 ,37 (12 ):3389-3393 [5 ]黄 青 岭 . 火 电 机 组 控 制 系 统 性 能 评 估 及 优 化 [D ]. 南 京 : 东 南 大 学 , 2020 [收稿日期:2021.6.8 ]