王月,金映谷,李陽,楊亞寧
(1.大連民族大學信息與通信工程學院,大連116605;2.大連民族大學機電工程學院,大連116605)
森林資源匱乏日趨嚴重,對樹木進行準確分類識別是保護樹木資源及研究樹種多樣性的基礎,在加強生態(tài)文明建設方面具有重要意義。但是在識別樹木種類過程中由于不同樹種的特征信息較多,通過人工提取特征信息的方式效率低且很難提取關鍵信息。識別的樹木在不同季節(jié)也會呈現差異性,增大樹種識別難度,影響樹種識別準確性。
隨著圖像處理技術的快速發(fā)展,國內外科研工作者在識別樹種問題上已進行了許多研究。例如,李可心等人[1]通過使用灰度共生矩陣提取樹皮紋理特征,利用數據特征統(tǒng)計分析進一步選取特征值,應用SOM神經網絡對樹皮圖像進行特征參數識別,識別精度83.33%。扈華等人[2]首先利用SAS方法得到描述木片和樹皮紋理的最佳參數,隨后將最優(yōu)參數計算獲得的數據用作樣本數據,調用SAS中LOGISTIC過程得出預測方程,再將該方程用于邏輯回歸模型,最后利用該模型實現木片和樹皮的圖像識別,正確率達到97.4%。Carpentier等人[3]公開了一組數據集,并使用ResNet網絡對其進行樹種識別,單科植物識別準確率達93.88%;結合多數投票法,單科植物識別準確率可達97.81%。M.Robert等人[4]提出了DeepBark和SqueezeBark局部描述符結合神經網絡來識別樹木表面,其中DeepBark方法具有明顯優(yōu)勢可達87.2%的mAP。以上研究取得了較好的分類識別成果,但在檢測準確度方面仍有待提高。
為進一步提高樹皮圖像識別的準確度,本文提出基于GoogLeNet的樹皮識別方法,在對數據集進行預處理后,設置樹皮圖像識別模型各參數,訓練樹皮模型分類器,通過訓練結果完成對樹皮種類的識別并標注樹木類型。實驗結果表明,該方法能自動判別樹皮種類且識別準確率可達98.1%,極大程度上提高了樹種識別準確率。
本文使用公開數據集Trunk12[5]進行分類。此數據集包含393張3000×4000像素的樹皮圖像,共有12種不同的樹木(全稱-縮寫:alder-ald、beech-bee、birchbir、chestnut-che、ginkgo biloba-gin bil、hornbeam-hor、horse chestnut-hor che、linden-lin、oak-oak、oriental planeori pla、pine-pin、spruce-spr)如圖1所示,每類樹木的圖像數量在30到45之間變化。本文隨機選取數據集的70%作為訓練集,15%作為驗證集,15%作為測試集。
圖1 12個樹種樹皮圖像示例
為進一步驗證本文方法穩(wěn)定性,通過圖像鏡像、圖像旋轉、圖像亮度變化及高斯濾波處理[6]等方法對Trunk12數據集中的每個樹種擴增7倍,并繼續(xù)利用本文模型訓練識別,在訓練識別過程中仍隨機選取擴增數據集的70%作為訓練集,15%作為驗證集,15%作為測試集。
由于數據集具有高分辨率,直接處理樣本會使任務變慢,耗時較長,因此本文對圖像進行縮放[7]操作,采用大小為300×400的輸入圖片訓練模型。GoogLeNet[8]的進步主要是引入一種新的結構Inception module,可構造更加稀疏的CNN結構。Inception module由1×1卷積,3×3卷積,5×5卷積和3×3最大池化組成,增加網絡對不同尺度的適應性。卷積的計算公式如式(1)所示:
當卷積層輸入的特征數很多,對這個輸入進行卷積運算將會產生巨大的計算量;因此本文使用降維版Inception模塊,其基本結構如圖2所示,即在3×3卷積,5×5卷積前加入1×1卷積,在3×3最大池化后加入1×1卷積,從而降低了計算復雜度,實現降維功能。
圖2 Inception Module結構
本文網絡模型結構如圖3所示,輸入圖像為300×400×3,每個卷積都應用一個線性整流函數,改進網絡模型的非線性特征;利用局部響應歸一化(Local Response Normalization,LRN)提高模型訓練精確度,其具體公式如式(3)所示:
圖3 模型結構
本實驗基于Windows 10操作系統(tǒng),Intel Xeon E5-2623 v4@2.60GHz CPU,NVIDIA Quadro P4000顯卡,64.0G內存運行,CUDA-9.1、CUDNN-7.1深度學習庫以及機器視覺軟件HALCON。
在數據集訓練之前需要設置模型超參數,參數的選取對分類器的訓練過程有很大的影響。本文根據訓練的樹皮類型數據集設置如表1所示參數。初始學習率確定訓練過程中梯度影響因素的初始值,本文將學習率每40個周期縮小0.1;動量規(guī)定先前的梯度對權重更新的影響程度;正則化參數有助于應對訓練中存在的過擬合現象。
表1 網絡模型超參數
將訓練集中的樣本輸入至網絡進行前向傳播,經過逐層神經元變換組合處理,得出最終的輸出結果。前向傳播過程中,網絡上層的輸出值將作為當前層的輸入值。將前向傳播獲得的輸出結果與真實結果間的損失值由后往前進行反向傳播[11],模型中的參數利用隨機梯度下降法(Stochastic Gradient Descent,SGD)[12]進行優(yōu)化,通過此方式對各個層的權值進行更新,更新的過程中使其達到損失的極小化便可結束訓練。在實驗過程中,本文在訓練和驗證集上評估當前分類器,并在訓練過程中繪制訓練和驗證期間的top1錯誤率曲線[13],如圖4所示,曲線1是學習率曲線,曲線2是驗證過程中的誤差曲線,曲線3是訓練過程中的誤差曲線。從圖4可以看出,該模型的錯誤率隨著迭代周期的增加不斷減小,在迭代39次之后,誤差曲線趨于穩(wěn)定。
圖4 可視化訓練
本文選用15%的樣本集數據進行評分,模型的混淆矩陣如表2所示,表中每行表示模型的預測類別,每列表示樣本的真實類別。實驗檢測識別結果如圖5所示,其中樹皮圖像預測類別在右上角標出,(x.xx)表示該樹皮是其對應樹種的置信度。
表2 模型的混淆矩陣
從圖5分類結果可以看出本文模型能夠準確識別各個樹種。利用表2的混淆矩陣計算模型分類的精確率(Precision)、召回率(Recall)、F1值(F1-score)[14]和準確率(Accuracy)綜合評價模型的性能,其分類結果如表3所示。
圖5 識別結果
表3 模型的分類性能
由表3可知,本文網絡模型各個性能度量值均在97%以上,且對樹種識別準確率達到98.1%,對樹種分類效果較好,準確率對比現有方法有很大提高,如表4所示。
表4 不同方法準確率比較結果
由表4可知,本文方法的準確率較文獻[5]提高了13.5%,較文獻[15]提高了5.2%,較文獻[16]提高了35.3%,樹種識別準確率較高。實驗同時,為驗證本文模型的可靠性與穩(wěn)定性,在Trunk12擴充數據集2751張圖像上訓練學習的準確率仍高達98%以上,分類效果較好。
準確分類樹種是保護研究樹木資源的基礎,針對在分類樹種過程中效率不高和準確率低的問題,考慮到樹皮的非季節(jié)特性,本文提出了基于GoogLeNet的樹皮圖像識別方法。本文通過構建樹皮圖像識別模型,對Trunk12數據集中12種樹木的樹皮進行學習訓練,取得了較好的分類識別效果。通過實驗對比,本文方法準確率最高,為樹木智能化分類提供更準確的方法。本文模型不僅能夠分類識別文章提及的12種樹木,也可以應用于其他樹種,具有很大的發(fā)展空間。