王磊,袁英,高玲
(黃河水利職業(yè)技術(shù)學(xué)院電氣工程學(xué)院,河南開(kāi)封,475004)
番茄在人們?nèi)粘J卟祟愞r(nóng)產(chǎn)品中的消耗量較大,番茄在種植過(guò)程中易受各種環(huán)境因素影響,導(dǎo)致各種病害發(fā)生,因此及早識(shí)別病害的種類有利于采取有效的防治措施[1]。
James等[2]使用k均值聚類對(duì)六種不同類型的番茄病害樣品分割,具有良好的分割效果。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)對(duì)番茄病害識(shí)別具有較好的效果[3],但是卷積神經(jīng)網(wǎng)絡(luò)識(shí)別效果依賴于參數(shù)的設(shè)定,訓(xùn)練過(guò)程中有許多的超參數(shù)與權(quán)值需要優(yōu)化。Wu等[4]提出VAE網(wǎng)絡(luò)模型,用多尺度殘差學(xué)習(xí)模塊代替單尺度卷積核來(lái)豐富提取的特征,用于擴(kuò)展訓(xùn)練集以訓(xùn)練識(shí)別模型。Abbas等[5]使用遷移學(xué)習(xí)和C-GAN合成圖像檢測(cè)番茄病害,利用條件生成對(duì)抗網(wǎng)絡(luò)生成番茄植物葉片的合成圖像,模型使用遷移學(xué)習(xí)在合成圖像和真實(shí)圖像上進(jìn)行訓(xùn)練,將番茄葉子圖像分為10類疾病。Brahimi等[6]應(yīng)用CNN轉(zhuǎn)移和深度學(xué)習(xí)提取的番茄特征,所有獲得的特征通過(guò)SVM和KNN進(jìn)行分類。Fuentes等[7]使用不同分辨率的相機(jī)設(shè)備在現(xiàn)場(chǎng)拍攝的圖像來(lái)檢測(cè)番茄植株中的病蟲(chóng)害。Rangarajan等[8]提出基于深度學(xué)習(xí)的AlexNet和VGG16net架構(gòu),分析了圖像數(shù)量和超參數(shù)對(duì)分類精度和執(zhí)行時(shí)間的影響。多尺度AlexNet(Multi-Scale AlexNet,MSAN)神經(jīng)網(wǎng)絡(luò)模型[9],去除神經(jīng)網(wǎng)絡(luò)局部響應(yīng)的歸一化層、卷積核依據(jù)尺度改變、更改全連接層,番茄葉部病害早中晚期的平均識(shí)別準(zhǔn)確率達(dá)到 92.7%。注意力神經(jīng)網(wǎng)絡(luò)模型(Attentional Neural Network,ANN)通過(guò)注意力特性設(shè)置注意力并行模塊對(duì)番茄特征提取[10],利用數(shù)據(jù)殘差構(gòu)建PARNet模型,識(shí)別準(zhǔn)確率優(yōu)于VGG16、ResNet50等網(wǎng)絡(luò)結(jié)構(gòu)。注意力殘差機(jī)制(Attention Residual Mechansm,ARM)卷積神經(jīng)網(wǎng)絡(luò)模型[11],設(shè)置多層注意力模塊,通過(guò)分層抽取病害信息,能夠解決早期病特征不易提取問(wèn)題,識(shí)別結(jié)果高于其他模型。多尺度和注意力機(jī)制(Multi-Scale And Attention Mechanism,MSAM)神經(jīng)網(wǎng)絡(luò)模型[12],增加番茄病害信息,同時(shí)抑制干擾信息,利用遷移學(xué)習(xí)減少過(guò)擬合發(fā)生,番茄常見(jiàn)葉片圖像分類準(zhǔn)確率較高。深度殘差網(wǎng)絡(luò)的神經(jīng)網(wǎng)絡(luò)模型(Deep Residual Network,DRN),利用貝葉斯算法降低了深度學(xué)習(xí)網(wǎng)絡(luò)的訓(xùn)練難度[13],殘差單元提高過(guò)深層次病害識(shí)別網(wǎng)絡(luò)模型性能,最終模型對(duì)番茄4種病害識(shí)別準(zhǔn)確率達(dá)到 95%以上。Fuentes等[7]結(jié)合VGG等深度特征提取器,構(gòu)建基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)、基于區(qū)域的全卷積網(wǎng)絡(luò)及單鏡頭多盒檢測(cè)器訓(xùn)練端到端系統(tǒng),對(duì)9種番茄病害進(jìn)行識(shí)別。
以上算法是對(duì)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的改變,沒(méi)有對(duì)卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)優(yōu)化,在訓(xùn)練過(guò)程不易獲得最佳參數(shù)。本文提出改進(jìn)宇宙算法與卷積神經(jīng)網(wǎng)絡(luò)(Improved Multi Verse Optimizer and Convolutional Neural Network,IMVOCNN)結(jié)合進(jìn)行番茄病害識(shí)別,對(duì)番茄病害多特征進(jìn)行提取,通過(guò)改進(jìn)宇宙算法優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)參數(shù),仿真驗(yàn)證算法的有效性。
Mirjalili等[14]提出智能優(yōu)化算法多元宇宙(Multi Verse Optimization,MVO),模擬宇宙中的物質(zhì)在黑洞、白洞和蟲(chóng)洞共同作用下的膨脹或收縮行為。多元宇宙中的物質(zhì)通過(guò)蟲(chóng)洞在白洞與黑洞之間轉(zhuǎn)移,白洞擁有較強(qiáng)的斥力,能夠?qū)⑽镔|(zhì)釋放;黑洞擁有較強(qiáng)的引力,能夠?qū)⑽镔|(zhì)吸收。膨脹率較高的宇宙具有白洞特性,而膨脹率較低的宇宙具有黑洞特性,因此宇宙大部分物質(zhì)從高膨脹率物體向低膨脹率的物體移動(dòng),物質(zhì)隨機(jī)移動(dòng)的通道為蟲(chóng)洞。最終宇宙?zhèn)€體在萬(wàn)有引力作用通過(guò)位置的更新使得整個(gè)宇宙達(dá)到平衡狀態(tài)。
1.2.1 基于多方向的多元宇宙空間結(jié)構(gòu)模型
目前多元宇宙算法沒(méi)有考慮多元宇宙空間結(jié)構(gòu),物質(zhì)在白洞向黑洞移動(dòng)方向單一,算法在后期的宇宙多樣性無(wú)法保證,使得數(shù)據(jù)尋優(yōu)存在盲目性,導(dǎo)致算法無(wú)法獲得全局最優(yōu)解。為了使得物質(zhì)移動(dòng)具有多方向性,增加空間通道蟲(chóng)洞的端口數(shù)量,這樣相當(dāng)于宇宙可以進(jìn)行加速膨脹。蟲(chóng)洞兩端的端口數(shù)量可有不同,這樣多個(gè)宇宙的物質(zhì)從白洞向黑洞轉(zhuǎn)移過(guò)程中,每個(gè)宇宙具有各自的通道,端口終端的宇宙物質(zhì)可并行進(jìn)入各自的黑洞,宇宙膨脹將加速進(jìn)行,不再受擁擠通道數(shù)量的約束;若主通道只有某個(gè)宇宙物質(zhì)在膨脹轉(zhuǎn)移,則端口終端全部為該宇宙開(kāi)放;白洞側(cè)的端口數(shù)量多于黑洞側(cè)的端口數(shù)量,這是因?yàn)橛钪嫖镔|(zhì)初始時(shí)從白洞出發(fā)的速度較慢,離黑洞越近則速度越快,為了提高通道利用率而不過(guò)多的增加通道數(shù)量,白洞側(cè)的端口數(shù)量與黑洞側(cè)的端口數(shù)量之比在[1.5,2]之間。這樣在蟲(chóng)洞多端口結(jié)構(gòu)下,每次迭代進(jìn)化增加了多元宇宙空間物質(zhì)轉(zhuǎn)移的效率。
1.2.2 基于雙向運(yùn)動(dòng)的宇宙信息轉(zhuǎn)移模型
基本宇宙算法物質(zhì)從高膨脹率物體向低膨脹率物體移動(dòng),這種運(yùn)動(dòng)的方向只有宇宙物質(zhì)的膨脹率改變時(shí)才能改變[15],但是宇宙的膨脹率是一個(gè)非線性逐漸增大的過(guò)程,不易使低膨脹率物體向高膨脹率物體移動(dòng),這種宇宙信息轉(zhuǎn)移運(yùn)動(dòng)具有單一性,不利于宇宙信息的多樣性形成。增加宇宙的雙向運(yùn)動(dòng),即在原有運(yùn)動(dòng)方向的基礎(chǔ)上,設(shè)置宇宙的反向運(yùn)動(dòng),有部分物質(zhì)從低膨脹率物體向高膨脹率物體逆向移動(dòng),逆向移動(dòng)宇宙物質(zhì)被選擇概率如式(1)所示。
(1)
式中:R——逆向移動(dòng)宇宙物質(zhì)從黑洞移到最近白洞的距離,R≠0,km;
xλ,t——第λ個(gè)黑洞周圍的第t個(gè)宇宙;
N——宇宙數(shù)量總規(guī)模,個(gè);
f(xλ,t)——xλ,t的適應(yīng)度。
這樣黑洞與白洞相隔越近的物質(zhì),越易被移動(dòng),從而使得逆向移動(dòng)宇宙加速移動(dòng),消耗較少的時(shí)間可以達(dá)到白洞。
0.7≤p(xλ,t,R)<1的宇宙才進(jìn)行逆向交流,0
(2)
式中:rand——隨機(jī)因子,服從均勻分布,rand∈[0,1];
n——黑洞總數(shù);
hij——白洞i到黑洞j的間距,km;
l——白洞迭代進(jìn)化次數(shù);
γ——宇宙t的信息正向交流系數(shù),γ∈[0.5,1];
rt——宇宙t的膨脹系數(shù),rt∈[0,1]。
易非不知道怎么得罪他們了,她愣在門(mén)口,自我檢討了好久,也沒(méi)想到自己錯(cuò)在哪里了。她只得換了拖鞋,含著眼淚,回到了自己的小房里。她栓了門(mén),打開(kāi)電腦,給陳留在QQ上留了言——同在一個(gè)屋檐下,易非連給他打電話的空間都沒(méi)有。
(3)
式中:hi′j′——黑洞i′到白洞j′的間距,km;
m——白洞總數(shù);
l′——黑洞迭代進(jìn)化次數(shù);
γ′——宇宙t′的信息逆向交流系數(shù),γ′∈[0,0.5];
r′t′——宇宙t′的收縮系數(shù),r′t′∈[0,1]。
1.2.3 基于非線性調(diào)節(jié)的膨脹率修正
宇宙在膨脹過(guò)程中,其自身的膨脹率r屬于固定不變[16],這不利于宇宙的進(jìn)化尋優(yōu),因此在宇宙的初始階段,應(yīng)增大宇宙的膨脹率,以便宇宙能夠以較大的膨脹率r進(jìn)行全局探索;而在宇宙的后期尋優(yōu)階段,應(yīng)減小宇宙的膨脹率r,使得宇宙能夠進(jìn)行局部開(kāi)發(fā),以便在較優(yōu)解周圍獲得最優(yōu)解。通過(guò)非線性調(diào)節(jié)對(duì)宇宙的膨脹率r修正如式(4)所示。修正后的膨脹率κ隨T′/T變化如圖1所示。
圖1 κ隨T′/T變化
κ=r×Z×T′/T
(4)
式中:T′——宇宙進(jìn)化迭代次數(shù);
T——宇宙進(jìn)化迭代總次數(shù);
Z——z形隸屬函數(shù)。
從圖1可以看出,κ隨T′/T非線性遞減變化,T′/T的比值越小,κ取值越大,T′/T的比值越大,κ取值越小,這樣便于宇宙在不同的迭代時(shí)候使用不同的膨脹率。
在卷積神經(jīng)網(wǎng)絡(luò)識(shí)別番茄病害的過(guò)程中,病害特征提取起到了決定性作用[17],番茄病害特征在紋理、顏色和形狀等以及在不同時(shí)期具有差異性,并且病害在番茄葉片上分布相對(duì)局部。對(duì)番茄病害的紋理特征提取5個(gè),用于描述病斑表面結(jié)構(gòu),包括灰度共生矩陣的角二階矩、對(duì)比度、逆差分矩、相關(guān)性和熵。對(duì)番茄病害的顏色特征提取9個(gè),包括彩色系中RGB值,色度系中RGB相應(yīng)的比例值,與HIS顏色系中HIS值。對(duì)番茄病害的形狀特征提取5個(gè),包括圓形性、矩形度、球狀性、偏心率、伸長(zhǎng)度。將紋理特征、顏色特征、形狀特征共計(jì)19個(gè)特征值作為卷積神經(jīng)網(wǎng)絡(luò)的輸入。
卷積神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)中的關(guān)鍵函數(shù)為激活函數(shù)與損失函數(shù)[18-19]。
激活函數(shù)為Sigmoid,如式(5)所示。
(5)
損失函數(shù)為交叉熵?fù)p失函數(shù),如式(6)所示。
(6)
式中:ys——第s個(gè)訓(xùn)練樣本xs的標(biāo)簽;
K——輸出分類總數(shù);
yb——第b個(gè)訓(xùn)練樣本xb的標(biāo)簽;
B——訓(xùn)練樣本總數(shù)。
交叉熵?fù)p失函數(shù)值越小,則實(shí)際輸出概率與期望輸出概率的差異度就越小。
由于卷積神經(jīng)網(wǎng)絡(luò)性能嚴(yán)重依賴于權(quán)重等參數(shù),不同權(quán)重參數(shù)值往往使得網(wǎng)絡(luò)表現(xiàn)不同性能,同時(shí)權(quán)重參數(shù)的較小誤差在通過(guò)多層的反向傳播使得誤差放大,最終使得調(diào)整出來(lái)的權(quán)值和閾值與理想值相差遠(yuǎn),導(dǎo)致卷積神經(jīng)網(wǎng)絡(luò)不收斂,訓(xùn)練時(shí)間過(guò)長(zhǎng)。在多元宇宙優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)參數(shù)時(shí),卷積神經(jīng)網(wǎng)絡(luò)中需要訓(xùn)練的參數(shù)當(dāng)作多元宇宙算法中的一個(gè)宇宙,將訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)得到的交叉熵?fù)p失函數(shù)值作為改進(jìn)多元宇宙的適應(yīng)度值,如果多元宇宙的適應(yīng)度值收斂到一定閾值范圍內(nèi),停止算法尋優(yōu)。
利用統(tǒng)計(jì)學(xué)斯皮爾曼相關(guān)系數(shù)ρ確定多元宇宙的優(yōu)化次數(shù)。當(dāng)ρ越接近1時(shí),即可確定優(yōu)化最小閾值。
(7)
式中:xp——優(yōu)化隨機(jī)變量集合X中的元素,個(gè);
yp——優(yōu)化隨機(jī)變量集合Y中的元素,個(gè);
M——隨機(jī)變量總數(shù);
p——隨機(jī)變量標(biāo)號(hào);
dp——xp、yp排序之間差值。
計(jì)算識(shí)別精度的穩(wěn)定度V如式(8)所示。
(8)
式中:accuracyk[u]——第k次迭代的第u個(gè)宇宙的識(shí)別精度,%。
N——宇宙總數(shù);
μ——識(shí)別精度均值;
σ——識(shí)別精度方差。
當(dāng)宇宙在最優(yōu)位置附近尋優(yōu)時(shí),利用識(shí)別精度的穩(wěn)定度最小化準(zhǔn)則,如果相鄰兩次的穩(wěn)定度V保持不變,此時(shí)最優(yōu)值已接近極限,繼續(xù)逼近最優(yōu)值已無(wú)意義。
算法流程如下:(1)隨機(jī)初始化多元宇宙參數(shù);(2)隨機(jī)初始化卷積神經(jīng)網(wǎng)絡(luò)權(quán)重,訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò);(3)交叉熵?fù)p失函數(shù)值作為宇宙的適應(yīng)度;(4)宇宙體雙向運(yùn)動(dòng)更新宇宙信息;(5)判斷是否滿足識(shí)別精度的穩(wěn)定度,則進(jìn)行步驟(5),否則進(jìn)行步驟(4);(6)輸出識(shí)別結(jié)果。
數(shù)據(jù)集采用Plant leaf diseases dataset中的Tomatoes,涉及番茄的病害類型有細(xì)菌斑、早疫病、晚疫病、葉霉菌、葉斑病、蜘蛛螨,病害典型圖像如圖2所示,每種類型200幅圖像,共計(jì)1 200幅,其中訓(xùn)練集900幅圖像,測(cè)試集300幅圖像。
圖2 番茄病害圖像
試驗(yàn)PC配置:CPU為Intel Core i7-7800X @ 3.50 GHz、內(nèi)存16 GB、IntelH61主板,集成Nvidia GeForce GT 720,Matlab2014實(shí)現(xiàn)仿真。多元宇宙數(shù)量為400個(gè),蟲(chóng)洞的單側(cè)端口最大數(shù)量為6個(gè),γ=0.85,rt=0.35,γ′=0.15,rt′=0.25,T=300。卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)包含4個(gè)卷積層,卷積核尺寸大小分別設(shè)置為3×3,3×3,5×5和5×5,3個(gè)池化層,2個(gè)全連接層和1個(gè)識(shí)別層。
卷積神經(jīng)網(wǎng)絡(luò)算法結(jié)構(gòu)包括:輸入層、卷積層、池化層、激活層、損失層、全連接層,其中輸入層為三通道,卷積層通過(guò)3×3卷積核進(jìn)行特征提取,移動(dòng)步長(zhǎng)為1,池化層采用最大值池化方法,激活層函數(shù)采用Sigmoid函數(shù),損失層函數(shù)采用交叉熵?fù)p失函數(shù),全連接層將獲取的番茄病害圖像特征信息轉(zhuǎn)化為各個(gè)病害分類的概率,Softmax最終給出番茄病害識(shí)別結(jié)果。對(duì)卷積神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練階段設(shè)置最大訓(xùn)練次數(shù)為50,通過(guò)交叉熵?fù)p失函數(shù)和識(shí)別正確率來(lái)驗(yàn)證訓(xùn)練、測(cè)試的效果,交叉熵?fù)p失函數(shù)值越小,識(shí)別正確率越大,則多元宇宙優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)算法越好。圖3、圖4分別給出了訓(xùn)練集和測(cè)試集交叉熵?fù)p失函數(shù)、識(shí)別正確率曲線結(jié)果。
圖3 交叉熵?fù)p失函數(shù)曲線結(jié)果
圖4 識(shí)別正確率曲線結(jié)果
從圖3可以看出,隨著迭代次數(shù)的增加,優(yōu)化前、優(yōu)化后訓(xùn)練集、測(cè)試集的交叉熵?fù)p失函數(shù)值曲線呈現(xiàn)下降的趨勢(shì),逐漸趨于穩(wěn)定,但是多元宇宙優(yōu)化后的交叉熵?fù)p失函數(shù)值小于優(yōu)化前,說(shuō)明優(yōu)化能夠使得輸出概率與期望輸出概率差異性降低。從圖4可以看出,隨著迭代次數(shù)的增加,優(yōu)化前、優(yōu)化后訓(xùn)練集快速上升,然后逐漸穩(wěn)定在較高的識(shí)別正確率,但是多元宇宙優(yōu)化后的識(shí)別正確率值大于優(yōu)化前,說(shuō)明優(yōu)化能夠提高番茄病害的識(shí)別正確率。
在番茄病害識(shí)別過(guò)程中,涉及的算法有:CNN、MSAN、ANN、ARM、MSAM、IMVOCNN,各個(gè)算法的訓(xùn)練時(shí)長(zhǎng)、運(yùn)行時(shí)占用內(nèi)存如表1所示。
表1 不同算法訓(xùn)練時(shí)長(zhǎng)、占用內(nèi)存對(duì)比Tab. 1 Comparison of training time and memory occupied by different algorithms
從表1可以看出,IMVOCNN算法訓(xùn)練時(shí)長(zhǎng)較短,運(yùn)行時(shí)占用內(nèi)存較少,這樣便于番茄病害識(shí)別。
通過(guò)蒙特卡羅30次仿真試驗(yàn),識(shí)別正確率結(jié)果和識(shí)別消耗時(shí)間如表2所示。對(duì)番茄病害細(xì)菌斑、早疫病、晚疫病、葉霉菌、葉斑病、蜘蛛螨識(shí)別區(qū)域如圖5所示。
表2 不同算法對(duì)番茄病害識(shí)別正確率結(jié)果Tab. 2 Accuracy results of various algorithms for tomato disease recognition
圖5 番茄病害識(shí)別區(qū)域結(jié)果
從表2可以看出,本文算法對(duì)番茄各種病害識(shí)別正確率較高,細(xì)菌斑平均值為97.34%,早疫病平均值為97.03%,晚疫病平均值為97.08%,葉霉菌平均值為97.14%,葉斑病平均值為97.12%,蜘蛛螨平均值為97.20%。其他算法識(shí)別對(duì)番茄病害識(shí)別正確率小于本文算法,這是因?yàn)楦倪M(jìn)宇宙算法用于卷積神經(jīng)網(wǎng)絡(luò)的損失函數(shù)優(yōu)化中,降低了卷積神經(jīng)網(wǎng)絡(luò)參數(shù)難于設(shè)置問(wèn)題,在保證收斂速度的前提下,明顯提升了算法的全局搜索能力,提高了識(shí)別正確率。
從表3可以看出,本文算法對(duì)番茄各種病害識(shí)別消耗時(shí)間較少,細(xì)菌斑平均值為1.03 s,早疫病平均值為1.01 s,晚疫病平均值為1.02 s,葉霉菌平均值為1.02 s,葉斑病平均值為1.01 s,蜘蛛螨平均值為1.03 s,其他算法識(shí)別對(duì)番茄病害識(shí)別消耗時(shí)間大于本文算法,不利于番茄實(shí)時(shí)識(shí)別的需求。
表3 不同算法對(duì)番茄病害識(shí)別消耗時(shí)間結(jié)果Tab. 3 Time consuming results of various algorithms for tomato disease recognition
1) 為了提高番茄病害識(shí)別效果,提出了一種基于改進(jìn)多元宇宙算法進(jìn)行番茄病害圖像識(shí)別,多元宇宙中增加空間通道蟲(chóng)洞的端口數(shù)量,宇宙進(jìn)行加速膨脹。
2) 改進(jìn)多元宇宙算法對(duì)番茄各種病害識(shí)別正確率較高,細(xì)菌斑識(shí)別正確率比CNN、MSAN、ANN、ARM、MSAM算法提高了3.33%、2.83%、2.26%、1.44%、0.88%;早疫病識(shí)別正確率比CNN、MSAN、ANN、ARM、MSAM算法提高了2.9%、2.41%、1.92%、1.15%、0.53%;晚疫病識(shí)別正確率比CNN、MSAN、ANN、ARM、MSAM算法提高了2.86%、2.37%、1.87%、1.10%、0.48%。
3) 改進(jìn)多元宇宙算法對(duì)番茄各種病害識(shí)別消耗時(shí)間較少,細(xì)菌斑識(shí)別消耗時(shí)間比CNN、MSAN、ANN、ARM、MSAM算法減少了0.53 s、0.45 s、0.36 s、0.30 s、0.23 s;早疫病識(shí)別消耗時(shí)間比CNN、MSAN、ANN、ARM、MSAM算法減少了0.51 s、0.44 s、0.38 s、0.29 s、0.25 s;晚疫病識(shí)別消耗時(shí)間比CNN、MSAN、ANN、ARM、MSAM算法減少了0.55 s、0.47 s、0.35 s、0.32 s、0.24 s。