楊波,何金平,張立娜
(1. 長(zhǎng)春財(cái)經(jīng)學(xué)院信息工程學(xué)院,長(zhǎng)春市,130122; 2. 吉林農(nóng)業(yè)大學(xué)信息技術(shù)學(xué)院,長(zhǎng)春市,130118)
水稻是禾本科一年生水生草本植物,原產(chǎn)于中國(guó),是亞洲熱帶種植最廣泛的重要谷物。全球一半以上的人口以稻米為主要食物來(lái)源,近年來(lái)消費(fèi)者對(duì)優(yōu)質(zhì)稻米的需求正在不斷增長(zhǎng)。但是水稻在種植過(guò)程中極易發(fā)生病害,水稻病害是水稻降低產(chǎn)量的主要因素之一[1-3],水稻每年因病害所造成的經(jīng)濟(jì)損失巨大[4],因此快速識(shí)別發(fā)現(xiàn)水稻病害類型并提供后續(xù)的解決治療方案極其重要。
目前基于深度學(xué)習(xí)且應(yīng)用比較廣泛的目標(biāo)檢測(cè)算法[5-15]分為兩類:(1)雙步目標(biāo)檢測(cè)算法two-stage:如Fast R-CNN[5]、Faster-RCNN[6-8]、Mask R-CNN[9-10]等這些模型都是將目標(biāo)檢測(cè)分為兩個(gè)階段,首先使用區(qū)域候選網(wǎng)絡(luò)(RPN)提取候選目標(biāo)區(qū)域信息,再利用高質(zhì)量的分類器進(jìn)行分類檢測(cè),最后使用檢測(cè)網(wǎng)絡(luò)完成對(duì)候選區(qū)域類別和位置的預(yù)測(cè)與識(shí)別,此類算法雖在檢測(cè)精度上有優(yōu)勢(shì),但是計(jì)算機(jī)消耗資源大,不利于在嵌入式等設(shè)備上進(jìn)行實(shí)時(shí)檢測(cè)。(2)單步目標(biāo)檢測(cè)算法one-stage:如R-FCN[11]、SSD[12]、YOLO[13]、YOLOv3[14-15]、YOLOv4[16]等此類算法將提取候選區(qū)域和進(jìn)行分類兩個(gè)任務(wù)融合到一個(gè)網(wǎng)絡(luò)中,不使用RPN和預(yù)定的邊界框來(lái)進(jìn)行尋找目標(biāo)物體,通過(guò)卷積核直接計(jì)算卷積網(wǎng)絡(luò)中特征的類別分?jǐn)?shù)和位置偏差,此類算法在計(jì)算效率上有優(yōu)勢(shì),具備更快的檢測(cè)速度。
目前國(guó)內(nèi)在植物分類識(shí)別領(lǐng)域的研究已經(jīng)取得一定的進(jìn)展,呂石磊等[17]提出一種基于改進(jìn)YOLOv3-LITE輕量級(jí)神經(jīng)網(wǎng)絡(luò)的柑橘識(shí)別方法,使用MobileNet-v2作為該模型的骨干網(wǎng)絡(luò)并使用混合訓(xùn)練與遷移學(xué)習(xí)結(jié)合的預(yù)訓(xùn)練方式來(lái)提高模型的泛化能力。曹躍騰等[18]提出一種基于改進(jìn)ResNet模型的輕量化植物葉片病蟲(chóng)害識(shí)別算法Simplify-ResNet,使用5×5卷積和殘差塊的瓶頸結(jié)構(gòu)以及模型剪枝來(lái)處理訓(xùn)練后的模型,識(shí)別準(zhǔn)確率為92.45%。鮑文霞等[19]提出一種基于輕量型殘差網(wǎng)絡(luò)LW-ResNet的自然場(chǎng)景水稻害蟲(chóng)識(shí)別方法,LW-ResNet網(wǎng)絡(luò)在特征提取模塊減少了殘差塊的數(shù)量,在注意力子模塊中采用深度可分離卷積,減少了浮點(diǎn)運(yùn)算量,實(shí)現(xiàn)了模型的輕量化。孫俊等[20]提出一種空洞卷積與全局池化相結(jié)合的多尺度特征融合卷積神經(jīng)網(wǎng)絡(luò)識(shí)別模型,通過(guò)對(duì)卷積層的輸入數(shù)據(jù)進(jìn)行批歸一化處理,加速了網(wǎng)絡(luò)收斂,進(jìn)一步縮減特征圖數(shù)目,并采用全局池化的方法減少特征數(shù),上述研究為本文的水稻病害葉片的識(shí)別提供了參考。
本文以單步目標(biāo)檢測(cè)算法的深度卷積神經(jīng)網(wǎng)絡(luò)YOLOv5為基礎(chǔ),對(duì)YOLOv5的結(jié)構(gòu)進(jìn)行改進(jìn)。將水稻病害數(shù)據(jù)集中的病害葉片作為訓(xùn)練和檢測(cè)的目標(biāo),探究改進(jìn)后的YOLOv5模型在實(shí)際場(chǎng)景下對(duì)不同病害類別葉片的識(shí)別率與準(zhǔn)確率;將改進(jìn)后的YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)與ResNet-34網(wǎng)絡(luò)模型進(jìn)行對(duì)比試驗(yàn)。
本文采用佳能EOS1500d單鏡頭反光照相機(jī),針對(duì)同一個(gè)品種水稻進(jìn)行數(shù)據(jù)采集,并對(duì)采集的樣本進(jìn)行人工篩選,所采集圖像均為自然正常生長(zhǎng)狀態(tài)下的水稻葉片圖像。為了滿足水稻病害數(shù)據(jù)的普遍性和多樣性,選取了水稻常見(jiàn)的三種病害:白葉枯病(Bacterial leaf blight)、褐斑病(Brown spot)、稻瘟病(Rice blast)和健康(Healthy)葉片4種對(duì)象來(lái)構(gòu)建數(shù)據(jù)集。原始圖像共476張,圖像分辨率為300像素×300像素、300像素×500像素。
由于水稻病害隨著時(shí)間的變化,在真實(shí)自然環(huán)境下其病害葉片的紋理、顏色等特征會(huì)呈現(xiàn)出季節(jié)性、隨機(jī)性的特點(diǎn),因此難以搜集齊完整的病害葉片樣本。同時(shí),為了擴(kuò)大樣本數(shù)量以提高模型訓(xùn)練的精度并防止卷積神經(jīng)網(wǎng)絡(luò)過(guò)擬合線性,本文采用HSV顏色處理、改變色溫、高斯模糊和椒鹽噪聲等基于幾何變換的數(shù)據(jù)增強(qiáng)。將樣本數(shù)據(jù)集按10∶2∶1比例劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。對(duì)白枯葉病樣本數(shù)據(jù)增強(qiáng)后圖像如圖1所示。經(jīng)過(guò)數(shù)據(jù)增強(qiáng)的數(shù)據(jù)集分布情況如表1所示。

