基于圆点阵列靶标的特征点坐标自动提取方法

2010-05-31 09:56夏瑞雪卢荣胜董敬涛
中国机械工程 2010年16期
关键词:圆点靶标摄像机

夏瑞雪 卢荣胜 刘 宁 董敬涛

合肥工业大学,合肥,230009

0 引言

视觉测量以其快速非接触的优点,在测量领域引起了广泛关注并得到成功应用[1-2]。摄像机标定是视觉测量的重要步骤,基于摄像机透视投影模型,通过标定建立摄像机图像像素位置与场景点位置之间的关系。摄像机标定需借助靶标提供的标定特征点,根据已知标定特征点的图像坐标和世界坐标来求解摄像机的模型参数。标定特征点的世界坐标是由靶标在制作时确定的,图像坐标则需通过对拍摄的靶标图像进行处理和分析来求取[3]。

目前,摄像机标定中使用较多的是2D平面靶标,有棋盘靶标、网格靶标和圆点阵列靶标等[3],本文以平面圆点阵列靶标为研究对象,其标定特征点是圆点中心。在摄像机标定的图像中,靶标图案处于复杂背景环境中,为避免背景图案给标定特征点图像坐标提取造成影响,通常采用人工干预的方法,手工选取靶标图案区域。由于多数摄像机标定方法需要对多幅图像进行处理[4-5],故手工选取的方法将影响摄像机标定的效率。为减少操作人员的工作量,提高标定过程的自动化程度,提高工作效率,本文研究了一种在复杂背景环境下,无需人工干预,自动提取靶标上各圆点中心图像坐标的方法。

1 平面圆点阵列靶标

平面圆点阵列靶标的图案主要由多个圆点所组成的等间距分布的矩形阵列组成,可采用在有机玻璃基板上镀膜刻画图案的方法来制作,精度能达到±0.001mm。要实现自动提取,所使用的靶标图案需要具有一定的特征,本文以德国MVTec公司的HALCON系列标定模板中的一种为例进行说明,其特征是:图案区域为左上角带一个斜角的外围带状边框,框内是一个7×7圆点矩阵,如图1所示。

图1 HALCON摄像机标定实例图

图1为HALCON提供的用于摄像机标定示例程序的实例图像,图像的尺寸为786×576像素。根据透视投影变换的特性,近似地认为靶标图案区域的圆点在摄像机像平面的成像为椭圆点,将椭圆点中心视为圆点中心透视投影像点。虽然使用HALCON算法库提供的算子能快捷地实现各椭圆点中心图像坐标的提取,但其算法的核心部分是不可见的,并且始终是以HALCON为依托,受其限制。

2 标定特征点坐标自动提取算法

本文在微软Visual Studio 2005集成开发环境下,采用C#编程语言开发基于平面圆点阵列靶标的标定特征点图像坐标自动提取应用程序,该应用程序的核心部分——标定特征点坐标自动提取算法的流程图如图2所示,具体步骤如下所述,其中,数字图像处理算法程序采用C++编程语言编写,以动态链接库的形式供主程序调用。

图2 标定特征点坐标自动提取算法流程图

2.1 图像预处理

在图像默认的坐标系中,使用C#的Bitmap类读取摄像机标定时所拍摄的位图文件,为加快处理速度,根据位图像素的格式进行灰度化处理,得到灰度图像F0(x,y)。然后,采用中值滤波法和高斯低通滤波法对F0(x,y)进行图像平滑处理,提高图像的成像质量,得到待处理图像F1(x,y)。

2.2 图像二值化处理

提取标定特征点的图像坐标,首先要在复杂背景环境下,将靶标图案区域PA0从F1(x,y)中提取出来。根据靶标图案的特性,各椭圆点和带斜角的边框为黑色,背景色为白色,且均为连通区域。因此,本文先采用大津法获取分割阈值,再对F1(x,y)进行二值化处理,将其转换为黑白二值图像F2(x,y),如图3所示。

