邢世宏,楊曉東,單玉浩
(海軍潛艇學院,山東 青島 266000)
艦船識別一直以來都處于相對落后的狀態,關注該領域的學者較少,艦船識別的問題一直都沒有得到很好的解決。艦船識別和其他領域的識別有相似之處,都受環境因素影響比較大。影響因素主要包括低能見度、云及海況等復雜背景雜波因素;觀測攝像機角度相對艦船的角度;遮擋因素。這些因素導致給艦船識別帶來了很大的困難。識別方法主要采用傳統機器學習及模式識別方法[1–4],但傳統技術無法滿足現實的需求。這些技術需要專家手工設計出特征提取器,只有好的特征提取器才能提高識別系統的性能,然而手工設計需要設計者大量的先驗知識并消耗大量的時間,因此很難利用大量的數據。除此之外,傳統方法依賴手工調參數,因此特征的設計中允許出現的參數量十分有限。隨著2012年Alex Krizhevsky的AlexNet[5]在ILSVRC[6]競賽中獲得冠軍,深度學習模型在ImageNet[7]數據集上展現了驚人的能力,同時在GPU高度并行處理計算的支持下,網絡變深、寬度變寬,卷積層數及參數量增多,模型的Top-5錯誤率從2012年 AlexNet的 16.4% 降至 2015年 ResNet[8]的3.57%,已經達到了state-of-the-art,深度卷積神經網絡在識別領域表現出非常好的性能。
本文將深度卷積神經網絡遷移到艦船目標識別中,在AlexNet模型基礎上,調整頂部卷積層,并采用數據擴充技術[9–11]構建艦船數據集訓練艦船識別模型,并對結果進行分析。
現有的深度卷積神經網絡復雜度較高,網絡含有的參數量可以達到百萬級別,因此訓練如此復雜的網絡需要大量的圖像數據,但目前由于資源有限,艦船圖像數據獲取途徑比較單一,艦船圖像主要通過互聯網獲取,并且獲取的圖像數據量無法滿足深度學習對大數據的要求。為構建艦船訓練數據集。通過Internet搜索相關艦船網站,收集到的艦船原始圖像共360張,并將其分為6大類,每類60張,部分圖像如圖1~圖6所示。

圖 1 貨輪Fig. 1 Cargo vessel

圖 2 漁船Fig. 2 Fishing boat

圖 3 客輪Fig. 3 Passenger vessel

圖 4 游艇Fig. 4 Yacht

圖 5 帆船Fig. 5 Sailing boat

圖 6 艦船Fig. 6 Warship
由于獲取的原始圖像尺寸不統一,需要將其縮放到統一的大小,這里將圖像縮放到227×227×3。由于通過上述單一手段獲取的圖像數量難以滿足訓練深度神經網絡,為了防止訓練過程中出現過擬合,現通過數據擴充技術對上述原始圖像進行擴充,原始圖像擴充技術包括部分圖像增強技術、圖像尺度變換、圖像反轉、旋轉等方法等,如圖7所示。

圖 7 圖像數據擴充Fig. 7 Image data augmentation
圖像經過數據擴充及手工標注后,將原有數據增加到每類1 200張,形成了包含72 000張圖像的訓練集。另外再收集每類12張圖片,經過數據集擴充后得到包含14 400張圖像的驗證集。
AlexNet是具有歷史意義的一個網絡結構,在2012年ILSVRC圖像分類競賽比賽中獲得冠軍,top-5錯誤率比上一年的冠軍下降10%。
AlexNet網絡結構包括輸入輸出層、卷積層、激活層、下采樣層、局部歸一化、Dropout層及全連接層,網絡結構如圖8所示。

圖 8 Caffe-AlexNet網絡結構Fig. 8 Caffe-AlexNet
在上文所構建的艦船圖像數據集上訓練Caffe-AlexNet網絡。訓練網絡的硬件平臺為Win10-x64系統,處理器為8核Intel(R) Core (TM) i7-6700 CPU@3.40 GHz,內存為16 GB,GPU為NVIDIA Quadro M2000顯存4 GB。訓練后得到識別艦船的Caffe-AlexNet-Ship模型,識別正確率為76.63%。模型在訓練迭代2萬次后趨近于平穩,損失值也穩定在0.76附近,如圖9和圖10所示。

圖 9 模型識別正確率Fig. 9 Model recognition accuracy

圖 10 模型損失值Fig. 10 Model loss
在訓練好的Caffe-AlexNet-ship模型后,經過測試集測試,正確率也在76%附近,損失值與訓練集的損失值變換趨勢一致,最后穩定在0.76附近,如圖11和圖12所示。
由圖可以看出采用Caffe-AlexNet網絡直接訓練艦船數據集無法得到較好的識別率。由于艦船數據集較小,網絡深度較淺無法很好地提取目標特征,因此最終的識別正確率只能達到76.6%。

圖 11 測試集識別正確率Fig. 11 Test data recognition accuracy

圖 12 測試集識別損失值Fig. 12 Test data recognition loss
深度卷積神經網絡由多個層組合而成,每個層在深度網絡中都發揮著一定的作用。對于一個訓練好的網絡模型,其底層提取的特征屬于物體的通用特征,這些特征一般都表現為局部的紋理、輪廓及顏色特征,而高層的特征從這些較為具體的底層特征提取出來,一定程度上表現為物體的抽象屬性[13]。在此理論根據下,采用遷移學習,將ImageNet數據集上訓練好的Caffe-AlexNet模型遷移到艦船識別中,保留模型底層特征,用艦船數據集來訓練高層特征,同時微調底層特征,Caffe-AlexNet的遷移網絡結構同圖8。
訓練后得到Caffe-AlexNet-Finetuning模型,模型識別準確率達到91.08%,訓練過程的準確率隨迭代次數的增加,準確率也穩步提升,在訓練迭代次數達到2萬多時網絡開始收斂,并趨于穩定。由于只需要微調網絡底層特征,而高層在較大學習率的調整下,模型的損失值從訓練開始到結束一直保持在0.3上下很低的水平,模型的識別正確率及損失值如圖13和圖14所示。
用訓練好的Caffe-AlexNet-Finetuning模型測試識別測試集圖像,得到測試正確率及損失值如圖15和圖16所示,從圖中可以看出模型在測試集上的效果與訓練集上的效果相當。

圖 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
從圖中可以看出訓練后的Caffe-AlexNet-Finetuning在測試集上的表現較好,測試平均正確率可達到91.08%,平均損失函數值為0.340 970。
本文采用圖像擴充技術構建了小樣本艦船數據集,在該數據集上訓練Caffe-AlexNet及遷移Caffe-AlexNet-Finetuning網絡,比較得到的模型識別正確率及損失值曲線,可以得出:
1)采用基于Caffe-AlexNet網絡直接訓練艦船數據集,識別正確率較遷移學習的Caffe-AlexNet-Finetuning模型低。出現此情況的主要原因是艦船數據集較小,遷移學習中的底層參數幾乎都來自于ImageNet數據集的訓練,只需要微調底層參數,加速學習上層參數即可,而沒有經過ImageNet數據集訓練的網絡在小數據集上訓練無法很好提取艦船的底層特征,導致識別準確率低。
2)在無法得到較大數據樣本時,可以通過數據擴充技術對樣本進行擴充,但為保證識別準確率,遷移學習在識別艦船不失為一種較好的應用。