聞修俊,肖昊菁,王殿龍,曹旭陽
(大連理工大學(xué)機械工程學(xué)院,遼寧大連 116085)
船舶起重機在工作的過程中,由于貨船經(jīng)常受到海浪、海風(fēng)等外部環(huán)境影響,導(dǎo)致貨船與被吊物在吊裝過程中發(fā)生不可預(yù)知的相對位置變化,嚴(yán)重影響吊裝作業(yè)效率,需要波浪補償系統(tǒng)來補償船舶產(chǎn)生的六自由度運動,然而傳統(tǒng)的慣性測量元件無法檢測出船舶間的相對運動姿態(tài)。因此,開發(fā)一套能對被吊物進(jìn)行捕捉并追蹤實時相對艦船的位置的海洋定位裝置具有重要的工程應(yīng)用價值。
隨著傳感器技術(shù)的發(fā)展和計算機算力的提高,基于視覺的物體定位方法受到了國內(nèi)外學(xué)者的廣泛關(guān)注。目前常用的視覺定位技術(shù)手段主要包括雙目、結(jié)構(gòu)光和ToF 3個技術(shù)方向。文獻(xiàn)[1]設(shè)計了一種高超聲速風(fēng)洞的雙目視覺測量方案,通過模型標(biāo)志點技術(shù)來計算實驗?zāi)P偷奈灰坪妥藨B(tài)。文獻(xiàn)[2]提出了一種基于雙目結(jié)構(gòu)光立體視覺的高反射焊接表面3D重建技術(shù)。文獻(xiàn)[3]使用人工神經(jīng)網(wǎng)絡(luò) (ANN) 技術(shù)提高了ToF測量的精度。并使用深度學(xué)習(xí)算法實現(xiàn)ANN。證明了人工神經(jīng)網(wǎng)絡(luò)方法在光學(xué)測距方面的優(yōu)越性。
本文基于雙目相機與ToF(time-of-flight)相機互補的特質(zhì),將2種技術(shù)進(jìn)行結(jié)合定位,對于結(jié)合后的系統(tǒng)圖像進(jìn)行處理及求取結(jié)合視差,計算待測物體的空間位置,以便于指導(dǎo)海洋吊裝作業(yè)。
目前,在視覺測量技術(shù)中尤為突出的是雙目視覺與ToF技術(shù)。其中雙目視覺能夠獲得致密、髙分辨率、高精度的視差圖[4]。然而其算法十分復(fù)雜,導(dǎo)致系統(tǒng)的反應(yīng)時間較長,同時對環(huán)境光較敏感。而ToF深度相機技術(shù)可以直接獲取深度信息,并獲得稠密的三維點云,且實時性能好,對物體表面紋理沒有依賴性,其缺點主要是在視場邊緣會產(chǎn)生不可靠的結(jié)果,分辨率相對較低,較近距離深度缺失。因此,基于雙目相機與ToF深度相機之間的互補特性,將雙目相機與ToF深度相機相結(jié)合可以擴大其使用范圍,改良性能。
雙目視覺與ToF技術(shù)的結(jié)合方法如圖1所示。通過相機標(biāo)定,獲取ToF深度相機與雙目相機之間的位姿關(guān)系,并建立2個相機系統(tǒng)的轉(zhuǎn)換矩陣,從而建立2個系統(tǒng)的三維數(shù)據(jù)交換通道。接著對ToF深度相機和雙目相機進(jìn)行校準(zhǔn)和立體校正工作,并計算出深度圖和雙目相機的特征點。在完成雙目相機與ToF深度相機的數(shù)據(jù)預(yù)處理工作后,將ToF相機的高精度深度圖像轉(zhuǎn)換為視差圖,以ToF深度信息指導(dǎo)雙目相機中的匹配結(jié)果,確定最佳的匹配點,從而輸出更準(zhǔn)確的空間信息,實現(xiàn)2種技術(shù)的融合。
圖1 雙目視覺與ToF結(jié)合方法示意圖
在雙目視覺與ToF技術(shù)算法結(jié)合之前,需要構(gòu)建2個相機的異構(gòu)立體系統(tǒng),并對雙目相機與ToF深度相機進(jìn)行聯(lián)合標(biāo)定。
雙目視覺系統(tǒng)通過在不同視角的2個相機拍攝同一個點,獲得該點在2個平面中的投影,將2個平面中互相對應(yīng)的點聯(lián)立起來,利用相似三角形原理確定其唯一的深度值,進(jìn)一步計算出物體的三維點信息。如圖2所示,P點和Q點雖然在左相機平面πR上都投影到了同一個點,但由于其在右相機平面πT上的投影和P′位于不同的位置,那么通過在左相機平面πR與右相機平面πT上的投影的結(jié)果就可以將2個點區(qū)分開,從而確定物體的真實尺寸。
圖2 雙目視覺投影
由于制造工藝、裝配誤差等因素的影響,使得相機成像出現(xiàn)畸變。為了減少畸變帶來的影響,需要對雙目相機的圖像進(jìn)行校正。將相機成像過程進(jìn)一步細(xì)化,將其分為4個坐標(biāo)系:世界坐標(biāo)系(Xw,Yw,Zw)、圖像坐標(biāo)系(x,y)、像素坐標(biāo)系(u,v)、相機坐標(biāo)系(Xc,Yc,Zc),如圖3所示。
圖3 相機四大坐標(biāo)系
通過坐標(biāo)系的轉(zhuǎn)換可以得到雙目相機的成像模型為式(1):
(1)
式中:R和T分別為世界坐標(biāo)系和相機坐標(biāo)系之間的旋轉(zhuǎn)矩陣和平移矩陣,兩者組成了相機的外參矩陣。
相機的外參矩陣和內(nèi)參矩陣構(gòu)成了相機的投影矩陣:
P=[R|T]·K
(2)
ToF技術(shù)是基于激光測距原理的主動視覺測距技術(shù),響應(yīng)快速、操作簡單、測量距離遠(yuǎn)、場景應(yīng)用豐富,近年來迅速發(fā)展為視覺測量領(lǐng)域的研究熱點。
ToF深度測算的基本原理是通過傳感器發(fā)射近紅外光,光線在遇到目標(biāo)物體后會反射并再次被傳感器接收,檢測光線從傳感器發(fā)射到被接收后的時間差來計算傳感器與目標(biāo)對象之間的距離[5]。
ToF深度測算的基本公式為
(3)
式中:d為測算出的深度信息;c為光在介質(zhì)中的傳播速度;Δt為光波信號的飛行時間,即傳感器發(fā)射與接收信號的時間差。
iToF(indirect ToF)采用連續(xù)正弦波進(jìn)行調(diào)制,假設(shè)發(fā)射信號s(t)的振幅為Ae,調(diào)制的正弦波頻率為f,經(jīng)過物體表面發(fā)射后接收到的光波信號為r(t),則有:
s(t)=Ae[1+sin(2πft)]
(4)
r(t)=Ar[1+sin(2πft-Δφ)]+Br
(5)
式中:Ar為光波信號能量衰減后的振幅;Br為由外部環(huán)境光、系統(tǒng)內(nèi)部偏差引起的偏移;Δφ為相位延遲。
則測算距離d可表示為
(6)
使用雙目相機獲取RGB圖像數(shù)據(jù)集,由于ToF深度相機分辨率為640×480,而雙目相機的分辨率為2 560×720,為了保證數(shù)據(jù)的有效性,應(yīng)選擇分辨率較大的系統(tǒng),因此對雙目相機所獲得的圖像進(jìn)行處理。
將雙目相機的圖像左右分割為2個1 280×720的圖像。計算雙目相機左右攝像頭、ToF相機和雙目相機左攝像頭的旋轉(zhuǎn)和偏移矩陣,并對左攝像頭的數(shù)據(jù)圖像進(jìn)行處理。完成圖像分割后,鎖定圖像縱橫比,進(jìn)行圖像壓縮。壓縮后得到853×480分辨率的左攝像頭圖像,截取左攝像頭靠雙目相機中心側(cè)的圖像,對圖像進(jìn)行剪切,獲得分辨率為640×480的左攝像頭圖像。
完成雙目圖像處理后,采集ToF圖像數(shù)據(jù)集,利用張正友標(biāo)定法[6]對雙目相機和TOF相機進(jìn)行聯(lián)合標(biāo)定。得到的雙目相機和ToF相機內(nèi)外參數(shù)如表1和表2所示。
表1 相機聯(lián)合標(biāo)定結(jié)果
表2 ToF相機及聯(lián)合標(biāo)定結(jié)果
由于ToF相機本身硬件上的限制,導(dǎo)致輸出的深度圖有大片的深度值缺失,在圖像表現(xiàn)上較為空洞,需要對輸出的深度圖進(jìn)行深度補全??梢岳肨oF相機搭載的彩色相機提供的彩色圖像信息來補全深度缺失。
利用31屆 IEEE/CVF 計算機視覺和模式識別會議(CVPR)中提出的算法可以很好地解決這個問題[7]。其訓(xùn)練網(wǎng)絡(luò)只預(yù)測深度的局部微分性質(zhì),然后用原始深度圖作正則化處理,求解一個全局線性優(yōu)化問題,最終得到補全的深度圖。預(yù)測表面法線圖像N和遮擋邊界圖像B后,需要求解一組方程來完成深度圖像[8]。以4項誤差平方的加權(quán)和作為目標(biāo)函數(shù):
E=λDED+λSES+λNENB
(7)
(8)
(9)
(10)
式中:ED為像素p處預(yù)測深度D(p)與觀察到的原始深度D0(p)之間的距離;EN為預(yù)測深度D(p)與預(yù)測表面法線N(p)的一致性(切線點乘法線);ES為促使相鄰像素有相似的深度值;B∈[0,1],基于像素在遮擋邊界B(p)上的預(yù)測概率對正常項進(jìn)行加權(quán)。
該方法經(jīng)過多個不同視角的重建和優(yōu)化,可以填補深度圖中的空洞和噪點。
由于雙目相機得到的視差圖比深度相機的深度圖致密,需要對補全后的深度圖進(jìn)行基于稀疏式采樣不變性的深度稠密重建[9]。假設(shè)f表示從輸入端到輸出端的映射。掩膜o={ou,v}表示二進(jìn)制變量,用于判斷是否觀察到變量。
則CNN中標(biāo)準(zhǔn)卷積層的輸出可表示為
(11)
式中:內(nèi)核大小為2k+1;w為權(quán)重,b為偏差。
如果輸入包含多個特征,則xu、v和wi、j為權(quán)重向量。
定義一個提供輸入點位置信息的觀測掩膜o。對于輸入的數(shù)據(jù),只對于有效點進(jìn)行處理,這就使得輸出的結(jié)果具有不變性。
CNN中稀疏卷積的輸出可表示為
(12)
式中∈是為了防止在沒有觀察到任何輸入像素xu+i,v+j時濾波器的位置為零導(dǎo)致表達(dá)式無意義。
最大池操作的輸出可表示為
(13)
其中,通過最大池化方法為之后的卷積層提供新的觀測值。如果至少有一個觀察到的變量對過濾器可見,則其值為1,否則為0。結(jié)合卷積的輸出,觀測值將作為下一個稀疏卷積層的輸入。
有了額外的觀測指標(biāo)后,每個通道c和位置(u,v)的輸入層總和可以重新定義為觀測輸入xl的歸一化總和[12]:
(14)
式中n為輸入層的數(shù)量。
特征和掩膜同時輸入稀疏卷積操作,特征和掩膜先進(jìn)行點乘,保留觀測到的值,而后與權(quán)重進(jìn)行第一次卷積;掩膜與全1矩陣進(jìn)行歸一化卷積,而后與權(quán)重作用后的特征進(jìn)行點乘,最后加上偏置得到最終的特征結(jié)果;而掩膜分支則利用上文中提到的改進(jìn)最大池化方法來得到新的掩膜。通過掩膜與特征的共同作用,使模型專注于對于觀測數(shù)據(jù)的特征提取和學(xué)習(xí),使得最后恢復(fù)的稠密深度圖更為精確,得到的表示特征具有稀疏不變性。
完成對ToF深度圖像的深度補全及稠密重建后,將ToF深度相機得到的深度圖轉(zhuǎn)換成視差圖,并將其深度方向的信息作為指導(dǎo),用于雙目相機求取三維坐標(biāo)的匹配。雙目相機獲得的視差圖用于計算空間坐標(biāo),其處理時間更快。然而,在沒有紋理和重復(fù)紋理的區(qū)域,它的錯誤率較高,因此使用ToF相機深度圖來指導(dǎo)雙目立體匹配過程[13]。
將從特征點獲得的視差值用作種子,以調(diào)整雙目左視圖,通過種子在雙目視圖中形成中心區(qū)域,并設(shè)置閾值以查找與閾值匹配的中心區(qū)域周圍的視差像素。例如,設(shè)置特征點坐標(biāo)m(x,y,d),其中,x、y是特征點位置坐標(biāo),d是當(dāng)前特征點視差值,設(shè)置閾值F,然后在區(qū)域視差(d+F,d-F)的范圍內(nèi)進(jìn)行校正匹配融合形成視圖,如果在區(qū)域視差值中搜索不匹配,則視圖使用該點的原始視差值。根據(jù)該原理調(diào)整左右圖像后,使用Census匹配算法來實現(xiàn)圖像的立體匹配,從而產(chǎn)生融合視差圖像。
為了凸顯ToF深度相機與雙目相機的互補特性,選擇與背景相近的低紋理被測物體。對雙目相機進(jìn)行校正,可以發(fā)現(xiàn)即使檢測出了較準(zhǔn)確的特征點,但由于自身的局限性,對于低紋理的被測物體效果不佳,難以檢測出被測物體的位置和輪廓,如圖4所示。
圖4 雙目定位計算結(jié)果圖
雙目視覺與ToF結(jié)合定位計算結(jié)果如圖5所示,圖中從左至右分別為對雙目攝像頭截取預(yù)處理后的圖像、ToF紅外光波相機的紅外圖像、ToF深度圖;從圖5可以看出,與雙目視覺單獨定位計算相比,結(jié)合ToF深度信息后,針對沒有紋理和相同紋理的被測物體仍然能獲得較好的信息結(jié)果。
圖5 雙目視覺與ToF結(jié)合定位計算結(jié)果圖
本文研究的應(yīng)用場景為復(fù)雜多變的海洋吊裝環(huán)境,為了驗證所述方法在海上環(huán)境的實用性,構(gòu)建海洋吊裝模擬環(huán)境。如圖6所示,通過正弦造浪泵進(jìn)行海況的模擬,采用350:1的艦船模型,將雙目相機和ToF深度相機固定在船上。吊裝模擬模塊用來模擬起重機的吊裝過程,包括模擬起重機和被吊物。
圖6 實驗平臺設(shè)計
在復(fù)雜的海洋環(huán)境下進(jìn)行吊裝作業(yè)時,艦船可能遭遇多種類型的浪向角,通過將造浪泵安裝在不同位置,可以分別在遭遇浪向角為180°(迎浪)、120°(斜浪)、90°(橫浪)、0°(順浪)的條件下進(jìn)行實驗驗證?;赟tellar SDK(c++)工具包,將原深度相機提供的上位機Furnace_Stellar400進(jìn)行改進(jìn),以同時顯示雙目相機RGB圖、ToF相機IR紅外灰度圖以及深度圖。
迎浪、斜浪、順浪以及橫浪條件下采集到的圖像信息如圖7~圖10所示。
圖7 迎浪周期圖像
圖8 斜浪周期圖像
圖9 順浪周期圖像
圖10 橫浪周期圖像
迎浪周期被吊物定位結(jié)果如表3所示。
表3 迎浪周期定位結(jié)果 mm
斜浪周期被吊物定位結(jié)果如表4所示。
表4 斜浪周期定位結(jié)果 mm
順浪周期被吊物定位結(jié)果如表5所示。
表5 順浪周期定位結(jié)果 mm
橫浪周期被吊物定位結(jié)果如表6所示。
表6 橫浪周期定位結(jié)果 mm
為了對比實驗所定位結(jié)果的準(zhǔn)確性,在橫浪周期下對被吊物的位姿進(jìn)行了同步傳感器的測量。測量結(jié)果如表7所示。
表7 橫浪周期測量結(jié)果 mm
相機定位結(jié)果與測量結(jié)果之間的差值如表8所示。
表8 橫浪周期定位結(jié)果差值 mm
由表8可知,船在波浪的橫向作用下X方向位移不斷增大,同時Y向隨著波浪周期存在±10 mm左右的升沉運動,Z向由于橫流波浪的作用導(dǎo)致了40 mm的偏移。對比表5和表6中計算結(jié)果,可以發(fā)現(xiàn)最大誤差為2.729 mm,誤差不超過3 mm,同時隨著距離的增加,誤差沒有變大的趨勢,解決了雙目相機隨著距離增加,定位精度下降的問題,同時對于低紋理的物體也有較好的定位效果,滿足定位要求。
本文針對海上吊裝過程被吊物的定位問題提出了一種基于雙目視覺與ToF結(jié)合的定位方法。根據(jù)雙目相機和ToF相機的互補特性,對深度圖進(jìn)行深度補全和深度稠密重建以獲取結(jié)合視差,同雙目視覺的計算結(jié)果對比,證明該方法具有更好的效果。為了驗證本文方法在海上吊裝過程的有效性,模擬復(fù)雜的海洋環(huán)境,在迎浪、斜浪、順浪、橫浪4種浪向角下進(jìn)行實驗,得到的結(jié)果與慣性傳感器數(shù)據(jù)進(jìn)行對比。實驗結(jié)果表明:在4種浪向角下該方法均能實現(xiàn)精確定位,得到的深度圖物體邊緣清晰,深度對比明顯,定位結(jié)果誤差不超過3 mm,證明該方法的有效性,為下一步的實際應(yīng)用奠定了基礎(chǔ)。