智能空间下机器人环境建模中的非线性最优视觉标定新
- 格式:doc
- 大小:337.50 KB
- 文档页数:7
智能空间下机器人环境建模中的非线性最优视觉标定
申燚,胡海秀,孙小肖,丁前闯
江苏科技大学 机电与汽车工程学院
摘要:为了解决智能空间下服务机器人进行精确环境视觉建模时的标定问题,提出了一种改进的非线性最优标定算法。首先针对标定模板进行灰度化和阈值二值化处理,然后利用数学形态学的循环腐蚀进行图像预处理;其次利用Harris检测算法进行角点提取;最后根据非线性最优建立世界坐标和图像坐标的映射模型,并依靠两者的样本数据进行模型参数拟合,从而实现摄像机的非线性标定。实验结果表明,与已有非线性标定方法相比,新方法具有更高的标定精度,从而验证了方法的有效性。
关键词:几何畸变;校正;特征点;摄像机标定
1、引言
移动机器人在进行自主导航时,首先需要进行环境建模,进而获得环境信息来完成路径规划和运动控制等。基于智能空间的服务机器人导航技术[1],主要是通过顶棚安置多摄像机来组成分布式视觉系统,从而实现基于视觉的环境建模。而精确获得缓解模型的前提是进行摄像机标定。二维视觉定位系统的标定算法,就是通过一些已知点的实际坐标和相对应的图像坐标的映射关系。目前摄像机标定方法有很多[2],按其求解算法大致可分为线性法、非线性优化法[3]和两步法[4]等。传统的线性法没有考虑镜头畸变,准确度欠佳。非线性优化法可以得到比较高的标定精度,但算法比较繁琐,速度慢。两步法虽然比较灵活,但没有完全避免非线性优化,而且标定过程复杂。针对服务机器人在智能空间中进行视觉建模时的标定问题,本文提出了一种基于非线性最优的摄像机标定新算法,该算法主要包括图像预处理,Harris角点检测和摄像机非线性标定三个步骤,计算相对简单,无需分开求解摄像机的内外参数。与已有的标定算法相比,其标定精度更高。
2、图像的预处理
摄像机的标定往往需要借助于已知标定模板,然后利用标定模板在世界坐标系中的数据,与图像坐标系中对应标定数据进行非线性标定,因此获取标定模板图像是标定的第一步。从图像采集卡得到的图像大多为彩色图像,数据量比较大,同时存在噪声,为了提高标定精度,往往需要对采集到的标定模板图像进行预处理。
2.1灰度化处理
灰度化处理主要是把含有亮度和色彩的彩色图像转换成灰度图像,从而减少处理数据,提高计算效率。灰度化处理方法有很多[5],常用的主要有两种:一是求出每个像素点的R、G、B三个分量的平均值Y,即Y=(R+G+B)/3,然后将该值Y赋给这个像素的三个分量;二是根据YUV颜色空间中亮度分量Y,以及RGB和YUV颜色空间的变化关系,从而建立图像的亮度灰度值,即Y=0.3R+0.59G+0.11B。本文主要采用方法一来进行标定模板的灰度化处理。
2.2阈值分割
在将标定模板进行灰度化处理之后,为了提取模板图像中的角点,往往需要对图像进行阈值分割,也就是图像二值化。该方法虽简单但受限于阈值的选取,为了提高处理效果,文中主要采用迭代法[6]进行阈值选取。即在初始条件中假设一个阈值,而在对图像的迭代运算中不断地更新这一假设阈值,以得到最佳阈值。初始阈值一般取灰度平均值0T,然后用0T分割图像,计算分割后两部分各自的平均灰度,小于0T的部分为aT,大于0T的部分为bT,计算12abTTT,将1T作为新的阈值代替0T,重复以上过程,如此迭代,直至kT收敛,即1kkTT,此时所得到的kT值即为最佳阈值。
2.3运用开运算消除图像噪声
在进行图像采集时,由于电磁等各方面因素对标定模板图像的干扰,使得分割后的二值化图像中往往存在着很小一部分孤立的点或小区域,本文利用数学形态学中开运算的方法尽可能地消除这干扰点或区域。
数学形态学是一种分析几何形状和结构的方法,基本的形态学算子有腐蚀、膨胀、开和闭[7]。
设f(x)和g(x)是二维离散空间F和G上的两个函数,其中f(x)是输入图像,g(x)是结构元素,则对于的腐蚀、膨胀操作分别定义为
()()min[()()]yGfgxfxygy (1)
()()max[()()]yGfgxfxygy (2)
)]()([max))((ygyxfxgfGy (3)
f(x)对于g(x)的开运算和闭运算分别定义为:
)]()[())((xggfxgf (4)
()()[()]()fgxfggx (5)
由式(4)可知,对于开运算可以简单地理解为先对进行腐蚀再对其进行膨胀。一般来说,对图像进行开运算能够去除孤立的小点、毛刺和小桥(即连接两块区域的小点),而总的位置形状不变。闭运算的作用是填平小湖(即小孔),弥合小裂缝,而总的位置和形状不变。
3、Harris角点提取算法
角点检测是进行摄像机标定的前提和基础,角点提取的准确性直接影响到标定的精度。Harris算子算法稳定、计算简单方便,是目前使用较为广泛的角点检测算法之一。本文在标定时采用3×3圆形结构元素对图像闭运算的基础上再进行循环腐蚀,直至剩下几个像素点。在此基础上再用Harris角点检测算法提取角点,降低了偏离角点的距离,解决了Harris角点检测算法的聚簇和角点缺失的问题,大大提高了精确度。实验证明在实际标定的过程中也较为方便和准确。本文对文献[8]中的Harris角点提取算法进行了改进,具体步骤可描述如下:
(1) 求图像沿x和y方向的灰度梯度xI、yI 进而求得矩阵m中四个元素的值:
22xxyxyyIIImIII (6)
2xxxIII (7)
2yyyIII (8)
(2) 对矩阵m中四个元素进行高斯平滑滤波,得到新的矩阵m。离散二维零均值高斯函数为:
222exp()2xyGauss (9)
(3)接下来利用m计算对应于每个像素的角点量cim(即R):
22222*()xyxyxyIIIIcimII (10)
(4)最后,在角点量cim中,同时满足“cim大于一预先给定阀值和cim是某邻域内的局部最大值”这两个条件的点被认为是角点。
4、基于非线性最优的摄像机标定
通过对模板图像进行预处理以及角点提取之后,即可进行摄像机的标定。本文主要利用一种非线性最优的标定方法对摄像机进行软件标定。非线性标定原理主要是利用标定样板上二维点阵的实际坐标信息与所采集图像中像素坐标信息之间的映射关系,计算标定参数从而实现摄像机标定。
地面上标定模板在世界坐标系下的坐标(x,y)和图像坐标系下的坐标(u,v)之间存在着一个非线性变换Ta,即
(,)[(,)]axyTuv (11)
上述变换可用多项式来近似:
0000nniijijijnniijijijxauvybuv (12)
式中:ija为待定系数;ijb为待定系数;n为多项式系数。
为了简化计算,n取3,上式可变成:
23222300010203101112202130xaavavavauauvauvauauvau (13)
23222300010203101112202130ybbvbvbvbubuvbuvbubuvbu (14)
式(13)和(14)中共有20个待定系数,只要确定10个以上(,)iiuv与(,)iixy对应值即可求出ija与ijb。式(13)和(14)可直接用矩阵表示:
xTayTb (15)
其中:
232223111111111111232223222222222222232223111kkkkkkkkkkkkvvvuuvuvuuvuvvvuuvuvuuvuTvvvuuvuvuuvu (16)
00010203101112202130Taaaaaaaaaaa (17)
00010203101112202130Tbbbbbbbbbbb (18)
123Tkxxxxx (19)
123Tkyyyyy (20)
为了降低误差,一般取已知点的个数大于待定系数的个数,这里即为k>10。用最小二乘法求解式(15),可求得参数a和b,即:
11()()TTTTaTTTxbTTTy (21)
将标定模板世界坐标中的样本点以及图像坐标中相应样本点代入式(21),即可求得参数a和b,从而实现了摄像机的非线性标定。在进行服务机器人导航时,将经分布式视觉系统获取的图像中的点代入(15)式,便可求得相应的世界坐标。
5、实验结果及分析
为了验证本文所提出方法的有效性,利用Visual C++6.0在PIV 2.99GHz 1GB内存的计算机上进行了视觉系统的标定测试,并与文献[5]中的非线性方法进行了比较。在视觉系统中,所采用的摄像机的型号为凯聪S2617,CCD为1/4英寸索尼高清。图像采集卡采用北京嘉恒中自图像技术有限公司推出的OK_MC30。标定模板采用打印的棋盘纸。
图1 经过灰度化的棋盘模板 图2 角点提取结果
图1为经过灰度化处理之后的棋盘标定模板,图2为利用Harris检测算法进行角点提取的结果。由图可以看出,利用本文算法可以较好地提取到棋盘模板中的角点。表1是用于摄像机标定的样本数据,表2是然后经过非线性最优拟合之后的映射模型参数。根据表2的参数即能实现摄像机的标定。
表1 标定样本数据
样本数据序号 世界坐标(cm) 图像坐标(cm)
x y u v
1 0 0 0 0
2 84 0 92 -2
3 168 0 190 -4
4 252 0 283 -4
5 0 84 1 93
6 84 84 93 91
7 168 84 192 90
8 252 84 284 89
9 0 168 4 190
10 84 168 96 189
11 168 168 192 186
12 252 168 286
185
表2 非线性映射模型的拟合参数
a00 a01 a02 a03 a04
0.134068 -0.011339 0.000014 -0.000000 0.938072
a11 a12 a20 a21 a30
-0.000004 0.000000 -0.000502 -0.000000 0.000001
b00 b01 b02 b03 b10
-0.438938 0.947099 -0.000618 0.000002 0.044612
b11 b12 b20 b21 b30
-0.000214 0.000000 -0.000152 0.000001
0.000000
利用表2中的拟合参数,并结合式(16)即可完成摄像机在实际中由图像坐标中像素点向世界坐标的映射。为了验证文中标定方法的有效性,针对同样的标定模板,提取了其他8个点进行了验证和比较。并将距离误差Ed作为评价指标,具体定义如式(23)所示。