劉 藝,孫延斌,翟鳳國,梁 新
(1. 牡丹江醫學院,黑龍江牡丹江 157011;2. 牡丹江醫學院附屬紅旗醫院,黑龍江牡丹江 157011)
深度學習是一種強大的技術。與傳統的神經網絡方法相比,它利用了包含更多處理層的人工神經網絡[1]。卷積神經網絡(Convolutional Neural Networks,CNN)是最受歡迎的深度學習技術之一。它會自動從原始數據中學習重要特征。該網絡提取圖像的顏色和紋理特征,用于圖像的識別和分類。它用于識別物體[2]、面部[3]、骨骼[4]、手寫數字[5]等。此外,CNN 還成功地用于農業領域,用于識別植物物種[6]、雜草檢測[7]等。
傳統的藥用植物圖像識別通常依賴于專業人士的知識和經驗,對于普通人來說很難準確識別不同類型的藥用植物。計算機視覺和圖像處理技術的發展為解決這個問題提供了新的可能性[8]。深度學習在植物葉片分類方面取得了顯著的進展。植物葉片分類是指通過對植物葉片圖像進行分析和識別,將它們歸類到不同的植物種類或分類級別。傳統的植物葉片分類方法通常依賴于手工提取的特征和基于機器學習的分類算法。這些方法需要人工設計和選擇特征,且對于復雜的葉片圖像,往往難以獲取準確和魯棒的特征表示。深度學習通過使用深層神經網絡,可以自動學習和提取圖像中的高級特征表示,從而在植物葉片分類任務中取得了顯著的成果[9]。深度學習模型如CNN在處理圖像數據方面表現出色,能夠從原始像素級數據中提取有用的特征,并進行準確的分類。
深度學習算法的發展為植物分類提供了新思路,目前有許多相關研究。吳沖[10]提出了一種基于注意力機制的輕量級中藥識別網絡模型(Attention-TCMNet)。文章所建立的數據集上準確率均值達到了99.25%,宏準確率達到了99.52%,對于每類的中藥鑒別都取得了非常好的結果,識別性能優于傳統的圖像處理與模式識別方法以及其他主流深度學習研究方法。Seeland 等[11]選擇了Inception-ResNet-v2 架構進行實驗,它結合了inception 模塊的計算效率和殘差連接的優化優勢 。初始模塊旨在有效處理不同空間范圍內的信息。在數據集中的1 000 個物種中,CNN 正確分類了82.2%的測試圖像。在更一般的分類單元水平上,即屬和科,準確性相對提高了4.5%和7.5%。對于層次實驗,在屬和科水平上,準確率分別提高了4.9%和8.8%。對于所有實驗,標準差顯示每個水平的相對下降約8%。Krishnamoorthy 等[12]選擇InceptionResNetV2 架構進行實驗,是一種利用遷移學習方法識別水稻葉片疾病的CNN模型,該模型針對分類任務進行了優化,并獲得了很好的效果。針對分類任務對模型參數進行了優化,獲得了95.67%的準確率。Too等[13]對深度學習架構進行了實證比較。評估的體系結構包括VGG 16、Inception V4、50層、101層和152層的ResNet以及121層的DenseNets。實驗使用的數據是38 個不同的類別,包括來自plantVillage 的14種植物的患病和健康葉片圖像。DenseNets 需要相當少的參數和合理的計算時間來實現最先進的性能。它達到了99.75%的測試精度分數,擊敗了其他架構。張林鵬等[14]實現水稻氮素營養的快速、準確識別,將改進的VGG16 網絡和遷移學習相結合。在幼穗分化期時,改進的VGG16 網絡的識別準確率為93.1%。在水稻幼穗分化期和齊穗期,該模型微調后的識別準確率均能達到95%以上。基于遷移學習和改進的VGG16 網絡所建立的水稻氮素營養診斷模型具有較好的泛化能力。
綜上所述,深度學習算法在植物葉片分類中具有顯著的潛力。不同的深度學習架構在植物分類任務中表現出不同的優勢,如VGG16、Inception-ResNet-v2、以及DenseNet 等。選擇合適的架構和優化模型參數對于提高植物葉片分類的準確性至關重要。進一步的研究可以探索更多的深度學習架構和技術,以更進一步改進植物葉片分類的性能和應用范圍。
本文使用傳統的CNN作為基準模型,并引入了一種改進的CNN 模型——VGG16 模型。這些模型的特定設計和優化方法旨在充分利用圖像數據中的空間特征和層次信息,以更好地區分不同種類的藥用植物。
本實驗中使用的藥用植物分類數據集是從Kaggle 網站獲取的,該數據集中共包含1 500 張圖像,每張圖像尺寸均為1 600×1 200 pixel。如圖1 所示,其中共有30 種藥用植物葉片,每種葉片分別有50 張圖片。將數據集劃分為訓練集和測試集,按照80∶20的比例進行劃分。訓練集包含1 200 張圖像,其中每種藥用植物葉片的訓練圖像數量為40 張。測試集包含300 張圖像,其中每種藥用植物葉片的測試圖像數量為10張。

