摄像头标定

2024-10-25

摄像头标定(共7篇)

摄像头标定 篇1

随着图像传感技术和数字处理技术的发展,普通摄像机在成像范围、分辨率等方面已经难以满足大视场应用的需求。普通摄像机有限的可视范围限制了信息的获取,若能扩大可视范围,将轻松的解决信息获取的问题。全景摄像机的出现成功解决了上述问题。

在全景摄像机技术的发展中,全景摄像机的标定也成为其最重要的部分之一。不同的全景摄像机成像系统不同,相应的全景摄像机标定方法也有不同。图像拼接法一般是需要通过标定技术解决多个摄像机内外参数不一致的问题。鱼眼镜头法和折反射成像法需要根据各自成像系统中的组件和投影模型来确定摄像机的内外参数。如今全景摄像机标定算法经历了从最初的对标定结果的低精度要求,对标定参照物的高精度要求发展到现在的对标定结果的较高精度要求和对参照物的相对低精度要求的演化过程。全景摄像机标定方法需要根据具体的成像系统模型[1]、具体的应用场景以及标定精度要求进行选择。在对全景摄像机标定方法进行具体分析之前,我们需要来了解下不同的全景成像系统模型。

1 全景成像系统模型

标定全景摄像机的一个重要前提就是需要确定它的成像模型,然后才能对全景摄像机系统的系统参数进行标定。

1.1 旋转拼接全景成像系统

随着计算机和数字图像处理技术的发展,采用常规光学镜头,绕与光轴垂直的固定轴旋转,或者围绕垂直光轴的固定点安装多个常规成像系统,每个摄像头可以独立捕捉各自角度的图像,这些图像之间存在一定的重叠区域,称为拼缝,经过标定技术、图像融合技术,平滑的过渡掉这些拼缝,最终使得全景图看上去像单个相机拍摄的效果。拼接型全景成像技术的一个显著特点是表达技术。为更好地展示全景效果,给用户以沉浸式的体验,一般采用球面、柱面、三维投影的最终成像图。在这种成像图上,用户可以感知方位,识别方向,比一般的平面图像更具视觉震撼力,并具较大地实际应用价值。

1.2 鱼眼镜头成像系统

鱼眼镜头成像系统与传统的透视镜成像系统的区别就是镜头结构的区别,鱼眼镜头是一种焦距很短的特殊的超广角镜头,焦距范围大致在6mm到16mm之间。利用鱼眼镜头搭建的成像系统可以获取半球甚至超半球空域的场景图像。鱼眼镜头结构如图1所示。鱼眼镜头拍摄的全景图存在严重的畸变,为满足人眼的视觉观察,需要对图像进行校正。鱼眼镜头摄像机的标定是基于鱼眼镜头成像系统模型,采用合适的摄像机标定方法,求解鱼眼镜头摄像机成像系统模型的参数。鱼眼镜头的结构一般是由多片镜片组成,具体的镜片选取需要根据情况具体分析。

1.3折反射全景成像系统

折反射全景成像系统主要由光敏元件、成像透镜以及反射镜组成。光敏元件一般选用CCD器件,成像透镜有常规的成像透镜或远心透镜,而反射镜一般选用凸面镜,如球面、圆锥面、双曲面、抛物面等。根据是否满足单视点成像约束,折反射全景成像系统可以分为单视点成像系统和非单视点成像系统。

目前实用的单视点折反射全景成像系统有抛物面折反射全景成像系统和双曲面折反射全景成像系统。以下我们简单介绍下抛物面折反射全景成像系统。图2为单视点抛物面镜折反射全景成像系统。

注:在单视点抛物面镜折射反射摄像机成像系统中共存在三个三维坐标系:抛物面镜坐标系、摄像机坐标系和世界坐标系;两个二维坐标系:以像素为单位图像坐标系和以物理单位表示的成像平面坐标系。

传统的摄像机满足小孔成像的模型[2],而在单视点抛物面镜折射反射摄像机成像模型中,成像过程可以看做是光线经过抛物镜面反射后满足小孔成像的模型。点P0表示在世界坐标系中的任意一点,点Pm表示P0在镜面上的反射点。入射光线P0Pm在经过抛物面镜反射后经过摄像机镜头折射后在平面A上形成倒立的像,此处将平面A对称至平面A',将在平面A'上形成正立的像。此系统中摄像机坐标系与抛物面镜坐标系需要使中心轴Zc与Zp平行,满足同轴约束,同时需要调整摄像机镜头与抛物面镜之间的距离,使经过抛物镜面反射的光线近似为平行光线。在实际操作中,经过抛物面镜反射的光线为图中的虚线,需要将抛物面镜和摄像机镜头调整至合适的位置,达到近似平行投影的目的。

2 全景摄像机标定方法分类

Barreto和英向华、胡占义[3]等人探讨了全景摄像机的成像模型及其射影几何关系,他们的结果表明:单视点的折射反射投影等同于经过一个球体的二次映射,并且给出折射、反射以及鱼眼镜头摄像机统一的投影模型。这些投影模型的提出,为全景摄像机的标定提供了很好的理论基础。经过查阅相关文献,可以将已经报道的标定方法进行如下分类。

1)基于球的方法。文献[4]中,段慧仙、吴毅红等人探讨了三维空间球体的图像具有的几何性质,并给出一种新的标定方法——基于球像的抛物折射反射摄像机标定方法。英向华等人研究了球的投影轮廓线应满足的几何不变量,给出标定不同类型的单光心折射反射摄像机需要的投影曲线个数。

2)基于直线的方法。Barreto[5]研究了直线在折射反射摄像机下的射影不变性并将其应用于系统参数的标定。Kanatani[6]通过分析直线之间的关系,构建不同的代价函数,利用优化方法标定鱼眼镜头摄像机。吴福朝等[7]从空间点和它的图像点的关系出发,利用空间直线建立待标定参数的线性约束方程,从而实现标定折射反射摄像机的目的。

3)基于控制点的方法。基于控制点的方法可以将点分为二维点与三维点。Mei和Rives以标准的折射反射成像模型为基础,提出了一种基于平面标定物的折射反射摄像机标定方法。文献[8]中,Zhang等人研究了折射反射直线成像,通过标注平面标定块的交点来标定摄像机参数。吴毅红和胡占义给出了单视点折射反射摄像机成像点所满足的几何不变量,并将其应用于主点估计和平面场景的结构重建。吴福朝、吴毅红等人进一步探讨了利用点的信息标定全景摄像机的方法。文献[9]研究空间点在球面上的投影点之间的距离应满足的性质,然后根据该性质构造内参数的约束方程组,从而实现参数标定。

4)自标定方法。Kang[10]根据折射反射所成图像的特征,利用对应点之间相互关系的一致性,提出了一种可行的抛物面镜折射反射摄像机自标定方法。针对抛物面摄像机的成像特点,文献[11]探讨了利用扩展的基本矩阵实现参数标定的算法。该方法中的扩展基本矩阵封装了系统的非线性成像过程,从而避开了复杂的数值计算。

以上方法中,基于球的方法和基于直线的方法大多需要从图像中拟合二次曲线,其拟合精度直接决定系统的标定精度。鉴于直线在成像平面上投影的特性,其投影无法总是满足封闭的二次曲线,在实现二次曲线精度拟合的过程中,因为遮挡的关系,图像中直线成像总是部分缺失,所以精确的拟合实现总是很困难。圆像在折射反射摄像机下所成的曲线也由于遮挡关系,存在以上问题,虽然文献中有提出圆像、椭圆拟合的方法,但其方法也不能适用于一般的场景,而基于控制点的方法主要利用空间点的图像信息建立系统参数的约束方程,完全克服了以上缺点。

3 结束语

全景摄像机的标定技术主要涉及成像系统的几何模型以及相应的标定方法。该文根据全景成像系统的成像原理简要介绍了旋转拼接全景成像系统、鱼眼镜头成像系统和折反射全景成像系统。对全景摄像机标定方法进行了分类,主要分为基于球的方法、基于直线的方法、基于控制点的方法以及自标定方法。全景摄像机标定技术的选择对于全景摄像机能否在实际中得到自如的应用具有非常重要的意义。

摘要:随着科学技术的发展,大视场成像的迫切需求推动了全景摄像机技术的发展,而全景摄像机标定技术亦日益成为一个研究热点。全景摄像机的标定技术主要涉及成像系统的几何模型以及相应的标定方法。该文根据全景摄像机成像原理对全景摄像机成像模型进行了简要分析,然后对全景摄像机标定方法相关文献中的方法进行了分类,并对各方法进行了分析。

关键词:全景摄像机,成像模型,摄像机标定

