?

基于改進SqueezeNet模型的多品種茶樹葉片分類方法

2023-03-07 03:31孫道宗劉錦源謝家興王衛星
農業機械學報 2023年2期
關鍵詞:茶樹卷積準確率

孫道宗 丁 鄭 劉錦源 劉 歡 謝家興 王衛星

(1.華南農業大學電子工程學院(人工智能學院),廣州 510642;2.廣東省農情信息監測工程技術研究中心,廣州 510642)

0 引言

據中國農業科學院茶葉研究所數據統計,茶葉飲品已經成為消費量僅次于水的一類世界性飲品[1]。中國是世界茶樹的原產地[2],是茶葉生產國和消費國[3],亦是茶葉出口大國。國際茶葉委員會[4]統計顯示,2019年中國茶葉產量為2.799×106t,居世界第一,出口3.67×105t,居世界第二。在長期制茶過程中,我國產生了眾多茶葉品種,其中一些品種是同一種茶樹的不同變種,外觀差異極小,使茶葉的分類識別復雜化,傳統的感官審評方法采用的審評術語并不完善[5]。因此,目前對于茶葉的分類識別主要依賴于專業人員的觀察和對成品茶的品鑒來分類,流程復雜,需要較高人力成本,同時還存在較大的主觀因素影響,導致一致性差、差錯率高、量化難[6];尋找一種可以高效無損地識別茶樹葉片種類的方法是我國茶產業發展需要解決的重要問題之一[7]。

在茶葉生產領域,光譜學、數字圖像處理等技術的研究和應用逐漸增多。CHEN等[8]利用VGG-16模型和自編碼網絡獲取多光譜特征實現對新鮮茶芽成熟度的估計。徐向君等[9]基于激光誘導擊穿光譜(Laser-induced breakdown spectroscopy, LIBS)技術,結合主成分分析提取特征量并利用支持向量機進行建模。陳輝煌等[10]采集9種鮮茶葉數據,通過預處理計算24種光譜指數,用SVM-RFE選擇特征,最后將線性SVM和隨機森林分類效果進行比較。通過光譜獲取特征雖然可以用于分類,但是存在局限性,如相關儀器及操作繁瑣復雜、成本較高等,不利于在農業領域推廣應用。因此具有精度高、效率高、無需接觸且成本較低等優點的機器視覺技術被逐漸應用于農產品分類識別中[11],成為農業分類識別的熱門研究方向。方敏等[12]利用數字圖像處理技術將提取的茶葉圖像頻譜特征作為支持向量機的輸入,建立茶葉種類自動識別模型。孫麗萍等[13]將樹木葉片的特征融合后作為分類依據,采用深度信念網絡進行訓練、識別和分類。上述方法雖然結果精度不低,但是需要人為提取特征,只支持有限參數量,設計的模型在魯棒性方面不理想,在大數據時代,人工提取數據特征的方式已逐漸被取代[14]。卷積神經網絡(Convolutional neural networks, CNN)作為圖像分類算法的重要分支,具有識別精度高、檢測速度快等優點,并自動提取和學習特征,近年來在各個領域的分類、檢測等方面廣泛應用。文獻[15-19]采用的深度學習模型雖然在各自研究領域的分類效果顯著,但是存在網絡模型結構復雜、參數龐大、運算量要求高等不足,受限于內存開銷小、計算資源有限等問題,不利于實際應用。而且目前卷積神經網絡用于茶葉分類的研究主要集中于熟茶的分類和鮮葉的芽葉品級分選[20],對于鮮葉種類的識別較少。本文將在前人研究的基礎上進一步探索茶樹葉片識別卷積網絡模型的輕量化研究?;赟queezeNet卷積神經網絡,通過對網絡架構進行分析,結合改進和優化步驟構建一個能夠區分6種茶樹葉片的深度學習模型,旨在開發一種高效、精確、客觀、輕量的鑒別模型,實現對復雜背景和環境下茶樹葉片的分類,實現多人多設備實時使用,同時應用于資源受限的嵌入式實時系統。

1 數據集構建與分類方法

1.1 試驗材料

于2021年6—10月對廣東省廣州市柯木塱農業技術推廣中心種植的6種成熟茶樹,分別在白天光照充足和陰雨天氣的環境條件下使用iPhone11手機自帶相機拍攝復雜背景下的茶樹葉片圖像,主攝像頭為索尼IMX503型(1 200萬像素)。

