APP下载

摄像机畸变的非量测校正方法研究

2015-10-26黄应清文军谢志宏

现代电子技术 2015年20期

黄应清+文军+谢志宏

摘 要: 传统的摄像机标定方法需要依赖空间的点对应条件或者特定的运动模式,且内外参数存在的耦合问题易引起求解的不稳定和不精确现象。非量测校正方法利用透视投影本身的几何不变特性,通过将畸变参数分离出来单独求解,较好地克服了传统方法的上述问题。这里从畸变模型、不变特征与畸变测度、模型求解三个方面综述并总结了非量测校正技术的发展现状和技术路线。

关键词: 非量测校正; 畸变模型; 畸变测度; 非线性寻优

中图分类号: TN911.73?34 文献标识码: A 文章编号: 1004?373X(2015)20?0059?04

Research on non?metric calibration algorithm of camera lens distortion

HUANG Yingqing, WEN Jun, XIE Zhihong

(Department of Control Engineering, Academy of Armored Force Engineering, Beijing 100072, China )

Abstract: The traditional camera calibration method relies on spatial point corresponding conditions or specific movement patterns, and is easy to cause the instability and inaccuracy due to coupled problem of internal and external parameters. To solve these problems, the non?metric calibration algorithm is proposed, which takes the advantage of the geometrical invariability of perspective projection to separate distortion parameter to solve it independently. The development status and technical route of non?metric calibration algorithm are concluded from the distortion model, invariant features & distortion measure, and model solution.

Keywords: non?metric calibration; distortion model; distortion measure; nonlinear optimization

摄像机标定是任何视觉任务的基础,是通过二维图像获取三维信息的桥梁。以张正友法为代表的传统标定方法利用空间和像平面上的点对应估计摄像机的内外参数,这样的方法主要存在3个方面的问题:

(1) 依赖特定的标定物,如棋盘[1]等;

(2) 需要准确的空间点的物理坐标,而这在实际应用如视频监控[2]中很难实现;

(3) 摄像机的内外参数可能存在某种程度的耦合[3?4],影响求解的精度和稳定性。

还有一些方法利用多个视图之间点的对应关系,或者利用相机与物体之间的已知某种特定的运动关系来求解内外参数。这些方法都需要一定的先验知识,且一般需要多个视图以求解相机的内外参数。非量测畸变校正方法的出现解决了这些问题,并越来越受到人们的重视。这些方法将畸变参数的求解单独分离出来,利用透视投影的几何不变特征,如直线[3?7],消失点(灭点)[8?11],球体的图像[12],交比不变性[13?14],平行性[15]等,确定合适的畸变测度,通过建立测度与畸变参数的函数关系,以非线性寻优来确定测度的最小值,并求解相应的畸变参数。这些方法不依赖特定的标定物和特定的相机运动,且能从单幅图像得到相机的畸变系数,因而得到了广泛的应用。本文将从畸变模型、不变特征与畸变测度和模型求解3个方面介绍摄像机的非量测校正方法。

1 畸变模型

理想的针孔摄像机模型是线性的,但是由于畸变的存在,空间中的点在像平面上的实际位置并不是针孔模型所确立的理想的像素点的位置。畸变模型[u]描述的是空间中的点[(X,Y)]在图像上的实际位置[(xd,yd)]和理想的无畸变图像上的点[(xu,yu)]的映射关系,即[u:(xd,yd)→(xu,yu)]。根据不同的应用场合,人们提出了不同的畸变模型来描述上述关系。Brown和Fitzgibbon分别提出了摄像机畸变的多项式和除式校正模型[16],Basu等人提出了对数畸变模型,Devernay等人提出了FOV模型。

1.1 多项式模型

该模型最早由Brown提出,并得到了广泛应用和发展,现在其一般形式为:

[xu=xd+xd(k1r2d+k2r4d+k3r6d+…)+ [p1(r2d+2xd2)+2p2xdyd][1+p3r2d+…]yu=yd+yd(k1r2d+k2r4d+k3r6d+…) + [p2(r2d+2yd2)+2p1xdyd][1+p3r2d+…]] (1)

