彭 勇,喬印虎,姚 杰
(1.安徽工程大學(xué) 機(jī)械工程學(xué)院,安徽 蕪湖 241000;2.安徽科技學(xué)院 機(jī)械工程學(xué)院,安徽 鳳陽 233100)
蘋果富含多種營養(yǎng)成分,包括多種維生素和人體必需微量元素,還含有多種植物活性成分,如植物甾醇、β-胡蘿卜素和酚類物質(zhì)[1]。為了加強(qiáng)蘋果產(chǎn)業(yè)的競爭力,降低病蟲害對(duì)蘋果產(chǎn)業(yè)造成的損失,使其能夠生產(chǎn)出品質(zhì)更加優(yōu)良的蘋果,目前,機(jī)器視覺技術(shù)的應(yīng)用已滲透到農(nóng)業(yè)生產(chǎn)的各個(gè)領(lǐng)域,對(duì)其的研究也取得了很大進(jìn)展[2]。機(jī)器視覺技術(shù)是運(yùn)用光學(xué)設(shè)備獲取真實(shí)圖像,通過圖像處理技術(shù)進(jìn)行圖像分析獲取所需信息或控制機(jī)械執(zhí)行裝置完成預(yù)設(shè)操作的一種非接觸式測量技術(shù)[3]。
崔艷麗等[4]以色調(diào)H作為顏色特征參數(shù)的研究域,以色調(diào)直方圖統(tǒng)計(jì)特征參數(shù)的計(jì)算和百分率直方圖區(qū)間值特征作為區(qū)分病變?nèi)~片與正常葉片的重要依據(jù)。通過色調(diào)區(qū)間來對(duì)正常葉片和病害葉片進(jìn)行識(shí)別,需要提取較多的參數(shù)。溫芝元等[5]通過分水嶺算法提取蟲害邊界,通過邊界提取、閾值分割,得到二值圖像,再將其導(dǎo)入到小波神經(jīng)網(wǎng)絡(luò)中,進(jìn)而識(shí)別碰柑樹病蟲害,平均識(shí)別準(zhǔn)確率為87%。分水嶺算法雖然對(duì)簡單的特征分割效果較好,但是對(duì)植物病害特征等較為復(fù)雜的場景進(jìn)行分割時(shí),會(huì)由于對(duì)圖像中的噪聲極其敏感而導(dǎo)致分割效果不佳。
由此可知,基于傳統(tǒng)機(jī)器視覺的模型對(duì)植物病蟲害識(shí)別的準(zhǔn)確率不高,在圖像特征處理階段具有一定的主觀性。深度學(xué)習(xí)的逐漸興起為植物病蟲害識(shí)別帶來了新的方法。郭小清等[6]在AlexNet的基礎(chǔ)上,通過修改網(wǎng)絡(luò)結(jié)構(gòu),使模型對(duì)番茄葉部病害及每種病害早中晚期的平均識(shí)別準(zhǔn)確率達(dá)到 92.7%;蒲秀夫等[7]通過將VGG16用改進(jìn)后的符號(hào)函數(shù)對(duì)權(quán)重和激活值二值化,以符號(hào)函數(shù)和尺度因子α代替浮點(diǎn)型權(quán)值參數(shù),以提高模型的計(jì)算速度;宋程勇等[8]在GoogleNet的基礎(chǔ)上進(jìn)行改進(jìn),通過減少Inception模塊數(shù)量,增加卷積層和池化層,用改進(jìn)后的模型對(duì)蘋果病蟲害數(shù)據(jù)集進(jìn)行識(shí)別。
本研究基于ResNet34進(jìn)行改進(jìn)[9-13],用蘋果葉病害數(shù)據(jù)集對(duì)模型進(jìn)行訓(xùn)練,并通過消融實(shí)驗(yàn)評(píng)價(jià)模型的性能。
蘋果葉病害數(shù)據(jù)集[14]主要在晴天光線良好的條件下獲取,部分圖像在陰雨天進(jìn)行采集,不同的采集條件進(jìn)一步增強(qiáng)了數(shù)據(jù)集的多樣性。 數(shù)據(jù)集包括斑點(diǎn)落葉病、褐斑病、花葉病、灰斑病以及銹病5種常見的蘋果葉面病害圖像數(shù)據(jù),然后經(jīng)過翻轉(zhuǎn)、對(duì)比度調(diào)整等數(shù)據(jù)增強(qiáng),對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)充,其中蘋果葉病害數(shù)據(jù)集病害圖片示例如圖1所示,表1給出了每個(gè)病害類別的圖片數(shù)量。
圖1 蘋果葉病害數(shù)據(jù)集示例圖
表1 蘋果葉病害數(shù)據(jù)集統(tǒng)計(jì)表
目前,卷積神經(jīng)網(wǎng)絡(luò)在圖像分類[15-18]、目標(biāo)檢測[19-21]、圖像分割[22]等領(lǐng)域獨(dú)樹一幟。ResNet網(wǎng)絡(luò)由何凱明等[9]提出,它極大地提高了模型的識(shí)別能力,同時(shí)很好地解決了卷積神經(jīng)網(wǎng)絡(luò)層數(shù)加深后出現(xiàn)的梯度消失、梯度爆炸和網(wǎng)絡(luò)退化問題。其核心之處在于提出了殘差結(jié)構(gòu),具體如圖2所示。
首先輸入通道數(shù)為3,大小為224×224的圖像,經(jīng)過第一層卷積層之后,通道數(shù)變?yōu)?4,大小變?yōu)?12×112;然后經(jīng)過最大池化層,通道數(shù)不變,大小減少為一半;然后進(jìn)入到殘差部分,殘差部分有4個(gè)殘差網(wǎng)絡(luò),依次對(duì)應(yīng)著3、4、6、3個(gè)殘差結(jié)構(gòu),第一個(gè)殘差網(wǎng)絡(luò)里面的殘差結(jié)構(gòu)都為實(shí)線,后面3個(gè)殘差網(wǎng)絡(luò)里的第一個(gè)殘差結(jié)構(gòu)為虛線,其余的為實(shí)線殘差結(jié)構(gòu);最后將第4個(gè)殘差網(wǎng)絡(luò)與平均池化層和全連接層連接。ResNet34模型如圖3所示。
(1)卷積核的替換。從圖3可以看到,ResNet34第一層卷積層的卷積核大小為7×7,雖然大尺寸卷積核能夠提取更多和更復(fù)雜的特征信息,但會(huì)存在較多的參數(shù),導(dǎo)致計(jì)算速度緩慢。卷積核參數(shù)量的計(jì)算如式(1)所示:
Params=N×(w×h×F)×c,
(1)
式中,Params表示卷積核的參數(shù)總數(shù);N表示卷積核的個(gè)數(shù);w、h、c分別表示卷積核的寬、高和通道數(shù);F表示輸入的特征圖的大小。由式(1)可知,1個(gè)7×7卷積核的參數(shù)量為49 cF,改為3個(gè)3×3卷積核后,參數(shù)量為27 cF,減少了大約45%,模型改動(dòng)如圖4所示。
圖2 殘差結(jié)構(gòu)
圖3 ResNet34模型
卷積神經(jīng)網(wǎng)絡(luò)各輸出特征圖中的每個(gè)像素點(diǎn),在原始輸入圖片的映射區(qū)域的大小,稱為感受野(Receptive Field),其計(jì)算如式(2)所示:
(2)
(2)殘差結(jié)構(gòu)的優(yōu)化。原始ResNet34中,殘差網(wǎng)絡(luò)中的殘差結(jié)構(gòu)是兩個(gè)卷積核大小為3×3的卷積層(見圖2)。為減少ResNet34網(wǎng)絡(luò)模型參數(shù),故對(duì)殘差結(jié)構(gòu)進(jìn)行優(yōu)化,將其改為1×1、3×3和1×1串聯(lián)的瓶頸結(jié)構(gòu),其中,由3×3卷積層實(shí)現(xiàn)下采樣,后面的1×1實(shí)現(xiàn)上采樣,具體結(jié)構(gòu)如圖5所示。
圖4 卷積核替換 圖5 殘差結(jié)構(gòu)優(yōu)化
(3)shortcut結(jié)構(gòu)的優(yōu)化。由圖2b可知,主分支的輸出與shortcut輸出特征矩陣的形狀不相同時(shí),捷徑分支必須要經(jīng)過一個(gè)卷積核大小為1×1,步長為2的卷積層,即經(jīng)過圖2b所示虛線殘差結(jié)構(gòu),從而可以進(jìn)行相加的操作。我們對(duì)這個(gè)虛線殘差結(jié)構(gòu)進(jìn)行改進(jìn),添加一個(gè)平均池化層來取代之前的卷積核大小為1×1的卷積層的下采樣功能。添加平均池化層不僅可以去除冗余信息,對(duì)特征進(jìn)行壓縮,降低網(wǎng)絡(luò)復(fù)雜度,而且可以防止過擬合或者欠擬合,提高網(wǎng)絡(luò)模型的識(shí)別能力。
(4)殘差網(wǎng)絡(luò)block數(shù)的改變。由ResNet34、ResNet101、ResNet152模型結(jié)構(gòu)可知,各層殘差網(wǎng)絡(luò)block數(shù)分別為[3,4,6,3]、[3,4,23,3]和[3,8,36,3],第一層殘差網(wǎng)絡(luò)中的block數(shù)與最后一層相同,第3層最多。在本文中,將會(huì)把ResNet34中的各層殘差網(wǎng)絡(luò)的block數(shù)改為[1,2,12,1],將主要的特征提取任務(wù)集中在第3個(gè)殘差網(wǎng)絡(luò)上,從而可以達(dá)到降低模型參數(shù)量,提高計(jì)算速度的作用。
本研究實(shí)驗(yàn)訓(xùn)練環(huán)境在Windows 11家庭中文版操作系統(tǒng)下,基于處理器11th Gen Intel(R) Core(TM) i7-11800H @ 2.30 GHz,16 GB運(yùn)行內(nèi)存,使用的顯卡為NVIDIA GeForce RTX 3060 Laptop GPU,采用深度框架tensorflow 2.6.0,配合Cuda 11.6進(jìn)行訓(xùn)練,模型訓(xùn)練過程設(shè)置學(xué)習(xí)率為0.001,批數(shù)量設(shè)置為16,訓(xùn)練epoch數(shù)設(shè)置為50,采用Adam優(yōu)化器更新模型參數(shù)。
本文使用混淆矩陣中的識(shí)別準(zhǔn)確率(Accuracy)、平均精確率(Ave-Precision)、平均召回率(Ave-Recall)和平均綜合評(píng)價(jià)指標(biāo)(Ave-F-Measure)這4個(gè)指標(biāo)來評(píng)價(jià)網(wǎng)絡(luò)的性能。其中,識(shí)別準(zhǔn)確率、平均精確率、平均召回率、平均綜合評(píng)價(jià)指標(biāo)如式(3)~(6)所示:
(3)
(4)
(5)
(6)
式中,M為蘋果葉病害分類個(gè)數(shù);P表示正樣本;N表示負(fù)樣本;T為預(yù)測正確;F為預(yù)測錯(cuò)誤;TP表示模型將正樣本預(yù)測為正樣本的個(gè)數(shù);TN表示模型將負(fù)樣本預(yù)測為負(fù)樣本的個(gè)數(shù);FP表示模型將負(fù)樣本預(yù)測為正樣本的個(gè)數(shù);FN表示模型將正樣本預(yù)測為負(fù)樣本的個(gè)數(shù)。有如下關(guān)系:P=TP+FN,N=TN+FP。Precision和Recall為單個(gè)類別對(duì)應(yīng)的精確率和召回率。當(dāng)式(6)中的α=1時(shí),為平均F1分?jǐn)?shù)。
本研究將采用3∶1∶1的比例,將其劃分為訓(xùn)練集、驗(yàn)證集和測試集。為了證明ResNet34網(wǎng)絡(luò)的優(yōu)越性能,選取了AlexNet、VGG16、GoogLeNet、ResNet18,通過相同數(shù)據(jù)集進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果如表2所示。由表2可知,ResNet34網(wǎng)絡(luò)模型的識(shí)別準(zhǔn)確率最好,達(dá)到了96.2%,具有更強(qiáng)的識(shí)別能力,故選用ResNet34作為本研究識(shí)別蘋果葉病害的基礎(chǔ)模型,并對(duì)其結(jié)構(gòu)進(jìn)行優(yōu)化改進(jìn),得到性能更加優(yōu)良的殘差網(wǎng)絡(luò)模型。
表2 不同基礎(chǔ)模型識(shí)別結(jié)果對(duì)比
為確定本研究改進(jìn)的ResNet34模型中小卷積核替換大卷積核、殘差結(jié)構(gòu)優(yōu)化、shortcut結(jié)構(gòu)優(yōu)化、殘差網(wǎng)絡(luò)block數(shù)的改變對(duì)于模型的優(yōu)化能力,其中小卷積核替換大卷積核已經(jīng)由理論公式證明,下面將通過消融實(shí)驗(yàn)證明其他改進(jìn)方法的實(shí)際效果。
(1)殘差結(jié)構(gòu)優(yōu)化的消融實(shí)驗(yàn)。為驗(yàn)證ResNet34模型在殘差結(jié)構(gòu)優(yōu)化后的實(shí)際效果,故進(jìn)行殘差結(jié)構(gòu)優(yōu)化的消融實(shí)驗(yàn)。將殘差結(jié)構(gòu)中的兩個(gè)3×3卷積層變?yōu)?×1、3×3和1×1卷積層得到的網(wǎng)絡(luò)模型A-ResNet34與ResNet34模型在本文相同的實(shí)驗(yàn)環(huán)境中進(jìn)行訓(xùn)練后對(duì)比,實(shí)驗(yàn)結(jié)果如表3所示。由表3可知,雖然殘差結(jié)構(gòu)優(yōu)化導(dǎo)致了A-ResNet34的識(shí)別準(zhǔn)確率比ResNet34下降了0.2%,但是模型參數(shù)量卻減少了7 410 944,降低了大約34.8%,實(shí)驗(yàn)結(jié)果表明,本研究的殘差結(jié)構(gòu)優(yōu)化雖然小幅降低了網(wǎng)絡(luò)模型的識(shí)別準(zhǔn)確率,但是大大減少了模型參數(shù)量,降低了計(jì)算損耗。
表3 殘差結(jié)構(gòu)優(yōu)化結(jié)果對(duì)比
(2)shortcut結(jié)構(gòu)優(yōu)化的消融實(shí)驗(yàn)。為驗(yàn)證ResNet34模型在shortcut結(jié)構(gòu)優(yōu)化后的實(shí)際效果,故進(jìn)行shortcut結(jié)構(gòu)優(yōu)化的消融實(shí)驗(yàn)。將shortcut連接中的1×1卷積層的前面加上一個(gè)平均池化層,并取消1×1卷積層的下采樣功能,由平均池化層執(zhí)行下采樣操作,得到網(wǎng)絡(luò)模型B-ResNet34,與ResNet34模型在本研究相同的實(shí)驗(yàn)環(huán)境中進(jìn)行訓(xùn)練后對(duì)比,實(shí)驗(yàn)結(jié)果如表4所示。從表4可知,B-ResNet34的識(shí)別準(zhǔn)確率比ResNet34上升了0.3%,平均召回率和平均F1分?jǐn)?shù)增加了0.1%,平均精確率相同,B-ResNet34模型與ResNet34模型相比,對(duì)蘋果葉病害的識(shí)別能力具有一定的提升。
表4 shortcut結(jié)構(gòu)優(yōu)化結(jié)果對(duì)比
(3)殘差網(wǎng)絡(luò)block數(shù)改變的消融實(shí)驗(yàn)。為驗(yàn)證ResNet34模型在殘差網(wǎng)絡(luò)block數(shù)改變后的實(shí)際效果,故進(jìn)行殘差網(wǎng)絡(luò)block數(shù)改變的消融實(shí)驗(yàn)。將之前ResNet34模型中殘差網(wǎng)絡(luò)的block數(shù)由[3,4,6,3]變?yōu)閇1,2,12,1],得到網(wǎng)絡(luò)模型C-ResNet34,與ResNet34模型在本研究相同的實(shí)驗(yàn)環(huán)境下進(jìn)行訓(xùn)練后對(duì)比,實(shí)驗(yàn)結(jié)果如表5所示。從表5可知,隨著殘差網(wǎng)絡(luò)block數(shù)的改變,C-ResNet34模型識(shí)別準(zhǔn)確率比ResNet34下降了0.6%,但模型參數(shù)卻減少了14.5%,在犧牲小幅度的識(shí)別準(zhǔn)確率的前提下,減少了模型參數(shù)量,提高了計(jì)算速度。
表5 殘差網(wǎng)絡(luò)block數(shù)改變結(jié)果對(duì)比
(4)改進(jìn)的ResNet34模型實(shí)驗(yàn)結(jié)果。本研究對(duì)ResNet34進(jìn)行改進(jìn),將大卷積核改為小卷積核、殘差結(jié)構(gòu)優(yōu)化、shortcut結(jié)構(gòu)優(yōu)化、殘差網(wǎng)絡(luò)block數(shù)改變,得到了改進(jìn)模型,訓(xùn)練后在訓(xùn)練集和驗(yàn)證集的識(shí)別準(zhǔn)確率和損失函數(shù)值如圖6、7所示。 從圖6、7可知,改進(jìn)模型識(shí)別準(zhǔn)確率不斷提高,損失函數(shù)值不斷減少,并最終在25個(gè)epoch趨于收斂。保留模型損失函數(shù)值最低時(shí)對(duì)應(yīng)的權(quán)重參數(shù),將測試集輸入到訓(xùn)練好的改進(jìn)模型中,得到混淆矩陣[23]如圖8所示。
由圖8可知,X軸對(duì)應(yīng)的為真實(shí)標(biāo)簽,Y軸對(duì)應(yīng)的為預(yù)測標(biāo)簽,標(biāo)簽分別對(duì)應(yīng)Alternaria_Boltch(斑點(diǎn)落葉病)、Brown_Spot(褐斑病)、Grey_Spot(灰斑病)、Mosaic(花葉病)和Rust(銹病)。在混淆矩陣中,主對(duì)角線對(duì)應(yīng)的數(shù)字為改進(jìn)模型預(yù)測正確的部分,而其他位置為預(yù)測錯(cuò)誤的部分,數(shù)字總和為測試集圖片數(shù)量。改進(jìn)模型和ResNet34實(shí)驗(yàn)結(jié)果如表6所示。由表6可知,改進(jìn)的ResNet34模型相較于ResNet34基礎(chǔ)模型,識(shí)別準(zhǔn)確率、平均精確率、平均召回率和平均F1分?jǐn)?shù)分別增加了0.5%、0.5%、0.6%和0.6%,模型參數(shù)量降低了大約43.3%。識(shí)別能力得到了小幅度提升,同時(shí)減少了模型參數(shù)量,降低了計(jì)算損耗,更加容易應(yīng)用到移動(dòng)端和嵌入式設(shè)備中。
圖6 訓(xùn)練集和驗(yàn)證集識(shí)別準(zhǔn)確率迭代過程 圖7 訓(xùn)練集和驗(yàn)證集損失函數(shù)迭代過程
本文針對(duì)蘋果葉病害識(shí)別的研究,基于ResNet34模型提出了一種改進(jìn)的ResNet34模型。模型的特點(diǎn)主要包括:①將原始模型ResNet34中的第一層卷積層中的7×7卷積核替換為3個(gè)3×3的小卷積核,初步減少模型參數(shù)量;②將殘差結(jié)構(gòu)中的兩個(gè)大小為3×3卷積層替換成大小為1×1、3×3和1×1串聯(lián)的卷積層,使模型參數(shù)量減少了34.8%;③在虛線殘差結(jié)構(gòu)處,取消1×1卷積層的下采樣功能,添加了一個(gè)平均池化層來進(jìn)行下采樣操作,使模型的識(shí)別能力得到了小幅的提升;④將ResNet34模型殘差網(wǎng)絡(luò)的block數(shù)由[3,4,6,3]改為[1,2,12,1],使模型參數(shù)量減少了14.5%。改進(jìn)的ResNet34模型在實(shí)現(xiàn)識(shí)別能力小幅度提升的同時(shí),減少了43.3%的模型參數(shù)量,較為顯著地降低了模型的計(jì)算開銷,為其應(yīng)用到移動(dòng)端和嵌入式設(shè)備提供了一定的思路。