拍攝的數據集由鐵觀音、黃枝香、英紅九號、老仙翁、雞籠刊和鴨屎香6種不同茶樹葉片所構成,其中每個種類的圖像包含茶樹單片成熟葉片、芽葉和多葉片樹枝,各個種類的圖像為200幅。該數據集茶樹葉片包括不同亮度、背景、角度圖像,較好地還原了茶樹葉片在種植環境中的實際場景,能更好地訓練模型和證明模型的泛化能力,具有更強的適用性。

1.2 分類方法

1.2.1數據預處理

深度學習屬于監督學習,與傳統計算機視覺方法不同,是使用卷積神經網絡通過數據驅動使模型自動學習特征,不需要借助人工手段提取和篩選特征。由于卷積神經網絡包含大量參數,所以存在過擬合的風險。因此,對于卷積神經網絡需要提供大量的樣本數據進行訓練,避免網絡出現過擬合問題。由于本研究所獲取的原始數據集只有1 200幅圖像,無法滿足卷積網絡的訓練學習要求,為了避免出現過擬合問題,提高網絡模型的魯棒性,本文對現有數據集進行數據增強來擴大訓練數據集。

將數據集進行數據增強,增強方法包括水平鏡像翻轉、隨機旋轉、增加高斯噪聲和改變圖像對比度等。將增強后數據集按4∶1的比例劃分為訓練集和測試集,其中訓練集每種茶樹葉片圖像數量為800幅,剩余圖像為測試集。經過劃分后的訓練集圖像數量達到4 800幅。圖1為不同茶樹葉片增強前后的圖像對比,從左到右的4幅圖像分別進行了水平鏡像翻轉、改變圖像對比度、增加高斯噪聲、隨機旋轉處理。

圖1 數據增強前后對比

1.2.2經典SqueezeNet模型

近年來硬件的快速升級,推動了深度學習的蓬勃發展,研究者對卷積神經網絡的層數不斷增加,同時殘差網絡等技術的出現更是讓卷積神經網絡的層數進一步上升,從經典的7層卷積神經網絡AlexNet逐漸發展到現在152層的ResNet網絡,甚至出現上千層的復雜網絡,網絡的識別、檢測性能確實得到了顯著提高,但是效率卻受到影響[21]。在效率上,過于復雜的網絡所包含的參數量過大,在模型的預測計算中導致計算緩慢,這些問題會導致所研究的網絡無法被廣泛應用到資源有限的實際環境中。當前存在兩種研究方向解決網絡復雜化的問題,一是對復雜模型的簡化,主要是將訓練好的模型進行壓縮,減少模型所包含的參數,從而解決內存和計算速度的問題;二是通過設計更高效的“網絡計算方式”從而使網絡參數減少的同時不過多損失網絡性能,本文所改進的網絡模型SqueezeNet就是通過設計高效計算方式而創造出輕量級卷積網絡,該試驗在經典SqueezeNet模型基礎上進行改進,以實現網絡模型輕量化的同時保證茶樹葉片分類的準確度。

SqueezeNet模型是2016年由IANDOLA等[22]提出的一個輕量型網絡模型,能在保證識別精度的同時,將原始的AlexNet參數壓縮至原來的1/50左右,使模型內存占用量只有4.8 MB。Fire模塊是SqueezeNet模型的核心構件,如圖2所示,該模塊由一個Squeeze層和一個Expand層構成,其中C和S分別表示Squeeze層的輸入和輸出通道數,E1和E2分別表示Expand層中1×1和3×3卷積核的輸出通道數。

圖2 Fire模塊結構

由圖2可知,Squeeze層通過1×1的卷積核對輸入張量進行壓縮,把輸入通道數從C減小到S,目的就是通過降低通道數減少網絡的計算量;Expand層包含1×1和3×3兩種卷積核,分別將Squeeze層輸入的S通道數擴張成E1和E2,然后將2種卷積核卷積所得特征圖進行拼接,最終輸出通道數為E1+E2的特征圖。

為引入非線性并使深度學習模型產生強大的表示能力,模型中在每個卷積層后都添加了線性整流函數(Rectified linear unit, ReLU)。為了避免網絡過擬合,對全連接層引入了隨機失活(Dropout),即在網絡前向傳播時,讓部分神經元的激活值以一定的概率停止工作,這樣可以使模型泛化性更強。

1.2.3SqueezeNet模型改進設計

1.2.3.1批歸一化算法

由于輸入每個批次的圖像數據可能存在分布廣泛、隨機性大的問題,導致訓練出現波動大和收斂慢,因此在網絡中添加批歸一化(Batch normalization, BN)[23]處理,算法過程如下[24]:首先計算每個批次n個樣本的均值μ與方差σ,然后再將數據歸一化,得到均值為0、方差為1的數據。為避免數據歸一化破壞特征分布,需要通過重構變換來恢復原始的特征分布。

