楊 波 汪 偉 劉燁瑤 李欣國 梁 濤郭衛振 廖佳偉 潘 鋒
①(中國科學院聲學研究所 北京 100190)
②(北京海洋聲學裝備工程技術研究中心 北京 100190)
③(中國科學院大學 北京 100049)
④(中國科學院信息工程研究所 北京 100093)
單波束前視掃描聲吶廣泛應用于水下機器人、載人潛水器等運動平臺。由于其機械掃描的工作特性產生了以下兩個問題:為了獲取較快的成像速度,機掃聲吶角度步進較大,導致分辨率較低;水下載體快速航行引起聲學中心的位置變化,影響成像效果。這些影響將會增加后續避障[1]、目標檢測[2]、特征提取[3]、目標識別[4]、跟蹤[5–7]等功能的難度。
針對第一個問題,許多研究者引入了插值的方法獲得高分辨率圖像。最鄰近插值法[8]用距離待插值點最近的整數坐標點像素值替代該點,算法簡單、速度快,但圖像會出現方塊效應和鋸齒效應。雙線性插值法[9]將待插值點的灰度用與該點周圍4個點的灰度值線性擬合而成,比最鄰近插值平滑、運算速度較快,但平滑操作損失了圖像中許多重要的高頻信息。Keys[10]提出了用待插值點周圍16個相鄰點的灰度值加權平均來計算插值,相比雙線性插值提高了插值精度,但不能很好地保持圖像的細節部分。Trucco等人[11]將線性插值引入前掃聲吶成像中,在極坐標中根據不同距離進行分段波束插值。Zhang等人[12]在Trucco的基礎上進行改進,在波束域做拉格朗日2次插值,提高了圖像質量。前面介紹的聲吶圖像都是基于前向映射,將極坐標系點映射到直角坐標系中得到的是非整數點,經四舍五入后導致極坐標系中點與直角坐標系中點形成多對一映射。寇賢聰[7]在前視聲吶成像中引入了后向映射,解決了上述問題,圖像更加平滑。Wang等人[13]在采用后向映射的同時,分別在波束域以及每個波束內進行了8點2次插值,解決了采樣點稀疏的問題。本文在研究前人方法的基礎上,采用后向映射方法映射出需要繪制的像素點在極坐標系的坐標,在極坐標系作雙線性插值得到準確位置像素點的值,然后重構圖像。
對于運動平臺的前視掃描聲吶成像,載體在水下航行時圖像將會產生徑向誤差。載體運動對前視掃描聲吶成像的影響,前人分析的多是載體的姿態變化對前視掃描聲吶成像的影響。梁艷[14]介紹了利用DVL(聲多普勒計程儀)測得的速度和姿態對前視掃描聲吶圖像中目標物的位置進行校正,補償了由于載體運動造成的圖像失真。但梁艷直接將前視掃描聲吶測得目標數據當作目標在水平面中與聲吶的距離,然后在水平面中對目標位置進行校正,忽略了聲吶測得的目標距離是在空間中斜距。前視掃描聲吶成像顯示并不是目標在水平面中的距離,而是根據目標與聲吶陣的距離映射到水平面中。本文通過建立載體運動模型,分析載體運動時目標成像的徑向誤差,推導出圖像域運動補償量,并用泰勒公式對補償量進行化簡。隨后用簡化的補償量處理前視聲吶回波數據,并與未經運動補償的圖像進行比較,經過運動補償的圖像能準確表示目標整體信息,驗證了圖像域近似運動補償的有效性。
單波束前視掃描聲吶每次定時發射一個具有一定脈寬的信號,在某個固定方向形成一個探測波束。接收回波就能獲得該方向上物體信息。對回波信號進行采樣并與本地信號進行相關,相關結果代表了該方向不同距離回波強度。在發射回波后經過一段固定時間,按固定角度步進自動轉動聲吶陣,進入第2個方向掃描。經過多次轉動就可獲得一個扇區的回波信息。
基于單波束前視掃描聲吶工作特點,為提高成像速度需增大角度步進,從而導致波束間隔變大,生成的圖像間隙較大,容易產生馬賽克現象。成像前需要對波束數據作插值處理,再將極坐標數據轉換成笛卡兒坐標數據。轉換后的坐標需要進行四舍五入取整,導致近距離的像素點會被多次計算,產生像素模糊,遠距離的像素點反而會缺失灰度值。坐標點經四舍五入后位置與真實位置會產生偏差?;谏鲜鲆蛩乜紤]本文采用后向映射成像方法[9],即在笛卡兒坐標系下對像素進行處理。將需要重繪的像素坐標映射至極坐標系,在極坐標系下查找以及插值。
具體實現時根據單波束前視掃描聲吶機械掃描面的工作特點,每接收到1ping數據,只更新當前ping區域的圖像灰度值。這樣不僅加快了成像速度,也減少了計算量。首先要確定需要在笛卡爾坐標系下重繪的區域,如圖1中兩根紅線之間的小扇形區域,可以根據前1ping和當前ping的角度來確定。
先計算出小扇形區域的兩條邊界線,即


