赞
踩
”张正友标定”是指张正友教授1998年提出的单平面棋盘格的摄像机标定方法[1]。文中提出的方法介于传统标定法和自标定法之间,但克服了传统标定法需要的高精度标定物的缺点,而仅需使用一个打印出来的棋盘格就可以。同时也相对于自标定而言,提高了精度,便于操作。因此张氏标定法被广泛应用于计算机视觉方面。
根据之前博客介绍的摄像机模型,设三维世界坐标的点为,二维相机平面像素坐标为
所以标定用的棋盘格平面到图像平面的单应性关系为:
1、r1,r2正交 得:r1r2=0。这个很容易理解,因为r1,r2分别是绕x,y轴旋转的。应用高中立体几何中的两垂直平面上(两个旋转向量分别位于y-z和x-z平面)直线的垂直关系即可轻松推出。
2、旋转向量的模为1,即|r1|=|r2|=1。这个也很容易理解,因为旋转不改变尺度嘛。如果不信可以回到上一篇博客,找到个方向的旋转矩阵化行列式算一下。
通过上面的式子可以将r1,r2代换为h1,h2与A的组合进行表达。即r1=h1A-1,r2=h2A-1.由上式可得
这个方程组的本质和前面那两个用h和A组成的约束条件方程组是一样的。在此重复一遍解释:如果我们想完全解出这五个未知量,则需要3个单应性矩阵。3个单应性矩阵在2个约束下可以产生6个方程。这样可以解出全部的五个内参了。大家想一下,我们怎样才能获得三个不同的单应性矩阵呢?答案就是,用三幅标定物平面的照片。我们可以通过改变摄像机与标定板间的相对位置来获得三张不同的照片。(当然也可以用两张照片,但这样的话就要舍弃掉一个内参了γ=0)
通过至少含一个棋盘格的三幅图像,应用上述公式我们就可以估算出B了。得到B后,我们通过cholesky分解 ,就可以轻松地得到摄像机的内参阵A。
通过上面的运算,我们已经获得了摄像机的内参阵。那么对于外参阵,我们很容易通过下面的公式解得:
对上面公式进行化简,可以得到:
三、最大似然估计
上述的推导结果是基于理想情况下的解,但由于可能存在高斯噪声,所以使用最大似然估计进行优化。设我们采集了n副包含棋盘格的图像进行定标,每个图像里有棋盘格角点m个。令第i副图像上的角点Mj在上述计算得到的摄像机矩阵下图像上的投影点为:
先介绍一下,摄像机畸变主要有哪几种以及这些讨厌的畸变从何而来。
摄像机畸变主要包含:镜像畸变、切向畸变。在这里分别讲述一下,并引用一些图片,使大家对他们有一个直观的认识。
1.径向畸变:产生原因是光线在远离透镜中心的地方比靠近中心的地方更加弯曲径向畸变主要包含桶形畸变和枕形畸变两种。下面两幅图是这两种畸变的示意:
它们在真实照片中是这样的:
2.切向畸变:产生的原因透镜不完全平行于图像平面,这种现象发生于成像仪被粘贴在摄像机的时候。下面图片来自于《学习opencv》p413。
畸变矫正,首先应该知道畸变系数,然后做与畸变相反的变换,消除畸变。
张氏标定法中只关注径向畸变。我们是按照张氏标定,计算畸变系数的。那么,下面让我们来看一下径向畸变的数学表达。
因为在实际情况下,径向畸变较小,所以其可以用主点(principle point)周围的泰勒级数展开的前几项进行描述。张氏标定法,利用前两项来确定径向畸变的畸变系数。数学表达式如下: 张氏标定法只关注了影响最大的径向畸变。则数学表达式为:
使用最大似然的思想优化得到的结果,即像上一步一样,LM法计算下列函数值最小的参数值:
下面让我们矫正畸变:
就是这样一个简单的公式,就完成了畸变矫正。代表矫正畸变后的像素坐标,代表实际径像畸变的情况下的图像的像素坐标。
最后给大家展示两幅图,让大家看一下畸变矫正的成果:
这就是张氏标定带给我们的第一个直观的好处。
到此,张氏标定法介绍完毕。我们也得到了相机内参、外参和畸变系数。
1、Zhang, Zhengyou - 《IEEE Transactions on Pattern Analysis & Machine Intelligence》 - 2000
2、J.More.Thelevenberg-marquardtalgorithm,implementationandtheory.InG.A.Watson,
editor,NumericalAnalysis,LectureNotesinMathematics630.Springer-Verlag,1977.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。