« Image Processing 图像处理程序设计水效果Ⅰ - 水池 »

摄像机标定技术 PART2

 紧接上篇,摄像机标定。本日志在于陈述一下RAC标定的算法,事实上觉得自己在这里也是一知半解的,不过还是厚一下脸皮吧。熟悉此算法的朋友请指教(不过也许等被指教的时候我都忘记这东西了~)。——ZwqXin.com

上篇:[摄像机标定技术 PART1]

本文来源于 ZwqXin (http://www.zwqxin.com/), 转载请注明
      原文地址:http://www.zwqxin.com/archives/image-processing/camera-calibration-2.html

其实算法也就是TSAI蔡先生那篇TSAI - A Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the-shelf TV Cameras and Lenses里写得很清楚很明白。除了算法最后一两步那个关于非线性优化的我是完全不明白他是要在干什么外,其余的也差不多是简略 - 翻译这样的样子。所以本篇文章实在无意义啊!好了当我骗稿费,这篇骗得更严重点。但好歹是总结过的,写过实验报告的,泪飘~~。

步骤1:获取摄象机硬数据
    具体来说,是NcxNfxCxCydxdysx 七个参数。NcxNfx表明了像平面像素的采样频率,简单设置为1sx相当于误差项,也设置为1CxCy是像平面中心像素位置,如相机分辨率是352*288,则取176144计算后可稍微调整适应。dxdy是像素物理尺寸,我取0.0054
 
步骤2:计算中间数据Ty^(-1)*r1, Ty^(-1)*r2, Ty^(-1)*Tx, Ty^(-1)*r4, Ty^(-1)*r5
根据RAC原理——径向一致约束,在不考虑畸变的情况下,“摆平”后的世界坐标原点与摄象机坐标平面中心原点连线AB,以及,摄象机坐标平面中心到像平面中心连线BC应该会满足重合,或者AB//BC的条件。
 摄象机标定 from Tsai www.zwqxin.com
 
 
即,含外参数(视图变换矩阵参数)的中间变量的求解将完全沦为上述方程的求解,其中右边项是未知项。5个未知数一般来说是5方程求解。但RAC优点在于线性函数的易解,因此可取更多数据点作拟合。作为一个超定方程来精确求解。
 
步骤3:计算Ty^2
根据TSAI论文中某条理论的解释,仿射矩阵的左上3X3矩阵的上2X2小矩阵决定了整体的一致性。
摄象机标定 from Tsai www.zwqxin.com
 
因此当它满秩的时候,Ty^2的求解可按上式。非满秩的情况少有,当出现时也可按下式求解:
摄象机标定 from Tsai www.zwqxin.com
更深入的探讨。从计算机图形学的变换矩阵知识可以知道,仿射矩阵的左上3X3矩阵是表征坐标系旋转的旋转矩阵,并以伸缩系数为对角线元素的系数。在摄象机标定中不涉及伸缩,因此该3X3矩阵可以更确切地用下式确定,其中Ψ,Θ,φ为XYZ轴的旋转角度。
 
在摄象机标定中,虽说为了避免标定平面和像平面平行[原因下述]而一定要让标定板偏移一定角度(实际上只要不做精确平行对准,都能满足),但一般实际旋转角度不会太大,尤其在本实验中。标定板顶多只有稍微的倾斜,故应该满足Ψ,Θ,φ接近0的水平,此时R趋近于一个单位阵。可以此作为求解量大致的检验。
摄象机标定 from Tsai www.zwqxin.com
而第四列(Tx Ty Tz1T 则是平移参量。
 
步骤4:确定Y向平移参量Ty的正负性
Ty^2Ty,关键在于判断Ty的正负性。实际上这时候数学上无法用理论得出,需要靠实际情况定义。方法就是假设为正,然后计算出3X3矩阵R的前两行数据并与(Xw Yw ZwT乘以获得Xw Yw Zw在图像坐标系下的坐标(Xd`, Yd`T,看与实际图像坐标数据(Xd, YdT是否同号,若不同号则假设失败,说明Ty应取负数,否则则为正。
怎样选取这个参考的数据点呢?为了保证不被误差影响,应用一个远离成像中心的点。
 
步骤5:计算视图变换矩阵参数(r1,...,r9,Tx,Ty)
有了精确正负的Ty,结合步骤2得出的 Ty^(-1)*r1, Ty^(-1)*r2, Ty^(-1)*Tx, Ty^(-1)*r4, Ty^(-1)*r5,就可以得到精确正负的r1, r2, r4, r5,Tx了。观察上面的R矩阵,满足XYZ方向旋转向量的单位性,以及各旋转向量的正交性。因此r3, r6可由此得出:
摄象机标定 from Tsai www.zwqxin.com
 
r7,r8,r9的大小可由上两行向量的叉积得出:
r7 = r0 * r6 - r3 * r5;
r8 = r3 * r4 –r1 * r6;
r9 = r1 * r5 –r2 * r4;
至于r7,r8,r9的方向性同样可通过与上述类似的假设判断 –>验证假设的方式判断,这就需要先知道怎么求解最终结果。但正因为只需要求取其方向性,因此只需要近似的数值解就可以了。
 
步骤6:计算视图变换矩阵参数Tz,以及焦距f

摄象机标定 from Tsai www.zwqxin.com

以上的结果,f作为近似值,其正负作为步骤5r7,r8,r9的方向性的判断依据。
根据TSAI的论文,本方程若作为超定方程求解,则需要标定平面和像平面平行的约束条件。求出的Tz f,连同s = 0 作为迭代初始值, 进行模型最终阶段的非线性求解。
求超定方程的最小二乘解,常用的方法有:对称矩阵的三角分解法矩阵的QR分解法。本程序采用前者。[3][4]
考虑超定方程:           GX=b
方程左右同乘以系数矩阵G的转置GT,得:
GTGX=GTb
因此方程转化成正规方程组,GTG的列数与X的行数相同,且该数与方程中未知数数量相等。通过常规方法可解此方程:

                                                     X=(GTG)-1GTb

LVideoCapture .ver1.8 结果(标定的是.ver1.5中的圆心坐标[圆心坐标的提取] ):

摄象机标定 from Tsai www.zwqxin.com

摄象机标定 from Tsai www.zwqxin.com

本文来源于 ZwqXin (http://www.zwqxin.com/), 转载请注明
      原文地址:http://www.zwqxin.com/archives/image-processing/camera-calibration-2.html

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

IE下本页面显示有问题?

→点击地址栏右侧【兼容视图】←

日历

Search

网站分类

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 100427

Copyright 2008-2013 ZwqXin. All Rights Reserved. Theme edited from ipati.