(a) 原圖

(b) HSV

(c) 不等比例縮放

(d) 等比例縮放

(e) 改變色溫

(f) 高斯模糊

圖1 數(shù)據(jù)增強(qiáng)處理Fig. 1 Data enhancement processing

表1 數(shù)據(jù)集分布情況Tab. 1 Data set distribution 張
YOLOv3之前的YOLO模型采用K-means和遺傳算法對(duì)自定義數(shù)據(jù)集進(jìn)行分析,從而獲得自定義數(shù)據(jù)集中目標(biāo)對(duì)象的預(yù)設(shè)定錨框。而YOLOv5的預(yù)設(shè)定框是基于在訓(xùn)練水稻數(shù)據(jù)集時(shí)自動(dòng)學(xué)習(xí)的,由于目標(biāo)框架需要縮放自定義水稻病害葉數(shù)據(jù)集中原始圖片的尺寸,并且數(shù)據(jù)集中原始圖片尺寸小于原YOLO的標(biāo)準(zhǔn)輸入尺寸640×640,因此在YOLOv5設(shè)置了自適應(yīng)錨定框(Auto Learning Bounding Box Anchors)。YOLOv5使用了跨階段局部網(wǎng)CSPDarknet53作為Backbone網(wǎng)絡(luò),在借鑒了殘差網(wǎng)絡(luò)的思路:在部分層之間設(shè)置捷徑連接(Shortcut connection)的同時(shí),還借鑒了DenseNet的思想:疊加(Concat)前面所有層的特征映射圖,通過(guò)Dense block發(fā)送到后面的網(wǎng)絡(luò)層,進(jìn)行密集連接,從而將前層的特征映射圖分離出來(lái),實(shí)現(xiàn)特征重用,即減少模型參數(shù)數(shù)目、尺寸和FLOPS數(shù)值,還保證了推理速度和準(zhǔn)確率,同時(shí)還有效緩解反向傳播中的梯度消失、梯度爆炸等問(wèn)題。
在YOLOv5中使用基于Mask R-CNN的FPN框架和路徑聚合網(wǎng)絡(luò)(PANET)作為Neck來(lái)聚合特征,將原FPN結(jié)構(gòu)改進(jìn)為一種新增強(qiáng)的自下向上路徑的FPN結(jié)構(gòu),并用3×3卷積來(lái)處理前一階段的特征映射。同時(shí)使用自適應(yīng)特征池化(Adaptive feature pooling)恢復(fù)每個(gè)候選區(qū)域和所有特征層次之間被破壞的信息路徑,聚合每個(gè)特征層次上的候選區(qū)域,從而增強(qiáng)底層特征的傳播。
2.2.1 隨機(jī)梯度下降SGD
YOLOv5默認(rèn)的優(yōu)化器(Optimizer)是隨機(jī)梯度下降SGD(Stochastic Gradient Descent ),其更新規(guī)則:每次更新時(shí)對(duì)單個(gè)樣本使用梯度下降更新,一次只進(jìn)行一個(gè)樣本的更新。SGD算法一次只進(jìn)行隨機(jī)單個(gè)樣本的迭代更新,使得SGD并不是每次迭代都向著整體最優(yōu)化方向,準(zhǔn)確率會(huì)降低。同時(shí)SGD還需預(yù)先設(shè)置一個(gè)合適的學(xué)習(xí)率lr,當(dāng)預(yù)設(shè)的lr過(guò)小,會(huì)導(dǎo)致網(wǎng)絡(luò)在深層訓(xùn)練時(shí)收斂速度過(guò)慢;預(yù)設(shè)的lr過(guò)大,會(huì)導(dǎo)致在訓(xùn)練過(guò)程中優(yōu)化的幅度跳出函數(shù)的范圍(最優(yōu)點(diǎn)),因此選擇一個(gè)自適應(yīng)學(xué)習(xí)算法來(lái)解決上述問(wèn)題。
2.2.2 自適應(yīng)矩估計(jì)Adam
自適應(yīng)矩估計(jì)Adam(Adaptive Moment Estimation)[21]作為SGD-M和RMSprop的結(jié)合體,融合了動(dòng)量和自適應(yīng)的優(yōu)點(diǎn),是一種計(jì)算每個(gè)參數(shù)的自適應(yīng)學(xué)習(xí)率的優(yōu)化方法。Adam利用梯度的一階矩估計(jì)和二階矩估計(jì)來(lái)動(dòng)態(tài)的調(diào)整學(xué)習(xí)率,來(lái)進(jìn)行修正偏差,其計(jì)算過(guò)程如下。
mt=β1mt-1+(1-β1)gt
(1)
vt=β2vt-1+(1-β2)gt2
(2)
式中:mt——一階動(dòng)量,梯度的第一矩,各個(gè)時(shí)刻梯度方向的指數(shù)移動(dòng)平均值;
vt——二階動(dòng)量,梯度第二矩(無(wú)中心方差)的估計(jì)值,代表所有梯度值的平方和;
gt——當(dāng)前參數(shù)的梯度。
當(dāng)mt和vt被初始化為0向量時(shí),mt和vt就會(huì)向0偏置,所以需要經(jīng)過(guò)式(3)和式(4)來(lái)偏差校正第一和第二階矩估計(jì)值來(lái)抵消這些偏差。
(3)
(4)





