总体最小二乘法在相机标定中的应用
2016-04-11陆珏
陆 珏
(上海市房地产科学研究院,上海 200031)
总体最小二乘法在相机标定中的应用
陆珏
(上海市房地产科学研究院,上海 200031)
摘要:对比总体最小二乘方法与最小二乘方法在相机标定中的适用性及优越性。在相机标定中,由于像点坐标和对应的地面点坐标均存在误差,因此采用总体最小二乘方法对误差方程中的系数矩阵及观测向量同时改正,能够建立更加合理的计算模型。文中以相机标定两步法为例,通过实例解算,证明利用总体最小二乘法能够得到精度更高的相机标定参数解。
关键词:相机标定;最小二乘;总体最小二乘;两步法;像差模型
非量测型相机不能提供准确的内方位元素和镜头畸变参数。为建立像点和对应物点的精确位置关系,需要进行相机标定[1]。当有多余观测存在时,为得到参数的最佳估值,通常采用最小二乘(Least Squares,LS)方法进行求解。LS方法假设系数矩阵A没有误差,随机误差仅存在于观测向量b中[2]。在多数相机标定的观测方程中,b和A均包含了观测值,即像点坐标和地面点坐标,这些点坐标均存在误差。为了同时考虑观测向量和系数矩阵的误差,采用总体最小二乘(Total Least Squares,TLS)方法。TLS方法于1980年引入[2],用于解决变量中的误差(Error-In-Variables,EIV)模型的估计问题。近年来,Schaffrin对加权TLS进行研究[3];陈义等研究稳健TLS的解法[4];袁豹等讨论总体最小二乘方法在线性回归模型中的改正能力和优越性[5],以及基于总体最小二乘的改进GM(1,1)模型在建筑物沉降中的应用[6]。
Tsai“两步法”计算量适中、精度较高,因此在相机标定中最为常用。两步法先用径向排列约束得到部分外部参数的精确解,然后再将其余外部参数与径向畸变系数进行迭代求解[7]。经典的两步法对相机模型进行简化,不能直接求出相机的像主点坐标[8-12],且在建立像差模型时仅考虑镜头的径向畸变。为了提高相机标定的精度,本文在两步法解算中采用更为严密的相机成像模型。
本文以两步法为例,将TLS方法引入相机标定解算中。通过实例的演算和比较,证明相对于LS方法,利用TLS方法能够得到精度更高的相机标定参数。
1两步法相机标定
两步法的相机模型是一阶径向畸变的针孔模型。标定过程分两步实现[7]:
第一步,求解三维物方坐标系到相应像平面坐标系的旋转矩阵R和平移矩阵T中的Tx、Ty分量,以及图像尺度因子Sx:
(1)
式中:(xw,yw,zw)为标定点在物方坐标系下的坐标;(Xd,Yd)为对应的像点坐标;f为有效焦距,r1~r9为旋转矩阵R中的9个元素;Tx,Ty,Tz为平移矩阵T沿三维物方坐标系X,Y,Z3个轴的分量。若假定像主点与像平面中心重合,则内方位元素(x0,y0)为零。根据径向约束条件,式(1)可以写为
(2)
移项整理,并加入图像的尺度因子Sx,可得观测方程A1ξ1=b1:
(3)
参数m1=7,当每张像片上有n1≥7个对应点,即可解算出ξ1。根据R的正交性以及参数间的关系,可求出R和T中的Tx、Ty分量,以及图像尺度因子Sx。
第二步,求解有效焦距f,平移矩阵T的Tz分量和透镜的径向畸变系数k。首先,不考虑畸变,建
立以f和Tz为未知参数的观测方程A2ξ2=b2:
(4)
参数个数m2=2,当每张像片上有n2≥2个对应点,即可解出f和Tz的初值。接着,通过优化搜索计算f,Tz和k的精确值[7]。
经典两步法追求解算的效率以及稳定性,同时考虑到计算机视觉中对相机标定的精度相对于摄影测量中要求较低而对严密相机模型进行简化,不能直接求出相机的像主点坐标。为提高精度,本文对像主点坐标(x0,y0)进行标定,此时像点坐标记:x=Xd-x0,y=Yd-y0。同时,建立更为全面的像差修正模型。令径向畸变系数为k1,偏心畸变径向分量的畸变系数为p1,p2,薄棱镜畸变径向分量的畸变系数为s1,s2,则总像差模型为[13]
(5)
(6)
其中,g1=s1+p1,g2=s2+p2,g3=2p1,g4=2p2。包含像差和像主点坐标的非线性方程组:
(7)
(8)
R的9个元素中仅有3个独立参数,因此需要利用R的正交性(RRT=RTR=I)建立6个条件方程:
(9)
对式(9)建立的条件方程赋予适当权值,联合式(8),采用加权平差方法进行解算。独立参数个数m3=20-6=14,因此每张像片上需要有n3≥7个对应点。首先利用A1ξ1=b1和A2ξ2=b2计算部分参数的初值,再带入A3ξ3=b3中计算所有未知参数的平差值。
2TLS在两步法相机标定中的应用
在相机标定的观测方程Aiξi=bi(i=1,2,3)中,bi和Ai均存在误差。此时,采用TLS方法更为合理。TLS方法建立的变量中的误差(EIV)模型中,观测方程被定义为[2]
(10)
b∈Rn×1,ξ∈Rm×1,A∈Rn×m,且n>m=rank(A)。eb和EA分别代表了存在于观测向量b和系数矩阵A中的随机误差(在LS中EA≡0),eb和EA符合:
(11)
(12)
Q0∈Rm×m,QE∈Rn×n,⊗代表的是矩阵之间的直积:M⊗N:=[mij·N],M=[mij]。目标函数为:
(13)
根据拉格朗日极值条件,建立方程:
(14)
λ为拉格朗日乘算子,(ξT⊗In)·eA=EA·ξ。在拉格朗日条件方程的基础上,对方程中每个参数求导解算,解算过程为[3]:
第一步,解算初值:
(15)
第二步,迭代解算:
(16)
(17)
(18)
(19)
式(19)计算的单位权方差有偏,偏差可通过数值计算的方法得到[14]。由于偏差较小,对本文的结果没有影响。在计算中若出现法方程病态的情况,则采用Tikhonov正则化方法解算。
相机标定结果的精度可以采用畸变图像误差进行评定[8-12],也可利用多张像片空间前方交会计算特征点的世界坐标,与已知的物方点三维坐标进行比较。
3实例分析
本例通过两步法对相机进行标定。标定点共38个,分布在建筑的两面墙及三级台阶上。标定点的物方坐标用测角精度1″,测距精度0.6 mm+2 ppm的索佳NET1200全站仪测定,测量距离在100 m以内,每个点测量4次,因此控制点的精度mm。
相机为Nikon D200,像幅23.6 mm×15.8 mm (3 872×2 592像素),焦距初值8 500像素。实验共进行3次,每相邻两次拍摄的时间间隔为一周,每次拍摄共设8个摄站,每站拍摄1张像片,每次检校都利用当次所拍摄的8张像片进行联合解算,如图1所示,摄影距离为15~20 m。
利用更为严密的两步法对相机进行标定。在平差中,分别用LS方法和TLS方法进行计算。结果如表1和表2所示。
表1 两步法相机标定结果
图1 第一次相机标定像片
次数计算方法畸变图像误差多片前交结果与已知值之差的中误差中误差/像素最大值/像素最小值/像素X方向/mmY方向/mmZ方向/mm点位中误差/mm1LS0.12694.14940.02191.40741.20090.36601.8860TLS0.07751.05940.02020.77270.38170.15320.87532LS0.05921.37140.03681.70870.67850.24341.8545TLS0.05501.32520.03120.67470.39110.10240.78653LS0.14702.63140.10481.06870.56330.26031.2358TLS0.11672.53380.09180.64710.41890.23140.8048
由表1的结果可以看到,无论是利用LS方法还是TLS方法,标定的相机内参数结果均比较稳定。在表2中,TLS方法计算的畸变图像误差小于LS的计算结果;且利用TLS计算的两步法点位偏差中误差均在1 mm之内,而LS的计算结果则大于1 mm。因此,TLS方法计算得到的结果精度高于LS方法。
4结论
本文将TLS方法引入相机标定解算中,并以两步法为例,对算法进行验证,得到结论:
1)在相机标定的误差方程中,系数矩阵和观测向量均包含观测值。由于TLS方法建立的EIV模型对所有变量中的误差都进行最小化的约束,与系数矩阵完全准确的LS方法相比,TLS方法更适用于相机标定的解算。
2)利用TLS方法计算的两步法相机标定结果,无论是畸变图像误差还是多片前交结果与已知值之差,均小于LS方法的计算结果,即TLS计算的相机标定参数精度高于LS的标定结果。
3)采用更加严密的两步法进行相机标定,在未知相机像面中心预标定值的情况下,通过计算可以直接得到相机像主点坐标,并且像差模型也更加完整。
参考文献:
[1]张广军.视觉测量[M].北京:科学出版社,2008:102-110.
[2]GOLUB H G,VAN LOAN F C.An Analysis of the Total Least Squares Problem[J].SIAM Journal on Numerical Analysis,1980,17(6):883-893.
[3]SCHAFFRIN B,WIESER A.On Weighted Total Least-Squares Adjustment for Linear Regression[J].J Geodesy,2008,82:415-421.
[4]陈义,陆珏.以三维坐标转换为例解算稳健总体最小二乘方法[J].测绘学报,2012,41(5):715-722.
[5]袁豹,岳东杰.关于总体最小二乘方法适应性实验研究[J].测绘工程,2012,21(6):22-26.
[6]袁豹,岳东杰,李成仁.基于总体最小二乘的改进GM(1,1)模型及其在建筑物沉降预测中的应用[J].测绘工程,2013,22(3):52-55.
[7]ROGER Y,TSAI.A Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-The-Shelf TV Camera and Lenses[J].IEEE Journal of Robotics and Automation,1987,RA-3(4):323-344.
[8]张学民,宋述稳.两步法摄像机标定的改进[J].自动测量与控制,2006,25(9):73-75.
[9]曹良中,杨辽,阚培涛,等.地面检校场的非量测型数码相机检校[J].测绘科学,2015,40(2):132-137.
[10] 张阳阳,门林杰,周桂初,等.数字相机在类似棋盘检校场中的检校方法研究[J].测绘工程,2015,24(2):55-59.
[11] 张春森,冯鹏飞.相机检校控制场像点坐标自动定位与高精度量测[J].测绘科学,2015,40(3):76-79.
[12] 赵海强,李浩,钱海明,等.多相机数码影像光束法解算及精度分析[J].测绘工程,2015,24(4):28-32.
[13] WENG J,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.
[14] SHEN Y Z,LI B F,CHEN Y.An Iterative Solution of Weighted Total Least-Squares Adjustment[J].J.Geod.,2011,85:229-238.
[责任编辑:李铭娜]
On total least squares for camera calibration
LU Jue
(Shanghai Real Estate Science Research Institute,Shanghai 200031,China)
Abstract:The applicability and superiority of Total Least Squares (TLS) and Least Squares (LS) in camera calibration have been studied in this paper.Because the coordinates of the ground point and the image point all exist errors,the total least squares solution is preferably used here,for that the errors exist both in the observation vector and the coefficient matrix.The example of two-step camera calibration is carried out to demonstrate the performance of the TLS method.The result shows that camera calibration parameters calculated through the TLS method is more accurate.
Key words:camera calibration;least squares;total least squares;two-step method;distortion model
中图分类号:P231
文献标识码:A
文章编号:1006-7949(2016)03-0006-05
作者简介:陆珏(1985-),女,博士,工程师.
基金项目:上海市住房保障和房屋管理局基金资助项目(2014-03)
收稿日期:2014-06-13