(1)

yi=γii+βi

(2)

(3)

βi=E[xi]

(4)

xi——樣本值

yi——尺度變換和偏移后樣本值

γi——尺度變換值βi——偏移值

Var——方差函數

E——均值函數

可以發現當式(3)、(4)成立時,重構變換能夠完全復原原始數據。通過對Fire模塊的Squeeze層和Expand層的輸出進行批歸一化處理,實現對SqueezeNet的改進。

1.2.3.2深度可分離卷積

通過采用深度可分離卷積操作替代標準卷積操作,既能保證模型的性能,同時還可以大幅降低網絡的參數量。因此,深度可分離卷積的出現,對研究輕量型卷積網絡具有里程碑意義[25]。深度可分離卷積就是將標準卷積操作劃分為逐通道卷積和逐點卷積[26]。

標準卷積操作如圖3所示,由于上一層一般具有多個通道,因此在卷積時一個濾波器必須具有對應通道數的卷積核,因此一次卷積操作是多個卷積核與上一層對應通道的特征圖進行卷積后再相加;若同時需要得到多個通道的特征圖,則需要對應該通道數的濾波器。

圖3 標準卷積

由圖4可知,深度可分離卷積就是將需要卷積操作的特征圖拆分通道數,然后進行單通道卷積再堆疊(逐通道卷積),然后將所得特征圖用與上一層通道數相同的1×1卷積核組成的濾波器進行卷積,濾波器數與生成特征圖通道數相同(逐點卷積)。該試驗將SqueezeNet模型中Fire模塊Exapnd層的3×3標準卷積核替換為深度可分離卷積,降低網絡的參數量,以實現網絡輕量化的目標。

圖4 深度可分離卷積

1.2.3.3注意力機制

由于該試驗的主要研究方向是基于卷積神經網絡的多品種茶樹葉片分類,茶樹葉片圖像在獲取深層特征時會存在一定的特征冗余,同時受限于模型規模和復雜背景的限制和影響,因此模型的分類性能會受到影響。因此試驗嘗試將注意力機制[27]引入到網絡中,實現對特征信息進行選擇。注意力機制模仿人的視覺注意力模式,每次只關注與當前任務最相關的目標信息,能夠強化重要信息和抑制非重要信息,同時注意力機制可以緩解卷積神經網絡傳統卷積操作的局部感受野因缺乏全局信息層次的理解能力而導致特征差異性的問題,提升網絡的特征提取能力。

Fire模塊中引入的注意力模塊如圖5所示,通過將通道注意力和空間注意力串行組成,其中通道注意力機制主要聚焦于有意義的特征,而空間注意力主要聚焦于輸入圖像有效信息豐富的部分,特征提取器提取的特征向量先輸入通道注意力模塊,根據各通道的重要程度得到通道權重矩陣并將矩陣輸入空間注意力模塊,獲得空間權重矩陣,再經過訓練后,注意力模塊可以從輸入特征圖中“裁剪”出特征信息更精細的特征圖以提升分類性能,最終改進的Fire模塊如圖6所示。

圖5 注意力模塊

圖6 改進Fire模塊結構

2 模型訓練

2.1 試驗平臺

試驗平臺由計算機硬件和開發平臺兩部分組成。計算機硬件配置為AMD銳龍5800H CPU,16 GB內存,RTX3060顯卡。開發平臺為Windows 10 操作系統上的Pytorch深度學習框架,編程語言為Python。

2.2 超參數選取

采用批量訓練的方法將訓練集與測試集分為多個批次(Batch size),通過對比后選擇每個批次訓練8幅圖像。遍歷一次訓練集中的所有圖像作為一次迭代(Epoch),經試驗后可知模型迭代130次網絡損失值已經收斂至平穩階段,因此將迭代次數設置為130。采用隨機梯度下降(Stochastic gradient descent, SGD)算法優化模型,通過比較后選擇設置學習率為固定學習率0.01,為防止過擬合將權值衰減(Weight decay)設置為1×10-5。

2.3 模型評價指標

因為本文研究目的之一是實現模型的輕量化,所以模型將參數量和浮點運算量作為模型的評價指標之一,試驗統一采用開源的Python包thop計算改進模型和對比模型輸入單幅圖像的參數量和浮點運算量。測試集的分類速度也是衡量模型性能的指標,用平均單幅圖像分類消耗時間作為分類速度指標。該試驗通過計算各模型在測試集的分類時間來比較模型的分類效率。

此外,衡量模型性能的指標還包括準確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1值(F1 score)。

