王東方,汪 軍
(安徽工程大學(xué)計算機(jī)與信息學(xué)院,蕪湖 241000)
農(nóng)作物病害影響農(nóng)業(yè)產(chǎn)品質(zhì)量和產(chǎn)量,自動識別作物病害是一個重要課題。隨著農(nóng)業(yè)生產(chǎn)種植結(jié)構(gòu)不斷復(fù)雜化,農(nóng)業(yè)生產(chǎn)中所遇到的病害情況也越來越復(fù)雜,對農(nóng)作物的生長造成了嚴(yán)重的影響,快速、準(zhǔn)確地識別出農(nóng)作物病害種類并進(jìn)行及時防治,對于提高農(nóng)作物的質(zhì)量和產(chǎn)量至關(guān)重要。
傳統(tǒng)機(jī)器學(xué)習(xí)技術(shù)檢測農(nóng)作物病害種類通常分為圖像預(yù)處理、圖像分割、特征提取和分類4個階段[1-4]。在這一過程中,特征提取是一個難題,由于人為選擇特征需要大量的試驗(yàn)和經(jīng)驗(yàn),而且存在一定的主觀性。復(fù)雜的農(nóng)作物病害種類又加深了特征提取的難度。深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個分支,在計算機(jī)視覺領(lǐng)域應(yīng)用潛力巨大。卷積神經(jīng)網(wǎng)絡(luò)能夠從輸入圖像中自動提取相關(guān)特征,相較于人為選擇的特征更加具有客觀語義性,減少了人為主觀性的影響。本文基于遷移學(xué)習(xí)并改進(jìn)深度殘差網(wǎng)絡(luò),創(chuàng)建自動檢測和分類農(nóng)作物病害種類的模型,以避免傳統(tǒng)方法依賴人工特征設(shè)計的問題。
Jia等[5]發(fā)布的大型數(shù)據(jù)集ImageNet為圖像識別研究提供了強(qiáng)有力的數(shù)據(jù)支撐。Krizhevsky等[6]提出的AlexNet卷積神經(jīng)網(wǎng)絡(luò)模型,在ImageNet比賽中獲得了冠軍,Top-5的錯誤率僅有15.3%,比第二名低10.8個百分點(diǎn)。AlexNet卷積神經(jīng)網(wǎng)絡(luò)的成功應(yīng)用極大地促進(jìn)了深度學(xué)習(xí)技術(shù)的發(fā)展,使得深度學(xué)習(xí)技術(shù)在多個領(lǐng)域得到廣泛應(yīng)用,例如人臉識別、語音識別、行人檢測等[7-11],也促進(jìn)了農(nóng)業(yè)生產(chǎn)活動朝著智能化的方向發(fā)展[12-15]。龍滿生等[16]針對油茶的5種不同病害,構(gòu)建了基于卷積神經(jīng)網(wǎng)絡(luò)AlexNet與遷移學(xué)習(xí)的模型,在自建的數(shù)據(jù)集上,準(zhǔn)確率達(dá)到了96.5%。趙立新等[17]以棉花葉部病蟲害圖像為研究對象,利用遷移學(xué)習(xí)算法和數(shù)據(jù)增強(qiáng)技術(shù),通過改進(jìn)AlexNet模型,在自建的數(shù)據(jù)集上取得了97.16%的平均準(zhǔn)確率,實(shí)現(xiàn)棉花葉部病蟲害圖像準(zhǔn)確分類,顯示出了深度學(xué)習(xí)技術(shù)在農(nóng)業(yè)領(lǐng)域巨大的應(yīng)用潛力。Simonyan 等[18]提出VGG模型,使用小卷積核代替大卷積核,增加了通道數(shù),模型結(jié)構(gòu)簡單、應(yīng)用性強(qiáng)。Jia等[19]針對10種常見的番茄病蟲害,構(gòu)建了基于VGG-16和支持向量機(jī)(Support vector machine,SVM)的番茄病蟲害檢測模型,在包含7 040幅圖像的數(shù)據(jù)集上進(jìn)行訓(xùn)練和測試,平均分類準(zhǔn)確率達(dá)到89%。許景輝等[20]實(shí)現(xiàn)了小數(shù)據(jù)樣本復(fù)雜田間背景下的玉米病害圖像識別,提出了一種基于遷移學(xué)習(xí)和VGG-16網(wǎng)絡(luò)架構(gòu)的病害識別模型,對玉米健康葉、大斑病葉、銹病葉圖像的平均識別準(zhǔn)確率為95.33%。Szegedy等[21]提出GoogLeNet 模型,使用不同尺寸的卷積核融合不同尺度的特征信息,提高網(wǎng)絡(luò)的表達(dá)能力。Zhang等[22]使用改進(jìn)型的GoogLeNet網(wǎng)絡(luò)架構(gòu),對來自PlantVillage數(shù)據(jù)集和谷歌網(wǎng)站中包含9種類別的500張玉米圖片進(jìn)行模型訓(xùn)練和測試,識別準(zhǔn)確率達(dá)到98.9%。黃雙萍等[23]提出基于深度卷積神經(jīng)網(wǎng)絡(luò)GoogLeNet模型的水稻穗瘟病識別方法,在驗(yàn)證集上最高準(zhǔn)確率為92%。He等[24]提出ResNet模型,在模型中運(yùn)用殘差模塊有效緩解梯度彌散、梯度爆炸等問題。Picon等[25]針對小麥病害,構(gòu)建了基于遷移學(xué)習(xí)和ResNet-50的卷積神經(jīng)網(wǎng)絡(luò)模型,在自建的包含8 178幅圖像的數(shù)據(jù)集上進(jìn)行了模型訓(xùn)練和測試,對3種小麥病害的平均準(zhǔn)確率達(dá)到87%。Lecun 等[26]提出的LeNet模型是最早的卷積神經(jīng)網(wǎng)絡(luò)之一,確立了卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)。馬浚誠等[27]采用先分割再處理的思路,參考LeNet模型構(gòu)建了一款基于卷積神經(jīng)網(wǎng)絡(luò)的病害識別系統(tǒng),該系統(tǒng)對溫室黃瓜的病害識別,準(zhǔn)確率為95.7%。卷積神經(jīng)網(wǎng)絡(luò)模型的構(gòu)造方法和思想在不斷發(fā)展,Huang等[28]提出的DenseNet模型、Xie等[29]提出的ResNeXt模型和Hu等[30]提出的SENet模型都進(jìn)一步拓展了卷積神經(jīng)網(wǎng)絡(luò)的設(shè)計思路,為圖像識別研究提供了更多的參考。
以上研究中,單一農(nóng)作物種類病害識別模型存在一定的局限性。真實(shí)農(nóng)業(yè)生產(chǎn)環(huán)境下往往存在多種農(nóng)作物,僅識別單一物種難以應(yīng)對實(shí)際生產(chǎn)環(huán)境下復(fù)雜的種植結(jié)構(gòu)。本文對深度殘差網(wǎng)絡(luò)SE-ResNeXt-101模型進(jìn)行改進(jìn),并基于遷移學(xué)習(xí)提出一種農(nóng)作物病害圖像分類方法TL-SE-ResNeXt-101,用于不指定農(nóng)作物種類的病害檢測分類,并在重構(gòu)的AI Challenger 2018農(nóng)作物病害數(shù)據(jù)集上完成模型訓(xùn)練與試驗(yàn)。
遷移學(xué)習(xí)的實(shí)現(xiàn)方法分別為樣本遷移、特征遷移、模型遷移和關(guān)系遷移,本文采用模型遷移的方法,利用在ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練的SE-ResNeXt-101模型參數(shù)文件對TL-SE-ResNeXt-101模型網(wǎng)絡(luò)的權(quán)值進(jìn)行初始化,代替原先的隨機(jī)初始化操作,并進(jìn)行全局微調(diào),其余訓(xùn)練過程照常進(jìn)行。
更深更寬的網(wǎng)絡(luò)架構(gòu)意味著模型可以提取到的特征信息更豐富,更具有語義信息。ResNet模型運(yùn)用殘差模塊有效解決了網(wǎng)絡(luò)加深之后出現(xiàn)的梯度彌散和梯度爆炸問題。殘差模塊從形式上定義為
式中x和y分別表示殘差模塊的輸入和輸出;F(x,{Wi})為網(wǎng)絡(luò)要學(xué)習(xí)的殘差映射。
殘差模塊引入了一個恒等映射,如圖1所示,將原本網(wǎng)絡(luò)要學(xué)習(xí)的函數(shù)H(X)=X轉(zhuǎn)換成為H(X)=F(X)+X,該結(jié)構(gòu)提高了模型的表達(dá)能力,避免了網(wǎng)絡(luò)層數(shù)加深導(dǎo)致的退化問題,其中激活函數(shù)為線性整流單元(Rectified Linear Units,ReLU)。
考慮到深層次網(wǎng)絡(luò)的計算成本,ResNet模型對殘差模塊的結(jié)構(gòu)進(jìn)行了優(yōu)化。如圖2所示,對原結(jié)構(gòu)中2個3×3的卷積層進(jìn)行替換,在圖2b新結(jié)構(gòu)的中間3×3卷積層之前,使用1×1的卷積層進(jìn)行降維操作,在3×3卷積層之后使用另一個1×1的卷積層進(jìn)行升維還原。相比較圖2a的殘差結(jié)構(gòu),圖2b的結(jié)構(gòu)既保持了精度又減少了計算量和參數(shù)量。
GoogLeNet模型中提出的“Inception模塊”通過“分解-轉(zhuǎn)換-融合(Split-Transform-Merge)”的策略進(jìn)行網(wǎng)絡(luò)設(shè)計可以融合不同尺度的信息,增強(qiáng)模型的表達(dá)能力,提升模型性能。ResNeXt模型借鑒了這種網(wǎng)絡(luò)設(shè)計的思想對殘差模塊進(jìn)行了改進(jìn)。
ResNeXt網(wǎng)絡(luò)對殘差模塊的改進(jìn)過程如圖3所示,可以看到圖3b的殘差結(jié)構(gòu)將圖3a中的卷積層分解成了32組,在轉(zhuǎn)換計算之后將各組的結(jié)果融合。與“Inception模塊”不同的是分組卷積層使用了相同結(jié)構(gòu),而不是被設(shè)計成不同結(jié)構(gòu),因?yàn)槊總€分組都設(shè)計不同卷積核及網(wǎng)絡(luò)深度會導(dǎo)致參數(shù)迅速膨脹。相同結(jié)構(gòu)設(shè)計簡化了網(wǎng)絡(luò)結(jié)構(gòu)。圖3c為殘差結(jié)構(gòu)中分組卷積的簡潔表示形式,同時 ResNeXt網(wǎng)絡(luò)引入了新的超參數(shù)“cardinality”表示殘差結(jié)構(gòu)中卷積層的分組數(shù)量。根據(jù)分組數(shù)量自動將卷積層均分成相同卷積核及輸入輸出通道維度的結(jié)構(gòu),在圖3c中分組卷積使用的是32×4結(jié)構(gòu)的模板,即分組數(shù)量為32組,3×3卷積層輸入輸 出維度為4維。
在卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)中,通常在網(wǎng)絡(luò)最后使用幾層全連接層,再利用softmax函數(shù)進(jìn)行分類。全連接層參數(shù)量過多會導(dǎo)致模型變得非常復(fù)雜,同時可能造成模型出現(xiàn)過擬合現(xiàn)象,全局平均池化層的使用可以極大地減少網(wǎng)絡(luò)中的參數(shù),并且一定程度上防止過擬合,但是會忽略一些細(xì)節(jié)信息。
本文基于遷移學(xué)習(xí)和SE-ResNeXt-101模型提出TL-SE-ResNeXt-101模型。模型結(jié)構(gòu)如表1所示,整個網(wǎng)絡(luò)由卷積層、池化層、殘差模塊和全連接層構(gòu)成,其中殘差模塊采用的是32×4分組卷積結(jié)構(gòu)。表 1展示的網(wǎng)絡(luò)結(jié)構(gòu)中,括號內(nèi)是殘差模塊的構(gòu)建參數(shù)和結(jié)構(gòu),括號外部參數(shù)表示殘差模塊重復(fù)堆疊的數(shù)量。4組不同結(jié)構(gòu)的殘差模塊按照指定數(shù)量依次堆疊構(gòu)成模型的基本網(wǎng)絡(luò)架構(gòu),在原始網(wǎng)絡(luò)架構(gòu)中經(jīng)過全局平均池化層和輸出維度為1 000的全連接層,利用softmax函數(shù)進(jìn)行分類任務(wù)。對于農(nóng)作物病害這種細(xì)粒度分類需要更多的細(xì)節(jié)信息進(jìn)行判斷,所以本文對原始模型架構(gòu)做出改進(jìn),使用2個3×3卷積核步長為2的卷積層代替原始模型架構(gòu)中7×7的全局平均池化層,兩者具有相同的感受野,但卷積層可以保留更多的細(xì)節(jié)信息。同時在第二個卷積層后使用批量歸一化處理,以加速網(wǎng)絡(luò)收斂、提高分類精度,為了適用農(nóng)作物檢測分類任務(wù),將最后一個全連接層輸出維度設(shè)置為33,利用softmax函數(shù)進(jìn)行分類。
SE模塊是SE-ResNeXt模型中使用的一種注意力機(jī)制。如圖4所示,SE模塊在原始的殘差模塊結(jié)構(gòu)中加入一條路徑用以計算每條通道的權(quán)重。在殘差模塊之后使用全局平均池化層獲取每個通道的信息,2個全連接層分別使用ReLU和Sigmoid激活函數(shù),其中在第一個全連接層中進(jìn)行降維操作,降維比例在網(wǎng)絡(luò)中被設(shè)置為16。在模型訓(xùn)練中,每個殘差模塊的輸出通道經(jīng)過這條路徑學(xué)習(xí)到一組權(quán)重,對每條通道的輸出進(jìn)行加權(quán)計算,從而突出習(xí)得特征中的關(guān)鍵信息,抑制無用信息,增強(qiáng)模型的表達(dá)能力。
表1 TL-SE-ResNeXt-101網(wǎng)絡(luò)架構(gòu)Table 1 TL-SE-ResNeXt-101 network architecture
為了驗(yàn)證TL-SE-ResNeXt-101模型的有效性和適用性,本文進(jìn)行了作物病害分類對比試驗(yàn)。試驗(yàn)在百度AI studio平臺進(jìn)行,模型的訓(xùn)練和測試均在PaddlePaddle深度學(xué)習(xí)框架下完成。平臺的硬件環(huán)境:NVIDIA Tesla V100 GPU,16G顯存;Intel Xeon Gold 6271C @2.60GHz CPU,32G內(nèi)存。軟件環(huán)境:Python 3.7;PaddlePaddle 1.6.2。
試驗(yàn)所使用的農(nóng)作物病害數(shù)據(jù)集來自于AI Challenger 2018比賽,該數(shù)據(jù)集包含蘋果、櫻桃、玉米、葡萄、柑橘、桃樹、辣椒、馬鈴薯、草莓和番茄10種植物,27種病害和健康類別,按照“物種-病害-程度”共分為61個類別。由于該數(shù)據(jù)集的測試集標(biāo)簽沒有公開,本文對數(shù)據(jù)集進(jìn)行重構(gòu),以更好地訓(xùn)練和優(yōu)化模型;剔除含有多個葉片樣本且存在同時含有健康和其他病害類別情況的玉米和柑桔2個健康類別,以符合本文對作物病害單標(biāo)簽分類的設(shè)定;同時,為了緩解樣本不均衡問題對模型性能產(chǎn)生的影響,本文剔除了2個只包含一張圖片樣本的類別,并且將同一作物病害一般和嚴(yán)重程度的樣本混合在一起,相較于區(qū)分病害程度,更加準(zhǔn)確的區(qū)分出病害類別更為重要。數(shù)據(jù)集以“物種-病害”對的方式分為33個類別,共獲得35 332張不同尺寸的作物病害葉片圖像,所有圖片均為RGB格式保存的JPG圖片,按照8∶1∶1的比例劃分為訓(xùn)練集、驗(yàn)證集和測試集。其中訓(xùn)練集28 253個樣本,驗(yàn)證集3 532個樣本,測試集3 547個樣本。數(shù)據(jù)集中部分樣本圖像如圖5所示。
試驗(yàn)數(shù)據(jù)預(yù)處理包括圖片尺寸重定義、像素去均值化與歸一化處理。
本文將數(shù)據(jù)集中不同尺寸的圖片統(tǒng)一轉(zhuǎn)換為224×224×3,模型輸入維度的一致更便于比較各模型之間的性能。
對訓(xùn)練集中每張圖片的每個通道的像素值都減去全部訓(xùn)練集圖片的相同通道像素的均值,然后對每個通道像素進(jìn)行歸一化處理,從而減少計算量,同時也防止深度學(xué)習(xí)模型訓(xùn)練中出現(xiàn)的梯度爆炸,以加速模型收斂。
數(shù)據(jù)增強(qiáng)技術(shù)可以增加樣本的多樣性,降低模型對某些屬性的依賴,提升模型的性能和泛化能力。本文數(shù)據(jù)增強(qiáng)策略包括顏色增強(qiáng)、隨機(jī)旋轉(zhuǎn)、隨機(jī)裁剪和水平隨機(jī)翻轉(zhuǎn),樣本數(shù)據(jù)增強(qiáng)示例如圖6所示。其中顏色增強(qiáng)包括亮度調(diào)整、對比度調(diào)整、飽和度調(diào)整和色度調(diào)整,隨機(jī)旋轉(zhuǎn)是將圖片在-15°與15°之間隨機(jī)旋轉(zhuǎn),隨機(jī)裁剪是將圖片在0.1至1的比例之間任意裁剪一部分,再轉(zhuǎn)換為224×224的圖片尺寸,水平隨機(jī)翻轉(zhuǎn)是將圖片隨機(jī)翻轉(zhuǎn)為鏡像圖片,本文數(shù)據(jù)增強(qiáng)策略均以50%的概率隨機(jī)進(jìn)行。
2.5.1 VGG模型
VGG-16模型由13個卷積層和3個全連接層組成,網(wǎng)絡(luò)中的激活函數(shù)為ReLU,部分卷積層后面連接最大池化層。在VGG-16模型卷積層中,通過小卷積核的堆疊代替大卷積核,在感受野大小相同的前提下,堆疊小卷積核的方式可以大大減少模型參數(shù)。為了符合本文試驗(yàn)數(shù)據(jù)集中33個分類標(biāo)簽,對該模型的softmax分類器進(jìn)行修改。
2.5.2 GoogLeNet模型
GoogLeNet模型引入了Inception結(jié)構(gòu),該結(jié)構(gòu)使用多個不同尺寸的卷積核和池化層,融合不同尺度的特征信息。模型運(yùn)用1×1的卷積核對網(wǎng)絡(luò)降維以及映射處理,在增加網(wǎng)絡(luò)深度和寬度的同時減少模型參數(shù)。此外模型添加了2個輔助分類器幫助訓(xùn)練,對模型的softmax分類器進(jìn)行修改。
2.5.3 ResNet模型
ResNet-50模型中引入了殘差模塊,有效地解決了因神經(jīng)網(wǎng)絡(luò)層數(shù)加深導(dǎo)致的梯度彌散、梯度爆炸和退化問題。本文試驗(yàn)修改了模型softmax分類器以適用于農(nóng)作物病害圖像的檢測分類。
2.5.4 DenseNet模型
DenseNet模型是一種緊密連接的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。網(wǎng)絡(luò)之間以前饋的方式直接相連,最大限度地保證各層網(wǎng)絡(luò)之間的信息流動。從而緩解深層網(wǎng)絡(luò)中的梯度消失問題,提升了模型表達(dá)能力。針對農(nóng)作物病害分類任務(wù),本文構(gòu)建121層的模型DenseNet-121,修改模型的softmax分類器以符合本文分類任務(wù)。
超參數(shù)的設(shè)計對于模型訓(xùn)練及性能的影響至關(guān)重要,本試驗(yàn)超參數(shù)設(shè)計參考相關(guān)模型在類似數(shù)據(jù)集上的設(shè)計以及在本研究數(shù)據(jù)集上進(jìn)行的系列試驗(yàn),對超參數(shù)進(jìn)行統(tǒng)一化處理。
學(xué)習(xí)率是深度學(xué)習(xí)中重要的超參數(shù),合適的學(xué)習(xí)率可以使損失函數(shù)在較短的時間內(nèi)收斂到局部最小值,學(xué)習(xí)率設(shè)置太小會導(dǎo)致網(wǎng)絡(luò)收斂較慢,訓(xùn)練時間較長,設(shè)置太大可能會導(dǎo)致梯度在最小值附近震蕩,甚至無法收斂。本文采用指數(shù)標(biāo)尺選取0.000 1、0.001、0.01和0.1共4組學(xué)習(xí)率,經(jīng)過各個模型的反復(fù)試驗(yàn)之后,最終將學(xué)習(xí)率設(shè)置為0.000 1。
每個批次(Batch)訓(xùn)練樣本的數(shù)量大?。˙atch Size)也會影響模型的性能及速度。為了尋求內(nèi)存效率和內(nèi)存容量之間的最佳平衡,本試驗(yàn)選取了16、32、64、128和256的Batch Size進(jìn)行對比試驗(yàn),最終將Batch Size確定為64。
對于損失函數(shù)和優(yōu)化算法,本試驗(yàn)選擇交叉熵?fù)p失函數(shù)在模型訓(xùn)練中對比隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)、動量梯度下降(Gradient Descent with Momentum,Momentum)和自適應(yīng)矩估計(Adaptive Moment Estimation,Adam)優(yōu)化算法。Adam優(yōu)化算法適用于非凸優(yōu)化問題,計算效率高、內(nèi)存需求少。同時,本試驗(yàn)將一階矩估計的指數(shù)衰減率設(shè)為0.9,二階矩估計的指數(shù)衰減率設(shè)為0.999,L2正則化系數(shù)設(shè)為0.000 05。
相同條件下,對4種圖像識別模型與本文模型進(jìn)行比較。為了評價各個模型的性能,結(jié)合農(nóng)作物病害識別分類的特點(diǎn)和數(shù)據(jù)集的樣本狀況,本試驗(yàn)選擇平均準(zhǔn)確率(Average accuracy rate)和加權(quán)F1(Weighted-F1)作為模型性能的評價指標(biāo)。各模型均迭代60次,每迭代5次保存一次訓(xùn)練模型,結(jié)合各模型在測試集上的表現(xiàn),選擇最優(yōu)模型,結(jié)果如圖7所示。
從圖7中可以看出,本文提出的基于遷移學(xué)習(xí)的模型TL-SE-ResNeXt-101取得較低的損失值并且達(dá)到較高的準(zhǔn)確率,在訓(xùn)練集和驗(yàn)證集上,損失值分別為0.017和0.083,平均準(zhǔn)確率分別為99.24%和98.07%,分類效果優(yōu)于其他模型。在模型的損失和準(zhǔn)確率收斂方面,本文模型收斂速度最快,在第20次迭代左右趨于收斂,這說明相較于其他模型,TL-SE-ResNeXt-101能夠在更短的時間內(nèi)訓(xùn)練出最優(yōu)模型。收斂速度最慢的是DenseNet-121模型,在第50次迭代左右趨于收斂,并且驗(yàn)證集的損失和準(zhǔn)確率在訓(xùn)練的過程中存在一定的波動。其余模型在訓(xùn)練過程中相對穩(wěn)定,在第40次迭代左右趨于收斂??v觀各個模型的損失和準(zhǔn)確率收斂曲線,模型在驗(yàn)證集上的損失值略高于訓(xùn)練集,在驗(yàn)證集上的準(zhǔn)確率略低于訓(xùn)練集。
表3 為不同作物病害識別模型在測試集上的平均準(zhǔn)確率和加權(quán)F1值。由表3可知,各模型平均準(zhǔn)確率均在93%以上,說明深度學(xué)習(xí)模型應(yīng)用于農(nóng)作物病害檢測分類具有優(yōu)秀的表現(xiàn),并且各模型的加權(quán)F1值也達(dá)到93%以上,說明各模型在不同類別上的表現(xiàn)差異較小,相對均衡。本文模型基于遷移學(xué)習(xí)并將注意力機(jī)制運(yùn)用到卷積神經(jīng)網(wǎng)絡(luò)中,將不同的特征賦以不同權(quán)重,突出重要信息,抑制無用信息,在測試集上取得了98%的平均準(zhǔn)確率,加權(quán)F1值達(dá)到97.99%,優(yōu)于未改進(jìn)網(wǎng)絡(luò)架構(gòu)的TL-SE-ResNeXt-101模型,相較于VGG-16、GoogLeNet、ResNet-50和DenseNet-121模型分別提高了3.95%、4.12%、2.12%和4.26%。
在遷移學(xué)習(xí)方式下,由于加載了預(yù)訓(xùn)練模型,模型前端各層網(wǎng)絡(luò)均可獲得較好的訓(xùn)練參數(shù),在模型訓(xùn)練之初已經(jīng)接近最優(yōu)解。基于遷移學(xué)習(xí)的TL-SE-ResNeXt-101模型與未加遷移學(xué)習(xí)的SE-ResNeXt-101模型的損失與準(zhǔn)確率曲線如圖8所示,可以看出,遷移學(xué)習(xí)對加速網(wǎng)絡(luò)收斂有明顯的促進(jìn)作用,TL-SE-ResNeXt-101模型在訓(xùn)練初始時刻就已經(jīng)獲得較低的損失值和較高的準(zhǔn)確率,而且網(wǎng)絡(luò)迅速收斂,在第40次迭代左右,模型的平均準(zhǔn)確率便達(dá)到峰值,訓(xùn)練集上為99.24%,驗(yàn)證集上為98.07%。相比之下,SE-ResNeXt-101模型的損失和準(zhǔn)確率曲線收斂較慢,在第50次迭代左右,模型的準(zhǔn)確率才到達(dá)峰值,訓(xùn)練集上為97.82%,驗(yàn)證集上為97.25%。
2類模型在測試集上的平均準(zhǔn)確率和加權(quán)F1指標(biāo)如表4所示,可以看出,在遷移學(xué)習(xí)下,模型的性能有一定的提升,平均準(zhǔn)確率和加權(quán)F1均提高了約3個百分點(diǎn)。說明基于遷移學(xué)習(xí)的農(nóng)作物病害識別分類模型TL-SE-ResNeXt-101可以加速網(wǎng)絡(luò)收斂,減少模型訓(xùn)練時間。由于采用遷移學(xué)習(xí)的方式,預(yù)訓(xùn)練模型在有目的的訓(xùn)練下,已經(jīng)學(xué)習(xí)到相關(guān)上下文中有用的通用特征,當(dāng)模型參數(shù)遷移到作物病害識別任務(wù)只能進(jìn)行增量式學(xué)習(xí),不容易對新數(shù)據(jù)進(jìn)行過度擬合,因此具有良好的泛化能力,提高了模型準(zhǔn)確率。
表4 遷移學(xué)習(xí)模型與普通模型性能對比Table 4 Performances comparison of transfer learning model and ordinary model
表5 是本文模型在數(shù)據(jù)增強(qiáng)和沒有數(shù)據(jù)增強(qiáng)方式下的性能表現(xiàn),從表5中可以看出,在數(shù)據(jù)增強(qiáng)的方式下,模型性能有顯著的提升,平均準(zhǔn)確率和加權(quán)F1指標(biāo)均提高了約5個百分點(diǎn)。說明數(shù)據(jù)增強(qiáng)對于模型性能的提升有明顯的促進(jìn)作用,而且通過對圖像樣本進(jìn)行數(shù)據(jù)增強(qiáng),可以減少網(wǎng)絡(luò)模型對圖片中某些屬性的依賴,緩解訓(xùn)練階段中可能會出現(xiàn)的過擬合狀況,從而提高模型性能和泛化能力。
表5 基于數(shù)據(jù)增強(qiáng)遷移學(xué)習(xí)模型與普通遷移學(xué)習(xí)模型的性能對比Table 5 Performances comparison of data-enhanced transfer learning model and ordinary transfer learning model
使用PlantDoc數(shù)據(jù)集評價各模型對真實(shí)農(nóng)業(yè)生產(chǎn)環(huán)境下農(nóng)作物病害圖像分類性能。PlantDoc數(shù)據(jù)集是對互聯(lián)網(wǎng)上獲取的圖像進(jìn)行人工標(biāo)注的農(nóng)作物病害圖像數(shù)據(jù)集,涵蓋13種植物,27種病害和健康類別。本文選取與AI Challenger 2018數(shù)據(jù)集重合的作物病害類別,只保留真實(shí)農(nóng)業(yè)生產(chǎn)環(huán)境下的作物病害圖像樣本,共獲得981張作物病害圖像,包含16種作物病害類別(圖9)。
將PlantDoc數(shù)據(jù)集按照8∶2比例劃分為訓(xùn)練集和測試集,從不同角度評價各模型在測試集上的性能。
表6 不同模型在PlantDoc測試集的性能比較Table 6 Performances comparison of different models in PlantDoc test set
表6 是各模型在PlantDoc測試集上的性能表現(xiàn),從表6中可以看出,各模型的性能表現(xiàn)較差,平均準(zhǔn)確率和加權(quán)F1值分別在16%和13%以下。本文提出的TL-SE-ResNeXt-101模型表現(xiàn)最好,但平均準(zhǔn)確率僅為15.26%。由于實(shí)驗(yàn)室環(huán)境與真實(shí)農(nóng)業(yè)生產(chǎn)環(huán)境下拍攝的樣本圖像存在較大的差異,農(nóng)業(yè)生產(chǎn)環(huán)境下的樣本圖像背景更加復(fù)雜,更容易受到光照等其他外界條件的影響,所以各模型在PlantDoc測試集上性能表現(xiàn)均較實(shí)驗(yàn)室環(huán)境差。為了緩解因環(huán)境不同圖像樣本之間差異造成的影響,本文將在AI Challenger 2018數(shù)據(jù)集上訓(xùn)練后的模型繼續(xù)在PlantDoc訓(xùn)練集上訓(xùn)練。如表7所示,可以看出,各模型性能較未在PlantDoc訓(xùn)練集上訓(xùn)練的模型有很大的提高,VGG-16、GoogLeNet、ResNet-50、DenseNet-121和TL-SE-ResNeXt-101模型的平均準(zhǔn)確率分別提高了28.42%、30.52%、23.16%、14.74%和32.11%。說明利用真實(shí)農(nóng)業(yè)生產(chǎn)環(huán)境下作物病害圖像樣本進(jìn)行模型訓(xùn)練有助于提高模型在實(shí)際應(yīng)用環(huán)境下的性能。本文所提出的TL-SE-ResNeXt-101模型表現(xiàn)最好,平均準(zhǔn)確率達(dá)到了47.37%,真實(shí)農(nóng)業(yè)生產(chǎn)環(huán)境下對農(nóng)作物病害圖像分類效果優(yōu)于其他模型。
表7 在PlantDoc訓(xùn)練集訓(xùn)練的不同試驗(yàn)?zāi)P驮跍y試集的性能比較Table 7 Comparison of the performances of different experimental models trained in the PlantDoc training set in the test set
本文對深度殘差網(wǎng)絡(luò)模型SE-ResNeXt-101進(jìn)行改進(jìn),并基于遷移學(xué)習(xí)提出了一種農(nóng)作物病害分類模型TL-SE-ResNeXt-101,用于不指定農(nóng)作物病害種類的檢測分類,從而避免傳統(tǒng)方法依賴于耗時費(fèi)力的人工特征設(shè)計,提高模型對不同作物種類不同病害的檢測分類性能,增強(qiáng)模型在實(shí)際農(nóng)業(yè)生產(chǎn)環(huán)境復(fù)雜種植結(jié)構(gòu)下的應(yīng)用能力。在重構(gòu)的AI Challenger 2018農(nóng)作物病害數(shù)據(jù)集上,本文方法對不同作物種類不同病害的檢測分類平均準(zhǔn)確率均達(dá)到98%,加權(quán)F1分?jǐn)?shù)達(dá)到97.99%。結(jié)果表明,相同試驗(yàn)條件下,本文模型比VGG-16、GoogLeNet、ResNet-50和DenseNet-121模型分類效果更好,同時,對真實(shí)農(nóng)業(yè)生產(chǎn)環(huán)境下的圖像樣本亦有較好的分類效果,在PlantDoc測試集上平均準(zhǔn)確率達(dá)到47.37%。本文的對比試驗(yàn)說明遷移學(xué)習(xí)技術(shù)的運(yùn)用可以加速模型網(wǎng)絡(luò)收斂和提升模型性能,在較短的時間內(nèi)訓(xùn)練出更優(yōu)的模型。數(shù)據(jù)增強(qiáng)技術(shù)可以有效地降低模型對某些屬性的依賴,緩解模型訓(xùn)練中可能會出現(xiàn)的過擬合問題,對農(nóng)作物病害檢測分類模型性能和泛化能力的提升有明顯的促進(jìn)作用。
目前公開的農(nóng)作物數(shù)據(jù)集大多為背景簡單,病害單一的作物葉片圖像,而在真實(shí)環(huán)境下進(jìn)行現(xiàn)場檢測時,得到的往往是背景復(fù)雜且可能包含多種病害類型的作物圖像。下一步研究計劃收集更多真實(shí)環(huán)境的農(nóng)作物葉片圖像,進(jìn)一步豐富農(nóng)作物病害圖像數(shù)據(jù)集,優(yōu)化模型。同時,利用目標(biāo)檢測算法先識別葉片目標(biāo),限定區(qū)域,減少背景環(huán)境的影響,然后再對限定區(qū)域進(jìn)行農(nóng)作物病害的細(xì)粒度分類,提升模型性能和魯棒性,建立端到端的農(nóng)作物檢測分類模型,提高其實(shí)用價值。