李華鋒 ,黃永輝 ,梁詩維 ,李岳鑫 ,賴穎茵 ,劉贊松 ,吳娟妹
(廣東茂名農林科技職業學院,廣東 茂名 525000)
番茄在生長過程中因受到病毒、細菌等因素的影響[1],容易產生葉霉病、灰葉斑病和早疫病等病害,并在葉片上有一定的表征,不同病害之間染病葉片的病斑特點有所區別,不同生長時期的病害種類也有所不同。以新疆番茄生長周期為例,在番茄生長前期病蟲害較少,個別病株病害源自往年病株的病瘤遺留,病害將影響到番茄的果實品質,進而對農戶造成損失,因此對于番茄的病害預防具有重要意義。番茄病害多在葉片上有所表征,傳統的侵染性試驗具有周期長、時效性低的特點。目前,常用的番茄病害診斷手段大多來自植物環境衛生專家基于知識的分析與判斷,需要消耗大量的人力、物力。但是,即便是病理學專家,對于表征相似的番茄病害也難以用定量定性的醫學手段記錄分析,這里面存在著較強的人為主觀性與不確定性。種植農戶通常憑借經驗去判斷病害類別,由于缺乏診斷番茄病害類別的客觀標準,所以也很難對其做出準確判斷,由于病原體類型不同,番茄染病葉片病斑表征也各不相同,憑借經驗的人工確診方式主觀性較強,且需要耗費大量的人力、物力,不具備很好的應用價值。當下神經網絡在各行各業均有應用,已經有了相當成熟的理論成果,可以依賴神經網絡的圖像處理技術,構建網絡對番茄葉片進行病害識別,這將極大地降低病害診斷成本。同時,對于細度圖像識別的研究已經有了一定的成果,利用深度學習進行病害識別有助于在病害早期及時發現病害,盡早做出預防措施,降低番茄種植戶的損失。基于以上情況,利用深度學習對番茄病害進行識別有著很高的應用價值。
目前,國內外眾多學者運用計算機視覺與圖像處理等技術為植物病害識別提供了科學的理論依據。早期的植物葉片病害識別依賴于人工設計特征,利用病斑紋理信息建立特征向量。采用在病害樣本圖片上進行多點提取特征采樣的手段,并采用支持向量機(SVM)等對病斑顏色、大小等特征向量進行分類[2-3]。過往研究中采用的特征提取方法大多屬于人工提取,在病害葉片圖像樣本上生成視覺特征單詞,耗費時間、人力,且特征不具備代表性,導致識別效果較差,具有一定的局限性。在Agrawal 等的研究中,識別植物葉片病害平均準確率達90%[4]。喬虹等利用Faster R-CNN 算法監測葡萄葉片,在匹配葉片圖像后通過動態監測識別病害[5]。Adeel 等提出了病害自動分割識別系統,實驗表明,經分割識別后的平均分類準確率達92%[6]。張建華等構建了改進的病害識別網絡模型,該卷積神經網絡模型的網絡結構來自VGG-16,通過采用6 個標簽的SoftMax 分類器,代替了原本結構中的分類器,并在此基礎上優化了模型網絡的結構與參數,改進了全連接層的層數,通過參數遷移共享了訓練模型卷積和池化層權重參數,對目標網絡進行了預訓練,并構建了改進模型,平均識別準確率為89.51%[7]。
以上談到的傳統機器學習方法需要人工設計、提取特征,在此基礎之上獲得病斑紋理、顏色和病變位置等信息,而不同程度的同種番茄葉片病害在病斑的紋理、顏色等方面具有較強的相似性[8]。傳統方法對于表征相似病害的特征提取能力有限,還存在著識別效果較差、過擬合和網絡穩定性較差等常見問題,因此不具有廣泛的適用性。基于此,課題組在ResNet網絡[9]的基礎上,引入基于核函數的非線性SVM 算法[10],用以提高網絡的特征提取能力,并構建模型實現番茄葉片的病害識別。
本研究所使用的番茄葉片病害數據集包含葉霉病、灰葉斑病和早疫病這三類番茄葉片病害的圖像樣本。
現對番茄葉片數據集進行處理,采用鏡像翻轉、平移、隨機縮放、隨機裁剪、調整亮度和旋轉(0°、90°、180°、270°)的手段以增加病害樣本數量,起到擴充樣本數量、提高模型泛化能力的作用。擴充后的數據集共計926 張病害圖像樣本,其中包含了番茄葉片健康圖像200 張、稻瘟病圖像236 張、稻曲病圖像276 張和白葉枯病圖像214 張。將處理得到的病害圖像按照病害樣本標簽以6∶2∶2 的比例劃分為訓練集、驗證集、測試集。
在神經網絡學習過程中,低頻特征為網絡訓練的有效特征。由于高頻特征而導致的過擬合現象時有發生,現通過增加噪聲、噪點來消除病害樣本中的高頻特征(高斯噪聲、椒鹽噪聲),以提升模型的魯棒性。
以上簡單介紹了殘差網絡與支持向量機的分類原理與優良性能,本研究基于核函數的非線性SVM的分類原理,采用ResNet101 網絡結構構建網絡模型。在去除全連接層后,將ResNet101 輸出的特征向量作為SVM 的輸入向量進行分類,構建番茄葉片病害圖像識別模型BSC-ResNet。
首先,在處理得到的番茄病害葉片數據集上使用ResNet101 網絡進行數據集的預訓練,在此后將卷積層輸出的特征向量轉換為SVM 輸入特征,經過基于核函數的非線性SVM 分類器進行分類并輸出預測結果,再根據預測結果的效果來不斷調整原本預訓練得到的參數,以此來優化網絡。
其次,通常會存在由權值層造成的梯度色散問題,ResNet101 網絡通過一種叫做越層連接的結構件來避免這樣的問題,使網絡性能處于最優狀態,達到識別率不隨網絡深度的增加而降低的優越效果。通過采用1×1 的卷積,先降維后升維,形成一個“Bottleneck”結構。
BSC-ResNet 網絡是基于ResNet101 網絡的殘差學習塊,假設將底層映射標記為H(x),引入基于核函數的非線性SVM 進行分類。將經過堆疊的非線性層擬合的殘差映射標記為最終實現的BSC-ResNet 網絡結構,殘差塊可以定義為F(x)+x,關系式為:
本研究采用ResNet101 網絡、MobileNet 網絡、MobileNetV2 網絡、InceptionV3 網絡、Xception 網絡作為實驗對照組,實驗組與對照組分別對含有4 個標簽的樣本數據集進行訓練后得到訓練結果。
MobileNetV2 網絡、Xception 網絡對于番茄葉片病害的識別準確率較低。由于在卷積計算的部分,Xception 網絡會對每個通道內的數據做單獨計算,對N 維通道輸出,基數(Cardinality)等于N。對于番茄葉片褐斑病,由于病斑顏色紋理特征有限,Xception網絡不能很好地識別,分類效果較差。MobileNetV2網絡為減少計算量、確保精度損失不顯著的效果,應用深度可分離的卷積層。MobileNet 模型在深度卷積層之后引入了非線性激活函數ReLU,并且深度卷積不具有更改通道數的能力。提取的特征是單個通道的,而ReLU 激活函數用于操縱多層輸出會導致信息丟失。對于負的輸入,ReLU 的輸出為零,這將會壓縮部分特征。因此,MobileNetV2 網絡在番茄葉片黑腐病相對于健康狀態與葉枯病這兩類樣本,識別準確率較低,不具備一定的應用普適性。InceptionV3網絡在識別番茄葉片病害時表現出識別準確率較低、穩定性較差的特點,不適合作為番茄葉片病害的識別模型。
本研究搭建的模型基于ResNet101 網絡,引入基于核函數的非線性SVM 算法使數據樣本可線性劃分,在研究的最開始由于數據集中健康番茄葉片的數量不足,造成識別效果較差。在仔細分析混淆矩陣表現和精準率與召回率后發現問題出現在健康番茄葉片上,隨后對健康葉片數據集進行了平移與增加噪聲的數據樣本擴充,將數量增加到250 張,與其他樣本數據量保持統一水平,再將數據增強后的數據集導入網絡完成訓練,從結果來看,模型整體性能有較大提升。
對照組中InceptionV3 網絡一開始的預訓練結果呈現收斂速度較慢,驗證集loss 值較高,并保持在0.3 處震蕩,表明其在混淆矩陣上識別效果較差。通過查閱資料了解到,InceptionV3 網絡可以準確估計某一樣本在所有類別上的邊緣分布,不能用在某一任務的樣本數據集上訓練的分類模型來評估另一不同任務的數據集上訓練的生成模型。InceptionV3 網絡對于數據增強的預處理尺寸也提出了要求,屬于值得注意的細節問題。通過使用番茄葉片數據集對InceptionV3 網絡進行訓練后,通過同一類別的驗證集,震蕩問題很好地得到了解決,驗證集loss 值向0.2緩慢收斂。
本文的對照組選取了BSC-ResNet、ResNet101 網絡、MobileNet 網絡、MobileNetV2 網絡、InceptionV3網絡和Xception 網絡,采用以上網絡對番茄葉片病害數據集進行訓練并通過測試集測試。MobileNetV2網絡、Xception 網絡對于番茄葉片病害的識別準確率較低;Xception 模型在細粒度圖像分類上有很好的泛化能力;但對于番茄葉霉病,由于早期病變樣本呈現的病斑顏色單一、特征有限,Xception 模型不能很好地識別番茄灰葉斑病,分類效果較差;MobileNetV2 作為輕量化的網絡,一定程度上減少了參數與計算量,優點是內核小,不容易發生過擬合。