謝建梅
(閩北職業(yè)技術(shù)學(xué)院信息系,南平 353000)
農(nóng)作物病蟲害是造成作物減產(chǎn)最主要的因素,及時(shí)識(shí)別農(nóng)作物病蟲害是保證農(nóng)作物正常生長的必要措施。目前人工識(shí)別作為主要的檢測方式,受經(jīng)驗(yàn)影響較大,存在漏檢、誤差等問題[1]。近年來圖像識(shí)別技術(shù)迅速發(fā)展,較為成熟的包括神經(jīng)網(wǎng)絡(luò)、決策樹以及支持向量機(jī)的分類算法[2]。Singh等[3]應(yīng)用優(yōu)化粒子群對神經(jīng)網(wǎng)絡(luò)算法進(jìn)行閾值優(yōu)化后,實(shí)現(xiàn)對柑橘葉片病蟲害分類識(shí)別。Zhou等[4]將遷移學(xué)習(xí)與淺口神經(jīng)網(wǎng)絡(luò)相結(jié)合,用于蘋果蟲害的特征識(shí)別,有效提升了蟲害葉片細(xì)節(jié)的特征識(shí)別。但上述研究存在研究環(huán)境相對簡單,均在室內(nèi)或相對單一的背景下,并不普遍適用于復(fù)雜的田間環(huán)境。基于此,本文探討了復(fù)雜背景的農(nóng)作物病蟲害的識(shí)別和分類,采用圖像處理技術(shù),提出改進(jìn)神經(jīng)網(wǎng)絡(luò)算法用于農(nóng)作物病蟲害的識(shí)別,采用Inception模型改善神經(jīng)網(wǎng)絡(luò)的計(jì)算性能,引入遷移模型提升算法的學(xué)習(xí)能力,在此基礎(chǔ)上提出了應(yīng)用神經(jīng)網(wǎng)絡(luò)遷移技術(shù)實(shí)現(xiàn)病蟲害的分類識(shí)別。對比試驗(yàn)表明,本文提出的算法與經(jīng)典分類算法相比,識(shí)別準(zhǔn)確率提升12%左右,可以有效提升農(nóng)作物病蟲害的識(shí)別效率,滿足生產(chǎn)實(shí)際的需要。
卷積神經(jīng)網(wǎng)絡(luò)由輸入層、隱含層以及輸出層三層結(jié)構(gòu)組成,由人體的神經(jīng)網(wǎng)絡(luò)啟發(fā)形成。不同網(wǎng)絡(luò)層以堆疊的形式構(gòu)成了整體的網(wǎng)絡(luò)架構(gòu),具體結(jié)構(gòu)如圖1所示[5]。卷積神經(jīng)網(wǎng)絡(luò)的核心為隱藏層和輸入層。而隱藏層的結(jié)構(gòu)更為復(fù)雜,包括卷積層、池化層和采樣層三部分。核心原理是使用卷積和池化操作,構(gòu)建有監(jiān)督學(xué)習(xí)式的訓(xùn)練網(wǎng),具體算法為:
(1)
式(1)中,s(i,j)代表用于標(biāo)識(shí)訓(xùn)練樣本特征的特征向量矩陣,訓(xùn)練樣本預(yù)處理矩陣使用M×N標(biāo)識(shí),wm,n代表二維預(yù)處理矩陣相對應(yīng)為M×N維卷積核矩陣,wb標(biāo)識(shí)了神經(jīng)網(wǎng)絡(luò)單元的偏移向量。訓(xùn)練過程中神經(jīng)元損失采用損失熵的方法計(jì)算,具體算法為:
(2)
式(2)中,L代表神經(jīng)元損失,x代表輸入樣本數(shù)據(jù),a代表訓(xùn)練結(jié)果,y代表特征向量值,n代表全部訓(xùn)練樣本的個(gè)數(shù)。
Inception模型重點(diǎn)對神經(jīng)網(wǎng)絡(luò)的隱藏層進(jìn)行預(yù)處理,包括對多層卷積層以及多層池化層堆積處理。其可以組合各種類型的卷積及池化操作,從而獲得相同像素的不同特征樣圖,并使用激勵(lì)函數(shù)對不同的特征樣圖按照通道進(jìn)行同類劃分和疊加[6-8]??紤]到多種類卷積操作產(chǎn)生的性能下降,該模式增加了瓶頸層設(shè)計(jì),以減少計(jì)算的層級(jí)提高效率。Inception模型的典型優(yōu)勢是對于神經(jīng)網(wǎng)絡(luò)內(nèi)部進(jìn)行充分挖掘和計(jì)算資源的應(yīng)用,實(shí)現(xiàn)了網(wǎng)絡(luò)層級(jí)和神經(jīng)元增加,但是計(jì)算資源耗費(fèi)量不增加[9]。目前該模式已經(jīng)升級(jí)到第三版,在原有版本的基礎(chǔ)上計(jì)算速度增加、表征性的瓶頸降低。本文使用第三版進(jìn)行神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化。
遷移學(xué)習(xí)是指在確定輸入源和輸入任務(wù)、輸出數(shù)據(jù)和輸出任務(wù)的約束下,充分學(xué)習(xí)輸入源到輸入任務(wù)的過程,進(jìn)一步改善輸出數(shù)據(jù)到輸出目標(biāo)的效率和性能,遷移學(xué)習(xí)的前提是輸入和輸出的環(huán)節(jié)各不相同[10]。遷移學(xué)習(xí)的原理是根據(jù)既定的知識(shí)規(guī)則模型,獲得對位置的模型學(xué)習(xí)和認(rèn)知,提升模型學(xué)習(xí)效率。目前,常用的遷移學(xué)習(xí)主要有實(shí)例法、特征集法、共享參數(shù)法、知識(shí)圖譜法[11]。
基于遷移學(xué)習(xí)及Inception模型對于神經(jīng)網(wǎng)絡(luò)不同角度的改善,本文提出了將遷移模型與Inception融合,進(jìn)行農(nóng)作物病蟲害的分類,本文以白菜病蟲害為研究對象,使用農(nóng)業(yè)數(shù)據(jù)集IrnageNet[12]。通過大量的訓(xùn)練得到Inception的元模型,提煉訓(xùn)練成功模型的各類參數(shù),標(biāo)記Inception模型中瓶頸層的特征向量點(diǎn)為分類特征項(xiàng),在此基礎(chǔ)上將提取的Inception特征向量作為全連接層,構(gòu)建新的神經(jīng)網(wǎng)絡(luò),進(jìn)行模型的遷移學(xué)習(xí),高效準(zhǔn)確識(shí)別農(nóng)作物病蟲害的分類。具體的執(zhí)行流程如圖2所示。執(zhí)行步驟包括:
Step1:使用數(shù)據(jù)集ImageNet生成Inception的輸入訓(xùn)練模型,提煉各個(gè)參數(shù),神經(jīng)網(wǎng)絡(luò)的瓶頸層參數(shù)設(shè)置為Inception的訓(xùn)練參數(shù)。
Step2:將經(jīng)過圖像分割預(yù)處理后的白菜病蟲害圖片作為神經(jīng)網(wǎng)絡(luò)的輸入層,計(jì)算特征項(xiàng)量集合,作為瓶頸層的特征向量。
Step3:依據(jù)不同的特征向量分類存儲(chǔ),避免迭代計(jì)算過程中出現(xiàn)大量重復(fù)計(jì)算。
Step4:根據(jù)Step獲得新的全連接層,通過神經(jīng)網(wǎng)絡(luò)分類算法進(jìn)行病蟲害的分類識(shí)別。
本文算法中的分類器采用改進(jìn)的SoftMax分類器,在原有的分類器的基礎(chǔ)上引入Logistics回歸模型的原理,將原有SoftMax的二分類模塊擴(kuò)展到多分類,建立一種實(shí)現(xiàn)多分類的有向監(jiān)督的回歸模型。
首先,定義包含m個(gè)已經(jīng)分類識(shí)別的樣本,組織一個(gè)全新的訓(xùn)練樣本集合,
{(xi,yi),.....,(xm,ym)}
(3)
公式(3)中,設(shè)定訓(xùn)練樣本的向量分布在0-1之間,其計(jì)算函數(shù)為:
(4)
對于訓(xùn)練模型的參數(shù)θ,通過公式(4)計(jì)算其最小代價(jià)值。
(5)
針對每個(gè)測試樣本輸入集x,通過公式(5)估算該測試樣本對應(yīng)全部類別的概率值p(y=j|x)。對應(yīng)k個(gè)估計(jì)的概率值對應(yīng)輸出k維概率向量,其對應(yīng)的假設(shè)函數(shù)為:
(6)
本試驗(yàn)選取了Cabage dataset數(shù)據(jù)集,選擇其中白菜病蟲害數(shù)據(jù)50個(gè)分類共計(jì)10 000張圖像,按照4∶1的比率劃分了訓(xùn)練集和測試集。通過多次反復(fù)試驗(yàn)測試發(fā)現(xiàn),本文的模型在訓(xùn)練大量數(shù)據(jù)樣本的過程中非常耗費(fèi)資源,其使用時(shí)間較長,基于此,本文采用創(chuàng)新分組、迭代試驗(yàn)的方式開展測試。并選取了原始的基于神經(jīng)網(wǎng)絡(luò)圖像識(shí)別算法[13-14]、支持向量機(jī)分類[15-16]模型作為比對試驗(yàn)。
由表1可知,相同的數(shù)據(jù)集對于兩個(gè)經(jīng)典算法分類的準(zhǔn)確率低于90%,對比而言,卷積神經(jīng)網(wǎng)絡(luò)算法要優(yōu)于支持向量機(jī),而本文對于卷積網(wǎng)絡(luò)模型進(jìn)行了遷移學(xué)習(xí)、Inception模型、改進(jìn)分類器等關(guān)鍵的優(yōu)化后,分類準(zhǔn)確率提升12%。在執(zhí)行性能上,每一類識(shí)別的平均時(shí)間為71~76 s,對比原始算法,本文的執(zhí)行性能有明顯提升,這是因?yàn)橐氲倪w移算法在圖像預(yù)處理階段降低了神經(jīng)網(wǎng)絡(luò)的特征向量維度,后續(xù)的構(gòu)建及分類過程性能得以大幅提升。
表1 不同算法結(jié)果對比
為了進(jìn)一步比較本文提出算法的有效性,從ImageNet數(shù)據(jù)集中選擇了向日葵、馬鈴薯、黃瓜病蟲害的圖像數(shù)據(jù)庫中9 000張樣圖,平均分為3組,每組按照2∶1的比率劃分訓(xùn)練集與測試集,共計(jì)完成3組比對試驗(yàn),獲得試驗(yàn)準(zhǔn)確率對比如圖3所示。由圖3可知,第一組為向日葵病蟲害,第二組為馬鈴薯病蟲害,第三組為黃瓜病蟲害,對比試驗(yàn)顯示,本文提出的基于圖像處理的病蟲害算法在對向日葵與黃瓜等大葉片類農(nóng)作物的分類準(zhǔn)確率均在90%以上,對比小葉片類農(nóng)作物的病蟲害識(shí)別準(zhǔn)確率更高。同樣,本文改進(jìn)算法對比原始算法以及支持向量機(jī)算法的識(shí)別準(zhǔn)確率有明顯的優(yōu)越性。
表2 本文改進(jìn)算法應(yīng)用不同數(shù)據(jù)結(jié)果對比
由圖4可知,當(dāng)?shù)芜_(dá)到4萬次時(shí),本文改進(jìn)算法的收斂速度下降50%,總損失僅為1 000,對比原始算法性能突出。第三方面,關(guān)于本文改進(jìn)算法的魯棒性比對試驗(yàn)如表2所示,本文的模型在農(nóng)作物數(shù)據(jù)集Cabage dataset的準(zhǔn)確率為98%,比其他數(shù)據(jù)集提高2~6個(gè)百分點(diǎn),更適合于復(fù)雜環(huán)境的分類識(shí)別。
本文提出改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)圖像的識(shí)別算法,結(jié)合卷積神經(jīng)網(wǎng)絡(luò)具有的共享權(quán)值、可以自學(xué)習(xí)提取分類特征、完成網(wǎng)絡(luò)訓(xùn)練的優(yōu)勢,在模型訓(xùn)練階段通過歸納遷移算法構(gòu)建模型網(wǎng)絡(luò)及共享特征參數(shù),圖像分類過程中使用交叉熵?fù)p失函數(shù)提升模型的泛化性以及分類的準(zhǔn)確率。結(jié)果表明,本文提出的算法在模型訓(xùn)練上速度更快,對于不同的數(shù)據(jù)集平均識(shí)別準(zhǔn)確率達(dá)到96.2%,對于不同數(shù)據(jù)集的泛化能力較強(qiáng),優(yōu)勢明顯。另外,由于本文提出的歸納遷移算法需要反復(fù)迭代造成性能有所下降,后續(xù)需要進(jìn)一步研究改進(jìn)。
吉林農(nóng)業(yè)科技學(xué)院學(xué)報(bào)2021年6期