張瑞辰,邊少鋒,劉雁春,李厚樸
海軍工程大學,湖北 武漢 430033
受復雜海洋環(huán)境、系統(tǒng)噪聲和測量船噪聲等影響,獲取的測深數(shù)據有時會在某一區(qū)域產生大面積的異常值。這些異常值通常會被人為刪除,從而造成某一區(qū)域連續(xù)的數(shù)據缺失,嚴重影響測深數(shù)據對海底地形的準確描述,不利于海底趨勢面的構造。專家學者在水深測量領域做了很多研究[1-5],并通過加權平均值[6-7]、AR模型[8]、統(tǒng)計學原理[9-10]、中值濾波[11]、不確定度及Kalman濾波[12-14]等算法對海量的測深數(shù)據進行處理,識別并剔除異常值。雖然現(xiàn)有算法已經取得了較好的效果,但對于海量測深數(shù)據仍存在處理速度慢、適用性較差、復雜海床測深數(shù)據濾波性能欠佳、海岸線及島礁附近水域精度不高等不足。同時,基于“平均”的原理,一些算法對于大面積異常值會處理為“偽海底高山”或“偽海底低谷”?;谏鲜銮闆r,本文提出了利用條件變分自編碼生成對抗網絡方法,檢測并消除偽地形數(shù)據。
近年來,生成式對抗網絡(GAN)作為一種生成式建模方法被應用于多個領域,許多學者做了大量的工作[15-20]。在生成式對抗網絡中,生成器和判別器為博弈雙方。生成器擬合數(shù)據的產生過程生成模擬樣本,優(yōu)化目標為納什均衡[21],用于估測數(shù)據樣本的分布規(guī)律[22]。GAN目前已經應用于圖像識別、語音和語言處理、人工智能下棋等問題的研究中。然而,GAN在海底地形數(shù)據處理領域的應用目前還比較缺乏,雖然現(xiàn)有濾波算法等已經有了較好的效果,但當噪聲較為復雜,尤其是在產生大面積測深數(shù)據異常值的情況下并不能很好地重建海底地形趨勢面。本文結合條件變分自編碼和深度卷積生成對抗網絡,建立條件變分自編碼生成對抗網絡,利用該網絡模型的判別器提取海底地形的特征,對含有大面積偽地形的海底地形樣本數(shù)據進行檢測與剔除。試驗結果表明,本文方法能夠較為有效地檢測和剔除大面積異常值,并生成較為合理的海底趨勢面。
自編碼器(autoencoder)是一種以重構輸入信號為目標的神經網絡。對于條件變分自編碼器而言,該網絡通過從編碼樣本分布pmodel(h)中采樣生成g(h),再從符合pmodel(x|g(h)=pmodel(x|h)的分布條件中取樣x,經過重構的解碼器r=m(h)構成網絡。編碼器網絡為隨機映射m(h|x),解碼器網絡為隨機映射pmodel(x|h)。
對于條件變分自編碼器而言,該算法通過將x與樣本相關聯(lián)的變分下界γ(m)最大化對模型進行訓練,具體為式(1)所示
γ(m)=Eh~m(h|x)logpmodel(h,x)+H(m(h|x))=
Eh~m(h|x)logpmodel(x|h)-DKL(m(h|x)‖
pmodel(h))≤logpmodel(x)
(1)
式中,DKL為KL散度,可以用于衡量同一隨機變量的兩個單獨概率分布的差異。
本文采用的變分自編碼器加入標簽項作為限制,即條件變分自編碼網絡。該網絡共包含4個全連接層,具體結構如圖1所示。
圖1 標簽限制的變分自編碼網絡(CVAE)結構Fig.1 Label-restricted conditional variational autoencoder network structure
生成式對抗網絡是基于可微生成器網絡的另一種生成式建模[15-16]?;诓┺恼?game theory)場景,GAN的基本結構為:生成器(generator network,G)直接產生樣本x=g(z;θ(g)),z為隨機編碼向量。其對手判別器(discriminator network,D)發(fā)出由d(x;θ(d)))給出的概率值,通過訓練不斷提高區(qū)分從訓練數(shù)據抽取的樣本和從生成器抽取的樣本的能力,指示x是真實訓練樣本而不是從模型抽取的偽造樣本的概率。GAN的網絡結構如圖2所示。
圖2 GAN網絡結構Fig.2 Generative adversarial network structure
GAN的優(yōu)化問題是一個極小極大博弈問題,函數(shù)v(θ(g),θ(d))確定判別器的收益,生成器接收-v(θ(g),θ(d))作為它自己的收益。因此,在式(2)收斂
(2)
式中,v(θ(g),θ(d))=Ex~pdatalogd(x)+Ex~pmodellog(1-d(x) )。
基于深度卷積的GAN(DCGAN)[17],是將CNN卷積用于GAN模式的網絡里,生成器G通過反卷積的重構技術來模擬原始數(shù)據,而判別器D利用卷積技術學習海底地形數(shù)據的特征,進而作出判斷。
綜合CVAE和DCGAN網絡的特點,建立兩者相結合的模型——條件變分自編碼生成對抗網絡模型。在該模型中,編碼器對被破壞的原始圖像進行編碼、降維;解碼器(也叫重構器),通過重構一部分輸入的特征來確定與樣本互信息的維度,從而找出主要特征,并作為輸入進入生成器;生成器從標準高斯分布中隨機采樣作為輸入的生成模擬樣本,并將噪聲分成不可壓縮噪音z和可解釋性信息c;判別器用深度卷積神經網絡對生成模擬數(shù)據與真實樣本數(shù)據進行判別。加入條件變分自編碼網絡后,提高了從高維到低維映射的能力。具體網絡結構如圖3所示。
圖3 條件變分自編碼生成對抗網絡結構Fig.3 Conditional variational autoencoder generative adversarial network
條件變分自編碼生成對抗網絡是根據有限的樣本信息在地形特征的復雜性和學習能力之間尋求平衡點。利用CVAE-GAN構造海底趨勢面的效果主要取決于選區(qū)的訓練樣本及優(yōu)化算法的選取是否真正反映海底地形的實際變化。
3.2.1 訓練樣本的選取
由于淺水多波束測深系統(tǒng)或者深水多波束測深系統(tǒng)均以廣角度定向發(fā)射、多陣列信號接收處理的方式,獲得的海底水深數(shù)據具有海量性的特點,因而要對測深數(shù)據進行區(qū)域劃分。選擇的區(qū)域過大,導致包含的海底地形類型過多,樣本分布規(guī)律過于復雜;選擇的區(qū)域過小,無法學習到整體的地形變化趨勢。本文按照陡坡、海岸帶、島礁、海溝及碎石區(qū)5種不同的地形選取水深格網數(shù)據作為樣本,以人為添加異常值數(shù)據來模擬格網化的含有異常值的原始水深數(shù)據;以未添加異常值的水深格網數(shù)據來模擬真實地形數(shù)據。共設置為6類(第0類到第5類),通過數(shù)據集增強方法,得到訓練樣本每類包含1000個圖片,共6000張圖片。在測試樣本中,含有大面積連續(xù)異常值的格網水深數(shù)據,每類包含1張圖片共6張,并對數(shù)據進行歸一化處理。
3.2.2 優(yōu)化算法的選取
除了高效地選取樣本,還必須選擇適合海底地形變化的優(yōu)化算法。針對不同特點的樣本數(shù)據,不同的優(yōu)化算法,其收斂速度和快速找到收斂最快方向的能力不同。凸問題優(yōu)化算法,如AdamGrad算法,縮放參數(shù)反比于其所有梯度歷史平方值總和的平方根[23]。非凸問題優(yōu)化算法,如Adam算法[24],梯度積累為指數(shù)加權的的移動平均,同時設置了偏置修正,更加穩(wěn)健。由于海底地形并不是凸問題,故本文選擇Adam優(yōu)化算法。經驗表明,當模型數(shù)據較為復雜時,Adam算法的初始學習率設置為0.001,在Tensorflow系統(tǒng)體系中優(yōu)化效果最好。
3.2.3 模型訓練過程
基于數(shù)據集增強的原理,將符合標準高斯分布的噪聲加入到訓練樣本中,通過編碼器降維;通過KL散度求得訓練樣本分布與標準高斯分布之間的對應差距,并逐步縮小該差距,改變樣本的對應分布;通過解碼器最終學習到樣本分布規(guī)律并生成模擬樣本,在此過程中,使用樣本標簽作為限制。由條件變分自編碼網絡生成的擬真實樣本進入生成器后,通過兩層使用ReLU作為激活函數(shù)的全連接層,生成(7,7,128)的三維張量,進入卷積核4×4、步幅為2的反卷積函數(shù)層,經過中間層三維張量(28,28,64)得到三維張量(28,28,1)的生成圖像樣本。進入判別器,首先經過兩層與生成器反卷積核成轉置關系的卷積層得到(7,7,128)的三維張量,使用LeakyReLU作為激活函數(shù)與生成器對抗,并通過兩層全連接層,分別得到兩個張量,將這兩個張量放入不同輸出層可用于判別真假樣本、進行樣本分類以及得到隱含信息?;谛畔⒄摰南嚓P理論,網絡中的損失函數(shù)采用交叉熵(cross-entropy),最小化該交叉熵將執(zhí)行對分類器的最大似然估計,結構如圖4所示。
圖4 CVAE-GAN具體結構Fig.4 Detailed CVAE-GAN structure
3.2.4 訓練結果與分析
本文人為添加了大面積偽地形數(shù)據,生成測試數(shù)據集,對偽地形進行檢測和剔除,構建了CVAE-GAN網絡模型進行測試。試驗環(huán)境為Intel(R) Core(TM) i7-8550U CPU @ 1.8 GHz處理器,8 GB原始運行內存(RAM),Tensorflow平臺。在Leaky ReLU中,模型的leak斜率為0.1。
本文采用仿真的水深格網數(shù)據進行評估。該水深格網數(shù)據分辨率為5 m,每組數(shù)據代表的測區(qū)面積為19 600 m2,共包含陡坡、海岸帶、島礁、海溝及碎石區(qū)5個不同特征的地形構造。每種地質構造的“大面積偽地形”數(shù)據約占測區(qū)總數(shù)據的3%~5%,具體特點為:①“陡坡”異常值出現(xiàn)于較平坦區(qū)域;②“海岸帶”異常值出現(xiàn)于海陸交界處;③“島礁1”異常值出現(xiàn)于較平坦區(qū)域;④“島礁2”異常值出現(xiàn)于島礁凸起處;⑤“海溝”異常值表現(xiàn)為大面積區(qū)域水深整體變深;⑥“碎石區(qū)”異常值表現(xiàn)為缺失大面積水深數(shù)據,具體如圖5所示。
為了進一步分析該模型在大面積異常值檢測方面的精度,分別繪制不同模型下的海底地形等深線圖和與真實水深值對比得到的誤差等值線圖,具體如圖6所示。
在生成對抗的過程中,經過5次反復訓練,共10 000次迭代。觀察生成圖像的演變過程,從圖5、圖6可以看出,含有大面積異常值的格網水深數(shù)據,通過本文方法,逐步學習不同類型的地形特征,通過10 000次迭代,最終達到較好的異常值剔除效果。從圖5、圖6可以看出,不同的海底地形特征得到的海底趨勢面的準確度不同,陡坡、海岸帶、島礁及海溝等具有明顯海底地形特征的區(qū)域生成的海底趨勢面精度更高,而碎石區(qū)等海底地形特征不明顯的區(qū)域生成效果會產生多余的噪聲。在圖5、圖6中,過程最后一張為結果圖,從中可以看出該方法具有較強的識別度,秩值更低,且與訓練樣本保持著高度的相似,通過學習找到真實海底地形中更加明顯的特征規(guī)律。因此,CVAE-GAN網絡可以用于大面積偽地形數(shù)據的檢測與剔除。
圖5 各類海底微地形數(shù)據的大面積異常值檢測與剔除點集三維圖Fig.5 Training process in different types of sea bottom
模型在訓練過程中的損失函數(shù)曲線如圖7所示。圖7(a)的橫坐標為條件變分自編碼的迭代次數(shù),縱坐標為代價函數(shù)值;圖7(b)、(c)中的橫坐標分別為判別器與生成器的迭代次數(shù),縱坐標為其損失函數(shù)。可以看出條件變分自編碼模型的代價函數(shù),生成模型和判別模型的損失函數(shù)都在逐漸收斂,并存在著明顯的相互關系。隨著迭代的進行,條件變分自編碼網絡的代價函數(shù)在逐漸下降,由最初值97.45下降至30.58;判別器的損失函數(shù)由最初值0.613 6下降至0.346 3;生成器的損失函數(shù)則逐漸上升,由最初值0.851 2上升至1.490,在對抗中此消彼長,共歷時35 min,迭代10 000次。通過條件變分自編碼網絡能夠改變測試樣本的概率分布,結合生成對抗網絡,CVAE-GAN模型可以更好地使用學習到的訓練樣本分布特征,有效提高了網絡的穩(wěn)定性和泛化能力。
本文將CVAE-GAN與其他兩種常用的測深數(shù)據異常值檢測方法(中值濾波法、趨勢面濾波法[1-2])對比。采用4種不同的評價指標對異常值檢測與剔除效果進行評定:① 梯度均方根誤差(DRMSE)——用不同方法得到的海底格網數(shù)據(生成數(shù)據)的梯度求均方根誤差,具體如式(3)所示;② 最大梯度差(DMAX)——用生成數(shù)據的梯度與真實格網水深數(shù)據的梯度求差的最大值,具體如式(4)所示;③ 峰值信噪比(peak signal to noise ratio,PSNR),值越大,生成數(shù)據與真實格網水深數(shù)據越相似,具體如式(5)、式(6)所示;④ 結構相似指數(shù)(structural similarity index,SSIM)——將生成數(shù)據的均值、梯度和結構3種不同因素組合建模,值在-1至1之間,越接近于1,說明生成數(shù)據與真實格網數(shù)據的結構越相似,具體如式(7)—式(9)所示。
(圖中相關要素及數(shù)據均為虛構)圖6 等值線圖Fig.6 Contour map
圖7 數(shù)據集迭代過程中損失函數(shù)變化過程Fig.7 The loss function curves of the model
(3)
(4)
(5)
(6)
(7)
(8)
(9)
式中,Dreal為格網化的真實水深數(shù)據的梯度;Dresult為生成數(shù)據的梯度;p為每個采樣值所占的比特數(shù);x為格網化的真實水深數(shù)據;y為生成數(shù)據;μx、μy為平均值;σx、σy為標準差;σxy為協(xié)方差;c1、c2用于維持該式的穩(wěn)定;m、n為矩陣的行數(shù)和列數(shù)。不同模型的“評價指標”比較見表1。
從表1可以看出,當海底地形測量出現(xiàn)大面積集中分布的異常值而不是隨機分布的較少量的異常值時,本文方法的檢測與剔除效果比中值濾波法及趨勢面濾波法的效果好。根據表1,中值濾波在進行異常值剔除過程中,由于異常值的數(shù)量多且集中的特點,過度平滑了區(qū)域整體的海底地形,導致海底地形趨勢面的失真,使得梯度的均方根誤差較大,PSNR值較小,SSIM值距離1較遠;趨勢面濾波由于多項式擬合無法詳細表示復雜的地形,或者“過擬合”,將異常值也作為正常水深數(shù)據,導致誤差較大。本文方法在除去大量連續(xù)異常值的過程中,能夠較好地保存其余的原始地形形態(tài),梯度的均方根誤差較小,PSNR值較大,SSIM值更接近于1。中值濾波的過度平滑導致海底地形坡度偏大或偏小,即容易出現(xiàn)海底“斷崖”等現(xiàn)象;趨勢面濾波受制于多項式擬合的局限性,對于有些復雜的海底地形無法擬合出合理的海底趨勢面;本文方法通過“變分”思想,學習訓練樣本分布規(guī)律,對不同區(qū)域有不同的生成過程,不會“以偏概全”,從而能夠更好地剔除大量連續(xù)異常值。綜上所述,在檢測并剔除大面積“偽地形”方面,中值濾波法及趨勢面濾波法更易造成海底地形的失真,而本文方法的結果更加符合實際的海底趨勢面。
表1 不同模型的“評價指標”比較
Tab.1 Comparison of “evaluation index”among differentmodels
檢測方法海底地形評價指標DRMSEDMAXPSNRSSIM中值濾波法陡坡0.0050.33517.6420.347海岸帶0.0080.94010.1120.089島礁10.0040.4338.2000.216島礁20.0060.70115.2840.297海溝0.0030.25314.8710.341碎石區(qū)0.0130.83415.0200.060趨勢面濾波法陡坡0.0130.7489.7180.280海岸帶0.0100.87110.391-0.051島礁10.0060.6604.508-0.074島礁20.0090.77010.3500.217海溝0.0110.74111.4210.298碎石區(qū)0.0080.8669.6460.036本文方法陡坡0.0030.28023.9000.521海岸帶0.0020.25428.2380.805島礁10.0020.24517.1660.504島礁20.0020.25024.6950.776海溝0.0010.22322.4500.685碎石區(qū)0.0070.53312.5490.117
海洋測量受海洋環(huán)境的影響,在測深過程中易出現(xiàn)測深數(shù)據異常值。本文針對大面積異常值的檢測與剔除,構建了條件變分自編碼生成對抗網絡模型,生成了與真實海底地形較為接近的海底趨勢面。通過與中值濾波法及趨勢面濾波法比較,本文提出的CVAE-GAN網絡在大面積連續(xù)異常值的檢測與剔除方面優(yōu)于中值濾波法及趨勢面濾波法,取得了較好的效果。但在碎石區(qū)的識別效果有待改進,因而本文方法更適合于海底地形特征明顯的區(qū)域。同時,CVAE-GAN作為GAN的衍生模型,豐富了GAN模型在海洋測量數(shù)據處理領域的應用。