?

基于深度學習網絡的遙感圖像異常檢測方法研究

2023-12-30 15:17曹哲驍郭云翔
空間控制技術與應用 2023年6期
關鍵詞:分類深度樣本

曹哲驍, 傅 瑤, 王 麗, 蘇 盈, 郭云翔, 王 田,5

1. 北京航空航天大學,北京 100191 2. 復雜關鍵軟件環境全國重點實驗室,北京 100191 3. 中國科學院長春光學精密機械與物理研究所,長春 130033 4. 武漢高德紅外股份有限公司,武漢 430223 5. 中關村實驗室,北京 100191

0 引 言

隨著人工智能的迅速進步,尤其是深度學習技術的不斷演進,航天高光譜遙感數據正迎來廣闊的應用前景.這類數據具備成像覆蓋范圍廣、光譜分辨率高、圖譜合一等特性,是圖像和光譜信息的有機融合[1].基于深度學習的人工智能技術方法的迅猛發展,有助于這些數據中的關鍵信息提取,應用于場景分類、目標檢測等應用場景[2-3].

傳統的目標檢測和圖像分割算法往往使用監督學習的范式,需要大量人力資源用于收集充分數量的目標類別圖像樣本,并對圖像類別、目標位置或像素類別進行精確標注. 然而,在許多應用場景下,目標樣本的獲取十分艱難,存在正負樣本不均衡的問題. 例如,對于表面缺陷檢測任務,可供使用的數據集圖像大部分表面并無缺陷,屬于正常樣本,而缺陷樣本僅占數據集中的少數比例,同時,需要檢測的缺陷種類卻種類繁多,更可能有許多數據集中未包含但現實中存在的缺陷種類,使得可供如目標檢測、圖像分割等有監督訓練范式的缺陷標簽和對應樣本嚴重受限[4].在這些情況下,由于目標類別樣本的缺乏,傳統的監督學習方法遇到瓶頸. 與監督學習相比,異常檢測方法由于其無監督或半監督的范式,構建檢測模型的方法對樣本標簽的需求小,對于數據集正負樣本不均衡的情況十分適用,在制造缺陷檢測,醫學圖像分析,視頻監控,高光譜圖像處理等領域有較高的研究意義和應用價值[5].

圖像異常檢測與典型的監督分類或檢測問題不同之處在于對異常數據及其標簽的獲取受限. 因此異常檢測器通常是在半監督或僅使用正常數據的單分類無監督設置下構建的. 由于異常模式的分布在模型學習過程中的未知性,模型在訓練階段學習正常實例的模式,并在測試階段不能較好表示測試實例的情況下確定異常.

在圖像異常檢測問題中,傳統的機器學習方法已經取得了較好的效果,并得到了廣泛應用. 隨著深度學習技術的不斷發展,前沿的研究進一步將深度卷積神經網絡與圖像異常檢測相結合,以提高檢測效果. 根據機器學習模型是否由深度神經網絡組成,目前主流的圖像異常檢測方法可分為兩大類:傳統的機器學習方法和深度學習方法.

基于傳統機器學習方法的異常檢測技術包含基于統計模型的異常檢測方法,通常利用統計模型來構建圖像中像素值或特征向量的正常分布模式,對于測試圖像則通過與分布的距離判定異常與否. 使用高斯分布模型進行描述是較為常見的方法. 在高光譜圖像處理應用中,REED等[6]將背景建模為高斯分布,并從圖像場景中隨機選擇像素來代表背景統計數據從而檢測異常. 然而,單一高斯分布模型對更為復雜的場景建模能力有限,為了避免這一劣勢,VERACINI等[7]通過高斯混合模型對高光譜圖像的背景像素進行正常模型建模,并通過在貝葉斯框架內開發的期望最大化算法,在參數估計過程中自動評估組件數量,最后使用廣義似然比檢驗來檢測異常.

基于深度學習方法的異常檢測技術通常采用基于圖像重構的異常檢測方法,這種方法往往使用自編碼器學習訓練階段正常輸入圖像的分布[6-7],在檢測階段通過重構圖像和真實圖像的重構誤差作為異常評分,從而進行異常檢測.