图3 黑白二值摄像机标定位图

2.3 靶标图案区域提取

2.3.1 连通区域提取

F2(x,y)由多个连通区域组成,本文研究的对象是像素值为0的连通区域CAi(i=0,1,2,…),所采用的提取连通区域的方法如下:①创建位图F3(x,y),用于复制F2(x,y),从其左上角F3(0,0)开始,按从上至下、从左至右的方式进行图像扫描。若像素F3(u,v)=0,则以该处为开始点P0,采用八邻域边界跟踪算法,对P0所在的CAi进行轮廓跟踪,生成链码表Ci;② 将Ci转化为水平方向线段表HLi或垂直方向线段表VLi,如图4所示,并将该轮廓所包围的区域SAi内所有像素的像素值赋为255,直至F3(x,y)中各像素的像素值均为255,扫描完成。

图4 基于线段表的连通区域表示示意图

这种提取SAi的方法只能针对连通区域为实心的情况,若连通区域内存在空心部分,则无法反映该连通区域的实际情况。本文利用了这一点,当扫描到PA0时,跟踪得到的轮廓为带状边框的外边界,其包围的整个区域PA1正是所要提取的PA0,PA1为实心区域,将带状边框和椭圆点阵列视为一个整体,可以简化处理过程。

2.3.2 面积判断

根据所求得的HLi或VLi,先计算线段表中各线段的长度,再求它们的总和,可获得该线段表表示的区域SAi的面积SVi。

由图3可见,背景图案会形成大量零散的小面积连通区域,然而,根据PA0的形态特征,其内部是一个7×7的椭圆点矩阵,由于一个椭圆点至少包含一个3×3的模板,即9个像素,椭圆点间也至少间隔一个像素,即PA1至少对应有7×7×9+8×8=505个像素,故PA1的面积必定大于505个像素,则面积太小的连通区域可不予考虑。

设置SVT=505,对各个连通区域的面积进行判断,若SVi≤505,则在F2(x,y)上将该连通区域内各像素的像素值赋为255,即将其从F2(x,y)上删除。扫描完成后,得到位图F4(x,y),符合要求的连通区域集合为SAj(j=0,1,2,…),有效地剔除了非目标区域,可以大大减小后续的计算工作量。

2.3.3 特征识别

根据PA0的形态特征,若不考虑噪声的干扰,在理想情况下,它包含50个子连通区域,其中49个是椭圆形小面积子连通区域,位于PA0内部,另外一个是带状边框所形成的子连通区域即外围。本文将依据上述特征,继续对F4(x,y)中的连通区域进行筛选,通过逐步判断其子连通区域的数目、面积和圆度,最终实现对PA0的提取,具体方法如下:

(1)获取边界。首先,采用轮廓提取算法对SAj进行轮廓提取,得到SCj,再采用八邻域边界跟踪算法,对SCj的各轮廓边界进行轮廓跟踪。每跟踪得到一条边界Em(m=0,1,2,…),求得其链码表ECm和线段表EHLm,并将其各像素的像素值赋为255,然后,继续扫描跟踪下一条边界,直至SCj中各像素的像素值均为255,扫描完成。

(2)数目判断。统计SAj的轮廓边界Em的数目,理想情况下的PA0的轮廓边界数目为51,考虑到噪声点的影响,设置mT=51,若m≥mT,则转入下一步判断,否则,将该连通区域剔除。

(3)面积判断。通过线段表EHLm可计算求得Em所包围区域ESAm的面积ESVm,但由上一小节可知,椭圆点的Em至少包含9个像素,故计算前需对Em进行筛选,剔除所含像素太少的Em,设置阈值为9,这样既减小了计算量,也消除了部分面积较小的噪声点。由图3可见,背景图案所形成的SAj的子连通区域通常是杂乱、无规律可循的,因此,根据PA0的子连通区域的面积特性,对ESVm进行如下约束,若其不满足:

则将该连通区域剔除。经过该步判断后,若集合SAj只剩下一个元素,则该连通区域即为PA0,否则,转入下一步判断。

(4)圆度判断。根据上述所得的SAj的ECm,可求得 Em的各像 素 的 图 像 坐标Pn(x,y)(n=0,1,2,…),再通过对Pn(x,y)的横坐标和纵坐标分别进行排序,可求得ESAm的最小外接矩形的4个顶点的坐标,然后通过简单计算即可求得相应的最大外切圆的圆心坐标Pc(xc,yc)和半径R,令Em的各像素到圆心的距离为Ln,如图5所示。根据|Ln-R|的值,对ESAm进行简单的圆度判断,若 max(|Ln-R|)>2R,则认为ESAm不是圆形区域,然后,统计用这种方法得到的SAj中圆形区域的个数Mj,由PA0的形态特征可知,Mj最接近49的SAj即为PA0。

重新统计PA0的轮廓边界数目,若大于51,则表示仍存在噪声点,需对此时的F4(x,y)进行连续的开和闭运算,消除噪声点,从而确保PA0的轮廓边界数目只为51。

图5 圆度判断方法示意图

通过上述一系列的判断,最终成功将靶标图案区域从摄像机标定图像中提取出来,得到一幅只包含PA0的位图F5(x,y),如图6所示。对类似图1的十几幅由HALCON提供的实例图片进行处理,均成功实现提取。

图6 靶标图案区域图

2.4 圆点中心图像坐标计算

同理,根据PA0的轮廓边界链码表PECm,求得各椭圆点轮廓边界PEm(m=2,3,…,50)的各像素的图像坐标 PSn(x,y)(n =0,1,2,…),然后,采用最小二乘椭圆拟合算法求取椭圆点中心的图像坐标。椭圆方程的一种形式为

其中,B2-4AC<0。将Em的PSn(x,y)代入椭圆方程,组成一个超定方程组,令残差的平方和

求取Q为极小值时该超定方程组的最小二乘解,即椭圆方程各参数的值,然后,将式(2)转换为椭圆的标准方程的形式,即可求得椭圆点中心图像坐标。

在F5(x,y)上使用十字形标记对各椭圆点中心进行标记,如图7所示。此外,可根据需要使用不同形状的标记在摄像机标定位图文件和Fi(x,y)(i=0,1,2,4,5)上进行标记。

2.5 标定特征点定位

由图7和图8可见,随着靶标的旋转,采用行或列扫描的方式对位图进行操作,并不能始终保证按行或列顺序依次获取7×7圆点矩阵的各圆点中心的图像坐标,然而,在摄像机标定计算时,标定特征点的世界坐标是按行或列顺序存储的。通常采用数字编码的方式来定位标定特征点,即按存储的顺序对各点进行编码,然后在位图上标识出来,虽然该方法较简单,但需要人工干预,由操作者将各点的世界坐标与图像坐标对应起来,并且当标定特征点的个数较多时,会给摄像机标定计算带来非常大的不便。

图7 十字形标记图

图8 旋转的靶标图案区域图

本文将根据PA0的形态特征,逐步确定各标定特征点所对应的圆点在7×7圆点矩阵中的位置,自动实现标定特征点的定位,如图8和图9所示,具体方法如下所述:

图9 标定特征点定位示意图

(1)确定P11位置。采用K-R法[6]对PA0中带斜角的边框的内轮廓边界进行线段分割,得到5条线段,计算长度最小的线段的直线方程l0,然后计算各标定特征点Pij(i,j=1,2,…,7)到l0的距离,距离最小的点即为P11。

