王志远,王茂森
(南京理工大学, 南京 210094)
基于双目视觉的移动机器人测距与定位系统
王志远,王茂森
(南京理工大学, 南京 210094)
提出了基于双目视觉的移动机器人测距与定位系统的设计方案,系统由左右布置的两个摄像机组成。通过计算目标点在左右摄像机成像平面内像素点的视差值,利用重映射技术得到摄像机前方的三维环境信息。使用张正友标定法对系统进行标定。在图像预处理阶段使用限制对比度自适应直方图均衡(CLAHE)算法对图像进行均衡化处理,明显改善了光照不均、雾、烟尘等低质图像的清晰度,提高了系统环境适应性。为确保该系统的可靠性,对测量值进行了误差分析,系统的深度平均测量误差为1.49%;定位平均测量误差x方向为3.81%,y方向为2.48%。误差分析结果表明,该系统测量精度高且稳定性好,可以满足移动机器人定位、测距等要求。
摄像机标定;CLAHE;视差;移动机器人;误差分析
立体视觉技术通过对目标物的特征点在两个摄像机成像平面的像素坐标进行匹配,利用三角测量原理计算该特征点的深度信息进而获取目标物的位置信息[1]。当获取目标物的特征点足够多时就可以对目标物的空间位置进行准确定位[2]。传统的超声波测距、激光测距等方式无法直接得到目标的三维信息,只能通过扫描的方式获得环境中的深度信息,适用于工作任务比较简单且深度信息要求不高的情况,而双目测量系统没有这种限制。双目立体视觉技术已经被应用到多个领域,如利用立体视觉获取动物的形体尺寸,在进行放疗时对肿瘤进行精确定位,移动机器人的定位与测距系统等[3-5]。
本文利用双目系统采集图像,然后进行预处理,使其在光照不均,有雾等非常规条件下仍具有较高的识别效率,提高了系统的鲁棒性,之后对左右摄像机进行立体匹配并求解环境三维信息。利用所构建的移动机器人平台,进行测距与定位实验。
移动机器人平台由上下两部分组成,下半部为履带小车,如图1(a)所示。车体内部装有一个嵌入式系统,CPU选用三星4412四核处理器,主频为1.4GHz,具有很强的任务处理能力,2G RAM和16G FLASH可以满足图像处理以及其他功能对运存及存储空间的需求,其上运行的Linux操作系统保证了信息采集,信号处理,以及控制命令输出等功能的顺利进行。该嵌入式系统完成一次640×480大小的两幅图的立体匹配仅需要70~80 ms,即每秒可完成13×2图像的处理,这样的处理速度完全可以满足移动机器人的应用要求;平台上半部为水平安装的两台摄像机,如图1(b)所示是双目视觉的图像采集部分,双摄像机水平布置基线距离为60 mm,光轴呈前向平行状态,单个相机可采集640×480大小的图像,帧率可达60fps,满足双目视觉的要求。上下两部分通过一个垂直安装的电机连接在一起,电机旋转,带动双摄像机360°旋转,因此,该移动机器人可以在行进或停止状态下进行360°的测量。
在双目视觉系统中除需要将目标特征点与其像素点进行位置匹配外,还需要知道左右摄像机之间的相互关系。因此标定的主要目的就是求取与之相关的摄像机内参数、外参数[6]。经过标定的相机采集的图像还需要经过必要的预处理才可进行后续的计算,这样做的好处可以保证只有高质量的图像才可以参与后续的运算。
2.1 摄像机标定
建立摄像机的针孔成像模型,如图2所示。其中P为目标物上一点(以下简称物点),物点在世界坐标系FcXcYcZc中的坐标为(X,Y,Z),P点的像素坐标为(u,v),(cx,cy)为主点坐标。
图1 移动机器人测距定位系统
图2 摄像机针孔成像模型
建立针孔摄像机的数学模型[7]:
(1)
其中:fx,fy为焦距f沿x轴和y轴上的归一化焦距;Rc是物点相对于投影面的旋转矩阵;t是物点相对于投影面的平移向量;s为一个标量。
由于摄像机还存在径向畸变与切向畸变,因此,需要对畸变进行求解[8],求解公式如下。
(2)
其中:x,y是畸变点像素坐标;k1,2,3、p1,2分别为径向和切向畸变系数;r是像点到中心点的距离;xd,yd为校正后像素坐标;径向畸变与切向畸变可以用矩阵[k1,k2,p1,p2,k3]表示,记为:D。
对左右摄像机分别进行标定得到内参数矩阵分别为Mr,Ml,畸变矩阵分别为Dr,Dl,结果如下。
为保证双摄像机光轴前向平行需要对右摄像机进行旋转与平移。因此,需要求解相关的旋转与平移矩阵R,T。另外为了求解物点在左右成像平面内投影坐标的对应关系还需要标定出本征矩阵E和基础矩阵F。
旋转矩阵R与平移矩阵T的标定结果为:
本征矩阵E与基本矩阵F的标定结果如下:
利用标定求得的结果参数对左右相机进行校正,校正结果如图3所示。
对比图3(a)~图3(b)可以发现,经过标定-校正后的摄像机畸变得到了消除,并且左右摄像机行像素得到了对齐。
图3 双目校正
2.2 图像预处理
对图像的预处理采用限制对比度自适应直方图均衡(CLAHE)算法,该算法基于自适应直方图均衡(AHE)算法实现,并引入对比度阈值对各个区域进行限幅[9]。对超过阈值的直方图进行裁剪,并将裁剪掉的部分均匀分配到直方图的其他部分,经过多次裁剪-重分布操作便可将直方图的峰值限制在阈值附近。经过CLAHE处理后的图像具有良好的对比度,对光照不均、雾等具有很好的去除作用[10],达到提升图像画质的目的,CLAHE对图像的处理结果,如图4所示。上为处理前的图像,下为经过CLAHE处理后的图像,可以看出,经过处理后的图像极大地改善了图像的质量。
图4 CLAHE算法对光照不均及雾的滤除
环境三维信息包括深度(距离)信息和方位信息。经过标定-校正后的双摄像机,便可以进行立体匹配,对于一个匹配成功的特征点可以得到其视差d。然后根据求得的视差进一步求取该特征点的深度信息。摄像机立体匹配模型如图5所示,根据物点P在左右成像平面的投影点pl,pr的对应关系便可以得出深度z与视差d的几何关系[11],表达式为
(7)
式中:b是基线距离;z是物点的坐标;xl,xr分别为左右成像平面内投影点的横坐标。
对于一个成功匹配的特征点,它在摄像机坐标系(以左相机投影中心为原点)中的坐标是可知的,因此对该坐标点进行重投影即可得到该物点在世界坐标系中的坐标。投影关系可表示为
(8)
其中:Q是重投影矩阵,表示为:
(9)
图5 左右摄像机立体匹配模型
为了使计算统一而引入了第四维度w,使三维坐标(x,y,z)用齐次坐标表示时变为四维空间(x,y,z,w),因此求得物点P的三维坐标为(x/w,y/w,z/w)。如果对整幅场景图都进行立体匹配,可以得到整个场景的三维信息,如图6所示,图6(a)为经过CLAHE处理后的场景图;图6(b)为场景三维信息借助Matlab显示后的三维信息图。可以看出不同物体之间的深度、方位明显不同,如书本与兰花、书本与杯子之间的层次感都十分明显。
图6 三维环境信息提取
为了确保三维环境信息采集的准确与可靠,需要对采集结果进行误差分析。
4.1 深度信息测试实验
使用鼠标在场景图中选取不同物体上的若干点,如图6(a)中选择的13个点,然后获取该点的深度值并与实际测量值作对比,然后计算出相对误差。如表1所示。
表1 特征点深度测量误差分析
通过对比表1中的系统测量值与实测值,并分析相对误差可知,该系统的平均测量误差为1.489%,最小测量误差仅为0.605%,测量精度可达毫米级,且误差波动较小,系统稳定性强,可以满足移动机器人的测距任务。
4.2 位置信息测试实验
使用AutoCAD制作一张如图7所示的测试纸,其中9个点的坐标如表2中x、y的理论值所示,圆点的直径为5 mm,相邻点的间距随机不等,选1点为坐标原点,其余各点均是相对于原点的坐标值。将测试纸粘贴在一个平整的墙面上,将移动机器人平台摆放在测试纸的正前方,摄像机距测试纸的距离为610 mm,然后启动测量系统,对测试纸中测试点进行立体匹配求出各个点的方位坐标,此时求得的坐标为各点的绝对坐标,因此需要转换成相对于1点的相对坐标,转换后的结果如表2中测量值x与测量值y所示。
通过对比表2中各点的理论坐标值与系统测量坐标值,并分析沿x、y方向的相对误差可知:该系统沿x轴的定位平均误差为3.81%,沿y轴的定位误差为2.48%。具有较高的定位精度。可以满足移动机器人的定位需求。
图7 定位测试纸
表2 系统定位误差分析
本文研究的移动机器人测距与定位系统,利用双目视觉系统获取环境中物体的三维位置信息,具有测量范围广获取信息量大的特点。为确保测量的深度与方位信息可靠与准确,进行了深度信息测试实验与位置信息测试实验,通过分析实验结果得出该系统测量精度高,稳定性强,满足移动机器人的测距与定位要求。相比于传统的超声波、激光等测量方法,该系统仅利用一对水平放置的摄像机便可以获取前方环境中物体的三维位置信息,结构简单成本低廉具有很好的实用价值。
[1] 沈彤,刘文波,王京.基于双目立体视觉的目标测距系统[J].电子测量技术,2015,38(4):52-54.
[2] 于勇,张晖,林茂松.基于双目立体视觉三维重建系统的研究与设计[J].计算机技术与发展,2009,19(6):127-130.
[3] 郭浩,马钦,张胜利,等.基于三维重建的动物体尺获取原型系统[J].农业机械学报,2014,45(5):127-131.
[4] 董峰,孙立宁,汝长海.基于双目视觉的医疗机器人摆位系统测量方法[J].光电子·激光,2014,25(5):1027-1034.
[5] 王殿君.双目视觉在移动机器人定位中的应用[J].中国机械工程,2013,24(9):1155-1158.
[6] 刘俸材,谢明红,王伟.双目视觉的立体标定方法[J].计算机工程与设,2011,23(4):1509-1512.
[7] 于仕琪,刘瑞祯.学习 OpenCV[M].北京:清华大学出版社,2009.
[8] 杨景豪,刘巍,刘阳,等.双目立体视觉测量系统的标定[J].光学精密工程, 2016,24(2):301-307.
[9] 杨有,李波.CLAHE和细节放大相结合的档案图像增强方法[J].中国图象图形学报,2011,16(4):523-527.
[10] 黎秀玉,宋树祥,夏海英.基于CLAHE和图像分解的去雾方法[J].广西大学学报(自然科学版),2016,41(5):1552-1559.
[11] 高宏伟.计算机双目立体视觉[M].北京:电子工业出版社, 2012.
(责任编辑杨继森)
RangingandPositioningSystemofMobileRobotBasedonBinocularVision
WANG Zhiyuan, WANG Maosen
(Nanjing University of Science and Technology, Nanjing 210094, China)
The system consists of two cameras arranged on the left and right. By remapping technique, the 3D depth information of the camera’s front environment is obtained based on calculating the parallax value of the target points in the cameras imaging plane. In this paper, Zhang Zhengyou’s calibration method is employed to calibrate the system. In the stage of prepossessing image, the contrast adaptive histogram equalization (CLAHE) algorithm is used to equalize the image, which can improve the clarity of low quality images caused by the following factors such as uneven illumination, fog and soot, and then enhance the system environment adaptability. In order to ensure the reliability of the system, the necessary error analysis is made for the measured value. In depth, the average measurement error of the system is 1.49%; Positioning average measurement error ofxdirection is 3.81%,ydirection is 2.48%. The error analysis results show that the system has high measurement accuracy and stability, which can meet the requirements of mobile robot locating and ranging.
camera calibration; CLAHE; parallax; mobile robot; error analysis
2017-07-03;
2017-07-30
王志远(1992—),男,硕士研究生,主要从事机械工程研究。
王茂森(1970—),男,硕士生导师,主要从事火炮、自动武器与弹药工程研究。
光学工程与电子技术
10.11809/scbgxb2017.11.038
本文引用格式:王志远,王茂森.基于双目视觉的移动机器人测距与定位系统[J].兵器装备工程学报,2017(11):173-177.
formatWANG Zhiyuan, WANG Maosen.Ranging and Positioning System of Mobile Robot Based on Binocular Vision[J].Journal of Ordnance Equipment Engineering,2017(11):173-177.
TP242.6
A
2096-2304(2017)11-0173-05