(5)

(6)

(7)
式中:θt——當(dāng)前待優(yōu)化的參數(shù);
ε——平衡因子;
η——學(xué)習(xí)率。
超參數(shù)設(shè)定值:一階動(dòng)量衰減系數(shù)β1=0.9;二階動(dòng)量衰減系數(shù)β2=0.999;設(shè)置平衡因子ε=10-8來(lái)保持?jǐn)?shù)值穩(wěn)定。
SPP-x模塊的改進(jìn)策略:原YOLOv5中的SPP模塊是將5×5、9×9、13×13三個(gè)不同尺寸的MaxPool層并行連接,并借鑒了殘差網(wǎng)絡(luò)中的捷徑連接思想,然后做進(jìn)一步融合,在一定程度上解決了目標(biāo)多尺度問(wèn)題。項(xiàng)目組將SPP模塊三個(gè)不同尺寸大小的MaxPool層,改成三個(gè)尺寸相同的5×5MaxPool層連接,最后借鑒卷積映射思想,連接一個(gè)1×1卷積層,調(diào)整輸出尺寸大小,改進(jìn)前后模塊如圖2所示。替換SPP-x模塊后完整YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)圖如圖3所示。

(a) 原SPP模塊結(jié)構(gòu)

(b) SPP-x模塊結(jié)構(gòu)圖圖2 SPP和SPP-x模塊結(jié)構(gòu)圖Fig. 2 SPP and SPP-x module structure diagram