参考文献

[1]孙凤梅,胡占义.摄像机简化模型对三维重构的影响——分析与实验[J].计算机辅助设计与图形学学报,2005,17(10):2257-2262.

[2]段福庆,吕科,周明全.基于空间共线点的单光心反射折射摄像机标定[J].自动化学报,2011,37(11):1296-1305.

[3]Ying X,Hu Z.Can We Consider Central Catadioptric Camerasand Fisheye Cameras within a Unified Imaging Model[C].Proc.European Conference on Computer Vision(ECCV04),2004,1:442-455.

[4]Duan H,Wu Y.A Calibration Method for Paracatadioptric Cam-era from Sphere Images[J].Pattern Recognition Letters,2012,33(6):677-684.

[5]Barreto P,Araujo H.Geometric properties of central catadiop-tric line images and their application in calibration[J].IEEETrans.on Pattern Analysis and Machine Intelligence,2005,27(8):1327-1333.

[6]Kanatani K.Calibration of Ultrawide Fisheye Lens Cameras byEignevalue Minimization[J].IEEE Trans.on Pattern Analysisand Machine Intelligence,2013,35(4):813-822.

[7]Wu F,Duan F,Hu Z.A new linear algorithm for calibrating cen-tral catadioptric cameras[J].Pattern Recognition,2008,41(10):3166—3172.

[8]Zhang L,Du X,Zhu Y,et al.Centra catadioptric camera calibra-tion with single image[C]//Acoustics,Speech and Signal Pro-cessing,2009.ICASSP 2009.IEEE International Conferenceon.IEEE,2009:1253-1256.

[9]Tahri O,Araujo H.Efficient Iterative Pose Estimation using anInvariant to Rotations[J].IEEE Trans.on Cybernetics,2014,44(2):199-207.

[10]Kang S B.Catadioptric self-calibration[C]//Computer Visionand Pattern Recognition,2000.Proceedings.IEEE Conferenceon.IEEE,2000,1:201-207.

[11]张备伟,陈胜勇,王子为.一种抛物面摄像机系统的标定方法[J].计算机工程,2012,38(6).

摄像头标定 篇2

在现有的多媒体教学和商业PPT展示中激光笔的作用仅仅局限在指示与翻页作用的局限下, 我们项目组对激光的作用进行了延伸性的研究, 提出了一种基于图像捕捉的多媒体远距离操控的研究, 研究项目中, 由于机械安装或是非可控因素的干扰, 采集到的图像与原图像相比不可避免的会有轻微倾斜与旋转, 而对摄像机进行必要的标定和将采集到的红外激光点在图像校正的技术上进行相应的坐标转换是项目总最为关键的一部分。

1 图像变形校正

要实现对激光点的准确定位, 必须对摄像头采集到的图像进行边界提取, 可以通过设定阈值来实现, 继而可得激光点相对边界的坐标, 但如果摄像机拍摄得到的图像本身就有一定的线性倾斜形变, 即有原来的竖直线变成了倾斜线, 有原来规则的长方形平面变成了菱形平面[1], 如图1所示, 那么我们得到激光点相对坐标就无法代表激光点原本的几何位置信息, 如果我们能先对摄像头进行标定[2], 得到倾斜后的图像与原图像的坐标转换关系, 就可以将提取到的相对坐标还原回真实物理坐标。

通过大量查阅资料, 目前图像倾斜角检测的方法最典型的, 最流行的主要分为三大类:Hough变换法[3]、投影变换法和Fourier变换法。

其中, Hough变换是将图像中的共线点变换到参数空间中为一簇相较于某点的直线。若能在参数空间中检测出该交点P, 即局部最大值[3], 可以有效识别直线, 它的优点是受噪声曲线间断的影响较小, 但其巨大的运算量成为图像处理的一个瓶颈。

另外, 投影变换法是指沿着某一个特定方向, 统计出黑像素点的个数的统计图, 可以计算出图像的水平倾角和垂直倾角, 算法简单, 但是基于投影法的倾角检测算法需要通过比较投影统计值来确定倾斜的角度, 导致计算需要量非常大, 并随倾角的增大。

上述几种为了更好的实现系统的准确定位与控制, 并建立在不过多占用CPU处理时间的基础上, 在大量查阅资料建立起摄像头标定模型的基础上, 笔者在下文中针对项目组系统创新性的提出了一种基于待定参数法的摄像头标定与坐标转换方法。

2 摄像头标定模型与坐标转换

如图1所示的图形倾斜形变模型可以分解为如图2、3的水平倾斜和垂直倾斜。

在水平倾斜的情况下, 图像不存在, 错位偏移, 只是被测对像平面的水平轴X'和图像平面X轴有一定的倾斜角a, 只要求取水平倾斜角度a, 将图片旋转-a角度实现图像的水平校正, 其中旋转公式为式1;在垂直倾斜的情况下, 这是的倾斜实际上是同一行间像素的错位偏移, 只要检测到垂直倾斜角度, 再进行错位偏移校正即可, 转换公式为式2

将两式进行矩阵相乘后可得到图一所示的旋转模型-式3。

这种情况下, 若要求得坐标转换模型, 则需要通过Hough变换法、投影变换法或者Fourier变换法来求得两个角度, 计算量大, 严重影响系统运行速度。但笔者发现, 由于是二维转换, 上诉的矩阵模型可抽象成带四个待定参数的方程组, 若能在安装投影仪和摄像头初期, 或者是在系统需要校准的时候对摄像头进行标定, 理论情况下, 只需采集四组对应坐标, 即可通过高斯迭代法, 求二元一次方程, 这极大的减少了程序的算法复杂度, 优化了程序, 使运算更快速。

进入摄像头标定模式后, 在投影仪中投影出长宽已知, 格点边长已知的棋盘图样, 如图4右所示, 采集整幅图像, 经过滤波去噪处理后, 通过逐行逐列扫描检测边缘跳变, 可以辨识棋盘角点坐标, 为增强参数的可靠性, 系统标定时会采集相对多的数据, 通过与实际几何图像的坐标意义对应关系求出适应不同环境的参数a、b、c、d。从而有效的实现了系统的倾斜变形还原。

3 结束语

笔者针对项目组的系统建立了固定参数模型, 为适应不同环境投影仪上的摄像头的倾斜程度不一, 可在系统中加入摄像头标定, 将坐标转换参数设为可调, 根据不同的环境参数只需标定一次即可投入使用, 若因后期非确定因素干扰导致的环境参数变动而使系统定位不准确, 只需进入校准模式, 重新标定摄像头, 调整可调参数并保存即可。实验证明, 此方法在适应不同的倾斜程度上有良好的校正效果。

摘要:文章提出的图像校正模型建立在摄像头采集图像并捕获红外激光点的基础上, 在分析讨论了几种经典图像校正方法后, 提出了一种简单易行的基于待定参数法的图像校正的坐标转换公式, 并进行了理论性分析与验证。

关键词:图像校正,坐标转换,摄像头标定,待定参数法

参考文献

[1]张广军.机器视觉[M].北京:科学出版社, 2004.

[2]杨必武, 郭晓松.摄像机镜头非线性畸变校正方法综述[J].中国图像图形学报, 2005, 10 (3) :269-274

摄像头标定 篇3

关键词:摄像机标定,OpenCV,计算机视觉,透镜畸变

0 引言

摄像机标定的目的,就是要建立三维世界坐标与二维图像坐标之间的一种对应关系。在单目视觉中,这种对应关系是一对多的对应,即二维图像上的一个像素点对应着三维空间中的一条直线;而在双目视觉中,可以通过两幅二维图像上的对应像素点计算得到三维世界坐标与二维图像坐标的一一对应关系。由此,便可以得到物体的三维坐标值。

目前常用的标定方法是由Tasi首先提出的基于“两步法”的传统摄像机标定方法[1]。随后,张正友提出用二维平面模板来标定摄像机,他的方法首先利用线性和非线性方法求取摄像机内外参数的初值,然后再解非线性最小化方程,以求得内外参数的精确解[2]。因此,其无论在精度方面,还是在简便方面都优于Tsai的方法,可以说它是两步法的代表,从而使摄像机标定技术大大前进了一步。

Open CV(Open Source Computer Vision Library)是Intel开放计算机视觉函数库,具备强大的图像和矩阵运算能力[3]。尽管有很多求解摄像机参数的方法,Open CV函数库中提供的摄像机标定方法就是基于张正友的标定方法。Open CV中的摄像机标定模块为用户提供了良好的接口,并且执行速度快,具有良好的跨平台移植性,因此可以很好地应用于工程实际当中。

1 摄像机标定原理

