任永梅 楊 杰 郭志強 曹 輝
①(武漢理工大學信息工程學院寬帶無線通信與傳感器網絡湖北省重點實驗室 武漢430070)
②(湖南工學院電氣與信息工程學院 衡陽421002)
船舶圖像分類是海上安全和交通管理中的一個重要問題,它廣泛應用于民用和軍事領域[1,2]。實際場景中的船舶圖像不僅背景復雜,不同的光照強度、視角等也會對分類性能產生影響,因此船舶圖像分類已經成為模式識別領域的研究熱點之一。
現有船舶圖像分類方法主要分為基于傳統(tǒng)特征的分類方法和基于卷積神經網絡的分類方法。傳統(tǒng)特征主要有方向梯度直方圖(Histogram of Oriented Gradients,HOG)[3]、尺度不變特征變換(Scale-Invariant Feature Transform,SIFT)[4]以及局部二值模式(Local Binary Pattern,LBP)[5]等。傳統(tǒng)特征是目標的底層視覺特征,在表達圖像的能力上有較大局限性,并且需要依賴專家知識,通用性差。近年來,隨著深度學習技術的快速發(fā)展,卷積神經網絡(Convolutional Neural Network,CNN)成為許多學者的研究熱點,并成功運用在圖像分類[6]、目標檢測[7]以及行人檢測[8]等領域。文獻[9]提出AlexNet和極限學習機結合的分類方法,在Fleetmoom船舶圖像庫上的分類準確率達到了94%。文獻[10]提取多個船舶分類特征組成特征向量集,并將特征向量集作為深度學習算法的輸入,建立船舶分類模型。文獻[11]提出一種集成多特征的卷積神經網絡(MECNN)對光學遙感船舶圖像進行分類。文獻[12]提出用多分辨率CNN對TerraSAR-X圖像進行船舶分類,不同的通道連接不同分辨率的原始圖像,所有通道具有固定的2.5 m的像素空間和128×128的圖像尺寸。但圖像分辨率的變化是如何影響CNN內部激活的,還需要進行更多的實驗。文獻[13]提出“中心—擴散池化”CNN和“前景—擴散池化”CNN,對可視化船舶圖像進行分類,在其自建數據集上的分類準確率達到92.8%。
上述研究中,都是利用單一尺度的CNN進行船舶圖像分類,對不同種類的樣本的分類具有不確定性,分類準確率還需進一步提高。近年來,決策融合技術受到模式識別領域的學者的關注,其依據各個數據源的單獨決策結果在融合中心進行關聯(lián)處理,做出最終的決策,使得融合方法比單個分類器在決策時出錯更少[14]。因此,本文針對單一尺度CNN在船舶圖像分類中的精度需要進一步提高的問題,提出一種多尺度CNN的自適應熵加權決策融合船舶圖像分類方法。在該方法中,先使用3個不同的子網絡提取多尺度下的船舶圖像特征,并利用Softmax函數輸出的概率值計算信息熵,保證對不同輸入船舶圖像賦予自適應的權重;最后對3個不同子網絡的Softmax輸出值進行自適應熵加權決策融合處理以實現對船舶圖像的高精度分類,同時確保提高模型的穩(wěn)定性和魯棒性。通過與其他方法的對比,發(fā)現本文方法能取得良好的分類效果。
卷積神經網絡(CNN)是一個多層感知機,使用局部連接和權值共享方式,可以降低網絡訓練參數的數量。單一尺度的CNN在執(zhí)行圖像分類任務時需要輸入固定尺寸的圖像[15],而實際環(huán)境中的圖像大小往往是多樣化的。雖然可以經過縮放等預處理步驟將圖像尺寸調整為CNN需要的大小,但這會影響圖像的分類準確率。在卷積過程中,網絡感受野在不同尺寸的圖像塊上的占比不同,大尺寸的圖像塊進行卷積操作后得到的特征信息更豐富,也能更好地反映圖像的局部特征,小尺寸的圖像塊進行卷積操作后得到的特征則能更好地反映圖像的全局特征[16]。因此本文將使用多尺度CNN對不同尺寸輸入船舶圖像進行特征提取,可以得到更多的圖像特征,并通過Softmax函數獲得不同尺度船舶圖像的輸出概率值。
本文選擇3個并行的子網絡組成如圖1所示的多尺度CNN,圖1中分別使用文獻[17]中提出的卷積神經網絡,命名為CNN1、文獻[12]中的卷積神經網絡,命名為CNN2以及AlexNet[6](命名為CNN3)來提取船舶圖像的多尺度特征。因為上述3個網絡的輸入圖像尺寸不同,分別覆蓋了小尺寸、中尺寸和大尺寸圖像,網絡深度不同,同時在單一尺度輸入樣本情況下可以提取到比較有用的特征。另外與其他網絡模型如ResNet-34、GoogLeNet、VGG-16和VGG-19等深層網絡相比,上述網絡具有層數少、參數量少等優(yōu)點。
圖1 多尺度卷積神經網絡
(1)CNN1:CNN1的輸入圖像尺寸要求為56×56的船舶圖像,有4個卷積層,2個池化層,2個全連接層,1個Softmax層,卷積層步長為1,池化層步長為2。網絡結構和具體參數如圖2所示。卷積層和全連接層使用的激活函數為修正線性單元(Rectified Linear Units,ReLU)函數,相比Sigmoid和tanh等激活函數,ReLU函數具有能夠加速收斂、緩解過擬合等特點。圖2中Conv1-32@(5×5)表示第1個卷積層的濾波器個數為32,卷積核尺寸為5×5,Max Pooling1(2×2)表示第1個最大池化層的卷積核大小為2×2,FC1-384表示第1個全連接層將第4個卷積層的特征映射連接得到384個1× 1維的神經元,Softmax-6(4)表示利用Softmax函數得到6個或4個輸出決策類別,6和4分別對應文中的兩個數據集的船舶類型數目(見5.1節(jié))。
(2)CNN2:CNN2的輸入圖像尺寸要求為128×128的船舶圖像,有4個卷積層,4個池化層,1個全連接層,1個Softmax層,卷積層步長為1,池化層步長為2。網絡結構和具體參數如圖3所示。全連接層使用的激活函數為Sigmoid函數。
(3)CNN3:AlexNet在本文中用CNN3表示,CNN3網絡的輸入圖像尺寸要求為227×227的船舶圖像,有5個卷積層,3個池化層,2個全連接層,1個Softmax層。卷積層和全連接層使用的激活函數為ReLU函數。
可以看出以上3個子網絡在最后一個全連接層均使用Softmax函數來進行分類,Softmax函數的輸出為概率型,表示輸入樣本屬于每一類的概率。
最大輸出概率決策融合方法是一種最簡單的決策融合方法,該方法通過對不同子分類器輸出的概率計算出最大值的方式來求出輸入圖像最終的所屬類別。如果每個分類器的輸出概率的最大值出現在同一類別上,決策結果就沒有變化,然而,隨著概率的變化,決策的可能性有很大的不同。這種方法沒有涉及各個分類器在決策融合時所占的權重,然而每個分類器所占的融合權重決定著決策融合的分類效果。不同尺寸的圖像經過多尺度CNN提取的特征不同,并且樣本具有一定的隨機性,所以需要制定一個適合船舶圖像的決策方法,進而獲得最優(yōu)的分類性能。本文使用自適應熵加權決策融合方法為不同輸入船舶圖像賦予不同融合權重,進一步提高算法的分類準確率,同時確保模型具有更好的穩(wěn)定性和魯棒性。本文的多尺度CNN是由3個CNN組成,因此1個輸入船舶圖像的分類結果就由3個Softmax函數的輸出概率值進行自適應熵加權決策融合得到最終分類結果。具體的自適應熵加權決策融合算法如下。
采用多尺度CNN的3個Softmax函數并行輸出時,可以得到每個輸入船舶圖像的概率輸出矩陣為
其中,每一行代表1個子網絡的Softmax函數對輸入樣本x的概率輸出值,n表示船舶種類數,每一行概率最大的列標即為每個子網絡的Softmax函數對該樣本的預測類別。輸入樣本x屬于每一類的概率值的特點將對分類準確率產生影響,具體為,如果各個概率值的差別越小,分類的不確定性就越大;如果最大的概率值與其他概率值的差別越大,則分類結果越可靠。因此,本文引入如式(2)所示的信息熵[18]H i(x) 來表征輸入樣本x被第i個子網絡的Softmax函數分類的不確定性。
圖2 CNN1網絡結構和參數
圖3 CNN2網絡結構和參數
自適應熵加權決策融合算法充分考慮了不同子網絡的Softmax函數對相同的輸入船舶圖像的分類性能不同以及同一個子網絡的Softmax函數對不同的輸入船舶圖像的分類性能也有差異的特性,自適應地對不同的輸入船舶圖像賦予更為合理的融合權重,同時解決了單一尺度CNN由于Softmax函數輸出的概率值過于接近而造成的誤分類問題。
本文提出的方法主要包括訓練過程和自適應熵加權決策融合測試過程。具體實現如下:
(1)訓練過程:使用“從頭開始訓練”(training CNN network from scratch)的方法訓練3個子網絡,訓練的目的是尋找最優(yōu)參數,以最小化損失函數。數據集的訓練樣本(見5.1節(jié))經過預處理后分別送入3個CNN中進行特征提取,利用Softmax函數得到船舶圖像的預測類別,計算預測類別標簽和真實類別標簽之間的誤差,通過反向傳播過程調整權值和偏差,使誤差最小化,得到不同子網絡的最優(yōu)模型并進行保存。
(2)自適應熵加權決策融合測試過程:測試樣本預處理后,輸入到多尺度CNN中提取特征,分別調用訓練好的3個最優(yōu)模型進行測試,得到Softmax輸出的概率值,最后利用自適應熵加權決策融合算法得到最終的分類結果。本文方法的總體流程圖如圖4所示。
本文采用雙3次插值方法調整每幅圖像的大小。對于CNN1,CNN2和CNN3,將圖像分別預處理為64×64像素、147×147像素和256×256像素,將輸入到以上3個子網絡的訓練樣本分別隨機裁剪為56×56像素、128×128像素和227×227像素;測試集樣本僅作中心裁剪。對訓練樣本進行隨機裁剪,不僅能夠增加訓練數據,保證樣本的隨機性,避免過擬合,而且保留了圖像的重要信息。同時,我們也使用了隨機水平翻轉等數據增強方法,進一步提升模型的魯棒性和泛化能力。
實驗仿真環(huán)境為Inter(R)Core(TM)i9-7980XE@2.6 GHz,內存32 GB,顯卡NVIDIA TITAN Xp Pascal,采用Python3.5,Pytorch框架編程實現所有實驗。
圖4 本文方法的總體流程圖
本文使用的第1個數據集是VAIS數據集[19],包括2865幅圖像(1623幅可視化圖像,1242幅紅外圖像)。該數據集包含6種粗粒度類別,分別為mediums“other”ships,merchant ships,medium passenger ships,sailing ships,small boats,tugboats。本文僅選擇可視化圖像,隨機選取共873幅為訓練圖像,剩余750幅為測試圖像,訓練集和測試集樣本數量如表1所示。第2個數據集是自建數據集[17],包括9000幅船舶圖像。該數據集包含4種類別,分別為散貨船、集裝箱船、客船以及帆船。從數據集中隨機選取共7201幅為訓練圖像,剩余1799幅為測試圖像,訓練集和測試集樣本數量如表2所示。
本文使用分類準確率(Accuracy,Acc)、誤分類樣本數、每幅圖的特征提取時間以及混淆矩陣來評價船舶圖像分類效果。分類準確率是分類正確的樣本數占樣本總數的比例,如式(6)所示
誤分類樣本數是總樣本數與錯誤率(1?Acc)的乘積?;煜仃嚤硎痉诸惼魈幚矶喾诸悊栴}時造成的混淆情況,橫軸表示預測類別,縱軸表示真實類別,對角線上的值表示每類圖像被正確分類的個數。
為驗證本文方法的有效性,將本文方法與單一尺度CNN分類方法以及近幾年代表性的幾種分類方法在相同實驗條件下作了比較。本文使用隨機梯度下降算法(SGD)最小化交叉熵損失函數,迭代更新卷積神經網絡權重。不同子網絡訓練得到最優(yōu)模型的參數設置如下:
表1 VAIS數據集的訓練樣本和測試樣本數量
表2 自建數據集的訓練樣本和測試樣本數量
對于文中使用的兩個數據集,CNN1,CNN2和CNN3的學習率均為0.001,動量參數均為0.9,批處理樣本數量(batch size)均為32,丟棄率(dropout)均為0.5。不同的是對于VAIS數據集,CNN1的權重衰減系數取0.0005,學習周期為269。CNN2和CNN3的權重衰減系數均為0.0001,學習周期分別為572和276。對于自建數據集,CNN1的權重衰減系數取0.0005,學習周期為97。CNN2和CNN3的權重衰減系數均為0.0001,學習周期分別為70和30。
5.3.1與單一尺度CNN分類方法的對比
表3和表4為單一尺度CNN分類方法及本文方法在兩個數據集上的分類準確率和對于每幅圖像用于特征提取的平均時間消耗??梢钥闯觯疚姆椒ǖ姆诸悳蚀_率最高,因為多尺度CNN提取了更豐富的船舶圖像特征并且決策策略考慮了各個子網絡的Softmax函數針對不同輸入樣本分類性能不同的特性,確定了更為合理的融合權重。由于進行了決策融合,所以本文方法對于每幅圖像用于特征提取的平均時間消耗比單一尺度CNN分類方法的特征提取時間稍高,但0.391 ms和0.396 ms的時間消耗也是比較快的,在可接受范圍內,實際應用中也不會產生很大的影響。
為了進一步驗證本文方法的性能,表5和表6列出了單一尺度CNN分類方法及本文方法在兩個數據集上對每一類的分類準確率。可以看出本文方法比單一尺度CNN分類方法表現出更好的分類性能,對于VAIS數據集,本文方法對于除medium-passenger之外的其余5類船舶圖像的分類準確率都最高,對med ium-p assenger的分類準確率比CNN 2和CNN3方法對medium-passenger的分類準確率有提升,但低于CNN1方法對medium-passenger的分類準確率。原因是CNN2和CNN3方法對于mediumpassenger的分類準確率與它們對其他5類的分類準確率相比是最低的,并且它們對于medium-passenger的分類準確率與CNN1方法對于medium-passenger的分類準確率相差較多;而對其他5類的分類準確率都有提高,說明本文方法可以更好地解決單一尺度CNN網絡由于Softmax函數輸出的概率值過于接近而造成的誤分類問題。對于自建數據集,本文方法對散貨船、集裝箱船的分類準確率提高最多。
表3 不同方法在VAIS數據集上的分類準確率和對于每幅圖像用于特征提取的平均時間消耗
表4 不同方法在自建數據集上的分類準確率和對于每幅圖像用于特征提取的平均時間消耗
表5 不同方法在VAIS數據集上對每一類的分類準確率(%)
表6 不同方法在自建數據集上對每一類的分類準確率(%)
5.3.2與近幾年代表性的分類方法的對比
為了進一步驗證本文方法的優(yōu)勢,將本文方法與近幾年代表性的分類方法進行了對比,結果見表7和表8。從表7和表8可以看出,與其他幾種方法相比,本文方法的分類準確率最高,誤分類樣本數最少,進一步說明本文方法充分權衡了不同子網絡的分類性能和輸入船舶圖像的隨機性,為輸入船舶圖像分配了合理的融合權重,確保了多尺度輸入船舶圖像的分類魯棒性,在船舶圖像分類方面具有顯著的優(yōu)勢。
5.3.3本文方法的分類結果的混淆矩陣
圖5為本文方法在VAIS數據集和自建數據集上的分類結果的混淆矩陣。圖5(a)中:0為mediumother;1為merchant;2為medium-passenger;3為sailing;4為small;5為tug。圖5(b)中:0為散貨船;1為集裝箱船;2為客船;3為帆船。從圖5(a)可以看出,混淆主要發(fā)生在第0類和第4類之間,第2類和第3類之間以及第2類和第4類之間。VAIS數據集中的medium-other船舶包括fishing,medium other;small船舶包括speedboat, jetski,smaller pleasure,larger pleasure。因此,一些small和mediumother有很高的相似性。數據集中的有些mediumpassenger和sailing的圖像是模糊的,一些mediumpassenger和small也有相似性。因此決策融合后有些medium-passenger仍被錯分為sailing和small。從圖5(b)可以看出,混淆主要發(fā)生在第0類和第1類之間,第1類和第2類之間,因為散貨船和集裝箱船的船長很接近,有的散貨船和集裝箱船類似。另外,有些集裝箱船和客船從外觀上遠距離看比較類似。
表7 本文方法與其他方法在VAIS數據集上的分類準確率和誤分類樣本數
表8 本文方法與其他方法在自建數據集上的分類準確率和誤分類樣本數
圖5 本文方法的分類結果的混淆矩陣。
本文提出了一種基于多尺度CNN的自適應熵加權決策融合船舶圖像分類方法。該方法首先使用3個不同的CNN得到輸入樣本的Softmax函數的輸出概率值,然后使用自適應熵加權決策融合方法得到最終的分類結果。自適應熵加權決策融合可以綜合考慮不同子網絡的Softmax函數對輸入樣本的分類結果的不同,自適應地確定了比較合理的融合權重。為了驗證本文方法的有效性,在VAIS數據集和自建的船舶圖像數據集上分別進行了實驗。實驗結果表明,與單一尺度CNN分類方法以及近幾年代表性的方法相比,本文方法的分類性能都有較大提升。在以后的研究中,可以考慮研究進一步優(yōu)化分類模型等方面的工作。