圖3 YOLOv5整體網(wǎng)絡(luò)結(jié)構(gòu)Fig. 3 YOLOv5 overall network structure
優(yōu)化后的SPP-x模塊中兩個(gè)5×5MaxPool層與原來(lái)一個(gè)9×9MaxPool層計(jì)算輸出結(jié)果相同,三個(gè)連接的5×5MaxPool層與原來(lái)一個(gè)13×13MaxPool層計(jì)算輸出結(jié)果相同。為保證試驗(yàn)公平以及驗(yàn)證試驗(yàn)結(jié)果的準(zhǔn)確性,在試驗(yàn)中將SPP-x模塊最后的1×1卷積層刪除,只對(duì)比了只含有MaxPool層改進(jìn)前后的兩個(gè)模塊。試驗(yàn)數(shù)據(jù)如表2所示。

表2 模塊參數(shù)設(shè)置與運(yùn)算時(shí)間Tab. 2 Module parameter setting and calculation time
表2試驗(yàn)結(jié)果表明,原SPP模塊的運(yùn)算時(shí)間為0.483 6 s, SPP-x模塊運(yùn)算時(shí)間為0.226 4 s。SPP-x模塊的平均運(yùn)算時(shí)間減少了50%,計(jì)算速度比原模塊更快。
傳統(tǒng)優(yōu)化深度卷積神經(jīng)網(wǎng)絡(luò)的思路幾乎都是根據(jù)卷積計(jì)算公式原理來(lái)不斷疊加網(wǎng)絡(luò)層數(shù),隨著網(wǎng)絡(luò)深度的增加,當(dāng)深層次的網(wǎng)絡(luò)開(kāi)始收斂時(shí),訓(xùn)練時(shí)產(chǎn)生的誤差會(huì)使得:當(dāng)平均精度mAP達(dá)到飽和后,會(huì)迅速下降,使得學(xué)習(xí)的方向偏離最優(yōu)方向,并沒(méi)有淺層的網(wǎng)絡(luò)模型訓(xùn)練效果好。因此在不引入額外參數(shù),也不引入計(jì)算復(fù)雜度的條件下,文獻(xiàn)[22]提出了直接映射和卷積映射2種映射方法,在理論上使得模型在訓(xùn)練時(shí)學(xué)習(xí)到的結(jié)果不會(huì)比原結(jié)果差,并且會(huì)優(yōu)先訓(xùn)練淺層的網(wǎng)絡(luò)模型,再逐步訓(xùn)練深層的網(wǎng)絡(luò)模型。(1) 直接映射:當(dāng)輸入尺寸和輸出特征參數(shù)、尺寸相同時(shí),可以直接進(jìn)行相加映射。(2) 卷積映射:當(dāng)輸入輸出不同時(shí),為滿足輸出特征個(gè)數(shù)、尺寸與輸入相同,加上一個(gè)1×1卷積來(lái)增加維度,以匹配尺寸,使得輸入輸出一致。
為降低ResNet網(wǎng)絡(luò)模型參數(shù)數(shù)目,對(duì)殘差塊進(jìn)行優(yōu)化,即將兩個(gè)3×3串聯(lián)的卷積層瓶頸結(jié)構(gòu)替換成1×1、3×3、1×1串聯(lián)的卷積層。在卷積核參數(shù)改進(jìn)的基礎(chǔ)上,結(jié)合直接映射和卷積映射構(gòu)建出新的卷積模塊,如圖4所示。新結(jié)構(gòu)中3×3卷積層首先通過(guò)第一層1×1卷積把256維channel降到64維,然后在下一層的1×1卷積做出還原,從而保證精度。對(duì)比兩種卷積核整體參數(shù)數(shù)目可知:修改前為3×3×256×256+3×3×256×256=1 179 648;修改后為1×1×256×64+3×3×64×64+1×1×64×256=69 632,數(shù)量相差16.94倍。

