劉志偉 楊光 王偉
隨著計算機技術(shù)和傳感技術(shù)的快速發(fā)展,物體的三維重建的研究逐步增多。其中雙目立體視覺技術(shù)由于其非接觸式、方便、便宜等優(yōu)勢廣泛應(yīng)用于各個領(lǐng)域[1]。檢測精度提高一直是眾多學(xué)者努力的目標,檢測精度的優(yōu)劣前提條件便是標定精度。準確地標定精度是后續(xù)成功三維重建的前提。
目前應(yīng)用較為廣泛的相機標定方法有:自標定[2],利用相機運動的約束,對相機進行在線定標,自標定方法操作簡單,可以滿足一些特殊應(yīng)用場景,但模型復(fù)雜且精度、魯棒性較差。主動標定法[3],通過控制相機做某些特定運動并拍攝多組圖像,依據(jù)圖像信息和已知位移變化來求解相機內(nèi)外參數(shù)。但是標定要求多,價格昂貴。在傳統(tǒng)的標定方法中張正友標定法[4]應(yīng)用最為廣泛,通過對已知尺寸的棋盤格進行多角度拍照,將世界坐標系固定在棋盤格上,然后經(jīng)過非線性求解得到相機的內(nèi)外參數(shù)。張的方法在 Matlab/openCV 等軟件中集成有成熟的工具箱。但目前的標定方法中大都是針對整幅圖像進行標定,忽略了不同畸變影響下相同特征像點的信息值,圖像中不同位置畸變值是不盡相同的。由于相機和鏡頭加工誤差是不可避免的,所以失真參數(shù)很難保證相同,整幅圖使用相同參數(shù)會使邊緣區(qū)域畸變參數(shù)過小,中間區(qū)域畸變參數(shù)過大。
本文提出了一種新的基于分區(qū)標定的畸變校正方法,在實現(xiàn)較高標定精度的同時將標定結(jié)果應(yīng)用到匹配中去,實現(xiàn)檢測精度的提高。本文的其余部分分別為:相機標定以及畸變的模型;基于分區(qū)標定及分區(qū)畸變校正的實現(xiàn);標定實驗以及結(jié)果分析;最后為文章總結(jié)。
在立體視覺三維重建中一般涉及四個坐標系的轉(zhuǎn)換,如圖1所示。包括世界坐標系Ow-XwYwZw相機坐標系OCXCYCZC,圖像O-xy物理坐標系和圖像坐標系O-uv。

圖1 各個坐標系之間關(guān)系
理想的相機是不存在畸變的,實際中鏡頭一般會存在徑向畸變和切向畸變。如圖2所示為鏡頭的兩種畸變示意圖。

圖2 圖像畸變示意圖
不同區(qū)域的標定參數(shù)不同引起的匹配精度不佳,由此出發(fā),首先實現(xiàn)相機的分區(qū)標定,獲取到各個區(qū)域的標定參數(shù),然后通過獲取的標定參數(shù)對各個分區(qū)進行畸變校正,以獲得更為符合原圖的圖像。
傳統(tǒng)的標定方法中,以張的標定方法為例,假定直線經(jīng)過投影變換仍為直線,未考慮不同區(qū)域的畸變參數(shù)是不同的這一問題,使標定結(jié)果存在誤差,本文采用的是一種將標定區(qū)域進行劃分,分別求取不同區(qū)域的相機參數(shù),使標定結(jié)果更科學(xué)、準確、具體的分區(qū)標定原理如圖3。

圖3 分區(qū)標定原理圖
其中將圖像均勻分成了9個區(qū)域,對9個區(qū)域分別進行標定。(X0,Y0)是所有角點的起始點,右邊的矩形為待標定區(qū)域的最大外接標定矩形。下圖4為分區(qū)標定時,如何實現(xiàn)各個分區(qū)標定的原理流程圖。