基于自編碼器的方法被認為是過于完備的,存在著無法保證完全消除輸入圖像中的異常區域的問題[8-10].即在輸入異常樣本時,即使編碼器得到的特征向量和正常分布相差較大,解碼器得到的重構圖像依然近似于輸入,與輸入圖像的差異并不明顯,導致這些異常樣本存在被誤判成正常樣本的可能性. 為了解決異常樣本重構效果不明顯的問題,GONG等[11]提出的記憶強化自編碼器在自編碼器的特征空間上增加了記憶模塊,將訓練過程中最具有代表性的特征向量存儲在模塊中,并在重建時通過注意力機制的方式對特征向量進行處理,使重構圖像的更加接近學習的正常樣本分布;在高光譜圖像處理應用中,HADGAN 等[12]引入了潛在對抗學習、一致性增強表示約束和收縮約束,使得編碼器專注于重構大多數類別(即背景像素),在原始圖像和重構圖像的殘差圖上應用基于能量的空間和基于距離的光譜聯合異常檢測器,以獲得最終的檢測圖,并提出了一種新的基于最小能量的波段選擇方法,用于降低維度并輔助空間檢測器進行檢測.

近年來,基于深度學習方法的異常檢測技術也采用了基于特征相似度的方法. RUFF等[13]提出的深度支持向量數據描述(deep support vector data description, Deep-SVDD)是這一類型的代表性方法. SVDD將正常圖像樣本的特征聚集在人為指定的特征中心點附近, 而由于缺乏對異常樣本的學習,異常樣本在特征空間中的特征并不符合正常樣本的分布,往往遠離正常樣本的特征中心點,由此根據檢測階段樣本與正常樣本特征中心點的距離判斷樣本是否異常. 文獻[14-15]結合傳統方法和深度學習來進行異常檢測,使用深度神經網絡提取特征向量,用于描述異常檢測的整個圖像或用于異常定位的圖像子塊,在異常檢測階段利用傳統的機器學習方法進行異常檢測,產生了較好的異常檢測和定位結果,但在高光譜處理方面應用仍存在空白.

本文采用了基于特征相似度的方法,將深度學習和傳統方法結合得到異常檢測方法. 遵循兩階段框架,使用自監督預訓練的ResNet-18網絡作為特征提取器,然后借助高斯密度估計實現對異常圖像的分類,如圖1所示. 并利用一種基于梯度定位的深度網絡可視化解釋方法GradCAM[16]解決了異常圖像定位和算法可解釋性問題.

1 特征提取模型

1.1 自監督學習方法

在第一階段,通過自監督學習從普通數據中學習深度表示.

代理任務對于自監督表示學習至關重要. 雖然在現在已有許多流行的方法構建代理任務,包括旋轉預測[17]和對比學習[18-19],但簡單地應用現有的方法對于檢測局部異常幫助較小,因此需要設計一種增強策略,創建局部不規則模式,然后訓練模型識別這些局部不規則性,并希望它能在測試時推廣到未知的真實異常. 一種常用的增強方法是Cutout[20],它可以擦除圖像中隨機選擇的一個小矩形區域. 這個任務似乎很容易通過精心設計的低級圖像過濾器來解決,但由于缺乏先驗信息,深度卷積網絡并不會學習這些捷徑,因此可以學習局部異常信息.LI 等[15]針對實際缺陷檢測任務缺陷一般含有拉伸變形,特殊的紋理構造,通過CutPaste模擬異常樣本.

為了進一步防止學習用于區分增強圖像和鼓勵模型學習檢測不規則性,如表1所示,模仿CutPaste的代理任務,使用如下所示的異常數據生成方法用于自監督訓練:

表1 訓練過程的 PyTorch-style 偽代碼Tab.1 Pseudo code for training in Pytorch style

1)從仿真異常圖像中隨機選擇一個樣本,并可選地對其進行旋轉或像素值抖動;

2)從正常訓練圖像中隨機選擇一個和樣本大小相當的小矩形區域;

3)將異常樣本粘貼在圖像中.

對于生成的樣本,通過特征提取模型進行特征提取,并連接一層MLP(multilayer perceptron),對特征進行二分類,特征提取和分類模型記為g(). 正常樣本x的目標標簽為0,異常樣本xa的目標標簽為1,使用交叉熵(cross entropy)損失函數進行訓練,交叉熵函數和損失函數的定義如下:

CE(P,Q)=-∑P(x)logQ(x)

(1)

L=E{CE(g(x),0)+CE(g(xa),1)}

(2)

1.2 Resnet-18特征提取網絡模型

