黃應清+文軍+謝志宏
摘 要: 傳統(tǒng)的攝像機標定方法需要依賴空間的點對應條件或者特定的運動模式,且內外參數(shù)存在的耦合問題易引起求解的不穩(wěn)定和不精確現(xiàn)象。非量測校正方法利用透視投影本身的幾何不變特性,通過將畸變參數(shù)分離出來單獨求解,較好地克服了傳統(tǒng)方法的上述問題。這里從畸變模型、不變特征與畸變測度、模型求解三個方面綜述并總結了非量測校正技術的發(fā)展現(xiàn)狀和技術路線。
關鍵詞: 非量測校正; 畸變模型; 畸變測度; 非線性尋優(yōu)
中圖分類號: 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
攝像機標定是任何視覺任務的基礎,是通過二維圖像獲取三維信息的橋梁。以張正友法為代表的傳統(tǒng)標定方法利用空間和像平面上的點對應估計攝像機的內外參數(shù),這樣的方法主要存在3個方面的問題:
(1) 依賴特定的標定物,如棋盤[1]等;
(2) 需要準確的空間點的物理坐標,而這在實際應用如視頻監(jiān)控[2]中很難實現(xiàn);
(3) 攝像機的內外參數(shù)可能存在某種程度的耦合[3?4],影響求解的精度和穩(wěn)定性。
還有一些方法利用多個視圖之間點的對應關系,或者利用相機與物體之間的已知某種特定的運動關系來求解內外參數(shù)。這些方法都需要一定的先驗知識,且一般需要多個視圖以求解相機的內外參數(shù)。非量測畸變校正方法的出現(xiàn)解決了這些問題,并越來越受到人們的重視。這些方法將畸變參數(shù)的求解單獨分離出來,利用透視投影的幾何不變特征,如直線[3?7],消失點(滅點)[8?11],球體的圖像[12],交比不變性[13?14],平行性[15]等,確定合適的畸變測度,通過建立測度與畸變參數(shù)的函數(shù)關系,以非線性尋優(yōu)來確定測度的最小值,并求解相應的畸變參數(shù)。這些方法不依賴特定的標定物和特定的相機運動,且能從單幅圖像得到相機的畸變系數(shù),因而得到了廣泛的應用。本文將從畸變模型、不變特征與畸變測度和模型求解3個方面介紹攝像機的非量測校正方法。
1 畸變模型
理想的針孔攝像機模型是線性的,但是由于畸變的存在,空間中的點在像平面上的實際位置并不是針孔模型所確立的理想的像素點的位置。畸變模型[u]描述的是空間中的點[(X,Y)]在圖像上的實際位置[(xd,yd)]和理想的無畸變圖像上的點[(xu,yu)]的映射關系,即[u:(xd,yd)→(xu,yu)]。根據不同的應用場合,人們提出了不同的畸變模型來描述上述關系。Brown和Fitzgibbon分別提出了攝像機畸變的多項式和除式校正模型[16],Basu等人提出了對數(shù)畸變模型,Devernay等人提出了FOV模型。
1.1 多項式模型
該模型最早由Brown提出,并得到了廣泛應用和發(fā)展,現(xiàn)在其一般形式為:
[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,…]是徑向畸變系數(shù);[p1,p2,p3,…]是切向畸變系數(shù);[rd]是畸變圖像中的點到畸變中心[(cx,cy)]的距離。需要說明的是,通常情況下只對其中有限個畸變參數(shù)進行建模,因為高階項的影響相對較小,通常只需考慮一階或二階徑向畸變即可滿足系統(tǒng)測量精度要求[17?18],憑經驗來說,多引入參數(shù)可以任意精度逼近該模型,實際上引入過多參數(shù)反而會引起解的不穩(wěn)定性[19]。因此在不同的場合,必須采用不同的畸變模型。
1.2 除式模型
Fitzgibbon提出的除式模型[20]能夠使用較少參數(shù)校正較大鏡頭的畸變,其一般形式為[21]:
[ru=rd1+k1r2d+k2r4d+???] (2)
采用一階模型,其求解結果為:
[xu=xd1+kr2dyu=yd1+kr2d] (3)
各個符號的含義同1.1節(jié)。這種模型主要估計徑向畸變。文獻[8]指出,非徑向畸變的總和是徑向畸變的[18]~[17],因而這種方法也能達到較高的精度。
1.3 對數(shù)模型
為了使模型能夠更好地反映魚眼相機的畸變,Basu等人研究提出了攝像機畸變的對數(shù)模型[22]。
[rd=R(ru)=s?log(1+λru)] (4)
式中:[rd],[ru]為圖像中心到圖像點的距離;[s]為畸變因子;[λ]為徑向畸變系數(shù)。該模型對于魚眼鏡頭和廣角鏡頭的畸變校正比較適用,因而獲得一定范圍的應用。
1.4 FOV模型
Devernay等人根據魚眼鏡頭像點與圖像主點的距離與其相應的三維點,光軸,光心之間的角度成比例的特點,提出另一種魚眼鏡頭畸變模型,即FOV(視場角)[5]模型。其形式為:
[rd=1ωarctan(2rutan ω2)] (5)
其逆變換為:
[ru=tan(rdω)2tan ω2] (6)
式中[ω]為魚眼鏡頭的視場角。如果這樣的一階模型不足以描述鏡頭的畸變,還可以引入改進的高階模型以提高精度,以滿足不同的要求。
以上是一些常用的畸變模型,畸變模型的選擇是進行攝像機校正的第一步,不同的模型有不同的適用范圍和條件。在大多數(shù)場合,一般選擇多項式模型,如現(xiàn)在的Matlab標定工具箱和Opencv的標定程序都是使用多項式模型。
2 不變特征與畸變測度
一旦選定了畸變模型,那么基于非量測校正的方法的一個重要內容就是選擇合適的不變特征和畸變測度。由于非量測的校正方法不依靠點對應關系和特定的運動行為,所以必須根據透視投影的性質選取合適的不變特征來建立畸變測度。所謂畸變測度是指畸變大小的定量衡量標準,而這些畸變測度的建立常和選用的不變特征有關。根據透視投影的性質,透視投影的幾何不變特征包括直線的投影仍為直線、消失點(滅點)、球體圖像等。在所有這些特征中,直線因為廣泛存在于各個場景中而被經常使用。
2.1 直線特征與相應的畸變測度
基于直線的畸變測度是利用透視投影中直線的投影仍為直線這一性質。最初的時候,通過邊緣提取和曲線擬合來估算畸變量,由于這種方法比較繁瑣,可靠性不高而逐漸被其他方法取代?,F(xiàn)行的方法主要是通過提取出亞像素精度的圖像邊緣,定義相關的畸變測度,使用相應的非線性尋優(yōu)方法,求出最優(yōu)的畸變系數(shù)?;谥本€的畸變測度主要有:畸變的線點的平均曲率、線點兩端和中線之間的距離、畸變點與其修正曲線的距離平方和、畸變曲線兩端相連所圍成的面積等。
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],其基本思想是,把修正后得到的曲線的兩個端點的用直線段連接起來,形成一條圍線,如果曲線得到有效修正,那么得到的圍線的面積就會越小,因而可用圍線面積來衡量畸變大小和修正效果。該畸變測度函數(shù)可以表示為:
[ξ=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)
其基本思想是無畸變的像平面上的直線組成的共線向量的外積應為零,因此可以采用最小化這個外積值來求解相應的畸變參數(shù)。
以上四種方法都是通過將直線在像平面的投影拉直,或者將其直線度增強,從而求解出相應畸變參數(shù)的。
2.2 消失點(滅點)
空間中平行直線在像平面上的投影并不會相互平行,而是會相交在某一點,這個點通常被稱為滅點或消失點。根據這一性質,霍炬等人提出了基于消隱點幾何特性的攝像機自標定方法[11],蔡鳴等人提出了基于消隱點無窮單應的攝像機焦距精確自標定方法[9],盧津等人提出了新型正交消隱點的攝像機標定方法[10]。這些方法都是根據平行線會相交于滅點這一條件,建立滅點幾何約束條件與徑向畸變系數(shù)的非線性模型,通過算法估計滅點坐標與徑向畸變參數(shù)。根據質量評價準則(畸變測度)求解畸變中心和徑向畸變系數(shù)。
2.3 球體圖像
球體圖像方面,Ying等利用三幅球體圖像確立的6個不變量建立約束方程,實現(xiàn)了對反射折射全向照相機的標定[25],這種方法比通過直線特征獲得的不變量更具有魯棒性。Sun等利用球體圖像改進傳統(tǒng)攝像機標定方法[12],不僅精度與傳統(tǒng)方法相當,而且能夠最少通過一幅圖像實現(xiàn)攝像機的標定,從而具備獨特的價值。
3 模型求解
本節(jié)從求解數(shù)據的獲取,畸變中心的處理,求解方法和離群值的剔除方面介紹畸變模型的求解問題。
3.1 亞像素定位技術
亞像素定位技術是獲取模型求解數(shù)據和保證求解精度的關鍵。很多人在聽到亞像素定位時可能會懷疑,既然像素是圖像的最低單位,那么亞像素定位看起來就是不合常理的。這種理解通常來說是正確的,但是亞像素定位是有前提的,即目標不是由單一的像素點構成,而是存在一定的形狀和灰度分布[5]。這樣在對目標進行初步分析處理之后,利用浮點運算便能得到此目標亞像素的位置特征。因為畸變參數(shù)本來的值就非常小,所以采用亞像素定位技術保證了求解的準確性。值得一提的是,目前Matlab的標定工具箱和OpenCV相應的標定函數(shù)均采用此技術提取角點的坐標值。
3.2 畸變中心的處理
在獲得計算的數(shù)據之后,模型求解一個重要問題是對畸變中心的處理。這是因為如果將畸變中心和畸變系數(shù)一起優(yōu)化求解,將會出現(xiàn)不穩(wěn)定的現(xiàn)象[5,7]。一般來說,可以十分粗略地將圖像中心視為畸變中心,實際上除非安裝足夠精密,畸變中心和圖像中心一般是不重合的。但是由于畸變中心和圖像中心在相差[±10]像素時仍能夠達到亞像素的精度[3],因此在求解的初期可以將圖像中心近似表示畸變中心。在精確求解時,可以通過額外增加兩個切向畸變項[19]來精確表示這個誤差。這是將畸變中心和畸變系數(shù)一起求解時不穩(wěn)定的原因所在,也是一種處理畸變中心的方法。
3.3 求解算法
模型求解的另一個關鍵問題是確定求解算法,模型求解實際上是尋找畸變測度的最小值問題。文獻[10,26?27]使用Levenberg?Marquardt (LM)算法,LM算法是一種尋找函數(shù)值最小值參數(shù)的向量算法,它通過在Hessian矩陣上加一個正定矩陣來進行分析評估,其存在的問題是需要對每一個待估參數(shù)求偏導,在參數(shù)復雜時可能不太適應。為了避免這個問題,周子卿等使用Powell算法求解[26],這是一種典型的求函數(shù)極值方法,屬于共軛梯度法的范疇。文獻[3,6]使用LMedS算法,不僅求出了最優(yōu)值,而且能有效地剔除離群值,從而為非量測自動校正提供可能。
最小化測度的問題實質上也是一個非線性尋優(yōu)的問題,在傳統(tǒng)的攝像機標定問題上,神經網絡、遺傳算法、粒子群算法等典型的非線性尋優(yōu)方法都有應用。在非量測校正方面,殷春平等用粒子群算法優(yōu)化攝像機標定過程[28],張靖等又將遺傳算法[23]應用于此,這兩種算法都是典型的群智能方法。群智能方法能有效地獲取函數(shù)的最優(yōu)解,在初值好的情況下能避免陷入局部極值,但是存在兩個問題:一是需要輸入最初的估計值,二是求解過程比較繁瑣,速度較慢,實時性差。故其應用存在一定的局限性。
3.4 離群值判別技術
非量測校正經歷了手動、半自動、自動校正的過程,其在數(shù)據處理方面一個非常重要的問題是離群值的判別和處理。一個十分重要的問題是為什么會存在離群值。以用直線作為畸變測度為例,離群值的引入很可能是因為誤將空間中曲線的圖像視為直線的圖像,將其作為求解的原始數(shù)據,從而導致得到了錯誤的或者精度低的結果。為了避免這種情況,文獻[17,20]采用Ransac (Random Sample Consensus Algorithm)來剔除離群值,其基本思想是從樣本中隨機抽選出一個樣本子集,然后建立模型,計算所有樣本與該模型的偏差,通過設定的閾值確定該參數(shù)是否是離群值,通過迭代得到最佳的模型參數(shù)估計值。值得注意的是,前述的LMedS方法本身也是一種離群值的剔除方法,并得到全局最優(yōu)的參數(shù)估計,而且相比Ransac算法而言,其閾值的設定更加容易。但是當樣本中離群值達到或超過50%時,LMedS算法就失效了,這是因為LMedS每次迭代記錄的是“Med”偏差值。當然在實際的標定過程中,一般不會有這么高的離群值比例,因而也不失為一種好的方法。文獻[29]重點對離群值的消除做了一些探索。
4 結 語
本文從畸變模型、不變量與畸變測度、模型求解方面對非量測校正技術進行了全面的回顧和介紹,使讀者能夠迅速了解非量測校正技術發(fā)展歷程。非量測校正技術是一門發(fā)展迅速的技術,它經歷了手動、半自動到自動校正的發(fā)展歷程。未來將集中在畸變模型求解的改進方法研究和不完全信息條件下的畸變測度研究方面,如線陣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] 霍炬,楊衛(wèi),楊明.基于消隱點幾何特性的攝像機自標定方法[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] 賀俊吉,張廣軍,楊憲銘.基于交比不變性的鏡頭畸變參數(shù)標定方法[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] 殷春平,陳藝峰,吳了泥,等.基于粒子群算法的攝像機標定過程優(yōu)化[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.