1.1 理想摄像机模型

如图1所示[4],首先在棋盘模板平面上,建立世界坐标系(xw,yw,zw),世界坐标系的原点为Ow;然后以摄像机透视中心Oc为坐标原点,并使其xc轴和yc轴分别平行于像平面(Image Plane)坐标系的x轴和y轴,且方向相同,zc轴为摄像机镜头的主光轴,按右手定则建立摄像机坐标系(xc,yc,zc);再以像平面上像素坐标值(0,0)的点为坐标原点O,以水平像元阵列方向为u方向,以垂直像元阵列方向为v方向,建立图像像素坐标系(Pixel Image Coordinate)(u,v);最后以主光轴与像平面的交点Od为坐标原点,建立图像物理坐标系(Physical Image Coordinate)(xd,yd),并使其坐标轴分别平行于图像像素坐标系。

建立好以上4个坐标系后,棋盘模板平面上的一点pw(xw,yw,zw),在不考虑透视畸变情况下,其成像点在图像像素坐标系下的坐标pu(u,v)记为[2]:

式中:zc为pw点在摄像机坐标系下的深度;A3×3为摄像机内参数矩阵;(R3×3t3×1)是摄像机的外参数矩阵;R和t分别表示世界坐标系相对于摄像机坐标系的旋转矩阵和平移向量。其定义如下:

式中:a,b分别表示在x和y方向上像点的物理坐标到像素坐标的比例系数;u0,v0表示主光轴与像平面的交点(主点)在像素坐标系下的坐标;参数c描述了2个图像坐标轴之间的歪斜(即2个坐标轴不完全垂直的情况)。需要说明的是,考虑到当前的像机制造水平,可以认为2个坐标轴是垂直的,因此在Open CV所使用的模型中认为c=0。

在张正友的平面标定法中,标定板位于世界坐标系的z=0平面内,即对于模板上的点,其zw=0,这样式(1)重写为[5,6]:

式中:r1,r2,r3为旋转矩阵R3×3的列向量。令H=(r1r2r3)=A(r1r2t),H称为模板和图像之间的单应矩阵(Homography)。式(2)可以改写为:

通过一系列运算后,就可以得到摄像机的所有内参数和外参数[2,4]。

1.2 引入畸变后的摄像机模型

以上表示的是理想情况下的透镜成像方程,然而由于实际的像机存在着制造精度误差,因此实际的摄像机存在着径向、切向畸变。

这里,为摄像机定义一个归一化的图像平面,这个平面平行于摄像机的像平面,且到针孔的距离为单位长度。接着在这个平面上建立一个坐标系,原点在光轴和这个平面的交点处。由针孔透视投影可知,摄像机坐标系下的点(xc,yc,zc)在这个归一化的像平面上的投影点的坐标(xn,yn,1)可以写为:

引入透镜的畸变后,新的归一化坐标值定义为[7]:

式中:r2=xn2+yn2;k1,k2表示径向畸变系数;k3,k4表示切向畸变系数。

应用上述畸变模型后,最终成像点在图像像素坐标系下的坐标为:

当4个畸变系数为0时,上面的公式退变成[8]:

1.3 标定方法

Open CV中的摄像机标定是基于张正友的平面标定方法来完成的[3,5]。该方法要求使用一个具有较高绘制精度的棋盘模板,然后通过自由移动摄像机或标定模板,使得摄像机至少在3个不同的位置(相对标定模板)拍摄模板图像。在求解相机内外参数时,第一步暂不考虑摄像机镜头的畸变,通过将检测到的所有角点代入投影方程,求得模板和图像之间的单应矩阵H,然后确定摄像机的内部参数和外部参数的初始值。第2步,再以这些参数为初始值,考虑畸变的影响,应用LevenbergMarquardt算法对图像点与再投影点间的距离之和进行非线性最小优化,以得到一组精度更高的值[9]。

2 基于Open CV的标定系统实现

摄像机标定算法的流程如图2所示。

(1)初始化。用cv Create Mat()函数为摄像机的内外参数以及所有图像最大可能数量的角点分配存储空间。

(2)读取一副标定用的图像并进行角点检测。用cv Find Chessboard Corners()函数检测并提取图像中的棋盘角点位置。如果返回值为1,则表示该幅图像上提取的角点数目和设定的相同,角点提取成功;否则返回0,表示角点提取失败,即该幅图像中提取到的角点数要少于设定的数目。

(3)细化角点坐标并绘制。对提取到的角点,需要使用cv Find Corner Sub Pix()函数对这些角点进一步的细化,以得到更为精确的角点像素坐标。而后,调用cvDraw Chessboard Corners()绘制提取到的角点。

(4)对于角点提取成功的图像,存储角点在世界坐标系下的坐标值以及在图像坐标系下亚像素级的坐标值。

(5)读取完所有图像后,根据角点提取成功的图片数量,为它们中的所有角点重新分配数据空间,并释放原有的数据空间。

(6)标定。调用cv Calibrate Camera2()函数,求取摄像机的内外参数。需要注意的是该函数输出参数里的rotation_vectors矩阵。

该矩阵里的每一行(或列)向量表示的是相应的一副图像所对应的旋转向量,当需要转换成旋转矩阵时,要使用罗格里格斯变换函数(cv Rodrigues2)。

(7)标定结果的误差分析。这里使用重投影的方法来计算标定误差,即根据得到的摄像机内外参数,调用cv Project Points2()计算角点三维坐标在图像上的投影坐标,然后,调用cv Norm函数将其与通过角点提取到的投影坐标进行比较,从而得到一个均方误差值。

(8)计算每幅角点提取成功图像的旋转矩阵、旋转向量和平移向量。

3 试验与结果分析

根据以上标定原理和开发步骤,本文在Windows XP平台下,用Visual C++开发了一个基于Open CV 1.0版本的摄像机标定程序。试验使用Canon IXUS 85IS型照相机,分辨率为640×480像素。标定所用的模板是在A4纸上用激光打印机打印的黑白相间的国际象棋图案,然后将其粘贴在平板上。

模板中方格边长为30 mm,共有6×8=40个角点。利用9副图像对摄像机进行标定,检测出的角点如图3所示,标定结果如表1第2列所示,总体平均误差为0.031 562 6个像素。

为了验证标定结果的正确性,本文还利用Matlab中标定工具箱对这9副图像进行了摄像机标定,结果如表1第3列所示。从中可以看出,两者的值是非常接近的,因此证明了本文标定程序的正确性。

4 结语

摄像头标定 篇4

关键词:摄像机标定,同心圆环,圆心检测

计算机视觉的研究目标是使得计算机能够通过二维图像认知三维环境, 而摄像机是三维空间向二维空间的一种映射, 计算机视觉的一个关键步骤就是摄像机标定。所谓摄像机标定就是求解摄像机内外参数的过程, 具体而言即首先获取图像的相关信息, 然后根据三维环境中物体表面某点的三维坐标位置与其对应图像中点的坐标位置的相互关系, 构建摄像机成像的几何模型;最后经过试验和计算得到三维环境中物体的位置、形状等信息。

根据是否需要标定物, 摄像机标定方法可以分为两大类[1]:基于标定物的摄像机标定方法以及摄像机自标定方法。相机自标定是指不需要场景中物体几何数据等先验知识, 仅仅通过相机运动所获取的图像序列来标定内部参数, 虽然应用范围广, 但是鲁棒性有待提高。基于标定物的摄像机标定方法在标定过程中需要使用结构已知的标定物作为参照, 其基本原理是首先计算标定物上点的三维坐标与图像上对应点的约束关系, 然后根据这一约束关系利用一定的算法来确定摄像机的内外参数, 虽然应用范围受限, 但是鲁棒性高。张正友的平面模板法[2,3]是一种经典的应用较为广泛的模板标定方法。该方法考虑了相机的径向畸变和切向畸变, 用普通相机从不同位置和方向拍摄几幅平面棋盘格模板图像, 通过映射关系来求解摄像机的内参, 再计算摄像机的外参, 从而进行标定。基于圆点模板标定方法[4]通过三维坐标已知的原点模板和多视角图像自动地获取单应矩阵和摄像机参数, 并初步得到物体的三维信息, 标定过程简单, 自动化程度高。

本文提出了一种新的基于同心圆环模板的摄像机标定方法。同心圆几何信息比较丰富, 便于特征的检测与提取, 因此本文使用同心圆作为相机标定的模板, 利用射影几何内在约束条件来对同心圆图像投影的几何结构实现优化, 求出单应矩阵H, 从而进一步计算出摄像机内外参数, 且标定后期无需进行畸变校正。通过与张正友和Vogiatzis的圆点模板标定方法[5]进行模拟实验和真实图像实验验证本文提出方法的各方面性能。

