NAO的单目视觉空间目标定位方法研究
2015-05-05王中成赵学增
王中成,赵学增
(哈尔滨工业大学机电工程学院,黑龙江 哈尔滨150001)
0 引言
在机器人定位技术研究中,随着图像处理和测量定位方法的不断发展和完善,基于视觉的定位技术具有重要的应用意义。通过视觉传感器获取环境图像进行处理,对目标的距离、位置和姿态等空间信息的提取完成对目标的定位,对机器人的协作控制有至关重要的作用[1]。机器人单目视觉定位方法涉及到图像处理和单目视觉定位[2]2个方面。
单目视觉系统作为典型的视觉定位系统[3],基于单目视觉的定位技术已经比较成熟,针对目标位置计算的理论模型有了一些研究成果[4]。然而,在许多研究中的定位模型都忽略了实际目标物体的高度,都是以平面点定位模型为基础[5]。在基于NAO队形保持的研究中,要求定位的目标具有一定高度,因此基于平面目标的定位和测距的计算方法,无法满足定位要求。
在此,利用图像处理方法实现目标识别,获取了目标中心在图像中的坐标;然后采用一种简单、迅捷空间点定位模型,建立了空间固定高度点的水平面位置坐标和其投射到图像中点坐标之间的转换关系。利用图像信息获取了实际目标在NAO机器人坐标系下的水平面位置坐标,并对相关的实验数据结果进行了分析,能够满足NAO队形保持的定位精度要求,完成了NAO的基于视觉的目标识别与定位的任务。
1 图像预处理
NAO机器人支持的彩色图像格式主要有YUV422、RGB[6]和 HSV。HSV 颜色空间受光源的影响相对很小,在一定程度上减弱了光源对目标识别影响,增强了NAO机器人视觉系统对环境的适应能力。因此,以HSV颜色空间作为NAO机器人视觉图像处理的颜色空间。
图像预处理作为目标识别的基础,是后续对图像进行处理的数据模块。图像预处理主要包含3个方面的内容,一是图像的分割,二是噪声处理,三是进行阈值确定。
在NAO机器人队形保持任务的场景中,所要识别的NAO机器人和障碍物都具有特定的相互差别较大的颜色特征,因此基于颜色的图像分割[7]能够提高机器人视觉识别的效率。
中值滤波[8]是一种典型的非线性滤波技术,在去除脉冲和椒盐噪点[9]的同时又能保留图像边缘的细节,对于去除椒盐噪声尤其有效。在此,对经过颜色分割的图像进行中值滤波实现除去噪声,该方法具有针对性,简单有效。
如何根据阈值将目标从背景中分离出来,是机器人目标识别的重要任务之一[10]。对于彩色图像,难以根据1个阈值进行二值化实现目标物体分离,需要对3个分量的阈值都进行采样的标定。在实际环境的光照条件下,选取目标的颜色区域,统计区域中各点的颜色特征,获得HSV空间中每个分量的上限值与下限值。按照初设的阈值,再对图像进行二值化处理,观察效果并及时对阈值进行调整,当效果理想的时候记录相应的阈值作为最终确定的阈值。
2 目标识别
在NAO多机器人队形保持任务中,要求NAO能识别出其他NAO机器人。NAO机器人身体有红色圆形标记,要求图像处理部分给出红色圆形标记中心在图像中的坐标。在图像预处理阶段已经将图像红色的区域标记出来,但这些区域包含了干扰。需要进一步通过几何形状特征进行提取,这里通过Hough[11]。圆检测方法可以实现对目标进一步的提取,并获得其中心坐标。
Hough圆变换在检测形状过程中,图像的每个边界像素点(x,y)都根据式(1)进行判断,如果满足式(1),累加器的值就相应加1,最后选出1组峰值就是需要的圆心坐标和半径。检测的圆用3个参数来表示,即C(x0,y0,r)。
从NAO获取的图像经过预处理和霍夫圆检测后如图1所示。从图1可知,虽然图像预处理并未完全去除掉椒盐噪点,但经过霍夫圆变换检测后可以很好地将圆形目标识别出来。
图1 圆形目标检测
3 基于单目视觉定位模型
3.1 图像坐标系
以图像左上角为原点,以像素(px)为单位,建立坐标系u-v。像素的横、纵坐标分别是其图像数组中所在的列数与行数。
实际希望获得的是目标中心在图像的坐标值,这需要将获得(u,v)转换成相对于图像中心的坐标值,转换关系如式(2)。u0、v0为图像中心像素坐标,dx、dy为一个像素在x和y轴方向上的物理尺寸。
3.2 单目视觉的定位模型
当摄像机的目标中心高度一定时,以NAO的机器人坐标系为实际三维空间坐标系,利用一种简单的小孔透视模型,通过图像坐标与实际空间坐标转换,实现对空间目标点的定位。
在对目标物进行机器人坐标下的定位时,需要满足条件:目标高度低于相机的高度。
单目视觉空间点的定位模型如图2所示。
图2 空间点定位模型
NAO机器人世界坐标系为OXwYwZw,图像坐标系为O1xy。图2中角度关系式如下,所得P点坐标为(Xw,0)。
y由式(2)计算获得,得到P点的横坐标如式(4),fy=f/dy。
图2中水平面上的点Q坐标为(Xw,Yw),其中Yw=PQ,PQ根据相似定理可以计算获得式(5),OP、OP1可以根据式(6)、式(7)计算获得,在图像中获得的Q1坐标是像素的个数,并不是实际的距离。根据式(5)计算得到Q点的纵坐标如式(9)。
对于空间的点Q′在平面投影N 的坐标为(X′w,Y′w),N Q′是物体的高度h1,高度必须是已知的。根据三角形的相似定理有:
所以空间点Q′的横纵坐标为:
H为摄像机高度参数,NAO机器人可以通过内部函数获得;h1为目标的高度,是预先设定的;α为NAO机器人摄像机光轴与水平线之间的夹角,可以设定;fy为NAO摄像机的内参数,可以通过简单的实验进行标定。
4 定位实验
首先要对NAO机器人的参数fy进行标定,然后根据目标在图像中的坐标(u,v),利用式(4)、式(9)、式(11)和式(12),计算目标物在 NAO 机器人坐标系下的位置坐标。
4.1 实验环境
实验首先调节设定NAO机器人摄像机的光轴与水平线的夹角为0,然后保证机器人目视在前方,在机器人前方设置固定高度的目标物。具体实验环境如图3所示。
图3 实验环境
4.2 标定参数fy
为了实现对参数fy进行标定,需要机器人目视前方,使摄像头的光轴与水平面平行,对应的参数确定模型如图4所示。
图4 参数标定模型
墙面贴的圆形标记的半径为R,图像处理获取并识别出的圆半径r,根据相似原理有:又fy=f/dy,可得到fy为:
在机器人前方贴上直径为60mm的圆形贴纸,高度为40cm,机器人距墙面不同距离d(单位为cm)下,识别出圆形标记获取的半径数据如表1所示。
表1 检测结果
将表1中不同距离与图像中圆的半径代入式(14)计算fy,然后求出其算术平均值,得到欲标定的fy=490。
4.3 圆形标记坐标的求取
圆形标记距地面高度40cm,位置不变,改变机器人的位置,拍摄获取机器人在不同位置时的图像。利用图像处理技术,获取圆形标记的圆形坐标在图像中的坐标(u,v),代入式(4)、式(9)、式(11)和式(12),计算圆形标记在机器人坐标系下水平面坐标位置。
4.3.1 实验一
实验一是指目标在机器人X方向距离不同,Y方向距离相同的实验。
将目标分别置于机器人X方向上50cm、70 cm、90cm,在Y方向上距离为0时,可得每个位置取10组数据如表2所示。
表2 实验一结果
4.3.2 实验二
实验二是指目标在机器人X方向距离相同,Y方向距离不同的实验。
将目标置于机器人X方向上距离为90cm,在Y方向上的距离为0cm和20cm和40cm时,可得每个位置取10组数据如表3所示。
表3 实验二结果
续表
4.3.3 实验结果分析
通过实验结果获得数据发现,NAO通过视觉获得目标在其坐标系内的位置存在着误差,在X、Y方向的误差不会超过5cm。而且在X方向上误差会随着目标在Y方向的距离变大而逐渐减小,在Y方向上的误差也会随着X 方向的距离增大逐渐减小。
造成这些误差及误差变化的原因有:机器人即使不在行走,腰部会发生晃动导致摄像机的高度发生变化;在图像处理的过程中,由于存在着干扰色,导致霍夫变换检测到的圆的中心坐标发生变化;实验过程中,机器人摆放的位置由于测量存在着误差;实际距离较大时,减小了图像处理过程中存在的误差,使得获得的位置坐标与实际距离之间的误差减小。
5 结束语
结合图像处理方法与单目视觉测距的方法,能够实现NAO利用视觉获取目标在其坐标系内的位置信息。通过实验结果的分析发现,在一定的范围之内,获取的位置坐标误差会随着距离的增大而减小,Y方向上的误差要比X方向的误差小,并且误差都小于5cm。这样的结果证明,视觉定位能够满足NAO在队形保持中的定位要求,达到了预期的目标。
[1] 李玉山.数字视觉视频技术[M].西安:西安电子科技大学出版社,2006.
[2] 郭磊,徐友春,李克强,等.基于单目视觉的实时测距方法研究[J].中国图象图形学报,2006,11(1):74-81.
[3] Aider O A,Hoppenot P,Colle E.A model-based method for indoor mobile robot localization using monocular vision and straight-line correspondences[J].Robotics and Autonomous Systems,2005(52):229-246.
[4] Rorer E,Lhuillier M,Dhome M,et al.Monocular vision for mobile robot localization and autonomous navigation[J].International Journal of Computer Vision,2007,74(3):237-260.
[5] 王牛,李祖枢,武德臣,等.机器人单目视觉定位模型及其参数辨识[J].华中科技大学学报,2008,36(10):57-60.
[6] Pal N R,Pal S K.A review on image segmentation techniques[J].Pattern Recognition,1993,26(9):1277-1294.
[7] Yanowitz S D,Bruckstein A M.A new method for image segmentation[C]//9th International Conference on Patter Recognition,1988:270-275.
[8] Wang C,Yang F,Li L,et al.A new kind of adaptive weighted median filter algorithm[C]//2010International Conference on Computer Application and System Modeling,2010.
[9] Wang Y,Liang D,Ma H,et al.An algorithm for image denoising based on mixed filter[C]//The Sixth World Congress on Intelligent Control and Automation,2006,2:9690-9693.
[10] 刘柞时,胡发族.足球机器人视觉图像的快速识别[J].计算机工程,2007,33(17):234-236.
[11] 陈燕新,戚飞虎.基于随机Hough变换的快速圆检测
方法[J].上海交通大学学报,1998,32(10):17-20.