郭雨薇,劉俊,嚴(yán)允
(1.上海電機(jī)學(xué)院 機(jī)械學(xué)院,上海 201306;2.上海中車艾森迪海洋裝備有限公司,上海 201306)
水下電纜檢測(cè)方法主要分為磁法、多波束、側(cè)掃聲吶及水下攝像等方法,而視覺技術(shù)更具直觀可靠性。相關(guān)的研究有提出基于單目視覺的水下管道檢測(cè)系統(tǒng),利用序列管道圖像之間的特征變化來檢測(cè)不同水深條件下的直管和彎管;對(duì)基于單目相機(jī)的兩棲球形機(jī)器人采用Kalman濾波器實(shí)現(xiàn)對(duì)水下電纜的自主探測(cè);在前者的基礎(chǔ)上加入支持向量機(jī)的模式識(shí)別方法,對(duì)采集的管道圖像進(jìn)行分類,進(jìn)一步提升對(duì)轉(zhuǎn)彎和預(yù)轉(zhuǎn)彎道的識(shí)別準(zhǔn)確率。但上述方法均未考慮水下的工作環(huán)境,應(yīng)用時(shí)存在一定的局限性。同時(shí),上述的實(shí)驗(yàn)對(duì)象均為直行或走向變化明顯的水下管線,并未考慮到彎曲程度較小的水下電纜無法被及時(shí)準(zhǔn)確的識(shí)別出從而導(dǎo)致巡檢設(shè)備偏航的問題。為此,設(shè)計(jì)一種基于機(jī)器視覺和Kalman濾波的水下電纜定位方法,思路見圖1。
圖1 設(shè)計(jì)思路
不同濾波窗口下的暗通道見圖2,對(duì)比發(fā)現(xiàn),圖2c)中的主體特征信息更為清晰準(zhǔn)確。對(duì)50幀水下電纜圖像進(jìn)行分析,借助標(biāo)尺工具獲取前景面積。
圖2 不同濾波窗口下的暗通道
對(duì)測(cè)得的50組二維數(shù)據(jù)點(diǎn)(width,length)進(jìn)行kmeans聚類:設(shè)置=3,隨機(jī)生成類簇中心1;類簇中心2為距離類簇中心1的最遠(yuǎn)點(diǎn);類簇中心3為距離類簇中心1和2的最近距離最大點(diǎn)。層次聚類后,如圖3所示,圓點(diǎn)代表樣本數(shù)據(jù),三角形為最終的類簇中心點(diǎn)。
圖3 k=3聚類結(jié)果
將類簇中心對(duì)應(yīng)的面積值分別命名為、和。利用式(1)重新定義暗通道鄰域窗口濾波半徑的大小。
(1)
式中:和為圖片尺寸,分別為640和480,計(jì)算可得=3。
(2)
在暗通道圖中選取最亮的0.1%像素,回歸()中尋找對(duì)應(yīng)的具有最高亮度的像素點(diǎn)的值,將其作為值。去霧圖像恢復(fù)的計(jì)算如下。
(3)
(4)
如圖4b)所示,Retinex增強(qiáng)后,圖像對(duì)比度得到了極大提升,但整體效果偏暗,四周暗角加劇導(dǎo)致邊緣特征丟失。如圖4c)所示,應(yīng)用DCP后暗角改善效果不佳,局部曝光度偏高。圖4d)所示,應(yīng)用改進(jìn)自適應(yīng)暗通道去霧算法后的處理效果得到明顯提升。
圖4 原圖及增強(qiáng)圖像
將灰度特征和連通域特征作為分割前提,可大面積有效地去除干擾信息,處理步驟:①局部自適應(yīng)閾值分割;②連通域檢測(cè);③鄰域面積閾值分割。
由于電纜區(qū)域和灰度近似的噪聲區(qū)域尺寸相差較大,設(shè)置一個(gè)面積閾值來篩選備選區(qū)域??紤]到電纜表面部分區(qū)域被泥沙覆蓋,引入自適應(yīng)因子,這里取0.1。
=×min(,,)
(5)
計(jì)算出約為1 200個(gè)像素點(diǎn)。
1.3.1 形態(tài)學(xué)處理
應(yīng)用膨脹運(yùn)算可對(duì)分割后的二值圖像進(jìn)行填充,膨脹引入的寬度變形由腐蝕算法進(jìn)行補(bǔ)償,最后通過閉運(yùn)算填充殘留的孔洞。
1.3.2 中心線提取
流程及效果見圖5。
圖5 中心線提取流程和效果
對(duì)圖像進(jìn)行前景分割后的效果見圖5a)。利用歐氏距離法進(jìn)行距離分類,見圖5b)。利用二維歐式空間的Laplace微分算子得到像素值快速變化的區(qū)域,即邊界和主干線,見圖5c)。創(chuàng)建半徑為2個(gè)像素點(diǎn)的圓形掩膜,將其與二值化后的圖5c)做膨脹運(yùn)算,實(shí)現(xiàn)斷線填充效果,見圖5d)。圖5d)和圖5e)相減后,骨架上的分支已基本被剝離,設(shè)置面積閾值為30,可得到清晰連貫的中心線,見5f)。
1.3.3 采樣點(diǎn)映射
建立空列表-和-,遍歷值為255的像素點(diǎn),對(duì)其進(jìn)行方向上的標(biāo)記,將標(biāo)記結(jié)果存儲(chǔ)至-中,定位區(qū)間為[:]。同理,對(duì)值為255的像素點(diǎn)進(jìn)行方向上的標(biāo)記,并將結(jié)果存儲(chǔ)至-中,定位區(qū)間為[:]。在定位區(qū)間構(gòu)成的最小外接矩形下方建立軸,設(shè)置等距刻度,并沿著方向?qū)⒖潭赛c(diǎn)映射到骨架線上獲取采樣點(diǎn)。若沿著方向截取到兩個(gè)以上的采樣點(diǎn),表明還殘存分支,此時(shí)系統(tǒng)自動(dòng)生成對(duì)應(yīng)數(shù)量的子列表,分別用于存放支路上的采樣點(diǎn),計(jì)算分支點(diǎn)和子列表最后一個(gè)元素之間的距離,距離最長的路徑應(yīng)屬于主骨架線,保留其上采樣點(diǎn),清空其余分支上偽采樣點(diǎn),最后將采樣點(diǎn)返回至原圖中。
采樣點(diǎn)映射法的思路是通過設(shè)定指定數(shù)量的采樣點(diǎn)來擬合出水下電纜走向,相比較于SVM結(jié)合Hough檢測(cè)的策略,無需對(duì)樣本進(jìn)行分類訓(xùn)練,實(shí)現(xiàn)起來更為簡單。
基于Matlab標(biāo)定工具箱,使用10×7的棋盤格標(biāo)定板,其小方格邊長為30 mm×30 mm。通過改變標(biāo)定板的位姿,并保持水下相機(jī)固定來獲取水下棋盤格圖像。重投影誤差條形見圖6,圖6中虛線對(duì)應(yīng)的縱坐標(biāo)值表示平均重投影誤差,它小于1個(gè)像素點(diǎn),在允許的誤差范圍內(nèi)。標(biāo)定后獲得相機(jī)內(nèi)參數(shù)矩陣如下。
圖6 重投影誤差條形圖
(6)
如圖7所示,為攝像頭的光軸與水平面之間的夾角,利用高度計(jì)可獲得水下機(jī)器人(ROV)相對(duì)電纜的高度。≡0.5 m,≡60°,表示相機(jī)坐標(biāo)系,表示ROV坐標(biāo)系。
圖7 水下視覺檢測(cè)系統(tǒng)坐標(biāo)模型
兩坐標(biāo)系間的轉(zhuǎn)換關(guān)系如下。
(7)
和分別為相對(duì)旋轉(zhuǎn)和平移矩陣。將電纜像素坐標(biāo)(,)轉(zhuǎn)換到ROV坐標(biāo)系下。
(8)
結(jié)合標(biāo)定參數(shù)后,可以得到電纜相對(duì)于ROV的三維空間坐標(biāo)(,,)。
(9)
基于ROV的運(yùn)動(dòng)模型建立航跡推算模型,根據(jù)當(dāng)前運(yùn)動(dòng)速度、電纜位置等信息預(yù)測(cè)下一時(shí)刻ROV的跟蹤軌跡。
ROV攜帶的定位系統(tǒng)反饋回的位置信息為(,),航向角為,相鄰采樣幀的時(shí)間間隔為,幀間運(yùn)動(dòng)速度取平均值,加減速度為,橫移角速度為,則相鄰時(shí)刻間的ROV的位置關(guān)系可表示為
(10)
采用Kalman濾波器,其主要公式如下。
1)ROV運(yùn)動(dòng)狀態(tài)方程。
()=·(-1)+()
(11)
2)系統(tǒng)狀態(tài)觀測(cè)方程。
()=·()+()
(12)
3)預(yù)測(cè)誤差協(xié)方差矩陣。
(|-1)=·(-1)+
(13)
4)Kalman增益。
(14)
5)最優(yōu)后驗(yàn)估計(jì)值。
(15)
6)協(xié)方差矩陣更新。
()=(1-())(|-1)
(16)
式中:標(biāo)注^表示預(yù)估值,為系統(tǒng)的狀態(tài)轉(zhuǎn)移矩陣;為過程噪聲方差;為系統(tǒng)噪聲方差。系統(tǒng)在時(shí)刻的噪聲。利用Kalman濾波算法,將航跡推算預(yù)測(cè)值與傳感器定位數(shù)據(jù)線性融合后的結(jié)果作為ROV的跟蹤路徑。
向10 m×10 m×5 m的試驗(yàn)水池中傾倒泥沙,模擬渾濁的水下環(huán)境,見圖8。圖8a)為幀率50 幀/s,有效像素768(H)×582(V),焦距6 mm的高清水下攝像頭。圖8b)為南京歆祁科技的上位機(jī)實(shí)時(shí)監(jiān)控界面,它能夠直觀的顯示采集到的水下信息。系統(tǒng)通信利用TCP/IP協(xié)議用來接收下位機(jī)采集的數(shù)據(jù)和攝像頭視頻的采集,通過RS-485串口通信發(fā)送控制信息給下位機(jī)。
圖8 圖像獲取工具
使用采樣點(diǎn)映射算法后得到的效果見圖9,用白色的線連接兩個(gè)相鄰的采樣點(diǎn)。
圖9 采樣點(diǎn)映射
由圖9可見,采樣點(diǎn)擬合出的連線與水下電纜鋪設(shè)軌跡保持一致,適用于檢測(cè)彎曲度較小的水下電纜。水下電纜的位置信息在excel表格中生成,見表1、2。
表1 采樣點(diǎn)像素坐標(biāo)
表2 相對(duì)坐標(biāo)
實(shí)驗(yàn)設(shè)置為=diag[eeee]。選取50張不同位置的水下棋盤格圖片,測(cè)量棋盤格上第一個(gè)角點(diǎn)的坐標(biāo)并求出方差后代入到測(cè)量噪聲協(xié)方差矩陣中,可得=diag[0.03 5 0.001 2] m。通過手動(dòng)操縱控制臺(tái)上的搖桿來調(diào)節(jié)運(yùn)動(dòng)速度和方向并自動(dòng)拍攝圖像,ROV初始速度==0.01 m/s,=2 s。
仿真設(shè)定偏差、文獻(xiàn)[4]檢測(cè)偏差與本文算法的檢測(cè)偏差對(duì)比見圖10a),霍夫檢測(cè)后的濾波偏差幅值減小較為明顯,但波動(dòng)也較為劇烈。經(jīng)本文算法處理過后,平均偏差可控制在0.01 m以下,相較于前者減小了0.015 m。35 s至50 s內(nèi),檢測(cè)誤差開始減??;50 s至65 s內(nèi),波動(dòng)逐漸減小;70 s后曲線趨于平穩(wěn)。
圖10 定位融合仿真結(jié)果
基于采樣點(diǎn)映射的定位融合仿真見圖10b),軸和軸分別對(duì)應(yīng)ROV的橫向和縱向位移數(shù)據(jù)。將其作為濾波修正后的ROV跟蹤軌跡。結(jié)果表明,加入定位融合算法后的檢測(cè)曲線更為平滑,接近于水下電纜的狀態(tài),能夠在一定程度上提升ROV跟蹤的準(zhǔn)確性。
1)對(duì)采集的水下降質(zhì)圖像進(jìn)行處理,實(shí)驗(yàn)結(jié)果表明,自適應(yīng)暗通道去霧算法在處理暗角和局部曝光過度方面優(yōu)于本文列舉的其他兩種圖像增強(qiáng)算法。
2)采樣點(diǎn)映射算法代替SVM結(jié)合Hough檢測(cè)的方法適合于提取彎曲度較小的水下電纜。仿真結(jié)果表明,Kalman濾波后,采樣點(diǎn)映射法相比直線檢測(cè)法的平均檢測(cè)偏差減少1.5 cm,位置偏差隨著檢測(cè)時(shí)間增長而減小,70 s后偏差值趨于穩(wěn)定。
3)本文所設(shè)計(jì)的方法具有合理性。