1 基于同心圆模板的摄像机标定

1.1 同心圆圆心的检测

本文使用的同心圆模板在图像中的投影为一对曲线 (椭圆) , 主要参考在欧氏空间中圆心的检测方法找出该曲线对的中心[6]。如图1所示为欧氏空间中一对同心圆, 画一条通过该同心圆的直线, 交外圆于A、A', 交内圆于B、B', 则可得到线段AA'和BB'的两个中点:点P以及无穷远点Q (如图1所示) , 在交比的概念中, P、Q两点分别为线段AA'、BB'的内调和分割以及外调和分割, 并且当它们满足下式时可以称为是一对调和共轭点:

通过使用摄像机拍摄该同心圆将其投影到图像上, 如图2所示, 由于调和分割在投影几何中具有不变的性质, 则可以得到式 (2) 。

式 (2) 中, a、a'、b以及b'分别是点A、A'、B以及B'在图像中的投影, 通过式 (2) 可以得到一个二次方程式, 该方程式的解即为点p以及点q, 在此基础上, 通过将解约束在线段aa'上则可以得到中点p的值。

通过在图像平面上任意选择一个点p得到同心圆投影图像的中心, 具体的方法为:首先经过任意一点p画直线, 得到该直线与两个曲线 (同心圆的投影图像) 的交点, 根据式 (2) 构建一个二次方程式, 解得该线段的中点p1, 再通过点p1画另外一条直线, 重复上述步骤, 得到点集pi, 当pi与pi-1的距离小于一定值时, 停止循环, 则认为最后得到的中点pi为两个曲线的中心。

1.2 相机标定

1.2.1 准备模板

准备一个包含数个同心圆对的模板, 如图3所示, 每个圆的圆心位置是已知的, 模板中至少要有2对同心圆, 从不同的角度拍摄模板, 至少得到3幅模板图像。

1.2.2 标记初始点

由文中前面介绍的原理可知, 随机选择图像中的一个点作为初始点, 并画出一条经过该点的直线, 如果该直线经过一对曲线 (同心圆的投影图像) , 则可以得到该对曲线的中心点, 如果该直线并没有与任何一对曲线相交, 则重新选取另外一条曲线。本实验采用在图像中标记一些像素点作为初始的“种子点”的方法, 如图4所示, 先标出其中一个初始种子点, 种子点的密度是由图像的尺寸大小决定的 (保证每个同心圆内均有种子点) 。在随机选取直线时, 为了方便, 本实验使用的是垂直和水平的直线, 如图中黑色直线所示。

1.2.3 检测边缘点

实验采用基于分形维数的边缘提取方法实现模板的边缘提取, 然后在边缘像素中找出与选取的随机直线相交且距离种子点 (如图4中的红点) 最近的4个边缘像素点。

1.2.4 交点的校准

假设当前处理的弦中点为pi-1以及直线Li, 那么调和共轭点pi以及qi可以通过使用上述步骤检测得到的4个边缘点 (即直线与曲线对的交点) 计算得到, 则定义交比为式 (3) 。

如果上述4个点确实是直线与曲线对的交点, 则其对应的交比ρi应该是一个递增序列, 并且收敛于两圆半径之比, 这是由于当圆中弦的中点越接近圆心, 则该弦的长度则会逐渐增加, 直至等于圆的直径, 如式 (4) 。

在计算交比的过程中, 可以去除一些不在曲线区域内的初始点。在完成这一步后, 最终将得到曲线对的中心o, 位于隐消线上的点qi以及曲线对上的点ai、a'i、bi、b'i。

1.2.5 射影不变描述

同心圆环的投影图像是一个曲线对, 曲线对存在两个射影不变量Trace (C1-1C2) 及Trace (C2-1C1) , 因此这两个变量可以用来作为本实验的射影不变描述[7]。但也可以使用式 (4) 中的交比来更简单地实现射影不变描述, 如式 (5) 。

式 (5) 中, o为图像中曲线对的中心, a和b分别为通过o点的直线与曲线对的交点, p是该直线的隐消点。由于o和p在前面的步骤中得到, 因此为了简便, 在本实验中使用交比作为射影不变描述。

1.2.6 一致性约束优化

若已知同心圆圆心在图像中的投影, 以及隐消线上的点, 则可利用射影几何内在约束条件来对同心圆图像投影的几何结构实现优化[8]。如图5所示。

两条二次曲线上的点具有一致性关系, 如图5所示, 假设已知一条由圆心o在图像上的投影以及隐消线I!上的点q确定的直线, 该直线分别交两条二次曲线同侧于a、b两个点, 若同心圆圆心o的图像投影为不动点, 隐消线I!为不动线, 则这两个点满足以下关系λb=Ga, 两条二次曲线的关系可以表达为

式 (6) 中G可以通过不动线, 不动点以及交比参数化得到:

式 (7) 中, I3×3为3×3的单位矩阵。由极点-极线的关系, 圆心o的图像投影、隐消线I!以及外曲线C1的关系可以表达为

式 (6) 、式 (7) 及式 (8) 为曲线、圆心的图像投影以及隐消线的内在约束, 对于一对具有约束的二次曲线, 至少需要7个参数来实现参数化, 例如, 使用外曲线的5个参数以及隐消线的2个参数, 求下式的最小化。

式 (9) 中, C2由C1以及I!参数化得到, 式 (9) 的最小化可以通过L-M算法实现, 对于图像中所有的二次曲线对, 均可用上述类似的方法实现参数化, 最终, 根据对应的圆环点对以及所检测出的圆心就可以估计出单应矩阵。

1.2.7 摄像机参数求解及优化

完成第1.2.6节就可以求出单应矩阵H, 通过单应矩阵H可以实现摄像机内外参数的求解。考虑到摄像机镜头的畸变以及拍摄图像时引入的噪声会影响相机内外参数的精度, 本文将引入光束平差法[9]实现相机参数的优化。

2 实验及结果分析

实验将使用上述的基于同心圆的摄像机标定方法进行模拟实验, 并使用真实图像进行真实实验。

2.1 圆心检测实验

根据前文所介绍的圆心检测方法, 可以实现同心圆投影图像中心的识别, 为了验证该方法, 本文对一对同心圆的投影图像进行检测, 其结果如图6所示。

图6中红色的菱形标记表示初始点, 圆点表示直线与椭圆相交的边缘点, 正方形标记表示每条直线计算得到的中心点。由该图可知, 本次中心点的检测共经过了6次迭代 (为了能够清楚显示6次迭代的过程, 本实验在每次迭代时均选取了不同方向的直线) , 最后一次迭代对应的弦中点即为该同心圆投影图像的中心点。需要注意的是, 由于摄像机存在径向畸变等原因, 同心圆投影图像的中心点并非单纯是内椭圆的中心, 因此如果使用hough变换求中心值, 必定会存在畸变误差。

2.2 相机标定模拟实验

在模拟实验中, 摄像机参数的设置为α=β=900, u0=512, v0=384, s=0.01, 分辨率为1 024×768。

2.2.1 检测噪声对摄像机标定结果的影响

在本实验中, 为了能够检测得到本文使用的方法的抗噪性, 将均值为0, 标准方差为σ (实验取0.2~3) 的高斯噪声加入图像。本实验使用模拟的摄像机拍摄5张照片, 最终将计算得到的摄像机参数与真值相比较, 计算出参数的相对误差, 实验结果如图7所示。随着噪声的不断加强, α、β、u0、v0四个参数的相对误差呈现递增的趋势, 但总体保持在非常小的范围内 (在噪声均方差为3时, u0、v0相对误差在3%左右, α, β在1%左右) , 可见本实验方法具有良好的鲁棒性。

2.2.2 检测图像数对摄像机标定结果的影响

在本实验中, 通过改变模板图像的数目来测试本摄像机标定方法的性能。由于本方法至少需要3张图像, 因此, 在实验中将分别使用3~15幅图像分别估计摄像机参数。结果如图8所示, 可以看到当图像数量从3幅增加到4、5幅时, 各个参数的相对误差明显有降低的趋势, 但图像数继续增加相对误差的下降趋势逐渐减少, 并且最终保持不变。通过这个实验得出的结果, 本实验后期真实数据实验时将选择5幅模板图像作为标定使用。

2.2.3 实验结果比较

本实验将本文使用的同心圆相机标定方法分别与张正友标定方法 (本文使用Bouguet的标定工具箱实现) 以及Vogiatzis的基于圆点模型的方法进行比较, 模板如图9所示, 同样使用上述模拟相机分别对张正友模板以及圆点模板进行拍摄, 分别得到5幅图像, 在不同密度的噪声下对相机内参α、β、u0、v0进行估计, 并比较其相对误差, 结果如图10、图11所示。