(a) 修改前模塊

(b) 修改后模塊圖4 卷積核Fig. 4 Convolution kernel module
基于卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)架構(gòu)以及卷積核的改進(jìn),通過(guò)2種映射方式交替更迭構(gòu)建出了ResNet-34模型結(jié)構(gòu),改進(jìn)后的模型網(wǎng)絡(luò)結(jié)構(gòu)圖如5所示。

圖5 改進(jìn)后的ResNet-34網(wǎng)絡(luò)模型結(jié)構(gòu)Fig. 5 Improved ResNet-34 network model
本文分別在YOLOv5中設(shè)置兩種優(yōu)化器SGD和Adam,并隨機(jī)選取水稻病害葉片數(shù)據(jù)集中754幅圖像,在相同的網(wǎng)絡(luò)層數(shù)下訓(xùn)練400輪epochs=400。SGD初始學(xué)習(xí)率lr0=0.01;Adam的lr0=0.001。為控制模型一致,保持訓(xùn)練數(shù)據(jù)batch size一致,并且關(guān)閉shuffle,其余超參數(shù)循環(huán)學(xué)習(xí)率lrf=0.2,學(xué)習(xí)率動(dòng)量momentum=0.937等均設(shè)置相同,模型其余部分已經(jīng)盡量保持一致。
YOLOv5的最終損失函數(shù)Lall=λ1Lobj+λ2Lcla+λ3Lloc,主要由目標(biāo)損失Lobj、分類損失Lcla和定位損失Lloc三部分損失加權(quán)求和組成,其中Lobj和Lcla均采用BCEWithLogits loss計(jì)算,Lobj計(jì)算所有樣本的目標(biāo)損失,Lcla只計(jì)算正樣本的分類損失,其計(jì)算公式如式(8)所示。
Lobj=Lcla
(8)

xi、yi——將訓(xùn)練樣本分割成網(wǎng)格后的坐標(biāo)位置。
其中定位損失Lloc采用CIoU loss計(jì)算,只計(jì)算正樣本的定位損失,計(jì)算公式如式(9)所示。
Lloc=CIoU_loss
(9)
(10)
(11)
式中:λ1、λ2、λ3——多任務(wù)損失函數(shù)權(quán)重;
B、w、h——中心點(diǎn)、寬、高;
c——預(yù)測(cè)框pre和真實(shí)框gt最小閉包區(qū)域?qū)蔷€距離;
v——預(yù)測(cè)框和真實(shí)框長(zhǎng)寬比例差值的歸一化;
α——平衡因子,長(zhǎng)由于寬造成的損失和IoU部分造成的損失之間的比值。
為了驗(yàn)證兩種優(yōu)化器的性能,項(xiàng)目組在pytorch中的對(duì)同一網(wǎng)絡(luò)YOLOv5進(jìn)行試驗(yàn),并比較了兩種模型的交叉熵?fù)p失函數(shù)和精準(zhǔn)率,隨著訓(xùn)練層數(shù)epoch收斂變化的情況,如圖6所示。

(a) 訓(xùn)練集定位損失值

(b) 訓(xùn)練集分類損失值