(2)确定P12、P21和P22位置。计算其余Pij到P11的距离,值最小的三个点P1、P2和P3即为P12、P21和P22,但还需将它们一一对应起来。以P11为原点,建立如图9所示的平面直角坐标系,依次逆时针旋转向量P11P1、P11P2和P11P3至X′轴正向的位置,从图9可知,仅当所选择的向量为P11P22,其余两个向量也逆时针旋转同样的角度时,P′1、P′2和P′3的纵坐标一个为零,一个为正值,另一个为负值,从而确定出P12、P21和P22。

(3)确定其余各标定特征点位置。已确定P11和P12,可得直线方程l1,计算其余Pij到l1的距离。根据透视投影变换的特性,并考虑误差因素,第一横行的其余标定特征点分布于l1的附近,相对于其他横行,它们到l1的距离更小一些。设置一个阈值RV,距离不大于RV的点即为第一横行的标定特征点,再按它们到P11的距离的远近,依次确定出各点,其中,RV为所求得的各椭圆点的长轴的平均值。同理,确定出第二横行的各标定特征点。根据已确定的第一和第二横行的标定特征点,采用同样的方法,按列依次确定每一纵列的其余各标定特征点,从而实现所有标定特征点的定位。

3 实验结果

使用依据上述方法开发的应用程序提取图1中的平面圆点阵列靶标的标定特征点图像坐标,在靶标图案区域的轮廓图像上进行标记,结果如图7所示。此外,还基于HALCON算子编写了对标定特征点图像坐标进行求取的应用程序,用小圆点进行标记,结果如图10所示。

图10 基于HALCON算子法的标定特征点圆点形标记图

以基于HALCON算子求取的标定特征点图像坐标为标准位置,将基于本文方法求取的结果与其进行比较。在椭圆点阵列的水平方向第四行和垂直方向第四列上各间隔选取4个标定特征点,使用图像默认的坐标系,以图像的左上角为坐标原点,在表1中列出分别用以上两种方法提取的这8个点的图像坐标,以及它们的距离偏差,由计算结果可见偏差在0.3个像素内。

表1 两种方法提取的部分特征点图像坐标比较 pixel

4 结束语

本文提出用于摄像机标定的2D平面圆点阵列靶标的标定特征点图像坐标自动提取方法,适用于Tsai和Zhang等摄像机标定方法,无需人工干预,即可实现自动对多幅标定图像进行处理,然后,根据摄像机透视投影模型,即可求得摄像机的模型参数。通过实验比对,本文方法的精度接近商业图像处理软件HALCON的水平,是一种有效的像素级方法,可在此基础上进行椭圆中心亚像素定位方法以及畸变误差补偿方法的研究,实现高精度的标定特征点图像坐标提取。

[1] 叶声华,王仲,曲兴华.精密测试技术展望[J].中国机械工程,2000,11(3):262-263.

[2] 刘庆民,李国发,孙鲁涌.齿形链链板视觉集成测量[J].中国机械工程,2008,19(13):1539-1543.

[3] 张广军.视觉测量[M].北京:科学出版社,2008.

[4] Smith L N,Smith M L.Automatic Machine Vision Calibration Using Statistical and Neural Network Methods[J].Image and Vision Computing,2005,23:887-899.

[5] Song Limei,Wang Mingping,Lu Lu,et al.High Precision Camera Calibration in Vision Measurement[J].Optics & Laser Technology,2007,39:1413-1420.

[6] 刘栋,赵跃进,尹德森,等.基于特征点跟踪的数字稳像算法[J].光学技术,2008,34(2):281-284.

猜你喜欢
圆点靶标摄像机
网络靶标理论、关键技术与中医药应用
“百灵”一号超音速大机动靶标
巧猜点数
洛斯警长的终极挑战⑩
纳米除草剂和靶标生物的相互作用
洛斯警长的终极挑战
摄像机低照成像的前世今生
新安讯士Q6155-E PTZ摄像机
前列腺特异性膜抗原为靶标的放射免疫治疗进展
如何消除和缓解“摄像机恐惧症”