圖1 藥用植物葉片圖
首先使用傳統的CNN作為基準模型,如圖2所示。該模型由卷積層、池化層和全連接層組成,能夠從原始圖像中提取有用的特征。通過多次迭代的訓練和超參數調整,成功地建立了基準模型,并在藥用植物分類數據集上進行了評估。基準模型在處理復雜的藥用植物圖像時存在一定的局限性,無法充分捕捉到圖像中的細微特征。

圖2 卷積神經網絡結構圖
為了進一步改進分類性能,引入了一種改進的CNN 模型——VGG16 模型[15]。這些模型在架構和設計上具有獨特的特點,旨在克服傳統CNN 模型的限制,并提高藥用植物分類的準確性。
計算機為Windows10的64位操作系統,內存16 GB,顯存60 232 MB。通過PyCharm環境與PyTorch框架進行實驗,搭建Python3.7.0、PyTorch1.7.1、Tensorflow等環境,采用基于VGG16預訓練模型進行葉片分類識別。
在預處理階段,將每張圖像的像素值重新縮放到0-1 的范圍內,并將所有圖像的大小調整為224×224像素。CNN是一個比較簡單的結構,基準CNN模型由六層組成,包括三個卷積層,兩個最大池化層和一個全連接層。卷積層設計有不同的核大小和激活函數,允許模型從原始植物圖像中提取有意義的特征。利用最大池化層數來減小特征圖的空間維度。全連接層負責根據提取的特征進行最終分類。
第一個卷積層由32 個過濾器組成,內核大小為2×2,ReLU 激活。接下來是最大池化層,用于對特征圖進行下采樣。第二個卷積層由64個過濾器組成,內核大小為3×3 和ReLU 激活,然后是另一個最大池化層。第三個卷積層有128 個過濾器,內核大小為2×2和ReLU 激活,然后是最終的最大池化層。然后將扁平的特征圖連接到具有128 個神經元和ReLU 激活的全連接層。最后,具有30 個神經元和softmax 激活的輸出層執行了多類分類任務。
該模型使用具有分類交叉熵損失函數的 Adam 優化器進行訓練。訓練過程使用32 的批量大小進行了100 個epoch。訓練數據集由30 種不同藥用植物的1 500張圖像組成,使用重縮放、剪切范圍、縮放范圍和水平翻轉等技術進行了增強,以提高模型的泛化能力。
本研究中的小數據集的分類任務,采用VGG16模型與基準CNN模型比較效果。如圖3所示,VGG16是一個經典的卷積神經網絡模型,由多個卷積層和全連接層組成。將輸入圖像的尺寸設置為224×224 pixel,并根據數據集的類別數目將輸出層的節點數設置為30。為了利用VGG16模型的預訓練權重,加載了在ImageNet數據集上預訓練的VGG16模型,并凍結了其所有層,以防止其權重被更新。

圖3 VGG16 模型網絡結構圖
在模型的頂部,添加了三個全連接層,分別具有4 096個神經元,并使用ReLU 激活函數進行非線性變換。最后一層是具有30 個節點的密集層,使用Softmax 激活函數進行多類別分類。為了增加數據的多樣性和泛化能力,我們使用了數據增強技術,包括圖像的旋轉、平移、剪切、縮放和水平翻轉等操作。使用Adam 優化器,并將損失函數設置為分類交叉熵損失函數。模型的評估指標為準確率。將訓練集和驗證集的數據按照80∶20 的比例進行劃分,并設置了批量大小為32。最后訓練模型共計100 個時期,并在測試集上進行了評估,得到了測試損失和測試準確率。
如圖4、圖5,在進行了100個時期的訓練過程中,VGG 模型的損失函數快速下降并逐漸趨于穩定,最終達到了約0.3的水平。同時,VGG模型的訓練準確率達到了97%,顯示出其在訓練數據上的優異性能。然而,驗證集上的準確率略低于訓練準確率,大約為94%,可能意味著模型在某種程度上出現了一定的過擬合。

圖4 VGG16 模型預測結果圖

