袁泉,邹冲,闵锋*
1.昆明理工大学信息工程与自动化学院,云南昆明 650504;
2.武汉工程大学计算机科学与工程学院,湖北武汉 430205
双目视觉在类人机器人测距中的应用
袁泉1,邹冲2,闵锋2*
1.昆明理工大学信息工程与自动化学院,云南昆明 650504;
2.武汉工程大学计算机科学与工程学院,湖北武汉 430205
为实现类人机器人对复杂目标高精度识别并测量出目标实际距离,提出一种双目目标识别与测距方法.首先利用棋盘标定法对摄像机进行标定并捕获图像;然后利用局部二值模式算子(LBP)和优化后支持向量机(SVM)对目标进行识别;在识别的基础上,再采用尺度不变特征变换(SIFT)算法对特征点进行匹配并根据三角测距原理计算出目标实际距离.实验结果表明该方法不但减少了人为参数指定,并且提高了特征点匹配效率,测距精度能够达到94%以上,满足类人机器人高精度测距和实时性要求.
类人机器人;双目视觉;目标识别;双目测距;立体匹配
基于双目立体视觉的测距技术是国内外学者研究的主要热点,在机器人定位、导航、避障以及工业技术测量等领域有着广泛的前景[1].基于机器人的双目立体视觉技术从两个不同的视角去捕获世界中的同一个物体,从而得到不同的感知图像,最后依据三角测量的原理得出两幅图像的位置偏差,从而得到物体的三维坐标[2].文献[3]提出了一种用张正友棋盘标定法与“绝对误差累计”的小窗口匹配法相结合的方法来实现双目立体视觉的测距.文献[4]采用基于外极线约束和灰度相关性的立体匹配算法.在双目测距的研究中,立体匹配可以说是最困难、最热门的研究问题之一.为了能够获得更好的匹配效果以及使得测距更加精准,在进行特征点提取与匹配之前,本文采用基于局部二值模式算子(LBP)中旋转不变统一模式算子和优化后支持向量机(SVM)的方法来对目标进行识别.这样则无需人为的去选择目标点或线区域,只需对少量的特征点进行匹配,从而提高了计算效率.本文基于双目视觉原理,对类人机器人测距的方法进行了改进,在一定程度上,提高了类人机器人测距的效率和准确性.
双目立体视觉属于机器视觉的一种重要形式.双目立体成像原理图如图1所示.2台焦距均为f且平行放置的摄像机在同一时间获取同一物体P;基线距B为左摄像头的投影中心与右摄像头的投影中心之间的距离,分别在2个摄像机上获取了物体P的图像且分别成像于位置O1(X2,Y2) X1,Y1,O2(X2,Y2).
图1 双目立体成像Fig.1X-Z plane imaging of binocular stereo
根据三角形相似关系,由此可以得到
其中视差D=X1-X2,公式中B和f可以在立体标定中得到,X1与X2则在图像处理中得到.因此本文只需要找到目标物体在左右两摄像机上的投影并计算出其坐标,便可实现距离的测量.
摄像机标定的主要目的是为了获得设备的内参数和表示两个摄像头相对位置的外参数,可以由已知特征点的世界坐标以及图像坐标来求得摄像机参数[5-7].其中内参数有:焦距fx、fy和基准距u0、v0;外参数有:旋转矩阵R和平移向量T.本文采用的是棋盘标定法[8]来对摄像机进行标定.利用对10幅以上不同方向的棋盘提取若干角点.由于相机成像可以被看作是针孔模型,依据成像原理可得图像坐标与世界坐标之间的转换关系如下:
其中,[u v 1]T为图像坐标,[XwYwZw1]T为世界坐标.
一般摄像机很难保证左右摄像机图像严格的平行对准,为了避免畸变,需要通过数学计算的方法来校正图像,从而使得左右摄像机图像极线平行,这样可以大大节省匹配时间.
在实际的赛场上,由于足球会受到光照的影响而引起较大的颜色畸变,单纯地依靠颜色对目标球体进行识别效果不佳.由于球体表面有显著的纹理特征,因此本文使用LBP算子[9]提取样本的纹理特征并利用SVM对检测对象进行分类的方法来实现对目标球体的识别.
3.1 LBP算子获取样本纹理特征
首先在HSL(色相、饱和度、亮度)空间下对图像做分割处理,初步确定待检区域.将待检区域转化为灰度图像,以备下一步操作.然后利用LBP算子提取该区域的纹理特征.局部二值模式(LBP)纹理描述算子分为灰度不变LBP算子、旋转不变LBP算子、uniform旋转不变LBP算子3种方法.经过实验发现,其中,uniform旋转不变LBP模式更能满足目标球体在平移、旋转时特征不变的需求,并且计算量最小.
提取LBP的特征向量的具体步骤如下:首先将待检部分划分为16×16的小模块;然后将每个小区域中的每个像素依次与相邻位置8个像素的灰度值进行比较,如果相邻像素点的灰度值大于中心像素点的灰度值,则该像素点所在的位置被标记为1,否则标记为0.因此,经过计算可以产生8位二进制数,从而该区域中心位置像素点的LBP值可以获得;再计算每个小区域的直方图,并对其进行归一化处理;最后将每个小区域的统计直方图组合成为一个特征向量,即可得到整个待检区域的纹理特征向量.
目标识别算法具体流程,如图2所示.
图2 目标识别算法流程Fig.2Flowchart of target recognition algorithm
3.2 GA优化的SVM分类模型
利用SVM分类器对样本进行分类,SVM[10]通过某一种事先选择的非线性映射将输入向量映射到一个高维特征空间,在此构造一个最优分类超平面[11].首先需要对训练样本以及测试样本进行特征数据归一化预处理;然后对样本进行分类,SVM分类决策函数为:
其中,非线性变换通过核函数来实现,本文内积核函数选用径向基核函数(RBF),公式如下:
核函数参数的选取十分关键,将影响到分类器的性能,在所有的参数中最重要的参数是模型的惩罚因子C以及核函数参数g.本文利用遗传算法GA优化SVM模型的参数[12],具体步骤如下:
1)对C和g进行二进制编码,从而得到初始化的种群;
2)对种群中的各染色体进行解码,从而获得C和g的值;
3)利用训练样本集来训练SVM分类器模型,并利用训练好的模型来计算测试样本的识别率;
4)最后依据识别率来作为遗传算法是否终止的条件,若满足条件则停止迭代,并输出最优参数,否则继续遗传迭代,直至得到最优解为止.
对于已经识别为目标的图像,使用霍夫圆拟合确定目标球的具体位置.
图像匹配的实质在于已知其中一幅图像中的一点,去寻找另外一幅图像中相对应的点,从而满足这两个点为空间中同一个点的投影[4].机器人在实际的运动中必然会受到光照强度的影响或者会存在视角的改变,而sift算法无论改变旋转角度,图像亮度还是拍摄视角,仍然能够得到较好的检测效果.但是实际上机器人所识别的图像中大量的包含着相似的结构,为了提高特征匹配的精度,选用基于极线约束的SIFT特征匹配算法[13]对左右摄像机图像进行立体匹配.根据目标识别中所得到的目标球的位置,利用此算法检测并选取目标球上少量特征点,将这些特征点标识在图像上,最后根据特征点与双目图像的相对目标关键点进行匹配.算法的主要步骤如图3所示.
图3 基于极线约束的SIFT特征匹配算法主要流程Fig.3Main process of SIFT feature matching algorithm based on pole constraint
基于双目视觉基本原理,在原有的单目类人机器人上安装了两个高清摄像头,左右两个摄像头处于同一平面水平位置,其中心距离为6 cm,距离地面的高度为40 cm.同时从双目摄像机中获取两幅图像,分别对它们进行目标识别、特征提取和立体匹配等操作,并得到相应二维像素匹配点坐标;然后将匹配点坐标带入摄像机标定后所建立的方程中构建方程组进行求解,即能得到相应特征点的三维坐标,以此计算出双目类人机器人与目标的距离.
在进行立体标定之前需要对两个摄像机进行单个的标定.在程序计算之后,会得到摄像机的内外参数,右摄像头与左摄像头的标定方法相同.实验之后,分别保存左右摄像头参数结果.通过两台摄像机标定的结果来进行立体标定,从而得到表示两个摄像头之间的位置关系的旋转矩阵和平移向量,导入OpenCV中,结果如下.
左摄像头内参数矩阵:
右摄像头内参数矩阵:
本文按文献[14]中提及的校正算法对左右图像进行校正.在OpenCV中提供了一个校正算法,通过调用cvStereoRectify函数、cvInitUndistortRectify-Map函数、cvRemap函数来消除畸变,从而进行校正.经过立体校正后的左右摄像机图像如图4所示.
图4 校正图像Fig.4Images after correction
机器人目标识别阶段,首先在HSL空间下对图像进行分割,初步确定待检区域,并将待检区域转化为灰度图.然后利用LBP算子获取样本纹理特征,本文对LBP算子的3种方法进行了实验,分别为灰度不变LBP、旋转不变LBP、uniform旋转不变LBP,效果如图5所示.
图5 LBP算子实验结果(a)灰度不变LBP纹理特征;(b)旋转不变LBP纹理特征;(c)uniform旋转不变LBP纹理特征Fig.5Experimental results of LBP operators(a)Texture feature of gray-scale LBP;(b)Texture feature of rotational invariant LBP;(c)Texture feature of uniform rotational invariant LBP
其中采样点数量均为8,采样半径均为10.由实验结果可知,3种LBP算子分别得到256个特征、36个特征、9个特征,分别用时60 ms、52 ms、49 ms.因此选取计算量小、耗时短的uniform旋转不变LBP算子来提取样本纹理.
接下来使用优化后的SVM分类模型对样本进行训练和测试.本文选取200个训练样本,其中150张为目标球图片,50张为非目标球图片,经LBP处理后,将纹理特征矩阵输入SVM进行训练.将测试样本集的纹理特征矩阵输入GA优化的SVM分类模型进行分类处理,并输出识别结果和识别率.其中,GA终止代数设为100,种群大小设为50,交叉概率为0.4,变异概率为0.01,选择算子采用轮盘赌算法确定.实验发现大约21次左右即可达到最优分类精度,平均识别率为92.7%.对于已经识别为目标的图像,使用霍夫圆拟合确定目标球的具体位置,效果如图6所示.
图6 霍夫圆拟合确定目标球位置Fig.6Determined target ball position by hough circles
由标定部分的分析可得转换关系,根据此关系代入已知点的像素坐标可得,左目摄像头的坐标转换公式为:
右目摄像头的坐标转换公式为:
采用最小二乘法求解[15][X,Y,Z]T.再根据相对位置求出摄像机到目标的距离.为了验证本文所使用算法的有效性,将本文算法与所对比的算法分别进行实验,运算结果如表1所示.其中,算法1为张正友棋盘标定法与“绝对误差累计”的小窗口匹配法相结合的双目测距方法;算法2将改进的平面摄像机标定法与基于外极线约束以及灰度相关性特征点匹配相结合的双目视觉目标定位方法;算法3为本文算法.
表1 测距结果Tab.1Ranging resultsmm
对3种算法的误差进行分析,结果如图7所示.其中,星号线为算法1的误差,虚线为算法2的误差,实线为本文测距算法的误差.本文算法平均误差相比算法1和算法2分别下降了18.9%和23.9%.由测距结果可知,实现了对目标的测距,误差在允许的范围内,基本上满足了双目类人机器人对目标测距的要求.由误差对比可知,本文所使用的方法在大部分情况下测距的精度更高、稳定性更好.
图7 三种算法的误差对比Fig.7Error comparison of three algorithms
对3种算法的时间复杂度进行分析,结果如图8所示.其中,统计了4组实验数据,实际距离分别为300 mm、700 mm、1 500 mm、2 300 mm时3种算法运行的时间.本文算法运行时间相比算法1和算法2分别下降了25.6%和54.1%.由数据结果可知,运行时间在允许的范围内,基本上满足了双目类人机器人对目标测距的实时性要求.由时间复杂度对比可知,本文所使用的方法在保证较高测距精度的情况下,降低了运算的时间复杂度.
图8 3种算法运行时间对比Fig.8Comparison of running time of three algorithms
鉴于双目视觉系统模拟了人眼及众多生物的视觉处理方式,在视觉处理技术日趋成熟的今天,双目视觉乃至多目视觉将会成为未来视觉技术发展的风向标,并被广泛运用到各个领域.本文建立了一套基于改造后的双目类人机器人实验平台,提出了一种简单可靠地对目标进行识别、测距的方法.本文提出的目标识别的方法相比较于传统方法,在精度以及计算速度上都有了明显的提高.该方法经过多次测试,测试结果表明,该方法在类人机器人测距中具有测量精度较高、实时性好、对目标的识别更为准确等优点.本文算法提高了系统的鲁棒性并且取得了较为理想的结果.今后可以进一步研究目标运动轨迹预测,从而实现机器人完成高难度动作.
[1]李旭港.计算机视觉及其发展与应用[J].中国科技纵横,2010(6):42.
LI X G.Computer vision and its development and application[J].China Science&Technology,2010(6):42.
[2]张蓬,王金磊,赵弘.机器人双目立体视觉测距技术研究与实现[J].计算机测量与控制,2013,21(7):1775-1778.
ZHANG P,WANG J L,ZHAO H.Research and implementation of robotic binocular visual distance measuring technology[J].Computer Measurement& Control,2013,21(7):1775-1778.
[3]沈彤,刘文波,王京.基于双目立体视觉的目标测距系统[J].电子测量技术,2015,38(4):52-54.
SHEN T,LIU W B,WANG J.Distance measurement system based on binocular stereo vision[J].Electronic Measurement Technology,2015,38(4):52-54.
[4]时洪光,张凤生,郑春兰.基于双目视觉的目标定位系统设计[J].现代仪器与医疗,2010,16(4):45-47.
SHI H G,ZHANG F S,ZHENG C L.Design of target location system based on binocular vision[J].Modern Instruments&Medical Treatment,2010,16(4):45-47.
[5]姜雨彤,杨进华,刘钊,等.双目CCD测距系统的高精度标定[J].计算机工程,2013,39(7):228-232.
JIANG Y T,YANG J H,LIU Z,et al.High precision calibrationofbinocularCCDrangingsystem[J]. Computer Engineering,2013,39(7):228-232.
[6]陈念,李进,王海晖.双目立体视觉测量系统的研究与实现[J].武汉工程大学学报,2011,33(5):101-105.
CHENN,LIJ,WANGHH.Researchand implementationofmeasurementsystembasedon binocular stereo vision[J].Journal of Wuhan Institute of Technology,2011,33(5):101-105.
[7]杨明,王海晖,陈君,等.双目标定系统精度提高的方法[J].武汉工程大学学报,2012,34(1):69-73.
YANG M,WANG H H,CHEN J,et al.Methods of accuracy improvement based on binocular calibration system[J].Journal of Wuhan Institute of Technology,2012,34(1):69-73.
[8]汪柏胜,高幼年,沈文忠.基于OpenCV的摄像机标定方法的实现[J].上海电力学院学报,2010,26(4):383-386.
WANG B S,GAO Y N,SHEN W Z.Method on camera calibration based on OpenCV[J].Journal of Shanghai University of Electric Power,2010,26(4):383-386.
[9]OJALA T,PIETIK,LNEN M,et al.Multiresolution gray-scale and rotation invariant texture classification with local binary patterns[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2002,24(7):971-987.
[10]BURGES C J C.A tutorial on support vector machines for pattern recognition[J].Data Mining and Knowledge Discovery,1998,2(2):121-167.
[11]严云洋,唐岩岩,刘以安,等.使用多尺度LBP特征和SVM的火焰识别算法[J].山东大学学报(工学版),2012,42(5):47-52.
YAN Y Y,TANG Y Y,LIU Y A,et al.Flame detection based on LBP features with multi-scales and SVM[J]. Journal of Shandong University(Engineering Science),2012,42(5):47-52.
[12]赵强,崔畅.基于多尺度LBP和SVM的掌纹识别算法研究[J].激光杂志,2015(1):27-30.
ZHAO Q,CUI C.Research of palmprint identification algorithm based on multiscale LBP and SVM[J].Laser Journal,2015(1):27-30.
[13]吴楚,刘士荣,杨帆,等.基于极线约束的SIFT特征匹配算法研究[J].南京理工大学学报(自然科学版),2011,35(增刊):78-84.
WU C,LIU S R,YANG F,et al.Research on SIFT featurematchingbasedonepipolarconstraint[J]. Journal of Nanjing University of Science and Technology(Nature Science),2011,35(suppl.):78-84.
[14]BRADSKIG,KAEBLERA.LearningOpenCV:computer vision with the OpenCV library[M].Beijing:Tsinghua University Press,2009.
[15]邹乐强.最小二乘法原理及其简单应用[J].科技信息,2010,23(2):282-283.
ZOULQ.Leastsquaremethodanditssimple application[J].Science&Technology Information,2010,23(2):282-283.
本文编辑:陈小平
Application of Binocular Vision Range Measuring in Humanoid Robots
YUAN Quan1,ZOU Chong2,MIN Feng2*
1.Faculty of Information Engineering and Automation,Kunming University of Science and Technology,Kunming 650504,China;
2.School of Computer Science and Engineering,Wuhan Institute of Technology,Wuhan 430205,China
To realize the idea that humanoid robots can recognize complicated targets with high accuracy and measure the actual distance of the target,a binocular method was proposed for recognizing target and measuring distance.Firstly,the camera calibration was realized by the checkerboard method to capture images afterwards. Then Local Binary Pattern operator and optimized Support Vector Machine were employed to identify the target. On the basis of recognition,Scale-invariant Feature Transform algorithm was used to match feature points and to determine the actual distance based on the principle of triangulation.Experimental results show that this method can reduce the designation of artificial parameters and improve the efficiency of matching features,and the accuracy of measuring actual distance is more than 94%,satisfying real-time and high-accuracy requirements of humanoid robots.
humanoid robot;binocular vision;object recognition;binocular ranging;stereo matching
TP242
A
10.3969/j.issn.1674-2869.2017.02.016
1674-2869(2017)02-0193-06
2016-11-01
袁泉,硕士研究生.E-mail:1978005001@qq.com
*通讯作者:闵锋,博士,副教授.E-mail:23018298@qq.com
袁泉,邹冲,闵锋.双目视觉在类人机器人测距中的应用[J].武汉工程大学学报,2017,39(2):193-198.
YUAN Q,ZOU C,MIN F.Application of binocular vision range measuring in humanoid robots[J].Journal of Wuhan Institute of Technology,2017,39(2):193-198.