2.3 真实图像标定实验

(1) 模板准备。将本文使用的平面模板在A4纸上打印出来, 固定在平整的平面上, 然后使用摄像机从多个不同的角度拍摄模板图像, 拍摄的图像序列如图12所示。

(2) 实验结果。首先使用第一节提到的方法实现同心圆圆心的检测, 以图12中 (a) 为例, 检测结果如图13所示。

图13 (a) 中, 菱形点表示所有初始种子点中的收敛点, 红色‘+’号表示同心圆的中心, 数字为同心圆的索引号。

图13 (a) 中同心圆坐标检测结果如表1所示。

根据第二节中的方法实现相机标定, 最后计算得到的摄像机内参数结果为

从以上的实验结果可以看到, 摄像机内参结果的纵横比接近于1, 倾斜角度近似于90度, 为了验证本文方法标定结果的合理性, 在不改变摄像机内参数值的情况下使用张正友的方法实现摄像机标定, 拍摄的图像如图14所示。

得到的标定结果如表2所示。

由Bouguet工具箱的标定结果, 可以看出本文所使用的标定方法的结果是可靠的。

3 结论

本文提出一种基于同心圆模板的相机标定方法, 应用几何方法实现同心圆圆心的检测及相机标定。该方法能够实现全自动的模板特征检测、识别以及后期的内外参数计算, 且标定后期无需进行畸变校正。将该方法分别与张正友的方法以及Vogiatzis的方法通过模拟实验和真实图像实验进行比较研究, 大量实验结果证明本文提出的摄像机标定方法精度更高, 鲁棒性更强。

参考文献

[1] 陈爱华, 高诚辉, 何炳蔚.计算机视觉中的摄像机标定方法.中国工程机械学报, 2006;4 (4) :498—504

[2] Zhang Zhengyou.A flexible new technique for camera calibration.IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000;11 (22) :1330—1334

[3] Zhang Zhengyou.Camera calibration with one-dimensional objects.IEEE Transactions on Pattern Analysis and Machine Intelligence, 2004;7 (26) :892—899

[4] 张圆.圆结构光视觉检测系统标定方法的研究.北京:北京化工大学, 2010

[5] Vogiatzis G, Hernández C.Automatic camera pose estimation from dot pattern.http://george-vogiatzis.org/calib/, 2010.7

[6] 李龙, 何明一, 李娜.椭圆拟合的圆环模板摄像机标定.西安电子科技大学学报 (自然科学版) , 2010;12 (37) :1148—1154

[7] 胡培成, 黎宁, 周建江.一种改进的基于圆环点的摄像机自标定方法.光电工程, 2007;12 (34) :54—60

[8] Zheng Yinqiang, Ma Wenjuan, Liu Yuncai.Another way of looking at monocular circle pose estimation.Proceedings of the International Conference on Image Processing, 2008:861—864

[9] Lourakis M, Argyros A.The design and implementation of a generic sparse bundle adjustment software package based on the levenbergmarquardt algorithm.Inst of Computer Science-FORTH.Heraklion, Crete, Greece, 2004

摄像头标定 篇5

计算机视觉技术应用于农产品自动化收获始于20世纪八十年代中后期,是近年来热门的研究课题之一[1]。其中,摄像机标定是计算机视觉系统不可缺少的前提和基础。摄像机标定过程就是确定摄像机成像几何模型的参数,这些参数包括摄像机的内部几何和光学特性(内部参数)以及摄像机的三维位置和方向(外部参数)。根据标定的特点和算法,将摄像机标定分为传统摄像机标定方法、基于主动视觉摄像机标定方法和摄像机自标定方法。在传统的摄像机标定方法中张正友的方法因标定精度高、稳定、标定模板容易制作较为常用[2]。Bouguet方法同时考虑径向和切向畸变,并有专业的标定工具箱,应用越来越广泛[3]。在具体应用中,对于经典的标定方法有必要进行深入的讨论和比较,以给其他研究者在选择标定算法时一些参考[4]。

摄像机标定精度评估方法总的来说分为两类:一是直接检验标定的精度,即由2D图像坐标重构出空间的3D坐标与实际的空间坐标比较,以该误差大小来评价标定精度;二是以二维图像的定位精度来间接地评价标定精度,即以“3D”空间坐标投影到图像平面的“2D”坐标,与实际提取的图像“2D”坐标的误差做为评价标定精度的方法[5],此处误差即为图像残差。目前,基于第一类的评估方法有Tsai提出的测量三维世界坐标的精度准则。Weng提出的使用三角测量误差与摄像机量化误差的比值作为评估方法[6]。全厚德等提出了基于棋盘格长度的评估方法[6]。在第二类评估方法中,葛动元等以图像残差均方值作为标定精度的性能指标,进行精度分析[7],实用性较强。

由于实验条件的限制,对于具体的摄像机标定参数而言,一般很难得到非常精确的“3D”空间坐标真值作为绝对的参考。本文在实际的摄像机标定实验环境下,对张正友和Bouguet标定方法采用第二类方法,并利用图像残差来比较二者的标定精度。

1 摄像机的成像模型

张正友和Bouguet都是利用传统模型进行标定。此模型共有4套坐标系:世界坐标系(OW,XW,YW,ZW)是物体点P的三维坐标,是由用户自己定义的;摄像机坐标系(OC,XC,YC,ZC)是以摄像机光心OC为原点,以垂直于图像平面的摄像机光轴为ZC轴,XC轴和YC轴平行于图像平面;图像的物理坐标系(O1,x,y);(xu,yu)和(xd,yd)分别为理想和畸变矫正后像点的物理坐标,(xp,yp)为像点的像素坐标。空间物点P到像点P的转换就通过这4套坐标系经过3次转换而得来的。具体模型公式转换关系如表1所示。

参数说明:R为旋转矩阵;T为平移矩阵;f表示有效焦距;Sx为尺度因子;dx,dy表示x和y方向相邻像素中心距离;k1(T)表示Tsai方法径向畸变系数,k1(Z)表示张正友方法径向畸变系数;k1(B),k2(B),k3(B),p1(B),p2(B)表示Bouguet方法径向和切向畸变系数。

2 精度评估

2.1 精度评估理论

在摄像机标定过程中,确定了三维空间到二维图像平面的变换关系,通过标定得到的参数即可计算出已知三维坐标的物点在图像平面的投影点。假定空间一点P成像到图像平面上,实际检测到的其“2D”坐标为而利用标定得到的参数来计算图像平面上的投影点“2D”坐标为p(xpi,ypi),则与p之间的误差即为图像残差[8]。本文以图像残差的下列指标衡量标定精度。

2.1.1 x方向图像残差均值

式中n—格点的数目。

2.1.2 y方向图像残差均值

2.1.3 总的图像残差均值

2.2 计算过程

本文采用Bouguet提出的角点提取算法检测实际像素坐标。首先,以标定板平面左上角为空间坐标原点,以毫米为单位,计算每个格点的x和y轴坐标,确定“3D”坐标;然后,利用此“3D”坐标,并根据已经标定得到参数,推导出图像像素坐标。Bouguet方法的图像残差指标计算具体过程如下:

设格点的空间坐标为P(XW,YW,ZW),像机坐标为(XC,YC,ZC),理想图像坐标为(xu,yu),实际的图像坐标为(xd,yd)。根据针孔成像模型、已经计算出旋转矩阵R及平移矩阵T,由式⑴和式⑵计算得到理想图像坐标为(xu,yu),再由畸变式⑸计算得到实际的图像坐标(xd,yd),根据式⑹,推导出像素坐标(xp,yp),即“3D”坐标在图像平面的投影点坐标。利用实际检测到空间点P的像素坐标根据式(7)和式(8)计算图像残差均值,式(9)计算Ed。

对于张正友方法,除了在计算(xd,yd)时所利用的畸变公式不同之外,其他的计算步骤均与上述过程相类似。

3 实验及分析

本文实验平台组成:系统主机配置的CPU为英特尔赛扬D3.06GHz,内存为512MB。视觉部分由两套DH-HV3100FC数字摄像机(分辨率为2048×1536)和COMPUTAR的M0814-MP定焦镜头(焦距为8mm)组成。实验所用的标定块是一块贴有A4大小,带有7×9的黑白棋盘格的平面板。黑白棋盘格的大小为22mm×22mm。

