王治兵 吳麗麗







摘 要:針對傳統深度學習網絡模型因權重參數過大而不適宜在移動端部署的問題,提出了一種基于改進的輕量級MobileNetV3網絡模型對蘋果葉片病害進行識別。利用PyTorch框架,選取26 377張圖片,按6∶2∶2的比例劃分數據集,以MobileNetV3網絡模型為基礎,引入遷移學習,加入空洞卷積,并調整原模型結構,形成新模型進行訓練學習。經過多輪迭代,損失曲線實現收斂,模型訓練成功,訓練集上的準確率為95.72%,測試集上的準確率為93.41%;經過改進的MobileNetV3網絡模型對蘋果葉片病害圖像識別效果較好,為將來在移動端實現部署與推廣提供了技術方案支撐。
關鍵詞:神經網絡;MobileNetV3;深度學習;遷移學習;空洞卷積
中圖分類號:TP391 文獻標志碼:A
0 引言(Introduction)
民以食為天,從古至今,農業一直是我國的立國之本,在我國五千多年的發展歷程中,農業始終占據著舉足輕重的地位[1]。農業發展除受天災影響外,還受到病害侵蝕的影響。雖然我們無法從源頭上徹底消滅農業病害,但是可以提前發現它并進行干擾與預防,將損失降到最低[2]。近年來,圖像識別技術在農業發展中取得較好的應用效果,專家系統和計算機圖像識別技術的結合,解決了傳統人工經驗識別方式受主觀因素影響大的缺陷。但是,由于傳統模型的權重參數過大,這就給移動端的應用部署帶來限制,因此還沒有得到全面的推廣使用,以檢測速度快、模型權重小的輕量級網絡模型的問世迫在眉睫。本文以輕量級MobileNetV3網絡模型為基礎,通過對模型在結構、層次等方面做出調整,提升了模型的識別精度和速度,這對于在移動端部署的輕量級網絡模型而言,無疑是巨大的成功。
1 相關研究(Related research)
隨著計算機視覺技術的崛起和深度學習技術的成熟,圖像識別技術在植物葉片病害識別領域有了突破性的進展。王建璽等[3]通過提取病斑顏色、形狀和紋理等方面的特征,采用支持向量機(SVM)技術對病害進行自動識別。嚴倩[4]用全局平均池化層、批歸一化層和全連接輸出層取代了VGG16網絡模型中的3個全連接層,引入遷移學習的思想,對蘋果葉片病害進行識別,為了減少深度網絡模型對數據量的依賴,采用了一種融合卷積神經網絡和圖卷積網絡的新型網絡模型,能夠達到87.88%的識別準確率。李恩霖等[5]通過建立基于VGG16、InceptionV3、ResNet50、ResNet101、DenseNet121的5種深度卷積神經網絡的病害識別模型,保留原始結構卷積層并設計新的全連接層,對玉米葉片病斑識別效果進行研究,再利用遷移學習遷移各個模型在ImageNet數據集上的權重參數,通過對比5種模型性能,最終選取最優的網絡模型,結果表明,經過重新設計全連接層的DenseNet121網絡的性能最優,其準確率、召回率、特異率分別為99.73%、99.73%和99.87%。晁曉菲[6]提出了一種融合Xception及DenseNet網絡優點的XDNet深度學習網絡,提出SE-DEEP模塊,將具有通道注意力的SE(Squeeze and Excitation)模塊與深度可分離卷積融合,并將SE-DEEP模塊融入Xception網絡,構建SEXception網絡,然后通過實驗對其進行輕量化設計,構建SEmini Xception網絡,將其應用于對蘋果葉片病害的識別并對病斑進行分割,結果表明病害識別準確率達到96.52%,病害程度診斷準確率達到85.81%。周巧黎等[7]提出了一種基于改進MobileNetV3的番茄葉片病害分類識別方法,在遷移學習的基礎上繼續改進MobileNetV3模型,在卷積層引入空洞卷積和感知機結構,采用閘門機制激活函數 (Gated Liner Unit,GLU),訓練得到最佳的番茄病害識別模型,平均測試的識別準確率達到98.25%,模型的數據規模為43.57 MB,單張番茄病害圖像的檢測耗時僅0.27 s。蒲秀夫等[8]提出使用二值化卷積神經網絡模型對植物病害進行識別,試驗中以VGG16模型為基準,采用深度網絡模型對植物病害進行分類,相比傳統的植物分類方法,該模型的準確率更高。試驗表明二值化模型達到原模型近兩倍的計算速度,并且在分割數據集下,測試平均識別準確率能達到96.8%。以上研究取得了巨大成功,但是由于網絡參數龐大,計算量復雜,因此無法在移動端進行部署。本文采用輕量級卷積MobileNetV3神經網絡,利用深度學習算法,對常見的5種蘋果葉片病害進行識別,取得了較好的識別效果。
2 MobileNetV3網絡模型簡介(Introduction tothe MobileNetV3 network model)
MobileNetV3網絡模型是在MobileNetV1和MobileNetV2的基礎上,由Google公司在2019年推出的深度學習網絡模型。MobileNetV3網絡繼承了MobileNetV1和MobileNetV2網絡的優勢,并在此基礎上進行優化。相對于MobileNetV2網絡模型,MobileNetV3更新了block(bneck)模塊,加入了注意力機制SE 模塊,更新了激活函數,使用了h-swish激活函數[9]。在MobileNetV3網絡模型的頭部channel(通道)數量和尾部結構做出改變,重新設計了計算昂貴的層結構,引入了新的非線性激活函數h-swish,是最接近swish的非線性改進版本,它計算量更小,對量化更為友好[10]。
MobileNetV3中加入注意力機制,能在圖像識別中聚焦重要的特征信息,忽略不相關信息,并且通過不斷修改權重值,使得在不同的情況下也能精確提取重要的特征信息,以提高分類的準確率[11-12]。如圖1所示,主要操作是針對輸出的特征矩陣的每一個channel(通道)進行全局平均池化處理,所得到的向量個數就是channel的個數。然后通過兩個FC(全連接層)得到輸出的向量。其中,第一個FC的向量個數是channel個數的1/4,使用ReLU激活函數,然后第二個FC的輸出與channel個數相同,使用h-swish激活函數。最終所得到的這個向量可以理解為剛輸入的每一個channel分析出了一個權重關系,將得到的權重通過乘法通道加權到先前的特征上,完成在通道維度上的特征重標定。
swish非線性激活函數作為ReLU的替代,可以顯著提高神經網絡的準確性,其定義為swish x =x·σ(x)。盡管這種非線性提高了準確性,但在嵌入式環境中卻帶來了非零成本,因為“S”形函數在移動設備上的計算成本更高,計算、求導過程復雜,對量化過程不友好[13]。改進的h-swish函數如公式(1)所示:
MobileNetV3網絡模型作為輕量級網絡模型的翹楚,對硬件配置要求低,能做到在移動端進行嵌入式部署,并且所產生的成本和代價較低,避免了因高額成本而不能在農業發展中推廣的顧慮,MobileNetV3在不降低識別精度的情況下,能提升識別速率,減少模型參數,而這也正符合本文研究的初衷,價廉、輕量、便攜、精確地進行蘋果葉片病害的識別??紤]到訓練樣本數據集不夠龐大,并且受到訓練設備性能的限制,本文選擇模型結構較小的MobileNetV3_Small網絡模型,而不選擇MobileNetV3_Largel網絡模型。MobileNetV3_Small網絡結構如表1所示。其中,“輸入”代表MobileNetV3網絡每個特征層的shape(結構)變化;“操作”代表每次特征層即將經歷的bneck(可分離卷積層)結構;“卷積核”代表bneck內逆殘差結構上升后的通道數;“輸出”代表輸入bneck時特征層的通道數;“注意力機制”代表該bneck模塊是否使用注意力機制,其中“√”代表使用,“-”代表不使用;“激活函數”代表該bneck模塊所使用的激活函數的種類;HS代表使用h-swish激活函數,RE代表使用ReLU激活函數;“步長”代表該bneck模塊結構要經歷的步長大小;“NBN”表示不使用bneck模塊;“k”代表最后的輸出。
3 MobileNetV3 網絡模型改進(MobileNetV3network model improvements)
3.1 加入遷移學習
為了加快訓練速度,使模型更快收斂,同時提高模型識別的準確率,本研究在模型訓練時,引入遷移學習的訓練方法。遷移學習可以考慮到大部分數據和任務間的相關性,將其他大批量數據訓練所得模型參數用于訓練新數據,從而減少訓練步驟,縮短訓練時間,增加數據量,降低過擬合程度[14-15]。本文在公開的ImageNet數據集上進行預訓練獲取模型參數,將其遷移至蘋果葉片病害識別模型上,縮短模型訓練時間,提高泛化性。在遷移學習過程中,凍結所有的卷積層,只訓練最后兩個全連接層的權重[16]。
3.2 添加空洞卷積
空洞卷積(Dilated Convolution)是一種傳統卷積的變種,通過對傳統圖像卷積添加空洞,完成對傳統圖像卷積的感受野擴張[17]。空洞卷積是針對圖像語義分割中采樣存在降低圖像分辨率、丟失信息的問題而提出的一種卷積思路[18],通過添加空洞擴大感受野,假設讓原本3*3的卷積核,在相同參數量和計算量下擁有5×5(dilated rate=2)或者更大的感受野,從而不需要下采樣。
不同層次結構中的卷積核的尺寸大小各不相同,這是為了提取更深層次抽象特征,使信息損失達到最小。本文研究中,在MobileNetV3網絡的倒數第二和第三個bneck模塊中引入空洞卷積,擴張率R 分別為2和4??斩淳矸e效果如圖2所示,初始卷積核大小都為3*3,R 大小從左到右依次為1、2、4,感受野大小為3×3、5×5、9×9。R 的改變會引起感受野的變化,但不會增加運算量。
3.3 網絡層數調整
過深的網絡結構對模型來說將帶來模型不穩定、識別效率降低、網絡退化、學習能力下降等問題。MobileNetV3網絡模型在倒數第二個和第三個bneck模塊中引入空洞卷積后,移除bneck6、bneck7模塊,將bneck8模塊的輸入通道數由48變為40(其中R 代表擴張率的大?。⒃撃P投x為MobileNetV3-S。通過在原有模型上引入遷移學習和加入空洞卷積,并對網絡模型層數進行調整,使改動后的MobileNetV3-S模型相較于MobileNetV3網絡模型,其模型參數和權重都更小,在移動端的嵌入式部署更便捷,最終模型如圖3所示。
4 實驗與結果分析(Experiment and result analysis)
4.1 數據集獲取
數據集樣本選自公共數據集,包括花葉病、銹病、灰斑病、斑點落葉病、褐斑病5種常見的葉部病害圖片。其中,花葉病圖片有4 875張,銹病圖片有5 694張,灰斑病圖片有4 810張,斑點落葉病圖片有5 343張,褐斑病圖片有5 655張,共計圖片26 377張。按6∶2∶2的比例劃分訓練集、驗證集、測試集。原始圖像分辨率大小為512×512像素,為了加快訓練的速度, 統一調整分辨率大小為224×224像素。表2為不同病害葉片訓練集、驗證集、測試集的具體數量,圖4為各個病害葉片樣本數據集示例,每個種類展示5張圖片,從上到下依次為斑點落葉病、褐斑病、灰斑病、花葉病、銹病的圖片。
4.2 MixUp混合增強
Mixup增強方式是將兩張原圖像按比例進行線性插值生成新的混合圖像,經插值混合后的樣本與真實樣本非常接近[19]。本文對蘋果葉片病害研究樣本進行同類間的混合增強,不僅擴充了數據集,還增加了樣本的多樣性,加大了對重要特征的學習力度。MixUp混合增強就是將兩張原始圖像線性疊加形成新的特征向量,使模型訓練樣本更加適應實際環境,模型預測更加的平滑。進行MixUp增強時,對每一個類別中的樣本隨機選擇進行合成,部分MixUp混合增強圖像如圖5所示。
4.3 實驗環境
本次實驗操作系統為Windows 10,編程工具為PyCharm,編程語言為Python3.6版本,深度學習框架采用PyTorch,顯卡為(GPU)NVIDIA GeForce GTX 1050,顯存大小為4 GB,中央處理器(CPU)為Intel Pentium G4600 3.6 GHz,固態內存大小為16 GB。
4.4 模型訓練
圖6中的橫坐標代表權重更新的次數,左側縱坐標為訓練過程中真實值與預測值之間產生的損失值,右側縱坐標為Top1值(一張圖片訓練過程中輸出的預測概率,選取其結果最大的為Top1值)。模型訓練輸入的batch_size 為128,從圖6中可以看出,損失值向0.0趨近,Top1值向1.0趨近。訓練過程中就總體趨勢而言,Top1值不斷增大,損失值不斷減小,在部分階段雖然有趨勢的反彈,但是隨著訓練迭代次數的增加,模型最終克服了局部最優的局面,向全局最優的趨勢發展,損失值和Top1值最終變得平緩并趨于穩定。
4.5 對比實驗
為了驗證MobileNetV3-S網絡模型應用于蘋果葉片病害識別的準確性與有效性,以及相較于其他模型的優越性,選取ShuffleNetV2、MobileNetV3從Top1值、損失值等方面進行對比實驗評估。
對比MobileNetV3網絡模型、ShuffleNetV2網絡模型以及MobileNetV3-S網絡模型在訓練時的Top1值、損失值,由圖7可以清晰地看到三個模型在迭代次數達到200輪之后都趨于平穩且收斂,并且MobileNetV3-S網絡模型的Top1值最優,趨近于1.0,損失值下降最快且最快達到平穩狀態。
MobileNetV3網絡模型與ShuffleNetV2網絡模型的Top1值接近,損失值略有差異。由此可以判斷出,MobileNetV3-S網絡模型應用于蘋果葉片病害識別相比另外兩個網絡模型更具有優勢。
為了再次評估MobileNetV3網絡模型、ShuffleNetV2網絡模型以及MobileNetV3-S網絡模型的表現,選取交叉驗證的方式對三個模型進行評優。模型評估階段選取數據集總數的20%作為評估時選用的數據集。為了使實驗更具有說服力,在劃分數據集時先將數據集打亂,再進行劃分。驗證時共設置100個epoch(訓練輪數),每經歷5個epoch 開啟一次驗證,保留驗證集上的準確率。由圖8可以看出,MobileNetV3-S網絡模型應用于蘋果葉片病害識別,相比MobileNetV3 和ShuffleNetV2網絡模型更具優勢。
4.6 消融實驗
為了驗證經過改進的模型相比原始模型的有效性,利用驗證集數據對經過訓練后獲得的原模型數據與加入遷移學習數據和空洞卷積數據的模型數據,進行對比驗證,由圖9可以看出,在原MobileNetV3模型上進行模型結構調整,加入遷移學習和空洞卷積后的模型準確率遠高于原MobileNetV3模型,并且更加穩定,更早收斂。
4.7 模型評估
訓練完成后保存最好的權重模型,用于對模型進行評估。選取數據集總數的20%用于測試集,導入訓練好的模型進行測試,將測試結果以混淆矩陣的形式在圖10中展現。圖10為五行五列的混淆矩陣,其橫坐標為每一類蘋果葉片病害預測分類百分比,縱坐標為真實分類百分比。橫坐標百分比相加結果應為1,代表對每一類蘋果葉片病害正確預測與錯誤預測之和。橫、縱坐標重合處對角線代表分類正確的結果,數值越高,分類準確率越高。
如表3所示,為每類蘋果葉片病害分類得出的精度、召回率、F1值的百分比,結合表3分析,灰斑病和褐斑病2類葉片病害的波動較大,灰斑病的召回率最低,精度接近5類葉片病害分類的平均值;褐斑病的精度較低,召回率偏高。其他3類葉片病害的評價指標變動相對平緩,比較接近于平均值,整體數據比較平緩。在今后的識別分類研究中,可重點關注灰斑病和褐斑病特征信息的提取。
4.8 網絡模型性能對比
MobileNetV3和ShuffleNetV2網絡模型同為輕量級網絡模型的代表,它們不僅在識別精度上存在差異,在識別速度上也是存在區別的。輕量級網絡模型的輕巧、參數量小、檢測速度快是其優勢,這個優勢決定了它可以在移動端進行嵌入式部署,并能在多種復雜環境場景下較好地識別葉片病害。通過表4中數據的對比可以看出,MobileNetV3-S網絡模型的單張圖像檢測識別時間降低到0.31 s,與MobileNetV3網絡模型和ShuffleNetV2網絡模型相比,單張圖像識別時間分別降低了0.08 s和0.1 s。檢測時間縮短,表明改進的模型MobileNetV3-S更加適合蘋果葉片病害的識別。
5 結論(Conclusion)
本文的研究以MobileNetV3網絡為基礎模型,建立蘋果葉片病害識別數據集,并對數據集進行MixUp混合增強。在MobileNetV3網絡模型的基礎上構建MobileNetV3-S模型,并選取ShuffleNetV2模型與原MobileNetV3模型作對比,實驗結果顯示改進的MobileNetV3-S網絡模型在蘋果葉片病害識別速率和識別準確率上均高于原MobileNetV3網絡模型和ShuffleNetV2網絡模型。本文研究目前處于模型優化階段,可以為未來移動端設備部署進入實際工程階段提供理論依據,為將來大范圍地應用于移動端打下基礎。
參考文獻(References)
[1] 楊寶智. 我國農業技術推廣體系的改革創新與發展趨勢研究[J]. 種子科技,2022,40(5):142-144.
[2] 王小玲,丁為軍. 農藥減量增效技術在農業病蟲害防治中的運用[J]. 智慧農業導刊,2022,2(13):62-64.
[3] 王建璽,寧菲菲,魯書喜. 基于支持向量機的蘋果葉部病害識別方法研究[J]. 山東農業科學,2015,47(7):122-125,141.
[4] 嚴倩. 基于深度學習的蘋果葉片病害識別研究[D]. 馬鞍山:安徽工業大學,2021.
[5] 李恩霖,謝秋菊,蘇中濱,等. 基于深度學習的玉米葉片病斑識別方法研究[J]. 智慧農業導刊,2021,1(10):1-10.
[6] 晁曉菲. 基于深度學習的常見蘋果葉片病害識別與病斑分割方法研究[D]. 楊凌:西北農林科技大學,2021.
[7] 周巧黎,馬麗,曹麗英,等. 基于改進輕量級卷積神經網絡MobileNetV3的番茄葉片病害識別[J]. 智慧農業(中英文),2022,4(1):47-56.
[8] 蒲秀夫,寧芊,雷印杰,等. 基于二值化卷積神經網絡的農業病蟲害識別[J]. 中國農機化學報,2020,41(2):177-182.
[9] 王云艷,羅帥,王子健. 基于改進MobileNetV3的遙感目標檢測[J]. 陜西科技大學學報,2022,40(3):164-171.
[10] 張兆國,張振東,李加念,等. 采用改進YoloV4模型檢測復雜環境下馬鈴薯[J]. 農業工程學報,2021,37(22):170-178.
[11] 章羽,羅素云,陳楊鐘. 基于注意力機制的改進VGG車輛類型識別研究[J]. 農業裝備與車輛工程,2022,60(8):82-87.
[12] ZHANG Y,ZHOU A B,ZHAO F K,et al. A lightweightvehicle-pedestrian detection algorithm based on attentionmechanism in traffic scenarios[J]. Sensors,2022,22(21):8480.
[13] 楊晉生,楊雁南,李天驕. 基于深度可分離卷積的交通標志識別算法[J]. 液晶與顯示,2019,34(12):1191-1201.
[14] 徐振南,王建坤,胡益嘉,等. 基于MobileNetV3的馬鈴薯病害識別[J]. 江蘇農業科學,2022,50(10):176-182.
[15] KOOVERJEE N,JAMES S,VAN ZYL T. Investigatingtransfer learning in graph neural networks[J]. Electronics,2022,11(8):1202.
[16] 魯笛. 基于遷移學習的玉米病害識別研究[D]. 鄭州:河南農業大學,2022.
[17] 馬利,劉新宇,李皓宇,等. 應用空洞卷積的神經網絡輕量化方法[J]. 計算機工程與應用,2022,58(5):85-93.
[18] FENG M R,HU J J,OU M H,et al. Crowd counting algorithmbased on depthwise separable of dilated convolution[J]. Procedia Computer Science,2022,208:319-324.
[19] 陸健強,林佳翰,黃仲強,等. 基于Mixup算法和卷積神經網絡的柑橘黃龍病果實識別研究[J]. 華南農業大學學報,2021,42(3):94-101.
作者簡介:
王治兵(1997-),男,碩士生。研究領域:圖像識別,人工智能與數據挖掘。
吳麗麗(1979-),女,博士,副教授。研究領域:圖像識別,人工智能與數據挖掘。本文通信作者。