方宝富1, 2,潘启树1,洪炳镕1,钟秋波1,王伟光1
一种基于全维视觉与前向单目视觉的目标定位算法
方宝富,潘启树,洪炳镕,钟秋波,王伟光
(1. 哈尔滨工业大学计算机科学与技术学院,黑龙江哈尔滨150001;2. 合肥工业大学计算机与信息学院,安徽合肥230009)
在机器人足球中,机器人周围的环境信息被颜色特殊化。在对基于颜色阈值分割的分析基础上,针对不同光线的情况下提出了改进的颜色阈值分割法,实现了全维视觉和前向单目视觉对场上不同颜色目标的识别。在此基础上实现了前项单目视觉和全维视觉的目标定位,利用Kalman滤波算法,实现二者的信息融合,从而实现更准确的目标定位信息。实验结果表明基于此算法可以弥补中远距离的目标信息的准确度,证明本算法是可行且有效的。
数字图像处理;卡尔曼滤波;定位;颜色阈值
在机器人足球、机器人追捕、机器人编队等机器人应用系统中,关键技术之一就是对环境信息的识别。环境识别的主要任务是快速准确对环境中动态及静态目标实现定位,一般都是通过机器人配备的传感器如摄像机、激光测距仪、红外测距仪里程计等获得数据然后分析而得。本文是基于摄像机实时采集图像数据、图像处理和识别场地中的目标,然后现实机器人足球中的目标定位。
对于基于视觉系统获得信息的机器人来说,目标识别是建立在图像分割的基础上的,图像分割从可以看成是将图片的像素根据图像的特征,按照一定的原则方法进行分类的过程,分类所依据的特性:灰度、颜色、多谱特性、空间特性和纹理。目前图像分割算法一般按照图片像素的不连续性和相关性,可以分为两类:一类是基于像素的亮度或值的不连续变化来分割图像,如基于点、线和边缘的检测;另一类是根据应用规则来分割图像的相关区域,如基于阈值选择、区域生长和聚类的检测方法。
在机器人足球场地内,各个不同目标用不同的颜色加以区分,本文利用目标的颜色信息,以颜色特征作为图像分割的依据,提出基于全维视觉和前项单目视觉的目标定位算法。颜色空间也称为颜色模型,如RGB、YCrCb、HSV、HIS、CMY等,它们之间可以相互转换。最常用到的是RGB颜色空间,但是RGB颜色模型存在各分量高相关性的缺点,即在相同颜色在不同的光照条件下,得到的RGB颜色分量变化很大,即受光照影响较大,而YUV颜色空间则较好,本文则采用YUV颜色空间。
1.1 图像预处理
视频采集的RGB图像是采用的RGB24格式,即RGB每个分量都是由8位数据位来表示的,这样每个分量都有256个级别,图像数据转换成YUV颜色空间之后,每个分量仍然是256个级别,即每个分量由8位数据位来表示,所以将转换后的YUV颜色空间数据也像原RGB图像的数据那样保存,大小一样,因此可以将图像数据进行替换,图像的其它信息如图像大小、尺寸、格式等数据还保留,以供后续程序进行目标识别时方便使用。
图像预处理的主要工作是RGB颜色空间图像数据转换为YUV颜色空间,这个转换为线性变换,如公式(1)所示
(1)
1.2 基于颜色阈值的目标识别
文献[6]中颜色查询表内存储的是目标颜色的YUV分量范围,如图1所示,形成了一个阈值长方体,若一个像素值在这个阈值长方体内,则说明该像素很可能就是目标像素点,利用颜色查询表便能够快速的判断一个YUV颜色空间的像素值是否属于目标的颜色空间域。但该算法存在一个潜在的问题,由于颜色查询表存储的是YUV分量范围,于是在光线较暗的情况下对目标颜色进行标定时,可能会出现两个目标的YUV分量范围会有交叉部分,如图2(a)所示,当交叉的部分较小时,对目标的识别没有太大影响,但当交叉的部分较大时,对目标的识别有很大的影响;若发生这种情况只能再次标定目标,并减小标定范围,但减小标定范围时,可能会发生目标识别不完整、不准确,这是一个矛盾。于是本文提出了改进的颜色查询表,即让颜色查询表内存储目标颜色的YUV离散分量范围,转化为颜色空间投影如图2(b)所示,即一个目标颜色对应的是一个或多个阈值长方体。若在进行目标颜色标定的时候,发生上述问题时,即会在识别窗口显示出错误识别的颜色。
图1 阈值长方体投影I
(a) (b)
基于颜色的目标识别要实现多个目标的同时识别,该算法由3个环节组成:① 基于目标颜色的聚类,即实现图像分割;② 目标区域提取与生长;③ 多目标的识别。在识别目标时候采用了2种不同的视觉图像,在机器人头顶上的全维视觉图像和在机器人前方的前向视觉图像。本文分别阐述了如何实现全维和前向的定位方法,最后采用Kalman滤波实现二者的信息融合,从而得到更加准确的目标位置。
2.1 全维视觉系统的目标定位
2.1.1 角度定位
当摄像机的中心对准全维反射镜的轴心时,根据全维视觉系统反射镜的对称结构,光线直线传播及小孔成像原理可知,景物的形变主要发生在反射镜的纬度上,而在经度上的形变很小,所以目标的方向定位比较准确。因此,可以利用反正切函数求出目标的角度。
公式(2)中,(,)和 (x,y)分别是目标质心和全维视觉中心相对于以图片左下角为原点的笛卡尔坐标系中的坐标。是机器人极坐标系中的极角,机器人坐标系如图3所示。
(a) 源图像坐标系 (b) 机器人坐标系
图3 坐标变换示意图
2.1.2 距离定位
利用摄像机参数,全维反射镜的曲面方程,以及全维摄像机的高度等数据,推导出了可以用于全维视觉定位的公式。但受全维视觉系统的加工精度、摄像机畸变以及不易维护等因素影响,在实际使用的时候采用插值的方法进行全维视觉系统的目标定位,并且通过实验比较了双曲线插值与线性插值的性能,在绝对误差和相对误差比较接近的情况下,最终选用了方法简单的线性插值,公式如下公式3所示
其中 (x,y)和 (x,y)分别是目标质心和全维视觉中心相对于以图片左下角为原点的笛卡尔坐标系中的坐标,是第次插值时的机器人极坐标系中的像素距离,d是第次插值时的实际距离。
2.2 前向单目视觉的目标定位
前向单目视觉的目标定位就是通过前向单目视觉的目标识别后获得的二维图像数据转化为实际环境的三维数据信息的过程,通过摄像机的内外参数、俯仰角和高度等信息,利用立体几何的知识可以推导出转换公式。
如图4所示,摄像机在地面上的投影点为原点,建立一个机器人直角坐标系,以机器人右侧为轴正方向,其正前方为轴正方向;成像平面是以中心为原点的直角坐标系。是摄像机的俯视角,是摄像机到水平面的距离,∠是摄像机的水平视角,∠是摄像机的垂直视角。单目摄像机目标定位就是要把成像平面上的点(,),变换到机器人坐标系的坐标(,)。利用立体几何知识,得到目标定位的如公式(4)
图4 单目摄像机定位模型
,为每单个像素的水平和垂直视角:
但这种转换方法需要一种约束,即假定所有的目标点都在水平面上,当目标在水平面上时,定位的绝对误差随目标与机器人的距离的增加而增大,这是由于单位像素内的信息量相对增大,失真较多造成的;当物体是具有一定高度的物体时,如球等,则在距离机器人越近,相对误差就越大,这是由于这种方法将所有的目标都投影到地平面上,对具有一定高度的物体定位时,同样将物体的高度信息也投影到了地平面上,这样就导致了误差增大。解决这种问题的方法是,不使用目标识别后的质心数据进行目标定位,而是采用目标的最低点数据进行定位,即将目标约束在了地平面上了,这种方法适用于对立柱、球门等侧表面直接与地面相接的物体定位。但当物体是球,而且是直径比较大的时候,就需要进行修正,本文提出利用目标的先验知识修正误差的方法。
如图5所示,把球投影到¢平面上,利用先验知识球的半径,以及角度∠'',求出|''|,即在轴方向上的修正值;再在立体图形中,再利用立体几何知识求出||,即在轴方向上的修正值。修正后的定位公式如公式(5)
其中是摄像机的俯视角,是摄像机到水平面的距离,、为每单个像素的水平和垂直视角:, (,)是成像平面的坐标,f(,)和f(,)分别是修正后的球在和方向上的定位数据。
图5 单目摄像机修正定位模型
但是,在实验室灯光稳定的环境下,前向摄像机对球的识别后的质心,总体上随距离的增加而降低,这是由于当球离机器近时,球的上表面不是很亮,而下部暗,识别的球的质心偏高;当球离机器远时,球的上表面变得光亮,识别的球的质心偏低,所以本文针对这种情况对式(5)中的f(,)进行了线性修正,如式(6)
2.3 基于信息融合的目标定位
由于在全自主足球机器人上安装了全维视觉和前向单目视觉两种视觉,而且两种视觉的视野有重合的区域,如图6所示,因此在对目标定位时,需要采用一定的方法来使用视觉系统对目标的定位数据。本文提出一种基于数据融合的目标定位算法,采用卡尔曼滤波器算法,对全维视觉与前向单目视觉的定位信息进行融合。
图6 视觉系统视野
卡尔曼滤波器是根据系统的状态方程和测量方程,得出系统状态的最优估计的数学方法,是对系统噪声、测量误差的不确定性描述,它是以最优的方式融合传感器数据与系统状态。在卡尔曼滤波理论中,被考查的系统被假定为线性系统且具有高斯白噪声,该方法还可以将多个传感器的测量值优化的合并成对系统状态的估计。
假设系统有来自两个传感器的对目标的测量值和,方差分别为和,因此可以利用这两个测量值分别得到对目标的估计
用加权最小平方方法得到
(8)
其中是的权重,对求导,并使其等于零,可以得到最小的误差估计
(10)
取w=1/σ状,代入式(10)得到
按卡尔曼滤波的状态方程形式可以写出
(12)
由于在全自主足球机器人的比赛中,自身与球的运动都可以看作是随机运动,很难求出置信度高的目标的位置的测量值的方差,但是可以根据实验求出测量噪声的方差,因此两个传感器的噪声可以利用公式(12)融合。目标位置的真实值、测量值和噪声之间的关系如下
-=
其中为测量值,为真实值,为噪声,将其代入公式(12)得到
Z-=1-+K((2-) - (1-))=
1-+K(2-1) (14)
Z=1+K(2-1) (15)
公式(15)即为本文中的数据融合公式,其中都是根据全维视觉与单目视觉的定位实验数据算出的方差,由于1和2都是由传感器获得的测量值,且Z不作为系统的状态值成为下次滤波的输入,所以卡尔曼滤波增益在融合过程中保持不变,这样简化算法,计算速度快,是一种稳态卡尔曼滤波。
3.1 角度测量实验
角度定位实验是利用HIT-III型机器的全维视觉进行定位,选择的时间是晚上,室内环境为4盏日光灯,避免日光变化对目标识别产生影响。角度测量实验如图7所示。实验中,球做为目标,在机器人周围随机移动,共测量25组实验数据,试验结果如图8所示。
图7 实验过程说明
图8 角度实验结果
3.2 距离定位实验
距离定位实验是利用HIT-III型机器的全维视觉和前向单目视觉共同进行的定位。实验中,球做为目标,在机器人前方由近及远运动,如图9所示,共测量31组实验数据,图10是前向视觉识别结果和实际距离关系图,图11是全维视觉识别结果和实际距离关系图,图12是数据融合以后目标距离与实际距离关系图。
图9 实验过程说明
图10 前向视觉识别结果和实际距离关系图
图11 全维视觉识别结果和实际距离关系图
图12 数据融合以后目标距离与实际距离关系图
3.3 结果分析
由角度定位实验表明,全维视觉的角度定位准确度很高,最大误差不超过4°,且误差随球与机器人的距离的增加而减小,这是由于,当球离机器较近时,球的面积较大,识别的球的质心跳动较大,所以误差会较大;当球离机器较远时,球的面积较小,识别的球的质心跳动较小,所以误差会较小。通常当距离大于1.5米时,误差就会减小下来。
由距离定位实验表明,当球与机器人的距离小于2米时,全维与前向视觉的定位精度都比较高,且全维的精度要高于前向的。但当距离进一步增加时,全维和前向的误差都随之增大,全维的定位整体上大于真实距离,而前向的定位整体上小于真实距离,于是利用稳态卡尔曼滤波进行数据整合后,距离大于2米的定位数据驱于真实值。
本文提出了一种基于彩色图像的目标定位算法,主要解决机器人足球中准确定位目标问题;通过分别实现基于前向视觉和全维视觉的图像分割、目标的识别,继而实现在前向和全维图像下的目标定位,最后采用Kalman滤波方法实现二者之间的融合,试验结果表明该方法是有效的,能够实现目标的准确定位。
[1] Wang S, Siskind J M. Image segmentation with ratio cut [J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 2003, 25(6):675-690.
[2] 王书朋, 姬红兵. 自适应尺度目标跟踪算法[J]. 计算机辅助设计与图形学学报, 2008, 20(11): 1466-1470.
[3] 吕汉明, 王 扬, 王天军. 基于混合策略的区域增长三角网格重构算法[J]. 计算机辅助设计与图形学学报, 2006, 18(9): 1426-1431.
[4] Tkalcic M, Tasic J F. Colour spaces: perceptual, historical and applicational background [C]// EUROCON 2003, Computer as a Tool. The IEEE Region 8.Turku, Finncon, 2003: 304-308.
[5] 伍 翼. 基于机器视觉的移动机器人控制研究[D]. 武汉: 华中科技大学, 2005.
[6] 谭 琪. 基于全维视觉的目标识别与定位[D]. 哈尔滨: 哈尔滨工业大学, 2007.
[7] [美]Siegwart R, Nourbakhsh I R著. 自主移动机器人导论[M]. 李人厚译. 西安: 西安交通大学出版社, 2006. 235-251.
An Object Localization Algorithm Based on Omni-direction Vision and Front Monocular Vision
FANG Bao-fu, PAN Qi-shu, HONG Bing-rong, ZHONG Qiu-bo, WANG Wei-guang
( 1. School of Computer Science and Technology, Harbin Institute of Technology, Harbin Heilongjiang 150001, China;2. School of Computer and Information, Hefei University of Technology, Hefei Anhui 230009, China )
In the robot soccer system, the environmental information around the robot is characterized in colors. On the analysis of the color threshold segmentation, an improved algorithm practicable in different color environments is proposed to realize the identification of objects in different colors in the field through omni-direction vision and front monocular vision, by the use of which, the robot’s object location through the two visions can be realized and then a more accurate object location can be achieved by combining the information from the two visions through Kalman filter algorithm. Experimental results prove the feasibility and validity of this algorithm which improves the accuracy of medium-and-long-distance object location.
digital image processing; Kalman filter; localization; color threshold
TP 391
A
1003-0158(2011)03-0006-07
2009-12-18
上海市机械自动化及机器人重点实验室开放课题(Z0802);国家自然科学基金资助项目(60705015);安徽省自然科学基金资助项目(070412064)
方宝富(1978-),男,安徽枞阳人,讲师,博士研究生,主要研究方向为机器人视觉及多机器人协作与竞争。