尋興青,萬劍華,郎海濤,徐永杰,劉善偉
(1.中國石油大學(xué)(華東)海洋與空間信息學(xué)院,山東 青島 266580;2.北京化工大學(xué) 數(shù)理學(xué)院,北京 100029)
自近幾年海洋發(fā)展戰(zhàn)略提出以來,海上船只活動越來越頻繁,對船只進行監(jiān)測成為每個海洋國家的重點監(jiān)管內(nèi)容。合成孔徑雷達(synthetic aperture radar,SAR)因其全天時、全天候、大范圍、遠距離等特點成為重要的監(jiān)測手段之一[1]。
隨著TerraSAR-X、Cosmo-SkyMed、Radarsat-2等高分辨率SAR衛(wèi)星的發(fā)射,監(jiān)測過程中船只分類識別的研究得到了極大發(fā)展,其中較為常見且成熟的方法是從SAR圖像中提取具有船只類型區(qū)別能力的特征,利用這些特征進行分類。常用的分類特征主要有3種:幾何特征、極化特征和散射特征。如郎海濤等提出的簡單而有效的樸素幾何特征揭示了不同類型SAR船只之間的本質(zhì)差異[2];Jiang等基于船只上層建筑后向散射特征提出維度比特征進行SAR船只分類[3];席陽宇等利用極化特征描述船只的散射機制和散射能量進行分類識別[4]。該方法存在的問題是提取的特征多為人類專家依據(jù)物理或數(shù)學(xué)特性人工設(shè)計的特征,提取方法復(fù)雜繁瑣,且缺乏良好的泛化性能。
近幾年深度學(xué)習(xí)在機器視覺、語音識別等領(lǐng)域取得了突破性的進展,因此也成為船只分類識別的重要研究方向之一,如Bentes等利用卷積神經(jīng)網(wǎng)絡(luò)在TerraSAR圖像上進行船只分類[5];劉晨等提出一種基于卷積神經(jīng)網(wǎng)絡(luò)遷移學(xué)習(xí)的目標(biāo)分類方法[6]。該類方法存在的問題是深度學(xué)習(xí)網(wǎng)絡(luò)需要大量具有標(biāo)簽信息的船只樣本數(shù)據(jù),訓(xùn)練數(shù)以百萬計的參數(shù),如果數(shù)量不足將使得模型過擬合,分類效果變差。然而在實際應(yīng)用中,獲取大量帶標(biāo)簽信息的船只樣本是十分困難的,船只樣本的數(shù)量往往難以達到深度網(wǎng)絡(luò)的要求[7]。
在圖像分類領(lǐng)域,利用深度神經(jīng)網(wǎng)絡(luò),例如卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)模型作為特征提取器提取深度特征的理念獲得廣泛認(rèn)同,其避免了人工設(shè)計特征所遇到的麻煩,例如不可或缺的專家知識。深度特征包含大量的語義信息,表達能力更為強大,結(jié)合傳統(tǒng)分類器實現(xiàn)圖像分類往往能取得更好的分類結(jié)果[8,9]。因此,本文提出了利用低維度高判別的深度特征進行SAR船只分類的方法,充分利用不同層深度特征的判別信息,以提高船只分類精度。
雖然深度特征包含大量的語義信息,但受CNN結(jié)構(gòu)因素的影響,不同網(wǎng)絡(luò)層提取的深度特征從不同方面表達圖像信息,低層深度特征保留豐富的細節(jié)信息,高層深度特征具有較強的抽象語義信息[10]。雖已有大量實驗結(jié)果表明高層深度特征具有豐富的語義信息,且對于分類具有很好的性能[11,12],但對于SAR船只分類來說,不同類別的船只樣本在SAR圖像上差異性較小,部分判別信息體現(xiàn)在細節(jié)上,提取的最高層深度特征雖包含最強的抽象語義信息,但丟失了較多的細節(jié)信息,所包含的判別信息不夠全面,因此只利用單一的最高層深度特征進行船只分類結(jié)果并不好。不同層級深度特征所包含的判別信息有所不同,如何選擇具有不同判別信息的深度特征以及如何綜合利用這些不同層級的深度特征,是提升船只分類正確率的關(guān)鍵[13]。深度特征維度均在千量級,過高的維度不僅增加了計算成本和數(shù)據(jù)存儲空間,還有可能導(dǎo)致過擬合問題,影響分類性能。因此深度特征中是否存在信息冗余,通過降維操作能否提高分類精度也是值得研究的方面之一。
為提高船只分類準(zhǔn)確率,本文提出了利用低維度高判別的深度特征進行SAR船只分類的方法,創(chuàng)新點有以下兩點:①將深度特征用于SAR船只分類,并提出針對深度特征的特征優(yōu)選方法;②提出級聯(lián)二分類的分類策略。本文提出的方法主要分為以下4個部分:①將ImageNet數(shù)據(jù)庫預(yù)訓(xùn)練的VGG16網(wǎng)絡(luò)作為特征提取器,提取船只樣本數(shù)據(jù)的深度特征;②對深度特征進行t-SNE可視化,計算每類船只的類間分離度,選擇對于每類船只樣本來說類間分離度最大即最具判別信息的深度特征;③對深度特征分別進行降維;④采用級聯(lián)二分類策略對船只進行分類。流程圖如圖1所示。實驗結(jié)果表明,所提出的方法對船只分類性能有明顯提升。
圖1 本文方法流程
近年來,卷積神經(jīng)網(wǎng)絡(luò)(CNN)作為深度學(xué)習(xí)技術(shù)中極具代表性的網(wǎng)絡(luò)結(jié)構(gòu)之一,在圖像分類和目標(biāo)檢測等領(lǐng)域發(fā)展的日益成熟,應(yīng)用領(lǐng)域越發(fā)寬泛。相比于其它網(wǎng)絡(luò)結(jié)構(gòu),CNN是為了處理二維圖像專門設(shè)計的多層神經(jīng)網(wǎng)絡(luò),更適合圖像特征的學(xué)習(xí)和表達;相比于其它傳統(tǒng)的圖像處理算法,CNN可以將原始圖形作為輸入,利用網(wǎng)絡(luò)自動提取特征,有效避免了復(fù)雜的前期預(yù)處理和人工提取特征的過程[14]。CNN主要由輸入層、卷積層、池化層、全連接層和輸出層構(gòu)成。卷積層又叫特征提取層,由多個特征面組成,每個特征面由多個神經(jīng)元組成,它的每一個神經(jīng)元通過卷積核與上一層特征面的局部感受野相連,并提取該局部的特征。全連接層在多個卷積層和池化層之后,每一個神經(jīng)元與其前一層的所有神經(jīng)元進行全連接,全連接層可以整合卷積層或者池化層中具有可分性的信息[15]。本文分別在卷積層和全連接層后提取深度特征,特征可以分為兩類:卷積層特征和全連接層特征。
VGG(visual geometry group)網(wǎng)絡(luò)是牛津大學(xué)計算機視覺組研發(fā)的一種深度卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)。該網(wǎng)絡(luò)經(jīng)過構(gòu)建交替的3×3的卷積核和2×2的池化層,實現(xiàn)了16-19層的網(wǎng)絡(luò)結(jié)構(gòu)[16]。常用的結(jié)構(gòu)是VGG16和VGG19。本文使用的網(wǎng)絡(luò)結(jié)構(gòu)為VGG16,VGG16網(wǎng)絡(luò)的總體結(jié)構(gòu)共16層,包括13個卷積層和3個全連接層,結(jié)構(gòu)如圖2所示。本文將提取第5-13層卷積層和第1-2層全連接層的輸出向量作為深度特征進行后續(xù)實驗。
圖2 VGG16網(wǎng)絡(luò)結(jié)構(gòu)
t分布隨機鄰域嵌入(t-distributed stochastic neighbor embedding,t-SNE)算法是隨機鄰域嵌入(SNE)的一種變體,通過在二維或三維空間中給出每個樣本點的位置來可視化高維數(shù)據(jù)。t-SNE算法的基本思想是在原始高維空間中利用高斯分布將所有樣本對之間的距離轉(zhuǎn)換為表示相似性的條件概率,構(gòu)建一個概率分布,同時在低維空間中利用t分布構(gòu)建這些點的概率分布,使得這兩個概率分布盡可能地相似[17]。t-SNE能夠同時保留數(shù)據(jù)的局部結(jié)構(gòu)和全局結(jié)構(gòu),在可視化后相似的數(shù)據(jù)更好地聚合在一起,相對其它算法具有一定的優(yōu)越性,因此本文選擇t-SNE算法對樣本數(shù)據(jù)進行可視化。在可視化的結(jié)果圖上,通過不同類別的樣本聚集情況,判斷該深度特征所包含的判別信息;若同一類別的樣本緊密聚集在一起,并且遠離其它類別的樣本,說明該深度特征對于此樣本類別具有較好的判別信息。
每個樣本類別的最優(yōu)鑒別信息可能分布在不同層級的深度特征上,因此本文提出針對每個樣本類別的特征優(yōu)選方法。該方法首先對每個層級的深度特征進行t-SNE可視化;然后在可視化特征上,計算每個類別的類間分離度,類間分離度越大,則認(rèn)為該特征上此類別的判別信息越豐富;最后為每個樣本類別選擇類間分離度最大即判別信息最豐富的特征,并根據(jù)類間分離度對樣本類別進行優(yōu)先級排序。具體實現(xiàn)步驟如下:
(1)對每層的深度特征進行t-SNE可視化;
(2)在每層深度特征可視化的結(jié)果上,計算類間距離,計算公式為
(1)
(2)
(3)計算每個類別的類間分離度S, 計算公式為
(3)
(4)為每個樣本類別選擇類間分離度最大的深度特征作為有效特征,并將樣本類別按可分離度大小進行優(yōu)先級排序。
主成分分析(principal component analysis,PCA)是無監(jiān)督降維,其基本思想是通過對原始特征的相關(guān)矩陣或協(xié)方差矩陣內(nèi)部結(jié)構(gòu)的研究,將多個特征轉(zhuǎn)換為少數(shù)幾個綜合特征,這些特征是原特征的線性組合,最大化保留原特征的信息,且彼此間不相關(guān),最終達到將數(shù)據(jù)特征映射到新的特征空間的目的。線性判別分析(linear discriminant analysis,LDA)是有監(jiān)督的降維方法,其基本思想是找到一個最優(yōu)的鑒別方向集,將樣本數(shù)據(jù)投影到這些方向上,使得投影后的類間散布距離和類內(nèi)散布距離的比值最大,從而使得投影后每一種類別數(shù)據(jù)的投影點盡可能接近,而不同類別的數(shù)據(jù)的類別中心之間的距離盡可能的遠[18]。局部保留投影(locality preserving projection,LPP)方法是基于流形學(xué)習(xí)的無監(jiān)督降維方法,其基本思想是先構(gòu)建樣本之間的原始近鄰關(guān)系,然后尋找一個投影子空間,使得原始數(shù)據(jù)投影到此空間后依舊可以很好保留原先的局部近鄰關(guān)系[19]。監(jiān)督局部保留投影(supervised locality preserving projection,SLPP)是在LPP 的基礎(chǔ)上加入了類標(biāo)簽信息,在保留類內(nèi)局部結(jié)構(gòu)的同時最大化類間的距離[20]。
K近鄰算法(K-Nearest neighbor,KNN)是機器學(xué)習(xí)中比較簡單且理論成熟的分類算法之一,其基本思想是先計算訓(xùn)練樣本集中與待分類樣本距離最近的K個鄰居,若這K個鄰居樣本中的大多數(shù)都屬于某一個類別,那么該待分類樣本也屬于該類別[21]。本文選擇KNN分類器對降維后的深度特征進行分類,但若將優(yōu)選的所有深度特征直接連接后輸入到KNN分類器中,直接連接的方式無法充分利用不同層級深度特征中包含的判別信息,分類結(jié)果可能不佳。
本文根據(jù)特征優(yōu)選的方法,提出了基于KNN的級聯(lián)二分類方法。在特征優(yōu)選時,為每個樣本類別選擇了一個有效深度特征,并且根據(jù)類間分離度對樣本類別進行了優(yōu)先級排序。
該方法首先對優(yōu)先級最高的樣本類別進行分類,利用KNN分類器對該類別的有效深度特征進行二分類,分類結(jié)果為該類別和非該類別,分為該類別的樣本確定最終分類結(jié)果,分為非該類別的樣本需進一步確定分類結(jié)果;對于需進一步確定結(jié)果的樣本,利用KNN分類器對次優(yōu)先級樣本類別的有效深度特征進行二分類,確定屬于次優(yōu)先級類別的樣本,非該類別的樣本按照優(yōu)先級依次往下分類,直到分類完成。分類過程中優(yōu)先級最低的深度特征實際并未使用,這里以3類為例,流程如圖3所示。
圖3 基于KNN的級聯(lián)二分類
實驗使用的船只樣本數(shù)據(jù)取自TerraSAR-X遙感影像。所選用的船只樣本包括貨船90個,集裝箱船50個,油輪50個,共190個樣本構(gòu)成船只庫。圖4展示了3類船只部分樣本的SAR圖像。
圖4 SAR船只樣本圖像
數(shù)據(jù)增強已被驗證是一種有利于機器學(xué)習(xí)模型,特別是深層結(jié)構(gòu)訓(xùn)練的常見技術(shù),通過加快收斂速度或者充當(dāng)正則化器,從而避免過度擬合并提高泛化能力。最常見的數(shù)據(jù)增強是通過對現(xiàn)有的數(shù)據(jù)應(yīng)用平移、旋轉(zhuǎn)、變形、縮放、裁剪等變換來生成新樣本以擴充樣本數(shù)量[22,23]。劉凱品等通過旋轉(zhuǎn)和向圖像中添加隨機噪聲的方法進行數(shù)據(jù)擴充,以此提高SAR圖像中目標(biāo)的識別率[24];Furukawa通過對比有無數(shù)據(jù)增強的MSTAR數(shù)據(jù)在深度殘差網(wǎng)絡(luò)上的分類結(jié)果,驗證數(shù)據(jù)增強提高了分類精度[25]。
由于船只樣本數(shù)據(jù)過少,為了防止過擬合,現(xiàn)采用數(shù)據(jù)增強的方法將每類船只的數(shù)量增至500個,形成包含1500個船只樣本圖像的數(shù)據(jù)集。為保證實驗的可信度,隨機抽取1200個船只樣本作為訓(xùn)練集,其中每類船只樣本400個,剩下的300個樣本作為測試集,重復(fù)10次,得到10次隨機劃分的訓(xùn)練集和測試集,實驗結(jié)果取10次實驗的均值。
本文采用標(biāo)準(zhǔn)的ImageNet數(shù)據(jù)庫預(yù)訓(xùn)練的VGG16網(wǎng)絡(luò)直接提取特征,VGG16網(wǎng)絡(luò)中卷積核為3×3,卷積步長為1,池化窗口為2×2,池化步長為2,采用Relu激活函數(shù)。這里分別提取第5-13層的卷積層特征和第1-2層的全連接層特征,在以下部分中,convi表示第i層卷積層特征,fci表示第i層全連接層特征。
首先對訓(xùn)練樣本的所有特征進行t-SNE可視化,然后通過類間距離計算每類船只的類間分離度,計算結(jié)果見表1。由表1可知,貨船在fc2特征上的可分離度最高,說明貨船在fc2特征上具有最為豐富全面的判別信息,可以很好的從其它類型的船只中被區(qū)分開;而油輪和集裝箱船在conv13特征上的分離度最高,說明油輪與集裝箱船都在conv13特征上有最為全面的判別信息,可以很好的被區(qū)分開。
表1 每類船只在不同層級深度特征上的類間分離度
為更直觀體現(xiàn)fc2特征和conv13特征的區(qū)別,圖5給出了fc2特征和conv13特征的t-SNE可視化結(jié)果。在fc2特征可視化圖中,貨船被很好分到一起,而集裝箱船和油輪混淆嚴(yán)重;相比之下,conv13特征可視化圖中,油輪和集裝箱船的區(qū)分度更好一些,大部分油輪集中在圖像右上部。由此也驗證了fc2特征雖包含較強的語義信息,但卻不能對所有船只類別做很好的區(qū)分,而conv13特征中具有更多油輪和集裝箱船的判別信息,可以對此進行更好的分類。
圖5 fc2特征和conv13特征可視化結(jié)果
SAR圖像深度特征具有維度過高的特點,不僅會增加計算成本和所需的存儲空間,在訓(xùn)練分類器時可能會導(dǎo)致過擬合,使得分類器的泛化能力較差,因此本文將選為有效特征的fc2特征、conv13特征先進行降維處理。為比較直接連接的特征組合方式的分類效果,將fc2特征和conv13特征直接連接(conv13+fc2)后進行降維處理。
為分析降維效果,將特征分別進行PCA、LDA、LPP和SLPP降維,然后用KNN分類器進行分類,其中K=35為取值在5-100之間,間隔為5進行尋優(yōu)后的最優(yōu)值,與未降維時作比較。表2給出了在fc2特征、conv13特征、conv13+fc2特征上未降維和降維后的分類正確率,其中每種降維方法的分類正確率取在不同維度時的最高分類正確率。
表2 conv13特征、fc2特征和conv13+fc2特征上未降維和降維后的分類正確率
從降維結(jié)果可以看出,conv13特征在PCA降維時分類正確率提升了0.57%,而其它降維方法都不升反降;fc2特征在PCA降維時分類正確率幾乎維持不變,但在LDA和SLPP這兩種監(jiān)督降維方法時正確率有了大幅度提升。由此可以分析,卷積層由于每個卷積核提取的是局部特征,可分性信息可能較少,因此conv13特征更適合PCA無監(jiān)督降維方法;而全連接層整合了卷積層或者池化層中具有可分性的信息,因此fc2特征更適合LDA和SLPP監(jiān)督降維方法。
conv13+fc2特征在未降維時分類正確率相比fc2特征和conv13特征有了小幅度提升,說明fc2特征和conv13特征含有不同的判別信息,組合后可以提高分類性能,在LDA和SLPP降維后,分類正確率提升至75%左右,但相比fc2特征77%的正確率依舊低2%,說明將fc2特征和conv13特征直接組合后進行降維,并未較好保留特征中的判別信息。
本文將對優(yōu)選的特征分別進行單獨降維,這里選用PCA方法對conv13特征進行降維,SLPP對fc2特征進行降維,其中conv13特征降到16維,fc2特征降到64維,取值為PCA和SLPP降維方法分類正確率最高時的維度。
將降維后的fc2特征和conv13特征使用基于KNN的級聯(lián)二分類方法進行分類,得到的分類結(jié)果見表3。為保證實驗公平性,以下實驗所使用的KNN分類器統(tǒng)一K=35。
為比較深度特征的分類性能,表3中給出了3種具有代表性的普通特征和兩種深度特征的分類結(jié)果,普通特征分別是方向梯度直方圖特征(HOG)、局部二值特征(LBP)、散射特征和幾何特征(S&G),深度特征分別是conv13特征和fc2特征[26]。由實驗結(jié)果可以看出,HOG特征和S&G特征的分類正確率偏低,不足50%,LBP特征在普通特征中表現(xiàn)最佳,正確率為67.77%;而conv13特征和fc2特征正確率都達到了70%以上,特別是fc2特征的分類正確率達到了77.80%,相比普通特征提高了至少10%??梢妰?yōu)選的深度特征相比普通特征包含更為豐富的判別信息。
表3 船只分類結(jié)果
為測試級聯(lián)二分類方法的有效性,表3中給出了conv13+fc2特征直接KNN分類,conv13+fc2特征先SLPP降維后KNN分類,以及conv13特征和fc2特征未降維直接級聯(lián)二分類的結(jié)果。從實驗結(jié)果可知,級聯(lián)二分類方法對分類精度有大幅度提高,相比conv13+fc2特征直接KNN分類提高了10.34%,相比降維后的conv13+fc2特征KNN分類提高了5.9%。由此說明級聯(lián)二分類方法可以更好地綜合利用不同層級深度特征所包含的判別信息。
為體現(xiàn)本文方法的優(yōu)越性,表3中給出了利用微調(diào)的VGG16網(wǎng)絡(luò)分類的結(jié)果,分類正確率為79.4%,比本文方法低4.23%,說明了本文方法對于船只分類的有效性。本文方法降維時相比未降維正確率提升了2.16%,由此可見降維不僅可以很好保留特征中的判別信息,而且有效地提高了船只分類的正確率。
表4和表5給出了conv13特征和fc2特征進行KNN分類對應(yīng)的混淆矩陣,在conv13特征中油輪分類正確的數(shù)量比fc2特征多,而fc2特征中貨船和集裝箱船的分類正確數(shù)量比conv13特征多,尤其是貨船的數(shù)量增加了218只。由此說明了conv13特征和fc2特征中具有不同的判別信息。
表4 conv13(PCA)特征分類混淆矩陣
表5 fc2(SLPP)特征KNN分類混淆矩陣
表6~表9給出了conv13特征和fc2特征直接用KNN分類和用本文方法分類對應(yīng)的混淆矩陣,conv13+fc2特征直接用于KNN分類,貨船的分類正確數(shù)量少于fc2特征,油輪的分類正確數(shù)量低于conv13特征;conv13+fc2特征進行SLPP降維后用于KNN分類,雖然油輪分類正確數(shù)量有小幅增長,但貨船和集裝箱船的正確數(shù)量均有大量下降。由此可見,這兩種方法并未能充分利用conv13特征和fc2特征的判別信息。本文方法在未降維時,雖然貨船和油輪分類正確的數(shù)量有小幅下降,但集裝箱船的正確數(shù)量卻提高到822只,比conv13特征多170只,比fc2特征多151只。本文方法在降維時,貨船的正確數(shù)量高達994只,集裝箱船數(shù)量高達839只,為所有方法中的最高數(shù)量,說明了本文方法的優(yōu)越性。相比未降維,3類船只的正確數(shù)量均有增加,驗證了降維能保留有效的判別信息,提高船只分類的正確率。
表6 conv13+fc2特征分類混淆矩陣
表7 conv13+fc2(SLPP)特征分類混淆矩陣
表8 本文方法(未降維)分類混淆矩陣
表9 本文方法分類混淆矩陣
本文利用深度特征進行SAR船只分類,分類性能遠遠優(yōu)于普通特征,并且驗證了不同層級的深度特征包含不同的判別信息;文中提出的特征優(yōu)選和級聯(lián)二分類方法可以更好地綜合利用不同層級的深度特征,大幅度提高船只分類正確率。
為增加樣本數(shù)量,本文對船只樣本進行了數(shù)據(jù)增強操作,這種操作得到的1500個樣本都是同源的,很多樣本實際上會重復(fù)學(xué)習(xí),這是否會影響目標(biāo)的分類精度以及實際應(yīng)用效果,以及數(shù)據(jù)增強前后相關(guān)深度特征是否會發(fā)生變化都是今后值得進一步研究的方向。文中使用的KNN分類器是比較簡單且相對弱勢的分類器,今后的工作中也將進一步研究更為復(fù)雜的分類器。