翟超飛,馬宇亮,趙德金
(延邊大學工學院,吉林 延邊 133000)
近年來,卷積神經網絡(CNN)發展迅速,極大地推動了計算機視覺領域的前進步伐。通過局部連接和共享權值,卷積神經網絡不僅降低了權值的數目,也出色地減少了過擬合現象[1]。憑借泛化能力優異這一特點,卷積神經網絡廣泛應用于物品分類、目標檢測、目標識別等。與全連接網絡比較,卷積神經網絡減少了參數量,可以預防過擬合,且擁有平移不變性,在輸入的圖像為多維時,此圖像能夠直接成為網絡的輸入。近年來,水果分類領域涌現了許多機器學習技術,但其大多在特征選取與圖像的預處理階段進行了復雜耗時的工作[2]。和傳統的圖像識別技術相比,卷積神經網絡具有不俗的容錯率、杰出的并行處理能力以及強大的自學能力,并且自適應性能好,分辨率優異[3]。本文利用卷積神經網絡提出了一個對蘋果、香蕉、檸檬、西瓜、橘子進行識別的卷積模型。
如圖1為經典的LeNet-5的模型結構,共由2個卷積層、2個池化層與3個全連接層組成,且每個特征平面共用一組權值。

圖1 LeNet-5 模型結構
由于數據量較小,本文卷積神經網絡結構在借鑒LeNet模型的基礎上,采用2 個卷積層、2 個池化層、2 個全連接層以及一個Softmax 層和激活函數(ReLU)構成[4]。輸入圖片大小為100×100,通道數為3。第一層卷積層Conv1 采用5×5 的卷積核,步長為1,緊跟著最大池化層進行下采樣,步長為2,第二層卷積層Conv1 采用3×3 的卷積核,步長為1,緊跟著最大池化層,步長為2,池化之后將數據壓平,通過兩個神經元數分別為1 024、256 的全連接層,再通過Softmax 層輸出類別,以實現水果的分類。圖2 為本文所使用的網絡結構示意圖。

圖2 本文選用的卷積神經網絡模型結構
網絡的具體結構參數如表1所示。

表1 網格參數
激活函數為卷積神經網絡的非線性層,為網絡引入非線性能力,可以在連續的兩次線性的卷積操作或全連接操作間進行一次非線性的變換[5]。本文所用模型選擇ReLU函數,因為ReLU函數比起sigmoid、雙曲正切函數等收斂速度快,計算簡便,且在反向傳播時可防止梯度消失。
其解析式如下:

損失函數的選用是為了測度模型的預測值與真實值的差值,本文損失函數選擇交叉熵損失函數,因其求導簡單、避免了梯度彌散且會加快權重矩陣的更新[6]。交叉熵損失計算公式如下:

為了通過更新網絡參數,而使損失函數最小,需選用合適的優化器,本文選擇Adam 優化器。Adam 優化算法結合了 AdaGrad 和 RMSProp 算法的性能,計算高效,內存需求小,在處理稀疏梯度和非平穩目標時有良好效果,經過偏置校正之后,會讓參數變得更加地平穩。常用的梯度下降算法對所有的權重更新使用單一的學習速率,且很難選擇出合適的學習率,而Adam優化算法計算梯度的一階矩估計和二階矩,為不同參數計算自適應學習率[7]。Adam 優化器更新參數方式如下:

池化層篩選提取的特征,壓縮數據、減少參數數量,簡化數據的復雜度,實現特征降維,提高計算速度,在一定程度上防止過擬合,提高魯棒性。通常在一個或者幾個卷積層后面會有一個池化層。池化沒有需要學習的參數,僅計算神經網絡某一層的靜態屬性。本文采用最大池化法,以增強模型的泛化能力。
本文所用數據集為fruit-360 數據集中蘋果、香蕉、檸檬、芒果、橘子共五種常見水果圖片,每一幅圖像均為100×100 的三通道圖片。為增加樣本數量,對數據集進行增廣,對其隨機進行水平與豎直鏡像翻轉,共得到4 443 張訓練集和1 470 張測試集。將訓練圖片的批量設置為64 并進行訓練,再通過可視化工具得到隨迭代次數的增加下訓練集與測試集上的準確率變化如下。
從圖3 和圖4 可以看出,在訓練前期步數較少時,訓練集與測試集上的識別準確率都快速上升,在訓練中期及后期準確率則在較高水平上穩定下來,而二者損失率也隨著訓練進行在不斷下降,并且在后期損失率變化極小,模型在此時已收斂。最終得到訓練集與測試集上的準確率分別為99.22%與97.66%,說明此網絡模型的性能較好,能出色完成水果分類。

圖3 在訓練集上的準確率

圖4 在測試集上的準確率
本文在LeNet-5模型的基礎上,提出了一種卷積神經網絡識別結構,以完成對于水果圖像明顯特征與隱含特征的提取與選擇,進而實現對水果種類的識別,實驗結果表明此模型在水果的識別方面有很高的精確度,與傳統的識別算法相比,此模型適應能力更強,效率更快,泛化能力優異。