姜 科,王忠康
(杭州應用聲學研究所,浙江 杭州 310018)
近年來船舶行業不斷發展、海上船舶數量不斷增加,船舶的自動化程度越來越高、航行條件也相對改善,但是在水面能見度低、漁船船型小不易被發現等情況下仍然容易發生碰撞事故。成像聲納系統通常以前視模式用于檢測和躲避海面和海底的障礙物。然而,很多的避障聲納系統僅對航行前方的環境進行成像,并不對障礙物進行檢測、識別。因此,通過成像聲納圖像自動檢測與跟蹤海面障礙物對潛艇、AUV的安全浮出水面,港口監測等具有重要意義[1]。對進港船只進行觀測時,在水面可見度低的情況下,光學觀測并不適用,因此需要聲學探測,并對潛在的危險進行預警,尤其是小型快速移動目標的檢測和定位問題,傳統的成像聲納更加關注的是水下目標的探測,少有針對水面移動目標進行自動檢測定位,因此本文使用成像聲納對水面運動目標檢測方法進行研究。
當前僅有少量公開文獻針對港口監測的水面目標檢測方法,而且這些方法主要應用于被動聲納的目標檢測[2-3]。在對主動聲納系統探測上,有研究人員對氣泡動力學和后向散射進行研究,并對艦船尾跡結構進行試驗和分析,實現水面艦船的檢測[4-5]。也有研究人員使用主動聲納的圖像來實現自動船只的檢測[6-7],這些方法主要適用于港口監測的靜態配置,且只適用于單目標的檢測。
文獻[8]提出了一種針對水中線狀目標的檢測方法,可應用于多目標的檢測,并與背景消減法、幀間差分法[9]、高斯建模法進行了實驗對比,實驗表明文獻所提算法較傳統方法,檢測性能更優。但是該方法算法復雜程度較高,不利于目標檢測的實時性實現。文獻[10]把M序列調制信號作為成像聲納的發射信號,通過測量回波信號的多普勒信息,實現水下多個目標的快速檢測與定位,該方法能有效地檢測到多個運動目標,包括魚群、干擾等,但是并未考慮水面運動目標的情形。文獻[1]根據水面船只產生的尾流離船只越遠其尾跡越大這一特點來確定船只所在位置,從而實現水面船只目標的檢測與位置確定,但是不同的成像聲納尾跡檢測能力不同,得到的聲納圖像不一定具有上述特征,進而導致該算法失效。
本文在文獻[10]中水面目標快速提取方法基礎上考慮尾跡影響,兼顧文獻[1]中尾跡形狀特征不具有共性,使得位置估計值遠遠偏離真實位置的問題,提出了基于成像聲納的水面小型移動目標檢測方法。
M序列模糊度圖類似于圖釘狀,具有良好的抗混響能力和時頻分辨率,本文將M序列調制信號作為成像聲納的發射信號,并采用脈沖對法[11]實現目標相對于成像聲納的徑向速度估計;通過估計得到的徑向速度信息初步判斷被檢測目標的運動狀態。
水面目標在快速移動的過程中,回波信號中帶有多普勒頻移信息,通過估計回波信號的頻率來判斷被檢測目標是否為運動目標。另外由于螺旋槳高速的旋轉,導致船只尾部產生大量的氣泡,船只在移動的過程中會產生較長的尾跡如圖1中方框標記部分所示,從圖中可以看出,目標左側能量強度高,右側強度低(尾跡),因此我們可以利用上述尾跡特征,減小尾跡產生的定位誤差。
通過觀察圖1分析可得水面小船行駛過后,水面會產生明顯的尾跡。通過能量檢測目標,尾跡對應的像素點也會被檢測為目標的一部分,進而導致估計目標位置出現嚴重的偏差。由于尾跡產生的回波強度相比于運動目標回波強度較弱,且包含尾跡的目標像素點集在平面中的跨度較大,根據上述兩個特征對此類運動目標進行單獨處理,通過剔除部分尾跡像素點以減小定位誤差。

圖1 水面運動目標產生的尾跡Fig.1 The wake of a moving target on the water surface
定義目標像素點集合的跨度信息如圖2所示。假設圖中每一個方框表示一個像素點,其中黑色填充和灰色填充的像素點為一個目標的像素點集,記為{(xi,yi)|i∈1,2,…,M},其中像素點A為目標最左側的像素點,即min(xi),i∈1,2,…,M;B為y值最小的像素點,即min(yi),i∈1,2,…,M;C點即是x值最大(max(xi),i∈1,2,…,M),也是y值最大的像素點(max(yi),i∈1,2,…,M),于是得到:

圖2 目標跨度定義Fig.2 Define of the target span
x方向上的跨度L1=max(xi)-min(xi),i∈1,2,…,M;
y方向上的跨度L2=max(yi)-min(yi),i∈1,2,…,M。
脈沖對法對速度估計的基本思路是對信號做自相關處理,通過估計信號的相位信息,進而得到信號的頻率,最后計算出多普勒速度。下面對脈沖對方法進行簡要介紹。
假設目標回波信號經過基帶解調和低通濾波之后得到z(n),該信號由一個多普勒頻移信號和加性復高斯白噪聲序列{θ1(n)+jθ2(n)}組成,即:
z(n)={A(n)+jB(n)}ej2πf0n+{θ1(n)+jθ2(n)}
(1)
式(1)中,f0是信號的頻率,n表示采樣點的索引值,{A(n)+jB(n)}表示信號的幅度,此處假設采樣頻率為1 Hz。A(n)、B(n)、θ1(n)和θ2(n)都是均值為零、相互獨立、不相關的高斯序列,且噪聲序列的方差為σ2。PP法,通過滯后m個樣本對N個樣本數據分段,對頻率估計的計算方法如式(2)所示:
(2)
式(2)中,Sm是復觀測數據z(n)延遲m個采樣點后的自相關函數。

(3)
令w(n)=1通過多普勒頻率和速度之間的關系:
fd=2vfc/(c-v)
(4)

(5)
雷達信號處理中二維恒虛警檢測通常為距離和多普勒維,但是在本研究中,二維恒虛警為距離和方位維。如圖3所示,本文使用十字形窗進行恒虛警檢測,在兩個方向分別做一次一維恒虛警檢測,然后把兩次恒虛警檢測的結果做邏輯與操作,即只有當兩個方向上都被檢測到的單元才能被判定為目標像素。其中距離維上使用OS-CFAR檢測,在方位維做CA-CFAR檢測。

圖3 十字型參考窗示意圖Fig.3 Cross reference window
本文將成像聲納圖像做恒虛警檢測,獲取圖像中可能是目標的像素點,通過聚類分析[12]將檢測到的目標像素點進行聚類,把每一個聚類當做是一個目標,在此基礎上融合目標回波的多普勒信息,以及每一個聚類中像素點的擴跨度信息,提取出水面快速移動的目標。水面運動目標具體檢測步驟如下:
步驟1 用常規波束形成算法對陣元接收到的信號分段作頻域波束形成,然后再恢復到時域波束。
步驟2 使用上述二維恒虛警檢測算法,對波束形成能量求和后的數據做處理,檢測出可能是目標像素點,而且對成像視野中的目標個數并不確定,因此使用聚類分析法(本文采用dbscan算法)對檢測到的目標像素進行聚類的同時,也實現了目標個數的估計,每個聚類表示一個目標。
步驟3 根據步驟2檢測到含有目標像素點,然后找到步驟1中對應位置波束形成后的時域波束數據,使用脈沖對法對波束數據作速度估計,計算得到每個目標像素點對應的速度。
步驟4 設定一個速度閾值,若某一目標區域計算得到的速度值均值大于閾值,則認為該區域檢測到的目標為動目標。
步驟5 對每個聚類、檢測后的運動目標,分別計算其x方向上和y方向上的跨度L1和L2,當其中任意一維跨度超出設定的閾值,則判定該運動目標為水面移動目標。
步驟6 對于檢測的到水面運動目標,目標像素點按照能量強度進行從大到小排序,選取其中能量值排名前15%的像素點,若取得像素點的個數為N,每個像素點對應的坐標為(xj,yj),j=1,2,…,N。假設目標的等效坐標中心為(x0,y0),建立目標函數f(x0,y0),該函數的意義是計算(x0,y0)的坐標點到各個目標像素點對應坐標之間的距離之和,使得f(x0,y0)最小時,對應的坐標作為該目標的等效中心點。其數學表達式如下:
(6)
上述目標函數的計算可以使用標準粒子群優化算法來實現,此時獲取的目標的位置信息消除了部分尾跡的影響,減少了水面移動目標定位誤差。
步驟6中所述的標準粒子群優化算法,通過產生一群隨機的粒子,每個粒子包含位置信息和速度信息,通過迭代計算找到目標函數的最優解。在每一次的迭代中,粒子通過跟蹤兩個“極值”p和g來更新自己。在找到這兩個最優值后,粒子通過下面的公式來更新自己的速度和位置:
vi=vi+c1×rand()×(pi-zi)+
c2×rand()×(gi-zi)
(7)
zi=zi+vi
(8)
式(7)、式(8)中,i=1,2,…,M,M表示粒子個數;vi表示粒子的速度;rand()表示介于(0~1)之間的隨機數;zi表示粒子的當前位置;c1、c2表示學習因子;p和g分別表示粒子群的局部和全局最優位置;設定|vi|≤Vmax。
實際使用時,設置粒子坐標值為對應二維坐標值zi=(xi,yi),算法的具體步驟如下:
1)初始化一群微粒(群體規模為M),包括隨機位置和速度;
2)評價每個微粒的適應度;
3)對每個粒子,將其適應值與其經過的最優位置p作比較,如果較好,則將其作為當前的最優位置p;
4)對每個粒子,將其適應值與其經過的最優位置g作比較,如果較好,則將其作為當前的最優位置g;
5)根據式(7)、式(8)更新每個粒子速度和位置;
6)未達到終止條件則轉第2)步。
迭代終止條件根據具體問題一般選為最大迭代次數G或粒子群迄今為止搜索到的最優位置滿足預定最小適應閾值。
由于成像聲納的分辨率較低,每一幀圖像的像素點數目不多,對于單個目標的像素點總數也并不會很高,設置粒子群的粒子個數為25,因此使用標準的粒子群優化算法并不會消耗大量的計算資源,滿足實時性要求。
對2.1節所述步驟1至步驟4進行仿真驗證。假設聲納探測視野中同時存在運動目標和靜目標,某一時刻運動目標相對于基陣的徑向速為2 m/s,方位10°,距離80 m,靜止目標的方位20°,距離112 m。聲納接收基陣陣元數64,陣元間距6 mm,角度掃描范圍-60°~60°,預成波束數225個。在圖4(a)中可觀察到兩個目標,恒虛警檢測后提取出這兩個目標,如圖4(b)所示;另外觀察圖4(c)可以清晰地看到一個峰,該峰所在位置與圖4(b)中左下角的目標相對應,由此利用徑向速度信息可將動目標提取出來,檢測結果如圖4(d)所示。