式中:[xd=xd-cx];[yd=yd-cy];[r2d=xd2+yd2];[k1,k2,k3,…]是径向畸变系数;[p1,p2,p3,…]是切向畸变系数;[rd]是畸变图像中的点到畸变中心[(cx,cy)]的距离。需要说明的是,通常情况下只对其中有限个畸变参数进行建模,因为高阶项的影响相对较小,通常只需考虑一阶或二阶径向畸变即可满足系统测量精度要求[17?18],凭经验来说,多引入参数可以任意精度逼近该模型,实际上引入过多参数反而会引起解的不稳定性[19]。因此在不同的场合,必须采用不同的畸变模型。

1.2 除式模型

Fitzgibbon提出的除式模型[20]能够使用较少参数校正较大镜头的畸变,其一般形式为[21]:

[ru=rd1+k1r2d+k2r4d+???] (2)

采用一阶模型,其求解结果为:

[xu=xd1+kr2dyu=yd1+kr2d] (3)

各个符号的含义同1.1节。这种模型主要估计径向畸变。文献[8]指出,非径向畸变的总和是径向畸变的[18]~[17],因而这种方法也能达到较高的精度。

1.3 对数模型

为了使模型能够更好地反映鱼眼相机的畸变,Basu等人研究提出了摄像机畸变的对数模型[22]。

[rd=R(ru)=s?log(1+λru)] (4)

式中:[rd],[ru]为图像中心到图像点的距离;[s]为畸变因子;[λ]为径向畸变系数。该模型对于鱼眼镜头和广角镜头的畸变校正比较适用,因而获得一定范围的应用。

1.4 FOV模型

Devernay等人根据鱼眼镜头像点与图像主点的距离与其相应的三维点,光轴,光心之间的角度成比例的特点,提出另一种鱼眼镜头畸变模型,即FOV(视场角)[5]模型。其形式为:

[rd=1ωarctan(2rutan ω2)] (5)

其逆变换为:

[ru=tan(rdω)2tan ω2] (6)

式中[ω]为鱼眼镜头的视场角。如果这样的一阶模型不足以描述镜头的畸变,还可以引入改进的高阶模型以提高精度,以满足不同的要求。

以上是一些常用的畸变模型,畸变模型的选择是进行摄像机校正的第一步,不同的模型有不同的适用范围和条件。在大多数场合,一般选择多项式模型,如现在的Matlab标定工具箱和Opencv的标定程序都是使用多项式模型。

2 不变特征与畸变测度

一旦选定了畸变模型,那么基于非量测校正的方法的一个重要内容就是选择合适的不变特征和畸变测度。由于非量测的校正方法不依靠点对应关系和特定的运动行为,所以必须根据透视投影的性质选取合适的不变特征来建立畸变测度。所谓畸变测度是指畸变大小的定量衡量标准,而这些畸变测度的建立常和选用的不变特征有关。根据透视投影的性质,透视投影的几何不变特征包括直线的投影仍为直线、消失点(灭点)、球体图像等。在所有这些特征中,直线因为广泛存在于各个场景中而被经常使用。

2.1 直线特征与相应的畸变测度

基于直线的畸变测度是利用透视投影中直线的投影仍为直线这一性质。最初的时候,通过边缘提取和曲线拟合来估算畸变量,由于这种方法比较繁琐,可靠性不高而逐渐被其他方法取代。现行的方法主要是通过提取出亚像素精度的图像边缘,定义相关的畸变测度,使用相应的非线性寻优方法,求出最优的畸变系数。基于直线的畸变测度主要有:畸变的线点的平均曲率、线点两端和中线之间的距离、畸变点与其修正曲线的距离平方和、畸变曲线两端相连所围成的面积等。

2.1.1 修正后曲线斜率一致性测度

这一测度最初由Moumen Ahmed提出[6],其基本思想是,若畸变的图像被很好地修正,那么其在修正的曲线上每一点的斜率都相等。故可以定义斜率差值作为畸变测度,其一般形式为:

[ξs=i=2Ns(xdi,ydi)-s(xdi-1,ydi-1)2] (7)

式中:[ξs]为畸变测度;[s(xdi,ydi)]为畸变曲线在点[(xdi,ydi)]的斜率。

这一测度的提出改变了以往通过曲线拟合来利用曲线特征的繁琐方法,具有更高的精度,为后来的研究开拓了思路。

2.1.2 法线平行性测度

