摘要:輕量級(jí)深度學(xué)習(xí)模型常被部署于移動(dòng)端或物聯(lián)網(wǎng)端,以實(shí)現(xiàn)算力資源受限條件下馬鈴薯病害的識(shí)別。但輕量級(jí)模型網(wǎng)絡(luò)層數(shù)較少,模型特征提取能力有限,無(wú)法實(shí)現(xiàn)相似表型特征的精確提取。為解決上述問(wèn)題,提出一種輕量級(jí)殘差網(wǎng)絡(luò)模型的構(gòu)建方法,該方法融合遷移學(xué)習(xí)和知識(shí)蒸餾策略訓(xùn)練模型,在教師模型上使用遷移學(xué)習(xí)策略縮短教師模型的訓(xùn)練時(shí)間,并將ResNet18模型進(jìn)行模型剪枝,使用降采樣的方法提高模型識(shí)別準(zhǔn)確率,最終在保證輕量化的前提下,實(shí)現(xiàn)對(duì)馬鈴薯葉片病害類別的精準(zhǔn)識(shí)別。在馬鈴薯葉片數(shù)據(jù)集上進(jìn)行試驗(yàn),結(jié)果表明,本研究方法構(gòu)建的輕量級(jí)模型的識(shí)別準(zhǔn)確率相較于Resnet18提高1.55百分點(diǎn),模型大小縮小49.18%;相較于目前農(nóng)作物病害識(shí)別領(lǐng)域,常用的輕量級(jí)模型MobileNetV3在模型大小相近的情況下,識(shí)別準(zhǔn)確率提高2.91百分點(diǎn)。該模型能夠滿足大部分實(shí)際應(yīng)用下的場(chǎng)景,可為部署在物聯(lián)網(wǎng)和移動(dòng)端設(shè)備上的模型提供參考。
關(guān)鍵詞:馬鈴薯;病害識(shí)別;輕量級(jí)模型;遷移學(xué)習(xí);知識(shí)蒸餾
中圖分類號(hào):TP391.41" 文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1002-1302(2024)04-0197-09
收稿日期:2023-07-24
基金項(xiàng)目:國(guó)家自然科學(xué)基金(編號(hào):32101611);云南省基礎(chǔ)研究計(jì)劃(編號(hào):202101AU070096);云南省重大科技專項(xiàng)計(jì)劃(編號(hào):202202AE090021、202302AE090020);省部共建云南生物資源保護(hù)與利用國(guó)家重點(diǎn)實(shí)驗(yàn)室開(kāi)放課題(編號(hào):GZKF2021009)。
作者簡(jiǎn)介:章廣傳(1998—),男,安徽銅陵人,碩士研究生,主要研究方向?yàn)閿?shù)字農(nóng)業(yè)。E-mail:1535797658@qq.com。
通信作者:何 云,博士,講師,主要研究方向?yàn)檐浖こ?、?shù)字農(nóng)業(yè)。E-mail:heyun@ynau.edu.cn。
馬鈴薯是全世界最重要的糧食作物之一,而中國(guó)是世界馬鈴薯總產(chǎn)量最多的國(guó)家。馬鈴薯病害一直是馬鈴薯生產(chǎn)中的痛點(diǎn)問(wèn)題,嚴(yán)重影響我國(guó)現(xiàn)代化農(nóng)業(yè)發(fā)展和農(nóng)民增產(chǎn)增收。馬鈴薯病害的及時(shí)識(shí)別和防治,對(duì)于保障馬鈴薯的產(chǎn)量和質(zhì)量具有重要意義[1]。傳統(tǒng)的病害識(shí)別主要依靠人工觀察和檢測(cè),存在效率低、準(zhǔn)確率低、成本較高等問(wèn)題。彭學(xué)文等研究發(fā)現(xiàn),只有21%的農(nóng)民能夠依靠自身知識(shí)積累識(shí)別出農(nóng)作物的病害[2]。我國(guó)傳統(tǒng)農(nóng)業(yè)正在向現(xiàn)代化智慧農(nóng)業(yè)轉(zhuǎn)化,智慧農(nóng)業(yè)依托農(nóng)業(yè)大數(shù)據(jù),集物聯(lián)網(wǎng)、傳感器、云計(jì)算等多種新興技術(shù)為一體,實(shí)現(xiàn)農(nóng)業(yè)生產(chǎn)中的智能感知、監(jiān)測(cè)、預(yù)警、分析等,并提供精準(zhǔn)決策[3]。
在21世紀(jì)初,大多數(shù)研究者在處理農(nóng)作物病害分類問(wèn)題時(shí),首先是對(duì)圖像進(jìn)行預(yù)處理,如灰度變換、圖像增強(qiáng)等,然后進(jìn)行特征提取,送入分類器進(jìn)行病害識(shí)別[4-5]。此階段,大多數(shù)研究者將BP神經(jīng)網(wǎng)絡(luò)、SVM、貝葉斯判別法作為識(shí)別病害的分類器[6]。Prabhakar等對(duì)植物病害程度進(jìn)行劃分,然后使用ResNet-101模型進(jìn)行識(shí)別,最終在測(cè)試集上的識(shí)別準(zhǔn)確率達(dá)到94.6%[7]。王東方等提出基于遷移學(xué)習(xí)改進(jìn)ResNeXt-101模型,用于不指定農(nóng)作物種類的病害檢測(cè)分類,在重構(gòu)的AI Challenger 2018農(nóng)作物病害數(shù)據(jù)集上,將該模型與 VGG-16、GoogleNet、ResNet-50、DenseNet-121卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行比較,結(jié)果表明在相同試驗(yàn)條件下,對(duì)不同作物不同病害分類的平均準(zhǔn)確率達(dá)到98%,分類效果優(yōu)于其他模型[8]。杜甜甜等針對(duì)受害程度識(shí)別不準(zhǔn)確的問(wèn)題,引入有效通道注意力機(jī)制用以提高模型的特征提取能力,在模型的分類層引入多尺度特征融合策略,用以提高模型對(duì)細(xì)粒度特征的分類能力,使用深度遷移學(xué)習(xí)來(lái)優(yōu)化模型的整體性能,加快模型的收斂速度,提高模型的泛化能力,試驗(yàn)表明RegNet網(wǎng)絡(luò)模型在作物病害損害水平數(shù)據(jù)集上的準(zhǔn)確率達(dá)到94.5%[9]。上述這些研究應(yīng)用的模型都屬于復(fù)雜網(wǎng)絡(luò)模型,具有學(xué)習(xí)能力強(qiáng)、特征提取能力強(qiáng)等特點(diǎn),缺點(diǎn)是消耗大量的算力資源,不適宜部署在算力資源有限的移動(dòng)端或物聯(lián)網(wǎng)端設(shè)備上。
為了實(shí)現(xiàn)農(nóng)作物圖像識(shí)別模型在移動(dòng)端或物聯(lián)網(wǎng)端的應(yīng)用,研究人員嘗試引入輕量級(jí)深度學(xué)習(xí)模型。 鮑文霞等利用深度語(yǔ)義分割網(wǎng)絡(luò)U-Net對(duì)大田環(huán)境下的小麥圖像進(jìn)行分割,設(shè)計(jì)結(jié)構(gòu)較為簡(jiǎn)單的多路卷積神經(jīng)網(wǎng)絡(luò),分別提取麥穗圖像RGB 3個(gè)通道的特征,遷移學(xué)習(xí)CDCNNv2模型對(duì)農(nóng)作物病害的嚴(yán)重程度進(jìn)行識(shí)別,識(shí)別效果達(dá)到94.51%[10]。余小東等采用遷移學(xué)習(xí)方式并結(jié)合深度學(xué)習(xí),分別與使用遷移學(xué)習(xí)的ResNet-50、Xception、VGG16、VGG19、DenseNet-121、CDCNNv2模型進(jìn)行對(duì)比試驗(yàn),結(jié)果表明基于殘差網(wǎng)絡(luò)(ResNet-50)的CDCNNv2算法效果最優(yōu),通過(guò)聯(lián)合損失函數(shù)的多路卷積神經(jīng)網(wǎng)絡(luò),在大田復(fù)雜背景下對(duì)麥穗赤霉病的識(shí)別精度達(dá)到90.5%[11]。Pujari 等通過(guò)將提取的糧食作物葉片真菌病害的LBP特征送入神經(jīng)網(wǎng)絡(luò)而進(jìn)行病害分類[12]。You等提出一種微調(diào)的GoogleNet模型,以處理農(nóng)田場(chǎng)景所呈現(xiàn)的復(fù)雜背景[13]。輕量級(jí)模型對(duì)相似表型特征的識(shí)別能力較低,但輕量級(jí)模型存在參數(shù)量小、運(yùn)行成本低、運(yùn)算耗時(shí)少等特性,因此能夠被快速部署到移動(dòng)端設(shè)備。目前馬鈴薯葉片病害主要是早疫病和晚疫病,葉片病斑具有分布雜亂、面積小、相似度高且形狀各異等特點(diǎn),現(xiàn)有的輕量級(jí)模型難以實(shí)現(xiàn)馬鈴薯葉片病害的高精度實(shí)時(shí)分類識(shí)別。
本研究提出一種融合遷移學(xué)習(xí)和知識(shí)蒸餾的輕量級(jí)馬鈴薯葉片病害識(shí)別模型的構(gòu)建方法,能夠構(gòu)建出一個(gè)高精度的輕量級(jí)病害圖像識(shí)別模型。與現(xiàn)有的復(fù)雜網(wǎng)絡(luò)模型相比,該模型具有較少的模型參數(shù),更適宜在移動(dòng)設(shè)備或物聯(lián)網(wǎng)端部署;與現(xiàn)有的輕量級(jí)模型相比,該模型能夠?qū)崿F(xiàn)更高的識(shí)別準(zhǔn)確率。將該模型部署于移動(dòng)端,可以實(shí)現(xiàn)馬鈴薯葉片病害的及時(shí)發(fā)現(xiàn)和診斷,降低病害導(dǎo)致的經(jīng)濟(jì)損失。
1 相關(guān)知識(shí)
1.1 ResNet基礎(chǔ)模型
ResNet模型是深度殘差模型[14],可以將殘差模塊理解為一個(gè)子網(wǎng)絡(luò),通過(guò)堆疊子網(wǎng)絡(luò)搭建一個(gè)很深的網(wǎng)絡(luò)模型;網(wǎng)絡(luò)越深,所能獲取的信息越多,特征也越豐富。隨著網(wǎng)絡(luò)的不斷加深,造成梯度爆炸和梯度消失等問(wèn)題,優(yōu)化效果反而變差,測(cè)試數(shù)據(jù)和訓(xùn)練數(shù)據(jù)的準(zhǔn)確率隨之降低[15]。對(duì)輸入數(shù)據(jù)和中間層的數(shù)據(jù)進(jìn)行歸一化操作,這種方法可以保證網(wǎng)絡(luò)在反向傳播中采用隨機(jī)梯度下降(stochastic gradient descent,SGD),從而讓網(wǎng)絡(luò)達(dá)到收斂[16]。但這個(gè)方法僅對(duì)幾十層的網(wǎng)絡(luò)有用,當(dāng)網(wǎng)絡(luò)再加深時(shí),歸一化操作的效果便微乎其微了。針對(duì)退化現(xiàn)象,He等提出ResNet網(wǎng)絡(luò)通過(guò)“快捷連接(shortcut connection)”構(gòu)造殘差模塊[14],包括一個(gè)卷積層擬合和Shortcut恒等映射,定義殘差模塊學(xué)習(xí)的特征H(x)如公式(1)所示。
H(x)=F(x)+x。(1)
1.2 遷移學(xué)習(xí)
遷移學(xué)習(xí)(transfer learning)的目的是應(yīng)用已有的知識(shí)來(lái)更好地解決新問(wèn)題。遷移學(xué)習(xí)能加快模型的訓(xùn)練速度,增強(qiáng)模型的魯棒性[17-19]。將ImageNet數(shù)據(jù)集訓(xùn)練ResNet101模型的參數(shù)和權(quán)重遷移至預(yù)訓(xùn)練模型,選擇合適的層數(shù)凍結(jié)參數(shù),重新訓(xùn)練未凍結(jié)網(wǎng)絡(luò),更新網(wǎng)絡(luò)權(quán)值,淺層卷積層提取基礎(chǔ)特征,比如邊緣、輪廓等基礎(chǔ)特征;深層卷積層提取抽象特征,比如整個(gè)葉片等;全連接層根據(jù)特征組合進(jìn)行評(píng)分分類[20]。對(duì)于微調(diào)模型而言,選擇一個(gè)合適的層數(shù)進(jìn)行凍結(jié)就顯得尤為重要,凍結(jié)層過(guò)少,模型訓(xùn)練仍需要大量時(shí)間,會(huì)導(dǎo)致算力資源的浪費(fèi);凍結(jié)層過(guò)多,微調(diào)模型不易收斂,導(dǎo)致模型泛化能力弱。
1.3 知識(shí)蒸餾
深度學(xué)習(xí)在計(jì)算機(jī)視覺(jué)、語(yǔ)音識(shí)別、自然語(yǔ)言處理等眾多領(lǐng)域中均體現(xiàn)了令人難以置信的性能。但是,大多數(shù)模型在計(jì)算上過(guò)于復(fù)雜,無(wú)法在物聯(lián)網(wǎng)和移動(dòng)端設(shè)備上運(yùn)行。輕量級(jí)模型能夠完成一些實(shí)時(shí)性任務(wù),但難以完成更深層次的特征分析。因此,引用知識(shí)蒸餾策略將大模型中提取的深層特征知識(shí)遷移到輕量級(jí)模型。知識(shí)蒸餾的本質(zhì)屬于遷移學(xué)習(xí)的范疇,其主要思路是將已經(jīng)訓(xùn)練完善的模型作為教師模型,通過(guò)控制溫度T從教師模型的輸出結(jié)果中“蒸餾”出“知識(shí)”用于學(xué)生模型的訓(xùn)練,并希望輕量級(jí)模型能夠?qū)W到教師模型的“知識(shí)”,達(dá)到和教師模型相同的表現(xiàn);這里的“知識(shí)”在狹義上的解釋是教師模型的輸出中包含的某種相似性,這種相似性能夠被用作遷移并輔助其他模型的訓(xùn)練[21]。知識(shí)蒸餾策略訓(xùn)練模型可以提升模型精度,若目前網(wǎng)絡(luò)模型A的精度較低,那么可以先訓(xùn)練一個(gè)更高精度的模型B,通常模型B的參數(shù)量較多,訓(xùn)練時(shí)間較長(zhǎng),然后用這個(gè)訓(xùn)練好的模型B對(duì)模型A進(jìn)行知識(shí)蒸餾策略訓(xùn)練,得到一個(gè)高精度的模型A[22]。
2 本研究方法
馬鈴薯葉片病害識(shí)別屬于細(xì)粒度圖像識(shí)別任務(wù)。為了更精準(zhǔn)地識(shí)別馬鈴薯病害葉片的病斑特征及病害程度,本研究方法引入遷移學(xué)習(xí)訓(xùn)練ResNet101復(fù)雜模型,構(gòu)建輕量級(jí)網(wǎng)絡(luò)作為學(xué)生模型。構(gòu)建輕量級(jí)網(wǎng)絡(luò)時(shí),利用降采樣的方法提高模型對(duì)圖像的利用率,從而提高模型的識(shí)別準(zhǔn)確率;利用模型剪枝的方法減小模型的大小,以便部署在物聯(lián)網(wǎng)和移動(dòng)端設(shè)備上。將遷移學(xué)習(xí)后的ResNet101模型利用知識(shí)蒸餾策略訓(xùn)練本研究構(gòu)建的輕量級(jí)模型ResNet13,得到高精度輕量級(jí)模型(圖1,黑框白字為重點(diǎn)研究?jī)?nèi)容)。
2.1 基于遷移學(xué)習(xí)的ResNet101教師模型訓(xùn)練
由于馬鈴薯葉片病害病斑之間的相似度較高,需要對(duì)同一類病害進(jìn)行更為細(xì)致的劃分,對(duì)模型的特征提取能力要求較高。教師模型是知識(shí)蒸餾的關(guān)鍵因素之一,教師模型的識(shí)別準(zhǔn)確率將直接影響最終的識(shí)別精度;而一般復(fù)雜網(wǎng)絡(luò)提取特征更為深層,識(shí)別準(zhǔn)確率高但訓(xùn)練時(shí)間久,因而引入遷移學(xué)習(xí)加速模型訓(xùn)練。構(gòu)建復(fù)雜網(wǎng)絡(luò)ResNet101模型,在ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練,將其參數(shù)和權(quán)重遷移至預(yù)訓(xùn)練模型,利用上述的微調(diào)模型重新訓(xùn)練部分網(wǎng)絡(luò),獲取馬鈴薯數(shù)據(jù)集的特征。
定義1:ResNet101模型為一個(gè)由101層(Layer)組成的復(fù)雜網(wǎng)絡(luò)模型,則有ModelResNet101={Layer1,Layer2,Layer3,…,Layer101},Tacci為凍結(jié)Layer1~Layeri層的識(shí)別準(zhǔn)確率。本研究將ResNet101模型的Layer1~Layer6這6個(gè)卷積層凍結(jié),訓(xùn)練模型記錄模型識(shí)別準(zhǔn)確率為T(mén)acc6,依次增加凍結(jié)卷積層數(shù),直到凍結(jié)Layerm的Taccm低于凍結(jié)Layerm-1的Taccm-1,保存凍結(jié)Layerm-1的權(quán)重weightm-1,用于后續(xù)研究。遷移學(xué)習(xí)流程如圖2所示,m初始值等于7。
2.2 基于降采樣和模型剪枝的輕量級(jí)學(xué)生模型構(gòu)建
馬鈴薯葉片病害的識(shí)別模型通常部署于移動(dòng)端和物聯(lián)網(wǎng)端,在算力有限的情況下要達(dá)到精準(zhǔn)識(shí)別,模型要求參數(shù)小、識(shí)別速率快等。本研究提出一種輕量級(jí)模型的構(gòu)建方法,利用降采樣提高模型的識(shí)別準(zhǔn)確率,并利用模型剪枝壓縮模型的大小。
2.2.1 降采樣
每個(gè)殘差模塊的第1個(gè)conv都有1個(gè)下采樣的步驟,Input數(shù)據(jù)后經(jīng)歷1個(gè)步長(zhǎng)為2、1×1的卷積,將特征圖的尺寸減小為原來(lái)的一半,導(dǎo)致特征圖的一部分信息不被利用,對(duì)馬鈴薯病害葉片圖像特征的提取效果影響較大。為提升殘差模塊的特征提取能力,將下采樣步驟下移至3×3的卷積去完成(圖3-a、圖3-b)。卷積核在移動(dòng)過(guò)程中能覆蓋整張圖像,從而避免信息的大量流失,將重構(gòu)的模型命名為ResNet18-New、ResNet101-New。公式(2)中,輸出尺寸為輸入尺寸的 1/2,與原始?xì)埐钅K輸出尺寸保持一致。
Output=Input-K+2×Ps+1。(2)
式中:Output表示輸出尺寸;Input表示輸入尺寸;K表示卷積核尺寸;P表示邊緣填補(bǔ)大小,等于1,s表示步距,為2。
2.2.2 模型剪枝
深度學(xué)習(xí)模型從卷積層到全連接層存在大量冗余的參數(shù),復(fù)雜結(jié)構(gòu)帶來(lái)一系列的問(wèn)題:對(duì)于層數(shù)和神經(jīng)元數(shù)量較多的深層網(wǎng)絡(luò)模型,計(jì)算延遲難以達(dá)到應(yīng)用的標(biāo)準(zhǔn),尤其是對(duì)于一些實(shí)時(shí)任務(wù)。本研究針對(duì)ResNet18網(wǎng)絡(luò)進(jìn)行模型剪枝[23],使模型輕量化,更利于部署在移動(dòng)端。由圖3-c可見(jiàn),將網(wǎng)絡(luò)中部分卷積核進(jìn)行重構(gòu)并刪除冗余的卷積核,新網(wǎng)絡(luò)依據(jù)網(wǎng)絡(luò)層數(shù)命名為ResNet13。模型剪枝后的卷積核如表1模型ResNet13所示。
2.3 基于知識(shí)蒸餾策略的輕量級(jí)學(xué)生模型訓(xùn)練
由于馬鈴薯葉片病斑呈分布雜亂、面積小、相似度高且形狀各異等特點(diǎn),淺層網(wǎng)絡(luò)模型難以實(shí)現(xiàn)馬鈴薯葉片病害高精度實(shí)時(shí)分類。利用高精度教師模型ResNet101,使用知識(shí)蒸餾策略訓(xùn)練學(xué)生模型,其中教師模型是“知識(shí)”的輸出者,學(xué)生模型是“知識(shí)”的接受者。Hinton等稱之為嵌入在教師模型的“暗知識(shí)”,也就是在蒸餾階段需要遷移到學(xué)生模型的暗知識(shí)[22]。本研究方法采用的知識(shí)蒸餾過(guò)程分為2個(gè)階段(圖4)。
教師模型訓(xùn)練:訓(xùn)練教師模型ResNet101,教師模型相對(duì)復(fù)雜,模型識(shí)別準(zhǔn)確率高。在溫度為T(mén)的時(shí)候,根據(jù)教師模型的SoftMax與學(xué)生模型的SoftMax計(jì)算Losshard。
學(xué)生模型訓(xùn)練:知識(shí)蒸餾策略訓(xùn)練學(xué)生模型,學(xué)生模型參數(shù)量較小、模型結(jié)構(gòu)相對(duì)簡(jiǎn)單。在溫度為1的時(shí)候,根據(jù)學(xué)生模型的SoftMax、Hard labels計(jì)算Losshard,利用知識(shí)蒸餾策略訓(xùn)練學(xué)生模型,將教師模型ResNet101中學(xué)習(xí)到的“知識(shí)”傳授給學(xué)生模型,從而提升學(xué)生模型的識(shí)別效率。
Loss計(jì)算公式如下:
Loss=βT2Lsoft+αLhard。(3)
式中:Lsoft表示學(xué)生模型與教師模型的損失函數(shù)。其定義表達(dá)式如下:
Lsoft=-∑NjpTjlgqTj。(4)
其中:pTj=evjT∑NKevKT ;
qTj=eujT∑NKeuKT" 。
式(3)中:Lhard表示學(xué)生模型與真實(shí)樣本標(biāo)簽的損失函數(shù)。其定義表達(dá)式如下:
Lhard=-∑Njcjlgq1j。(5)
其中:q1j=exp(ui)∑kexp(uk);vj表示教師模型在第j個(gè)類別的logit;uj表示學(xué)生模型在第j個(gè)類別的logit;pTj表示教師模型在溫度T下SoftMax輸出在第j類上的值;qTj表示學(xué)生模型在溫度T下SoftMax輸出在第j類上的值;N表示總標(biāo)簽數(shù)量;α、β為蒸餾超參數(shù);T表示溫度。
3 試驗(yàn)與分析
3.1 試驗(yàn)準(zhǔn)備
為加強(qiáng)模型的魯棒性,數(shù)據(jù)集不僅需要有簡(jiǎn)單背景的試驗(yàn)數(shù)據(jù),還需要有復(fù)雜背景的實(shí)況數(shù)據(jù)。本研究數(shù)據(jù)集由AI Challenger 2018競(jìng)賽數(shù)據(jù)集和PlantVillage數(shù)據(jù)集構(gòu)成,包含健康馬鈴薯葉片、馬鈴薯早疫病一般類別葉片、馬鈴薯早疫病嚴(yán)重類別葉片、馬鈴薯晚疫病一般類別葉片、馬鈴薯晚疫病嚴(yán)重類別葉片(圖5)。
試驗(yàn)時(shí)間為2023年3—6月,試驗(yàn)地點(diǎn)為云南農(nóng)業(yè)大學(xué)云南省作物生產(chǎn)與智慧農(nóng)業(yè)重點(diǎn)實(shí)驗(yàn)室。試驗(yàn)數(shù)據(jù)集中馬鈴薯葉片病害圖片數(shù)量有限,且各類別樣本數(shù)分布不均,為了增強(qiáng)病害圖像的多樣性和模型的泛化能力,選擇數(shù)據(jù)增強(qiáng)方法擴(kuò)大數(shù)據(jù)集。數(shù)據(jù)增強(qiáng)技術(shù)包含了多種變換方法,包括顏色的數(shù)據(jù)增強(qiáng)(色彩飽和度、對(duì)比度、亮度)、PCA處理、鏡像變換等。試驗(yàn)使用Python中的PTL模塊,對(duì)部分樣本不足的試驗(yàn)數(shù)據(jù)圖像進(jìn)行水平翻轉(zhuǎn),增強(qiáng)模型魯棒性及適應(yīng)性;針對(duì)數(shù)據(jù)集中部分病害,使用垂直翻轉(zhuǎn)使數(shù)據(jù)增強(qiáng)。為使模型訓(xùn)練更有效率,將本研究數(shù)據(jù)集中所有圖像統(tǒng)一調(diào)整為224像素×224像素,在馬鈴薯病害類別中使用數(shù)據(jù)集標(biāo)簽0、1、2、3、4,分別代表健康馬鈴薯葉片、馬鈴薯早疫病一般類別葉片、馬鈴薯早疫病嚴(yán)重類別葉片、馬鈴薯晚疫病一般類別葉片、馬鈴薯晚疫病嚴(yán)重類別葉片。根據(jù)數(shù)據(jù)增強(qiáng)后的圖像將數(shù)據(jù)集劃分為訓(xùn)練集、測(cè)試集、驗(yàn)證集,其比例為8 ∶1 ∶1。通過(guò)測(cè)試集測(cè)試模型的識(shí)別準(zhǔn)確率。數(shù)據(jù)集的各類樣本統(tǒng)計(jì)結(jié)果見(jiàn)表2。
本研究采用Pytorch作為馬鈴薯病害識(shí)別模型搭建和訓(xùn)練平臺(tái),計(jì)算機(jī)環(huán)境為Windows10系統(tǒng),CPU型號(hào)為AMD Ryzen 7 4800H,GPU型號(hào)為NVIDIA GeForce RTX 2060。
試驗(yàn)選擇1e-3作為初始學(xué)習(xí)率,設(shè)置批尺寸大小為32,使用自適應(yīng)學(xué)習(xí)率優(yōu)化算法Adam默認(rèn)框架參數(shù)。蒸餾超參數(shù)設(shè)置為α=0.3、β=0.7,蒸餾溫度默認(rèn)設(shè)置為T(mén)=10。
3.2 試驗(yàn)驗(yàn)證問(wèn)題
為驗(yàn)證本研究方法的有效性,主要驗(yàn)證如下幾個(gè)問(wèn)題(research question,RQ)。
RQ1:基于遷移學(xué)習(xí)能否提高教師模型的訓(xùn)練效果;
RQ2:基于知識(shí)蒸餾技術(shù)能否提高輕量級(jí)模型的識(shí)別準(zhǔn)確率;
RQ3:基于降采樣和模型剪枝的模型構(gòu)建方法能否進(jìn)一步提高輕量級(jí)的模型性能;
RQ4:知識(shí)蒸餾溫度對(duì)模型的影響;
RQ5:本研究方法構(gòu)建的輕量級(jí)模型與農(nóng)作物病害常用的模型相比性能如何。
3.3 模型評(píng)價(jià)指標(biāo)
選取準(zhǔn)確率(Accuracy,Acc)、精確率(Precision,P)、平均召回率(Recall,R)、特異度(Specificity,S)、迭代時(shí)間(iterate time)、模型大小(model size)作為評(píng)價(jià)指標(biāo)衡量模型的性能。
準(zhǔn)確率指模型能夠正確識(shí)別所有樣本(N)中的正確樣本的比例。公式如下:
Acc=14∑4i=0TPiN×100%。(6)
精確率指某一類的預(yù)測(cè)正確的樣本中真實(shí)正確樣本的比例。公式如下:
P=14∑4i=0TPiTP1+FP1×100%。(7)
召回率指某一類正確樣本中的被預(yù)測(cè)正確的樣本所占比例。公式如下:
R=14∑4i=0TPiTPi+FNi×100%。(8)
特異度指某一類反例的樣本中被預(yù)測(cè)為反例樣本所占比例。公式如下:
S=14∑4i=0TNiTNi+FPi×100%(9)
3.4 基于遷移學(xué)習(xí)能否提高教師模型的訓(xùn)練效果
為驗(yàn)證遷移學(xué)習(xí)能否提高教師模型的訓(xùn)練效果,設(shè)置第1組消融試驗(yàn),通過(guò)引入遷移學(xué)習(xí)對(duì)ResNet101模型性能進(jìn)行提升(圖6、表3)。其中,ResNet101-TL代表引入遷移學(xué)習(xí)以后的教師模型。
將ResNet101模型的前3個(gè)Layer層凍結(jié),不參與參數(shù)更新;利用遷移學(xué)習(xí)策略訓(xùn)練ResNet101-TL模型,與未采用遷移學(xué)習(xí)策略訓(xùn)練ResNet101模型相比,加快模型收斂速度;在第20輪迭代時(shí),模型就處于收斂狀態(tài),ResNet101在第34輪迭代才達(dá)到收斂狀態(tài)。同時(shí),ResNet101-TL模型相比ResNet101減少了65.48%的迭代時(shí)間,并提高0.39百分點(diǎn)的識(shí)別準(zhǔn)確率,較為明顯地減少了模型訓(xùn)練時(shí)間。在教師模型訓(xùn)練時(shí)引用遷移學(xué)習(xí),可增加模型的魯棒性。
3.5 基于知識(shí)蒸餾技術(shù)能否提高輕量級(jí)模型的識(shí)別準(zhǔn)確率
為驗(yàn)證知識(shí)蒸餾技術(shù)能否提高輕量級(jí)模型的識(shí)別準(zhǔn)確率,設(shè)置第2組消融試驗(yàn),通過(guò)引入知識(shí)蒸餾技術(shù)對(duì)ResNet18模型進(jìn)行訓(xùn)練,訓(xùn)練結(jié)果如圖7、表4所示。其中ResNet18-KD代表引入蒸餾策略訓(xùn)練后的模型。
通過(guò)引入知識(shí)蒸餾策略訓(xùn)練模型,將進(jìn)行遷移學(xué)習(xí)的教師模型ResNet101的權(quán)重指導(dǎo)訓(xùn)練學(xué)生模型ResNet18,模型在識(shí)別準(zhǔn)確率上提升了0.41百分點(diǎn);在學(xué)生模型訓(xùn)練時(shí)引用知識(shí)蒸餾策略訓(xùn)練模型,提高了模型識(shí)別準(zhǔn)確率,增加了模型的泛化能力。
3.6 基于降采樣和模型剪枝的模型構(gòu)建方法能否進(jìn)一步提高輕量級(jí)學(xué)生模型性能
為驗(yàn)證本研究提出的模型構(gòu)建方法能否提高輕量級(jí)模型的性能,設(shè)置2組對(duì)比試驗(yàn)。
第1組試驗(yàn),對(duì)比模型降采樣能否提高輕量級(jí)學(xué)生模型性能。模型降采樣的優(yōu)勢(shì)在于能夠較好地保留低層次的信息和完整的圖像信息。本研究將下采樣步驟下移至3×3的卷積去完成,從而避免信息的大量流失。只有Layer2、Layer3、Layer4的第1個(gè)Basic Block進(jìn)行下采樣,Layer1沒(méi)有下采樣。模型降采樣試驗(yàn)結(jié)果如表5第1、第2行所示。
第2組試驗(yàn),對(duì)比模型剪枝能否提高輕量級(jí)學(xué)生模型性能。為了使ResNet18模型更加輕量化,針對(duì)ResNet18模型的卷積核進(jìn)行重構(gòu)與刪除,將新網(wǎng)絡(luò)依據(jù)網(wǎng)絡(luò)層數(shù)命名為ResNet13模型。改進(jìn)后的網(wǎng)絡(luò)性能如表5第3行所示。通過(guò)模型剪枝使網(wǎng)絡(luò)模型準(zhǔn)確率達(dá)到91.85%,僅比ResNet18模型降低了0.19百分點(diǎn),而模型大小縮減了將近一半,僅為 21.7 MB。改進(jìn)后的模型在識(shí)別馬鈴薯葉片病害時(shí)表現(xiàn)更優(yōu),混淆矩陣如圖8所示。
3.7 蒸餾溫度對(duì)模型的影響
知識(shí)蒸餾中溫度系數(shù)的選擇是知識(shí)遷移效果的決定性因素,知識(shí)蒸餾通過(guò)對(duì)輸出進(jìn)行修改,增加一個(gè)溫度系數(shù)T,隨著溫度系數(shù)T增大,通過(guò)softmax函數(shù)得到的概率分布就變得更加軟化,提供更多的信息。采用ResNet13模型作為學(xué)生模型識(shí)別馬鈴薯病害葉片,教師模型ResNet101將學(xué)習(xí)的“暗知識(shí)”遷移至學(xué)生模型ResNet13。圖9為不同蒸餾溫度下學(xué)生模型ResNet13的識(shí)別準(zhǔn)確率,隨著蒸餾溫度的增大,模型識(shí)別準(zhǔn)確率總體呈上升趨勢(shì);在蒸餾溫度為15時(shí),識(shí)別準(zhǔn)確率達(dá)到最高(93.59%);識(shí)別準(zhǔn)確率超過(guò)ResNet18模型1.55百分點(diǎn)。隨著蒸餾溫度T繼續(xù)增大,模型識(shí)別準(zhǔn)確率保持不變。
3.8 本研究方法構(gòu)建的輕量級(jí)模型與農(nóng)作物病害常用的模型性能對(duì)比
利用本研究構(gòu)建的馬鈴薯數(shù)據(jù)集,使用農(nóng)作物病害識(shí)別領(lǐng)域常用的模型ResNet101、VGG-16、AlexNet、ResNet50、ResNet18以及輕量級(jí)模型MobileNetV3、本研究方法構(gòu)建的輕量級(jí)模型ResNet13,完成50次迭代后的識(shí)別效果如表6所示,混淆矩陣如圖10所示。通過(guò)模型識(shí)別準(zhǔn)確率判斷模型的泛化能力,通過(guò)迭代時(shí)間、模型內(nèi)存占用量來(lái)判斷模型在移動(dòng)端的推理速度和模型的復(fù)雜度。
在不考慮算力需求基礎(chǔ)上,ResNet101在識(shí)別效果上最優(yōu),無(wú)論是迭代時(shí)間和模型內(nèi)存占用量均優(yōu)于VGG-16。VGG-16模型較大,為512.0 MB。本研究構(gòu)建的輕量級(jí)模型ResNet13在參數(shù)量上都遠(yuǎn)低于ResNet101、VGG16、ResNet50等大模型。在模型大小僅有21.7 MB的情況下,ResNet13模型的識(shí)別準(zhǔn)確率分別比Alex Net模型高1.94百分點(diǎn)、比ResNet18模型高1.55百分點(diǎn)。而相比于農(nóng)作物病害識(shí)別的常用模型MobileNet v3,ResNet13模型大0.6 MB,準(zhǔn)確率高2.91百分點(diǎn)(表6)。
4 結(jié)論
為了能夠在移動(dòng)端準(zhǔn)確且快速地識(shí)別馬鈴薯葉片病害,本研究針對(duì)馬鈴薯葉片病斑分布雜亂、面積小、相似度高且形狀各異等特點(diǎn),提出一種融合遷移和知識(shí)蒸餾的輕量級(jí)馬鈴薯葉片病害識(shí)別模型構(gòu)建方法。首先構(gòu)建馬鈴薯葉片數(shù)據(jù)集,利用數(shù)據(jù)增強(qiáng)技術(shù)擴(kuò)充數(shù)據(jù)集,提高模型的魯棒性;其次,利用下采樣推遲和模型剪枝進(jìn)一步壓縮模型,減小模型的大小,使其便于部署在物聯(lián)網(wǎng)和移動(dòng)端設(shè)備上;最后,利用遷移學(xué)習(xí)訓(xùn)練教師模型,加快教師模型的迭代,再利用知識(shí)蒸餾技術(shù)指導(dǎo)學(xué)生模型訓(xùn)練,提高模型的識(shí)別準(zhǔn)確率,對(duì)試驗(yàn)結(jié)果進(jìn)行分析,得出以下結(jié)論。
(1)模型剪枝通過(guò)對(duì)卷積核的重構(gòu),減少模型的大小,本研究構(gòu)建的ResNet13模型大小僅為 21.7 MB,識(shí)別準(zhǔn)確率達(dá)到91.85%,相比于ResNet18模型大小縮減了49.18%,在減小模型大小的同時(shí)其識(shí)別準(zhǔn)確率僅降低0.19百分點(diǎn),可以部署在算力資源有限的物聯(lián)網(wǎng)和移動(dòng)端設(shè)備上;
(2)試驗(yàn)表明,模型下采樣推遲能充分利用圖像信息,不會(huì)造成圖像的信息流失,能提高模型識(shí)別準(zhǔn)確率;消融試驗(yàn)表明,在相同的試驗(yàn)條件下,知識(shí)蒸餾策略訓(xùn)練模型能有效提高模型識(shí)別準(zhǔn)確率;
(3)蒸餾溫度對(duì)模型影響的試驗(yàn)表明,當(dāng)蒸餾溫度T為15時(shí),模型識(shí)別準(zhǔn)確率達(dá)到93.59%,識(shí)別效果達(dá)到最優(yōu)。
本研究研究提出一種輕量級(jí)殘差網(wǎng)絡(luò)模型構(gòu)建方法,融合遷移學(xué)習(xí)和知識(shí)蒸餾,構(gòu)建出ResNet13模型,實(shí)現(xiàn)模型的高精度化和輕量化,且滿足移動(dòng)端設(shè)備的實(shí)時(shí)性與高精度性需求,在馬鈴薯葉片病害識(shí)別方面具有優(yōu)越性能,可為農(nóng)作物病
害識(shí)別模型部署在物聯(lián)網(wǎng)和移動(dòng)端設(shè)備上提供新的方法和思路。
參考文獻(xiàn):
[1]黨滿意,孟慶魁,谷 芳,等. 基于機(jī)器視覺(jué)的馬鈴薯晚疫病快速識(shí)別[J]. 農(nóng)業(yè)工程學(xué)報(bào),2020,36(2):193-200.
[2]彭學(xué)文,朱杰華. 河北省馬鈴薯真菌病害種類及分布[J]. 中國(guó)馬鈴薯,2008,22(1):31-33.
[3]張 萌,錢(qián) 蓉,朱靜波,等. 農(nóng)作物害蟲(chóng)圖像識(shí)別研究進(jìn)展與展望[J]. 安徽農(nóng)業(yè)科學(xué),2018,46(34):11-12,15.
[4]周 竹,黃 懿,李小昱,等. 基于機(jī)器視覺(jué)的馬鈴薯自動(dòng)分級(jí)方法[J]. 農(nóng)業(yè)工程學(xué)報(bào),2012,28(7):178-183.
[5]王曉峰,黃德雙,杜吉祥,等. 葉片圖像特征提取與識(shí)別技術(shù)的研究[J]. 計(jì)算機(jī)工程與應(yīng)用,2006,42(3):190-193.
[6]馬 玲. 基于深度學(xué)習(xí)的蘋(píng)果葉面病害識(shí)別方法研究[D]. 西安:西京學(xué)院,2021.
[7]Prabhakar M,Purushothaman R,Awasthi D P. Deep learning based assessment of disease severity for early blight in tomato crop[J]. Multimedia Tools and Applications,2020,79(39):28773-28784.
[8]王東方,汪 軍. 基于遷移學(xué)習(xí)和殘差網(wǎng)絡(luò)的農(nóng)作物病害分類[J]. 農(nóng)業(yè)工程學(xué)報(bào),2021,37(4):199-207.
[9]杜甜甜,南新元,黃家興,等. 改進(jìn)RegNet識(shí)別多種農(nóng)作物病害受害程度[J]. 農(nóng)業(yè)工程學(xué)報(bào),2022,38(15):150-158.
[10]鮑文霞,孫 慶,胡根生,等. 基于多路卷積神經(jīng)網(wǎng)絡(luò)的大田小麥赤霉病圖像識(shí)別[J]. 農(nóng)業(yè)工程學(xué)報(bào),2020,36(11):174-181.
[11]余小東,楊孟輯,張海清,等. 基于遷移學(xué)習(xí)的農(nóng)作物病蟲(chóng)害檢測(cè)方法研究與應(yīng)用[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2020,51(10):252-258.
[12]Pujari J D,Yakkundimath R,Byadgi A S. Image processing based detection of fungal diseases in plants[J]. Procedia Computer Science,2015,46:1802-1808.
[13]You N S,Dong J W. Examining earliest identifiable timing of crops using all available Sentinel 1/2 imagery and Google Earth Engine[J]. ISPRS Journal of Photogrammetry and Remote Sensing,2020,161:109-123.
[14]He K M,Zhang X Y,Ren S Q,et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas,NV,USA.IEEE,2016:770-778.
[15]彭 寧. 基于改進(jìn)的Faster R-CNN的車牌識(shí)別技術(shù)研究[D]. 哈爾濱:哈爾濱理工大學(xué),2021.
[16]周 婕,馬明棟. 基于改進(jìn)的ResNet網(wǎng)絡(luò)的人臉表情識(shí)別[J]. 計(jì)算機(jī)技術(shù)與發(fā)展,2022,32(1):25-29.
[17]Pan S J,Yang Q. A survey on transfer learning[J]. IEEE Transactions on Knowledge and Data Engineering,2010,22(10):1345-1359.
[18]王艷玲,張宏立,劉慶飛,等. 基于遷移學(xué)習(xí)的番茄葉片病害圖像分類[J]. 中國(guó)農(nóng)業(yè)大學(xué)學(xué)報(bào),2019,24(6):124-130.
[19]孫 俊,朱偉棟,羅元秋,等. 基于改進(jìn)MobileNet-v2的田間農(nóng)作物葉片病害識(shí)別[J]. 農(nóng)業(yè)工程學(xué)報(bào),2021,37(22):161-169.
[20]劉 冰. 面向小樣本的特定標(biāo)識(shí)檢測(cè)[D]. 天津:中國(guó)民航大學(xué),2019.
[21]邵仁榮,劉宇昂,張 偉,等. 深度學(xué)習(xí)中知識(shí)蒸餾研究綜述[J]. 計(jì)算機(jī)學(xué)報(bào),2022,45(8):1638-1673.
[22]Hinton G,Vinyals O,Dean J. Distilling the knowledge in a neural network[EB/OL]. 2015:arXiv:1503.02531.https://arxiv.org/abs/1503.02531.pdf.
[23]Frankle J,Carbin M.The Lottery Ticket Hypothesis:Finding Sparse,Trainable Neural Networks[DB/OL]. USA:Cornell University,2018.[2023-07-24]. arXiv:1803.03635.