(c) 訓(xùn)練集目標(biāo)損失值

(d) 精準(zhǔn)率圖6 優(yōu)化器的性能對(duì)比圖Fig. 6 Performance comparison diagram of the optimizer
試驗(yàn)用相同數(shù)量的超參數(shù)來(lái)調(diào)參SGD和Adam模型,在本文的水稻病害葉訓(xùn)練集上,Adam模型的定位損失Lloc和分類損失Lcla在第3輪就開(kāi)始分別就收斂于0.07和0.02,雖然SGD模型對(duì)應(yīng)的loss值收斂于0.05和0.01均比Adam模型低,但卻是從第10輪左右開(kāi)始收斂;在訓(xùn)練前期SGD模型Lloc、Lcla一直單調(diào)減,出現(xiàn)了較大坡度的下降趨勢(shì),未出現(xiàn)收斂趨勢(shì),而Adam模型的定位和分類loss值呈現(xiàn)上下波動(dòng),開(kāi)始出現(xiàn)收斂趨勢(shì)。雖然SGD在train集上的loss最終收斂值均分別比Adam低1.5%、0.8%,但是Adam的收斂速度明顯優(yōu)于SGD。并且從圖6(c)可看出Adam模型目標(biāo)損失值Lobj整體呈現(xiàn)收斂趨勢(shì),SGD依舊出現(xiàn)了先下降后收斂的現(xiàn)象,同時(shí)由圖6(d)可看出Adam模型的精準(zhǔn)率最終收斂于97%,而SGD模型的精準(zhǔn)率收斂于95%,Adam比SGD模型高2%,所以當(dāng)需要訓(xùn)練較小的自定義水稻病害葉片數(shù)據(jù)集,Adam是更合適的選擇。
模型的Precision和Recall數(shù)據(jù)結(jié)果如圖7所示。

(b) 召回率圖7 精準(zhǔn)率和召回率Fig. 7 Precision and Recall
試驗(yàn)將水稻葉片病害數(shù)據(jù)集中4種不同類別共4 401幅圖像一起進(jìn)行訓(xùn)練。通過(guò)對(duì)比改進(jìn)后的YOLOv5和ResNet-34神經(jīng)網(wǎng)絡(luò)模型,來(lái)探究找出最合適進(jìn)行水稻葉片病害識(shí)別的模型,并應(yīng)用到實(shí)踐當(dāng)中。為科學(xué)地評(píng)估兩個(gè)的模型的性能,引入精準(zhǔn)率Precision、召回率Recall作為衡量改進(jìn)后的YOLOv5和ResNet-34模型性能的主要指標(biāo),初始學(xué)習(xí)率lr0=0.01,anchor=4,采用Adam優(yōu)化器(weight_decay=5×10-5)。經(jīng)過(guò)400次迭代,當(dāng)YOLOv5的3個(gè)損失函數(shù)取值小幅波滿足了閾值條件(IoU≥0.5),意味著網(wǎng)絡(luò)模型已經(jīng)穩(wěn)定,然后輸出穩(wěn)定的YOLOv5網(wǎng)絡(luò)模型結(jié)構(gòu)。
對(duì)比精準(zhǔn)度發(fā)現(xiàn),YOLOv5在epoch=200開(kāi)始收斂,收斂于95.6%左右,ResNet-34在epoch=240時(shí)開(kāi)始收斂,收斂于89.8%附近,YOLOv5比ResNet-34模型高5.8%;對(duì)比召回率發(fā)現(xiàn),YOLOv5和ResNet-34分別在200,280開(kāi)始收斂,YOLOv5最終收斂于97.4%附近,而ResNet-34收斂于89.1%左右,YOLOv5整體比ResNet-34模型高8.3%,這表明改進(jìn)后的YOLOv5在性能上得到了一定程度的改善。
傳統(tǒng)目標(biāo)檢測(cè)結(jié)果Precision和Recall值呈現(xiàn)正相關(guān)分布,并且希望兩者值越高越好,但在特殊情況下會(huì)出現(xiàn)二者呈現(xiàn)負(fù)相關(guān)的極端情況(Precision值極高,Recall值極低或相反),致使無(wú)法判定神經(jīng)網(wǎng)絡(luò)的性能。
為了更加科學(xué)的評(píng)價(jià)改進(jìn)后的YOLOv5模型,本文引進(jìn)通過(guò)在水稻病害葉數(shù)據(jù)集計(jì)算得出的IoU設(shè)為0.5時(shí)的平均精度mAP_0.5和IoU∈[0.5, 0.95],步長(zhǎng)stride=0.05的mAP_0.5:0.95作為另外兩種衡量改進(jìn)后的YOLOv5性能指標(biāo),其結(jié)果如圖8所示。