这是Moumen Ahmed利用直线特征提出的另一畸变测度[3],是校正后曲线斜率一致的一种等价表述形式。该方法巧妙地利用了图像边缘法线的方向与其灰度梯度方向平行的性质,从而能够利用图像灰度方便地求解出曲线上各点的法线方向。这一测度的一般表述形式为:

[ξg=i=2Ng′(xdi,ydi)-g′(xdi-1,ydi-1)2 ] (8)

式中:[ξg]为畸变测度;[g′(xdi,ydi)]为曲线上点[(xdi,ydi)]的灰度梯度。这里需要说明一点,这种方法还利用了这样一个假设:图像的畸变仅影响图像点的位置,不影响图像的对应点的灰度值。这个假设是这种方法的前提,目前还没有相应的证明,因而在应用上存在一定的局限性。

2.1.3 修正后的面积最小化测度

张靖等人提出了修正后面积平方和测度[23],其基本思想是,把修正后得到的曲线的两个端点的用直线段连接起来,形成一条围线,如果曲线得到有效修正,那么得到的围线的面积就会越小,因而可用围线面积来衡量畸变大小和修正效果。该畸变测度函数可以表示为:

[ξ=i=1Mj=1Nj(xjiyj+1i-xj+1iyji)2] (9)

式中:[ξ]为畸变测度;[(xji,yji)]是修正后第[i]条曲线第[j]个点的坐标。与前述方法相比,这种方法计算量相对小,且具有一定的抗噪能力,具有一定的应用价值。

2.1.4 共线向量外积最小化测度

周子卿等人根据修正后曲线上的点组成的共线向量外积为零的性质,提出了共线向量外积最小化测度[24],其一般形式为:

[ξ=l=1Li=2Nl-1pi-1pi×pipi+12+m=1Mj=2Nm-1pj-1pj×pjpj+12] (10)

式中:

[pi-1pi×pipi+12=[(xui-xui-1)(yui+1-yui) - (xui+1-xui)(yui-yui-1)], i=2,3,???,Nl-1] (11)

其基本思想是无畸变的像平面上的直线组成的共线向量的外积应为零,因此可以采用最小化这个外积值来求解相应的畸变参数。

以上四种方法都是通过将直线在像平面的投影拉直,或者将其直线度增强,从而求解出相应畸变参数的。

2.2 消失点(灭点)

空间中平行直线在像平面上的投影并不会相互平行,而是会相交在某一点,这个点通常被称为灭点或消失点。根据这一性质,霍炬等人提出了基于消隐点几何特性的摄像机自标定方法[11],蔡鸣等人提出了基于消隐点无穷单应的摄像机焦距精确自标定方法[9],卢津等人提出了新型正交消隐点的摄像机标定方法[10]。这些方法都是根据平行线会相交于灭点这一条件,建立灭点几何约束条件与径向畸变系数的非线性模型,通过算法估计灭点坐标与径向畸变参数。根据质量评价准则(畸变测度)求解畸变中心和径向畸变系数。

2.3 球体图像

球体图像方面,Ying等利用三幅球体图像确立的6个不变量建立约束方程,实现了对反射折射全向照相机的标定[25],这种方法比通过直线特征获得的不变量更具有鲁棒性。Sun等利用球体图像改进传统摄像机标定方法[12],不仅精度与传统方法相当,而且能够最少通过一幅图像实现摄像机的标定,从而具备独特的价值。

3 模型求解

本节从求解数据的获取,畸变中心的处理,求解方法和离群值的剔除方面介绍畸变模型的求解问题。

3.1 亚像素定位技术

亚像素定位技术是获取模型求解数据和保证求解精度的关键。很多人在听到亚像素定位时可能会怀疑,既然像素是图像的最低单位,那么亚像素定位看起来就是不合常理的。这种理解通常来说是正确的,但是亚像素定位是有前提的,即目标不是由单一的像素点构成,而是存在一定的形状和灰度分布[5]。这样在对目标进行初步分析处理之后,利用浮点运算便能得到此目标亚像素的位置特征。因为畸变参数本来的值就非常小,所以采用亚像素定位技术保证了求解的准确性。值得一提的是,目前Matlab的标定工具箱和OpenCV相应的标定函数均采用此技术提取角点的坐标值。

3.2 畸变中心的处理

