本文主要针对经典的 SLAM 方法在圆柱形管道内这种缺乏特征的结构化场景内无法鲁棒运行的问题,努力寻找利用特定的目标和摄像头运动先验知识来研究出适合特定应用场合的单目视觉三维定位或 SLAM 方法。基于这样的单目视觉理论与技术的研究发展状况与趋势,提出一种新的定位圆形焊缝的方法,主要创新点为构建了基于场景本身的结构先验知识和单目视觉的深度线索以及探伤机器人行走速度传感器准确定位三维场景内圆形焊缝位姿的方法和技术理论。将单目视觉定位理论与方法扩展到新建管道与储罐的机器人探伤检测领域,有效支撑吸附式管道探伤机器人导航智能化的发展。
第1章 绪论
1.1 研究背景及意义
过去的 20 年间,我国的基础设施建设突飞猛进,随着城市建设的高速发展,管道运输作为一种廉价的运输方式被广泛采用并且拥有非常广阔的应用前景。出于美观和安全性的考虑,十三五规划以来,我国对地下空间开发利用的规模迅速增加,而管道则是地下空间利用的重要载体。目前管道间仍然采用焊接连接的方式,因此焊接质量直接影响了运输的可靠性。如何提高检测水平,发现管道焊接缺陷,在埋地管道建设和使用的不同阶段都十分重要。当前主流的检测方式采用人工控制检测机器人搭载检测设备进入管道进行检测,观察员通过查看机器人实时传输回来的视频信息判断焊缝的出现,然后控制机器人行驶到焊缝上分析焊缝的质量。这样的焊缝定位方式单调且乏味,加之长时间高负荷的观测下极易引发疲劳,如果出现遗漏有缺陷焊缝的情况,可能会带来严重的经济损失,甚至引发生命安全问题[1]。将探伤检测机器人智能化,迎合国家中长期科技发展规划中对数字化和智能化设计制造的要求[2],进一步利用管道探伤机器人摄像头所采集的管道内壁图像,研究基于计算机视觉技术自动搜索到管壁焊缝并准确定位出焊缝相对于管道探伤机器人的距离和姿态的方法,所定位出的焊缝距离与姿态可用于控制机器人能自主地行驶到焊缝处进行探伤检测,提高管道探伤机器人的智能性、消除远程检测员通过观察图像搜索焊缝和控制机器人运动到焊缝的操作环节,有效减轻检测员的疲劳。
目前基于视觉的焊缝定位的研究,主要集中在焊接机器人对要焊接缝隙的定位,即在焊接过程中检测焊缝偏移来校正机器人焊接臂能正确的沿着待焊接缝隙移动进行焊接,而关于管道内焊缝物理空间定位的方法还在探索中。管道内焊缝定位的准确性会直接影响检测等后续工作[3]。如图 1.1 所示的自带电源的磁吸附无线通信管道机器人[4]是大型铁质管道和罐体焊缝检测的主要检测设备,长续航和轻重量是这类机器人的重要性能指标,因此在传感器的选择上要尽可能考虑对整体的影响。例如计算量较大的 RGB-D 相机与高能耗的激光测距仪[5]会对整个系统的续航产生不利影响,并且增加整个系统的重量,这会增加机器人在图 1.1 所示的仰面工作的状态下坠落的风险。因此具有结构简单、耗电量低和重量轻特点的单目视觉传感器就成为了首选。
..............................
1.2 单目视觉定位及相关 SLAM 方法的研究现状
机器人在未知的环境中工作时需要确定环境中目标相对于自身的位置和姿态,其确定方式通常有两种:一种是建立一个全局坐标系,使用绝对坐标确定环境物体与机器人之间的位置关系。另一种是通过机器人自身携带的传感器,以自身为中心建立坐标系来构建与目标间的相对位置地图。
绝对位置的确定一般依靠使用已知的环境先验信息,例如已有的导轨、存在的特殊标记或者其他可以用于测量的目标等等。机器人在检测到已知的标识时可以快捷有效的获取自身在地图中的位置信息,以及与环境物体间的距离信息。然而由于需要在环境中预先测量,在诸如检修海底运输管道或早期修建的下水道等恶劣的工作环境下,需要大量的人工参与显然有违智能化检测的初衷,这也直接影响了此类方法的使用范围。
相对位置的确定一般通过携带于机器人本体上的传感器,包括里程计、相机、激光雷达、惯性测量单元(Inertial Measurement Unit,IMU)和 GPS 装置等等。这类方法不依赖于外部辅助信息,并且传感器拥有简单可靠的特点,对使用环境拥有相对好的适应性,可以通过获取到的数据推算出机器人所处环境地图信息,满足在一些人工不易干预的环境下工作的要求。但是这类传感器同样也有相应的局限性,例如颠簸的路面更容易造成里程计的误差,快速运动时可能造成相机成像模糊等问题,不同的传感器只有在使用环境满足其工作约束条件下才能正常使用。因此相对位置的确定一般通过融合不同传感器的数据,计算获取机器人的位置信息,目前是研究机器人定位问题的主要方向。
此外,基于地图的定位方式[6, 7]在实际应用中仍然具有不可替代的作用。这种方法是在机器人已经获取到一张环境地图的情况下,将自身观测到的局部信息与全局信息做匹配,获得机器人当前所处局部环境信息的过程。该方法的核心工作在于搜索地图中与机器人获取到的局部信息匹配的选项,判断可能的位置信息。研究人员一般使用概率的方式避免匹配过程中的不确定性。基于贝叶斯公式的计算方式将搜索过程转变为计算概率密度,通过寻找概率峰值的方式寻找最佳匹配信息。
图 1.2 特征点法的 VO 流程
........................
第2章 视觉定位的基本概念和相关理论基础
2.1 相机投影模型
计算机视觉的三维重构指基于相机捕获的物理空间中的三维目标的二维图像信息,计算出原三维目标的深度信息。使用的先验信息包括特征建模、成像、物体建模和物体间的关系信息。没有明确使用先验信息的话,机器视觉只能被设计在狭小的空间中做有限的应用。为了提高灵活性和鲁棒性,先验知识被显式的表示和应用于视觉系统中[40]。
成像的过程分为两个步骤,几何成像和物理成像。几何成像决定了投影点在像平面的位置,而物理成像实质是一个场景亮度和表面纹理对于像平面点亮度的函数,对于大多数机器视觉方面的基础理解往往不需要物理成像原理的支持。本文的焊缝定位方法主要涉及像素的位置信息,因此着重介绍几何成像相关理论知识,这对提取蕴含在二维图像中的三维信息、三维物体的理解与形状和位姿估计等研究十分重要。
相机成像的过程是将三维世界中的坐标点映射到二维相平面的过程,最常用的是针孔模型(pin-hole model),它描述了一束光通过光心后,在针孔背面投影成像的关系[29]。这是理想化的成像模型,本文依据这一模型对成像的映射关系进行介绍。为了便于区分,本文将使用粗体字母表示矩阵或者矢量,非粗体字母表示标量。
图 2.1 针孔相机模型
............................
2.2 优化方法
常见的优化方法根据是否存在约束条件分为有约束优化和无约束优化。对于无约束条件的优化问题,若目标函数在指定区域内中非凸,首先会确定函数是否二次可微,如果函数二次可微则通过求解目标函数梯度为 0 的点(拐点)解决优化问题。寻找拐点的常用方法是首先通过猜测一个初始点,然后使用梯度下降法、牛顿法、线性搜索等方法寻找,然后带入 Hessian 矩阵,若矩阵正定,则该点是一个局部最小解;若矩阵负定,则该点是一个局部最大解;若矩阵不定,则该点是鞍点。当然,若目标函数在求解区域内是凸函数的话,则确定到的任何极值点都是全局最优解。
由于在约束极值问题中,自变量的取值受到约束,目标函数在无约束情况下的平稳点很可能不在可行域内,因此一般不能用无约束极值条件处理约束问题。对于有约束条件的优化问题,处理策略常常是将其转化为无约束优化问题求解,拉格朗日乘数法是常用的方法[42]。
除此之外,还有爬山算法、模拟退火、遗传算法、粒子群优化算法等流行算法,由于优化算法众多,下面主要对上述提及的四种算法做简要介绍。
爬山算法是一种简单的贪心算法,该方法每次从当前解的临近空间中选择最优的解作为新的最优解,直到达到局部的最优结果。爬山算法的实现非常简单,主要缺点是会陷入局部的最优解,而非全局的最优解,如图 2.2 的 B 点所示。
图 2.2 多极值示意图
.............................
第 3 章 基于光学成像原理的环形焊缝定位 ......................... 37
3.1 焊缝定位方法总体框架 ............................. 37
3.2 绝对无焊缝帧过滤 ................................. 37
3.3 机器人无运动摆动干扰正圆环焊缝定位数学模型 ............... 39
第 4 章 实验结果与分析 ............................ 53
4.1 主流 SLAM 算法评估 ........................... 53
4.1.1 特征点法 SLAM ................................. 53
4.1.2 直接法 SLAM ............................. 57
第 5 章 总结与展望 ................................ 63
5.1 本文工作总结 ............................. 63
5.2 下一步工作 ............................... 64
第4章 实验结果与分析
4.1 主流 SLAM 算法评估
目前主流的 SLAM 分为两类:特征点法 SLAM 和直接法 SLAM,两种方法都具有不依赖于环境先验知识的特性。经过无数研究者的多年改进,两种 SLAM方法都发展出了许多不同的改进版本,本文在两种方法中各选取具有代表性的方案作为对比实验。
4.1.1 特征点法 SLAM
特征点是图像中比较特别的地方,如图像中的角点、直线、区块、边缘等。自然环境中角点较为丰富,在两帧之间可以更加容易指出同一个角点。特征直线一般利用环境中直线自身的特点,如长度、角度和斜率等信息,一般用于线段比较丰富的场景,例如建筑物等。区块则是比较困难的方法,不同图像间匹配容易受光照和运动模糊的影响。边缘同样较为困难,沿着边缘搜索,图像局部可能存在相似的情形。相较而言,角点在不同图像间的辨识度更强,但是单纯的角点不能满足实际使用的需求,例如远看是角点而近看却不是,或者当相机发生旋转时,角点的外观可能发生变化。这些情况都可能造成无法匹配。在第一章有介绍到,常用的有 SURF、SIFT 和 ORB 等等,这些人为设计的角点更加稳定,但是仍然有效率-精度之间的矛盾。SIFT 对匹配过程中的光照变化、尺度、旋转等问题做了充分的考虑,但计算量大,难以兼顾效率。虽然相较于 SIFT,SURF 的计算量小得多,但是同样存在计算量偏大的问题。而另一些特征则通过降低精确度的方式以提高计算速度。例如 ORB 就是目前比较有代表性的特征,它采用计算速度非常快的 FAST 角点和二进制描述子 BRIEF,使得计算速度大大加快。基于实时性方面的考虑,本文主要以 ORB 特征为例,阐释特征点法在管道检测环境下的实用度。
............................
第5章 总结与展望
5.1 本文工作总结
视觉里程计是利用机器人搭载的相机,在无需外部输入数据和环境先验知识的前提下,自主定位环境物体和构建环境地图的技术。得益于计算机算力的提升,计算机视觉再次成为研究领域的热门,各种基于视觉的 SLAM 技术方法不断涌现,本文介绍了近年来国内外关于视觉里程计问题的主流解决方案,但目前存在的各种方法仍然存在各种不足,例如特征点法在少特征、运动模糊情况鲁棒性低,直接法在柱形管道内由于缺乏梯度容易造成丢失。
为了解决传统 SLAM 在环形管道等结构化环境中无法正常运行的问题,本文在第三章构建了基于光学成像原理的视觉里程计系统,充分利用机器人的运动信息,使用多帧参与计算,综合考虑纵横比等固定值的稳定性,使用多帧计算出的数值参与物理空间焊缝距离定位。
第四章在第三章的基础上考虑了机器人在管道内前进过程中可能发生运动摆动的情况,以第三章为理论基础,对摆动情况下的圆形焊缝进行建模,构建成像模型和圆形焊缝与机器人间距离的关系。考虑未知数较多情况下的超定方程求解比较困难的问题,采用遗传算法优化最小二乘误差的方式优化求解。
本文主要针对经典的 SLAM 方法在圆柱形管道内这种缺乏特征的结构化场景内无法鲁棒运行的问题,努力寻找利用特定的目标和摄像头运动先验知识来研究出适合特定应用场合的单目视觉三维定位或 SLAM 方法。基于这样的单目视觉理论与技术的研究发展状况与趋势,提出一种新的定位圆形焊缝的方法,主要创新点为构建了基于场景本身的结构先验知识和单目视觉的深度线索以及探伤机器人行走速度传感器准确定位三维场景内圆形焊缝位姿的方法和技术理论。将单目视觉定位理论与方法扩展到新建管道与储罐的机器人探伤检测领域,有效支撑吸附式管道探伤机器人导航智能化的发展。
参考文献(略)