孫道宗,劉錦源,丁鄭,劉歡,彭家駿,謝家興,王衛(wèi)星
1.華南農業(yè)大學電子工程學院(人工智能學院),廣州 510642;2.廣東省農情信息監(jiān)測工程技術研究中心,廣州 510642
南藥是指長江以南、南嶺以北地區(qū)包括湖南、江西、福建、臺灣等省區(qū)的全部或大部分地區(qū)所產的地道藥材,是我國傳統(tǒng)中藥材的重要組成部分。目前廣東省種植的藥材有60多種,其中具有鮮明地域特色的南藥種類有40余種,種植面積共約21萬hm2,年產量約115萬t,農業(yè)產值約160億元[1]。在實際種植生產過程中,由于葉片的紋理復雜、背景的復雜性及藥材葉片與樹葉顏色和紋理的高度相似性,給南藥材的分類和分揀工作帶來一定困難。
對于復雜自然場景下的植物葉片目標檢測和識別,近年來已取得一定進展。朱黎輝等[2]將基于形狀和紋理特征的中藥圖像檢索方式融合模式識別技術及人機交互技術運用到對中藥材圖像的檢索上,提取BLBP紋理特征和IHOG形狀特征并將2種特征進行組合,該方法的平均準確率達到93.56%。楊萬里等[3]提取了顏色、形態(tài)和紋理等85個表型參數(shù)進行歸一化處理后,將表型數(shù)據與作物的生長質量作線性回歸分析,建立最優(yōu)預測模型。凌秀華等[4]對麥冬藥材的幾何形狀、顏色、紋理、橫切面各組織的面積分數(shù)等特征進行提取,實現(xiàn)有效鑒別不同產地麥冬藥材。陶歐等[5]通過分析18種中藥材不同樣本圖像的26個紋理特征數(shù),采用樸素貝葉斯及BP神經網絡2種建模方法和十折交叉驗證,建立18種中藥材的判別模型,其準確率達到90%。錢丹丹等[6]利用計算機視覺系統(tǒng)提取中藥飲片圖像的特征并輸入到樸素貝葉斯分類器,其綜合分類準確率達到94%。藥材通過加工制成后的中藥飲片也可以利用深度學習進行分類和識別訓練,并建立模型[7]。模型提取到足夠的特征后,利用卷積神經網絡對中藥材圖像進行識別。
此前手工提取特征的方法容易受圖像噪聲、背景復雜性等影響,造成提取特征出現(xiàn)偏差。隨著深度學習理論的發(fā)展,基于學習的方法能夠自動化提取數(shù)據特征,因此魯棒性更好[8]。Xu等[9]提出了1種新的用于中藥材識別的注意金字塔網絡APN(atten?tional pyramid networks)。APN可以自適應地對不同特征尺度的中草藥圖像進行建模,將其運用至構建好的中藥數(shù)據集上開展試驗并獲得2%的性能提升。除了與圖像識別結合,深度學習也能夠和電子鼻技術進行結合,在原有的深度卷積神經網絡(DCNN)上進行優(yōu)化,在卷積層和池化層上使用特殊的一維內核,使其適合于電子鼻的數(shù)據,實現(xiàn)對多種類型的中藥材分類[10]。孫鑫等[11]利用卷積神經網絡研究中藥飲片圖像識別,運用Softmax函數(shù)來優(yōu)化CNN識別模型,在50種中藥飲片圖像中可實現(xiàn)70%的平均識別精度。Anvarkhah等[12]利用機器視覺技術,針對藥用植物種子的形態(tài)和顏色2種特征參數(shù)的組合,進行識別和檢測研究,找出準確率最優(yōu)的特征組合。基于深度學習的草本植物自動分類識別系統(tǒng)是根據葉片形狀來識別植物類型,其方法可以應用至中藥材圖像信息庫,進而建立更高效的、快速的藥材信息檢索方法[13]。Husin等[14]設計一種便捷高效的草本植物分類系統(tǒng)來提高分類效率,研究的重點在于中藥葉片的形狀和紋理特征的識別方法,識別準確率達到98.9%。Sladojevic等[15]利用深度卷積網絡進行植物病害識別,該模型的試驗精度在91%~98%,單獨分類測試的平均精度為96.3%。
現(xiàn)有研究對藥材識別的方法多為提取特征后再輸入到卷積網絡得到分類結果,但是仍然存在識別準確率不高、生成模型存儲空間較大的問題,對硬件設備要求較高而難以應用到嵌入式或移動式設備上。Tan等[16]在2019年發(fā)布了基于CNN的主干特征提取網絡EfficientNetv1,其使用基于強化學習[17-18]的神經架構搜索,將圖像輸入分辨率r、網絡的深度depth以及卷積核個數(shù)width 這3個參數(shù)進行合理化配置,從而設計一個性能較好的主干網絡。相較于AlexNet、VGGNet、GoogleNet等經典網絡,EfficientNetv1模型在ImageNet上有更高的精度,并且卷積網絡體量更小,速度更快。但EfficientNetv1網絡也存在一些不足,比如訓練圖像要求的尺寸較大時,訓練速度會非常慢,訓練迭代周期較多時對硬件資源損耗較大;對每個stage的深度和寬度都是統(tǒng)一且同等放大,然而不同的stage在網絡的訓練速度以及參數(shù)量的貢獻并不相同,因此,這種同等縮放存在不合理之處。EfficientNetv2[19]針對EfficientNetv1的不足進行改進,提出了改進后的漸進學習方法,該方法根據訓練圖像的尺寸動態(tài)調節(jié)正則方法。在模型縮放中采用非均勻的策略來解決同等縮放帶來的不合理問題,通過試驗獲得結果與此前的網絡相比,訓練速度和參數(shù)數(shù)量上都有一定的優(yōu)勢。
為進一步提高分類網絡的泛用性,優(yōu)化網絡結構,解決在復雜場景下南藥材快速、高精度識別問題,本研究選擇基于結構復雜但精準度較高的 Effici?enNetv2 網絡模型進行改進,在保持高識別準確率前提進一步下提升網絡的性能,旨在進一步提高南藥材的分類準確率和分揀效率。
1)試驗數(shù)據采集 。采樣的藥材基地包括位于廣州市天河區(qū)柯木塱的廣東省農業(yè)技術推廣總站以及位于肇慶市高要區(qū)的南藥省級現(xiàn)代農業(yè)產業(yè)園,涵蓋廣藿香(Pogostemon cablin)、沉香(Aquilaria sinen?sis(Lour.) Gilg)、巴戟天(Morinda officinalisHow)、何首烏(Fallopia multiflora)、化橘紅(Citri Grandis Exocarpium)、廣佛手(Citri sarcodactylisFructus),陳皮(Pericarpium Citri Reticulatae)和陽春砂(Amo?mum villosumLour)共8種南藥,如圖1所示。使用 SONY IMX386 1 200萬像素帶f/2.0光圈的攝像頭,距離每種葉片5~10 cm、拍攝時取景角度在?49°~66°,拍攝周期內采集10次以上的數(shù)據,涵蓋晴天、陰天和雨天3種常見氣象情況,并且全部為室外情況,其光照強度范圍為50~1×108lx,共采集南藥葉片圖像2 466 張。圖像采集期間包含晴天、多云、陰天及小雨4種天氣情況,采集時段集中于09:00-12:00,拍攝方位涵蓋順光、側光、逆光、側順光和側逆光。
圖1 南藥葉片圖像樣本Fig.1 Leaf of southern medicine image samples
2)數(shù)據擴增。為了提高訓練過程的模型精確率和泛用性,本研究對訓練樣本進行數(shù)據擴增處理,擴增方法包含對比度增強、高斯噪聲、仿射變換、鏡面翻轉4種手段,擴增效果如圖2所示。通過對訓練樣本的擴增處理,將廣藿香、沉香、巴戟天、何首烏、化橘紅、廣佛手、陳皮、陽春砂樣本數(shù)分別從309、304、308、304、304、297、320、320張擴增至945、1 020、1 040、1 020、1 020、980、1 100、1 100張,整體數(shù)據集由原來的2 466張增加至8 225張圖片,數(shù)量相較于擴增前約提升3倍,防止模型出現(xiàn)過擬合現(xiàn)象,提高模型的泛化能力。
圖2 數(shù)據擴增處理后的效果圖Fig.2 The effect picture after data amplification processing
3)數(shù)據預處理。由于擴增后圖像樣本數(shù)量較大,為了進一步提升網絡模型的訓練速度、收斂性以及準確率,對訓練圖像數(shù)據集進行預處理。本研究采用來自Pytorch官方的算法工具庫所提供trans?forms.Compose組件對南藥葉片圖像進行張量化處理、歸一化處理和正態(tài)分布處理,其中transform.To?Tensor()將輸入圖像數(shù)據原本(W(寬度),H(高度),C(通道數(shù)))的形狀轉換為(C,H,W)形狀的Tensor格式,在將所有數(shù)據除以255,歸一化到[0,1.0];正態(tài)分布處理則調用transforms.Normalize方法。將RGB 3個通道上的均值都設為0.5,3個通道的標準差也設置為0.5,參數(shù)mean和std均以0.5的形式傳遞,使圖像的灰度歸一化在[0,1],處理后的數(shù)據符合標準正態(tài)分布,模型更容易收斂。
1) EfficientNetv2相較EfficientNetv1的改進點。EfficientNetv2網絡中在原本EfficientNetv1網絡的淺層中引入了Fused-MBConv模塊,模塊結構變化如圖3所示。由圖3可知,F(xiàn)used-MBConv是在原來的MBConv結構基礎上,用1×1的卷積層替換了原本結構中的1×1的卷積層和深度可分離3×3卷積層,該網絡模塊替換v1網絡淺層的MBConv層后進行訓練,能夠顯著提升訓練速度。EfficientNetv2模型將原本EfficientNetv1中卷積核大小為5×5的部分全部用3×3代替、降低輸入/輸出通道增加倍率值的大小、移除EfficientNetv1中第8個stage,進一步降低內存訪問產生的開銷并提高訓練速度。
圖3 MBConv 和Fused-MBConv的網絡結構Fig.3 Structure of MBConv and Fused-MBConv
2) 改進EfficientNetv2網絡模型的構建。Effi?cientNetv2網絡提供了S、M以及L 共3種初始模型,本研究選取最輕量的初始模型EfficientNetv2-S作為改進基礎,該模型有44層網絡結構,共分為7個階段。初始模型EfficientNetv2-S是原作提供的幾個初始模型中最輕量的1個,但是在訓練時也存在運算量較大、單次訓練時間較長、模型空間占用大的問題,因此對原有的網絡結構層實行改進操作。改進后的EfficientNetv2-S模型結構在模型的7個階段里,第一階段和最后一階段與原網絡結構保持一致,通道數(shù)發(fā)生變化,其余的主要針對中間的第2~6階段部分進行重新設計。網絡結構改進前后如圖4所示。圖4A中,Conv3×3即3×3卷積和 SiLU激活函數(shù); BN即批歸一化層,SE=0.25表示使用了SE模塊,0.25表示SE模塊中首個全連接層的節(jié)點個數(shù)是輸入該MBConv模塊特征矩陣通道數(shù) 1/4,repeat即重復層數(shù)。將原本在前3個調用Fused-MBConv的階段調整為前2個階段使用Fused-MBConv,余下3~6這4個階段使用MBConv模塊,該改動的原因是MB?Conv比Fused-MBConv有更小的擴展比,而更小的擴展比往往具有較少的內存訪問開銷。因此,調整了Fused-MBConv的使用架構,提高模型的感受野大小,降低模型復雜度和深度,從而進一步提高模型的輕量化。
圖 4 改進前后的EfficientNetv2-S網絡模型結構對比圖Fig.4 Comparison of the structure of EfficientNetv2-S network model before and after improvement
第二步是將第5~17層的3×3卷積核替換為5×5卷積核,即圖4B中藍色標記的部分,這一步是結合了EfficientNetv1的思想到改進模型中。在初始的EfficientNetv2-S模型中大量使用3×3卷積核,導致感受野減小,從而迫使整個網絡需要增加更多卷積層進行彌補來保證模型精度。將部分3×3卷積層替換為5×5卷積核既可以提高精度,也能減少卷積層數(shù)量。
在前兩步中,由于調整MBConv模塊數(shù)量和部分卷積層替換更大的5×5卷積核,使得整個網絡的感受野范圍得到提升,因此不需要依賴更多的卷積層來維持模型精度。根據初始模型的比例對網絡層數(shù)進行縮減。按初始模型的比例將第4~6階段的6、9、15層縮減至3、3、4層,即圖4B中紅色字體標記的repeat部分,進一步降低模型的復雜度和冗余。經過上述調整,整個網絡結構從原來的44層縮減至19層。其中,將1~6階段共40層的3個Fused-MB?Conv+3個MBConv的網絡結構,優(yōu)化為17層的2個Fused-MBConv+4個MBConv的網絡結構,初始通道數(shù)由初始的24調整為16,最后在1×1卷積的全連接層作用下將特征圖進行降維處理,降維后特征的分辨率沒有發(fā)生變化,但是通道數(shù)變?yōu)?60,改進后的網絡結構如表1所示。
表 1 改進的EfficientNetv2-S的結構Table 1 Improvement of EfficientNetv2-S architecture
3)引入Adam優(yōu)化算法。在EfficientNetv2-S中,采用的是固定步長隨機梯度下降法(stochastic gradient descent, SGD)[20]。雖然該優(yōu)化算法對梯度要求相對較低,但在隨機選擇梯度的過程中會增加噪聲,導致權值更新比率會出現(xiàn)偏差。因此,引入自適應矩估計(adaptive moment estimation),即Ad?am[21]優(yōu)化算法替代原先的SGD優(yōu)化算法??梢杂糜柧殧?shù)據的迭代來更新所用神經網絡中的各個權重,在計算梯度的一階矩估計和二階矩估計時,Ad?am會為各個參數(shù)設置獨立的學習率。其算法更新規(guī)則如式(1)~(3)所示。
式(1)~(3)中,mt是計算歷史梯度的一階指數(shù)平滑值,vt是計算歷史梯度平方的一階指數(shù)平滑值,g指的是上一輪剛更新的梯度值,β1、β2是矩估計的指數(shù)衰減率,variable是指計算變量的更新值,rt為學習率,ε為除零誤差項,目的是避免除數(shù)變?yōu)?。文中的Adam優(yōu)化算法里,初始學習率是10-2,指數(shù)衰減率β1和β2分別是0.9和0.999,除零誤差項ε是10-8。
4)損失函數(shù)的選取。MultiMarginLoss函數(shù)適用于相似且復雜背景下的多分類任務,在具體訓練過程中對網絡的收斂性有一定的提升。其表達式如式(4)所示。
在式(4)中,x為神經網絡的輸出,y是真實的類別標簽,N是類別標簽數(shù),yn的取值范圍為[0,C-1],p值默認取 1,margin值代表邊距,可人為設定閾值,一般取默認值1。
1)模型的訓練環(huán)境?;赑ython3.8編程語言的Pytorch深度學習框架,Ubuntu操作系統(tǒng), 8核16線程的Intel E5-2620 的CPU,GPU為內存12 GB的GTX TITAN X顯卡4張,調用CUDA平臺網絡訓練過程實行加速,集成開發(fā)環(huán)境為Pycharm。
2)模型評價指標。為了衡量模型的性能,本研究分別與初始提供的3類模型進行參數(shù)量(parame?ters)和浮點運算次數(shù)(FLOPs)指標的對比,其中參數(shù)量用于衡量模型復雜度,F(xiàn)LOPs用于衡量模型運算性能。除此之外,模型還采用單次驗證法進行模型性能的評估。具體操作如下:將數(shù)據集按8︰2的比例劃分為訓練集和測試集,然后使用訓練集對模型進行指定迭代周期的訓練,接著在測試集上進行客觀評價指標的計算。為了對訓練出的模型進行客觀評價,采用測試準確率(test accuracy)、損失值(loss)、模型存儲空間大?。╩odel storage space)和平均訓練時間(training time)等評價指標。
3)網絡訓練過程。初始模型EfficientNetv2-S在大型數(shù)據集ImageNet上進行預訓練后產生的模型權重文件,選取pre_EfficientNetv2-S.pth進行遷移模型訓練,通過遷移學習能夠提升神經網絡模型的收斂性,進一步提高模型分類的精確度。對于改進Effi?cientNetv2-S模型在不同種類和不同超參數(shù)模型上的對比,采用單次驗證法來訓練和評估模型的性能。模型的訓練流程如圖5所示。由圖5可知,整個網絡的訓練過程具體描述為:在擴增后的樣本量基礎上劃分訓練集和測試集,并在 Pytorch 深度學習框架中,加載預訓練模型,獲取與設定的批大小處理量相等數(shù)量的圖像。利用 Adam 優(yōu)化算法和學習率衰減機制對每個迭代次數(shù)(epoch)的學習率(learning rate)進行相應地調整,使其隨著迭代次數(shù)逐漸減小。每批次樣本在梯度下降時更新1次參數(shù),迭代次數(shù)設置為100,批大小為32。在訓練集上對改進 Efficient?Netv2-S進行訓練,并且MultiMarginLoss對分類概率值進行優(yōu)化,在測試集上獲得每個迭代次數(shù)的模型測試結果。
圖 5 改進 EfficientNetv2-S模型訓練流程圖Fig.5 Improved EfficientNetv2-S training flow chart
4)超參數(shù)優(yōu)化。學習率的大小會對模型的收斂速度有較大的影響,在Adam優(yōu)化算法中,學習率設定過低會使模型收斂速度放慢,甚至降低模型精確率。如果設定太高,梯度有一定概率會在最小值的范圍內上下波動,以至于可能出現(xiàn)無法收斂的情況。因此,需要對多個量級的學習率進行試驗和比較。試驗中初始批大小設置為32[22],盡可能通過較大的批大小處理量來改善收斂不穩(wěn)定的問題。選取比較的學習率值分別為0.01、0.001、0.000 1和0.000 01,觀察這4種學習率在模型訓練中產生的損失值和準確率的效果(圖6)。由圖6可見,當學習率為0.000 01時,模型收斂速度相較其他學習率是最慢的,第100個周期時的準確率為88.6%,均低于另外3種學習率的準確效果。而學習率為0.01和0.000 1時則收斂速度較慢,到第20個周期,2個模型分別是0.422和0.429才開始趨近收斂。相較之下,學習率為0.001時,損失值下降地較快,收斂效果最好,損失值較低,說明學習率為0.001時具有更佳的效果,因此選擇學習率為0.001。
圖 6 學習率調節(jié)對準確率(A)和損失值(B)的影響Fig.6 Influence of learning rate tuning on accuracy(A)and loss value(B)
構建復雜背景圖像的8種南藥葉片圖像數(shù)據集,通過超參數(shù)優(yōu)化確定了Adam優(yōu)化器的學習率為0.001后,設定迭代周期為100次,批大小為32,通過訓練橫向對比Rprop、RMSprop、Adagrad以及SGD等4種優(yōu)化器的優(yōu)化效果,觀察不同優(yōu)化器下的訓練準確率和損失值結果(圖7)。由圖7可見,Adam優(yōu)化器在收斂性方面要好于另外4個優(yōu)化器,Adam優(yōu)化器的準確率為99.12%,Adagrad、RMSprop和SGD分別為96.84%、97.40%和97.97%,三者較為接近,Rprop的準確率最低,為41.23%。損失值方面,Adam優(yōu)化器為 0.002 17,Adagrad、RMSprop、SGD和Rprop分別為0.105 5、0.075 36、0.002 59和1.502,結果表明Adam優(yōu)化器優(yōu)化效果均優(yōu)于其他4個優(yōu)化器。
圖 7 不同優(yōu)化器下模型的準確率(A)和損失值(B)Fig.7 Comparison of the results of accuracy(A) and loss values(B) of the model under different optimizers
利用torchstat工具計算每個模型的參數(shù)量和浮點運算次數(shù)以及訓練時所占用內存大小,將改進Ef?ficientNetv2-S模 型 與EfficientNetv2-S、Efficient?Netv2-M、EfficientNetv2-L這3個模型進行比較,其結果如表2所示。由表2可知,改進后的Efficient?Netv2-S模型在參數(shù)量、運算次數(shù)以及占用內存大小等3個指標都明顯優(yōu)于初始的3個模型,相較初始最輕量的EfficientNetv2-S模型在參數(shù)量和運算次數(shù)方面都下降了約85%,表明改進模型結構在復雜度上有所下降,模型性能明顯提升。除了上述參數(shù)量和計算次數(shù),在保持其他超參數(shù)、批大小、學習率、迭代周期等變量一致的基礎上,還比較了原始模型Effi?cientNetv2-S和改進后的EfficientNetv2-S網絡模型在測試準確率、損失值、模型空間存儲大小和訓練時間等4個指標的差異,進一步觀察改進后的網絡模型性能變化情況。本研究將南藥葉片圖像數(shù)據集按照 8︰2比例劃分為訓練集和測試集,迭代次數(shù)為100,學習率和批大小分別取 0.001 和 32,則改進前后模型的種類識別結果如圖8所示。由圖8可知,改進后的EfficientNetv2-S模型在測試訓練集的準確率為99.12%,相較于初始網絡模型EfficientNetv2-S的97.97%,提升了約1.17%。損失值方面,改進模型和初始模型分別為0.002 17和0.002 59,降低16.21%。從結果上看,改進后的EfficientNetv2-S模型在準確率和損失值兩方面比EfficientNetv2-S模型有小幅領先。從圖8也可看出,改進后的EfficientNetv2-S模型的準確率和損失值在收斂性上優(yōu)于初始的Effi?cientNetv2-S模型。
表2 不同模型的性能參數(shù)對比Table 2 Comparison of performance parameters of different models
圖 8 改進前后模型的準確率(A)和損失值(B)Fig.8 Accuracy rate(A) and loss value(B) of the model were compared before and after improvemt
利用復雜背景圖像的8種南藥葉片圖像數(shù)據集對改進的 EfficientNetv2-S模型進行訓練,并與其他輕量級的網絡模型進行對比。運用遷移學習訓練模型,以8︰2比例劃分為訓練集6 580張和測試集1 645張,不同模型的預處理方式、優(yōu)化算法等基本設置保持相同,迭代次數(shù)100,學習率和批大小分別取0.001 和32,不同模型的種類識別結果對比見表 3。
由表3可知:(1)改進的EfficientNetv2-S模型在單次的平均訓練時間上與DenseNet121、ShuffleNet、RegNet 3個輕量級分類網絡相比差距在1.29%~5.19%,并且均低于80 s;與EfficientNetv1模型相比,訓練時間減少79 s,縮短50.64%。在訓練過程中還發(fā)現(xiàn)改進后的EfficientNetv2-S模型收斂性和準確性明顯高于其他模型,特別是相較RegNet的準確性有明顯的優(yōu)勢(圖9)。(2)經過改進的EfficientNetv2-S模型在模型存儲空間上得到大幅壓縮,相比DenseNet121、RegNet和ShuffleNet模型存儲空間大小分別降低55.30%、21.26%和19.31%,模型存儲空間的輕量程度有一定的明顯優(yōu)勢。(3)改進的Effi?cientNetv2-S模型在模型存儲空間和平均訓練時間這2個指標保持一致或領先的條件下,相較于Effi?cientNetv1模型,準確率提高0.69%,損失值降低51.67%。改進后的EfficientNetv2-S模型在模型存儲空間上相較于初始模型從79 742 kb下降到12 201 kb,降幅為84.70%,存儲空間優(yōu)化效果明顯,單次訓練所耗費的平均時間從147 s下降到77 s,模型訓練時間下降47.62%,表明改進的EfficientNetv2-S模型在保持高準確率基礎上,能夠做到對空間存儲大小和訓練時間的優(yōu)化,實現(xiàn)復雜分類網絡模型的輕量化。說明改進的EfficientNetv2-S模型在保持高準確度的情況下,還能進一步降低模型損失值,并且在此條件下降低訓練時間和模型存儲空間大小,其模型性能要明顯優(yōu)于EfficientNetv1模型。
圖9 不同模型的訓練準確率結果對比Fig.9 Comparison of the training accuracy of different models for species recognition
表3 不同模型的種類識別結果比較Table 3 Comparison of the results with different kinds of different mode
本研究在解決目標多分類問題時,原始模型采用交叉熵損失函數(shù)進行模型優(yōu)化,使模型輸出逼近理想情況下的輸出結果。雖然交叉熵損失的收斂效果良好,但是仍然存在局限性:對于包含復雜背景信息的圖像,即葉片像素數(shù)量明顯小于背景像素數(shù)量時,會導致交叉熵損失函數(shù)中背景信息成分會占據主導,使網絡模型明顯偏向背景,導致識別效果有所下降[23]。
Goutham (http://cs230.stanford.edu/projects_fall_2021/reports/103171653.pdf.)分別比較了MultiMar?gin損失函數(shù)和交叉熵損失函數(shù)對模型的影響,其結果顯示在準確性方面MultiMarginLoss比交叉熵損失函數(shù)高0.62%~1.00%,并且,具有復雜背景的圖像信息熵較大,容易導致交叉熵不確定性增加,影響模型準確性。而MultiMarginLoss是基于邊距的多分類合頁損失函數(shù),不容易受到影響,因此采用MultiMar?ginLoss作為改進EfficieNetv2-S模型的損失函數(shù)。在深度學習的卷積神經網絡領域中,要獲取最優(yōu)的權值結果,就需要優(yōu)化算法在網絡模型中損失函數(shù),從而得到最小的損失函數(shù)值,而求解最優(yōu)化問題最常用的方法就是梯度下降算法。深度學習中常用的優(yōu)化算法包括SGD、RMSprop、Adam、Adguard等[24]。本研究提出引入Adam優(yōu)化器并進行超參數(shù)優(yōu)化,獲取精度較高的學習率對模型進行訓練。
本研究提出一種基于改進EfficientNetv2-S模型的南藥葉片種類識別方法,通過調整MBConv模塊結構,替換部分卷積核,加載預訓練權重進行遷移學習,對模型的網絡結構復雜度和冗余度進行一定精簡,實現(xiàn)輕量化目標。將改進后模型對多品種南藥葉片數(shù)據集進行多組對照試驗,結果顯示:與初始模型Effi?cientNetv2-S相比,改進后的EfficientNetv2-S在參數(shù)量和計算次數(shù)都明顯下降,在對南藥葉片種類進行識別的過程中,準確率、損失值、訓練時間、存儲空間大小等指標明顯優(yōu)于初始模型,說明該改進模型的識別準確度較高,并且模型的復雜度和參數(shù)量下降,模型性能得到進一步提升。與其他輕量級的分類網絡模型進行橫向對比,結果表明,在準確率方面,改進Effi?cientNetv2-S要比另外3個輕量級分類網絡模型都有所提升,其中對比DenseNet121提升效果較為顯著。改進EfficientNetv2-S分類模型能夠保持高精度識別效果的同時減少模型參數(shù)量,達到輕量化與高精度之間的平衡。
本研究采用卷積神經網絡并對網絡模型進行輕量化重構,實現(xiàn)了在保持高精確率的同時進一步降低模型復雜度和存儲空間,對于嵌入到移動式設備或單
片機等對存儲空間和實時傳輸條件要求較高的環(huán)境而言有較好的適用性。該模型仍有進一步改進的空間,比如測試多種不同學習率衰減機制來確定更適合的更新梯度算法組合。對數(shù)據集方面如果能考慮到南藥葉片在更多氣候條件下的成像效果,再進行訓練和測試能夠進一步提高模型的泛用性和魯棒性。