在获得计算的数据之后,模型求解一个重要问题是对畸变中心的处理。这是因为如果将畸变中心和畸变系数一起优化求解,将会出现不稳定的现象[5,7]。一般来说,可以十分粗略地将图像中心视为畸变中心,实际上除非安装足够精密,畸变中心和图像中心一般是不重合的。但是由于畸变中心和图像中心在相差[±10]像素时仍能够达到亚像素的精度[3],因此在求解的初期可以将图像中心近似表示畸变中心。在精确求解时,可以通过额外增加两个切向畸变项[19]来精确表示这个误差。这是将畸变中心和畸变系数一起求解时不稳定的原因所在,也是一种处理畸变中心的方法。

3.3 求解算法

模型求解的另一个关键问题是确定求解算法,模型求解实际上是寻找畸变测度的最小值问题。文献[10,26?27]使用Levenberg?Marquardt (LM)算法,LM算法是一种寻找函数值最小值参数的向量算法,它通过在Hessian矩阵上加一个正定矩阵来进行分析评估,其存在的问题是需要对每一个待估参数求偏导,在参数复杂时可能不太适应。为了避免这个问题,周子卿等使用Powell算法求解[26],这是一种典型的求函数极值方法,属于共轭梯度法的范畴。文献[3,6]使用LMedS算法,不仅求出了最优值,而且能有效地剔除离群值,从而为非量测自动校正提供可能。

最小化测度的问题实质上也是一个非线性寻优的问题,在传统的摄像机标定问题上,神经网络、遗传算法、粒子群算法等典型的非线性寻优方法都有应用。在非量测校正方面,殷春平等用粒子群算法优化摄像机标定过程[28],张靖等又将遗传算法[23]应用于此,这两种算法都是典型的群智能方法。群智能方法能有效地获取函数的最优解,在初值好的情况下能避免陷入局部极值,但是存在两个问题:一是需要输入最初的估计值,二是求解过程比较繁琐,速度较慢,实时性差。故其应用存在一定的局限性。

3.4 离群值判别技术

非量测校正经历了手动、半自动、自动校正的过程,其在数据处理方面一个非常重要的问题是离群值的判别和处理。一个十分重要的问题是为什么会存在离群值。以用直线作为畸变测度为例,离群值的引入很可能是因为误将空间中曲线的图像视为直线的图像,将其作为求解的原始数据,从而导致得到了错误的或者精度低的结果。为了避免这种情况,文献[17,20]采用Ransac (Random Sample Consensus Algorithm)来剔除离群值,其基本思想是从样本中随机抽选出一个样本子集,然后建立模型,计算所有样本与该模型的偏差,通过设定的阈值确定该参数是否是离群值,通过迭代得到最佳的模型参数估计值。值得注意的是,前述的LMedS方法本身也是一种离群值的剔除方法,并得到全局最优的参数估计,而且相比Ransac算法而言,其阈值的设定更加容易。但是当样本中离群值达到或超过50%时,LMedS算法就失效了,这是因为LMedS每次迭代记录的是“Med”偏差值。当然在实际的标定过程中,一般不会有这么高的离群值比例,因而也不失为一种好的方法。文献[29]重点对离群值的消除做了一些探索。

4 结 语

本文从畸变模型、不变量与畸变测度、模型求解方面对非量测校正技术进行了全面的回顾和介绍,使读者能够迅速了解非量测校正技术发展历程。非量测校正技术是一门发展迅速的技术,它经历了手动、半自动到自动校正的发展历程。未来将集中在畸变模型求解的改进方法研究和不完全信息条件下的畸变测度研究方面,如线阵CCD成像条件下的校正问题,求解的实时性和准确性要求也引起了广泛关注。目前虽然研究非量测校正的人员较多,但并没有像张正友法一样形成类似工具箱一样的工具,因而其应用的普遍性得到一定的制约。随着研究的深入,相信非量测校正技术必然将更加成熟。

参考文献

[1] 范勇,周敬滨,王传珂,等.一种实用的平板高精度摄像机标定方法[J].计算机测量与控制,2010,18(1):172?174.

[2] KELLEY J. A camera calibration method for a hammer throw analysis tool [J]. Procedia Engineering, 2014, 72(10): 74?79.

