论文部分内容阅读
摘要: 为了通过二维图像信息计算三维空间中的几何信息,对摄像机系统进行精确标定。在建立和分析双目立体视觉模型和现有摄像机标定方法的基础上,提出一种新的光学标定方法。该方法通过构建和分析双目摄像机理论模型,并改进现有的方法实现了双目立体视觉的光学标定。实验在双目摄像机平台上,采用黑方格模板和通过算法实现了光学参数的标定,使用LevenbergMarquardt算法优化单应矩阵,并通过最大似然估计法进行参数优化,通过试验模型测定,结果显示其实际标定精度为0.050 9 mm,满足双目立体视觉的测定需求。
关键词: 双目立体视觉; 针孔模型; 最大似然估计; 二维标定
引言计算机视觉检测技术以其非接触、快速、高精度、自动化程度高等优点,近年来在众多领域得到了广泛的应用,尤其是双目立体视觉技术已经被成功地应用于工业检测、目标识别、智能车辆和空间物体三维姿态测量等领域。如何通过摄像机获取的二维图像信息,计算出三维空间中物体的几何信息,并由此重建和识别物体是计算机视觉技术中的首要问题。因此,要准确地得到三维空间点和相应图像像素点之间的对应关系,精确地标定摄像机是极其重要的[1]。随着计算机视觉理论的发展,人们根据实际应用提出了一些不同的摄像机模型和标定方法[112]。其中基于三维标定物的标定法以TSAI R Y的两步标定法最为普遍[79],但该法不易进行大尺寸的标定,且标定块不易制作,价格昂贵。而基于二维标定物如平面棋盘格或带星状图形图板的标定法,如张正友标定法等[1012],其操作灵活,价格低廉,标定精度较高,是目前双目立体视觉标定的主要手段,它利用旋转矩阵的正交条件及非线性最优化进行摄像机参数的标定。这种基于不同位置平面模板的标定方法仅要求从不同角度拍摄同一标定平面两幅以上的图像,就可以求出摄像机的内外参数,同时不需要知道平面模板移动的具体方向和位移信息。由于需要确定模板上点阵的物理坐标以及图像和模板之间的点的匹配,提高了对使用者的要求。同时由于手动点击角点繁琐,容易产生一定的误差。为了使车辆辅助驾驶系统实现行人检测和距离判断,以便通过图像处理和计算实现对车辆辅助驾驶控制,因此本文构建了双目立体视觉模块,实现光学取景和成像。为了测量物点到摄像机镜头的距离,以及获取实际场景尺寸和摄像机成像尺寸之间的关系与误差,本文结合张正友等人的算法对车载双目立体视觉模块进行了二维标定。制定了合理的标定方案,并采用黑方格模板等方法进行实验,很好地实现了双目立体视觉模块的光学标定,其标定方法具有实现简便,算法移植性好,精度高的特点。图1针孔模型
Fig.1Pinhole model1基本结构和工作原理摄像机是满足射影特性的光学成像仪器,使用针孔模型[8]对其建模。成像过程实质上是四个坐标系之间的坐标转换,这四个坐标系依次是世界坐标系、摄像机坐标系、图像物理坐标系、图像像素坐标系。如图1所示,世界坐标系OXwYwZw建立在空间之中,用以量化摄像机及各个物点的位置和相互间的位置关系。摄像机坐标系OXcYcZc的原点O位于成像平面之后距离为焦距f的地方,Zc轴与光轴重合,Xc轴、Yc轴分别与图像的行方向、列方向平行。图像物理坐标系OXY与成像平面重合,原点位于图像中心,X轴、Y轴分别与图像的行方向、列方向平行。图像像素坐标系OUV与成像平面重合,原点位于图像左下顶点,U轴、V轴分别与图像的行方向、列方向平行。
三维坐标系之间的位置关系有平移和旋转两种,分别由平移矩阵和旋转矩阵来描述,世界坐标系到摄像机坐标系的转换为:xc
2.2标定预处理标定操作需要通过反色、图像优化、边缘检测、顶点检测和二维标定等步骤,在实现标定时,采用了黑方格模板和基于张正友定标的二维标定算法实现摄像机的标定以优化传统算法。摄像机获取的彩色图像,经过灰度转换,成为灰度图像。使用二元高斯函数产生高斯滤波窗口,对图像进行滤波,减少噪声对顶点提取的影响。由于标定物是画有黑色正方形的白纸,图像对比度较大,因此,使用阈值变换,进一步增加对比度,灰度图像进一步转换成为二值图像,同时大大简化了后续处理算法。此时,目标区域为黑色,背景区域为白色,不利于图像处理,因此,对二值图像的像素取反,让正方形的像区域成为白色区域。由于摄像机成像的不清晰性及噪声的影响,反色后的图像边缘出现了锯齿状,需要进行图像优化以修复目标区域的此类缺陷。分析这种缺陷发现,当锯齿出现时,连续的三个横向和纵向的像素点,其像素值为1、0、1或者0、1、0。基于这个特点,使用如图3所示的两种模板分别匹配整幅图像实现优化。首先使用如图3(a)所示的横向模板进行匹配,其大小为3个像素点,若f(i,j-1)=f(i,j+1),则令f(i,j)=f(i,j-1),进行图像优化。然后使用图3(b)所示的纵向模板对图像进行二次优化,设定大小为3个像素点,若f(i-1,j)=f(i+1,j),则令f(i,j)=f(i-1,j),从而完成对图像的优化。
优化后的图像是二值图像,目标区域为白色,区域内部没有孔洞,区域边缘不存在小的锯齿状。在优化后的图像中,边缘点是白色,在横向或纵向上,其两边的点的像素值相反。对横向模板,若f(i-1,j)≠f(i+1,j)且f(i,j)=1,则(i,j)即为边缘点。对于纵向模板,若f(i,j-1)≠f(i,j+1)且f(i,j)=1,则(i,j)即为边缘点。对于顶点检测,以正方形顶点为中心的一个菱形窗口中,一组相邻的两个菱形顶点与另一组相邻的两个菱形顶点的像素值相反。然后也可以利用简单的方法实现顶点检测。
2.3二维标定经典标定法[10]的理论基础是绝对二次曲线的像曲线只与摄像机内部参数有关,与世界坐标系的选择无关。标定在其基础上采用黑方格模板进行改进,通过摄像机在同一平面模板上采集不同图像,通过图像处理得到特征点的世界坐标和图像坐标,求出摄像机的内部和外部参数,并使用最大似然估计优化所有参数。首先在图像处理提取顶点后,得到一系列对应点的图像像素坐标m=(u,v)和世界坐标M~=(xw,yw,zw)。由于世界坐标系是以标定物平面为坐标平面OXY,因此M~=(xw,yw,0)。则:m~=1zcARtM~=1λARtM~=HM~(8)使用摄像机对模板在m(m>2)个不同位置采集m个图像,每个图像上包含n个正方形顶点,经过图像处理,提取得到所有正方形顶点的坐标,因此,每个图像上的特征点的世界坐标和图像像素坐标均已知。求解超定方程的最小二乘解就是这个方向上的单应矩阵H,以该值作为初始值,使用LevenbergMarquardt算法求解以下函数的最小值,从而优化单应矩阵。由此可得:I=∑ni=1mi-HMi2(9)其中,mi(i=1、2、3、……、n)是特征点的图像坐标,H是该组特征点所对应的单应矩阵,Mi(i=1、2、3、……、n)是特征点的世界坐标。根据张正友标定法的绝对二次曲线方程的求解可以获得绝对二次曲线的像曲线:w=A-TA-1,而绝对二次曲线与世界坐标系的选择无关,仅与摄像机的内部参数有关,通过单应矩阵、旋转矩阵和平移矩阵的关系,结合绝对二次曲线在像平面上的像,并在模板上取3个不同位置和方向上的图像就可以求解其内部参数矩阵A。再根据单应矩阵与内部参数、旋转矩阵、平移矩阵的关系,可以求解出外部参数矩阵。最后采用∑mi=1∑nj=1mij-m^(A,Ri,ti,Mij)2函数进行最大似然估计完成内部和外部参数的优化。3实验结果分析与结论在算法研究和仿真的基础上,选取了TOTA公司带有变焦镜头的TOTA500III摄像机构建双目立体视觉系统,并通过软件进行实验验证。该双目立体视觉系统采用了1/3英寸的CCD,其照度为0.2 lx,具有510线分辨率,电源供应可以实现AC24V或DC12V自动转换,实验标定模板为平面黑方格模板,其具体尺寸为240 mm×176 mm。图4为用立体视觉系统在3个不同角度成像的立体图像。 将数据采集卡获取的信号送入计算机,对送入的信号首先进行灰度转换、图像滤波和阈值变换等预处理操作,然后进行标定图像操作。通过本文所介绍的算法计算获得摄像机部分参数矩阵:A=[1 190.12,4.945 59,336.976;0,1 273.9,135.906;0,0,1],R=[0.944 963,0.017 198,0.326 725;0.033 256 9,0.988 396,-0.148 213;-0.325 483,0.150 922,0.933 426],t=[-24.217,9.489 15,101.815],k=[1.140 65;-15.129 6]。实际标定精度为0.050 9 mm,可以为后期的工作提供精度保障。通过理论研究和实验测定可知,利用黑方格模板和对理论进行改进可以简单有效地实现双目立体视觉中的摄像机光学标定并保证良好的精度,通过图像坐标到世界坐标的转换运算,实现机器视觉功能和测量功能,同时由于算法在畸变方面的研究不足,导致标定产生一定的误差。实现方法虽然简单但运算过程设计和处理仍可进一步优化,因此将在后续的工作中进一步进行标定算法的优化。
参考文献:
[1]王向军,郭文佳,韩双来,等.基于计算机视觉的弹着点坐标远程测量系统[J].红外与激光工程,2006,35(5):624-628.
[2]屠大维,张翼成.基于灰度差异的棋盘格角点自动检测[J].光学精密工程,2011,19(6):1360-1366.
[3]杨剑,杨秋翔,秦品乐.二维柔性拼接标定方法[J].光学精密工程,2011,19(5):1134-1142.
[4]牛海涛,赵勋杰.采用棋盘格模板的摄像机标定新方法[J].红外与激光工程,2011,40(1):133-137.
[5]黄风山,钱惠芬.三坐标测量机驱动的摄像机标定技术[J].光学精密工程,2010,18(4):952-957.
[6]崔彦平,林玉池,张晓玲.基于神经网络的双目视觉摄像机标定方法的研究[J].光电子激光,2005,16(9):1097-1100.
[7]TSAI R Y.An efficient and accurate camera calibration technique for 3D machine vision[C]∥Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.New York:IEEE,1986:364-374.
[8]TSAI R Y.A versatile camera calibration technique for highaccuracy 3D machine vision metrology using offtheshelf TV cameras and lenses[J].IEEE Journal of Robotics and Automation,1987,RA3(4):323-344.
[9]TSAI R Y,LENZ R K.A new technique for fully autonomous and efficient 3D robotics hand/eye calibration[J].IEEE Transactions on Robotics and Automation,1989,5(3):345-358.
[10]ZHANG Z Y.A flexible new technique for camera calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.
[11]MENG X Q,HU Z Y.A new easy camera calibration technique based on circular points[J].Pattern Recognition,2003,36(5):1155-1164.
[12]STURM P F,MAYBANK S J.On planebased camera calibration:a general algorithm,singularities,applications[C]∥Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition.Los Alamitos:IEEE,1999:432-437.
关键词: 双目立体视觉; 针孔模型; 最大似然估计; 二维标定
引言计算机视觉检测技术以其非接触、快速、高精度、自动化程度高等优点,近年来在众多领域得到了广泛的应用,尤其是双目立体视觉技术已经被成功地应用于工业检测、目标识别、智能车辆和空间物体三维姿态测量等领域。如何通过摄像机获取的二维图像信息,计算出三维空间中物体的几何信息,并由此重建和识别物体是计算机视觉技术中的首要问题。因此,要准确地得到三维空间点和相应图像像素点之间的对应关系,精确地标定摄像机是极其重要的[1]。随着计算机视觉理论的发展,人们根据实际应用提出了一些不同的摄像机模型和标定方法[112]。其中基于三维标定物的标定法以TSAI R Y的两步标定法最为普遍[79],但该法不易进行大尺寸的标定,且标定块不易制作,价格昂贵。而基于二维标定物如平面棋盘格或带星状图形图板的标定法,如张正友标定法等[1012],其操作灵活,价格低廉,标定精度较高,是目前双目立体视觉标定的主要手段,它利用旋转矩阵的正交条件及非线性最优化进行摄像机参数的标定。这种基于不同位置平面模板的标定方法仅要求从不同角度拍摄同一标定平面两幅以上的图像,就可以求出摄像机的内外参数,同时不需要知道平面模板移动的具体方向和位移信息。由于需要确定模板上点阵的物理坐标以及图像和模板之间的点的匹配,提高了对使用者的要求。同时由于手动点击角点繁琐,容易产生一定的误差。为了使车辆辅助驾驶系统实现行人检测和距离判断,以便通过图像处理和计算实现对车辆辅助驾驶控制,因此本文构建了双目立体视觉模块,实现光学取景和成像。为了测量物点到摄像机镜头的距离,以及获取实际场景尺寸和摄像机成像尺寸之间的关系与误差,本文结合张正友等人的算法对车载双目立体视觉模块进行了二维标定。制定了合理的标定方案,并采用黑方格模板等方法进行实验,很好地实现了双目立体视觉模块的光学标定,其标定方法具有实现简便,算法移植性好,精度高的特点。图1针孔模型
Fig.1Pinhole model1基本结构和工作原理摄像机是满足射影特性的光学成像仪器,使用针孔模型[8]对其建模。成像过程实质上是四个坐标系之间的坐标转换,这四个坐标系依次是世界坐标系、摄像机坐标系、图像物理坐标系、图像像素坐标系。如图1所示,世界坐标系OXwYwZw建立在空间之中,用以量化摄像机及各个物点的位置和相互间的位置关系。摄像机坐标系OXcYcZc的原点O位于成像平面之后距离为焦距f的地方,Zc轴与光轴重合,Xc轴、Yc轴分别与图像的行方向、列方向平行。图像物理坐标系OXY与成像平面重合,原点位于图像中心,X轴、Y轴分别与图像的行方向、列方向平行。图像像素坐标系OUV与成像平面重合,原点位于图像左下顶点,U轴、V轴分别与图像的行方向、列方向平行。
三维坐标系之间的位置关系有平移和旋转两种,分别由平移矩阵和旋转矩阵来描述,世界坐标系到摄像机坐标系的转换为:xc
2.2标定预处理标定操作需要通过反色、图像优化、边缘检测、顶点检测和二维标定等步骤,在实现标定时,采用了黑方格模板和基于张正友定标的二维标定算法实现摄像机的标定以优化传统算法。摄像机获取的彩色图像,经过灰度转换,成为灰度图像。使用二元高斯函数产生高斯滤波窗口,对图像进行滤波,减少噪声对顶点提取的影响。由于标定物是画有黑色正方形的白纸,图像对比度较大,因此,使用阈值变换,进一步增加对比度,灰度图像进一步转换成为二值图像,同时大大简化了后续处理算法。此时,目标区域为黑色,背景区域为白色,不利于图像处理,因此,对二值图像的像素取反,让正方形的像区域成为白色区域。由于摄像机成像的不清晰性及噪声的影响,反色后的图像边缘出现了锯齿状,需要进行图像优化以修复目标区域的此类缺陷。分析这种缺陷发现,当锯齿出现时,连续的三个横向和纵向的像素点,其像素值为1、0、1或者0、1、0。基于这个特点,使用如图3所示的两种模板分别匹配整幅图像实现优化。首先使用如图3(a)所示的横向模板进行匹配,其大小为3个像素点,若f(i,j-1)=f(i,j+1),则令f(i,j)=f(i,j-1),进行图像优化。然后使用图3(b)所示的纵向模板对图像进行二次优化,设定大小为3个像素点,若f(i-1,j)=f(i+1,j),则令f(i,j)=f(i-1,j),从而完成对图像的优化。
优化后的图像是二值图像,目标区域为白色,区域内部没有孔洞,区域边缘不存在小的锯齿状。在优化后的图像中,边缘点是白色,在横向或纵向上,其两边的点的像素值相反。对横向模板,若f(i-1,j)≠f(i+1,j)且f(i,j)=1,则(i,j)即为边缘点。对于纵向模板,若f(i,j-1)≠f(i,j+1)且f(i,j)=1,则(i,j)即为边缘点。对于顶点检测,以正方形顶点为中心的一个菱形窗口中,一组相邻的两个菱形顶点与另一组相邻的两个菱形顶点的像素值相反。然后也可以利用简单的方法实现顶点检测。
2.3二维标定经典标定法[10]的理论基础是绝对二次曲线的像曲线只与摄像机内部参数有关,与世界坐标系的选择无关。标定在其基础上采用黑方格模板进行改进,通过摄像机在同一平面模板上采集不同图像,通过图像处理得到特征点的世界坐标和图像坐标,求出摄像机的内部和外部参数,并使用最大似然估计优化所有参数。首先在图像处理提取顶点后,得到一系列对应点的图像像素坐标m=(u,v)和世界坐标M~=(xw,yw,zw)。由于世界坐标系是以标定物平面为坐标平面OXY,因此M~=(xw,yw,0)。则:m~=1zcARtM~=1λARtM~=HM~(8)使用摄像机对模板在m(m>2)个不同位置采集m个图像,每个图像上包含n个正方形顶点,经过图像处理,提取得到所有正方形顶点的坐标,因此,每个图像上的特征点的世界坐标和图像像素坐标均已知。求解超定方程的最小二乘解就是这个方向上的单应矩阵H,以该值作为初始值,使用LevenbergMarquardt算法求解以下函数的最小值,从而优化单应矩阵。由此可得:I=∑ni=1mi-HMi2(9)其中,mi(i=1、2、3、……、n)是特征点的图像坐标,H是该组特征点所对应的单应矩阵,Mi(i=1、2、3、……、n)是特征点的世界坐标。根据张正友标定法的绝对二次曲线方程的求解可以获得绝对二次曲线的像曲线:w=A-TA-1,而绝对二次曲线与世界坐标系的选择无关,仅与摄像机的内部参数有关,通过单应矩阵、旋转矩阵和平移矩阵的关系,结合绝对二次曲线在像平面上的像,并在模板上取3个不同位置和方向上的图像就可以求解其内部参数矩阵A。再根据单应矩阵与内部参数、旋转矩阵、平移矩阵的关系,可以求解出外部参数矩阵。最后采用∑mi=1∑nj=1mij-m^(A,Ri,ti,Mij)2函数进行最大似然估计完成内部和外部参数的优化。3实验结果分析与结论在算法研究和仿真的基础上,选取了TOTA公司带有变焦镜头的TOTA500III摄像机构建双目立体视觉系统,并通过软件进行实验验证。该双目立体视觉系统采用了1/3英寸的CCD,其照度为0.2 lx,具有510线分辨率,电源供应可以实现AC24V或DC12V自动转换,实验标定模板为平面黑方格模板,其具体尺寸为240 mm×176 mm。图4为用立体视觉系统在3个不同角度成像的立体图像。 将数据采集卡获取的信号送入计算机,对送入的信号首先进行灰度转换、图像滤波和阈值变换等预处理操作,然后进行标定图像操作。通过本文所介绍的算法计算获得摄像机部分参数矩阵:A=[1 190.12,4.945 59,336.976;0,1 273.9,135.906;0,0,1],R=[0.944 963,0.017 198,0.326 725;0.033 256 9,0.988 396,-0.148 213;-0.325 483,0.150 922,0.933 426],t=[-24.217,9.489 15,101.815],k=[1.140 65;-15.129 6]。实际标定精度为0.050 9 mm,可以为后期的工作提供精度保障。通过理论研究和实验测定可知,利用黑方格模板和对理论进行改进可以简单有效地实现双目立体视觉中的摄像机光学标定并保证良好的精度,通过图像坐标到世界坐标的转换运算,实现机器视觉功能和测量功能,同时由于算法在畸变方面的研究不足,导致标定产生一定的误差。实现方法虽然简单但运算过程设计和处理仍可进一步优化,因此将在后续的工作中进一步进行标定算法的优化。
参考文献:
[1]王向军,郭文佳,韩双来,等.基于计算机视觉的弹着点坐标远程测量系统[J].红外与激光工程,2006,35(5):624-628.
[2]屠大维,张翼成.基于灰度差异的棋盘格角点自动检测[J].光学精密工程,2011,19(6):1360-1366.
[3]杨剑,杨秋翔,秦品乐.二维柔性拼接标定方法[J].光学精密工程,2011,19(5):1134-1142.
[4]牛海涛,赵勋杰.采用棋盘格模板的摄像机标定新方法[J].红外与激光工程,2011,40(1):133-137.
[5]黄风山,钱惠芬.三坐标测量机驱动的摄像机标定技术[J].光学精密工程,2010,18(4):952-957.
[6]崔彦平,林玉池,张晓玲.基于神经网络的双目视觉摄像机标定方法的研究[J].光电子激光,2005,16(9):1097-1100.
[7]TSAI R Y.An efficient and accurate camera calibration technique for 3D machine vision[C]∥Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.New York:IEEE,1986:364-374.
[8]TSAI R Y.A versatile camera calibration technique for highaccuracy 3D machine vision metrology using offtheshelf TV cameras and lenses[J].IEEE Journal of Robotics and Automation,1987,RA3(4):323-344.
[9]TSAI R Y,LENZ R K.A new technique for fully autonomous and efficient 3D robotics hand/eye calibration[J].IEEE Transactions on Robotics and Automation,1989,5(3):345-358.
[10]ZHANG Z Y.A flexible new technique for camera calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.
[11]MENG X Q,HU Z Y.A new easy camera calibration technique based on circular points[J].Pattern Recognition,2003,36(5):1155-1164.
[12]STURM P F,MAYBANK S J.On planebased camera calibration:a general algorithm,singularities,applications[C]∥Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition.Los Alamitos:IEEE,1999:432-437.