3 結果與分析

3.1 改進網絡模型對比

試驗屬于單變量試驗,改進模型的訓練均在同一平臺環境下完成,在訓練完成后通過對比模型在測試集的準確率和參數量對改進效果進行分析。

圖7為SqueezeNet模型和改進后模型在訓練集上的損失值和在測試集上的準確率隨迭代次數變化曲線,其中損失值每20個迭代周期輸出一次,準確率每1個迭代周期輸出一次。SqueezeNet_bn是增加批歸一化處理后的改進模型,SqueezeNet_bn_dw是將第1次改進模型中Fire模塊的3×3標準卷積替換為深度可分離卷積后的改進模型,SqueezeNet_a_bn_dw是在每個Fire模塊中引入注意力機制后的最終改進模型。從圖7可以看出,SqueezeNet模型從訓練開始在訓練集上的損失值出現較大波動,并且損失值的收斂速度最慢,這是由于不同批次茶樹葉片圖像的數據分布差異較大,每一個批次訓練都需要大幅調整參數,之后損失值下降速度相較于改進后模型也較慢,反映在測試集上的準確率也在初始時出現較大波動,迭代130次后準確率只有82.8%,低于改進后的3個模型。

圖7 訓練集損失值和測試集準確率變化曲線

由圖7可知,通過增加批歸一化處理,使得每個批次的圖像數據分布統一,改進模型SqueezeNet_bn在訓練集上的損失值相較于原始模型沒有顯著波動,并且逐漸收斂,經過130次的迭代訓練已經下降至0.16左右,測試集的準確率曲線在60個迭代周期后基本穩定在改進模型中的最高值,最終準確率達到86.0%,相較于原始網絡,茶樹葉片分類效果顯著提升。

為了研究模型的輕量化,將Fire模塊中Expand層的3×3卷積核替換成深度可分離卷積,在確保精度的前提下,實現網絡的進一步輕量化??梢詮膱D中看出,第2次改進的模型在6種茶樹葉片的分類訓練中損失值和準確率的變化和未替換深度可分離卷積的模型相似,深度可分離卷積可以保證在該模型性能沒有顯著變化的前提下實現模型參數的下降。為了保證模型分類性能的進一步提升,試驗對模型進行了第3次改進,引入注意力機制,從圖7中可以發現添加注意力機制后模型在訓練集上的損失值收斂速度優于原始模型SqueezeNet和第2次改進模型SqueezeNet_bn_dw,僅次于第1次改進模型SqueezeNet_bn,同時在測試集的分類準確率上相較于第2次改進模型有一定提升。

從表1可以看出,經過130次迭代訓練后的改進模型SqueezeNet_a_bn_dw在測試集的準確率為90.5%,為4種模型中最高,相較于原始模型SqueezeNet,測試集準確率提升7.7個百分點,參數量減少3.56×105;而相較于第2次改進模型SqueezeNet_bn_dw,測試集準確率提升3.7個百分點,參數量僅增加1.23×105,實際分類速度也與改進前基本相同,在沒有明顯提升模型部署資源需求的同時提升了輕量化模型的性能。由表1可知,SqueezeNet_a_bn_dw模型的綜合性能優于對比模型。

表1 改進模型效果對比

3.2 不同網絡模型對比

表2為改進模型(SqueezeNet_a_bn_dw)和4種經典卷積神經網絡模型在6種茶樹葉片數據集上經過130次迭代訓練后的分類效果對比,訓練軟硬件平臺和超參數選取均保持一致。從表2中可以看出,同樣是輕量化網絡的MobilenetV3_Small[28],分類效果和輕量化表現都明顯優于未改進的SqueezeNet網絡,但是相較于SqueezeNet_a_bn_dw模型在分類準確率和參數量上都存在差距,其在測試集上的準確率僅有86.9%,在實際分類速度方面也明顯慢于SqueezeNet_a_bn_dw模型。ShuffleNetV2[29]同樣也是為在移動設備上運行而設計的輕量化網絡,其表現同樣優于SqueezeNet,但是落后于SqueezeNet_a_bn_dw,僅在測試集的平均分類速度上有極小的領先。經典網絡AlexNet[30]的效果一般,在測試集的準確率為88.4%,參數量高達5.702 8×107,測試集的分類速度為0.099 s/幅,在實際茶樹葉片分類應用中準確率、模型參數量和分類速度均不及ResNet18[31]和SqueezeNet_a_bn_dw。ResNet18在測試集準確率上最高,達到92.3%,高于改進模型1.8個百分點,但是本試驗所研究的SqueezeNet_a_bn_dw所需參數量僅有3.69×105,遠低于ResNet18的1.117 2×107,測試集平均分類速度也僅為0.109 s/幅,綜合準確率、模型大小和分類速度3個指標來看,SqueezeNet_a_bn_dw模型在實際部署和應用中優于ResNet18模型。