[3] AHMED M, FARAG A. Nonmetric calibration of camera lens distortion: differential methods and robust estimation [J]. IEEE Transactions on Image Processing, 2005, 14(8): 1215?1230.

[4] SWAMINATHAN R, NAYAR S. Nonmetric calibration of wide?angle lenses and polycameras [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(10): 1172?1178.

[5] DEVERNAY F, FAUGERAS O. Straight lines have to be straight [J]. Machine Vision and Applications, 2001, 13(1): 14?24.

[6] EL?MELEGY M, FARAG A. Nonmetric lens distortion calibration: closed?form solutions, robust estimation and model selection [C]// Proceedings of the 9th IEEE International Conference on Computer Vision. Nice, France: IEEE, 2003: 554?559.

[7] PRESCOTT B, MCLEAN G. Line?based correction of radial lens distortion [J]. Graphical Models and Image Processing, 1997, 59(1): 39?47.

[8] 刘丹,刘学军,王美珍.由灭点进行径向畸变的自动校正[J].中国图象图形学报,2014,19(3):407?413.

[9] 蔡鸣,孙秀霞,刘树光,等.基于消隐点无穷单应的摄像机焦距精确自标定方法[J].光学学报,2014,34(5):187?192.

[10] 卢津,孙惠斌,常智勇.新型正交消隐点的摄像机标定方法[J].中国激光,2014,41(2):302?310.

[11] 霍炬,杨卫,杨明.基于消隐点几何特性的摄像机自标定方法[J].光学学报,2010,30(2):465?472.

[12] SUN J, CHEN X, GONG Z, et al. Accurate camera calibration with distortion models using sphere images [J]. Optics & Laser Technology, 2015, 65(10): 83?87.

[13] 贺俊吉,张广军,杨宪铭.基于交比不变性的镜头畸变参数标定方法[J].仪器仪表学报,2004,25(5):597?599.

[14] LI D, WEN G, WEI H B, et al. Cross?ratio invariant based line scan camera geometric calibration with static linear data [J]. Optics and Lasers in Engineering, 2014, 62(10): 119?125.

[15] 曲学军,张璐.基于平行直线束图像序列的摄像机标定[J].计算机测量与控制,2010,18(6):1421?1423.

[16] BROWN D C. Close?range camera calibration [J]. Photogrammetric Engineering, 1971, 37(8): 855?866.

[17] ZHU H, WANG X, ZHOU J, et al. Approximate model of fisheye camera based on the optical refraction [J]. Multimed Tools Appl, 2014, 73(3): 1445?1457.

[18] KANG S B. Semiautomatic methods for recovering radial distortion parameters from a single image [R]. Santa Cruz: Technical Report CRL, 1997.

[19] 徐嵩,孙秀霞,刘树光,等.摄像机畸变标定的模型参考逼近方法[J].光学学报,2013,33(7):231?242.

[20] FITZGIBBON A. Simultaneous linear estimation of multiple view geometry and lens distortion [C]// Proceedings of 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. [S.l.]: IEEE, 2001: 120?125.

[21] 陈天飞,马孜,李鹏,等.一种基于非量测畸变校正的摄像机标定方法[J].控制与决策,2012,27(2):243?246.

[22] BASU A, LICARDIE S. Alternative models for fish?eye lenses [J]. Pattern Recognition Letters,1995,16(4):433?441.

[23] 张靖,朱大勇,张志勇.摄像机镜头畸变的一种非量测校正方法[J].光学学报,2008,28(8):1552?1557.

[24] 周子卿,赵鹏,李勃,等.基于共线向量的非量测镜头畸变校正[J].光学学报,2014,34(10):180?185.

[25] YING X, HU Z. Catadioptric camera calibration using geometric invariants [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2004, 26(10): 1260?1271.

[26] 周富强,蔡斐华.基于非量测畸变校正的摄像机标定方法[J].机械工程学报,2009,45(8):228?232.

[27] 周富强,胡坤,张广军.基于共线特征点的摄像机镜头畸变校正[J].机械工程学报,2006,42(9):174?177.

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

[29] KIM B, CHUNG S, SONG M, et al. Correcting radial lens distortion with advanced outlier elimination [C]// Proceedings of 2010 International Conference on Audio Language and Image Processing. Shanghai: IEEE, 2010: 1693?1699.