李名博 任東悅 郭俊旺 衛(wèi)勇
摘要:在玉米病害的影響下,玉米產(chǎn)量下降,其中大部分病害癥狀均反映在玉米的葉片上。針對(duì)人工識(shí)別葉片費(fèi)時(shí)、費(fèi)力、準(zhǔn)確率低的問(wèn)題提出了一種基于改進(jìn)YOLOX-S網(wǎng)絡(luò)的玉米病害識(shí)別模型,并將該模型部署到Atlas 200DK開(kāi)發(fā)板中。該研究在YOLOX-S的基礎(chǔ)上添加了4個(gè)CBAM注意力機(jī)制模塊,其中3個(gè)注意力機(jī)制模塊添加到網(wǎng)絡(luò)的Backbone與Neck之間,第4個(gè)注意力機(jī)制模塊添加到SPPBottleneck的2次上采樣結(jié)果后,通過(guò)使用不同的權(quán)重來(lái)調(diào)整不同病害特征細(xì)節(jié)的重要程度,能夠提高模型收斂速度,有效提升模型的識(shí)別精度,并基于Atlas 200DK開(kāi)發(fā)板的特性及相關(guān)屬性,將改進(jìn)后的模型部署到開(kāi)發(fā)板當(dāng)中,實(shí)現(xiàn)了算法的移植。結(jié)果表明,改進(jìn)后的YOLOX-S網(wǎng)絡(luò)模型與YOLO v3、YOLO v4、Faster R-CNN 模型相比,在識(shí)別率與精確性方面有著顯著的優(yōu)勢(shì),與原模型相比,識(shí)別準(zhǔn)確率(mAP值)提高0.2百分點(diǎn),改進(jìn)后的YOLOX-S網(wǎng)絡(luò)模型對(duì)玉米病害的識(shí)別準(zhǔn)確率高達(dá)98.75%,并且部署到Atlas 200DK開(kāi)發(fā)板的模型仍然發(fā)揮良好的檢測(cè)性能,可以為識(shí)別玉米病害提供參考。
關(guān)鍵詞:病害識(shí)別;深度學(xué)習(xí);改進(jìn)型YOLOX-S;數(shù)據(jù)增強(qiáng);模型部署
中圖分類(lèi)號(hào):TP391.41? 文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1002-1302(2024)03-0237-10
進(jìn)入21世紀(jì),深度學(xué)習(xí)與人工智能技術(shù)迅速發(fā)展,許多學(xué)科都與人工智能有了交叉,由于深度學(xué)習(xí)在許多方面的成功運(yùn)用,目前已有許多學(xué)者把目光轉(zhuǎn)向了深度學(xué)習(xí)與農(nóng)業(yè)的融合。我國(guó)的玉米種植面積極其廣泛,因其具有極高的營(yíng)養(yǎng)價(jià)值,更是農(nóng)民收入的重要來(lái)源。然而,玉米在生長(zhǎng)的過(guò)程中也會(huì)產(chǎn)生各種病害:大斑病、小斑病、銹病、玉米紋枯病、玉米彎孢葉斑病等[1]。因此,利用深度學(xué)習(xí)技術(shù)對(duì)病害的不同類(lèi)型進(jìn)行有效分類(lèi),幫助農(nóng)民解決了大問(wèn)題,為這一問(wèn)題的求解打下了良好的基礎(chǔ)。目前,在農(nóng)業(yè)生產(chǎn)中使用深度學(xué)習(xí)的方法日益增多。經(jīng)過(guò)對(duì)CaffeNet模型的微調(diào),Hasan等對(duì)15種不同類(lèi)型的植物進(jìn)行了分類(lèi),其中包括13種病害、1種背景和1種正常葉子,每一種類(lèi)型的識(shí)別準(zhǔn)確率都超過(guò)91%[2]。Chen等將空間注意力理論與 DenseNet相結(jié)合,將玉米病害分類(lèi)的精度提高到98.96%,并將其與其他3種病葉進(jìn)行了比較[3]。另外,有些學(xué)者將多種深度學(xué)習(xí)模式與分類(lèi)方法相結(jié)合,或利用不同的技術(shù),將人工制造的特性與自動(dòng)特征相結(jié)合,從而提高了綜合結(jié)果。畢春光等根據(jù)BP神經(jīng)網(wǎng)絡(luò)容易陷入局部極小的缺點(diǎn),在此基礎(chǔ)上,利用貝葉斯神經(jīng)網(wǎng)絡(luò),提出了一種新的預(yù)測(cè)模型,并與傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行比較,試驗(yàn)證明,該方法具有較高的精確度,可達(dá)94.04%[4]。毛彥棟等針對(duì)玉米葉部病害圖像的顏色、紋理、形狀特征對(duì)病害影響的差異性,提出一種結(jié)合單特征下的SVM識(shí)別準(zhǔn)確率和識(shí)別結(jié)果的融合多特征玉米病害識(shí)別方法[5]。本研究在YOLOX-S的基礎(chǔ)上進(jìn)行改進(jìn),加入了4個(gè)CBAM注意力機(jī)制模塊,用來(lái)提高目標(biāo)檢測(cè)算法的識(shí)別率,采用Mosaic、MixUp、CutOut等數(shù)據(jù)增強(qiáng)方法,完成玉米病害的識(shí)別,并將改進(jìn)型YOLOX-S算法模型部署到Atlas 200DK中,對(duì)其效果進(jìn)行測(cè)試,發(fā)現(xiàn)GPU算法移植到Atlas 200DK上仍然擁有良好的檢測(cè)性能。
1 數(shù)據(jù)集的構(gòu)建
1.1 數(shù)據(jù)來(lái)源
試驗(yàn)時(shí)間為2022年9—12月,試驗(yàn)地點(diǎn)位于天津市西青區(qū)津靜公路22號(hào)天津農(nóng)學(xué)院工程技術(shù)學(xué)院。
本研究的試驗(yàn)數(shù)據(jù)主要來(lái)自于PlantVillage公共數(shù)據(jù)集,采用數(shù)據(jù)集中的3種玉米病害葉片與玉米健康葉片數(shù)據(jù)作為本研究的試驗(yàn)數(shù)據(jù)。病害種類(lèi)包括玉米葉斑病、玉米灰斑病和玉米銹病,這3類(lèi)病害葉片加上健康葉片的數(shù)據(jù)共計(jì)3 852張。試驗(yàn)數(shù)據(jù)集中的圖像示例如圖1所示。
1.2 數(shù)據(jù)標(biāo)注
本次試驗(yàn)的標(biāo)注工作均由6名有標(biāo)識(shí)經(jīng)驗(yàn)的專(zhuān)家完成,每一塊玉米葉片都被一個(gè)綠色長(zhǎng)方形的框架所包圍。同時(shí),對(duì)標(biāo)注好的文件進(jìn)行重新校對(duì),以防止出現(xiàn)漏標(biāo)誤標(biāo)。用XML格式存儲(chǔ)標(biāo)記過(guò)的玉米葉片,圖2顯示了標(biāo)記過(guò)的玉米葉片和相應(yīng)的 XML文檔文件,該文檔包括了由長(zhǎng)方形的邊框構(gòu)成的玉米葉子的位置信息。在此文件中,boundingbox作為4元組(xmin,ymin,xmax,ymax),(xmin,ymin)代表boundingbox的左上方,而xmax則是bounding box的寬度和高度,并與標(biāo)記的玉米葉片進(jìn)行一一對(duì)應(yīng),從而將玉米的位置信息全部記錄下來(lái)[6]。
1.3 數(shù)據(jù)增強(qiáng)
根據(jù)原始數(shù)據(jù)集,利用Mosaic、MixUp、CutOut等數(shù)據(jù)增強(qiáng)方法,對(duì)原始數(shù)據(jù)集進(jìn)行了擴(kuò)充,同時(shí)對(duì)不同像素和XML文件進(jìn)行增強(qiáng)處理,大大縮短了重復(fù)標(biāo)注的時(shí)間和人力成本[7]。原始玉米病害圖像如圖3所示,增強(qiáng)后的部分圖像如圖4所示。
本試驗(yàn)所用的玉米病害圖像原始分辨率均為256像素×256像素,為了達(dá)到更好的訓(xùn)練效果,對(duì)原始數(shù)據(jù)集進(jìn)行了預(yù)處理,統(tǒng)一調(diào)整了分辨率,將數(shù)據(jù)增強(qiáng)后的7 023張玉米病害圖像統(tǒng)一縮小到224像素×224像素。其中,玉米健康葉片、玉米葉斑病、玉米灰斑病、玉米銹病的圖像數(shù)分別為1 982、1 360、1 560、2 121張,具體如圖5所示。
本次數(shù)據(jù)增強(qiáng)對(duì)玉米病害圖像及玉米的健康葉片圖像進(jìn)行了重新劃分,按照8 ∶1 ∶1的比例將玉米病害數(shù)據(jù)分為訓(xùn)練集、測(cè)試集和驗(yàn)證集。加強(qiáng)后的訓(xùn)練集、測(cè)試集、驗(yàn)證集樣本總數(shù)分別為 5 617、703、703張,數(shù)據(jù)增強(qiáng)后的訓(xùn)練集測(cè)試集圖像數(shù)量詳情如表1所示。
2 改進(jìn)的YOLOX-S算法
2.1 YOLOX-S目標(biāo)檢測(cè)算法
2021年,曠視科技基于YOLO系列,結(jié)合近幾年國(guó)內(nèi)外研究成果,對(duì)其進(jìn)行了優(yōu)化和完善,并推出了YOLOX算法。YOLO v5在目標(biāo)檢測(cè)方面掀起了一股網(wǎng)絡(luò)結(jié)構(gòu)分解、剖析的熱潮,YOLOX算法正是基于YOLOX的思想,將YOLOX模式轉(zhuǎn)化成了多種可選擇的網(wǎng)絡(luò)。例如,在YOLO v3_spp中加入幾個(gè)常見(jiàn)的改進(jìn)方法,增加YOLO v3 baseline基準(zhǔn)模型,增加不同的trick,其中不局限于Decoupled、SimOTA,從而獲得YOLOX-Darknet53網(wǎng)絡(luò);針對(duì)YOLO v5的4種不同的網(wǎng)絡(luò),分別使用高效的trick進(jìn)行優(yōu)化,最終獲得YOLOX-S、YOLOX-M、YOLOX-L、YOLOX-X這4種不同的網(wǎng)絡(luò)模式,還對(duì)YOLOX-Nano、YOLOX-Tiny等輕量級(jí)網(wǎng)絡(luò)進(jìn)行了設(shè)計(jì),并對(duì)其適應(yīng)性進(jìn)行了試驗(yàn)[8]。
2.2 注意力機(jī)制
注意力機(jī)制源于人腦特殊的信號(hào)加工機(jī)理。在卷積神經(jīng)網(wǎng)絡(luò)中,注意力機(jī)制被廣泛用于自然語(yǔ)言處理、機(jī)器視覺(jué)等領(lǐng)域,通過(guò)使用不同的權(quán)重來(lái)調(diào)整信息的重要性,將重點(diǎn)信息乘以較高的權(quán)重,強(qiáng)調(diào)其重要性,同時(shí)對(duì)非關(guān)鍵信息進(jìn)行加權(quán)濾波,從而實(shí)現(xiàn)對(duì)復(fù)雜任務(wù)的快速篩選[9]。
2.2.1 通道注意力
通道注意力主要集中在圖像的語(yǔ)義信息上,使網(wǎng)絡(luò)對(duì)所給的圖像進(jìn)行更多的詳細(xì)分析。在檢測(cè)網(wǎng)絡(luò)中,每一個(gè)卷積層都含有大量的濾波器,用于學(xué)習(xí)代表所有通道的局部空間連通方式。通道關(guān)注的是各個(gè)通道間的關(guān)聯(lián),并對(duì)各個(gè)通道賦予不同的權(quán)值以確定它們的重要性。其主要原理為將輸入的特征圖F進(jìn)行最大池化和平均池化處理,獲得1×1×C的特征圖,然后將其送至共享網(wǎng)(Shared MLP),逐個(gè)單元相加,由Sigmoid激活函數(shù)進(jìn)行最后的詳細(xì)計(jì)算,最終形成信道注意力MC[10]。SENet是“通道關(guān)注”的經(jīng)典作品,曾經(jīng)獲得2017 ImageNetworks和Image類(lèi)目任務(wù)的冠軍。它的模塊結(jié)構(gòu)在圖6中顯示,輸入的特征是X,C1是特性通道,經(jīng)過(guò)一系列的卷積轉(zhuǎn)換,輸出的是C2的特性通道。首先,在空間維度上對(duì)各特征進(jìn)行壓縮,將各二維特性通道變成一個(gè)真實(shí)C,從而得到先前的整體感知范圍,再進(jìn)行激發(fā)運(yùn)算,通過(guò)對(duì)信道重要性的預(yù)測(cè),采用W參數(shù)并根據(jù)信道大小對(duì)信道進(jìn)行加權(quán),最終對(duì)通道維度的初始特征進(jìn)行重新校正。SENet的運(yùn)算量非常小,可以在任意的網(wǎng)絡(luò)中任意插入,提高了性能。
2.2.2 空間注意力
空間注意力集中于圖像的空間位置信息,使得網(wǎng)絡(luò)對(duì)圖像的有效特征進(jìn)行了詳細(xì)分析。它的主要功能是利用大卷積核進(jìn)行卷積操作,在擴(kuò)展感知范圍的同時(shí),對(duì)物體的空間位置信息進(jìn)行優(yōu)化,從而實(shí)現(xiàn)對(duì)目標(biāo)的精確定位??臻g注意力的模式結(jié)構(gòu)如圖7中所顯示,首先,在輸入的特征曲線F上,沿信道軸線對(duì)同一位置的像素進(jìn)行最大的池化并平均,從而獲得兩幅H×W×1的特征圖,再用7×7的卷積運(yùn)算和Sigmoid激活功能,從而生成空間注意力MS[11]。
2.3 改進(jìn)的YOLOX-S網(wǎng)絡(luò)結(jié)構(gòu)
YOLOX-S算法的網(wǎng)絡(luò)結(jié)構(gòu)較為復(fù)雜,大致分為3個(gè)部分,包括主干特征提取網(wǎng)絡(luò)CSPDarknet,它在特征提取上有重要的作用,然后是加強(qiáng)特征提取網(wǎng)絡(luò)FPN,特征提取后進(jìn)行加強(qiáng),最后是分類(lèi)器與回歸器YOLO head。首先會(huì)對(duì)輸入進(jìn)來(lái)的圖片進(jìn)行resize的處理,采用Focus網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行特征抽取,在抽取圖像時(shí),會(huì)對(duì)圖像進(jìn)行高、寬的壓縮,同時(shí)增加通道數(shù)量。然后,使用Resblock body的結(jié)構(gòu)進(jìn)行特征提取。這里一共使用4次Resblock body的結(jié)構(gòu)。先選取一個(gè)3×3的濾波器,通過(guò)濾波器對(duì)輸入的層進(jìn)行寬和高不同通道的壓縮,對(duì)通道進(jìn)行調(diào)整。在第4次的結(jié)構(gòu)中加入了SPP結(jié)構(gòu),即使用不同池化和的不同池化進(jìn)行特征提取,如圖6中的3個(gè)池化和分別為5、9、13。在使用卷積方法來(lái)減少通道數(shù)目之前,進(jìn)行池化后得到了一個(gè)結(jié)果,然后將這個(gè)結(jié)果進(jìn)行迭代。主干特征提取網(wǎng)絡(luò)CSPDarknet起到重要作用,經(jīng)過(guò)它可以得到3個(gè)有效特征層,對(duì)玉米病害的RGB三色圖進(jìn)行3、4、5次壓縮,結(jié)果的shape分別為(80×80×256)、(40×40×512)、(20×20×1 024)。然后會(huì)利用這3個(gè)有效特征層進(jìn)行加強(qiáng)特征提取網(wǎng)絡(luò)的構(gòu)建[12]。在加強(qiáng)特征提取網(wǎng)絡(luò)中,本質(zhì)上是進(jìn)行特征融合,在融合的過(guò)程中,會(huì)出現(xiàn)上下取樣的特征融合。采用CSPDarknet和 FPN技術(shù),在卷積學(xué)習(xí)過(guò)程中得到3種不同的有效特征層。將各特征點(diǎn)視為一系列有通道數(shù)的特征點(diǎn),用YOLO-s頭判定所述特征點(diǎn),并判定所述特征點(diǎn)是否存在對(duì)象與所述特征點(diǎn)相對(duì)應(yīng)。所以,YOLOX-S網(wǎng)絡(luò)的整體工作是提取特征點(diǎn),強(qiáng)化特征點(diǎn),并對(duì)特征點(diǎn)所對(duì)應(yīng)的目標(biāo)狀態(tài)進(jìn)行預(yù)測(cè)。改進(jìn)YOLOX-S目標(biāo)檢測(cè)算法模型融合了4個(gè)注意力機(jī)制模塊,在骨干網(wǎng)絡(luò)提取出來(lái)3個(gè)有效特征層,然后分別加入了注意力機(jī)制,同時(shí)在采樣后的結(jié)果加入注意力機(jī)制,加入的注意力機(jī)制均為CBAM模塊。改進(jìn)后的YOLOX-S網(wǎng)絡(luò)結(jié)構(gòu)如圖8所示。
2.4 特征提取與特征融合
首先,利用CSPDarknet對(duì)玉米病害圖像進(jìn)行一次特征提取,提取的圖像特征命名為“特征層”,即圖像的特征集合。在骨干中,獲取了3個(gè)特征層,用于下一步網(wǎng)絡(luò)的構(gòu)建,這3個(gè)特征層稱(chēng)之為“有效特征層”;還使用了Focus網(wǎng)絡(luò)結(jié)構(gòu),具體的操作:在一幅圖像中,每個(gè)像素獲取1個(gè)數(shù)值,得到4個(gè)單獨(dú)的特征層,再疊加4個(gè)特征層,寬、高信息就會(huì)聚集在通道信息上,而輸入通道則擴(kuò)大了4倍。然后進(jìn)行卷積和一系列剩余結(jié)構(gòu)的計(jì)算。殘差分為主干和側(cè)枝,主干枝為1×1的卷積,再進(jìn)行3×3的卷積,其余的殘差不用任何加工,直接相加。BN層就像是Resnet上的殘差值,有效地解決了由于深度加深而導(dǎo)致的梯度消失、梯度爆炸等問(wèn)題[13]。
在YOLOX-S的網(wǎng)絡(luò)模型中 加強(qiáng)特征提取網(wǎng)
絡(luò)是FPN,在網(wǎng)絡(luò)主要部分中采集到的3個(gè)有效的特征層會(huì)在該區(qū)域中進(jìn)行特征的融合,從而達(dá)到對(duì)各種特征的綜合。在 FPN部分,利用已有的特征層來(lái)進(jìn)行后續(xù)的特征抽取,然后將不同類(lèi)型的特征層進(jìn)行特征融合,由上到下將上層的特征信息進(jìn)行上取樣,然后進(jìn)行下取樣,輸出3個(gè) YOLO? Head。
2.5 結(jié)果預(yù)測(cè)
該方法利用神經(jīng)網(wǎng)絡(luò)的head部分對(duì)圖像結(jié)果進(jìn)行預(yù)測(cè),將神經(jīng)網(wǎng)絡(luò)中的每一幅圖像分成S×S網(wǎng)格,然后根據(jù)這些S×S網(wǎng)格來(lái)檢測(cè)網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)。如果目標(biāo)的中心在網(wǎng)格中,那么每個(gè)網(wǎng)格就會(huì)有B個(gè)矩形的邊界(x,y,w,h)和它們的可信度,并進(jìn)行分類(lèi)。置信度是由網(wǎng)格中被檢測(cè)物體的結(jié)果[0,1]的公式(1)限定。0表示最小置信值,1表示最大置信值。
Confidence=Pr(Object)×IoUtruthpred,Pr(Object)∈[0,1]。(1)
3 環(huán)境配置
本研究的所有試驗(yàn)都是在Windows 10的操作系統(tǒng)下進(jìn)行的,采用Intel Xeon CPU E5-2650v4的處理器,使用2張NVIDIA GeForce RTX 2080Ti的GPU進(jìn)行交火,效果大于1張GPU的效率,并配備64 GB的運(yùn)行內(nèi)存。環(huán)境配置時(shí)會(huì)通過(guò)使用CUDA 10.2和cuDNN 7.6.4來(lái)加速模型訓(xùn)練。本研究以Python 3.7為主要語(yǔ)言,并在此基礎(chǔ)上安裝了諸如Numpy 1.20.1、PyQt5等的深度學(xué)習(xí)運(yùn)算程序,建立了一套基于Pytorch的深度學(xué)習(xí)網(wǎng)絡(luò)模型,并對(duì)其進(jìn)行了相應(yīng)的優(yōu)化。
4 評(píng)價(jià)標(biāo)準(zhǔn)
YOLOX-S算法可以利用精準(zhǔn)率(P)、召回率(R)與F1值來(lái)評(píng)估評(píng)價(jià)模型的性能。其中,精確率、召回率和F1值越高,說(shuō)明模型的性能越好,具體計(jì)算公式如下。
P=TPTP+FP×100%;(2)
R=TPTP+FN×100%;(3)
F1=2×P×RP+R。(4)
式中:TP表示玉米病害樣本正確識(shí)別圖片數(shù)量;FP表示玉米病害樣本錯(cuò)誤識(shí)別圖片數(shù)量;FN表示未檢測(cè)到的玉米病害樣本圖片數(shù)量,張。平均精度(AP)衡量模型在玉米病害圖像4個(gè)類(lèi)別上訓(xùn)練的好壞,類(lèi)平均精度(mAP)衡量訓(xùn)練出來(lái)的模型在玉米病害圖像4個(gè)類(lèi)別上的好壞。AP和mAP計(jì)算公式如下:
AP=∫10P(R)dR;(5)
mAP=∑ki=1APik。(6)
利用AP公式求出mAP,AP代表精確率、召回率與坐標(biāo)軸所圍繞圖像的面積,所有類(lèi)別的AP就是mAP。圖9為YOLOX-S算法中玉米病害葉片的mAP曲線圖,本次試驗(yàn)?zāi)繕?biāo)檢測(cè)算法模型對(duì)玉米病害識(shí)別的類(lèi)平均精度可達(dá)98.54%,一般有精確率和召回率作為評(píng)價(jià)指標(biāo),其中玉米病害的P-R曲線如圖10所示。
4.1 基于通道和空間注意力機(jī)制的改進(jìn)網(wǎng)絡(luò)
改進(jìn)后的YOLOX-S模型進(jìn)行如下的操作:首先將玉米病害葉片圖像進(jìn)行不同規(guī)模的卷積操作,這里包括卷積和池化,在CSPDarknet后面生成3個(gè)有效特征層,并將3個(gè)注意力機(jī)制模塊分別添加到下采樣的結(jié)果中,同時(shí)在SPPBottleneck上采樣后的結(jié)果中加入一個(gè)注意力機(jī)制模塊,加入的4個(gè)注意力機(jī)制模塊均為CBAM,且加入的位置也不一樣,CBAM是一種特殊的注意力機(jī)制,將通道注意力和空間注意力機(jī)制相結(jié)合,通過(guò)使用不同的權(quán)重來(lái)調(diào)整信息的重要性,將重點(diǎn)信息乘以較高的權(quán)重,強(qiáng)調(diào)其重要性,這是一種加強(qiáng)版的注意力機(jī)制。在此基礎(chǔ)上,采用了基于最大平均和最大池化的計(jì)算方法,將所得到的2種結(jié)果進(jìn)行相加,得到各通道的權(quán)重(0~1)。在得到該權(quán)重后,將該權(quán)重乘以原來(lái)的特征層,從而實(shí)現(xiàn)了對(duì)通道注意力機(jī)制的分離。CBAM的下半部分是空間注意力機(jī)制,在每個(gè)特征點(diǎn)的通道中,對(duì)每個(gè)特征點(diǎn)的通道進(jìn)行最大值和平均。然后將這2種方法疊加在一起,先通過(guò)一次通道1的卷積來(lái)調(diào)節(jié)通道數(shù)目,再得到一個(gè)Sigmoid,得到每個(gè)特征點(diǎn)的權(quán)重(0~1)。在得到該權(quán)重之后,將該權(quán)重與原始的輸入特征層相乘[14]。圖11顯示了添加注意力機(jī)制前后的例子的比較檢測(cè)圖,圖12是添加了注意力機(jī)制的 mAP圖。
4.2 與經(jīng)典算法的比較
為探究實(shí)時(shí)檢測(cè)的檢測(cè)方法,本研究還訓(xùn)練了YOLO v3、YOLO v4、Faster R-CNN網(wǎng)絡(luò)與該模型性能進(jìn)行對(duì)比,每種模型都訓(xùn)練了150個(gè)以上的epoch,并且都達(dá)到了最大程度的收斂。本研究改進(jìn)的模型為YOLOX-S-C,圖13展示了4種模型的P-R曲線,可以看出,在同一精確率下改進(jìn)后的YOLOX-S-C召回率要高于其他3種網(wǎng)絡(luò)模型。同樣,在同一召回率下,改進(jìn)后的YOLOX-S-C的精度要高于其他網(wǎng)絡(luò)模型。
在測(cè)試集上4種不同網(wǎng)絡(luò)的檢測(cè)性能結(jié)果如表2所示,可以看出,在訓(xùn)練性能方面,YOLOX-S-C比其他3種模型的損失值都要低,這表明了YOLOX-S網(wǎng)絡(luò)模型的收斂效果更好,性能有了明顯提高。在檢測(cè)性能方面,不論是F1值,還是交并比(IoU)、mAP,改進(jìn)后的YOLOX-S-C的值都要高于其他3種網(wǎng)絡(luò)模型。充分說(shuō)明了該模型的召回率、精確率以及模型的識(shí)別效果都更優(yōu)。
為檢驗(yàn)該模型的有效性和局限性,采用同一張圖片對(duì)不同的模型進(jìn)行試驗(yàn)測(cè)試,檢測(cè)結(jié)果如圖14所示。從圖14可以很明顯看出,改進(jìn)后的模型YOLOX-S-C的置信度為0.97,YOLO v4的置信度為0.95,F(xiàn)aster R-CNN的置信度為0.92,YOLO v3的置信度為0.90,加入注意力機(jī)制之后的網(wǎng)絡(luò)模型識(shí)別效果最佳,該模型具有較高的識(shí)別準(zhǔn)確率,并且具有較好的泛化性能。
5 華為開(kāi)發(fā)板Atlas 200DK及其應(yīng)用
Atlas 200DK開(kāi)發(fā)者套件 Atlas 200 Developer Kit(以下簡(jiǎn)稱(chēng)Atlas 200DK)是一個(gè)開(kāi)發(fā)者板形態(tài)產(chǎn)品,它以昇騰310 AI處理器為核心,為開(kāi)發(fā)者提供一站式開(kāi)發(fā)套件,并幫助開(kāi)發(fā)者進(jìn)行AI應(yīng)用程序的快速開(kāi)發(fā)[15]。
5.1 開(kāi)發(fā)平臺(tái)介紹
Atlas 200DK的實(shí)物如圖15所示。
Atlas 200DK的系統(tǒng)框圖如圖16所示。
Atlas 200DK的加速模塊具有較強(qiáng)的 AI智能運(yùn)算能力,能夠?qū)D像、視頻等進(jìn)行各種數(shù)據(jù)的處理和推理。其中,Hi3559 Camera模塊為圖像/音頻接口模塊,用于進(jìn)行圖像和音頻的采集和處理。Atlas 200DK提供了USB網(wǎng)卡與NIC網(wǎng)卡,開(kāi)發(fā)者可通過(guò)USB網(wǎng)卡與用戶PC機(jī)進(jìn)行直連通信,可通過(guò)NIC網(wǎng)卡將Atlas 200DK接入互聯(lián)網(wǎng)。其中,192.168.0.2這個(gè)IP地址是Atlas 200DK中USB網(wǎng)卡默認(rèn)的,而192.168.1.2這個(gè)IP地址是NIC網(wǎng)卡的默認(rèn),二者有一定的不同。
5.2 運(yùn)行環(huán)境搭建
5.2.1 制作Atlas 200DK開(kāi)發(fā)板啟動(dòng)盤(pán)
通過(guò)SD卡制作功能可以自行制作Atlas 200DK開(kāi)發(fā)者板的系統(tǒng)啟動(dòng)盤(pán),完成Atlas 200DK操作系統(tǒng)及驅(qū)動(dòng)固件的安裝。將 SD卡插入讀卡器,并將其與使用者 PC的 USB接口相連接,再利用制卡腳本來(lái)完成SD卡的制作。 制卡之前需要進(jìn)行硬件和軟件包的準(zhǔn)備,硬件需要準(zhǔn)備1張SD卡,容量為64 G,制作過(guò)程中將會(huì)對(duì)SD卡做格式化處理。
在官網(wǎng)下載Ubuntu操作系統(tǒng)的鏡像程序包與開(kāi)發(fā)者板驅(qū)動(dòng)包,首先在Ubuntu操作系統(tǒng)的根目錄安裝軟件運(yùn)行的交叉編譯器,配置好相應(yīng)的環(huán)境,然后再創(chuàng)建好制卡工作目錄,接下來(lái)將獲取的Ubuntu操作系統(tǒng)鏡像包、開(kāi)發(fā)者板驅(qū)動(dòng)包上傳到剛才的制卡工作目錄中,然后下載“make_sd_card.py”的制卡口腳本,執(zhí)行制卡指令,python3 make_sd_card.py local /dev/sda為執(zhí)行命令,其中“l(fā)ocal”是以本地的方法生成 SD卡;“/dev/sda”是在終端上顯示“Make SD Card successfully!”時(shí),SD卡所在 USB裝置的名字。SD卡制卡成功時(shí)終端回顯信息如圖17所示。
完成制卡后,將SD卡插入 Atlas 200 DK開(kāi)發(fā)板卡槽,進(jìn)行通電,上電過(guò)程中要注意指示燈陸續(xù)全部點(diǎn)亮,在第1次開(kāi)機(jī)時(shí)會(huì)進(jìn)行固件的升級(jí),升級(jí)完成后會(huì)自動(dòng)進(jìn)行重啟的操作。
5.2.2 配置網(wǎng)絡(luò)連接
使用USB連線將Atlas 200DK與主機(jī)Ubuntu系統(tǒng)進(jìn)行連接,數(shù)據(jù)線進(jìn)行傳輸數(shù)據(jù)信息,二者互相通信的前提是必須將USB網(wǎng)卡的IP 地址配置在同一網(wǎng)段,從而可以在PC機(jī)上SSH登錄到Atlas 200DK;然后開(kāi)發(fā)板通過(guò)網(wǎng)線接入路由器插口,并配置開(kāi)發(fā)板的獲取方式為DHCP,使其可以接入互聯(lián)網(wǎng)。
5.3 開(kāi)發(fā)環(huán)境搭建
5.3.1 配置Ubuntu X86系統(tǒng)
開(kāi)發(fā)套件包安裝前需要下載相關(guān)依賴軟件,必須用root用戶執(zhí)行以下操作,為非root用戶賦權(quán),以root用戶執(zhí)行apt-get install sudo命令安裝sudo,然后打開(kāi)“/etc/sudoers”文件,添加最后1行為“includedir /etc/sudoers.d”,添加完成后進(jìn)行保存,然后安裝python依賴以及gcc等軟件。
5.3.2 MindStudio與Atlas 200DK的連接
首先需要配置好MindStudio的運(yùn)行環(huán)境,配置好以后需進(jìn)行試運(yùn)行,接著需要打開(kāi)路由器,將開(kāi)發(fā)板通過(guò)網(wǎng)線與路由器相連接,并把USB數(shù)據(jù)線與主機(jī)連接,實(shí)現(xiàn)數(shù)據(jù)通訊,然后給開(kāi)發(fā)板上電,等指示燈陸續(xù)亮起以后,可實(shí)現(xiàn)整體與MindStudio通訊,開(kāi)發(fā)板的IP地址是192.168.1.2,MindStudio的端口號(hào)表示默認(rèn)即可,本次試驗(yàn)的端口號(hào)默認(rèn)為22,在第1次登錄時(shí)候需要設(shè)置密碼PASSWORD,統(tǒng)一密碼為Mind123456,到現(xiàn)在整個(gè)環(huán)境搭建連接成功。圖18為華為開(kāi)發(fā)板與MindStudio連接成功界面。
5.4 玉米病害識(shí)別在Atlas 200DK上的實(shí)現(xiàn)
第1步,登錄Ubuntu系統(tǒng),進(jìn)入根目錄,然后用 scp 命令將待檢測(cè)的玉米病害圖像上傳至華為開(kāi)發(fā)板中對(duì)應(yīng)的工程文件目錄;
第2步,打開(kāi)MobaXterm遠(yuǎn)程登錄軟件,然后使用ssh 命令訪問(wèn)華為開(kāi)發(fā)板;
第3步,進(jìn)入到開(kāi)發(fā)板內(nèi)部,找到所對(duì)應(yīng)的工程文件,執(zhí)行運(yùn)行程序的源文件;
第4步,通過(guò) scp 命令將最終的檢測(cè)結(jié)果拷貝至主機(jī),完成對(duì)圖片標(biāo)注結(jié)果的查看。
下面是對(duì)玉米病害識(shí)別做的對(duì)比試驗(yàn),把玉米病害葉片待檢測(cè)圖片先放到GPU目標(biāo)檢測(cè)算法中,運(yùn)行程序,查看識(shí)別效果,查看標(biāo)記框位置,查看置信度,然后原圖像上傳到Atlas 200DK開(kāi)發(fā)板中,運(yùn)行檢測(cè)目標(biāo),生成檢測(cè)結(jié)果,再次使用scp命令將檢測(cè)結(jié)果傳送到Ubuntu主機(jī)上,與之前的GPU檢測(cè)后的圖像做對(duì)比,發(fā)現(xiàn)識(shí)別效果相同,置信度完全一樣,說(shuō)明此次試驗(yàn)效果很好,試驗(yàn)成功,完成了玉米葉片病害識(shí)別在Atlas 200DK上的總體設(shè)計(jì)開(kāi)發(fā)與應(yīng)用,玉米葉片病害的原圖像、GPU目標(biāo)檢測(cè)算法的檢測(cè)結(jié)果、Atlas 200DK上的檢測(cè)結(jié)果如圖19所示。
6 結(jié)論
本研究提出了一種改進(jìn)型YOLOX-S目標(biāo)檢測(cè)模型,實(shí)現(xiàn)了對(duì)玉米病害葉片的目標(biāo)檢測(cè),通過(guò)對(duì)多種注意力機(jī)制的對(duì)比,選擇了CBAM注意力機(jī)制,將其融合到Y(jié)OLOX-S中,增大了感受野,對(duì)應(yīng)的權(quán)重也會(huì)有所增加,提高了檢測(cè)效果,并與其他幾種目標(biāo)檢測(cè)算法做了對(duì)比試驗(yàn),使得mAP上升到較高的水平,改進(jìn)后的YOLOX-S模型的mAP提升了約0.2百分點(diǎn)。
將改進(jìn)后的YOLOX-S目標(biāo)檢測(cè)算法移植到Atlas 200DK中,基于開(kāi)發(fā)板的特性以及相關(guān)的計(jì)算屬性,完成了玉米葉片病害的檢測(cè),并對(duì)其效果進(jìn)行了測(cè)試,與GPU開(kāi)發(fā)測(cè)試效果完全一樣,實(shí)現(xiàn)了目標(biāo)檢測(cè)算法的移植,可以發(fā)現(xiàn)GPU算法移植到Atlas 200DK上依然發(fā)揮良好的檢測(cè)性能。
參考文獻(xiàn):
[1]邊柯橙. 基于深度學(xué)習(xí)的玉米常見(jiàn)病害圖像識(shí)別研究及應(yīng)用[D]. 蘭州:蘭州財(cái)經(jīng)大學(xué),2021.
[2]Hasan M M,Chopin J P,Laga H,et al. Detection and analysis of wheat spikes using convolutional neural networks[J]. Plant Methods,2018,14(1):1-13.
[3]Chen R C. Automatic license plate recognition via sliding-window darknet-YOLO deep learning[J]. Image and Vision Computing,2019,87:47-56.
[4]畢春光,王金龍,胡 楠,等. 基于貝葉斯神經(jīng)網(wǎng)絡(luò)的玉米病害預(yù)警模型[J]. 吉林農(nóng)業(yè)大學(xué)學(xué)報(bào),202 3(2):189-195.
[5]毛彥棟,宮 鶴. 基于SVM和DS證據(jù)理論融合多特征的玉米病害識(shí)別研究[J]. 中國(guó)農(nóng)機(jī)化學(xué)報(bào),2020,41(4):152-157.
[6]Atila ,Uar M,Akyol K,et al. Plant leaf disease classification using EfficientNet deep learning model[J]. Ecological Informatics,2021,61:101182.
[7]Cao S H,Xu D A,Hanif M,et al. Genetic architecture underpinning yield component traits in wheat[J]. Theoretical and Applied Genetics,2020,133(6):1811-1823.
[8]Ferentinos K P. Deep learning models for plant disease detection and diagnosis[J]. Computers and Electronics in Agriculture,2018,145:311-318.
[9]胡志偉,楊 華,黃濟(jì)民,等. 基于注意力殘差機(jī)制的細(xì)粒度番茄病害識(shí)別[J]. 華南農(nóng)業(yè)大學(xué)學(xué)報(bào),2019,40(6):124-132.
[10]趙 越. 基于深度學(xué)習(xí)田間麥穗檢測(cè)計(jì)數(shù)方法研究[D]. 天津:天津農(nóng)學(xué)院,2021.
[11]洪敏杰,吳 剛,劉星辰,等. 基于注意力機(jī)制的肺結(jié)節(jié)檢測(cè)算法[J]. 計(jì)算機(jī)工程與設(shè)計(jì),202 2(1):83-88.
[12]Militante S V,Gerardo B D,Dionisio N V. Plant leaf detection and disease recognition using deep learning[C]//2019 IEEE Eurasia Conference on IOT,Communication and Engineering (ECICE). Yunlin,Taiwan,China:IEEE,2019:579-582.
[13]張開(kāi)興,呂高龍,賈 浩,等. 基于圖像處理和BP神經(jīng)網(wǎng)絡(luò)的玉米葉部病害識(shí)別[J]. 中國(guó)農(nóng)機(jī)化學(xué)報(bào),2019,40(8):122-126.
[14]楊蜀秦,王 帥,王鵬飛,等. 改進(jìn)YOLOX檢測(cè)單位面積麥穗[J]. 農(nóng)業(yè)工程學(xué)報(bào),2022,38(15):143-149.
[15]汪蘇平. 基于華為芯片的人臉屬性識(shí)別[D]. 南京:東南大學(xué),2021.