冀常鵬,陳浩楠,代 巍
(遼寧工程技術(shù)大學(xué)a.電子與信息工程學(xué)院,b.研究生院,遼寧 葫蘆島125105)
傳統(tǒng)的農(nóng)作物病害識(shí)別主要依賴于農(nóng)民長(zhǎng)期積累的經(jīng)驗(yàn),由于病害癥狀復(fù)雜多變,往往對(duì)于農(nóng)業(yè)生產(chǎn)者的專業(yè)知識(shí)有很高要求[1]。通過(guò)人工觀察來(lái)判斷病害類別,主觀性較強(qiáng),耗時(shí)耗力。因此,使用現(xiàn)代信息化技術(shù),高效準(zhǔn)確的識(shí)別農(nóng)作物病害具有重要意義,也是農(nóng)業(yè)現(xiàn)代化的重要標(biāo)志[2]?;趥鹘y(tǒng)的圖像處理方法需要對(duì)農(nóng)作物的病害特征進(jìn)行手工的病斑分割、特征提取,并自行構(gòu)建分類器分類,需要消耗大量的時(shí)間進(jìn)行數(shù)據(jù)預(yù)處理,且受客觀條件影響較大,特征提取困難[3]。近些年,隨著深度學(xué)習(xí)的飛速發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)憑借其強(qiáng)大的特征提取能力,在圖像識(shí)別[4]、目標(biāo)檢測(cè)[5]等領(lǐng)域取得諸多成功的應(yīng)用,諸如人臉表情識(shí)別[6]、病理圖像分類[7]、缺陷檢測(cè)[8],并有學(xué)者成功將其應(yīng)用到農(nóng)業(yè)領(lǐng)域,YANG等[9]成功使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)水稻病害進(jìn)行識(shí)別,所提出的模型準(zhǔn)確率達(dá)到95.48%;王美華等[10]通過(guò)對(duì)注意力機(jī)制CBAM模塊進(jìn)行改進(jìn),針對(duì)空間注意力與通道注意力之間的串行干擾問(wèn)題,提出了一種并行連接的新型混合注意力模塊,在病蟲害識(shí)別方面取得較好效果,且在不同模型間具有良好的泛化性;宋余慶等[11]提出了多層次增強(qiáng)高效空間金字塔模型,解決網(wǎng)絡(luò)輸入圖像尺寸不相同的問(wèn)題,但模型結(jié)構(gòu)復(fù)雜,需要構(gòu)建多層融合EESP網(wǎng)絡(luò)模型提取圖像的特征信息;王春山等[12]在殘差網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)行改進(jìn),提出了一種Multi-scale ResNet病害識(shí)別模型,結(jié)合多尺度特征提取模塊和改變殘差連接方式,并采用分解卷積核和群卷積操作,進(jìn)行一定程度的模型輕量化,但實(shí)際應(yīng)用中,采用多支路結(jié)構(gòu)會(huì)明顯增大計(jì)算資源消耗,增加網(wǎng)絡(luò)的訓(xùn)練時(shí)間,降低推理效率。綜上,本研究以番茄的葉面病害為例,針對(duì)深度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,計(jì)算資源消耗大、且對(duì)輸入圖像尺寸限制性強(qiáng)、自適應(yīng)性弱等問(wèn)題,提出了一種改進(jìn)的GSNet輕量化網(wǎng)絡(luò)模型,能夠有效實(shí)現(xiàn)番茄的葉面病害識(shí)別。
深度卷積神經(jīng)網(wǎng)絡(luò)通常是由大量的卷積操作組成,這導(dǎo)致了大量的計(jì)算成本。在實(shí)際過(guò)程中,當(dāng)輸入數(shù)據(jù)X∈R(c,h,w),其中c為輸入數(shù)據(jù)的通道數(shù),h和w分別為輸入數(shù)據(jù)的高和寬,任意卷積層生成n個(gè)特征圖在數(shù)學(xué)上可表示為:
式中:*為卷積運(yùn)算;b為偏置項(xiàng);Y∈R(h’,w’,n)為卷積運(yùn)算后輸出的的n通道特征圖;f∈R(c,k,k,n)為當(dāng)前卷積層的卷積過(guò)濾器,卷積操作如圖1。h’和w’分別為生成特征圖的高和寬,卷積過(guò)濾器f內(nèi)核尺寸為k×k。
圖1 標(biāo)準(zhǔn)卷積Figure 1 Standard convolution
常規(guī)卷積層的輸出特征圖會(huì)包含很多的冗余,Ghost網(wǎng)絡(luò)結(jié)構(gòu)中指出,沒(méi)有必要使用大量的運(yùn)算資源來(lái)生成這些冗余的特征圖。
Ghost模塊首先采用常規(guī)卷積運(yùn)算生成少量的本征特征圖,即:
式中:f’∈(c,k,k,m)為常規(guī)卷積運(yùn)算使用的濾波器,輸出通道數(shù)m<n,然后在生成的本征特征圖Y’上,利用cheap operation(廉價(jià)線性運(yùn)算)運(yùn)算生成本征特征圖的“重影”,擴(kuò)充特征信息和增加通道數(shù),即:
式中:yi’為Y’中的第i個(gè)本征特征圖;Φ為廉價(jià)線性運(yùn)算;Yi,j為由yi’生成的第j個(gè)重影特征,卷積操作如圖2。
圖2 Ghost結(jié)構(gòu)圖Figure 2 Ghost structure
利用Ghost模塊可以有效減少浮點(diǎn)運(yùn)算次數(shù)FLOPs和參數(shù)量,降低模型復(fù)雜度,假設(shè)生成n通道特征圖,Ghost模型縮放比例radio為s,卷積核尺寸相同為k×k,理論加速比為:
參數(shù)壓縮比計(jì)算為:
由式(4)與式(5)可知,采用Ghost替換常規(guī)卷積操作,可以將網(wǎng)絡(luò)的浮點(diǎn)運(yùn)算次數(shù)和參數(shù)量,壓縮為原本的1/s,有效降低網(wǎng)絡(luò)模型復(fù)雜度。
空間金字塔(spatial pyramid pooling,SPP)結(jié)構(gòu)采用多尺度池化操作,針對(duì)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)需要固定輸入圖像尺寸的問(wèn)題,通過(guò)使用多個(gè)不同大小的池化框,可以將任意圖像的卷積特征轉(zhuǎn)化為固定大小的特征向量,避免因圖像裁剪、縮放而導(dǎo)致的位置信息扭曲,導(dǎo)致識(shí)別精度的降低,使卷積神經(jīng)網(wǎng)絡(luò)適應(yīng)不同比例、不同尺寸的圖像輸入,并且可以更有效的提取病害的多尺度特征信息,提高網(wǎng)絡(luò)自適應(yīng)性和識(shí)別準(zhǔn)確率。
圖3 為空間金字塔池化示意圖,在輸入圖像經(jīng)過(guò)卷積運(yùn)算轉(zhuǎn)為高維卷積特征圖后,通過(guò)設(shè)定好的不同大小池化框?qū)μ卣鲌D進(jìn)行池化操作,并將輸出特征展平為特征向量,依次拼接,最終提取的特征向量固定為特定值,傳入全連接層進(jìn)行訓(xùn)練分類。且采用空間金字塔池化可以提取特征圖的多尺度信息,提高網(wǎng)絡(luò)性能。
圖3 空間金字塔池化示意圖Figure 3 Schematic diagram of spatial pyramid pooling
在神經(jīng)網(wǎng)絡(luò)中,批歸一化(BN層)可以有效解決梯度消失和爆炸問(wèn)題,加快網(wǎng)絡(luò)收斂,提高網(wǎng)絡(luò)性能[17]。但同樣會(huì)占用更多的運(yùn)算資源。本研究結(jié)合結(jié)構(gòu)重參數(shù)化思想,分割網(wǎng)絡(luò)的訓(xùn)練過(guò)程與推理過(guò)程,在推理網(wǎng)絡(luò)中將卷積運(yùn)算與BN層相融合,可以進(jìn)一步提高網(wǎng)絡(luò)的推理效率,降低圖像識(shí)別時(shí)間。
BN層計(jì)算為:
式中:γ為尺度因子;β為偏移因子;ε為微小正數(shù)(防止分母為0);μ為樣本均值;σ2為方差。
將BN層運(yùn)算帶入式(1),與卷積運(yùn)算進(jìn)行合并:
為了適應(yīng)番茄葉面病害的識(shí)別要求,本研究搭建了一種高效的網(wǎng)絡(luò)結(jié)構(gòu)GSNet(圖4)。網(wǎng)絡(luò)結(jié)構(gòu)模型包含Conv1-Conv4共4個(gè)卷積模塊及2層全連接層。為了輕量化網(wǎng)絡(luò)結(jié)構(gòu),將3×3的常規(guī)卷積層用Ghost模塊[14]進(jìn)行
圖4 GSNet網(wǎng)絡(luò)結(jié)構(gòu)圖Figure 4 GSNet network structure
將合并后的替代,減少卷積操作中生成的冗余特征圖數(shù)量和浮點(diǎn)運(yùn)算次數(shù),在Conv1模塊中,輸入病害圖像經(jīng)過(guò)Ghost模塊后,采用1×1卷積核進(jìn)行二次特征提取,整合網(wǎng)絡(luò)特征圖,隨后送入最大池化層(池化框大小為2×2,步長(zhǎng)為2)進(jìn)行下采樣操作,并依次經(jīng)過(guò)Conv2-Conv4模塊,將輸入圖像轉(zhuǎn)變?yōu)楦呔S卷積特征圖,且在Conv4模塊中,Ghost步長(zhǎng)設(shè)為2,并采用空間金字塔池化替換最大池化,在提取特征圖多尺度信息的同時(shí),固定特征向量數(shù)量(本研究中空間金字塔池化框大小分別設(shè)置為4×4,2×2和1×1,特征向量固定為21),提高網(wǎng)絡(luò)的自適應(yīng)性,解決網(wǎng)絡(luò)對(duì)于輸入圖像尺寸的嚴(yán)格限制,降低網(wǎng)絡(luò)參數(shù)量。最后將提取的特征向量進(jìn)行展平拼接,輸入到全連接層與Softmax層進(jìn)行訓(xùn)練分類??紤]實(shí)際需要,在網(wǎng)絡(luò)訓(xùn)練結(jié)束后,結(jié)合結(jié)構(gòu)重參數(shù)化[16],分割網(wǎng)絡(luò)的訓(xùn)練階段和推理階段,在推理網(wǎng)絡(luò)中合并Ghost模塊中的卷積操作和BN層,進(jìn)一步節(jié)省推理過(guò)程的運(yùn)算資源,提高推理效率。
PlantVillage網(wǎng)站提供了一個(gè)可供免費(fèi)訪問(wèn)的開放式數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)收集了14種植物健康和病害的可見(jiàn)光葉片圖像[13],并成功應(yīng)用AlexNet和GoogleNet進(jìn)行植物葉面病害識(shí)別。本研究以番茄的葉面病害為研究對(duì)象,從中提取10種番茄葉面圖片(圖5),作為本試驗(yàn)所需的番茄葉面病害圖片數(shù)據(jù)集。
圖5 番茄病害葉片示例Figure 5 Example of tomato leaf disease
由于PlantVillage工程中的番茄葉面病害圖片數(shù)據(jù)集存在樣本不均衡問(wèn)題,如其中數(shù)據(jù)樣本最多的黃化曲葉病包含有5357張分辨率為256*256的彩色圖片,而數(shù)據(jù)樣本最小的花葉病僅包含373張病害圖片,具體數(shù)據(jù)分布如圖6。
圖6 番茄病害數(shù)據(jù)分布圖Figure 6 Data distribution of tomato diseases
因此,為了平衡各類別樣本間的分布,增強(qiáng)數(shù)據(jù)的可靠性,本研究對(duì)樣本數(shù)據(jù)進(jìn)行預(yù)處理,通過(guò)水平翻轉(zhuǎn)、鏡面翻轉(zhuǎn)等操作對(duì)樣本數(shù)量過(guò)少的病害類別進(jìn)行樣本擴(kuò)充,對(duì)于樣本數(shù)量過(guò)多的病害類別,則隨機(jī)剔除部分樣本。經(jīng)過(guò)預(yù)處理后,將各個(gè)類別的樣本數(shù)量維持在1500張,作為最終的番茄葉面病害識(shí)別的樣本數(shù)據(jù)集。
本研究基于Pytorch平臺(tái),硬件環(huán)境為Intel i7-10700F處理器,16G內(nèi)存,NVIDIA GeForce RTX3060 12G獨(dú)立顯卡。模型訓(xùn)練中選擇Adam作為網(wǎng)絡(luò)訓(xùn)練優(yōu)化器,初始學(xué)習(xí)率為0.0001,每次訓(xùn)練同時(shí)輸入的訓(xùn)練樣本數(shù)Batch Size設(shè)為30,網(wǎng)絡(luò)的迭代次數(shù)Epoch設(shè)為50,采用交叉熵?fù)p失函數(shù)進(jìn)行試驗(yàn)。同時(shí)按照7∶2∶1比例將數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,訓(xùn)練樣本數(shù)為10500。
為了驗(yàn)證Ghost和空間金字塔池化對(duì)于網(wǎng)絡(luò)性能的影響,在基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)(Unall)上分別引入Ghost模塊(Ghost),空間金字塔池化(SPP)以及兩者結(jié)合(GSNet)進(jìn)行試驗(yàn),GSNet網(wǎng)絡(luò)對(duì)輸入端圖像無(wú)固定尺寸要求,故可以直接輸入未經(jīng)裁剪的原始病害圖像(分辨率256*256)。試驗(yàn)結(jié)果如圖7,圖7a為準(zhǔn)確率曲線(Accuracy),圖7b為損失函數(shù)曲線(Loss)??梢钥闯觯捎肎host模塊和空間金字塔池化操作可以有效提高網(wǎng)絡(luò)模型的準(zhǔn)確率,并取得更低的損失,同時(shí)組合模型的效果最好。
圖7 組合試驗(yàn)變化曲線Figure 7 Variation curve of combined test
由表1組合試驗(yàn)的測(cè)試集試驗(yàn)結(jié)果可知,Ghost模塊和空間金字塔池化可以有效減少網(wǎng)絡(luò)的浮點(diǎn)運(yùn)算次數(shù)FLOPs和參數(shù)量Params,且與基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)相比,分別嵌入SPP、Ghost和組合模塊,準(zhǔn)確率提升5.58%、5.49%和8.36%,可以提高網(wǎng)絡(luò)對(duì)于番茄葉面病害的識(shí)別效果,驗(yàn)證了本研究方法的有效性。表中Time為測(cè)試集整體圖像識(shí)別時(shí)間(1500張圖像,單次輸入圖像數(shù)量為1),相比于基礎(chǔ)網(wǎng)絡(luò),改進(jìn)網(wǎng)絡(luò)的圖像識(shí)別時(shí)間均有所上升。
表1 組合試驗(yàn)對(duì)比Table 1 Comparison of combined tests
圖8 為本研究所提網(wǎng)絡(luò)結(jié)構(gòu)重參數(shù)化前后,測(cè)試集識(shí)別結(jié)果的混淆矩陣,可以發(fā)現(xiàn)兩者結(jié)果相同,病害識(shí)別準(zhǔn)確率均為98.53%。且通過(guò)試驗(yàn)結(jié)果分析,在合并卷積運(yùn)算和BN層前,測(cè)試集數(shù)據(jù)的識(shí)別時(shí)間為16.28s,合并卷積運(yùn)算和BN層后,測(cè)試集數(shù)據(jù)的識(shí)別時(shí)間為15.15s,識(shí)別時(shí)間降低6.94%。表明采用結(jié)構(gòu)重參數(shù)化后,并不會(huì)影響原有網(wǎng)絡(luò)性能,降低識(shí)別準(zhǔn)確率,而且通過(guò)分割訓(xùn)練和推理過(guò)程,可以有效提高網(wǎng)絡(luò)推理效率,減少圖像識(shí)別時(shí)間。
圖8 結(jié)構(gòu)重參數(shù)化混淆矩陣Figure 8 Structural reparameterized confusion matrix
為了進(jìn)一步驗(yàn)證本研究方法的有效性,在相同條件下同傳統(tǒng)網(wǎng)絡(luò)VGG16、ResNet50、InceptionV3以及輕量化網(wǎng)絡(luò)EfficientNet[18]、MobileNet[19]和ShuffleNet[20]進(jìn)行對(duì)比,番茄病害測(cè)試集圖像識(shí)別試驗(yàn)的結(jié)果如表2。本研究設(shè)計(jì)的網(wǎng)絡(luò)模型識(shí)別準(zhǔn)確率達(dá)到98.53%,與InceptionV3相同,但I(xiàn)nceptionV3在卷積過(guò)程中采用多尺度結(jié)構(gòu)進(jìn)行特征提取,降低網(wǎng)絡(luò)推理效率,提高圖像的識(shí)別時(shí)間,GSNet在保持高識(shí)別準(zhǔn)確率的同時(shí),識(shí)別時(shí)間更短,且相比于VGG16、ResNet50以及3種輕量化網(wǎng)絡(luò)EfficientNet、MobileNetV3和ShuffleNet,獲得最高的識(shí)別準(zhǔn)確率和最短的識(shí)別時(shí)間,進(jìn)一步驗(yàn)證了本研究方法的有效性。
表2 不同模型試驗(yàn)對(duì)比Table 2 Comparison of different model tests
應(yīng)用先進(jìn)的現(xiàn)代信息處理技術(shù)進(jìn)行農(nóng)作物病害的識(shí)別預(yù)防,是農(nóng)業(yè)的重要研究領(lǐng)域,也是農(nóng)業(yè)現(xiàn)代化的重要標(biāo)志。在農(nóng)作物病害識(shí)別過(guò)程中,相比于傳統(tǒng)圖像識(shí)別技術(shù)[21],深度學(xué)習(xí)與卷積神經(jīng)網(wǎng)絡(luò)憑借其強(qiáng)大的特征提取能力,有效降低了圖像識(shí)別技術(shù)上的操作難度,避免了人工提取過(guò)程中,對(duì)圖像信息的過(guò)度預(yù)處理。同時(shí)考慮到深度學(xué)習(xí)網(wǎng)絡(luò)所需的巨大計(jì)算資源,在本研究中設(shè)計(jì)了一種輕量化網(wǎng)絡(luò)結(jié)構(gòu):GSNet,采用Ghost模塊替換常規(guī)卷積層,并引入空間金字塔池化以解決網(wǎng)絡(luò)對(duì)輸入圖像尺寸的限制,提高了網(wǎng)絡(luò)的自適應(yīng)性。本研究中并未如文獻(xiàn)[10]與文獻(xiàn)[11]等,通過(guò)在網(wǎng)絡(luò)中疊加注意力機(jī)制與多尺度結(jié)構(gòu)來(lái)提高病害識(shí)別準(zhǔn)確率,避免了模型結(jié)構(gòu)復(fù)雜化以及多支路結(jié)構(gòu)帶來(lái)的顯存負(fù)擔(dān)[16]。
本研究結(jié)果表明,GSNet網(wǎng)絡(luò)取得了令人滿意的結(jié)果,病害識(shí)別準(zhǔn)確率達(dá)到98.53%,與InceptionV3網(wǎng)絡(luò)相同,相比于VGG16、ResNet50以及3種輕量化網(wǎng)絡(luò),識(shí)別準(zhǔn)確率分別提高14.53%、1.78%、2.77%、1.29%和4.33%,并取得最短的識(shí)別時(shí)間。同時(shí)通過(guò)分割網(wǎng)絡(luò)訓(xùn)練階段和推理階段,在推理網(wǎng)絡(luò)中合并卷積操作與BN層,能夠有效減少病害圖像識(shí)別時(shí)間,測(cè)試數(shù)據(jù)的識(shí)別時(shí)間由16.28s下降為15.15s,推理效率提高6.94%,能夠有效進(jìn)行作物的葉面病害識(shí)別工作,滿足農(nóng)業(yè)生產(chǎn)的實(shí)際需求。