徐碩, 姜言清,3, 李曄,3, 劉善昌, 丁碩碩, 馬東, 齊昊東, 張文君
(1.哈爾濱工程大學(xué) 水下機(jī)器人技術(shù)重點(diǎn)實(shí)驗(yàn)室,黑龍江 哈爾濱 150001; 2.哈爾濱工程大學(xué) 船舶工程學(xué)院,黑龍江 哈爾濱 150001; 3.哈爾濱工程大學(xué) 三亞南海創(chuàng)新發(fā)展基地,海南 三亞 572000)
智能水下機(jī)器人(autonomous underwater vehicle,AUV)在海洋勘探和觀測中發(fā)揮著越來越重要的作用[1-3]。然而,幾乎所有的任務(wù)AUV都會(huì)有水面船只或岸上工作人員參加,這增加了任務(wù)的成本和工作周期,且不符合其自主化發(fā)展方向。水下對接技術(shù)使水下機(jī)器人能夠自主地被引導(dǎo)到水下基站、給電池充電、下載數(shù)據(jù)、上傳新的任務(wù)計(jì)劃,并安全地停放,直到執(zhí)行下一個(gè)任務(wù)[4-6]。AUV對接的導(dǎo)航過程可分為歸航和對接2個(gè)階段[6-7],前一階段是指水下機(jī)器人距離對接船塢10 m以上的情況,后一階段是指水下機(jī)器人與對接站之間的距離小于10 m的情況。超短基線(ultra-short base line,USBL)定位系統(tǒng)通常用于歸航的階段,利用它可以得到AUV水下的真實(shí)位置[8]。在對接階段,因具有更高的定位精度,基于相機(jī)的光學(xué)引導(dǎo)[9]和電磁引導(dǎo)[10]是更好的選擇。電磁引導(dǎo)需要提前布放無線電傳感器陣列組成定位網(wǎng)絡(luò),AUV將被動(dòng)地接收無線傳感器傳來的定位信息,判斷自身位置完成對接。由于水對電磁波的衰減作用,往往需要較大功率維持信號(hào)的穩(wěn)定;另一方面,預(yù)先布置無線電網(wǎng)絡(luò)往往增加對接的工作量,導(dǎo)致靈活性下降。光學(xué)引導(dǎo)技術(shù)因其成本較低、精度和靈活度高等原因,成為AUV對接更合適的引導(dǎo)方法。
伊文康等[11]針對AUV水下光視覺引導(dǎo)對接難點(diǎn),提出一套完整的自主對接引導(dǎo)方案,并通過水池定點(diǎn)試驗(yàn)和對接實(shí)驗(yàn),以驗(yàn)證該方案的可行性。然而AUV在識(shí)別基站8個(gè)光源標(biāo)識(shí)時(shí),必須保證AUV與基站保持垂直方向一致,才能保證準(zhǔn)確地匹配到光源標(biāo)識(shí)。Lin等[12]在研究AUV對接過程中的實(shí)時(shí)定位問題上取得了很好的效果。但在檢測基站部分,僅通過識(shí)別單一光源標(biāo)識(shí)約束,得到基站相對于AUV的大致方向,并不能得出基站的準(zhǔn)確位置,這會(huì)給AUV的控制帶來很大的挑戰(zhàn)。朱志宇等[13]提出一種基于立體視覺的定位方法,該方法利用單一光源標(biāo)識(shí)獲得基站相對于AUV的三維位置,這也會(huì)帶來所得結(jié)果誤差較大的問題。
本文目標(biāo)基站采用4個(gè)光源標(biāo)識(shí),通過計(jì)算所有光源標(biāo)識(shí)位置取均值,得到精確的基站位置;利用自適應(yīng)圖像二值化算法和偽光源剔除算法,保證光源陣列準(zhǔn)確的像素坐標(biāo);通過定義光源特征和誤匹配檢測算法,準(zhǔn)確地配準(zhǔn)立體圖像的光源標(biāo)識(shí)。
本方法的總流程圖如圖1所示。雙目相機(jī)采集水下基站的圖像對,利用光源識(shí)別算法得到圖像對中光源中心的像素坐標(biāo)。光源匹配算法將雙目左圖和右圖中的光源一一對應(yīng)。立體測距算法通過三角測量原理得到每個(gè)光源在相機(jī)坐標(biāo)系下的三維坐標(biāo),將其均值作為基站的坐標(biāo)。
圖1 視覺定位方法的總流程Fig.1 Overall flow chart of visual positioning method
波長為500~600 nm的黃綠光在水中的散射率最小[14],因此選擇波長540 nm的發(fā)光二極管(light-emitting diode,LED)。為保證光源識(shí)別的成功率,采用4個(gè)LED組成正方形燈陣,安裝在喇叭口位置,如圖2所示。
圖2 LED光源的安裝示意Fig.2 LED light sources location
1.1.1 自適應(yīng)二值化
光源標(biāo)識(shí)在圖像上的成像有如下特點(diǎn):1)圖像中,光源的像素灰度值明顯比周圍像素大;2)光源中心的像素為明亮的綠色;3)光源的成像為較小的圓形獨(dú)立區(qū)域。圖3為某一次的光源標(biāo)識(shí)陣列立體圖像,每張圖片分辨率為1 280×720。
圖3 光源標(biāo)識(shí)陣列立體圖像Fig.3 Light sources in image pair
基于上述特點(diǎn),采用自適應(yīng)二值化進(jìn)行圖像處理。具體步驟為:1)灰度化左右相機(jī)圖像,作為輸入;2)設(shè)置初始閾值T=250,對灰度值小于閾值的像素值取0,否則取1,得到二值圖像;3)對二值圖像進(jìn)行輪廓檢測,判斷輪廓個(gè)數(shù)N是否大于4,并且至少4個(gè)輪廓邊界像素個(gè)數(shù)大于30;4)若N<4則失敗,將當(dāng)前閾值減小一定步長T′=T-5,重新二值化。圖4為閾值T=230時(shí)的二值化左相機(jī)圖像。
圖4 自適應(yīng)二值化后的左圖像Fig.4 Left image after adaptive binarization
1.1.2 偽光源剔除
由于光源強(qiáng)光高亮的特點(diǎn),得到的二值化圖像中可以很容易地檢測到亮斑。然而,二值圖像中可能存在偽光源標(biāo)識(shí),如圖4所示,圖像右上角的亮斑被錯(cuò)誤地檢測到。分析具體原因?yàn)椋?)周圍環(huán)境光照較強(qiáng),導(dǎo)致某些反光較強(qiáng)的物體被檢測到;2)周圍環(huán)境中存在其他光源,干擾了檢測結(jié)果;3)周圍存在物體對光源標(biāo)識(shí)發(fā)出的強(qiáng)綠光反射,從而被檢測到。
對于上述前2個(gè)原因,可以通過降低環(huán)境光照強(qiáng)度和移除其他光源來避免。然而對于物體反射光源光照,則無法杜絕,特別是當(dāng)AUV在接近水面處進(jìn)行對接時(shí),水面倒影處的偽光源陣列,會(huì)嚴(yán)重干擾對接精度,甚至導(dǎo)致對接失敗。因此,需要對偽光源進(jìn)行檢測并剔除。
對二值圖像的輪廓檢測技術(shù)已經(jīng)非常成熟,本文選擇最外層邊界跟蹤法[15]提取光源標(biāo)識(shí)輪廓,可以得到輪廓邊緣點(diǎn){ni}和中心點(diǎn)C。在檢測過程中,根據(jù)光標(biāo)識(shí)陣列成像輪廓適中的情況,對每個(gè)檢測到的輪廓邊緣像素點(diǎn)個(gè)數(shù)Ni,必須滿足30 數(shù)字圖像有多種色彩空間,如:RGB色彩空間和HSV色彩空間。RGB色域利用R(紅色,[0,255]),G(綠色,[0,255])和B(藍(lán)色,[0,255])3種顏色值的組合還原真實(shí)色。然而在光源標(biāo)識(shí)顯示的亮綠色范圍,RGB值并不是線性變化的,因此很難用閾值范圍判斷該顏色是否滿足條件。HSV色域更符合顏色的線性變化:1)H值表示色調(diào),范圍[0°,360°],其中綠色對應(yīng)于120°左右;2)S值表示飽和度,即該顏色更接近于光譜色的程度,范圍[0,1],值越大,則顏色越飽和;3)V值表示顏色明亮的程度,即發(fā)光體的光亮度,范圍[0,1],值越大,則顏色越亮。 根據(jù)HSV色彩空間的特點(diǎn),可以更容易地檢測出光源標(biāo)識(shí)。經(jīng)過大量實(shí)驗(yàn),設(shè)置60 雖然上述方法能檢測出許多偽光源標(biāo)識(shí),并不能做到完全剔除。因此,對包含很少偽光源的集合S={si},采用K均值聚類,具體步驟為: 1)設(shè)置聚類中心。經(jīng)過上述剔除算法后,S={si}一般不超過8個(gè),因此可以設(shè)置類別為: Num=Size(S)-3 (1) 式中Size(·)表示個(gè)數(shù); 2)初始化。隨機(jī)選取Num個(gè)光源,各自為一類,類中心點(diǎn)Cki為光源中心點(diǎn)Ci; 3)計(jì)算非該類光源中心點(diǎn)Cj到類中心點(diǎn)Cki的距離,將光源劃分到距離最近的類別中; 4)計(jì)算每一類別的新的中心點(diǎn)Cki; 5)返回步驟3),直到類別不再變化。 經(jīng)過多次隨機(jī)初始化,選取包含4個(gè)光源的類別作為最終結(jié)果。圖5表示某一次光源剔除最終的聚類結(jié)果,其中紅色表示正確的光源標(biāo)識(shí),藍(lán)色表示偽光源。 圖5 K均值聚類結(jié)果Fig.5 K-means clustering results 得到雙目相機(jī)左圖和右圖中各自的光源標(biāo)識(shí)集合后,需要對其進(jìn)行配準(zhǔn),從而進(jìn)行立體測距。在視覺同步定位與建圖技術(shù)領(lǐng)域,通常采用提取圖像點(diǎn)特征的方式進(jìn)行一定規(guī)則的匹配[16]。本文采用灰度質(zhì)心法和擬合橢圓主方向作為光源的特征,并進(jìn)行光源匹配。 1.2.1 光源灰度特征提取 光源標(biāo)識(shí)在圖像中成像是塊區(qū)域,由像素集合組成,因此可以在塊區(qū)域內(nèi)進(jìn)行特征提取,唯一表征此光源。 如圖6所示,由于亮度不均勻,圖像塊內(nèi)的像素灰度值各不相同?;叶荣|(zhì)心是指以圖像塊灰度值作為權(quán)重的中心。首先,在檢測到的光源圖像塊Opatch中,定義圖像塊的矩為: (2) 式中:(x,y)表示圖像塊任意像素的位置;I(x,y)表示該像素的灰度值。進(jìn)一步可以得到該像素塊的質(zhì)心: (3) 圖6 圖像塊灰度圖示意Fig.6 Image block grayscale 連接圖像塊的幾何中心O和質(zhì)心C,得到一個(gè)方向向量C,則光源的灰度特征方向?yàn)椋?/p> θc=arctan(m01/m10) (4) 1.2.2 光源方向特征提取 檢測到光源標(biāo)識(shí)輪廓后,利用最小二乘的橢圓擬合算法[17],得到光源輪廓近似橢圓的參數(shù)。已知平面橢圓的一般方程: ax2+bxy+cy2+dx+ey+f=0 (5) 其中,A=[a,b,c,d,e,f]T,X=[x2,xy,y2,x,y,1]T,則式(5)變成矩陣形式ATX=0。已知一個(gè)橢圓方程有6個(gè)自由度,需要至少6個(gè)已知點(diǎn)唯一確定一個(gè)橢圓,因此擬合橢圓的最優(yōu)化問題為: (6) 式中:D是數(shù)據(jù)樣本矩陣,維數(shù)為n×6;n表示樣本數(shù)。由于優(yōu)化的是橢圓方程,并且參數(shù)可以隨意縮放,可以簡單地添加約束Δ2=4ac-b2=1,并引入拉格朗日因子λ,可以得到以下2個(gè)方程: (7) 式中:C是添加約束后的6×6常數(shù)矩陣,除元素項(xiàng)C(1,3)=C(3,1)=2和C(2,2)=-1外,其余均為0。令S=DTD,上述方程可以寫成: (8) 求解方程(8)的非負(fù)特征值對應(yīng)的特征向量,即可得到擬合橢圓的參數(shù)。通過將一般方程標(biāo)準(zhǔn)化,即可得到橢圓的主方向θq,圖7為解算的光源擬合橢圓及其方向。 圖7 擬合橢圓及其主方向Fig.7 Fit ellipse and its main direction 綜上,將光源標(biāo)識(shí)質(zhì)心方向θc和擬合橢圓的主方向θq,共同作為光源的特征。 1.2.3 光源匹配 光源匹配指的是將左右圖像中得到的光源標(biāo)識(shí)進(jìn)行一一對應(yīng),以便后續(xù)進(jìn)行解算中心點(diǎn)的3D位置。通過對得到的光源特征,即質(zhì)心方向θc和擬合橢圓的主方向θq進(jìn)行比較,滿足小于一定閾值時(shí),即認(rèn)為是同一光源。然而由于傳感器自身的原因,使得左右圖像中光源的成像形狀略有不同,有可能導(dǎo)致匹配不上,雖然實(shí)驗(yàn)中情況很少,但不能忽視,本文通過極線搜索進(jìn)行判別。 如圖8所示,π1和π2分別為左右相機(jī)的成像平面,光源中心P在π1上的成像點(diǎn)為p1,根據(jù)針孔相機(jī)模型,當(dāng)光源中心深度P未知時(shí),其在π2上的成像點(diǎn)應(yīng)該在極線l2上。因此,選取中心深度P在左相機(jī)坐標(biāo)系下的歸一化點(diǎn)P′(x′,y′,1)和較遠(yuǎn)處任意給定深度值的點(diǎn)P″(x″,y″,z″),通過雙目相機(jī)的轉(zhuǎn)移矩陣T=[R|t]和右相機(jī)內(nèi)參Kr,即可得到右相機(jī)像素平面下的成像點(diǎn),從而唯一確定極線l2。當(dāng)光源匹配后,判斷π2上的光源成像點(diǎn)是否在極線l2上,即可排除錯(cuò)誤的匹配。 圖8 極線搜索示意Fig.8 Schematic diagram of epipolar search 一旦確定立體相機(jī)的外參矩陣T=[R|t],即可通過三角測量計(jì)算每個(gè)匹配好的光源中心點(diǎn)對在相機(jī)坐標(biāo)系下的三維位置。如圖9所示。 圖9 三角測量示意Fig.9 Schematic diagram of the triangulation measurements 考慮左右圖像π1和π2,以π1建立右手坐標(biāo)系,則π2的變換矩陣為T=[R|t]。相機(jī)光心為O1和O2。在π1中檢測到光源中心點(diǎn)p1,對應(yīng)π2中的光源中心點(diǎn)p2。理論上直線O1p1與O2p2在場景中會(huì)相交于一點(diǎn)P,該點(diǎn)即2個(gè)光源中心點(diǎn)對應(yīng)的光源標(biāo)識(shí)在三維空間中的位置。然而由于噪聲和檢測精度的影響,2條直線往往無法相交。因此,可以通過最小二乘法求解。根據(jù)相機(jī)位姿變換關(guān)系可得: z1X′1=z2RX′2+t (9) (10) 由于噪聲和誤差的存在,不能直接求解出深度,因此需要構(gòu)建一個(gè)最小二乘求解: (11) 將求得的z2值代入式(10)中,即可解出光源中心點(diǎn)P在左相機(jī)坐標(biāo)系下的三維位置。對4個(gè)光源中心點(diǎn)求平均值,最終得到水下基站的坐標(biāo)。 為驗(yàn)證算法的魯棒性和測量精度,進(jìn)行陸上的定點(diǎn)測試。測試設(shè)備包括一個(gè)分辨率為1 280×720的雙目相機(jī),樹莓派4B(8 GB內(nèi)存)以及正方形LED光源陣列,如圖10所示。本實(shí)驗(yàn)選取規(guī)格20 m長度的走廊,如圖11所示。實(shí)驗(yàn)中,選取8個(gè)位置對光源標(biāo)識(shí)陣列進(jìn)行測量,包括識(shí)別的準(zhǔn)確性和相對距離的精度對比,位置4~20 m任意選取。 圖10 實(shí)驗(yàn)硬件示意Fig.10 Tested equipment in the experiment 圖11 實(shí)驗(yàn)選取的走廊Fig.11 The corridor chosen for the experiment 光源識(shí)別是光視覺引導(dǎo)的基礎(chǔ),因此需要對光源識(shí)別的魯棒性進(jìn)行實(shí)驗(yàn)分析。所提出的方法采用自適應(yīng)二值化、K均值聚類和HSV彩色域校準(zhǔn)算法提高光源識(shí)別的準(zhǔn)確率。利用單一的判別算法對比,驗(yàn)證其魯棒性。 部分魯棒性測試4組結(jié)果如圖12所示,圖像分別為自適應(yīng)二值化算法、K均值聚類算法、HSV彩色域校準(zhǔn)和本文光源識(shí)別算法的識(shí)別結(jié)果。可以發(fā)現(xiàn),自適應(yīng)二值化算法均無法識(shí)別出光源;K均值聚類算法雖然識(shí)別出光源個(gè)數(shù)為4,但僅有1組測試準(zhǔn)確識(shí)別;HSV彩色域校準(zhǔn)可以較好地排除非光源顏色光斑的干擾,但不能剔除同種顏色的反射光斑;本文所提出的光源識(shí)別算法可以準(zhǔn)確識(shí)別基站光源,因此對于偽光源干擾有很好的魯棒性。 圖12 魯棒性測試部分結(jié)果Fig.12 Part of robustness test results 將算法得到的基站距離與真實(shí)的基站距離作對比,進(jìn)一步驗(yàn)證所提方法的定位精度。利用理論精度為1 cm 的激光測距儀測量相機(jī)到基站中心的真實(shí)距離。8組測試距離對比結(jié)果如表1所示。 表1可以看出,基站與相機(jī)的相對距離的誤差均在10%以內(nèi),平均精度達(dá)到5.3%,比較滿足AUV近距離對接時(shí)的定位精度??梢园l(fā)現(xiàn),第5~8組測試的距離誤差都偏高,其原因?yàn)殡p目相機(jī)測距會(huì)隨著距離的增大而誤差增大,光源成像越小,其不確定性也就越大,從而導(dǎo)致誤差增大。此外,第2、3、7組測試的誤差也偏大,原因?yàn)閳D片矯正算法為近似真空模型,對圖像中心區(qū)域的去畸變效果最好,因此當(dāng)光源成像在圖像邊緣時(shí),基站位置誤差也會(huì)偏大。 表1 定位精度對比結(jié)果Table 1 Positioning accuracy comparison results 1)所提方法中的偽光源剔除算法,能有效地避免誤檢測的問題,提高光源識(shí)別的魯棒性。 2)所提方法利用了2種光源特征進(jìn)行匹配,并通過極線搜索來保證匹配結(jié)果的準(zhǔn)確,利用三角測量得到基站的相對距離,在陸地上20 m 內(nèi)能達(dá)到5.3%的平均精度。該方法可以得到精確的水下基站三維位置。1.2 光源特征提取和匹配
1.3 立體測距
2 陸上實(shí)驗(yàn)分析與驗(yàn)證
2.1 魯棒性測試
2.2 定位精度測試
3 結(jié)論