摘 要:番茄葉發(fā)生較為普遍,現(xiàn)有的檢測手段存在檢測效率和準確性不高的問題。因此,利用深度學習技術對番茄葉進行診斷意義重大。近年來,以卷積神經(jīng)網(wǎng)絡(CNN)為代表的作物病害診斷方法憑借較強的特征抽取能力,已成為作物病害診斷的一種重要手段。為了解決傳統(tǒng)卷積神經(jīng)網(wǎng)絡模型規(guī)模大、訓練時間長的問題,擬基于MobileNetV3網(wǎng)絡模型,通過模型壓縮、模型結構和損耗函數(shù)的改進,以及訓練參數(shù)的優(yōu)化,實現(xiàn)基于MobileNetV3的網(wǎng)絡模型。試驗證明,在測試用例上,提出的方法能有效地提高識別率,減少運算量。同時,該方法能夠提高系統(tǒng)的識別率。
關鍵詞:番茄葉片病害識別;卷積神經(jīng)網(wǎng)絡;遷移學習;MobileNetV3
中圖分類號:S436.412 文獻標志碼:B 文章編號:2095–3305(2024)07–00-03
近年來,由于計算機技術的快速發(fā)展,基于深度學習的計算機視覺研究得到了長足的發(fā)展。作為一種常見的深度網(wǎng)絡,卷積神經(jīng)網(wǎng)絡在圖像、視頻等方面有著廣泛的應用。卷積神經(jīng)網(wǎng)絡是一種基于卷積神經(jīng)網(wǎng)絡的對象檢測方法,它是一種模仿人眼視覺的方法,可以實現(xiàn)對物體的特征提取與分類[1]。卷積神經(jīng)網(wǎng)絡是一種高效的特征抽取方法,可以從圖像中有效地獲取關鍵信息,并對其進行自動分類。
1 研究方法
以MobileNetV3為研究對象,在此基礎上,對其模型進行了壓縮與完善。MobileNetV3網(wǎng)絡由卷積層、池化層和完全連通層三部分構成[2]。第二層卷積由2個1×2卷積和1個3×3卷積構成,用于提取圖像的特征。其中,完全連通層為6×6卷積網(wǎng)絡,可以對標記進行預測。最后的完全連通層是3×3卷積和2×3×3卷積,實現(xiàn)標記信息的輸出。當前,卷積神經(jīng)網(wǎng)絡存在對圖像進行標準化處理的問題,即首先對圖像進行歸一化處理,然后對其進行反卷積運算,獲得相應的特征信息,最后由完整連通層輸出。但其具有數(shù)據(jù)規(guī)模龐大、運算量大的不足。
為了降低計算復雜度,利用SGD算法優(yōu)化了移動網(wǎng)絡V3模型的參數(shù)。SGD是一種基于Sigmoid函數(shù)的快速迭代算法,可以調節(jié)梯度遞減學習速率。Sigmoid由于是一個指數(shù)型的,可以很好地解決梯度下降法中容易陷入局部極小的問題。
1.1 模型壓縮
MobileNetV3模型使用的是卷積運算,而卷積運算的權重固定不變,若將其直接用于小樣本的訓練,極易造成網(wǎng)絡過擬合,從而影響預測精度。因此,網(wǎng)絡模型的壓縮顯得尤為重要。在對網(wǎng)絡進行壓縮時,首先確定網(wǎng)絡的權重,然后調整各單元的權值,最后利用SGD算法優(yōu)化各單元的權值。在樣本較少的情況下,可以將訓練集劃分為若干子集。試驗結果表明,該方法的預測精度較原預測方法提高了4%,所以選擇了最優(yōu)模型為基本模型。
1.2 改進的輕量級卷積神經(jīng)網(wǎng)絡模型
傳統(tǒng)卷積神經(jīng)網(wǎng)絡的參數(shù)選擇主要依賴于訓練誤差[3]。針對此問題,本研究提出一種基于卷積神經(jīng)網(wǎng)絡的新型卷積神經(jīng)網(wǎng)絡方法,通過以下幾個方面的研究:(1)將卷積核轉化為1×4卷積核,省去了解卷積的步驟;(2)對卷積核進行縮放運算;(3)采用LeakyRe LU替代ReLU,使得該算法更輕量化。
試驗結果顯示:(1)該方法在應用于番茄葉數(shù)據(jù)集時,其運算速度比原有的MobileNetV3模型快3倍以上,并且在檢測速度上有較大的提升。(2)該方法的識別準確率明顯高于原有方法;在參數(shù)個數(shù)上,該算法相當于原算法的1/3,從而大幅度降低了參數(shù)個數(shù)。(3)該方法能有效提高檢測的速度。(4)該方法在應用于番茄葉分類識別方面有較大的優(yōu)越性。(5)采用輕量化的網(wǎng)絡結構LMN,降低模型的參數(shù)個數(shù),提高模型的執(zhí)行效率。(6)該方法利用卷積神經(jīng)網(wǎng)絡中的3×3卷積核代替?zhèn)鹘y(tǒng)的2×2卷積核,既能保證計算精度,又能適應輕量化的網(wǎng)絡結構[4]。
2 數(shù)據(jù)集的準備
為了驗證該方法在番茄葉診斷中的有效性,擬采用已公布的番茄葉部疾病數(shù)據(jù)庫(VTDCD),對該模型進行訓練與檢驗。試驗過程中,收集了18幅番茄葉片病害和1幅非番茄葉片病害的影像,其中番茄葉片病害12幅,非番茄葉片病害數(shù)據(jù)集共13幅,包括霜霉病、葉斑、白粉病、炭疽病、枯萎病、黑星病、赤星病、黃化癥等。按發(fā)病程度,將各病害劃分為1級灰霉、4級病害,各8幅圖片。病害類型的鑒別困難程度也不同,灰葡萄孢在圖像上的像素數(shù)很少,但在圖像上的像素數(shù)很大,而且分布不均勻。
通過對不同類型疾病的分類,建立了同一類別的疾病分類模型。為提高模型的訓練效率,從樣本集中隨機選取部分圖像并組成測試集。其中,灰葡萄孢灰霉菌侵染10份,病害10份,其中僅1份為灰霉病,8份中僅1份為疫病。試驗選擇了訓練集作為試驗樣本。每種病害類別抽取100個樣本作為模型的訓練樣本。該方法首先對樣本進行預處理,然后再對樣本進行訓練,最后用樣本集對模型的有效性進行檢驗。
為了檢驗該方法的有效性,在同一樣本上對多個模型進行了檢驗。在此基礎上,擬對所采集的圖像進行訓練,提高模型的多樣性。在試驗中,對訓練好的訓練樣本進行訓練。針對圖像預處理后的圖像尺寸與原始圖像尺寸相近的特點,將其分為2個階段:訓練階段和試驗階段。試驗結果顯示,在對原始數(shù)據(jù)進行預處理后,對原始數(shù)據(jù)進行檢測的方法,其正確率要比直接檢測高(圖1)。
3 模型訓練與參數(shù)優(yōu)化
Adam算法是一種基于梯度下降的優(yōu)化算法,其基本原理是通過優(yōu)化梯度,找到全局最優(yōu)解,然后將其應用于各個參數(shù),重復不斷地調整超參數(shù)以使模型達到最優(yōu)。研究中采用Adam優(yōu)化算法對模型的超參數(shù)進行優(yōu)化,使用的訓練集是一個包含593張番茄葉片數(shù)據(jù)的圖像數(shù)據(jù)集,而測試集是在原數(shù)據(jù)集中隨機選取的。為了能夠對網(wǎng)絡進行訓練,在訓練過程中將圖像進行了大小為256×256的像素級別裁剪。其中,將圖像裁剪為256×256和1024×1024的2種規(guī)格,是為了保證在訓練過程中,這2種規(guī)格能夠在神經(jīng)網(wǎng)絡中同時起到作用。
訓練過程中,選取了不同的超參數(shù)進行試驗。其中,權重初始化為0.000 1,最大學習率為0.000 1,初始連接層個數(shù)為5,步長為0.02。試驗中設定訓練時間為30 min。為了防止過擬合現(xiàn)象出現(xiàn),還利用交叉熵損失函數(shù)。為了更好地獲取模型性能,對照參數(shù)進行了優(yōu)化。
4 試驗結果分析與方法
試驗素材包括訓練集和測試集,采用交叉驗證方法進行。為了提高模型的泛化能力,將模型在測試集上的表現(xiàn)作為訓練集,訓練集的數(shù)據(jù)來自網(wǎng)絡公開數(shù)據(jù)集 Tokenized Volume,共包含7個類別的葉片病害圖像數(shù)據(jù)集。為驗證改進后的模型在不同網(wǎng)絡模型大小下識別葉片病害的性能,對MobileNetV3網(wǎng)絡進行模型壓縮處理,將其分為大小為3×3的測試集、5×5的訓練集和16×16的測試集3部分。經(jīng)過壓縮處理后的網(wǎng)絡模型,在測試集上識別準確率達到93.2%,而MobileNetV3網(wǎng)絡模型在測試集上識別準確率為81.3%。經(jīng)過壓縮后網(wǎng)絡模型在測試集上的分類精度顯著提高。
為了進一步驗證該網(wǎng)絡模型在實際應用中的性能,將MobileNetV3網(wǎng)絡模型與改進前的MobileNetV3網(wǎng)絡模型進行對比。為了便于對比分析,分別使用訓練集數(shù)據(jù)和測試集數(shù)據(jù)訓練了2個網(wǎng)絡模型,以驗證改進后的MobileNetV3網(wǎng)絡模型的有效性。訓練過程中使用交叉驗證方法對參數(shù)進行優(yōu)化,并獲得2個模型在不同參數(shù)下識別準確率的曲線圖(圖2)。
4.1 模型壓縮前后的識別準確率對比方法
在試驗過程中,分別對MobileNetV3網(wǎng)絡模型進行了壓縮,并在訓練過程中使用交叉驗證法對模型參數(shù)進行優(yōu)化,使其在不同的網(wǎng)絡模型大小下都具有較高的識別準確率。為了分析不同網(wǎng)絡模型大小對識別準確率的影響,對MobileNetV3網(wǎng)絡進行了壓縮處理,并使用訓練集數(shù)據(jù)和測試集數(shù)據(jù)對其進行訓練,以驗證該網(wǎng)絡模型在不同的網(wǎng)絡模型大小下的識別準確率。因此,提出的改進后MobileNetV3網(wǎng)絡模型具有良好的識別效果。
4.2 不同網(wǎng)絡模型大小的識別準確率對比方法
為了對比不同網(wǎng)絡模型大小對番茄葉片病害識別準確率的影響,利用訓練集和測試集分別對MobileNet V3網(wǎng)絡模型與改進后的MobileNetV3網(wǎng)絡模型進行訓練,并對比不同網(wǎng)絡模型大小的識別準確率結果顯示,隨著網(wǎng)絡模型大小的增加,其在測試集上識別準確率逐漸降低,當網(wǎng)絡模型大小為16×16時,其在訓練集上識別準確率為92.3%,而在測試集上識別準確率僅為81.3%。這主要是因為網(wǎng)絡模型越大,其特征提取能力越強,但其計算量也隨之增加。當網(wǎng)絡模型大小達到一定程度時,對訓練集和測試集的特征提取能力已經(jīng)沒有過大的提升空間。為了進一步驗證改進后的MobileNetV3網(wǎng)絡模型對番茄葉片病害識別準確率的影響,將網(wǎng)絡模型分為大小為3×3、5×5和16×16三部分進行訓練和測試[5]。
4.3 交叉驗證法
交叉驗證法是一種用于尋找最優(yōu)參數(shù)的優(yōu)化方法,其目標是選擇一個或多個在訓練集上表現(xiàn)良好的參數(shù),然后用此參數(shù)測試不同的測試集數(shù)據(jù),比較其識別準確率。隨著網(wǎng)絡模型深度的增加,其識別準確率逐漸降低,但模型在深度為2、3、4和5層時的識別準確率均達到90%以上。試驗中沒有使用更深的網(wǎng)絡模型進行研究,主要是因為較深的網(wǎng)絡模型訓練時間較長且其識別準確率會隨著網(wǎng)絡深度的增加而降低。此外,在實際應用中,為提高識別準確率,一般會使用更深的網(wǎng)絡模型進行訓練。由于采用改進后的輕量級卷積神經(jīng)網(wǎng)絡MobileNetV3,相較于普通卷積神經(jīng)網(wǎng)絡MobileNetV3的網(wǎng)絡訓練時間,較深網(wǎng)絡模型訓練時間大幅縮短,因此在實際應用中更具有優(yōu)勢。
5 模型的可視化分析
改進后的MobileNetV3模型采用的是輕量級模型,但由于其尺寸較小,在處理大規(guī)模數(shù)據(jù)時仍會出現(xiàn)梯度爆炸問題。因此,為了避免出現(xiàn)該問題,需要在模型訓練過程中適當調整損失函數(shù),使其盡可能地收斂。同時,為了保證在模型訓練過程中能夠及時檢測到訓練的參數(shù),需要及時調整網(wǎng)絡。由于圖像特征的提取是一個相對復雜的過程,因此通過使用CNN自適應權重更新算法調整卷積層的權重,實現(xiàn)模型的優(yōu)化。該方法充分利用了CNN所具有的多尺度和深層特征提取能力,加快了圖像特征提取速度。同時,在損失函數(shù)中加入了梯度下降法進行優(yōu)化。經(jīng)過對試驗數(shù)據(jù)進行訓練后,將測試數(shù)據(jù)與訓練集一起進行測試。通過可視化分析可知,改進后的網(wǎng)絡模型在測試集上取得了較好的分類效果(準確率為92.8%)。
5.1 測試集分類效果
通過對試驗數(shù)據(jù)集進行預處理,使其更適合模型的訓練。在預處理時,對于原始圖像進行裁剪,再對圖像進行旋轉、放大、鏡像等操作,使其更符合模型的訓練要求。對于預處理后的圖像使用Focus進行裁剪,裁剪后的圖像使用RGB模式進行顯示。改進后的MobileNetV3模型在測試集上的準確率為92.8%,高于采用VGG16、ResNet50等傳統(tǒng)卷積神經(jīng)網(wǎng)絡模型對測試集進行分類,同時在一定程度上減少了計算量,提高了模型的訓練效率。該模型在識別番茄病害時,準確率為92.8%。檢測到病害的葉片數(shù)為72個,其中有32個病害葉片被正確識別。
5.2 模型收斂速度
為了對模型的收斂速度進行評價,使用了2種方法,分別是單次訓練法和多次訓練法。單次訓練法是指在訓練過程中只使用一次網(wǎng)絡模型的參數(shù),多次訓練法是指在每次訓練過程中都使用多次參數(shù)進行訓練。由于單次訓練法和多次訓練法都需要調整模型參數(shù),因此兩者的收斂速度存在明顯差異。因此,通過試驗對比了這2種方法對網(wǎng)絡模型收斂速度的影響。其中,將設計的MobileNetV3模型與經(jīng)典的卷積神經(jīng)網(wǎng)絡(如VGG)和ResNet50等進行對比,發(fā)現(xiàn)經(jīng)過改進后的MobileNetV3模型在收斂速度上優(yōu)于其他2種模型。試驗結果表明,通過引入自適應權重更新算法和優(yōu)化損失函數(shù),MobileNetV3模型的收斂速度明顯加快,這一點符合預期。
6 結束語
試驗結果表明,在不降低識別精度的前提下,改進了MobileNetV3模型的結構和損失函數(shù),將網(wǎng)絡大小縮小3倍,計算成本降低40%。改進后的模型不僅可以達到較高的分類精度,還具有較低的計算成本。該模型可應用于農業(yè)領域中對番茄葉片病害進行快速、準確地識別,具有較好的應用前景。
參考文獻
[1] 苗榮慧,李志偉,武錦龍.基于改進YOLO v7的輕量化櫻桃番茄成熟度檢測方法[J].農業(yè)機械學報,2023,54(10):225 -233.
[2] 周巧黎,馬麗,曹麗英,等.基于改進輕量級卷積神經(jīng)網(wǎng)絡MobileNetV3的番茄葉片病害識別[J].智慧農業(yè)(中英文), 2022,4(1):47-56.
[3] 胡玲艷,周婷,許巍,等.面向番茄病害識別的改進型Sque-ezeNet輕量級模型[J].鄭州大學學報(理學版),2022, 54(4): 71-77.
[4] 羅鳴,方睿,徐銘美,等.基于遷移學習和輕量級卷積神經(jīng)網(wǎng)絡農作物病害識別[J].現(xiàn)代計算機,2021,27(32):16-21.
[5] 賈鶴鳴,郎春博,姜子超.基于輕量級卷積神經(jīng)網(wǎng)絡的植物葉片病害識別方法[J].計算機應用,2021,41(6):1812-1819.