实验中从不同角度和不同的深度拍摄多幅图片。实验第一步,在使用Bouguet方法标定时,研究不同数量的图片对标定精度的影响。实验中共拍摄了40张图片,随机选择1到30张图片分别进行标定,实验共进行5次,并利用2.2节所述方法计算每次标定的图像残差的Ed。为说明实验结果的可靠性,计算5次Ed值的均值,记为_Ed,并画出变化图如图1所示。

在图1中,横轴表示图片的数量(单位:张),纵轴表示Ēd(单位:像素)。从图1观察到当选择5幅图片标定时,Ēd最小,为0.1753,但是Ēd会随着图片数量的变化而变化,变化到一定程度趋于稳定。可以看出,对于Bouguet方法,标定图片的数量对于标定的精度和稳定性有着很大的影响。当使用5张图片时,标定的精度最高,但并不稳定;当标定图片达到20张左右时,标定的结果相对稳定。

实验第二步,选择同样的5幅图片分别使用Bouguet方法和张正友方法进行标定实验,并按照2.2节所述方法计算出图像残差均值和Ēd值(见表2所示)。为了直观性和形象性,同时画出图像残差的直方图,如图2和图3所示。

像素

从表2可以看出,对于同样的标定实验,Bouguet方法x和y方向图像残差均值为0.120 0和0.060 8,_Ed值为0.139 7;而张正友方法x和y方向图像残差均值为0.1216和0.071 8,_Ed值为0.149 9。由图2可以看出,前者的标定精度更高。本文使用直方图(如图2和图3所示)更加形象地描述这一观点,纵轴表示格点数量(单位:个数),横轴表示像素误差(单位:像素)。在同样的标定环境下,在x轴方向,Bouguet方法有近100个格点的图像残差接近0,而张正友方法则只有不到70个格点的图像残差接近0。因此,比较两幅直方图也可以直观地看出Bouguet方法的标定精度更高。

4 结语

本文以自制的标定模板,用基于图像残差的精度评估方法对Bouguet和张正友摄像机标定方法的精度进行了比较。实验表明:利用Bouguet方法标定时,标定结果随着图片数量的变化而变化,标定图片为20张左右时,标定结果最为稳定;当选择5幅图片标定时,标定精度最高。对于同样条件的标定实验,即同时选择5幅图片标定,Bouguet方法的x轴和y轴方向图像残差均值Ēd以及图像残差值均低于张正友标定方法的各相应残差均值。实际应用中,在设定标定物体的空间坐标后,能够应用本文方法快速、有效地对视觉系统的精度进行定量的评价,为整个系统误差分析提供了参考。

摘要:为了选择较好的摄像机标定方法,采用Bouguet和张正友的标定方法分别进行了摄像机标定,以图像残差作为精度评估标准对两种方法的标定结果比较。实际实验表明:Bouguet方法的标定精度随着标定图片数量的变化而发生变化,在使用5张图片时,标定精度最高;在同等条件下与张正友方法进行比较,Bouguet方法标定精度更高。标定精度比较结果为实际应用中的摄像机标定方法选择、标定精度评价方法和具体标定试验中图像数量的选择等提供了重要的参考。

关键词:摄像机标定,精度评估,图像残差

参考文献

[1]何东健,张海亮,宁纪锋,等.农业自动化领域中计算机视觉技术的应用[J].农业工程学报,2002,18(2):171-174.

[2]Zhang Z.A flexible new technique for camera calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.

[3]Jean-Yves Bouguet.Visual methods for three dimensionalmodeling[D].Pasadena California:California Institute of Technology,1999.

[4]曾建兰,黄昶.摄像机标定精度的比较研究[J].中国科技信息,2007(22):56-57.

[5]Joaquim Salvi,Xavier Armangue,Joan Batlle.A compara-tive review of camera calibrating methods with accuracy evaluate on[J].Pattern Recognition,2002(35):1617-1635.

[6]全厚德,闫守成,张洪才,等.计算机视觉中摄像机标定精度评估方法[J].测绘科学技术学报,2006,23(6):222-224.

[7]葛动元,姚锡凡.基于瑞利原理摄像机标定的精度研究[J].计量学报,2009,30(1):11-15.

摄像头标定 篇6

目前, 线性摄像机标定技术的研究集中在如何有效地、合理地确定非线性畸变校正模型的参数上[7]。本文采用的算法全面考虑了径向畸变和切向畸变, 通过建立和求解超定线性方程组计算出畸变系数, 然后利用约束方程求解线形方程组, 来确定摄像机外部参数和内部参数。该算法全部过程采用线性方法求解全部参数, 不仅简单快捷, 而且没有非线性算法中可能存在的不稳定性, 实用性较强。

1 双目摄像机标定模型与原理

1.1 摄像机标定模型

如图1所示, 计算机图像坐标系o0uv, 坐标系原点在图像左上角, 以像素为单位。图像平面坐标系o1xy, 原点位于摄像机光轴与图像平面坐标系的交点, 利用透视变换原理可知, 该原点与图像平面的几何中心重合, x轴平行于u轴, y轴平行于v轴。o1点在坐标系o0uv中的坐标为o1 (u0, v0) 。摄像机坐标系是以摄像机光心o为原点的坐标系, 记为XcYcZc。oo1之间的距离为摄像机的焦距f。P点为空间点, 在摄像机坐标系中的坐标为 (XcYcZc) 。P点与图像坐标系的交点为P′, P′点在小孔摄像机模型下的图像坐标为 (xu, yu) , 由透镜畸变引起的实际图像坐标为 (xd, yd) 。

摄像机标定包括四个坐标系之间的转换:即计算机图像坐标系、图像平面坐标系、摄像机坐标系和基准坐标系 (世界坐标系) 。

(1) 计算机图像坐标系与实际图像坐标系之间的转换:

su、sv分别表示x、y轴方向上单位长度上的像素点数。

(2) 像平面坐标系与摄像机坐标系是中继坐标系, 在小孔摄像机模型下, 由共线方程可得两者之间的关系式:

(3) 摄像机坐标系与世界坐标系之间的转换关系可以用旋转矩阵R和平移向量t来表示, 世界坐标系记为XwYwZw。其关系式如下:

(4) 畸变模型:图像坐标系中实际图像坐标与理想图像坐标之间的转换关系:

主要的畸变误差类型有两种:径向畸变和切向畸变, 其中径向畸变是关于摄像机镜头主光轴对称的, 其数学模型[8]为:

式中:rd2=xd2+yd2, k1为径向畸变系数, (δxr, δyr) 为径向畸变坐标。切向畸变不是关于摄像机镜头的主光轴对称, 其数学模型[9]为:

式中:k2、k3为切向畸变系数, (δxt, δyt) 为切向畸变坐标。所以得到总的畸变模型:

1.2 双目摄像机标定模型

双目立体摄像测量系统与单目摄像测量系统的一个主要区别是, 除了每个摄像机的内部参数需要标定之外, 还要精确确定两个摄像机之间的相对位置。如图2所示 (这里未画出畸变效应) , 选定左摄像机作为世界坐标系。左、右摄像机相对于世界坐标系的旋转矩阵分别为R1、R2, 平移向量分别为t1、t2, 则两摄像机相对位置关系式[10]:

R21表示从右摄像机坐标系到左摄像机坐标系的旋转矩阵, t21表示从右摄像机坐标系到左摄像机坐标系的平移向量。

2 摄像机参数标定

需标定的参数为旋转矩阵R1, 平移向量t及三个畸变系数。本文提出的方法是通过求解线性方程组, 先计算出三个畸变系数, 再根据约束条件计算出旋转矩阵R, 最后求出平移向量t, 具体推导如下:

式 (5) 得:

(1) 求畸变系数:由式 (5) 可得到:

对于每一个标定点, 当已知其理想图像坐标及相应的实际图像坐标时, 可以列出一个如上的方程式。通过解超定线性方程组就可以得到k1、k2、k3。

(2) 求解旋转矩阵R和tz/f

将式 (7) 中等号右边的分子分母同除以tz/f, 令m=tz/f, X0=ftztx, Y0=ftzty[5], 其中X0和Y0是不考虑镜头畸变时, 三维世界坐标系的原点在图像坐标系中的投影, 通过整理即可得到以下矩阵形式的方程:

对每一个标定点, 当已知其三维坐标时就可以列出一个如上的方程, 式 (9) 中, 列向量的各个元素为未知数, 取6个标定点, 通过求解线性方程组, 可以计算出方程中的6个未知数, 但是为了使总误差减到最小, 取的标定点应该多于6个点, 按照最小二乘法[11]解出列矩阵。然后根据R中的矩阵约束条件, 进一步解出旋转矩阵R和m。

(3) 求解平移向量tx, ty

式 (7) 通过整理可得:

