蔣清健 姚勇 王亞玲 蘇鈺杰
摘要:為提高卷積神經(jīng)網(wǎng)絡(luò)識(shí)別番茄葉片病害準(zhǔn)確率,提出多尺度卷積神經(jīng)網(wǎng)絡(luò)算法。首先番茄葉片圖像分離為RGB通道,設(shè)計(jì)3個(gè)并行卷積層對(duì)番茄葉片圖像進(jìn)行卷積,不同通道使用不同的卷積核,增加了感受野以及提取不同層次的特征,小尺度卷積核主要是提取病斑區(qū)域,大尺度卷積核主要是增強(qiáng)特征多樣性;接著混合池化方法即局部重要性池化和隨機(jī)池化,局部重要性池化判別特征信息,丟棄冗余信息,極大地保存了病害區(qū)域的局部細(xì)節(jié),隨機(jī)池化增強(qiáng)了網(wǎng)絡(luò)的泛化能力;然后番茄葉片圖像通過(guò)中值濾波消噪,二維伽馬自適應(yīng)算法進(jìn)行亮度矯正;最后損失函數(shù)采用多類別交叉熵,構(gòu)建最小化目標(biāo)損失函數(shù)。試驗(yàn)仿真結(jié)果顯示本研究算法泛化能力比較強(qiáng),對(duì)番茄葉片病害晚疫病、斑枯病、蜘蛛螨、早疫病、葉霉病、褐斑病的識(shí)別準(zhǔn)確率分別為95.8%、95.9%、96.3%、94.2%、94.8%、94.1%,優(yōu)于其他算法。
關(guān)鍵詞:番茄;病害多尺度;卷積核;混合池化;矯正
中圖分類號(hào):TP391.41 文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1002-1302(2023)15-0211-05
基金項(xiàng)目:國(guó)家自然科學(xué)基金青年科學(xué)基金(編號(hào):52203310);河南省高等職業(yè)學(xué)校青年骨干教師培養(yǎng)計(jì)劃(編號(hào):2019GZGG021)。
作者簡(jiǎn)介:蔣清健(1981—),男,河南永城人,碩士,副教授,主要從事圖像處理、模式識(shí)別、農(nóng)業(yè)物聯(lián)網(wǎng)和農(nóng)業(yè)大數(shù)據(jù)挖掘等研究。E-mail:jqj946@qq.com。
番茄受到外界病害侵害后,大多數(shù)情況下會(huì)在葉片上表現(xiàn)出特征,如干枯、菌斑等,因此只有對(duì)病害種類及早檢測(cè)識(shí)別,才能夠提前采取防治措施、阻止病害傳播[1]。在生產(chǎn)過(guò)程中,番茄葉片病害識(shí)別主要依靠人工的實(shí)際經(jīng)驗(yàn)積累,時(shí)效性和準(zhǔn)確性比較差。卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)能夠最大程度上對(duì)番茄葉片上各種病害特征進(jìn)行提?。?],目前研究方法主要有注意力結(jié)合卷積神經(jīng)網(wǎng)絡(luò)(attention convolutional neural network,ACNN)算法,對(duì)病害信息增強(qiáng)表達(dá)同時(shí)抑制無(wú)關(guān)信息干擾,同時(shí)引入遷移學(xué)習(xí),防止樣本數(shù)據(jù)量較少時(shí)出現(xiàn)過(guò)擬合的情況[3]。Inception-v3結(jié)合遷移學(xué)習(xí)算法(inception-V3 and migration learning,Inception-V3-ML)通過(guò)遷移學(xué)習(xí)把神經(jīng)網(wǎng)絡(luò)進(jìn)行細(xì)微的改造訓(xùn)練,最終能夠快速、有效識(shí)別健康、患病番茄[4]。輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)(lightweight convolutional neural network,ICNN)通過(guò)全局模塊提取番茄病害葉片的全局特征,計(jì)算特征圖各通道的重要程度,該算法穩(wěn)定性強(qiáng)且占用內(nèi)存?。?]。AlexNet卷積神經(jīng)網(wǎng)絡(luò)通過(guò)遷移學(xué)習(xí)(AlexNet and migration learning,AlexNet-ML)對(duì)模型參數(shù)優(yōu)化,縮短了訓(xùn)練時(shí)間,對(duì)10種番茄葉片病害圖像進(jìn)行識(shí)別,提高了平均準(zhǔn)確率[6]。重影空間金字塔模型(ghost spatial pyramid pooling,GSPP)用Ghost模塊替換卷積層,空間金字塔算法對(duì)提取病害特征池化,通過(guò)合并卷積運(yùn)算和歸一化提高識(shí)別準(zhǔn)確率[7]。三通道注意力卷積神經(jīng)網(wǎng)絡(luò)(three channel attention CNN,TCACNN)并行提取目標(biāo)的通道特征,注意力嵌入殘差網(wǎng)絡(luò),訓(xùn)練階段設(shè)計(jì)雙損失函數(shù)和數(shù)據(jù)增強(qiáng)提升識(shí)別準(zhǔn)確度[8]。
為了提高番茄葉片病害識(shí)別準(zhǔn)確度,本研究提出多尺度卷積神經(jīng)網(wǎng)絡(luò)(multi scale convolution neural network,MSCNN)算法對(duì)番茄葉片病害進(jìn)行識(shí)別,3個(gè)并行卷積層對(duì)番茄葉片圖像分離的RGB通道進(jìn)行卷積,每個(gè)層使用不同尺度的卷積核,通過(guò)局部重要性池化、隨機(jī)池化進(jìn)行增強(qiáng)局部細(xì)節(jié)識(shí)別和網(wǎng)絡(luò)泛化能力,并驗(yàn)證該算法的有效性。
1 多尺度卷積神經(jīng)網(wǎng)絡(luò)
1.1 卷積層設(shè)計(jì)
在番茄葉片病害識(shí)別過(guò)程中,不同病害的特征在葉片上所占的面積與位置具有隨機(jī)性,因此病害特征存在復(fù)雜性[9-10]。為減少卷積神經(jīng)網(wǎng)絡(luò)的深度,增加同一層級(jí)的通道數(shù),每個(gè)通道使用不同尺度的卷積核,這樣增加了網(wǎng)絡(luò)寬度,能夠?qū)Ψ讶~片病害特征進(jìn)行多尺度提取。把輸入番茄葉片圖像分離為RGB通道,對(duì)不同通道卷積,因此設(shè)計(jì)3個(gè)并行卷積層對(duì)番茄葉片圖像進(jìn)行卷積,每個(gè)層使用不同尺度的卷積核,為避免卷積過(guò)程中邊緣信息丟失將邊界進(jìn)行填零補(bǔ)充;R通道對(duì)應(yīng)的第1個(gè)卷積層的卷積核大小為3×3,步長(zhǎng)為1,卷積核數(shù)量為60;G通道對(duì)應(yīng)的第2個(gè)卷積層的卷積核大小為 5×5,步長(zhǎng)為1,卷積核數(shù)量為40;B通道對(duì)應(yīng)的第3個(gè)卷積層的卷積核大小為7×7,步長(zhǎng)為2,卷積核數(shù)量為30,這樣通過(guò)不同尺寸的卷積核提取番茄葉片病害的特征,不但能夠增加特征圖數(shù)量,而且提取的葉片病害細(xì)節(jié)信息更加豐富,提高網(wǎng)絡(luò)計(jì)算效率,降低圖像的識(shí)別時(shí)間,不同卷積層提取圖像特征信息結(jié)果如圖1所示。每個(gè)卷積層設(shè)置激活函數(shù)層,激活函數(shù)統(tǒng)一選擇Leaky ReLU。不同卷積層的特征值直接連接它們很容易導(dǎo)致更小的值被更大的價(jià)值主導(dǎo),因此通過(guò)歸一化操作進(jìn)行連接,從而能有效地將不同卷積層的特征值最終保持在同一尺度上,使用級(jí)聯(lián)操作對(duì)得到的特征圖結(jié)果進(jìn)行特征融合,最后3×3的卷積層將特征子圖輸出合并為同一個(gè)張量繼續(xù)向下傳遞,用Softmax函數(shù)對(duì)番茄葉片病害進(jìn)行識(shí)別。
從圖1可以看出,不同層的卷積結(jié)果增加了感受野以及提取不同層次的特征,小尺度卷積核主要是提取病斑區(qū)域,大尺度卷積核主要是增強(qiáng)特征多樣性,這樣使網(wǎng)絡(luò)更適應(yīng)圖像中目標(biāo)的尺度,可以有效避免由于網(wǎng)絡(luò)太深而導(dǎo)致的過(guò)擬合現(xiàn)象。
1.2 混合池化操作
池化層主要目的降低數(shù)據(jù)維數(shù)、壓縮數(shù)據(jù)量,一般采用最大或者平均池化操作方法,最大池化能保留圖像的紋理信息,平均池化能保留圖像的背景信息,但是易發(fā)生過(guò)度擬合、降低分類精度現(xiàn)象[11-12]。為了提高網(wǎng)絡(luò)的性能,采用混合池化方法即局部重要性池化和隨機(jī)池化,局部重要性池化判別特征信息,丟棄冗余信息,極大地保存病害區(qū)域的局部細(xì)節(jié),隨機(jī)池化增強(qiáng)網(wǎng)絡(luò)的泛化能力。
局部重要性池化為
式中:I為輸入像素點(diǎn)的特征信息;(Δx,Δy)為滑動(dòng)池化窗口相對(duì)采樣位置;(x,y)為采樣位置;(x′,y′)為采樣形成的新位置;Ω為索引集合;g(I)為局部重要性函數(shù)。
局部重要性特征由較小的全卷積網(wǎng)絡(luò)實(shí)現(xiàn),通過(guò)3×3卷積窗口在以步長(zhǎng)為2的移動(dòng)過(guò)程中生成,g(I)為
式中:al為第l個(gè)像素的特征數(shù)值,為局部區(qū)域。
隨機(jī)池化在最大池化的基礎(chǔ)上計(jì)算像素灰度值(D),灰度值越大的像素隨機(jī)選取的概率(U)越大:
為防止過(guò)擬合現(xiàn)象發(fā)生,將局部重要性池化和隨機(jī)池化進(jìn)行混合池化操作:
式中:φ為混合池化分配因子;O為局部重要性池化結(jié)果;Q為隨機(jī)池化結(jié)果;t為迭代函數(shù);tmax為最大迭代次數(shù)。
在迭代的初始階段,φ較小,此時(shí)主要進(jìn)行局部重要性池化,以便獲得番茄葉片病害區(qū)域的局部細(xì)節(jié);迭代的后期,此時(shí)主要進(jìn)行隨機(jī)池化,以便提高網(wǎng)絡(luò)的泛化能力。
1.3 最小化分類損失函數(shù)
由于番茄葉片病害識(shí)別屬于多類別劃分問(wèn)題,因此損失函數(shù)采用多類別交叉熵函數(shù)(L1)[13-14]。
式中:N為樣本總量;C為分類數(shù)量;i為第i個(gè)訓(xùn)練樣本;j為訓(xùn)練樣本的類別;Fij為第i個(gè)訓(xùn)練樣本標(biāo)注的真實(shí)病害類別;yij為輸出的第i個(gè)訓(xùn)練樣本為第j個(gè)類別的概率值;ζ1為平衡參數(shù);ε1為調(diào)節(jié)參數(shù)。當(dāng)ζ1=0.25、ε1=2時(shí)分類效果最好。
番茄葉片存在各種噪聲,同時(shí)圖像亮度較暗將使圖像特征丟失,通過(guò)中值濾波對(duì)番茄葉片消噪,用二維伽馬自適應(yīng)算法對(duì)圖像亮度進(jìn)行矯正:
式中:F(x,y)是輸入圖像亮度值;H(x,y)是矯正后圖像的亮度值;γ是亮度調(diào)節(jié)指數(shù);I(x,y)是光照分量;h是亮度均值。
經(jīng)過(guò)消噪、亮度矯正后,番茄葉片只包括病害和背景2類,因此把圖像轉(zhuǎn)化為二值圖像,若像素灰度值大于圖像像素均值,則該像素設(shè)置為1,否則設(shè)置為0,通過(guò)二分類交叉熵函數(shù)(L2)計(jì)算損失:
式中:M為樣本總量;P為番茄葉片像素?cái)?shù)量;m為第m個(gè)訓(xùn)練樣本;p為像素點(diǎn);Hmp=1時(shí)為第i個(gè)訓(xùn)練樣本的第j個(gè)像素點(diǎn)的屬于病害像素;Hmp=0則為背景像素;hmp為第i個(gè)訓(xùn)練樣本經(jīng)過(guò)神經(jīng)網(wǎng)絡(luò)輸出第p個(gè)像素的值;ζ2為平衡參數(shù);ε2為調(diào)節(jié)參數(shù)。當(dāng)ζ2=0.25、ε2=2時(shí)分類效果最好。
訓(xùn)練時(shí)為減少數(shù)據(jù)量提高訓(xùn)練精度,只對(duì)部分圖像的病害區(qū)域進(jìn)行標(biāo)注,最小化目標(biāo)損失函數(shù)為
在算法運(yùn)行初始階段λ取較大值,這時(shí)L1起主導(dǎo)性作用,在算法運(yùn)行后期λ取較小值,L2起主導(dǎo)性作用,這樣便于番茄葉片病害識(shí)別。
1.4 識(shí)別算法流程
識(shí)別算法流程詳見(jiàn)圖2。
2 試驗(yàn)仿真
硬件配置CPU:英特爾i5-12490F,內(nèi)存:16 GB,圖形處理器NVDIA:GTX 1650,Python語(yǔ)言、PyTorch平臺(tái)搭建試驗(yàn)仿真環(huán)境。番茄病害主要使用Plant Village數(shù)據(jù)集的7種病害圖像:晚疫病、斑枯病、花葉病、蜘蛛螨、早疫病、葉霉病、褐斑病,為了使模型的學(xué)習(xí)權(quán)重平均化,在每種病害類型圖像數(shù)量為300幅的基礎(chǔ)上,同時(shí)進(jìn)行圖片垂直、水平翻轉(zhuǎn)、30°~90°范圍隨機(jī)旋轉(zhuǎn)將基礎(chǔ)數(shù)據(jù)集數(shù)量增加,這樣每種類型圖像擴(kuò)充共計(jì)1 200幅,病害典型圖像如表1所示,圖像裁剪成統(tǒng)一大小為224×224像素,訓(xùn)練集、測(cè)試集、驗(yàn)證集圖像數(shù)量之比為 8 ∶1 ∶1。
2.1 訓(xùn)練過(guò)程識(shí)別準(zhǔn)確率和損失值
對(duì)訓(xùn)練集進(jìn)行訓(xùn)練,每次訓(xùn)練輪數(shù)(Epoch)首先使用訓(xùn)練集訓(xùn)練模型初始權(quán)值,再使用驗(yàn)證集測(cè)試模型的識(shí)別率,最后保存模型的權(quán)值,并開(kāi)始下一次Epoch,循環(huán)直至完成最大50次Epoch,訓(xùn)練過(guò)程對(duì)比使用方法主要有CNN、ACNN、ICNN、GSPP、TCACNN、MSCNN,結(jié)果如圖3所示。
從圖3中結(jié)果可以看出,MSCNN算法只需要較少的訓(xùn)練次數(shù)就能達(dá)到最優(yōu)狀態(tài),早于其他算法獲得較穩(wěn)定的識(shí)別準(zhǔn)確率、損失值,MSCNN算法訓(xùn)練過(guò)程識(shí)別準(zhǔn)確率平均值高于其他算法,損失值低于其他算法。
2.2 算法泛化能力分析
泛化能力分析主要對(duì)圖片垂直、水平翻轉(zhuǎn)、30°~90°范圍隨機(jī)旋轉(zhuǎn)進(jìn)行測(cè)試,各種病害的識(shí)別準(zhǔn)確率、損失值結(jié)果如圖4所示。
從圖4可以看出測(cè)試過(guò)程中MSCNN算法的識(shí)別準(zhǔn)確率、損失值優(yōu)于其他算法,因此MSCNN算法的泛化能力比較強(qiáng)。
2.3 各種算法對(duì)番茄葉片病害識(shí)別的準(zhǔn)確率
對(duì)病害圖像驗(yàn)證集進(jìn)行驗(yàn)證,每種算法通過(guò)50次蒙特卡羅試驗(yàn)取平均值,各種算法對(duì)番茄葉片病害識(shí)別準(zhǔn)確率如表2所示。
從表2中結(jié)果可以看出,MSCNN算法對(duì)各種病害的識(shí)別準(zhǔn)確率高于其他算法,平均值為95.6%,它對(duì)晚疫病、斑枯病、花葉病、蜘蛛螨、早疫病、葉霉病、褐斑病的識(shí)別準(zhǔn)確率分別為95.8%、95.9%、97.8%、96.3%、94.2%、94.8%、94.1%,這是因?yàn)镸SCNN算法將病害圖像分離為不同的通道,同時(shí)不同通道使用不同的卷積核,能夠獲得圖像的細(xì)節(jié)和邊緣信息,便于番茄葉片病害識(shí)別。
3 總結(jié)
本研究算法對(duì)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),把番茄葉片病害圖像進(jìn)行分離后再使用不同的卷積層,不同層的卷積核增加了感受野以及提取了不同層次的特征,為防止過(guò)擬合現(xiàn)象發(fā)生,將局部重要性池化和隨機(jī)池化進(jìn)行混合池化操作,試驗(yàn)仿真結(jié)果顯示本研究算法對(duì)晚疫病、斑枯病、花葉病、蜘蛛螨、早疫病、葉霉病、褐斑病的識(shí)別準(zhǔn)確率高于其他算法,因此為番茄葉片病害識(shí)別提供了一種新的方法。
參考文獻(xiàn):
[1]趙廣猛,王衛(wèi)兵. 基于U-Net模型和FCM算法的番茄穴盤苗重疊幼葉分割方法[J]. 江蘇農(nóng)業(yè)科學(xué),2022,50(2):206-212.
[2]朱幸輝,周 勇. 基于卷積神經(jīng)網(wǎng)絡(luò)的番茄葉片病斑識(shí)別仿真[J]. 計(jì)算機(jī)仿真,2021,38(7):481-485.
[3]張 寧,吳華瑞,韓 笑,等. 基于多尺度和注意力機(jī)制的番茄病害識(shí)別方法[J]. 浙江農(nóng)業(yè)學(xué)報(bào),2021,33(7):1329-1338.
[4]孔德鋒. 一種遷移學(xué)習(xí)算法在番茄病害檢測(cè)上的應(yīng)用[J]. 湖北農(nóng)業(yè)科學(xué),2020,59(7):199-203.
[5]胡玲艷,周 婷,劉 艷,等. 基于輕量級(jí)網(wǎng)絡(luò)自適應(yīng)特征提取的番茄病害識(shí)別[J]. 江蘇農(nóng)業(yè)學(xué)報(bào),2022,38(3):696-705.
[6]王艷玲,張宏立,劉慶飛,等. 基于遷移學(xué)習(xí)的番茄葉片病害圖像分類[J]. 中國(guó)農(nóng)業(yè)大學(xué)學(xué)報(bào),2019,24(6):124-130.
[7]冀常鵬,陳浩楠,代 巍,等. 基于GSNet的番茄葉面病害識(shí)別研究[J]. 沈陽(yáng)農(nóng)業(yè)大學(xué)學(xué)報(bào),2021,52(6):751-757.
[8]馬 宇,單玉剛,袁 杰. 基于三通道注意力網(wǎng)絡(luò)的番茄葉部病害識(shí)別[J]. 科學(xué)技術(shù)與工程,2021,21(25):10789-10795.
[9]卞景藝,劉秀麗,徐小力,等. 基于多尺度深度卷積神經(jīng)網(wǎng)絡(luò)的故障診斷方法[J]. 振動(dòng)與沖擊,2021,40(18):204-211.
[10]胡勤偉,陶 慶,王妮妮,等. 用于穩(wěn)態(tài)視覺(jué)誘發(fā)電位目標(biāo)識(shí)別的多尺度特征融合卷積神經(jīng)網(wǎng)絡(luò)方法[J]. 西安交通大學(xué)學(xué)報(bào),2022,56(4):185-193,202.
[11]Gao Z T,Wang L M,Wu G S. LIP:local importance-based pooling[C]//IEEE International Conference on Computer Vision (ICCV19). Seoul,Korea,2019:3353-3364.
[12]周巧黎,馬 麗,曹麗英,等. 基于改進(jìn)輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)Mobile NetV3的番茄葉片病害識(shí)別[J]. 智慧農(nóng)業(yè)(中英文),2022,4(1):47-56.
[13]任守綱,賈馥瑋,顧興健,等. 反卷積引導(dǎo)的番茄葉部病害識(shí)別及病斑分割模型[J]. 農(nóng)業(yè)工程學(xué)報(bào),2020,36(12):186-195.
[14]湯文亮,黃梓鋒. 基于知識(shí)蒸餾的輕量級(jí)番茄葉部病害識(shí)別模型[J]. 江蘇農(nóng)業(yè)學(xué)報(bào),2021,37(3):570-578.