摘要:针对计算机视觉摄像机镜头畸变对精度的影响问题,提出了一种非线性摄像机标定方法。该方法是将非线性模型视为线性模型和畸变项的叠加,然后在主动视觉下利用线性模型下的正交运动的FOE(当物体或摄像机做纯平移运动时图像对应点连线的交点)点的关系,给出非线性模型参数的约束方程,从而实现非线性模型的摄像机自标定。模拟和真实图像实验均表明,该方法是有效的,具有一定的实用价值。
Abstract: For the drawbacks of the traditional calibration approaches in complex operation, a nonlinear camera self-calibration approach is proposed based on active vision. The basic approach is to regard the nonlinear model as the combination of linear model and distortion item. Using pole principle and orthogonal relation of pure translation motion of camera or object get a nonlinear constraint equation of intrinsic parameter, and solve all of the nonlinear intrinsic parameters according to DFP of variable metric method, so the nonlinear camera self-calibration is realized. On the basis of theoretical analysis, the algorithm is given. In the end, simulation and real experiments are given, and the results show that this approach is feasible.
关键词: 主动视觉;自标定;畸变系数
Key words: active vision;self-calibration;distortion factor
中图分类号:TP391 文献标识码:A 文章编号:1006-4311(2014)22-0205-03
0 引言
摄像机标定是从二维图像获取三维信息的必不可少的步骤。空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系由几何模型决定,通过试验和计算获得摄像机内参数和外参数的过程称为摄像机标定。传统的标定方法是通过结构的物体(如标定块,标定板等)在图像中的投影计算摄像机的内参数。但是这种方法必须要有标定物,在很多实际应用中难以实现。近年来,摄像机自标定技术以其应用的灵活性得到了很多研究者的重视,但自标定方法最大的不足是鲁棒性差。这主要是由于自标定方法不论何种形式出现,均是基于绝对二次曲线(absolute conic)和绝对二次曲面(absolute quadric)的方法,需要求解复杂的多元非线性方程来计算摄像机的内参数,从而导致运算速度和结果的精度都不理想。而基于主动视觉的摄像机自标定可以克服这个缺点,它是通过控制摄像机做某些特定的运动来获取图像从而标定摄像机的内参数。一般来说,摄像机的模型参数可以线性的求解,因而算法的鲁棒性较高。但是线性模型一般不能准确的描述真实摄像机的几何成像关系,因此对基于主动视觉的非线性摄像机自标定的研究具有十分重要的意义。因此,本文提出一种基于主动视觉的非线性摄像机自标定方法。
1 基础知识
1.1 线性摄像机模型 摄像机的线性模型为针孔模型。空间点的物理坐标和图像坐标之间关系如下:
uv 1=■ s′ u■ 0 ■ v■ 0 0 1xy1(1)
设空间中某一点P在世界坐标系与摄像机坐标系下的坐标分别是(Xw,Yw,Zw)T与(Xc,Yc,Zc)T,存在如下关系:
X■Y■Z■1=R t0T 1XwYwZw1(2)
空间任一点P在图像上的投影位置p,由透视投影得到如下关系式:
x=■ y=■(3)
用齐次坐标与矩阵表示上述透视投影关系:
Z■xy1=f 0 0 00 f 0 00 0 1 0X■Y■Z■1(4)
将式(1)与(2)代入(4)式,得到以世界坐标系表示的P点坐标与其投影点p的坐标(u,v)的关系:
α s u00 β v00 0 1R tXwYwZw 1=K[R t]X=HX
其中,(u0,v0)为主点坐标;α=f/dx为图像轴的尺度因子;β=f/dy为图像轴的尺度因子;s=s′f为畸变因子;H为3×4矩阵,称为投影矩阵;矩阵K称为内部参数矩阵;[R t]摄像机的外部参数矩阵。
1.2 非线性摄像机模型 摄像机的非线性模型,是指成像过程不服从小孔模型。摄像机的非线性模型可使用下述公式来描述:
u=u+δu(u,v) v=v+δv(u,v)
其中(u,v)为线性模型下的理想图像点坐标;(u,v)是实际图像点坐标;δu,δv为非线性畸变值,在文章中只考虑径向畸变,关系表示如下:
u=u(1+k1r2+k2r4),v=v(1+k3r2+k4r4)(5)
其中r2=u2+v2,式中的k1,k2,k3,k4称为非线性畸变参数。线性模型参数的线性内参数α,β,u0,v0,s与非线性模型的非线性内参数k1,k2,k3,k4一起构成了摄像机的所有内参数。
1.3 主点坐标的确定 纯轴向运动是指摄像机沿光轴方向做平移运动,纯轴向运动特有的性质使其能够应用于摄像机自标定中。根据Ma[4]提出的定理知道,当摄像机作纯轴向运动时,因为光轴方向就是摄像机运动方向,所以对应点连线交点就是运动方向与图像平面的交点,所以对应点连线的交点就是摄像机主点。
水平平移运动是指摄像机在作平移运动时,平移向量为(Xc,0,Zc);垂直平移运动是指摄像机作平移运动时,平移向量为(0,Yc,Zc)。
设空间内任意两点X1=(Xwl,Ywl,Zwl,1)T,X2=(Xw2,Yw2,Zw2,1)T,对应点连线交于同一点e。X1在摄像机作水平平移前后通过投影矩阵H1,H2投影到图像平面上,投影点为m11=H1X1,m12=H2X1同样可以得到X2通过投影矩阵H1,H2投影到图像平面上的投影点m21,m22。mij表示第i个空间点在第j幅图像上的投影点。则m11,m12确定了第一幅图像上关于X1的对应点连线,该直线可以表示为m11×m12。同样,m21,m22确定了第一幅图像上关于X2的对应点连线,该直线可以表示为m21×m22。则对应点连线的交点为e=(m11×m12)×(m21×m22)=(a,b,1),化简后b的值恰好等于v0。即通过一次水平平移运动可以确定主点的v0值。同理可证在摄像机的畸变因子为零时,通过一次垂直平移运动可以确定主点u0的值。
2 非线性内参数自标定
2.1 非线性内参数约束 在线性模型下,控制摄像机作n组两正交运动,每组正交运动的FOE点,表示为eij(i=1,…,n;j=1,2),其中i表示第几组正交运动,j表示该组正交运动的第几次运动。如果摄像机作纯平移运动,则■为摄像机光心到对应点连线的交点方向。利用每次运动前后由图像对应点连线的交点可以计算出相应的eij。
设已求出eij在图像平面上的坐标为(uij,vij),则由式(1)和式(3),可以得到eij在摄像机坐标系下的坐标为
eij=(uijdx-s′vijdxdy+(s′v0dy-u0)dx,(vij-v0)dy,f)(6)
由于每组的两次运动都是相互正交运动,则有e■■e■=0(i=1,…,n),将式(5)代入正交条件关系式,整理得:
(ui1-s′vi1dy+s′v0dy-u0)(ui2-s′vi2dy+s′v0dy-u0)d2x+(vi1-v0)(vi2-v0)d2y+f2=0
令h=s′dy,上式两边同除以f2得
(ui1-hvi1+hv0-u0)(ui2-hvi2+hv0-u0)■+(vi1-v0)(vi2-v0)■+1=0(7)
设(uij,vij,1)T和(uij,vij,1)T(i=1,…,n;j=1,2)分别是线性模型与非线性模型下对应的FOE点,由非线性模型与线性模型的关系(5),有
uij=uij(1+k1rij2+k2rij4);vij=vij(1+k3rij2+k4rij4)(8)
将式(8)代入式(7),得
Si(α,β,h,u0,v0,k1,k2,k3,k4)={[ui1(1+k1ri12+k2ri14)-hvi1(1+k3ri12+k4ri14)+hv0+k4ri14)-v0][vi2(1+k3ri22+k4ri24)-v0]■+1}2(9)
S(α,β,h,u0,v0,k1,k2,k3,k4)=■Si(α,β,h,u0,v0,k1,k2,k3,k4)(10)
于是,求解非线性内参数问题等价于求解下述优化问题■S(α,β,h,u0,v0,k1,k2,k3,k4)(11)
2.2 求解非线性内参数算法 在本文中,将使用变度量法中的DFP技术来求解非线性最小问题[5]。为了叙述方便,将式(11)的变量改写为X=(x1,x2,x3,x4,x5,x6,x7,x8,x9)。
其中,(x1,x2,x3,x4,x5,x6,x7,x8,x9)=(α,β,h,u0,v0,k1,k2,k3,k4)为非线性的内参数向量;则式(11)应写为:■S(X)(12)
利用DFP算法对式(12)进行求解,从而得出非线性内参数的解。
3 实验
图1为用于非线性摄像机自标定的其中的两组正交运动下的图像,其中十字点被取为图像间的对应点。利用OpenCV中的角点检测函数,检测出一组正交运动下的两幅图像的点对应图像坐标,从而计算出FOE点,然后根据文中所述的基于主动视觉的自标定方法,计算出的非线性的摄像机所有内参数如表1所示。
4 结论
由于线性模型摄像机不能准确地描述真是摄像机的几何成像关系,因此对非线性模型的摄像机自标定的研究有很重要的意义。文中探讨了一种基于主动视觉的非线性摄像机自标定方法,通过真实实验数据表明文中提出自标定方法是可行的,精度较高,有一定的实用价值。
参考文献:
[1]邱茂林,马颂德,李毅.计算机视觉中摄像机定标综述[J].自动化学报,2000,26(1):47-48.
[2]W. Faig. Calibration of close-range photogrammetry systems: Mathematical formulation. Photogrametric Eng. Remote Sensing,41(12):1479-1486,1975.
[3]马颂德,张正友.计算机视觉-计算理论与算法基础[M].北京科学出版社,1998.
[4]Ma S D. A self-calibration technique for active vision system[J]. IEEE Trans on Robotics and Automation, 1996, 12(1): 114-120.
[5]吴福朝.计算机视觉中的数学方法[M].北京:科学出版社,2008.
[6]Tsai R Y. An efficient and accurate camera calibration technique for 3D machine vision. In: proc. CV PR’ 96.364-374.
[7]Hu Zhan-Yi, Wu Fu-Chao. A review on some active vision based camera calibration techniques[J].Chinese Journal of Computer, 2002,25(11):1149-1156.
[8]吴福朝,李华,胡占义.基于主动视觉的摄像机自标定方法的研究[J].自动化学报,2001,27(6):736-746.
[9]禹旺勋,王爱菊,刘云涛.基于主动视觉的摄像机线性自标定方法.价值工程,2013,32(8):258-259.