宋奎勇周連科王紅濱
(1.哈爾濱工程大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,哈爾濱 150000;2.呼倫貝爾職業(yè)技術(shù)學(xué)院 信息工程系,內(nèi)蒙古 呼倫貝爾 021000)
海洋環(huán)境復(fù)雜多變,水下目標(biāo)識(shí)別困難重重。近年來(lái),海上船舶數(shù)量越來(lái)越多,頻繁活動(dòng)帶來(lái)的背景噪聲增加了目標(biāo)識(shí)別的任務(wù)難度,單一傳感器在這種環(huán)境下顯得力不從心,精度不高。多源傳感器融合是一種有效提高識(shí)別精度的方法,得到廣泛的研究并取得很好的效果。水下傳感器融合是當(dāng)前目標(biāo)識(shí)別研究的熱點(diǎn)和難點(diǎn)[1-3]。
信息融合可定義為利用計(jì)算機(jī)技術(shù)對(duì)按時(shí)序獲得的若干傳感器的觀測(cè)信息,在一定準(zhǔn)則下加以自動(dòng)分析、綜合以完成所需要的決策和估計(jì)任務(wù)而進(jìn)行的信息處理過(guò)程。數(shù)據(jù)融合可分為像素級(jí)融合、特征級(jí)融合和決策級(jí)融合[4-6]。像素級(jí)融合指在原始數(shù)據(jù)上進(jìn)行融合,對(duì)原始數(shù)據(jù)未作任何處理。特征級(jí)融合首先對(duì)傳感器原始信息進(jìn)行特征提取,然后對(duì)其進(jìn)行綜合分析和處理。一些經(jīng)典的特征融合方法包括主成分分析(PCA:Principal Component Analysis)、線性判別分析(LDA:Linear Discriminant Analysis)、等度量映射(ISOMAP:Isometric Mapping)和局部線性嵌入(LLE:Linear Locally Embedding)等[7]。近年來(lái),自編碼器(AE:Autoencoder)作為一種非線性特征融合方法被廣泛關(guān)注,許多自編碼器模型被提出[8-9],如基本自編碼器(BAE:Basic AE)、去噪自編碼器(DAE:Denosing AE)、壓縮自編碼器(CAE:Contractive AE)和強(qiáng)壯自編碼器(RAE:Robust AE)等。自編碼器被廣泛應(yīng)用于特征級(jí)數(shù)據(jù)融合[10-11]。
針對(duì)水下試驗(yàn)數(shù)據(jù)噪聲大、維數(shù)高的特點(diǎn),筆者提出一種結(jié)合去噪自編碼和降維的多角度特征級(jí)融合方法。首先,使用DAE降低數(shù)據(jù)噪聲、提取數(shù)據(jù)特征同時(shí)對(duì)數(shù)據(jù)降維;然后,對(duì)新特征采用層疊式融合策略進(jìn)行特征融合,使用的融合方法包括主成分分析、獨(dú)立分量分析和等度量映射。筆者方法在水下多源試驗(yàn)數(shù)據(jù)上取得較好的目標(biāo)識(shí)別率。
自編碼是一種對(duì)稱結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)模型,圖1所示為一個(gè)3層的自編碼,包括輸入層、隱藏層和輸出層。隱藏層是對(duì)輸入數(shù)據(jù)的重新編碼,而輸出層是對(duì)隱藏層的重構(gòu)。如果隱藏層小于輸入層、輸出層神經(jīng)元個(gè)數(shù),則隱藏層數(shù)據(jù)是對(duì)原始數(shù)據(jù)的降維表示。圖1是包含1個(gè)隱藏層的自編碼,通過(guò)兩個(gè)權(quán)重矩陣w(1)、w(2)和兩個(gè)偏置向量b(1)、b(2)設(shè)定為
圖1 3層自編碼結(jié)構(gòu)圖Fig.1 3-layer autoencoder structure diagram
其中s1、s2為激活函數(shù),一般使用非線性函數(shù),f為編碼函數(shù),g為解碼函數(shù)。自編碼器使用目標(biāo)函數(shù)優(yōu)化w和s使重構(gòu)誤差最小。最具代表性的目標(biāo)函數(shù)有均方誤差函數(shù)和交叉熵函數(shù)。均方誤差函數(shù)為交叉熵的函數(shù)為
海洋環(huán)境水聲數(shù)據(jù)噪聲大、維數(shù)高,去噪自編碼器DAE能減少環(huán)境背景噪聲的影響,并能學(xué)習(xí)到水聲數(shù)據(jù)深層特征。筆者提出的一種多角度特征融合方法處理水下數(shù)據(jù)如圖2所示,圖2左側(cè)是使用DAE去除噪聲、降低維數(shù),并抽取出深層特征;圖2右側(cè)使用PCA融合方法對(duì)多源水下數(shù)據(jù)融合,并對(duì)融合后的數(shù)據(jù)分類,比較不同融合方法的分類效果。
圖2 結(jié)合DAE和PCA特征融合結(jié)構(gòu)圖Fig.2 Combination of DAE and PCA feature fusion structure diagram
DAE[12]能使用被損壞的數(shù)據(jù)作為輸入重構(gòu)源數(shù)據(jù),即DAE對(duì)損壞的數(shù)據(jù)能建立潛在的特征空間,對(duì)損壞數(shù)據(jù)更具有魯棒性。DAE結(jié)構(gòu)和參數(shù)與普通自編碼器相似,區(qū)別在于輸入數(shù)據(jù)在訓(xùn)練階段使用了損壞的數(shù)據(jù),并且在訓(xùn)練階段隨機(jī)選擇一定數(shù)量節(jié)點(diǎn)設(shè)置為0。筆者方法中DAE使用的最小化目標(biāo)函數(shù)為
其中
x為源數(shù)據(jù),為添加高斯噪聲輸入,σ為噪聲程度,為重構(gòu)數(shù)據(jù)。由文獻(xiàn)[10]可知,3層DAE是簡(jiǎn)單、效果好的架構(gòu),使用此架構(gòu)隱藏層數(shù)據(jù),即為DAE處理后的深度特征表示。
PCA[13-14]是一種經(jīng)典數(shù)據(jù)降維算法,對(duì)降噪也有很好的效果。PCA的主要思想是將N維數(shù)據(jù)投影到維度為K的子空間中(K 當(dāng)均值μ=0時(shí), 在此矩陣中,主對(duì)角線為方差,其余部分為協(xié)方差,若把此矩陣對(duì)角化,則正好滿足方差盡可能大,而協(xié)方差為0,并且在主對(duì)角線上元素按大小從上到下排列,達(dá)到優(yōu)化目的。若P是按行組成的一組基,設(shè)Y=PX,Y為X做基變換后的數(shù)據(jù),Y的協(xié)方差矩陣為D,則有 其中D為對(duì)角矩陣,且D是對(duì)C的對(duì)角化??衫锰卣髦捣纸饣蚱娈愔捣纸馇缶仃嘋的特征值和特征向量。選擇最大的k個(gè)特征值,其對(duì)應(yīng)的特征向量P就是所求的K維子空間,將數(shù)據(jù)投影到k維子空間中,即Y=PX,Y就是D降維后的特征表示。 將多源水聲傳感器對(duì)同一目標(biāo)進(jìn)行同步偵測(cè),所得傳感器數(shù)據(jù)相互間有一定線性關(guān)系,而PCA是一種線性降維方法,所以使用PCA是適合的。如圖3所示,為了得到更準(zhǔn)確的分類效果,使用了層疊式PCA融合方法,第i、i+1、i+2 3組數(shù)據(jù)融合為1組,i+1、i+2、i+3 3組數(shù)據(jù)融合為1組,以此類推。層疊式融合方法會(huì)使同類數(shù)據(jù)更加相似。 圖3 PCA層疊式特征融合結(jié)構(gòu)圖Fig.3 PCA stacked feature fusion structure diagram 經(jīng)過(guò)DAE和PCA融合后的數(shù)據(jù),維數(shù)更小、特征更突出。若將多傳感器數(shù)據(jù)比作二維表,則DAE從橫向上壓縮并抽取特征數(shù)據(jù),PCA從縱向上融合數(shù)據(jù)。因此數(shù)據(jù)在進(jìn)行分類時(shí),時(shí)間效率更高,分類精度會(huì)更好。 在不同環(huán)境下采集水下數(shù)據(jù),使用筆者算法融合處理,基本步驟如下: 步驟1多源水下傳感器數(shù)據(jù)采集; 步驟2數(shù)據(jù)分段、標(biāo)準(zhǔn)化處理; 步驟3使用DAE對(duì)數(shù)據(jù)進(jìn)行特征融合; 步驟4使用PCA降維融合; 步驟5使用多種分類算法分類。 試驗(yàn)使用Python語(yǔ)言在Tensorflow 2.0和Keras 2.0.6框架下編程開(kāi)發(fā)。Tensorflow和Keras是高效深度學(xué)習(xí)框架,提供大量程序包,快速提高開(kāi)發(fā)效率。為驗(yàn)證筆者算法,選取了消聲水池場(chǎng)景實(shí)驗(yàn)數(shù)據(jù)和真實(shí)水下場(chǎng)景數(shù)據(jù)做測(cè)試,這兩種試驗(yàn)場(chǎng)景涵蓋了理想水下環(huán)境與真實(shí)水下環(huán)境,為驗(yàn)證算法在不同環(huán)境下有效性提供了保障。 1)消聲水池?cái)?shù)據(jù)。通過(guò)在消聲水池中布置不同水下目標(biāo)聲響設(shè)備模擬水下目標(biāo)信息感知的環(huán)境。目標(biāo)放置位置正對(duì)水聽(tīng)器,池邊水聽(tīng)器陣自下而上排列,水聽(tīng)陣內(nèi)含18只水聽(tīng)器,每只水聽(tīng)器對(duì)應(yīng)相同編號(hào)通道(signal),其中末端水聽(tīng)器距離池底0.5 m,其他水聽(tīng)器每個(gè)間距0.25 m安置,陣?yán)|共長(zhǎng)4.5 m。測(cè)量時(shí)間6 min,頻帶25.6 kHz。采集的所有信號(hào)均為電壓值。為實(shí)現(xiàn)精細(xì)化的水下目標(biāo)信息感知,嘗試使用不同的功率放大器模擬不同船體的本艇自身噪聲,同時(shí),船體分別使用20%、50%和80%的功率在水中航行。實(shí)驗(yàn)環(huán)境如圖4所示。 圖4 消聲水池?cái)?shù)據(jù)監(jiān)測(cè)結(jié)構(gòu)圖Fig.4 Data monitoring structure diagram of anechoic pool 依據(jù)目標(biāo)的發(fā)動(dòng)機(jī)功率以及不同的速度,將其定義為3類不同的目標(biāo)。目標(biāo)1總量4 800段,目標(biāo)2總量10 000段,目標(biāo)3總量3 470段,所有數(shù)據(jù)訓(xùn)練集占比72.5%,測(cè)試集占比27.5%。 2)真實(shí)水下試驗(yàn)數(shù)據(jù)。通過(guò)在實(shí)際水域中布置多個(gè)水下目標(biāo)噪聲采集設(shè)備收集數(shù)據(jù)。目標(biāo)船只攜帶發(fā)聲設(shè)備在水面上按實(shí)驗(yàn)要求沿不同的方向以不同速度運(yùn)動(dòng),采集不同聲況下的數(shù)據(jù)。在真實(shí)水下場(chǎng)景試驗(yàn)時(shí),記錄的自然環(huán)境信息:溫度為6℃,濕度為39%,風(fēng)速為4 m/s,氣壓為1.029×105Pa,水速為7 m/s。 使用3路水聽(tīng)器組水平陣與20路水聽(tīng)器進(jìn)行信號(hào)采集。船長(zhǎng)6 m,近岸固定,船在江面中心線上,船頭正對(duì)水聽(tīng)陣。船身正中位置放置,用于模擬自身噪聲實(shí)驗(yàn)采集船體的水下噪聲信號(hào)數(shù)據(jù),按照船體距離采集點(diǎn)的不同,錄取多組數(shù)據(jù)。船以不同的距離和速度在水面上航行,記錄水聽(tīng)器接收的噪聲數(shù)據(jù)。由于水面上有風(fēng)浪,船體需要保持一定速度航行,距離會(huì)有誤差,同時(shí)實(shí)驗(yàn)開(kāi)始前和結(jié)束后,每段采集了約30 min的環(huán)境噪聲。實(shí)驗(yàn)環(huán)境如圖5所示。 圖5 水下真實(shí)數(shù)據(jù)采集圖Fig.5 Underwater real data collection map 目標(biāo)船體使用不同發(fā)聲體模擬不同目標(biāo),并且以不同的速度航行。具體實(shí)驗(yàn)數(shù)據(jù)目標(biāo)參數(shù)如表1所示,根據(jù)發(fā)聲體馬力和目標(biāo)距離的不同,把試驗(yàn)數(shù)據(jù)分成8類,同時(shí),由于船體不固定,目標(biāo)距離存在誤差,所以目標(biāo)距離在一定范圍內(nèi)波動(dòng)。 表1 水下實(shí)驗(yàn)數(shù)據(jù)分類表Tab.1 Classification table of underwater experiment data 1)參數(shù)設(shè)置與對(duì)比分析。由于水聽(tīng)器測(cè)量數(shù)據(jù)量較大,在使用前需要對(duì)數(shù)據(jù)進(jìn)行切分。為了方便程序計(jì)算與處理,切分大小以2的冪為基準(zhǔn),筆者使用3種切分大小,分別為512、1 024、2 048。并且使用sklearn包中的預(yù)處理函數(shù)MinMaxScalar把數(shù)據(jù)歸一化在0~1之間。最后,使用sklearn包中的train_test_split函數(shù)把數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集,訓(xùn)練集和測(cè)試集比例為6∶4。 DAE模型參數(shù)包括輸入層維數(shù)(input_dim)、編碼層維數(shù)(encoding_dim)、權(quán)重衰變(weight_decay)和激活函數(shù)(activation)。輸入層維數(shù)為512、1 024、2 048 3種,編碼層按照輸入層50%和75%兩種比例計(jì)算,按照文獻(xiàn)[9]的試驗(yàn)分析,一般情況下,降維到75%好于降維到50%的分類準(zhǔn)確率,降維到50%高于未經(jīng)降維的分類準(zhǔn)確率。自編碼網(wǎng)絡(luò)編碼層大小是輸入層的75%時(shí)分類準(zhǔn)確率最高。例如:在試驗(yàn)中按照DAE的3層結(jié)構(gòu),若輸入層為1 024,并且設(shè)定編碼層為輸入層的75%,則編碼層為768。權(quán)重衰變?yōu)門RUE,激活函數(shù)為tanh。 為了展示分類效果優(yōu)劣,使用PCA、獨(dú)立成分分析(ICA:Independent Component Analysis)和ISOMAP進(jìn)行數(shù)據(jù)降維融合,PCA和ICA是一種線性降維方法,ISOMAP是一種基于流行的非線性降維方法。然后,使用支持向量機(jī)(SVM:Support Vector Machine)對(duì)融合后數(shù)據(jù)分類,分類結(jié)果如表2所示。 表2 不同融合方法的分類準(zhǔn)確率Tab.2 Classification accuracy of different fusion methods 從表2可以看出,同樣條件下的數(shù)據(jù),經(jīng)PCA處理后的識(shí)別率高于ICA和IOSMAP。在DAE(75%)+PCA數(shù)據(jù)上,取得最高的識(shí)別率,消聲水池是98.1%,江上場(chǎng)景是89.7%。為進(jìn)一步展示效果,使用折線圖對(duì)比分析。圖6是3種融合方法在消聲水池和真實(shí)水下環(huán)境中的識(shí)別率對(duì)比。圖7是試驗(yàn)數(shù)據(jù)是否使用PCA的識(shí)別率對(duì)比。 圖6 2種場(chǎng)景下不同融合方法分類識(shí)別率Fig.6 Classification and recognition rate of different fusion methods in two scenarios 圖7 2種場(chǎng)景下融合前后識(shí)別率對(duì)比Fig.7 Comparison of recognition rates before and after fusion in the two scenarios 從圖6a中可以看出,消聲水池?cái)?shù)據(jù)使用3種融合方法融合后的識(shí)別率PCA高于ICA和ISOMAP,從源數(shù)據(jù)到DAE(50%)再到DAE(75%),整體識(shí)別率上升。從圖6b真實(shí)水下環(huán)境中目標(biāo)識(shí)別率同樣得到類似的結(jié)果。在水池?cái)?shù)據(jù)中,DAE(75%)經(jīng)PCA融合后取得最高的識(shí)別率98.1%,在真實(shí)水下場(chǎng)景試驗(yàn)數(shù)據(jù)中,同樣是DAE(75%)在PCA融合后取得最高的識(shí)別率89.7%。 從圖7a可以看出,在消聲水池?cái)?shù)據(jù)試驗(yàn)中,經(jīng)過(guò)PCA處理的數(shù)據(jù)識(shí)別率普遍高于未經(jīng)PCA處理的,如在DAE(75%)下,未經(jīng)PCA處理的識(shí)別率是95.9%,經(jīng)過(guò)PCA處理的是98.1%。圖7b也得到與圖7a類似的結(jié)果,如在DAE(75%)下,未經(jīng)PCA處理的識(shí)別率是80.2%,經(jīng)過(guò)PCA處理的是89.7%。 不同分類器針對(duì)不同類型數(shù)據(jù)分類效果不同。為進(jìn)一步驗(yàn)證不同分類器在試驗(yàn)數(shù)據(jù)上的分類結(jié)果,使用SVM、K-近鄰算法(KNN:K-Nearest Neighbor)和多層感知機(jī)(MLP:Multi-Layer Perception)進(jìn)行分類。使用DAE壓縮到源數(shù)據(jù)的75%,然后利用PCA對(duì)數(shù)據(jù)降維融合,最后采用3種分類方法分類,分類結(jié)果如圖8所示。 從圖8可以看出,無(wú)論是在消聲水池中,還是在真實(shí)水下環(huán)境中,使用KNN分類結(jié)果最低,MLP次之,SVM分類結(jié)果最高,但3者差別不大。為此,在試驗(yàn)最后使用SVM進(jìn)行分類。 圖8 3種分類方法分類結(jié)果對(duì)比Fig.8 Comparison chart of classification results of 3 classification methods 2)時(shí)間復(fù)雜度。使用DAE+PCA對(duì)源數(shù)據(jù)進(jìn)行融合處理后,使數(shù)據(jù)維數(shù)減少,從而在模型訓(xùn)練和數(shù)據(jù)分類過(guò)程中所需時(shí)間減少。對(duì)源數(shù)據(jù)、DAE(50%)和DAE(75%)數(shù)據(jù)進(jìn)行模型訓(xùn)練和數(shù)據(jù)分類時(shí)間對(duì)比分析,時(shí)間花費(fèi)如圖9所示。 圖9 融合前后時(shí)間花費(fèi)對(duì)比Fig.9 Comparison of time spent before and after fusion 從圖9可看出,在模型訓(xùn)練階段,源數(shù)據(jù)所需時(shí)間最多,DAE(50%)所需時(shí)間最少。源數(shù)據(jù)所需時(shí)間是DAE(75%)的1倍左右,而DAE(50%)所需要的時(shí)間是源數(shù)據(jù)的1/4。3者差距較明顯。在數(shù)據(jù)分類階段,得到同樣的結(jié)果。從圖9可以看出,數(shù)據(jù)壓縮比例越大,所需時(shí)間越少,效率越高。 為提高水下傳感器試驗(yàn)數(shù)據(jù)的識(shí)別率,課題組在不同場(chǎng)景下收集大量水下多源數(shù)據(jù),由于試驗(yàn)數(shù)據(jù)包含噪聲,使用去噪自編碼對(duì)數(shù)據(jù)進(jìn)行去噪、降維處理,并利用多種融合方法對(duì)多源數(shù)據(jù)融合,采用的融合方法包括主成分分析、獨(dú)立分量分析和等度量映射。不同場(chǎng)景下對(duì)比試驗(yàn)表明筆者方法取得較好的分類結(jié)果,其中主成分分析取得最高目標(biāo)識(shí)別率。雖然降維方法可以實(shí)現(xiàn)多源數(shù)據(jù)融合,但在真實(shí)水下數(shù)據(jù)融合識(shí)別精度還有待提高,下一步工作選擇更適合的融合方法,期待可以取得更好的效果,另外多源異構(gòu)數(shù)據(jù)融合也是下一步的研究目標(biāo)。2.3 算法基本步驟
3 試驗(yàn)分析
3.1 試驗(yàn)數(shù)據(jù)集
3.2 試驗(yàn)驗(yàn)證與性能對(duì)比分析
4 結(jié) 語(yǔ)