圖4 聯合徑向速度動目標檢測仿真結果Fig.4 Simulation results of the moving target detection method combined radial velocity
試驗時將成像聲納固定安裝于靜止的實驗平臺,等效于港口監測環境。實驗現場,距離500 m范圍內,水面可見目標,示意圖如圖5所示。

圖5 實驗現場環境示意圖Fig.5 Schematic diagram of test site environment
使用成像聲納進行探測,波束開角120°范圍內成像的結果如圖6所示,圖中用方框標記部分為水面可見目標,與實際觀測相符合,其他亮點所對應的目標在水下,可能是暗礁也可能是魚。

圖6 單幀成像結果Fig.6 Single frame imaging
對任意一幀含有運動目標的數據執行步驟1至步驟4得到恒虛警檢測結果。含有目標區域的局部放大圖,如圖7(a)所示;速度估計平面包含運動目標區域的局部放大圖,如圖7(b)所示。觀察可得:恒虛警檢測結果中運動目標區域,用圓圈標記,對應于速度平面中的區域可以看到一個亮點,該亮點表示其速度值比周圍區域大很多,從而說明該速度大的區域對應左圖中的目標是動目標。

圖7 單幀恒虛警檢測結果和速度平面Fig.7 One frame detected result by CFAR and velocity plane
對湖上實驗采集的單水面運動目標數據進行處理,并使用圓圈標記出每一幀檢測到的運動目標,檢測結果如圖8所示,實驗結果表明,使用上述方法可以有效地將運動目標提取出來。觀察多幀的成像結果發現,存在較多的虛警,包含了一部分水下的運動目標。本文所述的運動目標檢測方法在仿真條件下,擁有較好的動目標檢測效果,但是在使用實驗數據驗證時,受到實際環境的影響,會將靜止目標檢測為運動目標,而同一個目標檢測結果受多種因素的干擾,檢測結果并不穩定。

圖8 單水面運動目標前4個步驟檢測結果Fig.8 Test results of the first 4 steps of single-surface moving targets
根據本文的算法對水面移動船只進行檢測與定位,若執行到步驟5,直接對同一聚類的像素點進行處理,計算等效坐標中心,得到結果如圖9左側圖片所示。增加步驟6后的實驗結果如圖9右側所示。圖中方框所標記的是計算得到的等效坐標中心位置,對應的目標的坐標值如表1所示,表中目標1表示成像視野中位于左側的目標,目標2表示位于右側的目標。

圖9 增加步驟6前后估計結果對比Fig.9 Comparison of estimation results before and after adding step 6

表1 圖9中目標的坐標值Tab.1 The coordinates of the target in Fig.9

續表1
對比分析可得,對聚類后的像素點集不做任何處理,定位得到的坐標點遠遠偏離目標的實際位置;使用本文方法,檢測定位的結果更加準確,更加接近目標實際位置。
本文提出了基于成像聲納的水面小型移動目標檢測方法。該方法將成像聲納圖像作恒虛警檢測,獲取圖像中可能是目標的像素點,通過聚類分析將檢測到的目標像素點進行聚類,每一個聚類是一個目標,在此基礎上融合目標回波的多普勒信息,確定運動目標,通過仿真與實驗數據驗證該方法的有效性。最后計算每一個運動目標聚類中像素點的擴跨度信息,提取出水面快速移動的目標,只取回波能量高的部分像素點進行目標位置計算,從而提高成像聲納水面目標定位準確性。仿真實驗結果表明,該方法通過取出部分尾跡像素點,大大減小了定位誤差,提高了成像聲納水面目標定位準確性。
該算法在水紋環境良好,目標速度大于2 kn的條件下,適用于長度小于50 m的移動船只,比如小型游艇、皮劃艇等小型目標的檢測。另外該算法能夠提高水面運動目標的定位精度,但缺少尾流大小、目標個數、多目標之間的運動狀態對目標檢測的影響實驗數據,因此后續可進行有關試驗,作更深入的研究,以提升該算法的性能。