ResNet是一種用于圖像分類的深度卷積神經網絡結構[21].其主要特點是使用了殘差塊(residual block)來解決深度神經網絡中的梯度消失問題,從而使得網絡可以更深,更容易訓練.

假設輸入數據x時,H(x)是神經網絡期望的期望輸出,由于學習難度大,直接把輸入x作為初始結果,通過“捷徑”傳到輸出,使學習目標變為殘差F(x)=H(x)-x,相比H(x)更易于學習,則可以使網絡穩定.殘差塊的計算方法如式(2)和圖2所示.

圖2 殘差塊Fig.2 Residual block

圖3 ResNet模型網絡結構Fig.3 Network architecture of Resnet models

圖4 TG1HRSSC數據集樣本數據可視化展示Fig.4 Sample display of TG1HRSSC dataset

H(x)=F(x)+x

(3)

近年Resnet作為計算機視覺的里程碑工作,廣泛地應用于圖像分類、目標檢測和予以分割等任務. ResNet18是ResNet系列的一種輕量級結構,它是由18個卷積層和全連接層組成的深度神經網絡,如圖2所示.相對于VGG16[22]和AlexNet[23]等模型,其具有更少的參數,更快的訓練速度和更好的性能. 適用于訓練數據較少的異常檢測任務.

2 異常評分和定位方法

2.1 異常評分方法

在第二階段,評估輸入數據的深度表示與正常數據的離群程度來得到異常評分.

目前存在各種通過單類分類器計算異常分數的方法,生成式分類器包括KDE、GDE等. 在本文中,在特征f上構建生成高斯密度估計器GDE[24]以作為分類器,其對數密度計算如下:

(4)

其中μ是訓練集特征向量的中心,Σ是訓練集特征向量分布的對稱協方差矩陣,二者均從正常數據中建模得到.

計算樣本的密度函數后,可以通過設置分類閾值的方法來判斷樣本是否異常,如圖5所示,在藍色圓形分類閾值內的樣本被判定為正常,標記為藍色圓點,而在分類閾值外的樣本被判定為異常,標記為紅色×號.

圖5 異常評分方法可視化展示Fig.5 Display of anomaly score method

2.2 異常定位方法

在異常檢測中,當模型通過預測任務學習圖像的整體表征時,很難像生成模型那樣通過重構誤差進行異常定位. 因此,使用一種基于梯度定位的深度網絡可視化解釋方法Grad-CAM[16]來突出顯示影響異常檢測模型決策的區域.

Grad-CAM使用CNN模型的最后一個卷積層的梯度信息為每個神經元分配權重,以進行定位決策.

圖6 Grad-CAM算法流程Fig.6 Overview of Grad-CAM algorithm

(5)

3 實驗及結果

3.1 數據集

本文基于天宮一號高光譜遙感場景分類數據集[25],在測試集構建仿真異常數據,對異常檢測模型性能進行了訓練和評估.

天宮一號高光譜遙感場景分類數據集(TG1HRSSC)包括單波段的5 m分辨率的全色譜段,54個有效波段的10 m分辨率可見近紅外譜段和52個有效波段的20 m分辨率短波紅外譜段. 數據集包括9個典型場景,包括城鎮、機場、養殖塘、河流、港口、湖泊、農田、林地和荒漠.數據集展示圖像如圖4所示,其中彩色圖像由選擇波段作為RGB通道的圖像合成,灰度圖像由單波段圖像構成.可見近紅外譜段中的近似真彩色圖像使用29、19和6波段合成,假彩色圖像使用52、29和19波段合成;短波紅外譜段的假彩色圖像使用23、11和37波段合成;使用全色譜段的灰度圖像使用其單波段構成. 實驗中,仿照數據集可視化方法,選用可見近紅外譜段數據真彩色波段通道29、19和6組合,選用短波紅外譜段數據假彩色波段通道23、11和37組合,分別用于合成RGB通道格式的圖像,并按各譜段亮度峰值進行歸一化操作,符合計算機視覺領域廣泛使用的卷積神經網絡學習所需輸入圖像數據格式.

