田俊英, 伍濟鋼, 趙前程
(湖南科技大學(xué) 機械設(shè)備健康維護湖南省重點實驗室,湖南 湘潭 411201)
視覺是人類從外界環(huán)境中獲取信息最主要的途徑,以其效率高、功能強大、適用范圍廣等優(yōu)點被廣泛應(yīng)用于工業(yè)檢測、醫(yī)學(xué)圖像分析和農(nóng)產(chǎn)品品質(zhì)檢測及分類等諸多領(lǐng)域[1-2]。1977年,英國教授Marr提出的Marr視覺理論中認為:一個完整的雙目立體視覺系統(tǒng)主要包括圖像采集、攝像機標定、特征提取、立體匹配以及三維重建這5個方面[3-4]。攝像機標定作為立體視覺測量的基礎(chǔ)[5],對后續(xù)立體匹配的成功率和三維重建的準確度有直接影響,因而找到一種高效便捷的標定方法尤為重要。
所謂攝像機標定,就是根據(jù)攝像機成像幾何模型,利用已知特征點的三維空間物體位置與二維圖像坐標的映射關(guān)系,求解攝像機成像的基本參數(shù)以及攝像機對于世界坐標系的方位[6-7]。攝像機標定技術(shù)最早是應(yīng)用于攝影測量學(xué)[8-11],通過數(shù)學(xué)解析的方法建立聯(lián)系來標定相機。但由于機器視覺與一般攝影測量的使用要求、應(yīng)用場合等方面存在差異,人們必須研究出更加適合機器視覺系統(tǒng)的攝像機標定方法,通常,根據(jù)標定目標的空間維度可分為4類[12]:基于三維物體的標定[13]、基于二維平面的標定[14]、基于一維分段的標定[15]和零維自標定[16]方法,同時通過比較各標定方法操作的智能性、標定過程的實時性、標定結(jié)果的準確性、對標定環(huán)境的抗干擾性等關(guān)鍵技術(shù)指標體現(xiàn)標定方法的優(yōu)勢及適用范圍,并以此來評價標定方法。針對視覺系統(tǒng)對標定技術(shù)的高要求,人們也不斷改進算法來提高標定效果。
本文首先對視覺系統(tǒng)的發(fā)展現(xiàn)狀與整體流程進行簡要介紹,突出了攝像機標定在整個過程中的重要性;其次提出攝像機標定方法可根據(jù)標定目標的空間維度分為4大類,基于各類標定方法存在的問題論述了研究人員對該方面的改進與其發(fā)展現(xiàn)狀,并對各種改進方法的特點進行比較;最后總結(jié)了當前各類標定方法存在的優(yōu)勢與不足,并對以后攝像機標定技術(shù)的發(fā)展趨勢做出預(yù)測。
三維標定法以固定在平面板的多個立方體為標定靶標,將其放在多相機視覺測量系統(tǒng)的工作范圍內(nèi),通過硬件控制觸發(fā)多相機同步采集立體靶標的圖像,利用圖像信息標定出每個相機的內(nèi)外參數(shù)。但三維標定物普遍存在定制復(fù)雜、價格偏高等問題。
根據(jù)對近年來該方面文獻的研究,我們找出了基礎(chǔ)的三維標定方法,并按存在形態(tài)將其分為兩大類:第一類是使用3D實物立體靶標實現(xiàn)三維標定[17-18],并對靶標的不同結(jié)構(gòu)分別展開研究;第二類是通過構(gòu)建虛擬立體靶標實現(xiàn)相機三維標定[19]。
2.1.1 球體靶標
球體標定以球形物體作為標定對象(圖1),利用球體圖像二次曲線的性質(zhì),即使在發(fā)生遮擋等問題時也能夠恢復(fù)輪廓。該方法通過拍攝不同角度的球體圖像,將得到的二次曲線進行提取匹配,并根據(jù)約束條件實現(xiàn)基于球體的三維標定。
圖1 立體靶標圖[17]Fig.1 Stereogram[17]
圖2 運動捕捉系統(tǒng)[30]Fig.2 Motion capture system[30]
三維標定法最早出現(xiàn)于1986~1987年,根據(jù)曲面中各點與成像平面距離不同,Roger和Tsai等[20-21]提出將單視圖共面點沿z方向移動不同的高度,構(gòu)建非共面點并利用徑向一致約束(RAC)條件標定3D攝像機,可用于精密的測量,為以后3D標定物的制作與使用奠定了基礎(chǔ),但靶標制作難度較大,特征點提取困難。為降低靶標制作成本,1994年Daucher等[22]基于四點雙報表對齊、投影不變量原理,使用一個球體在多個位置的圖像確定相機內(nèi)參數(shù)。此后球體靶標應(yīng)用起來,該方法對部分失真問題不敏感,但誤差較大。Teramoto等[23]不滿足于單個球體的應(yīng)用,取3個球的單幅圖像,使用Levenberg-MarQuardt算法對球體靶標進行二次曲線到絕對二次曲線的轉(zhuǎn)換,從每個球的邊界點最優(yōu)地估計攝像機內(nèi)參數(shù)。Ying等[24]則利用幾何不變量原理推導(dǎo)相機內(nèi)參數(shù)的約束方程,對比得出多個球面投影的方法比直線投影具有更好的魯棒性和精度。陳剛等[25]在Roger和Tsai等的非共面點方法基礎(chǔ)上,設(shè)計了一種真實的非共面標定模板直接通過多個球體獲得特征點,提高了雙目視覺系統(tǒng)的標定效率。而趙成運等[17]通過多個球體共面的模板,將球心作為角點數(shù)據(jù)標定,結(jié)果在角度變化較大時,標定精度和穩(wěn)定性更好。Ying和Zhang等[26-27]利用絕對二次曲線與球面圖像的各理論關(guān)系,用多個球體標定攝像機內(nèi)參,有效緩解了分步累積誤差和額外參數(shù)導(dǎo)致的精度低的問題。Wong等[28]則利用絕對對偶二次曲線與球面分層理論進行了內(nèi)、外參數(shù)全標定,通過兩個球面的雙切包絡(luò)獲得的2個附加特征點和3個球面的核線切線來恢復(fù)視差。Su等[29]用一種球面擬合算法識別彩色圖像和深度圖像中球心的運動位置,使用外部網(wǎng)絡(luò)標定方法建立視圖對應(yīng)完成了攝像機外部參數(shù)標定。至此球體靶標已實現(xiàn)了大部分標定功能,但三維空間度量結(jié)構(gòu)的畸變效應(yīng)在實際應(yīng)用中仍未解決。Chiodini等[30]基于解決相機切除問題來計算相機相對于一組球面逆反射標記的姿態(tài),利用圖2所示的具有跟蹤攝像機并提供軌跡地面真相能力的運動捕捉系統(tǒng)測量球面逆反射標記物的三維坐標,計算相機相對位置和方向。由于不受任何附加的視覺標定目標裝配的系統(tǒng)誤差的影響,極大提高了標定精度?;谇蝮w靶標的相機標定方法發(fā)展至今已經(jīng)得到了很大的提高,尤其是在標定精度方面能夠達到1 mm的位置精度和優(yōu)于1°的定向精度。標定精度一般可以通過重投影誤差來表示,其重投影誤差可以達到0.7 pixel。球體靶標具有較強的抗遮擋能力,但其制作成本較大,且邊緣檢測精度較低使得特征點提取困難,因此要提高球體靶標的特征點檢測的精度。
2.1.2 其他立體靶標
除了球體可作為標定目標外,許多研究人員也考慮使用一些制作與結(jié)構(gòu)更簡單的立方體來標定相機。多面立體靶標以立方體為標定對象(圖3),通過識別不同側(cè)面附著的特征圖案進行標定,其中向量eo指向附著特征圖案的表面,θ為四棱錐的二面角,即附著特征圖像的兩個相對面正方向的夾角。用多相機系統(tǒng)同步采集多面立體靶標圖像,在4個側(cè)面分別建立不同的平面坐標系,然后提取出圖像上特征圓圓心的像素坐標,利用特征圓的靶面坐標系中的實際坐標實現(xiàn)多相機標定[18]。
(a)結(jié)構(gòu)圖(a) Atructural drawings
(b)實物圖(b) Physical drawings圖3 多面立體靶標[18]Fig.3 Polyhedral target[18]
1994年,Healey等[31]最初根據(jù)立體靶標曲面片的圖像估計場景變化,將相機噪聲引起的圖像方差與場景效應(yīng)引起的方差分離,完成相機標定;雷彥章等[32]利用光柵投影在三維形貌上的高度差標定相機,通過單目測量結(jié)果來補充雙目測量中的空缺部分,首次結(jié)合了單、雙目標定方法,改善了測量范圍與結(jié)果的完整性;對于相機內(nèi)參可變的情況,Sturm[33]和祝海江等[34]分別使用3個相同的棋盤格與圓形平面模板互相垂直構(gòu)成的3D半包圍結(jié)構(gòu),并考慮徑向畸變參數(shù)與特征點的反投影誤差等進行相機標定,彌補了2D模板無法覆蓋整個魚眼圖像的缺陷;孫軍華[35]和劉震等[36]也利用組合棋盤格的方法,以子靶標之間相對位置不變?yōu)榧s束條件,建立重投影誤差最小的目標函數(shù)標定攝像機,可根據(jù)視場范圍調(diào)節(jié)小靶標距離,具有靈活、高效、制作簡單等特點,解決了大視場標定中靶標加工困難和精度低的問題;Huang等[37]則設(shè)計了側(cè)面附有棋盤格的封閉正方體模板,令每個攝像機只在一個側(cè)面上校準,最后統(tǒng)一于世界坐標系,實現(xiàn)了多個攝像機的全局同步標定,解決了單攝像機測量信息不全的問題;余寰等[18]用圓形平面模板與編碼圖案組合成正四棱錐立方體,僅需兩相機同時拍攝靶標圖片就能標定兩相機內(nèi)外參數(shù),提高了多攝相機標定的精度與自動化程度。該種標定方法目前能達到的最好精度效果是誤差范圍約為-0.2~0. 2 pixel,大多數(shù)點在-0.1~0.1 pixel范圍內(nèi)。多面立體靶標能夠更加準確地實現(xiàn)多相機的同步標定,但多個平面坐標系進行統(tǒng)一時計算量較大,對于靶標的制作精度要求也較高,能否使用智能化手段準確地完成計算是未來要進行研究的重要方向。
(a)虛擬立體靶標構(gòu)建過程(a) Virtual stereo target construction process diagram
(b)虛擬立體靶標示例圖(b) Illustration of a virtual stereo target圖4 虛擬立體靶標[19]Fig.4 Virtual stereo target[19]
2005年,Svoboda[38]與楊博文等[39]通過在相機范圍內(nèi)多次移動亮點構(gòu)建虛擬立體靶標,完成虛擬沉浸式環(huán)境多攝像機系統(tǒng)的標定,解決了大視場標定時只能覆蓋一小部分標定空間的問題。Shen等[40]用內(nèi)視視覺傳感器網(wǎng)絡(luò)(VSN)模擬器設(shè)計了一種中心是大球體,周圍環(huán)繞幾個剛性安裝的小球體的靶標,通過繞中心軸旋轉(zhuǎn)更改外部球體位置的結(jié)構(gòu)特點來提取外部參數(shù),簡化了標定過程。王子辰等[19]利用平面靶標與相機多次曝光構(gòu)建虛擬立體靶標,根據(jù)亞像素精度像點與特征點空間位置的對應(yīng)關(guān)系建立多特征超定方程,用最小二乘法迭代求解相機參數(shù),解決了線陣攝像機標定時特征點選取與控制的問題,可通用于類似線性探測器的標定方法。目前標定效果較為理想的是平均標定精度達0.26 pixel。虛擬立體靶標能更加方便對特征點的控制,也可以適用于多種場景的標定,但立體靶標的結(jié)構(gòu)構(gòu)建比較復(fù)雜,對于靶標的呈現(xiàn)效果也要經(jīng)過諸多試驗。
二維標定法是通過對二維標定板進行多角度拍攝,然后識別特征點,建立單應(yīng)矩陣,求解線性系統(tǒng)并進行優(yōu)化,由此得到相機的內(nèi)外參數(shù)。二維標定法由于其靈活性和易操作性,是當前相機視覺系統(tǒng)中應(yīng)用最廣泛的標定方法,但其對于控制點數(shù)量和匹配精度等方面的不足亟待解決。
隨著對視覺系統(tǒng)標定的研究不斷深入,可以將現(xiàn)有的二維標定法按照標定模板的原理分為兩大類:一是以方形圖案為平面標定模板,其中最具代表性的要數(shù)張正友的棋盤格標定模板[14];二是以具有二次曲線性質(zhì)的共面圓等圖案[13]為模板標定相機。
在二維標定中,將方格均勻排列作為標定模板。圖5為方形平面模板類型,選取方形圖案的角點作為特征點標定。拍攝模板圖案并識別角點作為特征點,根據(jù)特征點對應(yīng)關(guān)系與圖像約束條件實現(xiàn)相機標定。
(a)Letraset速刻圖板(a) Letraset stencils
(b)棋盤格圖案(b) Checkerboard
(c)格雷碼圖案(c) Grama圖5 方形標定模板Fig.5 Square calibration template
二維標定模板最初是通過檢測正方形的角點來實現(xiàn)。二維標定法最早出現(xiàn)于1981年,Martins等[41]基于兩個標定平面的數(shù)據(jù)對攝像機模型進行了研究,相機標定提供了圖像平面中的點相對應(yīng)的空間中的視線光線所需的模型參數(shù)值,為攝像機二維標定奠定了基礎(chǔ)。Horaud等[42-43]借助精密位移平臺移動平面模板,單掃描線性攝像機的標定法,并在后續(xù)修改中增加了畸變影響,通過非線性優(yōu)化來求解參數(shù),使該標定方法更加實用。Tsai等[21]首先提出用包含16個黑色正方形的金屬塊頂面作為平面模板,通過單視圖的二值化圖像輪廓來檢測矩形標定圖案的角點。Trucco等[44]采用白色背景上有兩個深色矩形的平面網(wǎng)格,將圖像進行邊緣檢測處理,使用Hought和直線交點來定位角點。Mei等[45]也利用平面網(wǎng)格標定全方位單視點相機,采用一種識別良好的函數(shù)來模擬真實誤差,解決了鏡頭失真等誤差導(dǎo)致的最小化問題,驗證了對魚眼與球形相機的有效性。Zhang等[46]提出用相機拍攝至少2個不同方向上顯示的棋盤格圖案,考慮徑向畸變并基于最大似然準則進行非線性優(yōu)化標定攝像機,更加靈活、簡單,棋盤格在速刻圖板的基礎(chǔ)上增加了深色圖案的占比,更加清晰地將兩種背景圖案劃分開,相比速刻圖板能夠得到更加精確的角點檢測結(jié)果。此后棋盤格圖案開始盛行。Zhang等[14]從不同的角度拍攝至少3幅棋盤格模板圖案,提取角點坐標并與單應(yīng)性矩陣建立方程組,線性分解來實現(xiàn)攝像機參數(shù)標定,作為最經(jīng)典的一種方法,標定精度相對較好,適用于非實時標定。Scarmuzza等[47]在黑白棋盤格的基礎(chǔ)上,采用泰勒級數(shù)展開的方法描述圖像的投影函數(shù)。與經(jīng)典方法比較,該方法獨立于傳感器,使用更加靈活方便,適用于不同類型的全向視覺系統(tǒng)。后又有人重新制定非線性最小二乘優(yōu)化方法,并應(yīng)用允許聯(lián)合優(yōu)化所有標定參數(shù)的殘差函數(shù),提高了系統(tǒng)性能,簡化了標定過程。Draréni等[48]通過獲取不同方向的棋盤格圖像,利用圖像誘導(dǎo)的單應(yīng)關(guān)系和一種線性算法來標定線性攝像機的內(nèi)外參數(shù)。卜鵬輝等[49]在棋盤格模板左下角處添加了一個圓形標志點,通過重投影誤差最小實現(xiàn)單個攝像機標定。由于亞像素級角點坐標的排序不隨棋盤格擺放位置而變化,極大提高了標定的自動化程度。趙亞鳳等[50]在棋盤格的基礎(chǔ)上提出利用兩對正交消隱點,計算相機主點和歸一化焦距,作為內(nèi)參數(shù)的初值,再利用優(yōu)化的差分進化算法進行全局尋優(yōu),完成相機畸變校正,最后根據(jù)優(yōu)化后的消隱點坐標求得雙目相機的旋轉(zhuǎn)矩陣和平移向量。該標定算法具有穩(wěn)定可靠、精度高、抗干擾能力強的優(yōu)點。He等[51]結(jié)合K-SVD稀疏字典學(xué)習(xí)與棋盤格圖像構(gòu)造稀疏字典,并及時更新相機變化,實現(xiàn)高精度、高效率的相機標定,詳細過程如圖6所示。Sels等[52]使用LCD屏幕上顯示的格雷碼圖案代替棋盤圖案,通過格雷碼圖案解碼LCD屏幕上點的3D信息。在對CMOS相機的標定中,格雷碼相比于棋盤格模板,圖案簡單并且能夠直接通過解碼來實現(xiàn)信息的提取,在轉(zhuǎn)化過程中也可以避免錯誤數(shù)碼的產(chǎn)生,使得標定算法更加穩(wěn)定,精度更高。對比同等情況下的各類標定方法,效果較好時重投影誤差可低至0.15 pixel左右,能夠得到較好的標定精度。作為最常用的標定方法,在傾斜角度較大時標定精度急速降低,對于傾斜時的角點檢測算法需要進一步提高。
圖6 標定矢量提取過程[53]Fig.6 Calibration vector extraction process[53]
正方形、棋盤格等圖案的標定法對標定相機角度變化限制較大,角度過大時角點誤差會增大,角度過小時標定模型易退化。為了解決此類問題,提高標定精度,共面圓、同心圓等二次曲線性質(zhì)的圓形圖案(圖7)逐漸得到應(yīng)用。該方法以圓形圖案作為平面標定模板,通過投影具有二次曲線性質(zhì)的圓形圖案,更加精確地定位中心并將其作為特征點,結(jié)合其他約束條件標定相機。
(a)共面圓(a) Coplanar circles
(b)同心圓(b) Concentric circles
(c)相交圓(c) Intersecting circles圖7 圓形標定模板Fig.7 Circular calibration template
1997年,Heikkila等[53]考慮圓形特征作為標定目標,通過定位特征質(zhì)心來反復(fù)修正透視效果。而后針對實時標定不易實現(xiàn)的問題,又提出一種非遞歸的失真模型反演方法[12],標定模板以圓孔中心為參照點,進行非對稱性投影來對圓孔投影校正,實現(xiàn)了對精密3D視覺系統(tǒng)攝像機的實時標定。Mateos[54]和Kang等[55]分別使用連通分量標記算法、積分圖像法對圓形標定板圖像進行亞像素特征定位匹配,實現(xiàn)了亞像素精度,提高了魯棒性,并有效解決了工業(yè)應(yīng)用標定中光照不均、背景雜亂及圖像質(zhì)量較差等問題。單寶華等[56]使用Canny-Zernike組合算法實現(xiàn)圓形標定模板圓心坐標亞像素定位,以三角形標記的圓心排序法和靶標對角線上圓心距離為約束條件標定立體系統(tǒng),有較好的精度和自動化程度。Wang等[57]提出圓形標定模板下運用帕斯卡定理,通過牛頓迭代法求解圓點圖像,再將絕對二次曲線約束轉(zhuǎn)化為帕斯卡線約束來標定攝像機內(nèi)參,擴大了標定的應(yīng)用范圍。孫楠等[58]則用兩根帶有圓形編碼元的靶尺構(gòu)建十字形平面靶標,雙相機拍攝靶標一次,再分別單獨拍攝多次,采用多視圖幾何約束獲得相機內(nèi)參,根據(jù)各自靶點對應(yīng)點集計算雙目視覺系統(tǒng)外部參數(shù),實現(xiàn)大視場的標定。楊長江[59]和Zhu等[60]提出使用3個同心二次曲線的平面模板,攝像機拍攝背面等不同方位的圖案,即可直接求解參數(shù),簡化了基元的對應(yīng)問題。孟曉橋等[61-62]基于經(jīng)典棋盤標定法要求攝像機在3個不同方位拍攝一個含有若干條直徑的圓圖像,線性求解全部攝像機內(nèi)參數(shù),整個過程不需要建立模型點與圖像點的對應(yīng)關(guān)系就能自動完成標定,適合非視覺專業(yè)人員使用。 Xu等[63]提出用兩個相交的共面圓作為標定模板,利用射影平面上關(guān)于交點的兩個相交圓的理論和一個核線幾何來求解圓點圖像,通過同一圖案不同方向的3幅圖像中的圓點圖像線性確定內(nèi)參數(shù)。Chen等[64]使用計算機模擬的隨機散斑圖案作為標定目標,結(jié)合最先進的數(shù)字圖像相關(guān)(DIC)算法對標定目標的控制點與捕獲的校準圖像上的對應(yīng)點精確匹配,實現(xiàn)了相機內(nèi)外參數(shù)的精確提取,在高精度光學(xué)計量、高精度和有效的透鏡偏轉(zhuǎn)校正等方面具有很大的潛力。針對無干擾的模擬實驗與有噪音干擾的真實實驗情況,得到其重投影誤差分別為0.004 pixel和0.038 pixel,標定精度有了極大程度的提升。該方法在有干擾的環(huán)境中依然具有較高的標定精度,得到了研究人員的極大關(guān)注,對其標定圖案的選擇也較為成熟,可以進一步利用一些合適的算法提高標定速度。
(a)捕捉的一組標定圖像(a) A set of calibration images captured
(b)標定目標的姿態(tài)(b) Poses of the calibration target圖8 標定參數(shù)可視化[64]Fig.8 Visualization of calibration parameters[64]
一維標定法是通過控制一維標定桿繞一個定點旋轉(zhuǎn),根據(jù)標定桿在運動前后所在平面和像平面的單應(yīng)矩陣推導(dǎo)攝像機的內(nèi)外參數(shù)信息。一維標定物制作簡單、使用范圍廣,但該方法要求標定物做受約束的運動,降低了標定結(jié)果的穩(wěn)定性和準確性。
根據(jù)現(xiàn)有的一維標定方法,我們將它們大致總結(jié)為兩大類:一是依據(jù)單個1D標定桿完成標定的方法,它主要包括最基礎(chǔ)繞點旋轉(zhuǎn)和一般運動兩種形式;二是多個1D標定物組合來實現(xiàn)相機標定。
4.1.1 繞點旋轉(zhuǎn)
一維標定法是基于絕對二次曲線圖像的代數(shù)約束,以一根尺寸已知的1D標定桿作為標定物,指定空間一點作為旋轉(zhuǎn)中心(圖9),在旋轉(zhuǎn)時拍攝多幅圖像,根據(jù)標定桿上多個特征點的對應(yīng)信息建立約束方程,實現(xiàn)一維標定。
一維標定法最早提出于2004年,Zhang等[15]控制1D標定桿繞一定點旋轉(zhuǎn)拍攝至少6幅圖像,要求標定桿運動前后處于同一平面,根據(jù)圖像點間的對應(yīng)關(guān)系與標定物的幾何信息求解相機參數(shù),填補了標定方法在該維度的空缺。Wu等[12]將1D標定桿的旋轉(zhuǎn)標定擴展到2D平面標定,標定桿繞點旋轉(zhuǎn)等效于平面,當標定桿作平面運動時該理論仍成立,但無法用傳統(tǒng)方法處理。針對Zhang等[15]的方法僅用于估計內(nèi)部參數(shù),且標定時未考慮相機失真的影響,He等[65]提出以線形標定對象為基礎(chǔ),對包含畸變參數(shù)在內(nèi)的內(nèi)、外參數(shù)進行了多層攝像機標定。Fran?a等[66]分析Zhang等[15]的原始方法并重新表述問題,提出基于分區(qū)Levenberg-MarQuardt算法的歸一化非線性求解方法,充分利用標定問題的特殊結(jié)構(gòu),降低了原方法的計算復(fù)雜度,提高了計算精度。Shi等[67]引入對圖像相似性變換具有不變性的估計器,利用不同圖像估計的相對深度的標準差的倒數(shù)作為相似不變線性校正算法約束方程的權(quán)值,精度略高于歸一化線性校正算法。史坤峰等[68]在Shi[67]的基礎(chǔ)上,將相對深度約束方程與絕對二次曲線方程組進行最優(yōu)加權(quán),既保留了標定精度,也簡化了算法。Wang等[69-70]利用數(shù)據(jù)歸一化提高1D標定物上標記點相對深度的估計精度,通過分析約束中涉及的數(shù)據(jù)誤差,自適應(yīng)地為每個約束分配一個加權(quán)系數(shù),標定精度遠高于經(jīng)典一維標定法。此后又提出用凸松弛法求出每個攝像機中絕對二次曲線的最優(yōu)解和內(nèi)參,利用矩陣運算計算多攝像機系統(tǒng)的外參數(shù),既提高了精度又加快了收斂速度。Hammarstedt等[71]基于一維標定法的退化情況,給出了1D標定物的臨界運動,證明了對固有參數(shù)的約束使得閉合解簡化、臨界運動集減少。Zhao等[72]針對繞定點旋轉(zhuǎn)的1D標定物,將秩分解與拉普拉斯方法相結(jié)合,通過尺度測量矩陣的因式分解,用解析方程估計投影深度,恢復(fù)多攝像機系統(tǒng)的內(nèi)外參數(shù)。Ma等[73]參考現(xiàn)有的一維標定法,提出標定桿繞中點而非端點旋轉(zhuǎn)時,其端點軌跡為圓,利用圓點與絕對二次曲線的關(guān)系和正交性約束來標定攝像機參數(shù)。呂耀文等[74-75]將一維標定對象定位于世界坐標系的X軸上,首先提出使用標定桿之外的空間點,利用坐標系原點作為旋轉(zhuǎn)固定點,定義標定點與對應(yīng)像點之間的1D單應(yīng)矩陣,在圖10中疊加6個標記點在50幅圖像中的投影圖像點,從單幅視圖推導(dǎo)基本約束方程,采用線性最小二乘與反投影誤差最小的目標函數(shù)估計攝像機初值。Qi等[76]則擴展了適用于標定的運動模式,有多個標記的1D標定物只受重力作用,繞著一個在平面上移動的標記旋轉(zhuǎn),打破了只能繞固定點標定的局限,由此給出了攝像機內(nèi)部參數(shù)的約束方程。使用標定結(jié)果與設(shè)定真值的相對誤差作為標定精度的評價標準時,標定的相對誤差一般穩(wěn)定在0.2%。對于標定桿中定點的選擇,可以有針對性地根據(jù)不同的標定場景做出改變,以擴大實用性。
(a)繞端點(a) Around the endpoint
(b)繞中點(b) Around the midpoint圖9 繞點旋轉(zhuǎn)的一維標定Fig.9 One-dimensional calibration of rotation around a point
圖10 疊加6個標記點的1D標定桿[74]Fig.10 1D scale bar with 6 markers superimposed[74]
4.1.2 一般運動
在繞點旋轉(zhuǎn)的標定方法中,對于點的選擇與穩(wěn)定性的保持等問題都會產(chǎn)生不同程度的誤差。為了減少對標定桿的約束,人們開始考慮在一般運動情況下(圖11)的一維標定。同樣以1D標定桿作為標定物,但是對于標定桿的運動不做限制,進行多次任意剛體運動,結(jié)合特征點與約束條件進行標定。
圖11 一般運動下的一維標定Fig.11 One-dimensional calibration in general motion
2007年,Qi等[77]以拋擲一維物體的特殊動作證明了一般運動是一維標定有解的充要條件,在此基礎(chǔ)上,通過避免奇異性,提高了方法的精度和魯棒性,超過了同類方法。王亮等[78]對作任意剛體運動1D標定物,使用最大似然準則與線性算法標定多攝像機系統(tǒng),既解決了2D與3D標定物遮擋的問題,也提高了一維標定法的精度。鄧小明等[79]認為如果1D標定物包含至少5個共線點,則標定物進行至少3次的剛體運動即可標定反射折射攝像機,通過計算消隱點求解內(nèi)參數(shù)矩陣,但徑向畸變會存在一定誤差。付強、Fran?a和付仲良等[80-82]提出1D標定物作自由運動,采用從投影空間轉(zhuǎn)換為歐式空間的方法,利用基本矩陣與特征點距離的約束,完成雙目標定,繼而完成多攝像機系統(tǒng)標定,解決了基于消隱點的一維標定算法抗噪聲能力差和在抑制徑向畸變的缺陷。王波等[83]總結(jié)現(xiàn)有一維標定法的研究,證明從單應(yīng)矩陣的角度也可以得到攝像機內(nèi)參數(shù)的相關(guān)約束,不僅限于標定桿繞定點轉(zhuǎn)動,同樣適用標定桿在平面內(nèi)自由運動的情況。在現(xiàn)有條件下,該類方法在估計內(nèi)在和外在相機參數(shù)中獲得的誤差約為0.5%。作為應(yīng)用范圍較廣泛的一種標定方法,能適應(yīng)多種場景,但標定精度較低,應(yīng)探究更便捷的方法進行標定桿運動參數(shù)的計算。
聯(lián)系標定桿與標定平面之間的關(guān)系,人們提出基于二維標定原理組合多個1D標定桿(如圖12)來標定相機。以不同形式組合的標定物作為標定模板,相機拍攝多幅圖像,對標定物的特征點匹配計算,根據(jù)約束條件實現(xiàn)標定。
圖12 組合標定桿原理圖Fig.12 Schematic diagram of combined calibration bar
2010年,Miyagawa等[84]提出僅根據(jù)兩個正交的1D標定物上的5個點估計相機參數(shù),每個物體有3個共線點,一個是共享的,利用束平差技術(shù)優(yōu)化參數(shù),用兩幅1D標定物構(gòu)建了2D平面模板,將兩者聯(lián)系了起來。薛俊鵬等[85]就Miyagawa[84]提出方法有更詳細的解釋,利用兩個正交1D標定物構(gòu)成“T”型靶標,根據(jù)柔性靶標原理計算共線的4點,由射影變換同素性、接合性以及交比不變性標定鏡頭畸變并進行畸變校正,通過坐標變換標定相機。楊珍等[86]提出取消對兩個標定物的放置要求,任意放置在攝像機視場內(nèi),通過雙1D靶標的消隱點和空間夾角所成角度恒定這一約束求解大視場攝像機內(nèi)參數(shù),減少了靶標之間的約束。該方法可以達到的最好標定效果是重投影誤差為0.313 pixel。雖然標定精度較好,但標定目標不夠靈活,難以實現(xiàn)在較小場景中的應(yīng)用。
零維自標定是指不需要任何標定塊,僅通過圖像點之間的對應(yīng)關(guān)系就可以求出攝像機的內(nèi)外參數(shù)。該方法不需要任何標定目標使標定過程更加靈活、方便,但由于其復(fù)雜的數(shù)學(xué)運算,導(dǎo)致該方法精度不高、魯棒性不足。
自標定方法[87-89]以其應(yīng)用范圍廣、無標定無限制的優(yōu)勢得到了國內(nèi)外研究人員的極大關(guān)注,涌現(xiàn)出許多高精度、高效率的自標定方法。我們根據(jù)了標定原理將其分為3類:一是基于絕對二次曲線和外極線變換性質(zhì)的自標定[89-94];二是基于主動視覺理論的自標定[95-99];三是基于分層重構(gòu)方法的標定[100-107]與改進。
自標定方法最初是根據(jù)絕對二次曲線和外極線變換性質(zhì)來實現(xiàn)的。通過相機移動過程中的極線變換,結(jié)合場景的約束條件來標定相機。
1992年,Hartley、Faugeras和Maybank等[87-89]首次提出攝像機自標定的思想,相機發(fā)生位移時的極線變換施加了兩個代數(shù)約束,使得曲線參數(shù)化。如果有3個核線變換,則可以在對偶平面上得到兩條六次曲線,通過兩條曲線有一個共同的三階奇異點求解Kruppa方程得到正確的攝像機標定。Zeller等[90]基于Maybank等[89]的算法,增加了一些經(jīng)典的視頻序列處理技術(shù),如圖13中的特征提取和令牌跟蹤,使得從視頻序列計算觀測場景的三維尺寸成為可能。Luong等[91]通過絕對二次曲線將固有參數(shù)和基本矩陣聯(lián)系起來,使用未校準的移動攝像機和定義一個投影攝像機來標定靜態(tài)場景。該種標定方法下的給定圖像坐標和測量值間像素差為0.26 ~ 0.33 pixel,標定誤差大約為5% ~ 10%。當前由于復(fù)雜的計算過程,對于該標定方法的研究也逐漸開始轉(zhuǎn)向更加便捷、智能化的方向。
(a)不同位置場景圖(a) Different location scenarios
(b)特征提取(b) Feature extraction
(c)特征重建(c) Character reconstruction
(d)重建后的視圖(d) Reconstructed view圖13 根據(jù)視頻序列的自標定流程[90]Fig.13 Self-calibration flow based on video sequence[90]
絕對二次曲線與外極線的變換增加了運算難度,使相機標定精度較低。人們提出利用主動視覺系統(tǒng)平臺控制相機做純旋轉(zhuǎn)或純平移運動,根據(jù)運動過程中的運動序列求解相機參數(shù)。
圖14 純平移運動下的擴展焦點[92]Fig.14 Focus of expansion of a pure translation[92]
1996年,Ma等[92]利用主動視覺系統(tǒng)的靈活性,直接使用環(huán)境圖像來標定攝像機,在攝像機內(nèi)參數(shù)已知時,采用3次純平移運動求解攝像機外參數(shù);內(nèi)部參數(shù)未知時,通過兩組三正交平移組成的兩個運動序列,確定內(nèi)參數(shù)與部分外參數(shù),并根據(jù)平臺的任意非平移運動求解攝像機剩余外參數(shù),如圖14所示。楊長江等[93]在Ma[92]的基礎(chǔ)上控制攝像機在同一平面作4組運動,其中每組包括兩次相互正交的平移運動,同時適當調(diào)整攝像機平移運動的姿態(tài),線性求解攝像機內(nèi)參數(shù)。Agapito等[94]使用圖像間單應(yīng)作為輸入,要求攝像機可以通過運動(自由旋轉(zhuǎn))或改變內(nèi)部參數(shù),但不能平移,基于可導(dǎo)致非線性最小化的無限單應(yīng)約束,在擴展的圖像序列上標定相機。Hartley等[95]則不改變相機位置,通過拍攝具有不同方向的多幅圖像,對圖像之間的點分析匹配來完成標定。與Maybank[89]利用圖像核線結(jié)構(gòu)自標定的結(jié)果有根本的不同,由于攝像機位置固定,因此確定點匹配不會出現(xiàn)遮擋、縱橫比或照明變化的問題,適用于任意數(shù)量圖像的非迭代校準算法。Faugeras等[96]也通過攝像機固定拍攝多幅圖像來實現(xiàn)標定,對于一維圖像,根據(jù)圖像的三焦張量唯一確定一維投影相機兩個內(nèi)參數(shù)。對于二維圖像,則需要對三焦張量進行線性估計,求出一元三次多項式的根,利用平面運動自標定二維攝像機。這類標定方法下的給定圖像坐標和測量值間像素差范圍是0.06 ~ 0.2 pixel,平均重建誤差約為1 mm。但是對于標定控制臺制作的成本較大且移動時要求精確,該類方法的應(yīng)用已經(jīng)在逐漸減少。
利用分層重構(gòu)的方法標定相機也引起了少部分人的重視。它不要求攝像機作特定運動,只需要在任意場景中拍攝多幅不同的圖片即可進行重建。同時引入約束確定搜索范圍來完成相機標定。后為解決分層算法穩(wěn)定性差的問題,提出引入二次曲面方法。
1999年,Hartley等[97]將獲得的投影重建施加手性約束將其依次細化為仿射,進一步細化為歐幾里得(或度量)重建。對于假設(shè)的平面在無窮遠處的每個位置,歸結(jié)為非平移攝像機的標定問題;Li等[98]利用視圖之間的已知旋轉(zhuǎn)角和攝像機的正方形像素識別投影框架中無限遠的平面,獲得攝像機的標定矩陣和實現(xiàn)度量重建。Elamsy等[99]利用每個變焦相機主平面的主要平移位移來估計平面在無窮遠處的位置,相機主平面被編碼在相應(yīng)的透視投影矩陣中,在零偏斜和已知縱橫比的假設(shè)下線性計算靜止非旋轉(zhuǎn)變焦相機參數(shù)。Cipolla等[100]利用場景中存在的強約束來構(gòu)造三維模型,通過3個及以上正交方向的奇異點生成新的視點圖像。在弧形結(jié)構(gòu)環(huán)境中,使用平行和正交的約束條件恢復(fù)投影矩陣來標定攝像機的內(nèi)外參數(shù)?;艟娴萚101]同樣利用正交的兩組平行直線形成的消隱點的幾何特性,拍攝4個位置的不同圖像,建立內(nèi)參數(shù)約束方程。求解內(nèi)參數(shù)作為初值后,通過非線性法標定畸變參數(shù)建立消隱點坐標系求解攝像機外參數(shù)。Zhao等[102]根據(jù)中心投影的單應(yīng)矩陣,推導(dǎo)出平面點陣的特征點坐標、對應(yīng)的像點坐標、內(nèi)參數(shù)、相對姿態(tài)之間的嚴格解析關(guān)系。拍攝至少3張照片,利用單應(yīng)矩陣在兩組正交方向上求解消失點,線性求解相機內(nèi)參數(shù),具有較高的精度和魯棒性。洪洋等[103]在任意兩個位置下拍攝兩組正交平行線,獲取兩幅圖像上共4個消隱點后,利用對應(yīng)消隱點之間的無窮單應(yīng)關(guān)系,結(jié)合正交消隱點與攝像機光心連線的正交性建立約束方程,對攝像機內(nèi)參數(shù)穩(wěn)定求解。Pollefeys等[104]提出從未標定的變焦/聚焦攝像機獲得的圖像序列中恢復(fù)度量重建,放棄了對相機與場景約束條件的利用,證明了像面無偏斜時可進行自標定,給出了自校準的最小序列長度,并提出了一種檢測關(guān)鍵運動序列的方法。圖15即為標定實驗圖。Kang等[105]根據(jù)折反射成像的特點,組裝了一個獨立的系統(tǒng)來獲取長序列的全方位圖像,僅通過序列中成對跟蹤點特征的一致性來標定拋物折反射相機。該類方法在模擬實驗中標定的誤差幅值小于0.01 pixel,均方差小于0.13 pixel;在真實實驗中的誤差稍大,但整體精度仍然滿足工業(yè)中的一般需求。為滿足更高的精度要求,研究人員開始從正交消隱點入手,并結(jié)合一些簡單的平面標定圖案來實現(xiàn)相機標定。
(a)圓周運動序列的3幅圖(a) Three images of a circular motion sequence
(b)俯視圖(b) Top view
(c)側(cè)視圖(c) Side view
(d)重建后的不同視圖(d) Different views after reconstruction圖15 圓周運動分層自標定中結(jié)構(gòu)與運動的重建[104]Fig.15 Reconstruction of structure and motion in layered self calibration of circular motion[104]
為解決分層算法的穩(wěn)定性差等問題,Heyden[106]首次將對偶絕對二次曲面用于攝像機自標定。該方法得到的方程形式簡單,能夠避免由于分層算法引起的不穩(wěn)定問題。Jin等[107]提出一種基于抽象二次曲面的攝像機自標定方法,該方法計算簡單,魯棒性好。通過對分層重構(gòu)方法進行修正,得到的標定效果有所改進,不僅提高了穩(wěn)定性還使得相對誤差均小于0.02 pixel。
通過本文介紹,我們掌握了一些攝像機標定方法的分類與基礎(chǔ)知識,表1給出了上述各攝像機標定方法的性能分析與比較。
相比于一維、二維標定法,三維標定法可更加靈活、便捷地實現(xiàn)多相機同時標定,球體投影的抗遮擋能力較強,標定精度和效率也相對較高。但由于立體靶標的制作困難,標定時需要昂貴的設(shè)備,標定過程中立體靶標特征點的三維坐標必須已知,一些立體靶標在標定過程中也會受到一定程度的遮擋,從而影響標定精度。
表1 攝像機標定方法對比及分析Tab.1 Comparison and analysis of camera calibration methods
二維標定法平面標定板制作簡單、特征點制作精度相對較高、標定過程中標定板的姿態(tài)沒有限制,具有較好的靈活性、魯棒性。但局限于標定單個相機的情況,在對多相機進行標定時,平面標定板上的特征點會出現(xiàn)不同程度的遮擋和模糊現(xiàn)象,且多次拍攝統(tǒng)一參數(shù)的過程會產(chǎn)生一定誤差,最終影響標定結(jié)果的精度,而一維標定物則在很大程度上避免了這種現(xiàn)象。
一維標定方法只需要將一維剛體放在攝像機可見范圍內(nèi)就能進行標定,同二維、三維標定目標比較,配置簡單且在多相機系統(tǒng)中不存在遮擋的問題。一維標定目標在攝像機范圍內(nèi)運動時,如何保證在同一平面運動的問題也需要解決,由于其特征較少,所得到的標定精度也相對較差。
零維自標定不需要任何形式的標定塊,僅依靠多幅圖像之間的對應(yīng)關(guān)系來建立數(shù)學(xué)聯(lián)系來標定相機,具有很高的靈活性。但由于需要求解許多復(fù)雜方程,導(dǎo)致標定精度低、魯棒性差、僅適用于部分精度要求不高的場合。
本文總結(jié)了攝像機標定的大致步驟和基本原理,按類分別研究了已有的標定方法,并對其突出方法進行了簡單評價??傮w而言,標定目標尺寸無論大小都有其各自的優(yōu)缺點。
20世紀中后期開始出現(xiàn)攝像機標定方法的相關(guān)研究,發(fā)展至今在很多方面已經(jīng)發(fā)展較為成熟,比如有一些方法在圖片不夠清晰的情況下也能進行標定,還有一些方法在標定過程中可以不受附加的標定目標裝配的系統(tǒng)誤差的影響等。但同時也存在一些問題,比如在復(fù)雜的場景中標定精度難以滿足要求,某些在室外工作的設(shè)備,受到光線不穩(wěn)定、干擾噪音大時標定精度提高困難;標定時在大量的角點提取與匹配過程中,運算量過大而導(dǎo)致標定速度較慢,無法達到實時標定的效果;標定的操作過程比較復(fù)雜,需要多次重復(fù)標定來減小人為操作誤差,智能化程度不高;部分標定相機的平臺與標定目標制作成本高,不具有普適性;攝像機標定應(yīng)如何考慮畸變情況方面還存在較大缺陷等。在未來對攝像機標定方法的設(shè)計中,還是要以復(fù)雜環(huán)境下的高精度、高效率、高魯棒性等的標定為主要研究內(nèi)容,積極考慮相機畸變造成的誤差,同時結(jié)合近年來快速發(fā)展的智能算法與各類應(yīng)用軟件提出有效的智能化標定方法實現(xiàn)相機全自動化標定,能夠在一定程度上減少人為因素的干擾,也降低了標定過程的操作難度,智能算法的廣泛應(yīng)用使得價格昂貴、操作復(fù)雜、體積笨重的標定平臺應(yīng)用減少,這將進一步提高標定精度,降低標定成本,擴大適用范圍,加強實用性。