时间:2024-07-29
孙晓东,宋雷震
(淮南联合大学 智能制造学院,安徽 淮南 232038)
对于巡检机器人而言,因为其工作环境多为室内、管道、工作站等较为狭小密闭的空间,障碍物较多,因而需要检测识别障碍物,并获取与障碍物之间的距离,以达到自主定位导航的目的。目前多数巡检机器人采用雷达、超声波传感器、激光测距仪等来实现对障碍物的识别与定位,但这些方法的成本较高,智能度也不够,因此无法满足需求[1]。针对上述问题,提出一种基于自主定位导航和深度学习的视觉感知的巡检机器人检测方法。使用深度学习中的SSD(Single Shot MultiBox Detector)算法识别障碍物,并计算障碍物的像素高度;通过相似集合原理计算巡检机器人与障碍物之间的距离,并向机器人发送Twist信息,以完成自主定位导航。研究结果表明,该方法能够有效提高巡检机器人对障碍物的识别与定位精度,对智能机器人的发展有一定借鉴意义[2]。
目前巡检机器人使用较多的目标检测算法有YOLO算法、R-CNN算法以及SSD算法[3]。这三种算法都是基于卷积神经网络(Convolutional Neural Networks,CNN)的深度学习算法[4]。YOLO算法对目标物的定位精度较低,且很难检测体积较小的物体,而SSD算法能够直接采用卷积神经网络进行目标检测,且能够产生不同大小的先验框以对不同大小的目标物进行匹配检测,克服了YOLO算法存在的缺点[5]。SSD算法是一种单阶段目标检测算法,同时也是一种端到端的目标检测算法,因此相较于R-CNN算法,SSD算法对目标物的检测速度更快,检测效率更高[6]。SSD算法框架主要由基础网络与附加部分组成,其中附加层是尺度逐渐减小的卷积神经网络,待检测的所有障碍物会在不同尺度的特征图上同时接受检测,且不同层级特征图的感受特征元素也有所不同,因而在对障碍物进行预测时,SSD算法会运用不同层级的特征图,并设置不同尺度的默认框和匹配不同大小的感受野[7]。各层级默认框的大小如公式(1)所示。
(1)
公式(1)中,Sk表示第k层特征图对应的默认框大小;Smin与Smax分别表示默认框最小和最大的尺度;m根据不同的SSD算法会有不同的值。默认框的高度如公式(2)所示。
(2)
(3)
(4)
根据公式(4)与上述内容可知,特征图的任意位置都会有6个默认框。得到特征图以后,对其进行卷积操作,进而得到对目标物的识别检测结果[8]。检测值部分会划分为类别置信度与边界框位置,且类别置信度与边界框位置都会进行相同次数的卷积。边界框位置误差与置信度位置误差的加权和被称为损失函数,如公式(5)所示。
(5)
公式(5)中,N为SDD算法中先验框的正样本数目,c是类别置信度的预测值,L为先验框对应的边界框的位置预测值,g为groundtruth的位置参数。根据公式(5),即可完成对目标物的检测,并生成相应的结果。
单目视觉测量即通过相机拍摄待测量的目标物体,再根据拍摄的图片对实物进行测量的方法。在获取巡检机器人利用搭载相机采集的图片后,可以根据图片坐标系与世界坐标系以及相机坐标系之间的换算关系,将图片坐标系转化为世界坐标系,从而完成图片坐标系与世界坐标系之间的匹配[9]。相机成像一般有透镜成像与小孔成像,其中原理如图1所示。
(a)透镜成像
根据几何相似学理论,即可得到针孔成像模型的相机投影关系,如公式(6)所示。
(6)
根据公式(6),可推导出巡检机器人挂载相机的位置与障碍物之间的水平距离,如公式(7)所示。
D=(W×F)/P
(7)
公式(7)中,D表示巡检机器人挂载相机的位置与障碍物之间的水平距离;W表示待测障碍物的宽度;P表示障碍物在图像中的像素宽度;F表示巡检机器人挂载相机的焦距。根据图像坐标系、成像平面坐标系、摄像机坐标系以及世界坐标系之间的变换关系,即可完成图像坐标与世界坐标之间的相互转换[10]。图像坐标与成像平面坐标之间的关系如公式(8)所示。
(8)
摄像机的内参矩阵如公式(9)所示。
(9)
用σ表示一个满足相应条件的非零度因子,并令其满足σ=1/z,则障碍物的图像坐标系与世界坐标系的转换方式如公式(10)所示。
(10)
根据公式(10),即可将障碍物的图像坐标系转换为世界坐标系,进而获得障碍物到巡检机器人搭载相机之间的距离。摄像机标定是指根据所拍摄的图片获取摄像机参数,并根据图像与参数来还原物体在空间中的位置和形状[11]。摄像机标定能够提高巡检机器人对障碍物检测定位的准确度。张正友标定法能在降低标定难度的同时,还能保证标定的精确度[12]。因此采用张正友标定法进行摄像机标定,棋盘标定板作为标志物,标定板如图2所示。
图2 标定板
摄像机的内部参数可以由公式(11)来表述。
(11)
根据光心以及在图像坐标系中的两个方向矢量,可得到两个方向矢量的正交关系,如公式(12)所示。
det[H]≠0
(12)
H则可以用公式(13)表述。
(13)
公式(13)中,m是标定点在图像坐标系中的坐标,m′是标定点在标定板上的坐标。根据旋转矩阵R的正交性以及公式(13),即可获得摄像机内部参数计算的约束条件,最终根据约束条件求得相应的摄像机内部参数[13]。在求出内部参数后,将矩阵代入公式(14),即可求得外部参数。
(14)
公式(14)中,A为求得内部参数的矩阵,λ满足公式(15)。
(15)
求得摄像机的内部参数和外部参数后,即完成了摄像机的标定。单目视觉测距定位模型在测距定位过程中需要参照物[14],但在巡检机器人实际自主定位导航中,实时性非常重要,参照物不容易找到,针对这一问题,提出一种空间平行平面测距模型,如图3所示。
图3 空间平行平面测距模型
空间平行平面测距模型只能测试相对距离,因此基于单目视觉测距定位模型提出一种地平面约束测距定位模型。地平面约束测距定位模型可以根据目标物在图像坐标系中的位置,来推导出目标物在世界坐标系中的位置[15]。地平面约束测距定位模型能够允许巡检机器人在自主定位导航的过程中对目标物进行实时定位。基于SSD算法识别目标,地平面约束测距定位模型定位目标物,搭建新的巡检机器人视觉系统,并根据系统对目标物的识别与定位向机器人发送Twsist信息,以便完成避让、跟随等动作,从而实现巡检机器人智能、自动的自主定位导航。
分别根据SSD算法、YOLO算法以及R-CNN算法构建模型,并在相同的数据训练后,以相同的目标物对三种模型的识别情况进行测试,验证SSD算法的性能。识别情况如表1所示。
表1 三种算法的识别情况
在表1中容易看出,SSD算法和YOLO算法对目标物的检测识别比R-CNN算法快,SSD算法和R-CNN算法对目标物的识别数量比YOLO算法多。其中,在目标物数量为20时,SSD算法检测时间为41s,比YOLO算法少2s,比R-CNN算法少23s,三种算法的识别数量都为20;在目标物数量为40时,SSD算法检测时间为84s,比YOLO算法少7s,比R-CNN算法少51s,SSD算法和R-CNN算法对目标物的识别数量为40,比YOLO算法多2;在目标物数量为60时,SSD算法检测时间为126s,比YOLO算法少12s,比R-CNN算法少87s,SSD算法对目标物的识别数量为58,比YOLO算法多6,比R-CNN算法少1。以上结果说明,SSD算法的综合性能比YOLO算法和R-CNN算法更加优秀。
为了进一步分析SSD算法的性能,分别以SSD算法、YOLO算法以及R-CNN算法构建模型,以相同的数据训练模型,记录并比较三个模型的训练时间和对目标物的识别准确率,结果如图4所示。
(a)模型训练时间
从图4(a)中可以得知,当迭代次数相同时,SSD模型的训练时间比另外两种模型的训练时间更短。在迭代次数达到500次时,SSD模型需要7.8h进行训练,而YOLO模型需要10.3h,比SSD模型多2.5h;R-CNN模型则需要11.5h,比SSD模型多3.7h。图4(b)中,三种模型的最高准确率均在迭代次数为600时,其中SSD模型的准确率为95.8%;而YOLO模型的准确率为73.4%,比SSD模型低22.4%;R-CNN模型的准确率则为86.1%,比SSD模型低9.7%。以上结果说明,SSD模型的收敛速度和识别准确率均优于YOLO模型和R-CNN模型,更适合应用于巡检机器人的视觉系统进行目标物识别检测。
分别构建地平面约束测距定位模型(模型A),空间平面测距模型(模型B),单目视觉测距模型(模型C),基于同样的目标和距离对三种模型进行测试,记录并比较三种模型的定位检测结果误差,以验证地平面约束测距定位模型的性能,测试结果如图5所示。
图5 地平面约束测距定位模型的性能分析
图5中,地平面约束测距定位模型的最大误差为2cm,而空间平面测距模型的最大误差为3.9cm,比地平面约束测距定位模型大1.9cm;单目视觉测距模型的最大误差为2.7cm,比地平面约束测距定位模型大0.7cm。在十次测量后,地平面约束测距定位模型的平均误差为0.89cm;而空间平面测距模型的平均误差为2.78cm,比地平面约束测距定位模型的大1.89cm;单目视距测距模型的误差为1.92cm,比地平面约束测距定位模型的大1.03cm。以上结果说明地平面约束测距定位模型的测距精度比另外两种模型更加优秀。
当前巡检机器人的视觉系统对障碍物的识别精度和测距精度都比较低,针对这一问题,采用用深度学习中的SSD算法识别障碍物,基于单目测距模型构建地平面约束测距定位模型以实现精准测距,搭建新的巡检机器人视觉系统。研究结果表明,相比YOLO算法和R-CNN算法,SSD算法综合性能更加优秀;迭代次数达到500次时,SSD模型需要7.8h进行训练,比YOLO模型快2.5h;比R-CNN模型快3.7h;迭代次数为600时,SSD模型的准确率为95.8%,比YOLO模型高22.4%;比R-CNN模型高9.7%;地平面约束测距定位模型平均误差为0.89cm,比空间平面测距模型小1.89cm;比单目视觉测距模型小1.03cm。以上结果说明,基于SSD算法和地平面约束测距定位模型的新巡检机器人视觉系统能够有效地对障碍物进行识别检测和测距定位,从而实现智能化、自动化自主定位导航。研究的环境是在室内,对较为复杂的室外环境未进行研究,需要后续的进一步研究。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!