由于城鎮、機場和養殖塘等3類地物樣本數量有限,較難滿足深度神經網絡對訓練的數據量的需求,且場景與作為待檢測異常的雷達樣本有所沖突,因此本文參考數據集工作[25],選取河流、港口、湖泊、農田、林地和荒漠等6類可將雷達視為異常場景的場景類別進行模型訓練和測試,并使用90°、180°和270°旋轉,上下、左右和上下左右翻轉進一步增廣樣本數據至原始數據量的7倍,并剔除了部分傳感器導致成像臟污的樣本數據.實驗中,使用計算機生成的軍事目標可見光仿真圖像和網絡收集的衛星拍攝圖像作為構建異常樣本的對象,包括雷達、飛機、車輛和坦克等類別.如圖7所示.實驗訓練集與測試集劃分比例8∶2,共記訓練圖像415張,測試圖像103張,其中異常測試圖像41張.

圖7 用于構造異常樣本的異常圖像樣本展示Fig.7 Sample display of anomaly image for anomaly sample construction

3.2 實驗方法

遵循單分類檢測的傳統過程,即在正常數據上進行訓練,得到特征提取器后,使用正常數據特征構建到單分類器,參考文獻[26],使用ResNet-18作為骨干網絡,連接一個3層MLP投影層來學習表示.

訓練模型的輸入圖像尺寸為100×100,使用動量SGD優化模型參數,學習率為0.03,動量參數為0.9,batch size大小為64,訓練500 epochs. 使用余弦學習率衰減計劃和L2權重正則化,系數為0.000 03.在進行異常數據生成時,對異常樣本應用隨機旋轉和顏色抖動進行數據增強,以增強特征表示的魯棒性.

對ResNet模型采用3種訓練策略:

1)直接在訓練集上訓練得到權重;

2)通過微調在大規模圖像分類數據集ImageNet[27]預訓練的權重,在前100 epochs 同時訓練ResNet和MLP,在100~400 epochs凍結ResNet,訓練MLP;

3)凍結ImageNet預訓練權重,只訓練MLP.

訓練完成后,在測試集上進行驗證,以檢驗自監督訓練的有效性.

3.3 實驗結果

由于異常檢測本質上是一個單分類問題,傳統機器學習中兩類問題中的指標可以用來衡量異常檢測模型的檢測效果.然而,由于數據集的正常樣本遠多于異常樣本,準確率和召回率均不適合用于作為異常檢測的評價指標.但可以繪制接受者操作特征曲線(receiver operating characteristic curve,ROC)來比較異常檢測模型的優劣.

如表2定義的混淆矩陣所示,每一行表示數據的真正歸屬類別;每一列中的數值表示真實數據被預測的類別.真陽性率(true positive rate,TPR)和假陽性率(false positive rate,FPR)為

表2 混淆矩陣Tab.2 Confusion matrix

(6)

(7)

在接受者改變分類閾值時,以假陽性率FPR為橫坐標,真陽性率TPR為縱坐標繪制的曲線即為ROC曲線.ROC曲線到x軸的面積為曲線下面積(area under curve,AUC).

實驗設置異常評分分類器為GDE,實驗結果及與其他深度學習異常檢測方法效果如表3所示. 其中本文和CutPaste方法可以引入ImageNet預訓練知識,大幅提升檢測準確率,在表3中用P表示. 本文所提出的異常檢測算法可以提供優異的異常檢測效果.

表3 異常檢測實驗結果Tab.3 Experimental results of anomaly detection

異常定位相關結果在圖8中展示,圖8中前4張可見近紅外譜段圖像分辨率為256 pixel×256 pixel,后6張短波紅外譜段分辨率為128 pixel×128 pixel,可以看出自監督訓練能幫助夠定位圖像中的異常信息,且有助于發現人類肉眼難以發現的異常.

圖8 異常定位結果樣本展示Fig.8 Sample display of anomaly localization

4 結 論

本文在CutPaste基礎上提出了一種適用于遙感圖像的異常檢測和定位方法. 通過對正常數據和模擬生成的異常數據進行自監督分類,鼓勵模型發現異常樣本的特性,有效地訓練了編碼器的表征能力,使建模得到正常樣本特征與異常樣本產生較大差距. 在仿真數據集上展示出了優秀的圖像標簽級異常檢測性能,直接訓練的模型即可得到AUC 0.872 9的異常檢測模型,引入ImageNet預訓練知識后對異常檢測的AUC可達0.999 6,并通過Grad-CAM展示了優秀的異常定位性能.

猜你喜歡
分類深度樣本
分類算一算
用樣本估計總體復習點撥
深度理解一元一次方程
分類討論求坐標
深度觀察
深度觀察
深度觀察
推動醫改的“直銷樣本”
數據分析中的分類討論
教你一招:數的分類
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合