張 偉,李子軒,宮 鵬,趙漢卿,曾 寧
(哈爾濱工程大學(xué) 自動(dòng)化學(xué)院,黑龍江 哈爾濱,150001)
近年來,各國海軍致力于發(fā)展無人水下航行器(unmanned undersea vehicle,UUV)技術(shù)[1]。在UUV自動(dòng)接駁技術(shù)中,遠(yuǎn)距離跟蹤定位技術(shù)已經(jīng)相對成熟,而在近距離接駁階段操作的準(zhǔn)確性和穩(wěn)定性是當(dāng)前需要攻克的難題。在 UUV水下近距離接駁階段需要用到的檢測傳感器裝置主要有 3種:視覺檢測傳感器、聲學(xué)檢測傳感器和電磁檢測傳感器。Deltheil等[2]對上述3種方法進(jìn)行了比較,并說明視覺檢測傳感器對外部環(huán)境有更強(qiáng)的抗干擾性和較高的定向精度。
基于視覺檢測傳感器的UUV自動(dòng)接駁是一項(xiàng)復(fù)雜任務(wù)。目前,國內(nèi)外學(xué)者提出了許多基于視覺傳感器的接駁方法,如:標(biāo)記顏色檢測[3]、自相似地標(biāo)[4]及 3D形狀識(shí)別[5]等。Hong等[3]的視覺接駁方案使用的是彩色光源陣列,由于水對光譜的吸收,使得在復(fù)雜水況中,彩色目標(biāo)光源陣列被相機(jī)檢測到的概率很低。Negre等[4]提出對設(shè)計(jì)的自相似地標(biāo)進(jìn)行檢測,但從工程角度來說,放置這種視覺導(dǎo)引標(biāo)志物是一項(xiàng)很復(fù)雜的任務(wù)。Wirtz等[5]提出的視覺接駁系統(tǒng),需要足夠的外部光源照亮待檢測目標(biāo),由于水下環(huán)境中光的后向散射與非均勻光照,成功檢測目標(biāo)具有很大難度。Maire等[6]提出的新型標(biāo)記極點(diǎn)檢測算法,在室外泳池完成4 m距離內(nèi)的基于視覺的接駁實(shí)驗(yàn),但是該方法只能在能見度高的水域進(jìn)行,適用范圍較小,對環(huán)境要求較高。針對水下目標(biāo)選擇問題,Ghosh等[7]驗(yàn)證了導(dǎo)引燈陣作為被檢測目標(biāo),更加適合復(fù)雜的水下環(huán)境。鑒于此,文中提出一種基于視覺導(dǎo)引燈陣定位方法。并通過水池UUV接駁實(shí)驗(yàn)驗(yàn)證了其合理性和有效性。
UUV的叉柱式接駁裝置可以用來實(shí)現(xiàn)UUV的自主接駁,如圖1所示。
圖1 叉柱式接駁系統(tǒng)Fig.1 Ford-carrying-pole docking system
導(dǎo)引燈陣的設(shè)計(jì)對單目視覺跟蹤系統(tǒng)有很大的影響。設(shè)計(jì)導(dǎo)引光源系統(tǒng)時(shí),主要需要考慮到光源強(qiáng)度、光源間距、指向性定位要求和定位范圍等條件,設(shè)計(jì)如圖 2 所示的線性目標(biāo)光源系統(tǒng)。
圖2 線性目標(biāo)導(dǎo)引光源Fig.2 Linear target guided light source
采用 3個(gè)大小、種類和形狀都一致的光源,取中間的光源為參考光源,光源直線排列,相鄰光源間距 0.35 m。光源設(shè)備為美國CREE公司的XML-Q5系列光源,加裝防水罩后,線性排列在母船頂部的接駁裝置底部。
實(shí)驗(yàn)用于采集圖像序列的單目視覺跟蹤系統(tǒng)是由以下硬件組成:單目低照度黑白攝像機(jī)Tornado、DH-VT111圖像采集卡、24 V穩(wěn)壓電源和Windows系統(tǒng)的圖像存儲(chǔ)設(shè)備如圖 3所示。其中,圖像采集卡是單目黑白攝像機(jī)和圖像存儲(chǔ)設(shè)備的橋梁,用來將攝像機(jī)采集到的圖像傳送到圖像存儲(chǔ)設(shè)備中,單目黑白攝像機(jī)靠24 V穩(wěn)壓電源來供電。攝像機(jī)的安裝如圖4所示。
圖3 圖像存儲(chǔ)系統(tǒng)Fig.3 Image storage system
圖4 攝像機(jī)的安裝Fig.4 Installation of camera
線性目標(biāo)光源陣列見圖 2,系統(tǒng)由 3個(gè) XMLQ5系列光源經(jīng)防水處理后組成,并被固定在一條直線上。線性目標(biāo)光源陣列及手工添加的偽光源和尼龍繩共同構(gòu)成光源系統(tǒng)如圖5所示;實(shí)驗(yàn)環(huán)境是一個(gè)長10 m,寬5 m,深5 m的水池,如圖6所示。
2.1.1 方法介紹
圖5 手動(dòng)添加的偽光源Fig.5 Pseudo light source added manually
圖6 5 m深水池Fig.6 Water pool of 5 meters in depth
在 UUV近距離接駁階段,基于單目系統(tǒng)的UUV視覺目標(biāo)跟蹤由位于UUV腹部正中心的攝像機(jī)采取原始圖像。而原始圖像常常受到噪聲的影響,使目標(biāo)跟蹤產(chǎn)生誤差。因此,需要對原始圖像進(jìn)行預(yù)處理,并根據(jù)實(shí)際情況提取出其突出特征,以提高視覺目標(biāo)跟蹤的穩(wěn)定性和精度。最后,結(jié)合數(shù)學(xué)形態(tài)學(xué)對目標(biāo)光源區(qū)域的輪廓進(jìn)行修正。引入數(shù)學(xué)形態(tài)學(xué)處理目標(biāo)光源可以有效去除造成誤差的小塊干擾區(qū)域,為目標(biāo)光源特征值的提取提供條件[8]。
2.1.2 改進(jìn)大津法
在水下接駁 UUV過程中,單目攝像機(jī)獲取的圖像中,線性目標(biāo)光源區(qū)域就整幅圖像而言相對較小,考慮到目標(biāo)光源區(qū)域與背景的對比度反差較大,采用閾值分割的方法將會(huì)很有效果。但是,在應(yīng)用傳統(tǒng)的大津法[9]進(jìn)行閾值分割時(shí),由于水下光的散射,水下光源圖像附近部分背景區(qū)域容易被錯(cuò)判為光源目標(biāo),而且常常伴隨著較大的干擾,極容易造成分割失敗。經(jīng)過對水下線性目標(biāo)光源直方圖分析,發(fā)現(xiàn)目標(biāo)光源區(qū)域的灰度值在不同光照條件和成像距離下總是最大的,如果能選擇足夠精確的分割區(qū)間,再通過大津法就能得到合適的閾值。
基于此,提出對現(xiàn)有大津法的改進(jìn)方法如下:
1)統(tǒng)計(jì)原始圖像I0灰度值,得到其灰度值直方圖;
2)求出灰度直方圖中的所有極大值點(diǎn),記除最高亮度外,擁有最高灰度值T0的極大值點(diǎn);
3)取圖像I0中大于灰度值T0的所有灰度值存入數(shù)組A;
4)用傳統(tǒng)大津法獲得數(shù)組 A中的最佳分割閾值T1,并對原圖I0進(jìn)行閾值分割,即可獲取分割后的圖像。
2.1.3 改進(jìn)大津法光源目標(biāo)提取實(shí)驗(yàn)
取單目攝像機(jī)采集到的單幅圖像(見圖 7),將其命名為I2,利用傳統(tǒng)大津法對I2進(jìn)行處理(見圖8)。可知,在單幅圖像中目標(biāo)光源所在區(qū)域灰度值較高且所占比例較小,用傳統(tǒng)大津法并不能有效地分離出目標(biāo)光源區(qū)域的特征。
圖7 原始圖像Fig.7 Original image
圖8 傳統(tǒng)大津法處理后的圖像Fig.8 Image processed by traditional Otsu method
采用文中提到的改進(jìn)后的大津法對單幅圖像I2進(jìn)行處理,得到的效果圖見圖9,可見改進(jìn)后的大津法可使線性目標(biāo)光源所對應(yīng)灰度值的像素個(gè)數(shù)在全幅圖像的比例得到提高,進(jìn)而降低了對目標(biāo)光源特征提取過程中存在的誤差,達(dá)到較好的閾值分割效果。
圖9 改進(jìn)大津法處理后的圖像Fig.9 Image processed by improved Otsu method
2.2.1 方法介紹
在近距離視覺導(dǎo)引階段,常常需要 UUV克服水下各種干擾,實(shí)現(xiàn)對回收平臺(tái)的跟蹤。文中對目標(biāo)導(dǎo)引燈陣的跟蹤主要是利用改進(jìn)的核相關(guān)濾波(kernel correlation filters,KCF)算法[10],該算法是在 KCF跟蹤算法基礎(chǔ)上加入對目標(biāo)尺度變化的跟蹤[11]。在 UUV水下接駁視覺導(dǎo)引燈陣的定位過程中,采用該改進(jìn)算法常常會(huì)由于偽光源的出現(xiàn)而導(dǎo)致跟蹤失敗。因此文中利用二進(jìn)制大對象(binary large objects,BLOB)分析描述特征結(jié)合改進(jìn)多尺度KCF跟蹤算法。實(shí)驗(yàn)中,文中所提出的改進(jìn)方法能夠較好地跟蹤帶有偽光源的目標(biāo)光源。
2.2.2 算法原理
1)加入尺度變化的KCF跟蹤方法
KCF算法的核心是通過對基礎(chǔ)樣本循環(huán)采樣,獲得樣本矩陣,通過離散傅里葉變化對角化,利用方向梯度直方圖(histogram of oriented gradient,HOG)多通道特征訓(xùn)練樣本獲得的分類器做到快速檢測。加入尺度變化的KCF算法[11],通過選擇一系列的尺度因子,獲得尺度的金字塔,之后利用雙線性插值法獲取一個(gè)固定的尺寸,并依據(jù)KCF檢測,獲取響應(yīng)最大的尺度,作為新目標(biāo)的位置和目標(biāo)框大小。
2)結(jié)合 BLOB特征分析的改進(jìn)多尺度 KCF跟蹤方法
在 UUV水下回收階段視覺跟蹤過程中,往往由于水底的白色區(qū)域或者接駁站的反光,抑或水中的發(fā)光體、懸浮物反光等偽光源的出現(xiàn)導(dǎo)致跟蹤失敗,這是由于偽光源與真實(shí)導(dǎo)引燈陣光源有極大的相似性,而KCF具有跟蹤速度快、有一定的抗遮擋和一定的背景光變換適應(yīng)能力,在水下目標(biāo)跟蹤中具備良好的性能。基于此,文中利用BLOB特征對偽光源進(jìn)行特征描述,結(jié)合帶尺度變化的KCF算法。通過分析真?zhèn)喂庠吹奶攸c(diǎn)可得出偽光源與真光源在緊度、不等軸度、圓度、粗糙度、距離標(biāo)準(zhǔn)差、實(shí)心度及凸度7個(gè)BLOB算子描述向量中的不同估計(jì),由此可在 KCF中利用BLOB特征對偽光源進(jìn)行特征描述,并加以分類。
2.2.3 目標(biāo)導(dǎo)引燈陣跟蹤實(shí)驗(yàn)
實(shí)驗(yàn)使用的測試樣本是在實(shí)驗(yàn)室中錄制的約300幀添加偽光源后的目標(biāo)光源移位的圖像序列。實(shí)驗(yàn)環(huán)境如下:Windows 10 64位操作系統(tǒng)、64位MATLAB 2018a、英特爾i7 4720HQ處理器及8 GB內(nèi)存。錄制的圖像序列中每張圖像的分辨率為640×480。
為了單獨(dú)測試跟蹤算法的性能,通過手工標(biāo)注第1幀圖像中的目標(biāo)跟蹤區(qū)域,用如圖10矩形框住的區(qū)域,矩形中還有少量的背景區(qū)域作為樣本,可以提高分類器的抗干擾能力。對基準(zhǔn)圖像(框中標(biāo)注的圖像區(qū)域)進(jìn)行循環(huán)移位可以構(gòu)造大量的訓(xùn)練分類器的樣本圖像。實(shí)驗(yàn)跟蹤的過程中提取任意的3幀圖像,如圖11所示。
圖10 手動(dòng)標(biāo)注出的第一幀圖像Fig.10 The first frame image manually marked
圖11 加入偽光源后任意提取的3幀圖像Fig.11 Arbitrary three frame images extracted after adding pseudo light source
文中選擇較為主流的評價(jià)標(biāo)準(zhǔn)Benchmark[12]來評價(jià)KCF跟蹤方法對目標(biāo)光源的跟蹤性能,其判別的過程主要利用2.1節(jié)提出的目標(biāo)提取算法提取目標(biāo)光源區(qū)域,之后,對提出的改進(jìn)跟蹤方法進(jìn)行實(shí)驗(yàn)。對于KCF跟蹤方法,文中利用的是其中的精確度曲線指標(biāo)。
結(jié)合上述3幀圖像及對圖片序列仿真的過程可以看出,在添加偽光源后,KCF跟蹤方法對線性目標(biāo)光源區(qū)域跟蹤效果仍然表現(xiàn)良好,得到的基于Benchmark的精確度曲線[12]如圖12所示。
圖12 加入偽光源后基于Benchmark的精確度曲線Fig.12 Precision curve based on Benchmark after adding pseudo light source
結(jié)合該精確度曲線[12],由實(shí)驗(yàn)計(jì)算出 KCF跟蹤方法跟蹤線性目標(biāo)光源區(qū)域時(shí)的精確度為0.970,每秒傳輸幀數(shù)(frames per second,FPS)為48.67。在UUV跟蹤實(shí)驗(yàn)中,精確度較高,在實(shí)時(shí)性上,視覺跟蹤的FPS為48.67,遠(yuǎn)大于UUV控制系統(tǒng)的每秒2拍的采樣速度,符合實(shí)驗(yàn)要求。
按照規(guī)劃,在UUV視覺導(dǎo)引定位階段,UUV已經(jīng)開始了近距離的視覺導(dǎo)引定位,此時(shí),UUV在接駁站的上方,實(shí)驗(yàn)條件下只需考慮橫向、縱向、垂向以及艏向4個(gè)自由度。橫傾角和縱傾角的變化不作考慮。水池實(shí)驗(yàn)條件下,經(jīng)傳感器測定縱傾角的最大值為 5°,橫傾角的最大值更小,對實(shí)驗(yàn)的影響不大,因此只需研究四自由度定位方法。
當(dāng)導(dǎo)引目標(biāo)是線性目標(biāo)光源陣列時(shí),利用單目視覺技術(shù)可以在不同條件下對其進(jìn)行位置測量。由于線性目標(biāo)光源陣列各光源間的距離已知,相當(dāng)于確定了其具體尺寸,利用單臺(tái)攝像機(jī)即可獲得它的三維坐標(biāo)。根據(jù)攝像機(jī)獲取的單幅圖像,可以對目標(biāo)光源陣列進(jìn)行四自由度定位。定位過程中,參考光源和 2個(gè)普通光源都應(yīng)該進(jìn)入攝像機(jī)的拍攝范圍內(nèi)。
在滿足包括參考光源在內(nèi)至少有3個(gè)光源進(jìn)入攝像機(jī)范圍內(nèi)的條件下,設(shè)距離最遠(yuǎn)的 2個(gè)光源分別為L1和Ln,則向量LnL1和艏向方向相同,可以通過兩光源與其在單幅圖像上對應(yīng)的兩點(diǎn)所組成的向量LnL1和物理圖像坐標(biāo)系X1的夾角來確定。將艏向角記為正方向?yàn)轫槙r(shí)針。兩點(diǎn)的坐標(biāo)分別記為(x1,y1),則可以由式(1)來估計(jì)相對艏向角[13]
為了衡量實(shí)驗(yàn)的定位精度,使用技術(shù)較為成熟的超短基線(ultra short baseline,USBL)[14]定位系統(tǒng)測得的方位和距離值作對比,以人工標(biāo)定的水平位置(UUV 船艏指向方向)和縱向位置(垂直于 UUV船艏指向方向)作為基準(zhǔn),分別以視覺測量數(shù)據(jù)和 USBL測量數(shù)據(jù)與基準(zhǔn)的差值作為偏差。由于聲音在水池中的反射與疊加,在水池實(shí)驗(yàn)中USBL常常會(huì)出現(xiàn)無示數(shù)或示數(shù)產(chǎn)生巨大跳變的情況,因此,實(shí)驗(yàn)進(jìn)行了多次測量,選取USBL數(shù)據(jù)和視覺數(shù)據(jù)同時(shí)有效的部分進(jìn)行分析,數(shù)據(jù)分析如圖13所示。
圖13 視覺-超短基線定位偏差對比Fig.13 Comparison of positioning deviations between vision and ultra-short baseline(USBL)
根據(jù)實(shí)驗(yàn)和數(shù)據(jù)分析可知:如圖13(a)和圖13(b)可知,視覺和 USBL的變化趨勢是相同的,將這2張中2組數(shù)據(jù)繪制出如圖13(c)的水平定位偏差圖,分析數(shù)據(jù)發(fā)現(xiàn),視覺導(dǎo)引和 USBL結(jié)果存在偏差,近似為一個(gè)0.4 m的定值。經(jīng)分析,導(dǎo)致偏差的原因與單目攝像機(jī)的機(jī)械安裝誤差有關(guān),可通過加入一個(gè)常數(shù)項(xiàng)進(jìn)行誤差補(bǔ)償,將誤差控制在 0.1 m以內(nèi)。同時(shí),實(shí)驗(yàn)論證了該視覺導(dǎo)引燈陣定位方法在近距離定位時(shí),獲取位置信息的質(zhì)量相對于USBL具有更高的穩(wěn)定性。
文中針對 UUV自動(dòng)接駁中的視覺導(dǎo)引定位問題做出了研究,給出了一個(gè)簡易可行的導(dǎo)引機(jī)械結(jié)構(gòu)方案,提出了有效、穩(wěn)定的UUV視覺導(dǎo)引燈陣定位方法,并對于所提出的方法進(jìn)行了水池接駁實(shí)驗(yàn)驗(yàn)證。文中方法雖然在普適性上不占優(yōu)勢,但是針對水下導(dǎo)引燈陣的定位問題有著較高的實(shí)用性。
今后可對以下方面進(jìn)行研究和改進(jìn)。
1)選擇質(zhì)量更好的導(dǎo)引燈陣。水下環(huán)境光源散射現(xiàn)象嚴(yán)重,若選取更好的燈陣方案,可以增加燈陣識(shí)別距離和提高識(shí)別效果。
2)進(jìn)行多場景的實(shí)驗(yàn)驗(yàn)證。文中只進(jìn)行了水池接駁實(shí)驗(yàn),然而,對UUV的自動(dòng)接駁研究是為了日后運(yùn)用到更加復(fù)雜的場景下,因此需要多場景下的實(shí)驗(yàn)驗(yàn)證。
3)對遮擋問題進(jìn)行研究??紤]到 KCF算法本身有一定的抗遮擋能力,文中對于有遮擋條件下的導(dǎo)引燈陣跟蹤問題沒有做深入的探討。
但是對于 UUV自動(dòng)接駁來說,導(dǎo)引燈陣被遮擋引起的接駁失敗也時(shí)常發(fā)生,因此,解決遮擋問題十分重要。