圖4 分區(qū)標定的流程圖
通過上述的流程圖,可以實現(xiàn)分區(qū)的標定,獲取待測區(qū)域的標定參數(shù)。其中角點的坐標(Xi,Yi)為像素坐標。先對圖像進行讀取,然后將圖像分割為M×N個區(qū)域,并對每個區(qū)域進行編號P00-PMN,檢測棋盤格的角點并進行編號,通過設(shè)置邊界條件將待測區(qū)域的角點進行篩選。然后確定最終標定的最大矩形的四個點。為了保證待標定區(qū)域標定結(jié)果的準確性,從所有待標定圖像中選擇最大矩形的四個頂點坐標出現(xiàn)概率最大的作為最終標定的四個頂點。最終運用張氏標定的核心方法來獲取標定參數(shù),并對最終結(jié)果進行保存處理。
第一小節(jié)獲取了各個分區(qū)的標定參數(shù),本小節(jié)是實現(xiàn)標定參數(shù)的應(yīng)用,主要是對畸變參數(shù)的分區(qū)應(yīng)用。傳統(tǒng)的畸變參數(shù)的應(yīng)用是以光心坐標為中心,用同一畸變參數(shù)對整幅圖像進行畸變校正,存在校正過度或校正不足等問題。本文采用分區(qū)校正的方式,通過上一小節(jié)獲得的分區(qū)參數(shù)實現(xiàn)對圖像的分區(qū)校正。
1.獲取各個區(qū)域的標定參數(shù)
為保證標定結(jié)果的準確性,本文采用雙目相機每個區(qū)域獲取20張圖像,并且每個分區(qū)圖像都是相同的位姿和相同的物距,對圖像進行去噪聲處理后通過圖4流程圖的算法獲取分區(qū)的標定參數(shù)。下表為獲取的徑向畸變參數(shù)值。

表1 畸變參數(shù)標定結(jié)果
對標定結(jié)果進行整理,主要針對畸變參數(shù)的變化進行分析。由圖表看出兩個相機的畸變參數(shù)變化趨勢相同。其中橫坐標為九個分區(qū)的P01-P09分區(qū),縱坐標為畸變參數(shù)值。隨著標定位置變化畸變參數(shù)呈現(xiàn)中間畸變參數(shù)小,而周邊畸變參數(shù)大的特點,在該相機標定中存在右側(cè)畸變參數(shù)要高于左側(cè),因為畸變曲線為左相機的畸變參數(shù)繪制,在標定的公共區(qū)域左相機的左側(cè)占比大些,所以其左側(cè)標定畸變較大。
上一小結(jié)證明了分區(qū)校正的準確性,本小結(jié)證明分區(qū)標定算法的實用性。將它用在雙目立體三維重建的精度提高中,并以最終獲取的點云結(jié)果作為評價標準。
1.立體匹配
通過雙目重建系統(tǒng)對一個平面(圖5)進行三維重建。為了驗證分區(qū)標定的優(yōu)越性,實驗將以9個分區(qū)為中心,拍攝9張并選取其中P8區(qū)來驗證應(yīng)用效果。
為了驗證分區(qū)標定對平面測量精度的提高,通過選取特定區(qū)域?qū)Ρ葍煞N標定算法在立體匹配中應(yīng)用結(jié)果,以平面度為參考標準,這里選擇P5區(qū)作為對比區(qū)域。結(jié)果如下圖:
通過利用不同標定方法對平面進行三維重建,由圖6可以看出,本文方法重建后的平面更準確,通過圖7可以看出本文方法的標準差相比于原方法大幅提升。最終通過多組實驗驗證了本文方法的實用性。

圖6 C0參數(shù)的重建結(jié)果(左),C5參數(shù)的重建結(jié)果(右)

圖7 C0參數(shù)重建平面的高斯分布圖(左)C5參數(shù)重建平面的高斯分布圖(右)
本文通過對相機標定進行研究,以提高重建精度為出發(fā)點,主要對預(yù)處理部分的畸變校正進行研究,針對傳統(tǒng)標定方法忽略不同區(qū)域相機的參數(shù)不盡相同的問題,采用分區(qū)標定的方法對標定方法進行改進。并通過實驗驗證了本文方法的可行性,通過對比傳統(tǒng)標定方法,本文方法在分區(qū)校正的直線度上和點云平面獲取的平面度上都得到了提升,由此可見本文方法的優(yōu)勢。本文主要針對標定和校正進行研究改進,之后的工作將分區(qū)標定算法與后續(xù)的匹配算法結(jié)合,實現(xiàn)更高精度的三維重建。