劉曦 高士武 賀雨


摘 ? 要:為提高卷積神經網絡(CNN)在小樣本數據集中的識別準確率,提出一種基于卷積神經網絡遷移學習的目標分類方法,提高了卷積神經網絡對小樣本混凝土裂紋的識別率。實驗表明,該方法加快了卷積神經網絡的訓練速度,降低了網絡的過擬合過程,提高了目標分類識別準確率。
關鍵詞:遷移學習 ?卷積神經網絡 ?裂紋分類
中圖分類號:G642 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A ? ? ? ? ? ? ? ? ? ? ? ?文章編號:1674-098X(2019)02(a)-0024-02
隨著計算機技術的發展,基于機器視覺的橋梁檢測法受到了人們的關注,它是基于機器視覺理論,利用計算機、無人機等設備對橋梁進行遠距離、高像素、低成本的自動檢測技術[1]。使其能夠代替人工專家,實現對混凝土橋梁裂紋的識別、分類、定位等工作。當前卷積神經網絡(CNN)在圖像識別方面表現十分出色[2],隨著深度學習技術的發展,有了把深度學習技術和橋梁結構損傷檢測相結合的想法。但在深度學習任務中,訓練結構模型需要數量龐大的數據集,否則容易出現過擬合和陷入局部最優解等現象。遷移學習的加入很好地解決了訓練樣本不足所帶來的問題。本文應用的是首先將從大量數據集上學習到的CNN遷移到小樣本目標集上,作為目標集的底層和中層特征提取器;然后替換CNN的全連接層;最后通過小樣本目標數據集對新的全連接層進行訓練,得到適用于小樣本目標集的分類識別網絡。
1 ?卷積神經網絡遷移學習基本原理
1.1 卷積神經網絡
本文使用的卷積神經網絡模型主要是由輸入層、卷積層、批歸一化層、池化層、全連接層和輸出層組成[3]。卷積層的主要功能是訓練提取目標局部特征。池化層主要是對局部特征圖進行降維,提升網絡對輸入圖像的平移旋轉等抗變形能力,本文選擇無重疊區域的最大池化(max pooling)作為采樣函數,相比平均池化(average pooling),最大池化能更好地保留感知野之間的相互特性。在卷積層與池化層中添加了批歸一化層,它不僅可以加快模型的收斂速度,而且在一定程度上緩解了網絡中“梯度彌散”的問題,使得訓練網絡模型更加簡單和穩定。經過多組卷積層與下采樣層的運算,CNN依靠全連接網絡加一個頂層激活函數對提取的特征進行分類,頂層分類函數為softmax。
1.2 遷移學習
深度學習近年來已經取得了巨大成功,但它在很大程度上依然依賴于大量數據,特別是帶有標記的數據[4]。在實際應用中,帶有標記的有用數據往往非常珍貴。為了減少深度學習對可用數據數量的巨大依賴性,遷移學習成為一種非常有效的手段。遷移學習的一般定義是:給定源域及其學習任務,目標域及其目標任務,目的是使用源域與源目標的知識幫助改進學習目標任務中的預測功能。根據源域和目標域與任務之間的不同條件,遷移學習可以分為三個子類,歸納、遷移和無監督,本文中的檢測任務屬于歸納學習,歸納學習需要在目標中標記一些數據。此外,根據知識遷移目標域的要求,有四種常用方法可以應用:(1)實例遷移學習方法;(2)特征遷移學習方法;(3)參數遷移學習方法;(4)關系遷移學習方法。
2 ?網絡結構
本文使用的卷積神經網絡結構是VGG結構的變體形式,其中使用大小為33的濾波器,最大池化層的步長為2,窗口大小為22,與原型VGGNet相比,在softmax層之前將配置更改為具有256個神經元的全連接層,使網絡由于訓練數據不足而更好地與遷移學習兼容。模型輸入的參數數量,濾波器大小和全連接層中的神經元數量有關。首先通過大樣本數據集對卷積神經網絡的結構參數進行預訓練;其次,用兩個自適應全連接層代替卷積神經網絡中全連接層,實現卷積神經網絡的遷移學習;最后通過小樣本數據集對新的全連接層網絡結構參數進行訓練,得到新的分類識別模型。新適應層的維度基于圖像中特征的復雜性,取決于網絡經驗和交叉驗證。在設計中,使用兩個自適應全連接層,其中第一個具有256個神經元,第二個是Softmax層,其中神經元的數量等于任務類的數量。
3 ?網絡訓練
實驗環境為python3.5.2,基于keras2.1.5,計算機配置為:intel core i5 7500 CPU、主頻3.4GHz,GPU:NVIDIA GTX 1050TI,內存為8GB。原始圖像總數為1000張高清照片(3,344×2,224分辨率)。這些圖像來自大型鋼筋混凝土梁強度檢測試驗。使用索尼NEX-5C數碼單反相機采集。其中800個圖像用于訓練和驗證,200個圖像用于測試。將原始圖像裁剪成224×224像素分辨率的較小圖像,以構建用于訓練和驗證的數據集。在訓練之前,首先將每個圖像標注為有損傷和無損傷的標簽。在測試步驟中使用滑動窗口技術,用來檢測位于圖像空間中任何位置的裂縫。同時在此訓練模式中應用數據增強技巧,減少過度擬合問題。使用實驗采集數據進行歸一化處理,搭建卷積神經網絡。編譯函數選用RMSprop,層間激活函數選用ReLU,分類函數選用softmax。把訓練集輸入搭建好的CNN中,將數據通過預訓練模型得到的特征向量保存下來,接著以這些特征向量為原始數據訓練我們新的全連接層網絡,經過100次充分迭代后,損失值不再下降,則認為網絡訓練完成。
4 ?實驗結論
從圖2可以看到,對裂紋圖像進行分類時,零基礎學習的分類正確率初始值為17.4%,同時期的遷移學習初始值為61.8%。經過約20次epochs迭代訓練后遷移學習模式下網絡分類正確率達到峰值97.39%,經過約60次epochs迭代訓練后兩者均達到最高值。相比較而言,遷移學習的loss值下降得也更快,說明模型的學習速度更快。通過對比可以看到,遷移學習的迭代曲線相比零基礎學習更加平滑,說明遷移學習模式下,每一次迭代過程更加趨向于全局最優解,避免了陷入局部最優的問題發生,并且明顯加快了網絡參數的訓練速度。在未來的研究中,有三種方法可以改善模型的性能:(1)增加訓練數據;(2)改進更好的架構;(3)使用相同的架構,微調一些部分網絡結構。
參考文獻
[1] 龐娜,趙啟林,芮挺,等.基于機器視覺的橋梁檢測技術現狀及發展[J].現代交通技術,2015(6): 25-31.
[2] 劉洪公,王學軍,李冰瑩,等.基于卷積神經網絡的橋梁裂縫檢測與識別[J].河北科技大學學報,2016(5):485-490.
[3] 李雪松,林逸洲,馬宏偉,等.基于卷積神經網絡的橋梁損傷識別方法應用研究[J].青海大學學報,2018(2):1-46.
[4] 李松,魏中浩,張冰塵,等.深度卷積神經網絡在遷移學習模式下的SAR目標識別李松[J].中國科學院大學學報,2018(1):75-83.