邢世宏,楊曉東,單玉浩
(海軍潛艇學(xué)院,山東 青島 266000)
艦船識別一直以來都處于相對落后的狀態(tài),關(guān)注該領(lǐng)域的學(xué)者較少,艦船識別的問題一直都沒有得到很好的解決。艦船識別和其他領(lǐng)域的識別有相似之處,都受環(huán)境因素影響比較大。影響因素主要包括低能見度、云及海況等復(fù)雜背景雜波因素;觀測攝像機(jī)角度相對艦船的角度;遮擋因素。這些因素導(dǎo)致給艦船識別帶來了很大的困難。識別方法主要采用傳統(tǒng)機(jī)器學(xué)習(xí)及模式識別方法[1–4],但傳統(tǒng)技術(shù)無法滿足現(xiàn)實的需求。這些技術(shù)需要專家手工設(shè)計出特征提取器,只有好的特征提取器才能提高識別系統(tǒng)的性能,然而手工設(shè)計需要設(shè)計者大量的先驗知識并消耗大量的時間,因此很難利用大量的數(shù)據(jù)。除此之外,傳統(tǒng)方法依賴手工調(diào)參數(shù),因此特征的設(shè)計中允許出現(xiàn)的參數(shù)量十分有限。隨著2012年Alex Krizhevsky的AlexNet[5]在ILSVRC[6]競賽中獲得冠軍,深度學(xué)習(xí)模型在ImageNet[7]數(shù)據(jù)集上展現(xiàn)了驚人的能力,同時在GPU高度并行處理計算的支持下,網(wǎng)絡(luò)變深、寬度變寬,卷積層數(shù)及參數(shù)量增多,模型的Top-5錯誤率從2012年 AlexNet的 16.4% 降至 2015年 ResNet[8]的3.57%,已經(jīng)達(dá)到了state-of-the-art,深度卷積神經(jīng)網(wǎng)絡(luò)在識別領(lǐng)域表現(xiàn)出非常好的性能。
本文將深度卷積神經(jīng)網(wǎng)絡(luò)遷移到艦船目標(biāo)識別中,在AlexNet模型基礎(chǔ)上,調(diào)整頂部卷積層,并采用數(shù)據(jù)擴(kuò)充技術(shù)[9–11]構(gòu)建艦船數(shù)據(jù)集訓(xùn)練艦船識別模型,并對結(jié)果進(jìn)行分析。
現(xiàn)有的深度卷積神經(jīng)網(wǎng)絡(luò)復(fù)雜度較高,網(wǎng)絡(luò)含有的參數(shù)量可以達(dá)到百萬級別,因此訓(xùn)練如此復(fù)雜的網(wǎng)絡(luò)需要大量的圖像數(shù)據(jù),但目前由于資源有限,艦船圖像數(shù)據(jù)獲取途徑比較單一,艦船圖像主要通過互聯(lián)網(wǎng)獲取,并且獲取的圖像數(shù)據(jù)量無法滿足深度學(xué)習(xí)對大數(shù)據(jù)的要求。為構(gòu)建艦船訓(xùn)練數(shù)據(jù)集。通過Internet搜索相關(guān)艦船網(wǎng)站,收集到的艦船原始圖像共360張,并將其分為6大類,每類60張,部分圖像如圖1~圖6所示。
圖 1 貨輪Fig. 1 Cargo vessel
圖 2 漁船F(xiàn)ig. 2 Fishing boat
圖 3 客輪Fig. 3 Passenger vessel
圖 4 游艇Fig. 4 Yacht
圖 5 帆船F(xiàn)ig. 5 Sailing boat
圖 6 艦船F(xiàn)ig. 6 Warship
由于獲取的原始圖像尺寸不統(tǒng)一,需要將其縮放到統(tǒng)一的大小,這里將圖像縮放到227×227×3。由于通過上述單一手段獲取的圖像數(shù)量難以滿足訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),為了防止訓(xùn)練過程中出現(xiàn)過擬合,現(xiàn)通過數(shù)據(jù)擴(kuò)充技術(shù)對上述原始圖像進(jìn)行擴(kuò)充,原始圖像擴(kuò)充技術(shù)包括部分圖像增強(qiáng)技術(shù)、圖像尺度變換、圖像反轉(zhuǎn)、旋轉(zhuǎn)等方法等,如圖7所示。
圖 7 圖像數(shù)據(jù)擴(kuò)充Fig. 7 Image data augmentation
圖像經(jīng)過數(shù)據(jù)擴(kuò)充及手工標(biāo)注后,將原有數(shù)據(jù)增加到每類1 200張,形成了包含72 000張圖像的訓(xùn)練集。另外再收集每類12張圖片,經(jīng)過數(shù)據(jù)集擴(kuò)充后得到包含14 400張圖像的驗證集。
AlexNet是具有歷史意義的一個網(wǎng)絡(luò)結(jié)構(gòu),在2012年ILSVRC圖像分類競賽比賽中獲得冠軍,top-5錯誤率比上一年的冠軍下降10%。
AlexNet網(wǎng)絡(luò)結(jié)構(gòu)包括輸入輸出層、卷積層、激活層、下采樣層、局部歸一化、Dropout層及全連接層,網(wǎng)絡(luò)結(jié)構(gòu)如圖8所示。
圖 8 Caffe-AlexNet網(wǎng)絡(luò)結(jié)構(gòu)Fig. 8 Caffe-AlexNet
在上文所構(gòu)建的艦船圖像數(shù)據(jù)集上訓(xùn)練Caffe-AlexNet網(wǎng)絡(luò)。訓(xùn)練網(wǎng)絡(luò)的硬件平臺為Win10-x64系統(tǒng),處理器為8核Intel(R) Core (TM) i7-6700 CPU@3.40 GHz,內(nèi)存為16 GB,GPU為NVIDIA Quadro M2000顯存4 GB。訓(xùn)練后得到識別艦船的Caffe-AlexNet-Ship模型,識別正確率為76.63%。模型在訓(xùn)練迭代2萬次后趨近于平穩(wěn),損失值也穩(wěn)定在0.76附近,如圖9和圖10所示。
圖 9 模型識別正確率Fig. 9 Model recognition accuracy
圖 10 模型損失值Fig. 10 Model loss
在訓(xùn)練好的Caffe-AlexNet-ship模型后,經(jīng)過測試集測試,正確率也在76%附近,損失值與訓(xùn)練集的損失值變換趨勢一致,最后穩(wěn)定在0.76附近,如圖11和圖12所示。
由圖可以看出采用Caffe-AlexNet網(wǎng)絡(luò)直接訓(xùn)練艦船數(shù)據(jù)集無法得到較好的識別率。由于艦船數(shù)據(jù)集較小,網(wǎng)絡(luò)深度較淺無法很好地提取目標(biāo)特征,因此最終的識別正確率只能達(dá)到76.6%。
圖 11 測試集識別正確率Fig. 11 Test data recognition accuracy
圖 12 測試集識別損失值Fig. 12 Test data recognition loss
深度卷積神經(jīng)網(wǎng)絡(luò)由多個層組合而成,每個層在深度網(wǎng)絡(luò)中都發(fā)揮著一定的作用。對于一個訓(xùn)練好的網(wǎng)絡(luò)模型,其底層提取的特征屬于物體的通用特征,這些特征一般都表現(xiàn)為局部的紋理、輪廓及顏色特征,而高層的特征從這些較為具體的底層特征提取出來,一定程度上表現(xiàn)為物體的抽象屬性[13]。在此理論根據(jù)下,采用遷移學(xué)習(xí),將ImageNet數(shù)據(jù)集上訓(xùn)練好的Caffe-AlexNet模型遷移到艦船識別中,保留模型底層特征,用艦船數(shù)據(jù)集來訓(xùn)練高層特征,同時微調(diào)底層特征,Caffe-AlexNet的遷移網(wǎng)絡(luò)結(jié)構(gòu)同圖8。
訓(xùn)練后得到Caffe-AlexNet-Finetuning模型,模型識別準(zhǔn)確率達(dá)到91.08%,訓(xùn)練過程的準(zhǔn)確率隨迭代次數(shù)的增加,準(zhǔn)確率也穩(wěn)步提升,在訓(xùn)練迭代次數(shù)達(dá)到2萬多時網(wǎng)絡(luò)開始收斂,并趨于穩(wěn)定。由于只需要微調(diào)網(wǎng)絡(luò)底層特征,而高層在較大學(xué)習(xí)率的調(diào)整下,模型的損失值從訓(xùn)練開始到結(jié)束一直保持在0.3上下很低的水平,模型的識別正確率及損失值如圖13和圖14所示。
用訓(xùn)練好的Caffe-AlexNet-Finetuning模型測試識別測試集圖像,得到測試正確率及損失值如圖15和圖16所示,從圖中可以看出模型在測試集上的效果與訓(xùn)練集上的效果相當(dāng)。
圖 13 模型識別正確率Fig. 13 Model recognition accuracy
圖 14 模型損失值Fig. 14 Model loss
圖 15 測試集識別正確率Fig. 15 Test data recognition accuracy
圖 16 測試集識別損失值Fig. 16 Test data recognition loss
從圖中可以看出訓(xùn)練后的Caffe-AlexNet-Finetuning在測試集上的表現(xiàn)較好,測試平均正確率可達(dá)到91.08%,平均損失函數(shù)值為0.340 970。
本文采用圖像擴(kuò)充技術(shù)構(gòu)建了小樣本艦船數(shù)據(jù)集,在該數(shù)據(jù)集上訓(xùn)練Caffe-AlexNet及遷移Caffe-AlexNet-Finetuning網(wǎng)絡(luò),比較得到的模型識別正確率及損失值曲線,可以得出:
1)采用基于Caffe-AlexNet網(wǎng)絡(luò)直接訓(xùn)練艦船數(shù)據(jù)集,識別正確率較遷移學(xué)習(xí)的Caffe-AlexNet-Finetuning模型低。出現(xiàn)此情況的主要原因是艦船數(shù)據(jù)集較小,遷移學(xué)習(xí)中的底層參數(shù)幾乎都來自于ImageNet數(shù)據(jù)集的訓(xùn)練,只需要微調(diào)底層參數(shù),加速學(xué)習(xí)上層參數(shù)即可,而沒有經(jīng)過ImageNet數(shù)據(jù)集訓(xùn)練的網(wǎng)絡(luò)在小數(shù)據(jù)集上訓(xùn)練無法很好提取艦船的底層特征,導(dǎo)致識別準(zhǔn)確率低。
2)在無法得到較大數(shù)據(jù)樣本時,可以通過數(shù)據(jù)擴(kuò)充技術(shù)對樣本進(jìn)行擴(kuò)充,但為保證識別準(zhǔn)確率,遷移學(xué)習(xí)在識別艦船不失為一種較好的應(yīng)用。