圖8 mAP值圖Fig. 8 mAP of data
mAP_0.5和mAP_0.5:0.95分別收斂于0.983、0.822,二者相差0.161。主要原因?yàn)閙AP_0.5在水稻數(shù)據(jù)集中的4個(gè)類別在計(jì)算平均精準(zhǔn)度時(shí),將Precision-Recall曲線的橫軸坐標(biāo)平均分成10等份(精度低)和100等份(精度高),即使是在精度提高了10倍的情況下,mAP_0.5:0.95值依舊處于中上階段,這表明本文的水稻數(shù)據(jù)集中不良數(shù)據(jù)很少且改進(jìn)后的YOLOv5對(duì)水稻數(shù)據(jù)集訓(xùn)練效果良好。
本文將訓(xùn)練好的YOLOv5模型對(duì)測(cè)試集中4個(gè)樣本,標(biāo)簽名稱設(shè)置為白葉枯病blight、褐斑病spot、稻瘟病blast和健康healthy,共437幅圖像樣本進(jìn)行識(shí)別,每張識(shí)別結(jié)果圖給出類別置信度,單張圖片識(shí)別速度為0.34 s,部分樣本識(shí)別效果如圖9所示。

(a) 稻瘟病

(b) 褐斑病

(c) 白葉枯病

(d) 健康狀態(tài)圖9 識(shí)別效果圖Fig. 9 Recognition effect graphics
1) 本文提出一種基于改進(jìn)的YOLOv5模型,對(duì)自然環(huán)境下的水稻病害葉片進(jìn)行識(shí)別檢測(cè),首先通過(guò)將水稻原始圖像進(jìn)行數(shù)據(jù)增強(qiáng)操作,擴(kuò)增數(shù)據(jù)集。然后對(duì)YOLOv5模型中的SPP模塊進(jìn)行改進(jìn),并與原模塊進(jìn)行對(duì)比試驗(yàn)。同時(shí)替換YOLOv5中的優(yōu)化函數(shù)為Adam,試驗(yàn)分別比較Adam和SGD的YOLOv5在訓(xùn)練集上損失函數(shù)的收斂情況。最后將改進(jìn)后的YOLOv5與ResNet-34模型進(jìn)行對(duì)比試驗(yàn)。
2) 通過(guò)試驗(yàn)發(fā)現(xiàn),改進(jìn)后的SPP-x運(yùn)算時(shí)間僅為原SPP模塊的50%。同時(shí),通過(guò)比較SGD和Adam優(yōu)化器在訓(xùn)練集上3種損失函數(shù) 在訓(xùn)練前期的收斂速度和Precision值,表明Adam的收斂速度更快,且Adam的精準(zhǔn)率最終收斂值97%,比SGD優(yōu)化器高2%。將改進(jìn)后的YOLOv5模型和ResNet-34在相同數(shù)據(jù)集里訓(xùn)練迭代400輪比較發(fā)現(xiàn),基于SPP-x的YOLOv5模型的精準(zhǔn)率高5.8%,召回率高8.3%。同時(shí),YOLOv5自身的mAP_0.5和mAP_0.5:0.95兩項(xiàng)指標(biāo)分別達(dá)到了0.983、0.822,表明樣本數(shù)據(jù)集不良數(shù)據(jù)較少,且模型訓(xùn)練效果較好。通過(guò)對(duì)訓(xùn)練后的YOLOv5模型進(jìn)行實(shí)際應(yīng)用發(fā)現(xiàn),檢測(cè)效果比較理想,能夠達(dá)到輔助水稻病害識(shí)別診斷的目的。