求解超定线性方程组就可以得到tx和ty。

(4) 求平移向量t和焦距f

由式 (7) 整理可得:

其中:M=r11Xw+r12Yw+r13Zw+tx, D=r21Xw+r22Yw+r23Zw+ty, N=r31Xw+r32Yw+r33Zw, 解以上线性方程组就可得到tz和f。

3 实验结果

双目立体测量系统实验设备:采用3 264×2 448像素的摄像机, 标定模板是一块具有20个同样大小方格的平面标定板, 大小为100 mm×80 mm, 如图3所示。利用Canny算子进行角点提取特征点, 并用Matlab实现。

(1) 标定实验

标定实验时, 手持标定板至少把标定板摆放在两个不同的位置, 在两幅图像中获得多于6对特征点, 最后得到左摄像机标定参数:

右摄像机标定参数:

左右两摄像机相对位置关系标定参数

(2) 将空间坐标点的实际空间坐标值与恢复后的三维空间坐标值进行比较, 利用绝对误差来表示实验精度, 如表1所示 (部分实验数据) 。

Xw、Yw表示真实三维坐标, X、Y表示标定后的三维坐标, 单位为mm。

本文提出的标定方法全面考虑了透镜的径向畸变和切向畸变, 当切向畸变较大时, 该标定方法的精度明显高于鲁新国等[5]提出的线性摄像机标定技术。文章的标定方法完全采用线性方法求解摄像机参数, 实验证明, 打接地孔[5], 这种接地方式屏蔽效果最好的。

串音现象在硬件系统中是难以完全消除的, 只能设法减小。本文只列出四种影响串音的因素, 实际上影响串音的因素很多。通过对这些因素的仿真分析, 可以得到如下几种减小串音的方法:

(1) 用平面作为返回路径, 尽量不要跨分割平面走线。

(2) 在布线空间允许的条件下, 尽可能增加信号线之间的间距。一般使线间距大于线宽三倍以上。可以使串音控制在5%以内, 这是个经验法则。

(3) 如果串扰要求严格, 信号隔离度要求比较高时, 可以采用信号线中间防护布线, 但是一定要在保护线两端或者整条线有多处接地孔。

(4) 尽量减小信号线的耦合长度。

(5) 良好的阻抗匹配可以大幅度减小串扰反射。

(6) 使用介电常数低的基板, 使用较小介电常数的材料可以使布线间距相同时的串扰减小, 或者对相同的串扰指标可以使其布线间距更小[6]。

摘要:利用透视变换原理建立双目立体摄像机数学模型, 全面考虑了镜头的径向畸变和切向畸变, 提出一种线性求解摄像机参数的标定方法, 改变了以往的摄像机标定依赖于非线性优化的缺点, 避免了非线性优化的不稳定性。该标定方法在单摄像机模型的基础上, 加入对双摄像机相对位置的确定, 通过成像过程中坐标系之间的转换, 较好地实现了双目立体摄像测量系统的标定。

关键词:摄像机标定,双目立体摄像,镜头畸变

参考文献

[1]CHANG C C, JI Y F.Flexible videogammeric technique for three-dimensional structural vibration measurement.Journal of Engineering Mechanics, 2007, 133 (6) :656-664.

[2]HU Jiuxiang, RAZDAN A, ZEHNDER J A.Geometric cal-ibration of digital cameras for3D cumulus cloud measure-ments[J].Journal of Atmospheric and Oceanic Technology, 2009, 26 (2) :200-214.

[3]SALVI J, ARMANGUE X, BATLLE J.A comparative re-view of camera calibration methods with accuracy evaluation[J].Pattern Recognition, 2002, 35 (6) :1617-1635.

[4]邱茂林, 马颂德, 李毅.计算机视觉中摄像机标定综述[J].自动化学报, 2000, 26 (1) :43-55.

[5]鲁新国, 王琰, 杨大为.基于计算机视觉的线性摄相机标定技术研究[J].沈阳理工大学学报.2007, 26 (5) :43-46.

[6]陈利红, 毛剑飞, 诸静.CCD摄像机标定与修正的简单方法[J].浙江大学学报 (工学版) , 2003, 37 (4) :406-409.

[7]高立志, 方勇, 林志航.立体视觉测量中摄像机标定的新技术[J].电子学报.1999, 27 (2) :12-14.

[8]TSAIRY.An efficient and accurate camera calibration tech-nique for3D machine vision[J].IEEE Transactions on Pat-tern Analysis and Machine Inteligence, 1986.364-374.

[9]WENG Y, COHEN P, HERNIOU M.Camera calibration with distortion models and accuracy evaluation[J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992, 14 (10) :965-980.

[10]张辉, 张丽艳, 陈江, 等.基于平面模板自由拍摄的双目立体测量系统的现场标定[J].航空学报, 2007, 28 (3) :695-701.

摄像头标定 篇7

当前广泛应用的两种基本标定算法是Roger Y.Tsai的两步标定法和张正友平面标定法。Roger Y.Tsai方法[3]是一种发展较为成熟的传统相机标定方法, 具有标定精度高、过程简单、鲁棒性高等优点, 但是此方法对标定设备的精度要求很高, 价格昂贵。张正友提出的平面标定方法[4], 所需标定模板制作简单, 只要获取标定模板两幅以上不同角度的拍摄图像, 就可得出摄像机的内部参数和外部参数, 操作简单快捷, 但是标定精度较前者也偏低。

Open CV[5]是一个开源的计算机视觉库, 它采用优化的C代码编写, 能够充分利用多核处理器的优势, 实现了图像处理、模式识别、三维重建、机器学习等方面的很多通用算法, 具有运算能力强、跨平台移植性好、开发效率高、执行速度快等优点。经过多年的发展, 目前已经具备了自动寻找角点和摄像机标定的能力, 其本身所包含的摄像机标定函数应用的正是张正友提出的平面标定算法。

基于近年来学者们在粒子群优化算法和摄像机标定方面的研究成果[6,7,8,9,10], 本文研究了改进的粒子群优化算法 (PSO) 在摄像机标定中的应用。PSO算法源于对鸟群捕食行为的研究, 是近年来发展起来的一种新的进化算法。由于该算法流程简单, 容易实现且易与具体问题相结合, 鲁棒性强, 成为了解决工程实际问题的一种有效方法。本文提出了基于带收缩因子的双适应值粒子群优化算法的新型摄像机标定方法, 实现了标定参数的进一步优化, 既保留了原有Open CV标定方法的优点, 又使得标定精度得到了有效改善。

1 摄像机模型

针孔模型是一种理想的线性模型, 没有考虑透镜所引入的各种光学畸变, 不能很好地反映实际情况。Tasi模型和Open CV算法中的摄像机模型都是在针孔模型的基础上引入透镜畸变而来的, Tasi模型只引入了一阶径向畸变, 而Open CV算法中则引入了透镜的二阶径向畸变和切向畸变, 相对于前者更能精确描述透镜的畸变情况。本研究中采用的模型即为该非线性模型。

设基于世界坐标系中的一点P (Xw, Yw, Zw) 在摄像机坐标系下的坐标为Pc (Xc, Yc, Zc) , 坐标系之间的转换关系如下

由摄像机针孔 (Pirr Hole) 模型可得

式中:R为旋转矩阵;T为平移矩阵;λ是任意比例因子;μ和v为图像像素坐标;μ0和v0为光轴与图像平面的交点 (主点) 坐标;α和β为X轴和Y轴方向上以像素为单位的等效焦距;γ为X和Y像素轴之间夹角的扭曲系数。

本文考虑的摄像机模型为Open CV算法中的模型, 即在式 (2) 的线性模型中引入二阶径向畸变和切向畸变。

式中:xd和yd是引入畸变后的实际图像坐标;x和y是由针孔模型计算出来的图像点坐标的理想值;k1和k2为径向畸变系数;p1和p2为切向畸变系数。将xd和yd转换为图像像素坐标μ和v的公式为

2 带收缩因子的多适应值粒子群优化算法

2.1 粒子群优化算法

粒子群优化算法是一种智能全局优化算法, 由Russ Eberhart和James Kennedy于1995年提出并成功地应用于函数优化。基本PSO算法首先对随机粒子群进行初始化, 然后通过迭代寻找最优解。每一次迭代, 粒子根据个体最优位置和全局最优位置来更新自己的速度和位置。设在D维目标搜索空间中, 由m个粒子组成的群落, 第i个粒子的位置为xid, 飞行速度为vid, 该粒子当前搜索到的最优位置为Pid, 整个粒子群的最优位置为Pgd。PSO算法公式为

式中:i∈ (1, m) ;d∈ (1, D) ;w为惯性权重;r1和r2是服从U (0, 1) 分布的随机数;学习因子c1和c2为非负常数, 通常取值为2;vid∈[-vmax, vmax], vmax为用户设定的常数;迭代终止的条件为用户设定的最大迭代次数或预设的最小适应值阈值。

2.2 算法分析及改进

1) 惯性权重系数w的调整

