李 涵,唐 友,辛 鵬,楊 牧
(1.吉林化工學(xué)院,吉林 吉林 132022;2.吉林農(nóng)業(yè)科技學(xué)院,吉林 吉林 132101;3.一汽東機(jī)工減振器有限公司,吉林 長(zhǎng)春 130001)
玉米是全球重要的農(nóng)作物之一,其種植面積和產(chǎn)量在全球都排名前列。然而,玉米病害的發(fā)生給玉米生產(chǎn)帶來(lái)了很大威脅。從葉部、莖部、穗部等不同部位的病菌的入侵,到玉米生長(zhǎng)過(guò)程中的氣候因素,都可能導(dǎo)致玉米病害的發(fā)生,并直接影響著玉米產(chǎn)量和質(zhì)量。為了有效預(yù)防和治療玉米病害,必須迅速準(zhǔn)確地對(duì)其進(jìn)行識(shí)別和分類(lèi)。傳統(tǒng)玉米病害分類(lèi)方法大多依賴專(zhuān)業(yè)人員的經(jīng)驗(yàn)判斷,效率低下且容易造成誤判。另外,由于不同玉米病害外形相似,且它們的區(qū)分度并不高。因此,需要聚焦于區(qū)分不同種類(lèi)病害的關(guān)鍵特征。隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展和應(yīng)用,深度學(xué)習(xí)已經(jīng)被廣泛應(yīng)用于計(jì)算機(jī)視覺(jué)領(lǐng)域[1],在圖像分類(lèi)中取得了巨大的成功。基于深度學(xué)習(xí)的玉米病害分類(lèi)成了一種新的解決方案,它利用計(jì)算機(jī)強(qiáng)大的自我學(xué)習(xí)、自我優(yōu)化的能力,自動(dòng)從玉米病害圖像中學(xué)習(xí)、判斷和分類(lèi),可以提高診斷的準(zhǔn)確性和效率。
本文提出了一種基于深度學(xué)習(xí)的玉米病害分類(lèi)方法。該方法使用深度卷積神經(jīng)網(wǎng)絡(luò)對(duì)玉米病害進(jìn)行分類(lèi),并采用一種注意力機(jī)制來(lái)增強(qiáng)網(wǎng)絡(luò)的性能[2]。
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)重要分支,也是人工智能領(lǐng)域的重要組成部分。深度學(xué)習(xí)的優(yōu)勢(shì)在于其具備學(xué)習(xí)和提取數(shù)據(jù)特征的能力,通過(guò)建立多層神經(jīng)網(wǎng)絡(luò)模型,并使用大量數(shù)據(jù)進(jìn)行訓(xùn)練。在計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理、語(yǔ)音識(shí)別等領(lǐng)域,深度學(xué)習(xí)已經(jīng)具有廣泛的應(yīng)用,例如:在圖像識(shí)別方面,深度學(xué)習(xí)技術(shù)通過(guò)層層神經(jīng)元相互協(xié)作,可以完成高效、準(zhǔn)確的圖像分類(lèi)和目標(biāo)檢測(cè)任務(wù)。
卷積神經(jīng)網(wǎng)絡(luò)通常由卷積層、池化層、激活函數(shù)、全連接層等[3]組成。其中,卷積層用于提取特征,池化層用于降維和避免過(guò)擬合,激活函數(shù)用于引入非線性和增加網(wǎng)絡(luò)表達(dá)能力,全連接層則用于輸出最終的類(lèi)別概率。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)作為深度學(xué)習(xí)中最重要的一種神經(jīng)網(wǎng)絡(luò),已經(jīng)在圖像處理領(lǐng)域取得了令人矚目的成功[4]。CNN的網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單、有效,具有可共享權(quán)重和局部感知域等特點(diǎn),可以大幅提升訓(xùn)練效率和計(jì)算速度。在處理高維圖像數(shù)據(jù)時(shí),卷積神經(jīng)網(wǎng)絡(luò)展現(xiàn)出非常強(qiáng)的特征提取和分類(lèi)能力。利用基于CNN的深度學(xué)習(xí)算法,可以在圖像分類(lèi)、目標(biāo)檢測(cè)、圖像識(shí)別等領(lǐng)域?qū)崿F(xiàn)更加準(zhǔn)確和高效的效果。
數(shù)據(jù)增強(qiáng)是一種通過(guò)對(duì)原始數(shù)據(jù)集進(jìn)行多樣性處理來(lái)增加樣本數(shù)量和多樣性的技術(shù),以擴(kuò)大訓(xùn)練集規(guī)模、提高模型魯棒性、防止過(guò)擬合等目的。在深度學(xué)習(xí)領(lǐng)域,常常使用一些數(shù)據(jù)增強(qiáng)技術(shù),如旋轉(zhuǎn)、翻轉(zhuǎn)、裁剪、縮放、加噪聲、色彩變換等,以生成更多、更多樣化的訓(xùn)練數(shù)據(jù),從而提高模型的泛化能力和性能。數(shù)據(jù)增強(qiáng)是一種常用的數(shù)據(jù)預(yù)處理技術(shù),被廣泛應(yīng)用于計(jì)算機(jī)視覺(jué)、語(yǔ)音識(shí)別、自然語(yǔ)言處理等領(lǐng)域中。
CBAM是一種常用于圖像分類(lèi)任務(wù)的注意力機(jī)制,它在卷積神經(jīng)網(wǎng)絡(luò)中常常被作為一種優(yōu)化方式使用。CBAM模塊可以通過(guò)對(duì)輸入圖像和特征通道分別進(jìn)行注意力加權(quán)來(lái)提升模型的性能。主要分為兩個(gè)部分:通道注意力模塊(CAM)和空間注意力模塊(SAM)。結(jié)構(gòu)如圖1所示。
圖1 CBAM注意力模塊
CAM部分通常包括一個(gè)全局平均池化層,用來(lái)得到每個(gè)特征通道的全局統(tǒng)計(jì)量,經(jīng)過(guò)兩個(gè)全連接層來(lái)得到每個(gè)特征通道的重要性分?jǐn)?shù)。使用sigmoid函數(shù)對(duì)其進(jìn)行歸一化處理,作為每個(gè)通道的注意力權(quán)重,用來(lái)對(duì)通道特征進(jìn)行加權(quán),使得網(wǎng)絡(luò)更加關(guān)注有利于分類(lèi)的通道特征,提高分類(lèi)的準(zhǔn)確率。
SAM部分通常包括一個(gè)卷積層和一個(gè)最大池化層,通過(guò)這兩個(gè)步驟來(lái)獲取輸入特征圖每個(gè)空間區(qū)域像素的重要性。將兩個(gè)模塊的結(jié)果相乘,得到特征圖,使得網(wǎng)絡(luò)更加關(guān)注重要的空間位置特征,提高網(wǎng)絡(luò)的泛化能力和精度。
總之,CBAM模塊適用于目標(biāo)檢測(cè)、圖像分類(lèi)等任務(wù),它可以使模型更加關(guān)注關(guān)鍵的特征區(qū)域,提升模型的性能。
ResNet34是由微軟公司提出的一種深度卷積神經(jīng)網(wǎng)絡(luò),常被應(yīng)用于圖像分類(lèi)、目標(biāo)檢測(cè)和語(yǔ)義分割等視覺(jué)任務(wù)中。ResNet34是ResNet系列中的一個(gè)子系列,相比于更深層次的ResNet50和ResNet101,其網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)潔,計(jì)算速度快,同時(shí)在性能上也表現(xiàn)出色。
ResNet34的主要特點(diǎn)在于使用殘差學(xué)習(xí)(Residual Learning)機(jī)制。在深度卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練中,梯度消失是一個(gè)很?chē)?yán)重的問(wèn)題,而ResNet則通過(guò)一種特殊的殘差模塊,堆疊多層Residual Block來(lái)學(xué)習(xí)非常深的網(wǎng)絡(luò),并避免了這一問(wèn)題。Residual Block包含2個(gè)或3個(gè)卷積層,其中第一個(gè)卷積層的卷積核大小為1×1,中間層的卷積核大小為3×3,最后一個(gè)卷積層的卷積核大小也是1×1,而且在該結(jié)構(gòu)中還包含了跨層的連接,以便更容易地訓(xùn)練出更深的網(wǎng)絡(luò)。ResNet34共有32個(gè)Residual Block,其中前16個(gè)Block包含8個(gè)基礎(chǔ)卷積層,后16個(gè)Block包含16個(gè)基礎(chǔ)卷積層,使得網(wǎng)絡(luò)能夠高效地提取圖像特征,從而在圖像分類(lèi)任務(wù)中取得了優(yōu)秀的性能表現(xiàn)。
本文在ResNet34模型的基礎(chǔ)上,在平均池化層的前面加入了CBAM注意力模塊,可以對(duì)卷積層進(jìn)行特征加權(quán),有助于保留更多的信息,以增強(qiáng)對(duì)重要信息的感受性。它還可以優(yōu)化ResNet34模型的空間特征學(xué)習(xí)能力,進(jìn)而提高圖像分類(lèi)的準(zhǔn)確性。模型結(jié)構(gòu)如圖2所示。
圖2 CBAM_ResNet34模型
本文的實(shí)驗(yàn)基于Linux系統(tǒng),使用了兩個(gè)4 110處理器和NVIDIA RTX 3090 GPU平臺(tái)。在實(shí)驗(yàn)過(guò)程中,本文采用了PyTorch框架來(lái)構(gòu)建和訓(xùn)練深度學(xué)習(xí)模型,同時(shí)進(jìn)行了一系列實(shí)驗(yàn)驗(yàn)證和性能評(píng)估。
本文的數(shù)據(jù)集是一個(gè)公開(kāi)的玉米病害數(shù)據(jù)集,包含8種類(lèi)別,總計(jì)3 534張圖片,通過(guò)調(diào)整圖片尺寸、色調(diào)、裁剪、旋轉(zhuǎn)、邊緣填充5種數(shù)據(jù)增強(qiáng)方式進(jìn)行數(shù)據(jù)擴(kuò)充得到17 670張圖片。在使用數(shù)據(jù)集前,將數(shù)據(jù)集按照6∶2∶2的比例劃分為訓(xùn)練集、驗(yàn)證集、測(cè)試集。
本文將加入CBAM模塊的ResNet34與ResNet34兩個(gè)模型進(jìn)行實(shí)驗(yàn)對(duì)比分析,同時(shí)設(shè)置相同的超參數(shù)以保證實(shí)驗(yàn)條件的一致性。在訓(xùn)練過(guò)程中,記錄了模型在驗(yàn)證集上的準(zhǔn)確率。實(shí)驗(yàn)結(jié)果表明,CBAM_ResNet34模型的驗(yàn)證集準(zhǔn)確率達(dá)到88.5%,相比ResNet34提高了1.5%。這表明加入CBAM模塊可以有效提高ResNet34模型的性能,使得模型在驗(yàn)證集上的表現(xiàn)更好。
本文研究的是玉米病害分類(lèi)問(wèn)題,模型的評(píng)價(jià)指標(biāo)包括準(zhǔn)確率、召回率、精確率和F1-score等。為了評(píng)估模型的分類(lèi)效果,首先通過(guò)對(duì)模型進(jìn)行訓(xùn)練,選擇每個(gè)模型最好的權(quán)重,然后對(duì)所劃分的測(cè)試集測(cè)試模型的性能指標(biāo)。實(shí)驗(yàn)結(jié)果如表1所示,由表可知,使用CBAM注意力模塊對(duì)ResNet34進(jìn)行改進(jìn),所得的分類(lèi)結(jié)果表現(xiàn)更好,相比于ResNet34,CBAM_ResNet34在4個(gè)評(píng)價(jià)指標(biāo)中均取得了更好的性能指標(biāo)。CBAM_ResNet34的準(zhǔn)確率、精確率、召回率和F1分?jǐn)?shù)分別為88.1%、84.9%、84.0%和84.5%,相比ResNet34分別提高了1.1%、1.5%、1.3%和1.4%。這說(shuō)明CBAM注意力模塊的引入確實(shí)有助于提高玉米病害分類(lèi)的性能。
表1 模型評(píng)估 單位:%
本文采用改進(jìn)后的模型來(lái)預(yù)測(cè)玉米病害的種類(lèi),為了保證模型具有良好的泛化性能和可靠性,在未經(jīng)過(guò)訓(xùn)練的測(cè)試集圖片上進(jìn)行了預(yù)測(cè),這樣可以更好地模擬出實(shí)際應(yīng)用中的情況。預(yù)測(cè)結(jié)果如圖3所示,對(duì)一張測(cè)試集圖片進(jìn)行了預(yù)測(cè),并準(zhǔn)確地將其分類(lèi)為銹病一般,預(yù)測(cè)準(zhǔn)確率達(dá)到100%。這意味著本文的模型在未知數(shù)據(jù)集上具有較好的分類(lèi)能力和泛化性能,具有較高的實(shí)用價(jià)值。
圖3 分類(lèi)預(yù)測(cè)
本文利用深度學(xué)習(xí)技術(shù)對(duì)玉米病害進(jìn)行了分類(lèi)研究,在模型中加入了CBAM注意力模塊,以幫助模型更有效地學(xué)習(xí)圖片中的特征,進(jìn)而提高分類(lèi)準(zhǔn)確率。玉米病害分類(lèi)是一項(xiàng)復(fù)雜而具有挑戰(zhàn)性的任務(wù),在不斷探索和研究的基礎(chǔ)上,需要不斷提升模型的精度和準(zhǔn)確性。未來(lái)的研究方向?qū)ㄌ岣吣P偷聂敯粜?、推廣到更多的玉米病害類(lèi)型、將模型應(yīng)用于不同領(lǐng)域等。