圖1 坐標轉換
其中, H是前視掃描聲吶輸出的轉動方向,i 表示ping計數。然后在笛卡兒坐標系下矩形區域,逐行搜索需要映射的像素點。其中矩形區的像素為512×256。小扇形區的每一行的起始像素點可由l1計算出,終止像素點由l2計算出。第m 行的起始像素點為 (256 ?m)/(tan(H(i)/180×π)),終止像素點 為 (256 ?m)/(tan(H(i ?1)/180×π))。實 際搜索的區域由小扇形區近似成三角區。然后在極坐標系中對徑向距離超過250的點直接賦值0,從而刪除超出小扇形區的點。后向映射的坐標轉換公式為


其中, m, n 分別是像素點的行和列,α , r 分別是極坐標系下方向角和徑向距離。由于接收的波束數據是以方向角為行、徑向距離為列的矩陣進行存儲,后向映射點的坐標 α需要轉換成矩陣的行。具體轉換公式為

其中,前視掃描聲吶的波束數據的方向角范圍為±67.2?, 波束角度步進為2.4°, θ, r分別是存儲矩陣的行和列。
本文采用的雙線性插值在波束方向和徑向都做線性插值。具體作法如圖2所示。

圖2 雙線性插值
根據后向映射求得 M點坐標,經過向下、向上取整找到相鄰的 P1, P2, Q1和Q24 點。P1和P2作線性插值得到 P12, Q1和Q2作線性插值得到Q12,之后P12和Q12作線性插值得到M 。
載體運動會使得聲學中心與目標點的相對位置發生變化,同一目標點在不同ping的掃描角度也會產生差異。由于前視掃描聲吶的工作特性是每更新1ping數據,刷新一次圖像。這樣更新一個完整的扇形圖像,從第1ping到最后1ping需要一個較長的時間。更新時間計算公式為

其中, θ是機掃的半個扇區的角度,? θ是機掃角度步進量, ?t表示機掃步進一次時長?!吧詈S率刻枴陛d人潛水器在水下最大航速1.25 m/s,扇區范圍± 67.2?,角度步進2.4°,角度步進時長0.14 s,機掃整個扇區,潛水器會前進9.8 m。聲吶實際工作距離50 m,對于一個扇形區內,第1ping和最后1ping成圖在運動方向誤差將近似達到作用距離的19.6%。這將直接影響后續圖像處理以及操作人員判斷。針對上述問題本文提出圖像域運動補償,即在每次成圖前,考慮航行器的運動對成像影響。由于前視掃描聲吶成像顯示的并不是直接在水平面的投影,Hurtos等人[15]分析了前視聲吶的成像投影模型。由于前視聲吶成像與前視雷達成像有許多相似之處,本文在Hurtos的成像投影模型的基礎上同時參考了張寅的運動平臺前視雷達成像[16],在此基礎上進行成像的徑向誤差分析。載體運動幾何示意圖如圖3所示。

圖3 前視聲吶掃描成像幾何示意圖
載體在距底高度 Ht的 位置以速度vt沿箭頭方向運動,前視聲吶發射陣按速度 ω進行掃描。獲得1ping載體與目標的距離后,將距離信息呈現在扇形圖中。由于載體運動,在繪制當前ping數據時,上1ping的目標在當前圖像中位置已發生變化。為了實時準確顯示前視圖像,需要知道目標在前視成像中不同ping的距離關系,并在當前ping成像時進行糾正。我們以前視成像區域中單個點目標為例,分析不同時刻載體與目標的距離如圖4所示。
載體初始時刻 t0,與目標S (x,y)的 距離R0,發射陣的角度為θ 。在t 時刻,載體與目標的斜距可表示為

圖4 不同時刻載體與目標的距離

徑向誤差表現在圖像域,則體現在目標在載體運動方向的移動,如圖5所示。

圖5 目標在圖像域徑向誤差

當 t 與t0的間隔為一個掃描步進時間間隔時,式(10)左邊可以理解為? d,即為一次掃描步進需要補償的量。當θ=0, φ =30, R0=20時,由式(10)可計算出 d =0.1514 m。前視聲吶的頻率f 為675 kHz,對應的波長λ 為0.0022 m。由此可見誤差d 遠大于波長,誤差的補償具有明顯意義??梢詫κ?10)右邊第2項進行泰勒展開,忽略2次項及高階項得到:

當θ=0, φ =30, R0=20時,由式(11)可計算出?d為0.1516,偏差僅為0.13%,能夠滿足補償要求。式(11)可以理解為成像時顯示的是一個與水平面夾角為 φ的平面,其中φ =arcsin(H0/R0), H0為t0時刻對底高度。水平面的移動需要對應拉伸到該平面內。每次成像在計算小扇區像素前,先將上次圖像往聲吶運動方向搬移 ?d。加上運動補償后再計算小扇區的像素,然后更新整幅圖像。這樣就能實時修正由載體運動帶來的運動方向上誤差。此處的? d 理論上需要根據目標的每個像素點對應的φ 計算得到,實際工作時可以根據聲吶作用范圍對? d 做近似處理,目標點取相同的? d 。
對一組實際采集的前視聲吶數據分別進行前向映射不做插值、前向映射做2次插值、后向映射2次插值、后向映射雙線性插值。具體的結果如圖6所示。

圖6 4種插值成像
從圖6(a)可以看出前向映射不做插值的圖像中,各波束數據在遠端有明顯的間隙,經過2次兩點插八點后圖像間隙消除了,如圖6(b)所示,但在遠端形成了明顯的蝶形圖案。改為后向映射2次插值兩點插四點后,可消除蝶形圖案,但還存鋸齒效應,如圖6(c)所示。改為后向映射雙線性插值后,可改善鋸齒效應的影響,如圖6(d)所示。
為了驗證本文對前視聲吶運動成像的補償效果,選擇一個長40 m的長條目標作為前視聲吶成像的仿真目標。前視聲吶設備距底高度10 m,目標位于前視聲吶前方水平距離為20 m。分別對前視聲吶靜止、以1.25 m/s前進兩種狀態進行仿真。具體的仿真結果如下。

圖7 聲吶靜止、前進、直接補償、本文補償對比
從圖7(b)可以看出,前視聲吶在前進時左側的目標圖像由于未及時更新而產生6.2 m的距離誤差,約為工作距離的12.4%。圖7(c)是直接利用聲吶前進速度補償未及時更新的目標的位置,左側的目標與前視聲吶的縱向距離偏差在減小,但補償的量偏大,導致左側目標與前視聲吶的縱向距離更近,左側目標圖像距離誤差達到約1.4 m,約為工作距離的2.8%。圖7(d)采用的是本文的算法對目標進行補償,可以看出左右兩側的目標與前視聲吶的縱向距離基本一致,左右兩端的偏差小于0.2 m,約為工作距離的0.4%。從上述仿真結果來看本文的算法能夠補償前視聲吶前進造成的圖像偏差,并且比直接補償法效果更好。
實驗采用是在南海1000 m深度區域的前視數據。前視聲吶的具體工作參數如表1所示。
前視聲吶具體的圖像后置處理流程如圖8所示。
先用更新的單ping數據作后向映射、雙線性插值得到小扇形區的圖像。其余區域的圖像通過之前生成的圖像先根據艏向角變化進行旋轉調整,然后進行圖像域運動補償來更新。圖像域運動補償采用第4部分推出的式(11),其中 vt通過傳感器實時獲取, t是單波束前視掃描聲吶的聲吶陣轉動的步進時間間隔,可以通過設備參數獲取, φ是通過傳感器實時獲取對底高度,并通過公式φ=arcsin(H/R)來獲得,其中 H為對底高度,R 為聲源與目標點的距離。利用得到 ?d對上一次整個圖像整體往聲吶運動方向作搬移。然后再用圖8中更新的小扇形區的數據替換補償后圖像的相應位置數據。然后輸出的就是經過實時運動補償的前視圖像。數據用的是海試實驗對海底觀測的數據。
圖9、圖10和圖11分別是潛水器連續航行時聲吶陣按逆時針轉動至33.6°, 0°和–33.6°時的前視成像。每一個位置都顯示了不補償、直接補償和本文補償3種成像結果,具體的偏差數值如表2所示。
從表2可以看出本文算法和直接補償算法都能夠補償前視聲吶前進造成的圖像偏差,本文算法比直接補償法效果更好。

表1 前視聲吶工作參數

圖8 前視圖像后置處理流程

圖9 逆時針轉動至33.6°時成像

圖10 逆時針轉動至0°時成像

圖11 逆時針轉動至-33.6°時成像

表2 前視聲吶成像偏差
本文分析了運動平臺前視掃描聲吶成像的各種插值方法的優缺點,在此基礎上提出了一種基于后向映射、雙線性插值和運動補償相結合的成像方法。通過分析載體運動,推導出圖像域徑向誤差和運動補償量,并用泰勒公式展開進行簡化。經過仿真和海試數據驗證,經過運動補償后的圖像,糾正了不同ping之間的徑向誤差,能準確地表達目標信息。