劉志偉 楊光 王偉
隨著計(jì)算機(jī)技術(shù)和傳感技術(shù)的快速發(fā)展,物體的三維重建的研究逐步增多。其中雙目立體視覺(jué)技術(shù)由于其非接觸式、方便、便宜等優(yōu)勢(shì)廣泛應(yīng)用于各個(gè)領(lǐng)域[1]。檢測(cè)精度提高一直是眾多學(xué)者努力的目標(biāo),檢測(cè)精度的優(yōu)劣前提條件便是標(biāo)定精度。準(zhǔn)確地標(biāo)定精度是后續(xù)成功三維重建的前提。
目前應(yīng)用較為廣泛的相機(jī)標(biāo)定方法有:自標(biāo)定[2],利用相機(jī)運(yùn)動(dòng)的約束,對(duì)相機(jī)進(jìn)行在線定標(biāo),自標(biāo)定方法操作簡(jiǎn)單,可以滿足一些特殊應(yīng)用場(chǎng)景,但模型復(fù)雜且精度、魯棒性較差。主動(dòng)標(biāo)定法[3],通過(guò)控制相機(jī)做某些特定運(yùn)動(dòng)并拍攝多組圖像,依據(jù)圖像信息和已知位移變化來(lái)求解相機(jī)內(nèi)外參數(shù)。但是標(biāo)定要求多,價(jià)格昂貴。在傳統(tǒng)的標(biāo)定方法中張正友標(biāo)定法[4]應(yīng)用最為廣泛,通過(guò)對(duì)已知尺寸的棋盤格進(jìn)行多角度拍照,將世界坐標(biāo)系固定在棋盤格上,然后經(jīng)過(guò)非線性求解得到相機(jī)的內(nèi)外參數(shù)。張的方法在 Matlab/openCV 等軟件中集成有成熟的工具箱。但目前的標(biāo)定方法中大都是針對(duì)整幅圖像進(jìn)行標(biāo)定,忽略了不同畸變影響下相同特征像點(diǎn)的信息值,圖像中不同位置畸變值是不盡相同的。由于相機(jī)和鏡頭加工誤差是不可避免的,所以失真參數(shù)很難保證相同,整幅圖使用相同參數(shù)會(huì)使邊緣區(qū)域畸變參數(shù)過(guò)小,中間區(qū)域畸變參數(shù)過(guò)大。
本文提出了一種新的基于分區(qū)標(biāo)定的畸變校正方法,在實(shí)現(xiàn)較高標(biāo)定精度的同時(shí)將標(biāo)定結(jié)果應(yīng)用到匹配中去,實(shí)現(xiàn)檢測(cè)精度的提高。本文的其余部分分別為:相機(jī)標(biāo)定以及畸變的模型;基于分區(qū)標(biāo)定及分區(qū)畸變校正的實(shí)現(xiàn);標(biāo)定實(shí)驗(yàn)以及結(jié)果分析;最后為文章總結(jié)。
在立體視覺(jué)三維重建中一般涉及四個(gè)坐標(biāo)系的轉(zhuǎn)換,如圖1所示。包括世界坐標(biāo)系Ow-XwYwZw相機(jī)坐標(biāo)系OCXCYCZC,圖像O-xy物理坐標(biāo)系和圖像坐標(biāo)系O-uv。
圖1 各個(gè)坐標(biāo)系之間關(guān)系
理想的相機(jī)是不存在畸變的,實(shí)際中鏡頭一般會(huì)存在徑向畸變和切向畸變。如圖2所示為鏡頭的兩種畸變示意圖。
圖2 圖像畸變示意圖
不同區(qū)域的標(biāo)定參數(shù)不同引起的匹配精度不佳,由此出發(fā),首先實(shí)現(xiàn)相機(jī)的分區(qū)標(biāo)定,獲取到各個(gè)區(qū)域的標(biāo)定參數(shù),然后通過(guò)獲取的標(biāo)定參數(shù)對(duì)各個(gè)分區(qū)進(jìn)行畸變校正,以獲得更為符合原圖的圖像。
傳統(tǒng)的標(biāo)定方法中,以張的標(biāo)定方法為例,假定直線經(jīng)過(guò)投影變換仍為直線,未考慮不同區(qū)域的畸變參數(shù)是不同的這一問(wèn)題,使標(biāo)定結(jié)果存在誤差,本文采用的是一種將標(biāo)定區(qū)域進(jìn)行劃分,分別求取不同區(qū)域的相機(jī)參數(shù),使標(biāo)定結(jié)果更科學(xué)、準(zhǔn)確、具體的分區(qū)標(biāo)定原理如圖3。
圖3 分區(qū)標(biāo)定原理圖
其中將圖像均勻分成了9個(gè)區(qū)域,對(duì)9個(gè)區(qū)域分別進(jìn)行標(biāo)定。(X0,Y0)是所有角點(diǎn)的起始點(diǎn),右邊的矩形為待標(biāo)定區(qū)域的最大外接標(biāo)定矩形。下圖4為分區(qū)標(biāo)定時(shí),如何實(shí)現(xiàn)各個(gè)分區(qū)標(biāo)定的原理流程圖。
圖4 分區(qū)標(biāo)定的流程圖
通過(guò)上述的流程圖,可以實(shí)現(xiàn)分區(qū)的標(biāo)定,獲取待測(cè)區(qū)域的標(biāo)定參數(shù)。其中角點(diǎn)的坐標(biāo)(Xi,Yi)為像素坐標(biāo)。先對(duì)圖像進(jìn)行讀取,然后將圖像分割為M×N個(gè)區(qū)域,并對(duì)每個(gè)區(qū)域進(jìn)行編號(hào)P00-PMN,檢測(cè)棋盤格的角點(diǎn)并進(jìn)行編號(hào),通過(guò)設(shè)置邊界條件將待測(cè)區(qū)域的角點(diǎn)進(jìn)行篩選。然后確定最終標(biāo)定的最大矩形的四個(gè)點(diǎn)。為了保證待標(biāo)定區(qū)域標(biāo)定結(jié)果的準(zhǔn)確性,從所有待標(biāo)定圖像中選擇最大矩形的四個(gè)頂點(diǎn)坐標(biāo)出現(xiàn)概率最大的作為最終標(biāo)定的四個(gè)頂點(diǎn)。最終運(yùn)用張氏標(biāo)定的核心方法來(lái)獲取標(biāo)定參數(shù),并對(duì)最終結(jié)果進(jìn)行保存處理。
第一小節(jié)獲取了各個(gè)分區(qū)的標(biāo)定參數(shù),本小節(jié)是實(shí)現(xiàn)標(biāo)定參數(shù)的應(yīng)用,主要是對(duì)畸變參數(shù)的分區(qū)應(yīng)用。傳統(tǒng)的畸變參數(shù)的應(yīng)用是以光心坐標(biāo)為中心,用同一畸變參數(shù)對(duì)整幅圖像進(jìn)行畸變校正,存在校正過(guò)度或校正不足等問(wèn)題。本文采用分區(qū)校正的方式,通過(guò)上一小節(jié)獲得的分區(qū)參數(shù)實(shí)現(xiàn)對(duì)圖像的分區(qū)校正。
1.獲取各個(gè)區(qū)域的標(biāo)定參數(shù)
為保證標(biāo)定結(jié)果的準(zhǔn)確性,本文采用雙目相機(jī)每個(gè)區(qū)域獲取20張圖像,并且每個(gè)分區(qū)圖像都是相同的位姿和相同的物距,對(duì)圖像進(jìn)行去噪聲處理后通過(guò)圖4流程圖的算法獲取分區(qū)的標(biāo)定參數(shù)。下表為獲取的徑向畸變參數(shù)值。
表1 畸變參數(shù)標(biāo)定結(jié)果
對(duì)標(biāo)定結(jié)果進(jìn)行整理,主要針對(duì)畸變參數(shù)的變化進(jìn)行分析。由圖表看出兩個(gè)相機(jī)的畸變參數(shù)變化趨勢(shì)相同。其中橫坐標(biāo)為九個(gè)分區(qū)的P01-P09分區(qū),縱坐標(biāo)為畸變參數(shù)值。隨著標(biāo)定位置變化畸變參數(shù)呈現(xiàn)中間畸變參數(shù)小,而周邊畸變參數(shù)大的特點(diǎn),在該相機(jī)標(biāo)定中存在右側(cè)畸變參數(shù)要高于左側(cè),因?yàn)榛兦€為左相機(jī)的畸變參數(shù)繪制,在標(biāo)定的公共區(qū)域左相機(jī)的左側(cè)占比大些,所以其左側(cè)標(biāo)定畸變較大。
上一小結(jié)證明了分區(qū)校正的準(zhǔn)確性,本小結(jié)證明分區(qū)標(biāo)定算法的實(shí)用性。將它用在雙目立體三維重建的精度提高中,并以最終獲取的點(diǎn)云結(jié)果作為評(píng)價(jià)標(biāo)準(zhǔn)。
1.立體匹配
通過(guò)雙目重建系統(tǒng)對(duì)一個(gè)平面(圖5)進(jìn)行三維重建。為了驗(yàn)證分區(qū)標(biāo)定的優(yōu)越性,實(shí)驗(yàn)將以9個(gè)分區(qū)為中心,拍攝9張并選取其中P8區(qū)來(lái)驗(yàn)證應(yīng)用效果。
為了驗(yàn)證分區(qū)標(biāo)定對(duì)平面測(cè)量精度的提高,通過(guò)選取特定區(qū)域?qū)Ρ葍煞N標(biāo)定算法在立體匹配中應(yīng)用結(jié)果,以平面度為參考標(biāo)準(zhǔn),這里選擇P5區(qū)作為對(duì)比區(qū)域。結(jié)果如下圖:
通過(guò)利用不同標(biāo)定方法對(duì)平面進(jìn)行三維重建,由圖6可以看出,本文方法重建后的平面更準(zhǔn)確,通過(guò)圖7可以看出本文方法的標(biāo)準(zhǔn)差相比于原方法大幅提升。最終通過(guò)多組實(shí)驗(yàn)驗(yàn)證了本文方法的實(shí)用性。
圖6 C0參數(shù)的重建結(jié)果(左),C5參數(shù)的重建結(jié)果(右)
圖7 C0參數(shù)重建平面的高斯分布圖(左)C5參數(shù)重建平面的高斯分布圖(右)
本文通過(guò)對(duì)相機(jī)標(biāo)定進(jìn)行研究,以提高重建精度為出發(fā)點(diǎn),主要對(duì)預(yù)處理部分的畸變校正進(jìn)行研究,針對(duì)傳統(tǒng)標(biāo)定方法忽略不同區(qū)域相機(jī)的參數(shù)不盡相同的問(wèn)題,采用分區(qū)標(biāo)定的方法對(duì)標(biāo)定方法進(jìn)行改進(jìn)。并通過(guò)實(shí)驗(yàn)驗(yàn)證了本文方法的可行性,通過(guò)對(duì)比傳統(tǒng)標(biāo)定方法,本文方法在分區(qū)校正的直線度上和點(diǎn)云平面獲取的平面度上都得到了提升,由此可見(jiàn)本文方法的優(yōu)勢(shì)。本文主要針對(duì)標(biāo)定和校正進(jìn)行研究改進(jìn),之后的工作將分區(qū)標(biāo)定算法與后續(xù)的匹配算法結(jié)合,實(shí)現(xiàn)更高精度的三維重建。