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