張曉曉,牛 福,毛健平,安居白,郭 浩
1.大連海事大學 信息科學技術學院,遼寧 大連116026
2.山東交通學院 汽車工程學院,濟南250357
隨著海洋石油資源開發(fā)的不斷增加,溢油事故發(fā)生較為頻繁,對海洋和沿海地區(qū)造成了嚴重的環(huán)境和經(jīng)濟影響,為了防止溢油災害,必須檢測溢油的位置。SAR以其廣域、全天候的監(jiān)視能力,被認為是最適合漏油監(jiān)測的傳感器之一[1]。然而在全極化SAR 圖像中經(jīng)常出現(xiàn)“類油膜”(如生物油膜、低風速區(qū)、乳化油膜、大氣重力波等)現(xiàn)象,在全極化SAR圖像上類油膜與油膜均呈現(xiàn)為暗色區(qū)域,兩者的后向散射系數(shù)和灰度值很相似,在識別時易對兩者產(chǎn)生混淆,對利用SAR 圖像進行海面溢油區(qū)檢測產(chǎn)生了嚴重影響。所以對全極化SAR圖像上的類油膜和油膜現(xiàn)象進行高效的分類對降低海面溢油監(jiān)測的虛警率尤為重要。
近幾年隨著在圖像分類和模式識別方面深度學習不斷取得巨大成就。多位學者和專家將深度學習應用到了上述問題當中。Singha等人[2]通過人工神經(jīng)網(wǎng)絡算法(ANN)正確識別出了91.6%的溢油數(shù)據(jù)和98.3%的類油膜數(shù)據(jù)。但是ANN 隱藏層的學習過程無法觀察到,對于得到的結果很難解釋。Li等人[3]在訓練數(shù)據(jù)樣本數(shù)量有限的情況下,提出將SAE 和DBN 深度學習算法結合進行分類,結果表明其分類性能比SVM和ANN略勝一籌。Song 等人[4]將多個全極化SAR 圖像數(shù)據(jù)結合優(yōu)化后的小波神經(jīng)網(wǎng)絡分類器(WNN),開發(fā)出一種新的識別溢油的方法。Guo等人[5]提出將三種極化特征結合CNN分類油膜和類油膜,提高了識別準確性,分類精度達到91.33%。Orfanidis 等人[6]提出了將深度神經(jīng)網(wǎng)絡(DCNN)與SAR圖像相結合的方法,提供了一個全自動的溢油識別系統(tǒng)。Xiong 等人[7]提出了一種基于DenseNet卷積神經(jīng)網(wǎng)絡的密集連接網(wǎng)絡模型,通過提取SAR 圖像的多尺度特征,提高了分類和識別的準確性。以上研究方法使用的均是淺層網(wǎng)絡,數(shù)據(jù)表達能力較弱,分類準確度不高,不能有效地進行推廣應用,而且較少有學者對多種分類方法進行對比分析[8]?;谝陨蠁栴},本文提出使用多特征融合與深度殘差網(wǎng)絡(Residual Network,ResNet)相結合的方式對溢油和類油膜進行分類,同時將分類結果與AlexNet、VGG 網(wǎng)絡進行比較分析。結果表明,在區(qū)分油膜和類油膜方面,深度殘差網(wǎng)絡分類準確性優(yōu)于其他網(wǎng)絡。
本文中的實驗數(shù)據(jù)來自以下3幅全極化SAR圖像,如圖1和圖2所示。其中NO.1拍攝于2010年墨西哥灣溢油事件,如圖1所示,(a)中的黑色區(qū)域為原油膜,(b)為漏油的地理坐標。NO.2、NO.3來源于2011年歐洲北海溢油實驗,分別將生物油膜、乳化油膜和原油灑在北海上,圖2 為溢油數(shù)據(jù),(a)中包含生物油膜和乳化油膜;(b)包含生物油膜、乳化油膜和原油膜。
圖1 2010年墨西哥灣溢油數(shù)據(jù)(NO.1)
圖2 2011年歐洲北海溢油數(shù)據(jù)(NO.2、NO.3)
噪聲對雷達圖像會產(chǎn)生一定的干擾,因此使用正交條件下的Pauli分解[9],在一定程度上可以降低噪聲對雷達圖像的影響,對檢測暗區(qū)有幫助。具體的步驟如下所述:
(1)先將原始的實驗數(shù)據(jù)進行Pauli分解;
(2)再對Pauli分解后的圖像進行Boxcar濾波處理。
1.2.1 Pauli分解
在相干分解中[10],用于目標分解的四個Pauli基矩陣分別為。四個Pauli基對應于不同的實際散射機制,其中P1表示平面一次散射,P2和P3分別表示0°和45°相對取向的二面角反射器的二次散射,P4表示反對稱分量。
對于任意2×2 維度的復數(shù)矩陣S,其Pauli 分解式為:
式中,ki表示S在Pauli基Pi上的投影。
對矩陣所求的跡用Tr 表示,則ki可表示為:
對于大多數(shù)雷達目標,其理論后向散射矩陣均滿足互異性定理,因此理論后向散射矩陣在Pauli基P4上的投影均為0。故對于大多數(shù)雷達目標的理論后向散射矩陣,Pauli分解的正交基為P1、P2、P3。將目標理論相對散射矩陣Sj在正交條件下的投影向量記為:
式中,T 代表向量的轉(zhuǎn)置。
然而在實際測量中,由于雷達天線極化隔離度不理想和變極化作用引入的交叉極化串擾和極化增益失衡,需進一步通過外部定標體來校準雷達系統(tǒng)。在實際的雷達系統(tǒng)中,極化測量可以更準確地描述為:
其中,G是2×2的極化雷達接收通道增益矩陣;⊙表示Hadamard 點積運算;R和T是2×2 發(fā)送和接收失真矩陣;S是2×2目標極化散射矩陣;I是包括雜波、噪聲和干擾等不良信號的誤差矩陣;Sm表示實際測量的目標極化散射矩陣。
目標實際測量的相對散射矩陣不一定滿足互異性定理,因此需要在四個Pauli 基上進行分解。目標實際測量的相對散射矩陣在四個Pauli 基上的投影向量記為:
若三個目標的投影向量線性無關,則這三個目標滿足正交條件,均可選作定標體。記矩陣K=[k1,k2,k3],,其中kj表示第j個定標體的理論相對散射矩陣Sj在正交基上的投影向量,因此K是3×3的矩陣,表示定標體實際測量的相對散射矩陣在四個Pauli 基上的投影向量,所以Km是4×3 的矩陣,K與Km滿足以下關系:
式中,4×3 的誤差矩陣C包含失真矩陣R、T和增益矩陣G的全部信息。如果三個定標體滿足正交條件,則K可逆,于是
由于任何矩陣右乘可逆矩陣后矩陣的秩不變,列滿秩矩陣Km與K-1的乘積C也是列滿秩矩陣,從而矩陣C的左偽逆矩陣Lc存在。
記待校準目標的實際測量相對散射矩陣為在四個Pauli基上的投影向量為:
則校準后的投影向量為:
根據(jù)公式(9)和散射矩陣與投影向量的關系式(2),從而目標校準后的相對散射矩陣為[11]:
1.2.2 Boxcar濾波
Boxcar 濾波是一種在滑動窗口內(nèi)取平均像素值的濾波方法[12]。對于單極化SAR 圖像,濾波后的像素值與滑動窗口內(nèi)的像素值的關系如下:
Y為SAR圖像中第(i,j)個像素的強度值,N為濾波窗口的大小,i和j分別為圖像中被濾波的像素所在的行號和列號。
對于全極化SAR 數(shù)據(jù)可用Sinclair 散射矩陣S表達,數(shù)據(jù)通常以4個通道的文件Shh、Shv、Svh、Svv的形式給出。在進行濾波前,極化SAR 數(shù)據(jù)一般要處理成協(xié)方差矩陣C或相干矩陣T的形式:
其中,KP和KL分別是散射矩陣S的lexicographic 矢量展開和Paul矢量展開,式中右上角標*表示共軛轉(zhuǎn)置,右上角標T表示轉(zhuǎn)置。
在互易的情況下,Shv=Svh,KL和KP簡化為三維向量:
Boxcar濾波對相干矩陣T或協(xié)方差矩陣C的各個元素分別進行濾波。對于對角線的元素,由于是實數(shù),所以對于對角線元素生成的圖像可以直接進行濾波;非對角線元素由于是復數(shù),則實部和虛部分別進行窗口濾波。由于T或C矩陣是共軛對稱的,故總共需要過濾3+3×2=9 個通道的圖像。每個通道濾波后的像素值與滑動窗口內(nèi)的像素值的關系如下:
式中,Y為SAR 圖像中第(n,m)個像素的強度值,nm代表矩陣T或C的第n行,第m列元素。
在本文實驗中給全極化SAR圖像數(shù)據(jù)進行了Boxcar 濾波,濾波窗口的大小對后續(xù)的分類精度會產(chǎn)生一定的影響。通過實驗發(fā)現(xiàn)數(shù)據(jù)的對比度越強對暗斑的檢測精度越高,而濾波窗口的大小又會對圖像對比度產(chǎn)生影響(對比度指的是一幅圖像中明暗區(qū)域最亮的白和最暗的黑之間不同亮度層級的測量,即指一幅圖像灰度反差的大小。差異范圍越大代表對比越大,差異范圍越小代表對比越?。榱诉x擇一個合適的濾波窗口大小,進行了一個參數(shù)分析實驗,分別將濾波滑動窗口設置為3×3、5×5 和7×7,當窗口大小設置為1 時認為是不進行濾波。表1 展現(xiàn)的是對同一SAR 數(shù)據(jù)進行不同大小濾波窗口后的對比度值,由表可以得出窗口大小為3×3 時有較高的對比度,所以實驗中選擇3×3 大小的濾波窗口。
表1 不同滑動窗口大小下的對比度值
全極化SAR圖像的特征提取是進行油膜和類油膜分類的核心步驟。先提取特征再對提取的特征進行分析,最終篩選出最佳的特征組合成最優(yōu)特征子集作為網(wǎng)絡的輸入,本實驗中選取了極化散射熵,極化散射角和SERD 三種極化特征[13]作為最優(yōu)特征子集作為網(wǎng)絡的輸入。
極化SAR數(shù)據(jù)包含極化信息,如極化特征矩陣、極化散射向量等。與單極化SAR 圖像相比,全極化SAR圖像包含更多的物理特性,從而可以更全面地表達目標區(qū)域的特征。
本文中的三種極化特征(Entropy,Alpha,SERD)是由大小為3×3的相干矩陣T3求出的。
通過計算相干矩陣的特征矢量,可以將相干矩陣分解為3種相互正交的散射機制貢獻之和,特征值對應散射機制的權重系數(shù)。
式中,λi表示特征值,μi表示λi對應的特征向量。
本文中所提取的三種極化特征定義[14]分別如下:
(1)極化散射熵(Entropy):
其中,Entropy∈[0,1],當潔凈的海面被雷達波束照射時,Entropy值比較小,因為只會發(fā)生一種散射機制并且其值不會超過0.4;如果海面被油膜覆蓋,此時會發(fā)生多種散射機制,此時Entropy值在0.8以上。
(2)極化散射角(Alpha):
公式(24)中ei(1)表示[T3]極化相干矩陣的特征向量的首個元素,Alpha 的取值為0°~90°,Alpha 可以區(qū)分海面目標的不同散射機制。有油膜覆蓋的海水區(qū)域的Alpha值大于干凈的海水區(qū)域,其值大于42.5°。
(3)SERD特征:
式中,λinos表示[T3]相干矩陣的特征值,可根據(jù)λ1nos和λ2nos求出αi,αi表示散射角。若,則λs=λ1nos;若,則λs=λ2nos。SERD 對粗糙度非常敏感,而油膜的存在導致海水表面不同的粗糙程度,進而影響散射機制。在沒有油膜的海面區(qū)域,SERD值較大因為只有單次散射,而有油膜覆蓋的區(qū)域,散射機制比較復雜,單次散射機制所占比例較小,所以SERD值也較小。因此SERD 值的大小可以被用來區(qū)分全極化SAR圖像上的油膜和類油膜。
本文采用ResNet50 作為訓練本文實驗模型的基本網(wǎng)絡。ResNet加入了殘差學習框架,這種殘差結構不僅易于優(yōu)化并且計算量很小。設計殘差結構是為了解決隨著層數(shù)的加深網(wǎng)絡退化和梯度消失問題,進而可以在增加深度的同時提高網(wǎng)絡的性能[15]。ResNet 網(wǎng)絡不僅可以極大地加深卷積神經(jīng)網(wǎng)絡的層數(shù),而且可以有效地解決由于層疊加而導致訓練誤差增加的問題。
殘差模塊結構如圖3 所示,在ResNet 結構中,輸入為x,輸出為F(x)+x,擬合目標為H(x)-x,訓練目標為F(x)=H(x)-x即所謂的殘差。為了不斷改變淺層網(wǎng)絡,需要訓練使F(x)=x,即目標變成了讓F(x)+x=x,這也就相當于使F(x)=0。這比最初的訓練目標要簡單得多,因為網(wǎng)絡每一層的參數(shù)初始化通常偏向于0。與更新網(wǎng)絡層的參數(shù)來學習H(x)=x相比,更新冗余層的參數(shù)來學習F(x)=0 更快。
圖3 殘差模塊結構示意圖
殘差結構如圖3所示,定義為:
其中,x和y是網(wǎng)絡層的輸入和輸出向量,函數(shù)F(x,{Wi})表示要學習的殘差映射。
對于圖3 中兩層網(wǎng)絡的示例,函數(shù)F(x,{Wi})可以表示多個卷積層。為了簡化符號,省略了relu激活函數(shù)(Rectified Linear Unit,線性整流函數(shù))和偏差。F(x)+x操作通過快捷連接和逐個通道執(zhí)行逐元素加法實現(xiàn)。假設這個兩層神經(jīng)網(wǎng)絡,在l層進行激活,得到xl+1,則可簡單地寫成如下形式:
通過不斷堆疊網(wǎng)絡層數(shù),可以得到任意深層單元L特征的表達:
假定ε為損失函數(shù),由反向傳播的鏈式法則可得下式:
本文用于油膜和類油膜分類的ResNet50 的結構如圖4所示。
圖4 ResNet50結構示意圖
因為ResNet 屬于CNN 模型,因此圖像可以直接作為網(wǎng)絡的輸入,在本文所有作為網(wǎng)絡輸入的樣本都是基于像素的。圖5 展示的是實驗所用的三幅全極化SAR數(shù)據(jù)對應的三種極化特征圖。在一幅數(shù)據(jù)上選取一個感興趣區(qū)域即可在其對應的三種極化特征圖的對應位置上得到三個感興趣區(qū)域,由于所用SAR 數(shù)據(jù)上海水占大多數(shù)面積,因此需要將大部分海水區(qū)域去除,選擇出包含油膜和類油膜的區(qū)域即可。因此先用ENVI軟件在前三幅數(shù)據(jù)對應的特征圖上選取暗斑區(qū)域,然后對上一步選取的暗斑區(qū)域用MATLAB 軟件進行滑塊操作,滑塊的步長設置為20×20,最終實驗中共選取了12 600個實驗樣本,并從中隨機挑選10 800 個組成訓練集,其余1 800 個組成測試集。訓練集由3 600 個原油樣本、3 600個生物油樣本和3 600個乳化油樣本組合而成(其中Entropy 樣本、Alpha 樣本和SERD 樣本各3 600 個)。測試集的樣本分布與訓練集相同。其中特征融合指訓練網(wǎng)絡模型所用的訓練集和測試網(wǎng)絡模型所用的測試集是由三種特征的樣本共同組成的而不是單一的一種樣本。實驗中每一個樣本大小為50×50(參數(shù)大小確定過程詳見表2)。
表2 不同像素值的分類精確度和Kappa系數(shù)
圖5 三幅數(shù)據(jù)的三種極化特征圖
樣本的大小也會對分類結果產(chǎn)生影響。若輸入圖像太小,則網(wǎng)絡不能充分捕捉圖像上下文信息從而導致網(wǎng)絡學習到的圖像特征不夠充分。但是輸入圖像太大又會增加網(wǎng)絡負擔,導致花費太多的時間在訓練模型上,所以必須選擇合適的輸入圖像大小。
在本實驗中,根據(jù)輸入圖像大小對分類精度的影響確定輸入圖像的大小。實驗中將ResNet的其他參數(shù)固定,測試不同大小樣本得到的分類精度,結果如表2 所示。結果表明,分類的精度會隨著輸入圖像大小的增大而增大。這是因為當圖像過小時網(wǎng)絡提取到的上下文信息不夠充分導致的。但是隨著圖像的增大當輸入圖像大小為50×50時精度開始趨于穩(wěn)定,繼續(xù)增大圖像精度開始下降,因此實驗中最終將輸入圖像大小確定為50×50。
本實驗分別在Entropy、Alpha、SERD三種極化特征對應的特征圖上選取多個感興趣區(qū)域作為網(wǎng)絡的訓練集和測試集。其中訓練集由3 600個原油樣本、3 600個生物油樣本和3 600個乳化油樣本(共計10 800個)組合而成。測試集由600 個原油樣本、600 個生物油樣本和600 個乳化油樣本(共計1 800 個)組合而成,最終得到97.56%的分類精度。
將相同的訓練集和測試集應用于AlexNet 和VGG模型中,最后將分類結果與ResNet50進行比較,結果如表3所示。
表3 本文所提算法與AlexNet、VGG的比較
在ResNet50 網(wǎng)絡模型分類結果中8 個原油樣本被分類為生物油樣本,6個原油樣本被分類為乳化油樣本,20 個生物油樣本被分為乳化油樣本,10 個乳化油樣本被分為生物油膜樣本;在AlexNet 網(wǎng)絡分類結果中6 個原油樣本被分類為乳化油樣本,12個生物油樣本被分類為原油樣本,12個生物油樣本被分為乳化油樣本,29個乳化油樣本被分類為原油樣本,7個乳化油樣本被分類為生物油樣本。在VGG網(wǎng)絡模型分類結果中4個原油樣本被分類為生物油樣本,20個原油樣本被分類為乳化油樣本,41個生物油樣本被分類為原油樣本,11個生物油樣本被分為乳化油樣本,10個乳化油樣本被分類為原油樣本,22個乳化油樣本被分類為生物油樣本。
表3 中的時間是指訓練10 800 個樣本迭代一次所用時間,在模型訓練過程中將迭代次數(shù)設置為300,將Batch_size 設置為15。接著將1 800 個測試樣本輸入網(wǎng)絡模型對模型進行測試。從實驗結果可以看出,在分類油膜和類油膜方面,由于深度殘差網(wǎng)絡具有較深的層數(shù),因此在運行時間上多于其他兩種深度學習算法,但正是因為殘差網(wǎng)絡特有的殘差結構使得網(wǎng)絡可以在增加網(wǎng)絡深度提高分類精度的同時又能保證網(wǎng)絡模型不退化,因此在分類精度上明顯優(yōu)于AlexNet和VGG。尤其在大規(guī)模數(shù)據(jù)集上會有更好的適用性。其分類的有效性從kappa系數(shù)和ROC曲線圖(圖5)也可以看出。
由于本文研究的是一個圖像二分類問題,即識別區(qū)分SAR 圖像上的油膜和類油膜現(xiàn)象,所以可以借助ROC 曲線[16]來評估和比較本文所提算法與AlexNet、VGG的分類效果。
為了確保油膜和類油膜是等概率的,本文隨機選取4 200個訓練樣本組成訓練集(包括2 100個油膜樣本和2 100個類油膜樣本)和700個測試樣本組成測試集(包括350 個油膜樣本和350 個類油膜樣本)用于ROC 實驗。結果本文所提算法和AlexNet、VGG的ROC曲線如圖6所示。從圖中可知,本文所提算法ResNet50的敏感度明顯更高,AlexNet 其次,VGG 的敏感度相對最低。由此可見,本文所采取的識別方法具有較高的敏感性??梢愿玫貙θ珮O化SAR數(shù)據(jù)上的油膜和類油膜進行區(qū)分。
圖6 ResNet50與AlexNet、VGG的ROC曲線圖
為防止因數(shù)據(jù)不足導致的過度擬合現(xiàn)象,又做了另外兩組實驗。在這兩組分析過度擬合的實驗中,油膜樣本和類油膜樣本具有相同的概率。第一種網(wǎng)絡模型是由3 600 個原油樣本、3 600 個生物油樣本和3 600 個乳化油樣本(共10 800個樣本)訓練得到的,訓練樣本來自于前三幅數(shù)據(jù)。而第二種網(wǎng)絡模型是由2 000個原油樣本、2 000個生物油樣本和2 000個乳化油樣本(共6 000個樣本)訓練得到的,訓練樣本只基于第三幅數(shù)據(jù)。所有測試樣本都選自于第三幅數(shù)據(jù),由200 個原油樣本、200 個生物油樣本和200 個乳化油樣本(共600 個樣本)組成。用同一測試集對這兩種網(wǎng)絡模型分別進行測試,結果三種油膜經(jīng)過這兩種模型測試得到的分類精度如表4所示。通過分類結果可以分析得出,第二種網(wǎng)絡模型無論對哪種油膜的分類精度都比第一種網(wǎng)絡模型的分類精度高。通過實驗結果可以得出,若訓練樣本不夠充足,三種深度學習算法訓練得到的網(wǎng)絡模型都會發(fā)生過擬合。為了避免發(fā)生過擬合現(xiàn)象,在以后的研究中非常有必要擴充訓練樣本數(shù)據(jù)。
表4 基于兩種模型的分類精度 %
在深度學習中,網(wǎng)絡模型訓練之前會進行采樣,然后將總體樣本劃分為訓練集和測試集,然而訓練集和測試集的樣本數(shù)量比例會一定程度上影響網(wǎng)絡模型的訓練和測試效果,如果兩者的比例太大,有可能使模型發(fā)生過度學習現(xiàn)象,并且網(wǎng)絡訓練的時間會增長,增加網(wǎng)絡訓練的負擔,但是若比例過小,又會導致訓練出的網(wǎng)絡模型與實際模型相差較大,進而使測試精度降低。因此為了找到合適的樣本比例。本文進行了K-CV實驗,即將制作的數(shù)據(jù)集樣本均分為K份,然后任取一份作為網(wǎng)絡模型的測試數(shù)據(jù)集,其余的K-1 份用來訓練網(wǎng)絡模型。K為整數(shù)并且K值通常大于3。
組內(nèi)實驗所用數(shù)據(jù)集樣本均來自前三景數(shù)據(jù),實驗中本文的數(shù)據(jù)集共包含12 600 個樣本,在K-交叉驗證實驗中,分別將K值設置為3、5、7、9,然后通過實驗得出了每一個K值對應的暗斑分類精度的均值和方差,結果表明隨著K值的增大分類結果的穩(wěn)定性逐步得到提升,當K值增大到7以后,分類結果的變化趨于平緩,考慮到網(wǎng)絡訓練的成本,將K值確定為7,即測試集和訓練集的樣本比例為1∶6。具體驗證結果如表5所示。
表5 不同K 值對應的分類精度的均值和方差
本文主要采用多特征融合(即數(shù)據(jù)集由三種特征的樣本組成)和ResNet 相結合的方法區(qū)分SAR 圖像上的油膜和類油膜現(xiàn)象。所用數(shù)據(jù)集包含10 800 個訓練樣本和1 800 個測試樣本,最后得到的分類精確度為97.56%。同時將分類結果與AlexNet、VGG的分類結果進行對比。結果表明,雖然Resnet在耗時上多于其他深度學習方法,但是其在準確率方面明顯優(yōu)于其他算法,在大規(guī)模數(shù)據(jù)集上有更好的適用性,在以后的研究中,將進一步擴充數(shù)據(jù)集,增加類油膜的種類,并提取更多的特征,選出更好的特征子集,改進ResNet 模型,將其與更多的模型算法進行對比分析,使其可以有更高的分類精確度和更好的時間性能,可以更好地應用于不同SAR圖像上油膜和類油膜的分類。