馮志豪,霍軍周,張海東,毋 振
(大連理工大學(xué)機(jī)械工程學(xué)院,遼寧大連 116024)
隧道掘進(jìn)機(jī)(TBM)是集掘進(jìn)、排碴、襯砌等功能為一體的大型裝備,被廣泛應(yīng)用在鐵路、公路、引水工程和市政管道等領(lǐng)域。TBM在施工過(guò)程中存在著刀具消耗大、更換頻繁和換刀周期長(zhǎng)等問(wèn)題。目前換刀工作主要靠人工完成,而換刀作業(yè)環(huán)境惡劣,易出現(xiàn)安全事故,故機(jī)器換刀勢(shì)在必行。近年來(lái),計(jì)算機(jī)視覺(jué)在人工智能領(lǐng)域迅猛發(fā)展,視覺(jué)測(cè)量技術(shù)被廣泛應(yīng)用于制造、施工、醫(yī)療等領(lǐng)域。在TBM機(jī)器換刀中,刀具系統(tǒng)的精確定位和準(zhǔn)確測(cè)量是實(shí)現(xiàn)智能化換刀的關(guān)鍵,視覺(jué)測(cè)量技術(shù)可以較為方便地對(duì)目標(biāo)進(jìn)行定位、測(cè)量。然而,換刀倉(cāng)內(nèi)工況環(huán)境差,濕度大、粉塵濃度高等惡劣條件會(huì)使相機(jī)有穩(wěn)定性、安全性的問(wèn)題,因此換刀倉(cāng)內(nèi)的相機(jī)需要加裝防爆玻璃保護(hù)罩。然而,在成像過(guò)程中,光線通過(guò)玻璃平面會(huì)使光線的傳播路徑發(fā)生變化,而傳統(tǒng)的針孔相機(jī)模型無(wú)法消除折射帶來(lái)的畸變。
針對(duì)相機(jī)在成像過(guò)程中因平面折射產(chǎn)生畸變的問(wèn)題,國(guó)內(nèi)外學(xué)者進(jìn)行了廣泛的研究。Y.H.Kwon等[1-3]完全忽略平面折射現(xiàn)象或把因平面折射帶來(lái)的圖像畸變看作鏡頭的畸變。J.P.Queiroz[4]等驗(yàn)證了水下三維重建中若忽略折射的影響會(huì)造成很大的偏差。G.J.Zhang等[5]在測(cè)量過(guò)程中為了消除折射畸變的影響,將沒(méi)有畸變和有畸變的圖像點(diǎn)的坐標(biāo)聯(lián)系起來(lái),建立畸變的對(duì)照表,但并未提出通用的平面折射畸變模型。T.Treibitz[6]建立了相機(jī)光軸與折射面法向量平行的折射成像模型,對(duì)水下成像的相機(jī)參數(shù)的標(biāo)定方法進(jìn)行了優(yōu)化。A.Agrawal等[7]對(duì)多平面折射問(wèn)題進(jìn)行了研究,建立的多平面折射模型可以對(duì)折射的相關(guān)參數(shù)進(jìn)行精確的標(biāo)定,如:玻璃折射率、每個(gè)折射面的法向量以及相機(jī)光心距折射面的距離。W.J.Yang等[8]建立了非平行平面折射成像模型,并提出了折射面法向量的標(biāo)定方法,但并未對(duì)折射畸變進(jìn)行校正。M.C.Feng等[9]建立了平面折射成像模型,根據(jù)其幾何關(guān)系推導(dǎo)出光線在折射過(guò)程中的數(shù)學(xué)關(guān)系。X.Chen等[10]基于入射光線在雙目相機(jī)中的共面約束,提出了水下相機(jī)的標(biāo)定方法,并優(yōu)化了相機(jī)標(biāo)定的參數(shù)。Y.J.Chang[11]提出了一種水下三維重建模型,可以將折射畸變的影響用深度函數(shù)表示,但需要輔助設(shè)備測(cè)量相機(jī)的旋轉(zhuǎn)角度。湯興粲[12]提出了水下成像非線性模型,對(duì)圖像的折射畸變進(jìn)行了校正,但其模型并未充分考慮物體景深對(duì)畸變的影響,精準(zhǔn)性不足。趙柳月[13]和L.X.Huang[14]等提出了平面折射的畸變模型,但需要相機(jī)光軸與折射面法向量保持平行。上述學(xué)者大多研究折射環(huán)境下對(duì)相機(jī)參數(shù)的標(biāo)定或折射面法向量的標(biāo)定進(jìn)行優(yōu)化,對(duì)折射畸變的校正也多假設(shè)相機(jī)光軸方向與折射面法向量平行,而且許多研究集中于水下視覺(jué)成像。
針對(duì)以上問(wèn)題,提出了單目視覺(jué)系統(tǒng)在非平行平面折射下畸變校正模型,探討了單目視覺(jué)系統(tǒng)在非平行平面折射下的圖像畸變的校正問(wèn)題,能更方便地提高相機(jī)在惡劣環(huán)境下的定位精度和測(cè)量精度。
單目視覺(jué)系統(tǒng)在平面折射環(huán)境下進(jìn)行二維測(cè)量時(shí),因光線通過(guò)玻璃平面會(huì)使光線的傳播路徑發(fā)生兩次折射,導(dǎo)致圖像產(chǎn)生畸變。而在實(shí)際應(yīng)用中由于安裝誤差相機(jī)光軸方向與玻璃折射面法向量并不平行,平板玻璃的傾斜和玻璃折射率、厚度的影響都會(huì)使圖像點(diǎn)產(chǎn)生偏移,從而不適用于傳統(tǒng)的針孔相機(jī)模型。
針對(duì)以上問(wèn)題,首先,提出相機(jī)旋轉(zhuǎn)的概念,基于羅德里格斯旋轉(zhuǎn)公式,真實(shí)相機(jī)與旋轉(zhuǎn)后的虛擬相機(jī)的圖像點(diǎn)一一映射,虛擬相機(jī)光軸與折射面法向量平行,可消除相機(jī)光軸與折射面法向量不平行導(dǎo)致圖像點(diǎn)偏移的問(wèn)題。然后,用測(cè)距設(shè)備測(cè)得待測(cè)平面與相機(jī)之間的距離后,提出基于動(dòng)態(tài)虛擬焦距的折射畸變校正模型,對(duì)折射畸變進(jìn)行校正。
如圖1所示,相機(jī)光軸與折射面法向量存在一定的夾角,玻璃平面的傾斜可看作相機(jī)坐標(biāo)系以旋轉(zhuǎn)軸向量為中心做旋轉(zhuǎn)運(yùn)動(dòng)。
圖1 相機(jī)光軸與折射面法向量不平行
已知相機(jī)光軸方向向量w和折射面法向量n,可求得旋轉(zhuǎn)軸的單位向量v為
(1)
旋轉(zhuǎn)的角度為
(2)
可看作真實(shí)相機(jī)坐標(biāo)系繞旋轉(zhuǎn)軸v旋轉(zhuǎn),旋轉(zhuǎn)角度為λ,旋轉(zhuǎn)前后圖像點(diǎn)是一一對(duì)應(yīng)的關(guān)系。折射面法向量n的求取可參考文獻(xiàn)[8]提出的折射面法向量的標(biāo)定方法求取,在此不做過(guò)多贅述。
首先,將真實(shí)相機(jī)的圖像點(diǎn)pz(uz,vz)轉(zhuǎn)換到虛擬相機(jī)坐標(biāo)系中表達(dá),由羅德里格斯公式可知:
p′=sinλ(v·pz1)+(1-cosλ)(v·pz1)·v+pz1cosλ
(3)
式中:pz1=[uz,vz,f]T;p′為pz在虛擬相機(jī)坐標(biāo)系中的坐標(biāo),p′=[p1′,p2′,p3′]T;f為相機(jī)焦距。
在虛擬相機(jī)坐標(biāo)系中,直線Opz與虛擬像平面的交點(diǎn)就是圖像點(diǎn)pz(u,v)在虛擬像平面上所對(duì)應(yīng)的圖像點(diǎn)px:
px=f[p1′/p3′p2′/p3′]
(4)
綜上,可以準(zhǔn)確求得真實(shí)圖像點(diǎn)在虛擬相機(jī)坐標(biāo)系中的圖像坐標(biāo),解決折射面法向量與相機(jī)光軸不平行的問(wèn)題。
由上述的非平行平面折射相機(jī)旋轉(zhuǎn)模型對(duì)玻璃的傾斜進(jìn)行校正后,可以認(rèn)為相機(jī)的光軸方向與玻璃折射面法向量平行,平行時(shí)平面折射下成像的幾何關(guān)系如圖2所示。
(a)原始成像
(b)玻璃平面平移至物體前圖2 平面折射成像幾何關(guān)系
如圖2(a)所示,空間點(diǎn)P透過(guò)平板玻璃經(jīng)過(guò)2次折射,在成像平面上得到像點(diǎn)p(u,v),若沒(méi)有玻璃,空間點(diǎn)P直接成像在p1(u1,v1)點(diǎn)。由于玻璃的存在,成像點(diǎn)p和p1并不重合,p和p1之間的距離就是因玻璃折射產(chǎn)生的折射畸變。像點(diǎn)p與主點(diǎn)的距離為
(5)
式中(u0,v0)為相機(jī)主點(diǎn)坐標(biāo)。
根據(jù)斯涅爾的折射定律可知,入射光線、折射光線和法線在同一平面內(nèi),光線從空氣到玻璃傳播時(shí),空氣的折射率為1,其光線入射角θa、折射角θp和玻璃折射率np的關(guān)系滿足:
sinθa=npsinθp
(6)
由平面折射的相關(guān)知識(shí)可知,光線穿過(guò)玻璃,其方向并不發(fā)生改變,只在折射平面內(nèi)做偏移,由于平面折射的這個(gè)特性,可知平板玻璃與相機(jī)的距離并不影響成像的位置,如圖2(b)所示。根據(jù)圖2的幾何關(guān)系,可以獲得以下公式:
(7)
(8)
(9)
式中:m為AB之間的距離,mm;d為玻璃板厚度,mm;β為無(wú)玻璃時(shí)光線與光軸的夾角,(°);z為景物深度,mm;c為空間點(diǎn)P距光軸平面的距離,mm。
根據(jù)式(6)~式(9),可得:
(10)
如圖3所示,保持圖像點(diǎn)p的坐標(biāo)不變,將折射畸變以焦距的變化來(lái)體現(xiàn),p2為在虛擬焦距f2的像平面上的圖像點(diǎn)。
圖3 平面折射成像畸變校正模型
根據(jù)圖3的幾何關(guān)系,可以獲得以下公式:
f2=f1+f
(11)
tanθa=r/f
(12)
tanβ=r/f2
(13)
式中:f為相機(jī)真實(shí)焦距,mm;f2為相機(jī)虛擬焦距,mm;f1為相機(jī)虛擬焦距與真實(shí)焦距的差值,mm;r為像點(diǎn)p與相機(jī)主點(diǎn)之間的距離,mm。
由式(11)~式(13),可得:
(14)
由式(10)和式(14)可得:
(15)
經(jīng)整理,可得:
(16)
玻璃板厚度d、玻璃折射率np和景物深度z均為已知,入射角θa可由式(5)和式(12)求得,將其代入式(16)便可求得f2,便可得p2點(diǎn)在相機(jī)坐標(biāo)系下的坐標(biāo)。如圖3所示,p1為直線Op2與成像面的交點(diǎn),在相機(jī)坐標(biāo)系下p2=(u,v,f2),p1=(u1,v1,f),則可得:
(17)
則u1=uf/f2,v1=vf/f2。
如圖4所示,在實(shí)驗(yàn)室搭建了非平行平面折射圖像畸變校正的實(shí)驗(yàn)裝置,裝置由康耐視工業(yè)相機(jī)、K9光學(xué)玻璃、玻璃夾、相機(jī)支架、升降平臺(tái)和標(biāo)定板移動(dòng)平臺(tái)組成。相機(jī)鏡頭焦距為12.5 mm,圖像分辨率為1 280 pixel×1 024 pixel。K9光學(xué)玻璃的厚度為20 mm,折射率為1.543 7,標(biāo)定板與相機(jī)的距離為650 mm。軟件運(yùn)行在MATLAB R2020a環(huán)境下,使用張正友標(biāo)定法對(duì)相機(jī)進(jìn)行標(biāo)定,相機(jī)標(biāo)定參數(shù)如下:相機(jī)焦距(fx,fy)=(2 438.4,2 438.5),主點(diǎn)坐標(biāo)(u0,v0)=(643.778,500.971 4),畸變系數(shù)kc=(-0.407 9,0.428 7)。在實(shí)驗(yàn)驗(yàn)證中,保持標(biāo)定板姿態(tài)不變,拍攝2張圖片,一次直接成像,一次透過(guò)玻璃成像,然后對(duì)有玻璃的圖片的圖像坐標(biāo)進(jìn)行校正,校正后的圖像坐標(biāo)和無(wú)玻璃時(shí)的圖像坐標(biāo)進(jìn)行對(duì)比,從而驗(yàn)證模型的準(zhǔn)確性,共做2組實(shí)驗(yàn)進(jìn)行驗(yàn)證。
圖4 實(shí)驗(yàn)裝置
圖5(a)、圖5(c)為實(shí)驗(yàn)1、實(shí)驗(yàn)2無(wú)玻璃時(shí)拍攝的棋盤格圖像及采集的角點(diǎn),圖5(b)、圖5(d)為實(shí)驗(yàn)1、實(shí)驗(yàn)2有玻璃時(shí)拍攝的棋盤格圖像及采集的角點(diǎn)?;诜瞧叫衅矫嬲凵湎鄼C(jī)旋轉(zhuǎn)模型,對(duì)折射面法向量與光軸的不平行進(jìn)行校正,由文獻(xiàn)[8]求得的2組實(shí)驗(yàn)的玻璃折射面的法向量分別為n1=(-0.167 9,-0.038 8,0.986),n2=(0.124,0.026 6,0.994 1)。
(a)實(shí)驗(yàn)1無(wú)玻璃
(b)實(shí)驗(yàn)1有玻璃
(c)實(shí)驗(yàn)2無(wú)玻璃
(d)實(shí)驗(yàn)2有玻璃
圖6(a)為實(shí)驗(yàn)1有玻璃時(shí)旋轉(zhuǎn)校正前后的圖像點(diǎn)坐標(biāo),圖6(b)為實(shí)驗(yàn)2有玻璃時(shí)旋轉(zhuǎn)校正前后的圖像點(diǎn)坐標(biāo)。從圖6可以看出,若忽略折射面法向量與相機(jī)光軸不平行這個(gè)重要因素,使用傳統(tǒng)的針孔相機(jī)模型進(jìn)行定位和測(cè)量,會(huì)有很大的誤差。
(a)實(shí)驗(yàn)1
(b)實(shí)驗(yàn)2圖6 有玻璃時(shí)相機(jī)旋轉(zhuǎn)前后的圖像點(diǎn)對(duì)比
基于非平行平面折射相機(jī)旋轉(zhuǎn)模型將圖像點(diǎn)的坐標(biāo)進(jìn)行旋轉(zhuǎn)校正后,通過(guò)折射畸變校正模型對(duì)圖像點(diǎn)進(jìn)行校正。圖7為圖像點(diǎn)校正前后的圖像偏差對(duì)比,校正前圖像偏差的均方根誤差分別為6.837 9 pixel,4.788 6 pixel,經(jīng)校正后的圖像偏差的均方根誤差分別為2.141 2 pixel,1.301 6 pixel,從圖7可以看出,校正后的圖像偏差極大降低。
(a)實(shí)驗(yàn)1
(b)實(shí)驗(yàn)2圖7 校正前后的圖像偏差
為了驗(yàn)證校正后的測(cè)量誤差,對(duì)校正前后的線段LAB,LAC,LAD(如圖8所示)的測(cè)量結(jié)果與真實(shí)值進(jìn)行對(duì)比,其結(jié)果如表1所示。
圖8 測(cè)量的線段位置
表1 校正前后測(cè)量結(jié)果對(duì)比 mm
由實(shí)驗(yàn)結(jié)果可知,經(jīng)折射畸變校正模型校正后的圖像點(diǎn),無(wú)論是其定位精度還是其測(cè)量精度都有明顯提高。校正前的圖像偏差的均方根誤差分別為6.837 9 pixel、4.788 6 pixel,校正后的圖像偏差的均方根誤差分別為2.141 2 pixel、1.301 6 pixel。校正后的圖像偏差的均方根誤差分別降低了68.69%、72.82%。對(duì)于視覺(jué)測(cè)量中的測(cè)量誤差來(lái)說(shuō),未校正時(shí)的最大絕對(duì)誤差為2.456 8 mm,校正后的最大絕對(duì)誤差為0.758 2 mm,而相對(duì)誤差由未校正的1%左右降低到校正后的0.5%以下。實(shí)驗(yàn)結(jié)果表明本模型對(duì)非平行平面折射下視覺(jué)測(cè)量的定位精度和測(cè)量精度的提高有著良好的效果。
針對(duì)相機(jī)在防爆玻璃保護(hù)罩下因光線折射造成的圖像畸變問(wèn)題,本文提出了非平行平面折射畸變校正模型,通過(guò)該模型對(duì)圖像點(diǎn)進(jìn)行校正,并做實(shí)驗(yàn)對(duì)其校正后的定位精度和測(cè)量精度進(jìn)行了分析。實(shí)驗(yàn)結(jié)果表明:校正后圖像偏差的均方根誤差分別降低了68.69%、72.82%,校正后測(cè)量的絕對(duì)誤差低于1 mm,相對(duì)誤差低于0.5%,校正后的定位精度和測(cè)量精度均有明顯提高,對(duì)相機(jī)在惡劣環(huán)境下的使用有著極強(qiáng)的實(shí)用價(jià)值。