官 飛,許 韜
(福建林業職業技術學院智能制造系,福建 南平 353000)
食用菌具有重要的經濟價值和食用價值,準確快速地識別和分類食用菌對于保證食品安全和推動產業發展具有重要意義。但由于食用菌種類繁多,且很多有毒菌與無毒菌形態相似,傳統的提取特征圖像識別分類方法主要依賴人工觀察和鑒別,不僅耗時、耗力,而且準確性受限于專家經驗。因此,對食用菌進行準確的分類至關重要。近年來,隨著計算機技術的不斷發展,深度學習方法在圖像識別等領域取得了顯著進展,為食用菌的自動分類提供了新的思路。本文將結合深度學習方法來進一步探討食用菌分類新方法,并與食用菌傳統分類法進行對比,以使人們能快速準確地對食用菌進行分類。
基于傳統提取特征的食用菌分類方法主要是在對已有特征進行分析的基礎上,提出的一種基于圖像特征的提取方法。目前的傳統提取特征分類法只是利用局部二值模式LBP(Local Binary Patterns)[1]特征和支持向量機SVM(Support Vector Machin)分類器的方法[2],在食用菌分類任務中實現一定程度的分類。但這種方法[3]仍然受限于手動特征提取的局限性,無法充分利用圖像中的信息。本文以選擇局部二值模式LBP 作為特征提取方法[4]為例,介紹傳統的提取特征圖像識別分類方法。具體步驟如下。
圖像預處理需要對圖像進行預處理,以提高圖像質量并減少計算復雜度。建立如式(1)所示的擴散函數式。
式中,k1、k2和k3為不同的梯度閾值;ut為圖像噪聲估計參數,?ut為圖像梯度。
函數g( |?ut|)是一個擴散函數,函數求解結果即為擴散強度,一般情況下g( | ?ut|)是非負光滑單調下降函數其中,k1、k2和k3表示不同的梯度閾值。
本項目擬采用LBP 對可食用真菌進行特征提取。LBP特征提取是一種紋理特征提取方法,通過將食用菌像素點的鄰域像素值與該像素點的值進行比較,來構建新的二值圖像。對整個圖像重復此過程,計算直方圖作為食用菌的特征。
在提取了食用菌圖像中的LBP 特征之后,利用支持向量機SVM(Support Vector Machin)作為分類器來對特征進行分類。SVM 是一種監督學習模型,通過尋找最大間隔超平面對數據進行分類。
深度學習是一種基于多層網絡的食用菌圖像特征的自動學習方法[5],克服了傳統的基于人工特征提取方法的局限。本項目擬利用卷積神經網絡CNN(Convolutional Neural Networks)對食用菌進行深度分類[6]。
卷積神經網絡的局部特征提取、權重共享特性以及池特性使其能夠從圖像中有效地提取局部特征。CNN 由多個卷積層、池化層和全連接層組成,用正向傳播和反向傳播算法來訓練[7]。為了適應食用菌分類任務,使用VGG16 的網絡結構,食用菌圖像采用ReLU 激活函數和交叉熵損失函數優化模型[8]。激活函數見圖1。

圖1 激活函數Fig.1 Activation function
在本研究中,采用CNN作為基于深度學習的食用菌分類方法。CNN 特別適用于圖像分類任務的神經網絡結構,可以自動學習圖像特征并進行分類。以下是具體步驟。
式中:N為圖像中像素的個數;p為像素塊的中間像素值。
與傳統方法相似,本文提出的新的食用菌圖像檢測方法主要包括圖像的縮放、歸一化和數據增強。首先,對蘑菇圖像進行尺度調整,使其與CNN模型輸入尺度相匹配;其次,通過歸一化助于加快模型的收斂速度;最后,通過旋轉、翻轉、剪切等數據增強方式增加模型的泛化能力。
CNN 模型構建包括構造卷積層、激活函數、池化層、完全連接層、輸出層、輸出層。其中,卷積層主要完成對蘑菇圖像局部特征的提取。在激勵函數中引入了非線性項,提高了模型的表現力,在此基礎上,提出了一種基于稀疏表示的稀疏表示方法。完全連接層將前一種特征向輸出空間映射,然后在輸出層中給出最后的類別概率分布。一個典型的卷積層、激活函數、池化層,最終與整個連接層和輸出層相連。
在訓練與驗證過程完成后,使用測試集評估模型的最終性能。通過準確率指標,可以對模型在食用菌分類任務上的性能進行定量評估。
為了評估新舊兩種分類法在食用菌分類上的性能,收集了一個包含來自不同環境和光照條件下(以增加試驗的泛化能力)多個食用菌種類(如香菇、金針菇、平菇、杏鮑菇、黑木耳等)的圖像數據集。為了保證數據集的質量,通過裁剪、縮放和旋轉等對圖像進行了預處理,使圖像具有相同的尺寸和分辨率。數據集包含3 000張食用菌圖像,每種食用菌各300張。將數據集劃分為訓練集、驗證集和測試集,其中驗證數據集包含300 張食用菌圖像,用于調整模型參數和防止過擬合;測試集包含600張食用菌圖像,用于評估模型在未知數據上的性能;訓練集包含2 100 張食用菌圖像,用于訓練模型。食用菌數據集檢測結果見圖2。

圖2 食用菌數據集檢測結果Fig.2 Results of edible fungi data set
在傳統的提取特征圖像識別分類方法中,對圖像進行預處理后,先利用LBP 提取圖像的特征,然后利用SVM 對其進行分類。
在深度學習方法中,采用一種經典的CNN 結構(見圖3)進行操作。該網絡先通過一個訓練集合來訓練,再通過另一個驗證集合來評價該網絡的性能。使用隨機梯度下降算法進行學習,在訓練過程中,通過監控驗證集上的性能來調整學習率、正則化項等超參數優化模型。

圖3 網絡結構Fig.3 Network structure
實驗結果表明:深度學習方法在食用菌分類任務上取得了較高的準確率,明顯優于傳統的提取特征圖像識別分類方法。
傳統方法和深度學習方法在總體準確率以及各個類別(如類別A、類別B等)準確率上的情況見表1。

表1 傳統方法和深度學習方法在食用菌分類任務上的性能對比Tab.1 The performance of LBP feature extraction and SVM classifier comparedwith deep learning method in edible fungi classification task單位:%
由表1可知,傳統方法在測試集上的準確率為78%,而深度學習方法的準確率達到了95%;深度學習方法在各個類別上的分類性能也均優于傳統方法。試驗結果表明:深度學習方法在食用菌分類任務上有較高的準確率、更強的泛化能力,明顯優于傳統的提取特征圖像識別分類方法。
綜上所述,利用深度學習技術對食用菌進行分類,具有更高的精度和更強的泛化能力,可以在一定程度上克服傳統方法中手動特征提取的局限性,有助于提高食用菌產業的技術水平和安全性。但深度學習方法的訓練通常需要大量的計算資源和數據集,這也是需要在實際應用中權衡的一個因素,未來可以嘗試更多的深度學習模型和技術,進一步提高食用菌分類的準確性和魯棒性。