由式 (7) 可知粒子群算法的全局收敛性直接受微粒飞行速度的影响。当微粒的飞行速度比较大时, 微粒以较快的速度朝着最优解的方向更新自己的位置。当微粒靠近最优解时, 如果此时微粒的飞行速度过快, 就会很容易越过最优解, 一直在最优解以外徘徊, 从而陷入局部最优。由式 (8) 可知, 惯性权重w直接控制着微粒的飞行速度, 是调节算法收敛性质的重要参数。在粒子优化算法的初期, 希望算法的收敛速度较快, 以尽可能快地速度逼近最优解, 此时w值应较大。而在算法的后期, 为了防止微粒飞越最优解, 需要提高算法的收敛精度, 使其以较小的速度在最优解附近搜索, 此时w的值应较小。基于上述分析, 对算法的惯性权重部分进行收缩调整, 具体为

式中:t及t+1为算法的迭代次数;α为惯性权重的调节系数, 在此称为收缩因子。

2) 多适应值函数策略的引入

传统的粒子群优化算法只有一个适应值函数用来指导粒子群中微粒位置的更新方向, 而有些算法中则采用随机方式来选取优化过程中引入的变异算子, 这种方式具有一定的盲目性, 从而使得算法的收敛速度较慢。为了进一步提高优化速率及优化效率, 本文提出了采用多适应值函数策略的改进粒子群优化算法, 用多个适应值函数来控制粒子的优化方向, 可以使优化过程快速有效地朝着预期的方向发展。在每次迭代过程中, 当所有适应值函数不变或优化时, 粒子位置更新, 否则保持不变。

3 利用改进的PSO算法优化摄像机参数

基于Open CV的摄像机标定方法采用最小二乘法对DLT所得参数进行非线性优化, 因此获取的图像越多, 该方法越精确。为了使用较少的图片获得较高的标定精度, 对其进行改进, 应用上述改进PSO算法对Open CV方法所得参数进行优化。具体流程如下:

1) 初始值计算。首先基于Open CV现有函数, 得出摄像机内部参数 (α, γ, μ0, β, ν0) , 外部参数 (R, T) 以及径向畸变参数和切向畸变参数 (k1, k2, p1, p2) 。

2) 粒子的生成。生成的粒子为9维, 设粒子x=[α, γ, μ0, β, v0, k1, k2, p1, p2]。以步骤1) 所得参数值为均值, 取适当均方差, 随机生成满足正态分布的N个粒子, 保证初始值所得粒子也在种群当中。

3) 适应度定义。本文采取双适应值函数机制的粒子群优化算法, 设Pi (Pix, Piy) 为某图像像素点实际坐标, Pix和Piy分别为其横纵坐标;同理设Pi' (P'ix, P'iy) 为应用标定好的摄像机模型反投影计算出的对应图像像素点的坐标。fitness1和fitness2的具体表达式如下

式中:适应值函数fitness1表征粒子个体的优劣即表征摄像机标定的总精确度;适应值函数fitness2表征摄像机标定中X方向的精确度。由上述内容可知, 当且仅当这2个函数均朝着最优化的方向发展时, 摄像机标定的精度才得以快速有效地提高。

4) 使初始个体极值Pi (0) =xi (0) , 初始全局极值pg (0) 为Open CV方法计算出的初始值。设迭代变量t=0, 由步骤2) 生成的粒子称为第0代粒子。

5) 计算粒子所经历的最好位置pid (t) = (xi1, xi2, xi3, …, xid) , 即使得适应值最佳的粒子位置, 当且仅当粒子当前位置所对应的fitness1和fitness2函数值均小于等于粒子经历最好位置所对应的值时, 更新最优位置为当前位置, 否则保持不变。计算群体中所有粒子经历过的最好位置, 即为全局最优位置。

6) 迭代变量t增加1。判断t是否超过最大迭代次数, 如果超过则停止, 否则返回步骤5) 。

7) 最后得到全局极值pg (全局最优位置对应的主适应值函数值) , 即为基于该改进型PSO优化算法摄像机标定得到的最终标定精度值。

4 实验与分析

基于上述原理和流程, 采用如图1所示7×7棋盘格标定模板, 首先用PC自带摄像机从不同角度拍摄模板图像若干张, 调用Open CV自带角点检测及摄像机标定函数得到摄像机初始参数值, 并根据fitness1函数公式得到未优化前的标定精度。然后将原始方法得出的标定参数作为初始值, 基于改进型PSO算法对结果进行非线性优化, 进而得到最终的标定参数和优化后的标定精度。

本研究实验中, 设未优化前得到的内参初始标定值为[a0, a1, a2, a3, a4, a5, a6, a7, a8], PSO算法优化过程设粒子群粒子数为30, 确定优化内参数的9维粒子x=[α, γ, μ0, β, ν0, k1, k2, p1, p2]的范围为[xup, xdown], 其中, xup=[a0+50, a1+0.5, a2+50, a3+50, a4+50, a5+0.5, a6+0.5, a7+0.5, a8+0.5], xdown=[a0-50, a1-0.5, a2-50, a3-50, a4-50, a5-0.5, a6-0.5, a7-0.5, a8-0.5], 动态权重系数w初始值为1, 收缩因子α=0.9, 这样w在1~0之间非线性递减。学习因子, 最大搜索速度vmax= (xup-xdown) ×p, 在此令p=0.03。粒子的初始位置x (0) 满足以初始值为均值, 适当均方差的正态分布, 其中α, μ0, β, v0均方差为1, 其余参数均方差为0.05。粒子的初始速度为, r为服从分布的随机数。

利用PC摄像机对标定模板随机捕获12幅图像, 对其进行摄像机标定。经过多次实验证明, 本文改进的PSO优化模型能够很快收敛, 并且经500次迭代后标定精度较原方法有了明显提高。以一次实验数据为例:对比未优化前以及改进算法优化后标定参数及精度如表1所示;表2为特征点像素坐标实验数据 (只列出9个点) 。

由上述结果可得, 应用新型改进算法后的标定精度即适应度值较原Open CV方法提高了, 表2中横纵坐标误差对比更加清晰地反映了本文所提出的改进摄像机标定方法的有效性和可靠性。

5 结论

本文利用反投影误差来评价摄像机标定精度的高低, 同时将其设为改进粒子群优化算法中的一个适应值函数。以原Open CV标定结果为初始参数, 利用改进新型PSO算法对其进行全局非线性优化得到最终标定结果及标定精度。通过实验表明该标定方法收敛性好, 稳定可靠, 与原有Open CV方法相比较反投影误差明显降低即进一步提高了摄像机的标定精度。本研究基于Open CV平台, 程序开发简单, 可移植性好, 可以有效地应用于工程实践当中。

参考文献

[1]邱茂林, 马颂德, 李毅.计算机视觉中摄像机标定综述[J].自动化学报, 2000, 26 (1) :43-55.

[2]殷春平, 陈艺峰, 吴了泥, 等.基于粒子群算法的摄像机标定过程优化[J].机电工程, 2012, 29 (1) :100-103.

[3]TSAI R Y A.Versatile camera calibration technique for high accuracy 3D machine vision metrology using off-the-shelf TV cameras and lens[J].IEEE Journal of Robotics Automation, 1987, RA-3 (4) :323-344.

[4]ZHANG Z.A flexible new technique for camera calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22 (11) :1330-1334.

[5]BRADSKI G, KAEHLER A.学习OpenCV (中文版) [M].于仕琪, 刘瑞祯, 译.北京:清华大学出版社, 2009.

[6]陶旺林, 卢选民, 刘李绢, 等.基于OpenCV的非线性图像畸变校正研究[J].现代电子技术, 2011, 34 (12) :117-120.

[7]郁钱, 孙俊, 须文波.量子粒子群优化算法在摄像机标定中的应用[J].计算机工程与应用, 2011, 47 (14) :200-203.

[8]纪雪玲, 李明, 李玮.一种克服局部最优的收缩因子PSO算法[J].计算机工程, 2011, 37 (20) :213-215.

[9]王娟勤, 何东健, 孙建敏.五种粒子群优化模型效率的研究[J].计算机工程与应用, 2008, 44 (33) :62-65.

上一篇:并发症发生率骨科护理下一篇:兵团城镇化与产业结构