圖5 基準模型預測結果圖
CNN 模型的損失函數變化相對較慢,在100 個時期內逐漸趨于平穩,最終約為0.4。該模型的訓練準確率達到了91.1%,并且與VGG模型相比,其在驗證集上的準確率略高,約為93.4%。這表明CNN 模型在訓練數據和驗證數據上的性能較為接近,可能具有更好的泛化能力。
綜合所述,VGG模型在訓練數據上表現出更高的準確率和更快的收斂速度,但可能面臨一定的過擬合風險。而CNN模型雖然收斂速度較慢,但在驗證集上表現較好,顯示出較好的泛化能力。在選擇模型時,需要綜合考慮訓練數據和驗證數據上的性能表現,并根據具體任務的要求和數據集的特點做出選擇。
VGG16 模型獲得的更高精度可歸因于其更深的架構和對ImageNet 數據集中預訓練權重的利用。事實證明,VGG16模型從圖像中捕獲和學習復雜特征的能力有助于有效地對小數據集中的樣本進行分類。
基線CNN模型盡管架構更簡單,但仍然表現出可觀的性能,準確率為91.1%。VGG16 模型和基線CNN模型之間的性能差距突出了利用更復雜的模型架構(如VGG16)來處理小數據集上的分類任務的優勢。
結果表明,VGG16模型具有更深的架構和預先訓練的權重,具有更大的能力從有限的數據中概括和提取有意義的特征,從而提高分類精度。這些結果強調了考慮模型復雜性和利用預先訓練的模型在小型數據集上實現卓越性能的重要性。
本研究中使用的VGG16 模型是一個深度卷積神經網絡,共由16 層組成,包括13 個卷積層和3 個全連接層。VGG16模型的架構遵循順序結構,其中每層執行特定操作以從輸入圖像中提取分層特征。
VGG16 模型的初始層由具有小感受野(3×3)的卷積層組成,并結合了整流線性單元(Rectified Linear Unit,ReLU)激活函數。這些圖層旨在從輸入圖像中捕獲低級特征,例如邊緣、紋理和基本形狀。最大池化層穿插在卷積層之間,以減少特征圖的空間維度并保留最突出的特征。中間層繼續堆疊多個卷積層,具有更深的感受野(3×3),以捕獲更復雜和抽象的特征。這些層對于學習對準確圖像分類至關重要的高級表示至關重要。與初始層類似,最大池化層用于對特征圖進行下采樣并保留最具辨別性的信息。VGG16 模型的末尾,引入了全連接層。這些層用作模型的分類頭,并對學習的特征執行非線性變換。全連接層是密集連接的,這意味著每個神經元都連接到前一層中的每個神經元。這允許整合全局上下文信息并促進最終分類決策。
VGG16 模型架構具有深層配置和感受野大小的逐漸增加,使其能夠捕獲輸入圖像中的復雜模式和復雜關系。卷積層和全連接層的順序排列確保了分層特征的有效提取和輸入數據的可靠表示。總體而言,VGG16 模型的深層架構和內部結構有助于其在各種計算機視覺任務(包括圖像分類)中的出色性能,因為它能夠學習、利用低級和高級特征進行準確與判別性的預測。
相對于VGG16模型,在本研究中使用的CNN模型具有較簡單的結構,CNN模型通常具有較少的層和參數,使得模型較易于訓練和理解。同時也具有較好的泛化能力:CNN 模型在具有較少參數的情況下,仍然能夠有效地捕捉圖像中的關鍵特征,并具有較好的泛化能力,使得在驗證數據上獲得較高的準確率。
VGG16 模型在計算機視覺領域被廣泛應用并得到了廣泛驗證,其在ImageNet 數據集上的預訓練權重具有較高的魯棒性和通用性。通過利用這些預訓練權重,VGG16 模型能夠快速學習和適應新的植物分類任務,從而加速模型的訓練過程并提高分類的性能。
對于深度學習在植物分類領域的未來展望,可以預見其巨大潛力。隨著深度學習模型的不斷發展和改進,我們可以期待更高級的模型結構和更先進的訓練方法,進一步提升植物分類任務的準確性和效率。另外,隨著數據集的不斷擴大和質量的提高,深度學習模型將能夠更好地學習到植物圖像的特征,并應對更復雜的分類挑戰。
此外,隨著深度學習技術的廣泛應用和進一步研究,我們可以期待在植物分類領域的自動化和智能化水平的提升。深度學習模型可以輔助植物學家和生態學家進行大規模的植物分類工作,提供快速和準確的結果。同時,深度學習模型的遷移學習能力使其可以在不同的植物分類任務中共享和遷移知識,進一步提高模型的泛化能力和適應性。