張巨萍,高光來,蘇向東
1.內(nèi)蒙古大學(xué) 計算機學(xué)院,呼和浩特 010021
2.內(nèi)蒙古財經(jīng)大學(xué) 計算機信息管理學(xué)院,呼和浩特 010070
隨著傳感器和遙感技術(shù)的發(fā)展,獲得超光譜圖像難度和成本逐步降低,越來越多的超光譜圖像(hyperspectral images,HSI)被應(yīng)用于各個領(lǐng)域,如資源勘探[1]、精細農(nóng)業(yè)[2]、目標識別[3]等。超光譜圖像的像素點分類是超光譜圖像在各個領(lǐng)域應(yīng)用的重要前提,研究人員在超光譜圖像的像素點分類方面做了大量的工作,都取得了一定的進展[4-7]。
近年來,隨著深度學(xué)習技術(shù)的成熟,它在各個領(lǐng)域中的應(yīng)用也越來越廣泛。人們也在嘗試將深度學(xué)習用于超光譜圖像的像素點分類。文獻[8]使用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)與稀疏表示相結(jié)合,在不同類型的超光譜數(shù)據(jù)上對像素點進行了分類。文獻[9]使用棧式自編碼器提取超光譜遙感圖像的光譜特征,使用主成分分析(principal component analysis,PCA)算法獲取像素點的空間特征,將二者結(jié)合作為圖像的空譜特征,進行像素點的分類。文獻[10]則是使用深度置信網(wǎng)絡(luò)(deep belief nets,DBN)進行空譜特征的學(xué)習。Zhou等人提出了一個深度層次模型——空譜網(wǎng)絡(luò)(spectral-spatial network,SSN)[11],同時利用光譜和空間信息,以分層的方式來學(xué)習圖像特征,將學(xué)習到的特征用于超光譜圖像像素點的分類。以上工作均取得了較好的分類效果。
在超光譜圖像獲取的過程中,由于受自然光照條件、地面地形、混合像元等諸多因素的影響,圖像中引入了大量的噪聲。因此,在利用遙感數(shù)據(jù)生成可用的超光譜圖像之前,通常需要進行一系列的前期處理,如大氣校正、幾何校正以及水汽去除等。但即使經(jīng)過這些預(yù)處理,超光譜圖像中也仍然存在著大量的隨機噪聲[12-14]。這些噪聲同時存在于光譜域和空間域中。在對超光譜圖像特征提取和分類時,噪聲也被當作數(shù)據(jù)的一部分進行處理,從而導(dǎo)致分類精度的降低。但目前使用深度學(xué)習技術(shù)進行超光譜圖像分類研究的工作大都關(guān)注了空間域噪聲的去除,而未見考慮光譜域噪聲的濾除。
由于Zhou等人[11]提出的SSN在小的訓(xùn)練樣本集和樣本集中各類樣本數(shù)不均衡的情況下仍然保持了非常好的分類精度,本文基于該模型研究光譜域濾波對分類效果的影響,并分別提出使用線性濾波方法——SG(Saviztky-Galoy)濾波[15]進行光譜域濾波的超光譜圖像分類模型SG-SSN和使用非線性濾波方法中的中值濾波進行光譜域濾波的超光譜圖像分類模型MF-SSN。另外,由于模型訓(xùn)練的層數(shù)(即模型深度)是影響算法執(zhí)行的重要因素,Zhou等人[11]對模型的深度給出了趨勢性的結(jié)論。本文針對不同數(shù)據(jù)集的SSN模型深度進行了深入探討,從分類精度和訓(xùn)練時間上尋找適合的深度,并在SG-SSN和MF-SSN上進行了實驗,對關(guān)于深度的結(jié)論進行了補充。
空譜學(xué)習網(wǎng)絡(luò)SSN的特征學(xué)習部分由多個空譜特征學(xué)習單元(spectral-spatial feature learning units,SSFLU)堆疊構(gòu)成,形成一個多層的深度網(wǎng)絡(luò)結(jié)構(gòu)。每一層是一個SSFLU,一個SSFLU由兩部分組成:光譜特征學(xué)習部分和空間特征學(xué)習部分。光譜特征學(xué)習部分由線性判別分析(linear discriminant analysis,LDA)[16]實現(xiàn),LDA能夠?qū)崿F(xiàn)最小化類內(nèi)分散度和最大化類間分散度。使用LDA,可將超光譜圖像在光譜維度進行降維處理,同時保證類間的最大區(qū)分性??臻g特征學(xué)習使用多個不同尺度的自適應(yīng)空間濾波對LDA的處理結(jié)果進行空間濾波,從而獲得圖像中同一區(qū)域的不同尺度表示。圖1是文獻[11]中所描述的SSFLU結(jié)構(gòu)。
Fig.1 Architecture of SSFLU圖1 SSFLU的結(jié)構(gòu)
空譜網(wǎng)絡(luò)每層的輸出結(jié)果作為下一層的輸入數(shù)據(jù),像素點經(jīng)過多個SSFLU在光譜域和空間域的迭代處理,獲得的輸出即為深度空譜特征。在SSN中,空間特征學(xué)習部分使用的自適應(yīng)空間濾波同時兼有空間濾波的效果,但在光譜特征學(xué)習部分,沒有對光譜域的噪聲進行處理。帶有噪聲的數(shù)據(jù)經(jīng)過光譜和空間特征學(xué)習部分后,得到了帶有噪聲的特征。圖2給出了文獻[11]中所描述的SSN的深度特征學(xué)習結(jié)構(gòu)。
Fig.2 Deep feature learning architecture of SSN圖2 SSN的深度特征學(xué)習結(jié)構(gòu)
濾波方法分為線性濾波和非線性濾波兩種。使用線性濾波中的SG[15]方法和非線性濾波的中值濾波方法對超光譜圖像的光譜域進行濾波。SG濾波是由Saviztky和Galoy提出的線性濾波方法,使用簡化的最小平方擬合卷積進行一組連續(xù)值(光譜)的導(dǎo)數(shù)計算和平滑。簡化的最小平方卷積的一般公式為:
其中,Y是原始光譜;Y*是結(jié)果(平滑后)光譜;Ci是濾波器(平滑窗)的第i個光譜值;N是卷積窗的大??;j是原始坐標數(shù)據(jù)表的滑動坐標。平滑窗口(濾波窗口)包含2m+1個點,其中,m為平滑窗口的一半大小。Savitzky和Galoy提供了系數(shù)值的表。由于只允許多項式階和導(dǎo)數(shù)階的有限組合,因此查找表的上限為25,即平滑窗口大小為12。Madden[17]改正了原Saviztky-Galoy系數(shù)的一些錯誤,并給出了各階導(dǎo)數(shù)平滑系數(shù)的計算公式??梢赃M行平滑導(dǎo)數(shù)為0到6階的最小平方擬合卷積的系數(shù)的計算。
中值濾波是基于排序統(tǒng)計理論的一種能有效抑制噪聲的非線性信號處理技術(shù),中值濾波的基本原理是把數(shù)字圖像或數(shù)字序列中一點的值用該點的一個鄰域中各點值的中值代替,讓周圍的像素值接近真實值,從而消除孤立的噪聲點。它在抑制隨機噪聲的同時能有效保護邊緣少受模糊。它是通過對一個滑動窗口內(nèi)的值排序,用其中值代替窗口中心元素的值,一階中值濾波的公式為:
其中,i為當前濾波點,中值濾波的濾波窗口大小為2m+1,m是窗口一半的大小。
超光譜圖像的像素點根據(jù)其空間分辨率的大小不同代表不同范圍的地物,因此不同的像素點具有不同的光譜特征,其光譜特征可以通過光譜曲線體現(xiàn)出來。即使經(jīng)過了預(yù)處理,高光譜圖像仍然不可避免帶有很多噪聲,這些噪聲導(dǎo)致光譜曲線上呈現(xiàn)非常明顯的鋸齒狀結(jié)構(gòu)[18]。因此,可以通過對光譜曲線進行平滑,來去除圖像的光譜噪聲,從而獲得地物光譜的更真實表達。常用的曲線平滑方法中,均值濾波和加權(quán)平均濾波方法都沒有考慮曲線本身的變化趨勢,而最小二乘平滑法則假設(shè)曲線滿足某種數(shù)學(xué)特性,并采用多項式來擬合曲線趨勢。由于SG濾波法是經(jīng)典的最小二乘平滑法,因此使用SG濾波方法來對光譜域進行去噪操作。
中值濾波作為一種經(jīng)典的非線性濾波方法,與其他的非線性濾波方法相比,它的原理簡單,實現(xiàn)容易。在MF-SSN中,對每一像素點光譜域的值作為一維信號輸入濾波器中,進行光譜域的去噪處理。
在SG-SSN和MF-SSN中,首先分別使用SG濾波和中值濾波對超光譜圖像的光譜維進行濾波預(yù)處理,然后將濾波后的數(shù)據(jù)作為SSN的輸入,進行光譜特征和空間特征的分層交叉學(xué)習。由于要進行光譜特征和空間特征的反復(fù)學(xué)習,因此最后得到的輸出即為去噪的深度空譜特征。
使用學(xué)習到的空譜特征訓(xùn)練極限學(xué)習機(extreme learning machine,ELM)[19-20]并測試最后的分類精度。ELM是一種簡單易用、有效的單隱層前饋神經(jīng)網(wǎng)絡(luò)(single-hidden layer feedforward neural network,SLFN)學(xué)習算法。2004年由南洋理工大學(xué)黃廣斌副教授提出。與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)需要人為設(shè)置大量的網(wǎng)絡(luò)訓(xùn)練參數(shù)且極易產(chǎn)生局部最優(yōu)解相比,極限學(xué)習機只需設(shè)置網(wǎng)絡(luò)的隱層節(jié)點個數(shù),不需要調(diào)整網(wǎng)絡(luò)的輸入權(quán)值及隱元的偏置,且能夠產(chǎn)生唯一的最優(yōu)解,學(xué)習速度快且泛化性能好。因此本文將ELM作為SGSSN(MF-SSN)的分類器。實驗結(jié)果表明,使用濾波去噪后學(xué)習得到的空譜特征能夠獲得較高的分類精度。SG-SSN(MF-SSN)系統(tǒng)模型結(jié)構(gòu)如圖3所示。
本文使用與文獻[11]中相同的兩個數(shù)據(jù)集來進行模型的驗證。第一個數(shù)據(jù)集是印第安松林(Indian Pines)[21],由AVIRIS傳感器采集于印第安納西北部。圖像大小為145×145,共16類地物,名稱及樣本數(shù)見表1。獲取的光譜波段數(shù)為220,通過預(yù)處理,移除掉噪聲較大區(qū)域,還剩200個光譜波段。該圖的特點是存在大量混合像素,帶標記樣本的總數(shù)較少并且各個類別的帶標記的樣本個數(shù)不均衡。使用的第二個數(shù)據(jù)集是帕維亞大學(xué)場景(Pavia University scene,PUS),由ROSIS傳感器采集于意大利北部的帕維亞大學(xué)。它的圖像大小為610×340(波長范圍從0.4μm到0.9μm),共有9類地物。該圖初始時共有115個光譜波段,將12個噪聲最大的波段移除后,還有103個光譜波段,圖中各類的描述和樣本數(shù)見表2??偟膸擞洏颖緮?shù)為42 776。
Fig.3 Architecture of SG-SSN(MF-SSN)圖3 SG-SSN(MF-SSN)的結(jié)構(gòu)
Table 1 Sample class and numbers of Indian Pines data set表1 Indian Pines數(shù)據(jù)集中每類樣本數(shù)
Table 2 Sample class and numbers of PUS data set表2 PUS數(shù)據(jù)集中每類樣本數(shù)
對每個圖像,隨機取每類帶標記樣本數(shù)的r%(r=1,2,3,4,5)作為訓(xùn)練數(shù)據(jù),每類剩余的樣本為測試數(shù)據(jù)。為了結(jié)果的一般性,重復(fù)進行10次實驗,取分類結(jié)果的平均精度。使用總精度(overall accuracy,OA)、平均精度(average accuracy,AA)以及Kappa系數(shù)來進行模型的性能評價。OA是正確分類的像素點總數(shù)與像素點的總數(shù)的比,AA是指定類別的像素點分類精度的均值,而Kappa系數(shù)則表示被評價的分類方法比完全隨機分類產(chǎn)生錯誤減少的比例。實驗是在Intel Xeron 2.5 GHz CPU,20 GB RAM的DELL工作站上完成的。
SG-SSN采用多項式階數(shù)為3,窗口大小為11的SG濾波進行光譜域濾波。而中值濾波的濾波窗口大小為11,即濾波半徑m等于5。實驗證明,這個窗口大小在濾掉鋸齒狀噪聲的同時,能較好地保持圖像的原有特征。
Fig.4 OAof 1%—5%training samples on Indian Pines data set圖4 Indian Pines數(shù)據(jù)集取1%~5%訓(xùn)練樣本數(shù)的OA值
Table 3 OAof 3 methods in Indian Pines data set表3 3種方法在Indian Pines數(shù)據(jù)集上的總精度OA值 %
圖4和表3給出了在Indian Pines數(shù)據(jù)集上3種方法在測試集上的總體分類精度,訓(xùn)練的深度是4層。每個總體分類精度是10個不同訓(xùn)練集上分類精度的均值,每個訓(xùn)練集都是從數(shù)據(jù)集中隨機取r%(r=1,2,3,4,5)的樣本構(gòu)成,數(shù)據(jù)集中的其他樣本作為測試數(shù)據(jù)??梢钥吹皆诓煌?guī)模的訓(xùn)練樣本集上SG-SSN(MF-SSN)較之SSN具有較高的分類精度,并且具有相同量級的分類穩(wěn)定性。表4展示了Indian Pines數(shù)據(jù)集每一類的分類精度、OA、AA以及Kappa系數(shù)。訓(xùn)練樣本集的大小取每類樣本的1%。MF-SSN的AA值比SSN有所提升,但SG-SSN有所降低,說明線性濾波在濾除噪聲的同時,也濾除掉了部分有區(qū)分性的信息。由于HSI中普遍存在脈沖噪聲和椒鹽噪聲,SG濾波作為線性濾波方法具有低通特性,對這兩類噪聲不敏感,在去除噪聲的同時破壞了圖像的細節(jié)和邊緣等信息。而中值濾波是非線性濾波方法,能夠很好地保存圖像的細節(jié)和邊緣等信息,對圖像中的脈沖噪聲和椒鹽噪聲的濾除效果較好。從Kappa系數(shù)上來看,SG-SSN和MF-SSN也均有所提高。
Table 4 OA,AAand Kappa coefficient on Indian Pines data set表4 Indian Pines數(shù)據(jù)集上的OA、AA和Kappa系數(shù)值 %
圖5和表5給出了3種方法在PUS數(shù)據(jù)集上的總體精度OA。由圖中可以看出,隨著訓(xùn)練樣本數(shù)的增加,總體精度也隨之增加。另外,在訓(xùn)練樣本規(guī)模相同的情況下,SG-SSN和MF-SSN的總體分類精度優(yōu)于SSN,這說明預(yù)先進行的光譜域濾波濾除掉了部分隨機噪聲,使得學(xué)習的結(jié)果更接近真實。
Fig.5 OAof 1%—5%training samples on PUS data set圖5 PUS數(shù)據(jù)集取1%~5%訓(xùn)練樣本數(shù)的OA值
Table 5 OAof 3 methods in PUS data set表5 3種方法在PUS數(shù)據(jù)集上的總精度OA值%
在Pavia數(shù)據(jù)集上每一類的分類精度、OA、AA以及Kappa系數(shù)見表6。仍然取每類樣本的1%來構(gòu)成訓(xùn)練集,為使實驗結(jié)果客觀,進行10次這樣的隨機選取,每次選定訓(xùn)練樣本后,該類別中其他的樣本留作測試集。SG-SSN和MF-SSN的AA和Kappa系數(shù)均有所提高。說明使用光譜域濾波對于Pavia數(shù)據(jù)集是有效的,可以提高地物的識別精度。
從深度學(xué)習的思想來看,深度網(wǎng)絡(luò)的性能與其層數(shù)和訓(xùn)練數(shù)據(jù)的規(guī)模緊密相關(guān),在訓(xùn)練數(shù)據(jù)充足的情況下,網(wǎng)絡(luò)的層數(shù)越大其性能越好。但由于超光譜圖像數(shù)據(jù)集數(shù)據(jù)有限,在深度學(xué)習過程中需要合理調(diào)節(jié)訓(xùn)練層數(shù),以避免出現(xiàn)過擬合的現(xiàn)象。經(jīng)過對兩個數(shù)據(jù)集的實驗發(fā)現(xiàn),對于不同的數(shù)據(jù)集,需要的訓(xùn)練層數(shù)也有差別。由圖6可見,對于Indian Pines數(shù)據(jù)集,使用2%的訓(xùn)練樣本時,SSN方法在第6層后測試數(shù)據(jù)的分類精度增量開始變小,而訓(xùn)練時間增幅則是在4到5層時達到最小,由于4到5層的分類精度只有0.2%的增幅,因此可考慮將訓(xùn)練層數(shù)定位5層。對Pavia數(shù)據(jù)集,使用1%的訓(xùn)練樣本時,規(guī)律體現(xiàn)不明顯,當訓(xùn)練樣本數(shù)達到2%時,出現(xiàn)明顯的規(guī)律,只需要3層就達到較高的分類精度,圖7展示了這一變化規(guī)律。這是因為Indian Pines數(shù)據(jù)集樣本數(shù)少,且各類樣本數(shù)不夠均衡,在小樣本的類達到過擬合的時候,樣本數(shù)多的類可能仍處于欠擬合的狀態(tài),因而隨著層數(shù)的增長,雖然小樣本數(shù)的類出現(xiàn)過擬合造成該類測試精度下降,但樣本數(shù)多的類能夠提供更大幅度的精度增加,因而造成總體精度的升高。而對于PUS數(shù)據(jù)集來說,樣本數(shù)比較均衡,因而達到過擬合的層數(shù)也相對接近,訓(xùn)練的層數(shù)反而相對較少。在相同的樣本數(shù)和模型深度的條件下,中值濾波總是優(yōu)于SG濾波,說明在對超光譜圖像的處理上,非線性濾波方法要優(yōu)于線性濾波方法。
Table 6 OA,AAand Kappa coefficient on PUS data set表6 PUS數(shù)據(jù)集上的OA、AA和Kappa系數(shù)值%
Fig.6 OAof different training layers on Indian Pines data set圖6 不同訓(xùn)練層數(shù)在Indian Pines數(shù)據(jù)集上的OA值
Fig.7 OAof different training layers on PUS data set圖7 不同訓(xùn)練層數(shù)在PUS數(shù)據(jù)集上的OA值
針對超光譜圖像存在的光譜域噪聲問題,本文提出了融合光譜域濾波的空譜學(xué)習網(wǎng)絡(luò)SG-SSN和MF-SSN用于訓(xùn)練深層特征時完成像素點分類任務(wù)。實驗結(jié)果說明,在使用SSN之前進行光譜維的去噪處理,能夠提高分類精度,表明即使對于深度分類神經(jīng)網(wǎng)絡(luò),提前進行光譜去噪預(yù)處理仍然有助于提升分類精度。本文的兩種模型使用了兩種不同的光譜濾波方法,通過實驗發(fā)現(xiàn),非線性濾波方法中的中值濾波器比線性濾波方法中的SG濾波更適用于超光譜圖像的光譜域濾波。訓(xùn)練樣本數(shù)量和SSN模型層數(shù)對分類精度有一定影響,在訓(xùn)練數(shù)據(jù)一定的情況下,層數(shù)過多會出現(xiàn)過擬合現(xiàn)象。通過對比SGSSN和MF-SSN的分類結(jié)果發(fā)現(xiàn),對于Indian Pines數(shù)據(jù)集,SSN層數(shù)為7層的情況下取得最優(yōu)的分類性能,而對于PUS數(shù)據(jù)集,SSN層數(shù)為3層的情況下取得最優(yōu)的分類性能。
下一步開展兩方面的工作:(1)比較光譜濾波和其他深度學(xué)習模型對超光譜圖像分類的效果;(2)針對遙感數(shù)據(jù)集中樣本規(guī)模較小的現(xiàn)狀,研究擴充遙感訓(xùn)練樣本的有效方法。