表2 不同模型效果對比

3.3 種類識別結果可視化分析

對網絡模型在測試集上的識別結果進行混淆矩陣分析,如圖8所示。從圖8可以看出,預測分類的最大值都在對角線上,可以驗證改進模型對茶樹葉片分類可行性。根據混淆矩陣可以計算出改進模型在各品種茶樹葉片的準確率、召回率和F1值3個指標,如表3所示。

圖8 測試集混淆矩陣

由表3可知,本文模型在茶樹葉片測試集上的準確率、召回率和F1值都比較高。但是從準確率可以發現,模型將其它品種茶樹葉片識別為英紅九號和老仙翁的可能性相對明顯。此外,對鴨屎香的分類效果存在一定偏差,召回率較低,從圖8可知,本文模型將鴨屎香圖像誤分為雞籠刊和英紅九號較多,該現象可能是由于鴨屎香與雞籠刊、英紅九號的特征如顏色、紋理和形狀等出現了混淆,也可能是由拍攝、光照以及復雜背景的影響造成。雖然存在一定的誤分類問題,但是模型測試集的整體分類準確率達到90.5%,且各類茶樹葉片分類結果的F1值保持在90%左右,說明模型分類性能較好,能夠適用于復雜背景下多品種茶樹葉片分類識別。

表3 茶樹葉片分類測試試驗結果

3.4 改進模型可視化分析

類激活圖(Class activation map, CAM)有助于分析卷積神經網絡做出最終分類決策的依據,反映圖像不同位置對該類別的權重。圖9以鐵觀音(上圖)和老仙翁(下圖)圖像為例,通過類激活熱力圖可視化比較注意力機制的改進效果。

圖9 熱力圖

圖9分別展示了SqueezeNet_bn_dw和SqueezeNet_a_bn_dw模型在最后一層卷積層的決策依據,通過比較可以發現,未添加注意力機制的模型在對鐵觀音和老仙翁的分類決策中受到較嚴重的背景影響,尤其對鐵觀音圖像中葉片的有效特征提取效果極差,對主要葉片幾乎沒有關注。而通過引入注意力模塊,模型對圖像有效信息的提取更加準確,受到復雜背景信息的影響更小,決策影響重心都與中心葉片明顯關聯,顯著提升模型的決策可行性,與改進目的和試驗結果相符合。

4 結論

(1)在單次驗證方法下,選用包含復雜背景和天氣環境的茶樹葉片圖像數據集,經過數據增強后對改進SqueezeNet模型進行訓練,通過比較確定超參數,學習率為0.01、批量大小為8;對茶樹葉片的分類準確率可達到90.5%,相比經典SqueezeNet模型提高7.7個百分點,模型參數量下降到3.69×105,比經典SqueezeNet模型減少49.1%,同時改進后模型的計算量減少59.2%。

(2)通過和其他經典網絡對比,AlexNet和ResNet18在本文試驗條件下分類準確率分別為88.4%和92.3%,測試集分類速度分別為0.099 s/幅和0.183 s/幅,參數量分別為5.702 8×107和1.117 2×107,比較分析可以得到本文模型基本與其他經典高精度網絡保持同一水平的情況下,對參數內存的需求有顯著優勢;同為經典輕量化模型的MobilenetV3_Small和ShuffleNetv2,在參數量和茶樹葉片的分類準確率兩個標準下均明顯優于經典SqueezeNet,但是不及改進后的SqueezeNet_a_bn_dw模型。

(3)改進SqueezeNet模型較好地平衡了參數內存需求、網絡準確率和分類速度3個指標,在大幅減少模型參數內存要求和模型計算量的同時使模型的性能提升到了一個較高的水平,這有利于將卷積神經網絡模型部署在移動終端等嵌入式資源受限設備上,有助于實現對茶樹葉片的實時準確識別,為茶樹種類的識別提供了一個簡潔高效的方法,也為深度學習在茶葉領域的進一步應用奠定了基礎。

猜你喜歡
茶樹卷積準確率
基于3D-Winograd的快速卷積算法設計及FPGA實現
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
從濾波器理解卷積
山茶樹變身搖錢樹
高速公路車牌識別標識站準確率驗證法
基于傅里葉域卷積表示的目標跟蹤算法
兩個推薦茶樹品種
茶樹灣
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合