丁永軍 張晶晶 李民贊
(1.蘭州城市學(xué)院電子與信息工程學(xué)院, 蘭州 730070; 2.西北師范大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院, 蘭州 730070;3.中國農(nóng)業(yè)大學(xué)現(xiàn)代精細(xì)農(nóng)業(yè)系統(tǒng)集成研究教育部重點(diǎn)實(shí)驗(yàn)室, 北京 100083)
近年來,受連作障礙、病害等因素影響,蘭州百合產(chǎn)量和品質(zhì)明顯下降。百合產(chǎn)量由之前的約2.25×104kg/hm2下降到1.50×104kg/hm2,獨(dú)頭率下降30%以上[1]。其中,灰霉病、鱗莖腐爛病是百合生產(chǎn)中的主要病害,發(fā)病率高達(dá)100%[2]。
隨著深度學(xué)習(xí)理論的不斷完善,在病蟲害檢測方面也取得了很多成果。主要有基于AlexNet[3]、VGGNet[4]、GoogleNet[5]、ResNet[6]、SqueezeNet[7]、Inception[8]、MobileNets[9]等經(jīng)典CNN網(wǎng)絡(luò)架構(gòu)的病蟲害識(shí)別研究,以及通過引入R-CNN、R-FCN、SSD[10]、參數(shù)共享反饋[11]、ShuffleNet Unit[12]、UnitedModel[13]、三通道卷積[14]等模塊,來優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)、提高病蟲害檢測精度及泛化能力的研究。文獻(xiàn)[15]引入遷移學(xué)習(xí),實(shí)現(xiàn)了少量樣本條件下的病蟲害識(shí)別。文獻(xiàn)[16]對(duì)深度模型可視化進(jìn)行病蟲害檢測機(jī)理研究。在實(shí)際生產(chǎn)環(huán)境中,圖像容易受噪聲、形變等影響,而且百合葉片呈狹長披針形,灰霉病斑容易粘連,堆放貯藏也給鱗莖腐爛病的檢測帶來不利影響。因此,上述研究很難直接應(yīng)用于百合病害診斷。
圖1 圖像預(yù)處理示例Fig.1 Examples of image preprocessing
膠囊網(wǎng)絡(luò)于2017年由Geoffrey Hinton提出,出現(xiàn)了動(dòng)態(tài)路由、期望最大化路由、堆疊膠囊自編碼器等一系列理論,在自動(dòng)駕駛[17]、語義編碼[18]、醫(yī)學(xué)圖像分析[19]等領(lǐng)域都得到了成功應(yīng)用。JIMENEZ-SANCHEZ等[20]研究表明,膠囊網(wǎng)絡(luò)對(duì)于處理樣本不均衡問題效果更優(yōu)。NGUYEN等[21]研究發(fā)現(xiàn),對(duì)VGG-16和膠囊網(wǎng)絡(luò)進(jìn)行整合能有效降低過擬合、提高檢測精度。賈少鵬等[22]選用300幅番茄灰霉病圖像,構(gòu)建卷積膠囊網(wǎng)絡(luò),并進(jìn)行病害識(shí)別,但并未研究模型抗干擾及膠囊尺寸對(duì)模型的影響。膠囊網(wǎng)絡(luò)的優(yōu)勢在于“同變性”,即觀測對(duì)象在位置、旋轉(zhuǎn)、傾斜度、尺寸等方面發(fā)生的改變都可以由一組向量進(jìn)行表達(dá),可以有效抑制圖像噪聲、形變以及檢測物重疊等不利因素的影響。
本文以蘭州百合為研究對(duì)象,在VGG-16卷積網(wǎng)絡(luò)的基礎(chǔ)上,構(gòu)建百合灰霉病及鱗莖腐爛病卷積膠囊識(shí)別網(wǎng)絡(luò),從抗干擾能力、膠囊尺寸、時(shí)間線監(jiān)控等多方面進(jìn)行分析。
2018年11月及2019年7月,分別于蘭州七里河區(qū)黃峪鄉(xiāng)百合冷藏庫和蘭州榆中縣園子岔鄉(xiāng),在自然光照條件下采集腐爛磷莖、健康磷莖、灰霉葉片、健康葉片圖像,又通過網(wǎng)絡(luò)收集相關(guān)圖像用于擴(kuò)充圖像庫。最終共采集圖像2 427幅,其中腐爛磷莖482幅、健康磷莖685幅、灰霉葉片397幅、健康葉片863幅。
為解決所采集樣本中種類不均衡問題,采用圖像旋轉(zhuǎn)、水平平移、垂直平移、亮度調(diào)整、圖像縮放等數(shù)據(jù)增強(qiáng)技術(shù)進(jìn)一步擴(kuò)充圖像集,達(dá)到數(shù)據(jù)均衡、避免過擬合的目的。數(shù)據(jù)增強(qiáng)的實(shí)現(xiàn)借助Keras中的ImageDataGenerator模塊,最終每類圖像均包含2 250幅。圖1為4類圖像預(yù)處理示例。
將動(dòng)態(tài)路由膠囊結(jié)構(gòu)嵌入VGG-16深度卷積模型,替代3個(gè)全連接層,構(gòu)造卷積膠囊網(wǎng)絡(luò),用以實(shí)現(xiàn)百合病害識(shí)別。卷積膠囊網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,整個(gè)網(wǎng)絡(luò)分為VGG和膠囊兩部分。
圖2 卷積膠囊結(jié)構(gòu)Fig.2 Structure of convolutional capsule network
1.3.1VGG部分
VGG深度卷積模型由牛津大學(xué)視覺幾何組提出,具有局部連接、權(quán)值共享、參數(shù)精簡等特點(diǎn)。整個(gè)VGG結(jié)構(gòu)中共使用4個(gè)池化窗口尺寸為2×2、滑動(dòng)步長為2的Max pooling層,將特征圖減小為原尺寸的1/2,同時(shí)把13個(gè)卷積層分成5個(gè)模塊,每個(gè)模塊又由連續(xù)堆疊的2個(gè)或3個(gè)卷積層組成,每個(gè)卷積層使用3×3 的卷積核,提取多種尺度下的圖像特征。卷積過程中采用same padding模式,反復(fù)卷積和池化之后,5個(gè)模塊形成的特征圖尺寸分別為224×224×64、112×112×128、56×56×256、28×28×512、14×14×512。另外,對(duì)每個(gè)卷積層均使用ReLU激勵(lì)函數(shù),引入非線性變換,以增強(qiáng)VGG模型的表達(dá)能力。
1.3.2膠囊部分
典型的膠囊網(wǎng)絡(luò)包含卷積層、主膠囊層和數(shù)字膠囊層。主膠囊層通過卷積將特征圖轉(zhuǎn)換成一組特定長度的向量。本文卷積膠囊網(wǎng)絡(luò)采用13層VGG卷積,得到規(guī)格為14×14×512的特征圖,在卷積膠囊網(wǎng)絡(luò)中使用Reshape層替代主膠囊層,形成12 544個(gè)長度為8的向量,通過squash函數(shù)對(duì)各個(gè)向量進(jìn)行壓縮,生成一組方向不變的單位向量(u1,u2,…,ui)作為Reshape主膠囊層的輸出,即
(1)
Reshape主膠囊層與數(shù)字膠囊層間使用全連接方式,數(shù)字膠囊層中各向量均由Reshape主膠囊層的輸出向量動(dòng)態(tài)路由得到,動(dòng)態(tài)路由算法原理如圖3所示。
圖3 膠囊間的動(dòng)態(tài)路由 Fig.3 Dynamic routing between capsules
ui對(duì)數(shù)字膠囊層中輸出膠囊vj的預(yù)測膠囊j|i為
j|i=Wijui
(2)
式中ui——Reshape主膠囊層第i個(gè)輸出向量
Wij——轉(zhuǎn)換矩陣
Reshape主膠囊層的匯總向量sj為
(3)
其中
(4)
式中cij——各預(yù)測膠囊的權(quán)重,其值反映了預(yù)測膠囊與輸出膠囊間的相似性
bij——預(yù)測膠囊i連接到輸出膠囊j的先驗(yàn)概率,初始值為0,其值根據(jù)路由算法迭代更新,并更新權(quán)重cij
再將sj經(jīng)過squash函數(shù)標(biāo)準(zhǔn)化后得到輸出向量vj。更新連接先驗(yàn)概率bij及權(quán)重系數(shù)cij。
bij+j|ivj→bij→cij
進(jìn)行下一輪迭代,計(jì)算出更新后的輸出向量vj,3次迭代后最終確定輸出向量,最后根據(jù)向量范數(shù)計(jì)算分類預(yù)測的概率。
利用間隔損失函數(shù)
Lk=Tkmax(0,m+-‖vk‖)2+
λ(1-Tk)max(0,‖vk‖-m-)2
(5)
式中Tk——分類指示,當(dāng)k類存在時(shí)其值為1,否則為0
m+——懲罰假陽性上界
m-——懲罰假陰性下界
λ——比例系數(shù)
更新轉(zhuǎn)換矩陣Wij及卷積參數(shù)。試驗(yàn)中取m+=0.9,m-=0.1,λ=0.5。
試驗(yàn)平臺(tái)搭載IntelCXeon(R) CPU E5-2697 v3@2.60 GHz處理器,GPU為英偉達(dá)GTX 1080 Ti雙卡配置,64 GB系統(tǒng)內(nèi)存,960 GB SSD固態(tài)硬盤。軟件測試環(huán)境為Ubuntu 16.04 LTS 64位操作系統(tǒng),安裝Python 3.6、Tensorflow-GPU 1.8.0、Keras 2.2.4等深度學(xué)習(xí)框架。
將Geoffrey Hinton提出的膠囊網(wǎng)絡(luò)直接應(yīng)用于百合病害診斷,模型精度為87.04%,原因在于模型僅使用256個(gè)9×9卷積核,未能多尺度對(duì)病害特征進(jìn)行有效提取,但使用不同等級(jí)的噪聲圖像及模糊圖像進(jìn)行模型評(píng)估時(shí)發(fā)現(xiàn)檢測精度始終保持在62.72%以上,說明膠囊結(jié)構(gòu)的“同變特性”可以有效抑制圖像噪聲、形變及檢測物重疊等不利因素,用于模型抗噪測試的圖像示例如圖4所示。
圖4 模型抗干擾測試圖像Fig.4 Images for model anti-interference test
使用經(jīng)典VGG-16模型進(jìn)行百合病害診斷,模型精度為98.80%,使用不同等級(jí)的噪聲圖像進(jìn)行模型評(píng)估時(shí),其精度不斷衰減。
綜合上述兩種模型的優(yōu)點(diǎn),對(duì)本文提出的卷積膠囊網(wǎng)絡(luò)進(jìn)行訓(xùn)練和評(píng)估。為了加速網(wǎng)絡(luò)訓(xùn)練,卷積膠囊網(wǎng)絡(luò)的卷積層參數(shù)采用VGG-16預(yù)訓(xùn)練模型參數(shù),即通過微調(diào)遷移學(xué)習(xí)方式僅更新轉(zhuǎn)換矩陣參數(shù)。從9 000幅圖像中隨機(jī)選取1 000幅作為測試集,其余部分用于訓(xùn)練,又將整個(gè)訓(xùn)練集按4∶1的比例隨機(jī)分為2部分,其中80%用于模型訓(xùn)練,20%用于模型驗(yàn)證,并確保每個(gè)訓(xùn)練輪次中的各訓(xùn)練批次均為隨機(jī)圖像子集。在訓(xùn)練過程中使用Adam優(yōu)化器,初始學(xué)習(xí)率設(shè)定為0.005,當(dāng)連續(xù)5個(gè)訓(xùn)練輪次模型性能不能得以提升,則學(xué)習(xí)率減至原學(xué)習(xí)率的0.5倍,一階矩指數(shù)衰減因子設(shè)為0.9,二階矩指數(shù)衰減因子設(shè)為0.999。同時(shí)為了驗(yàn)證提出模型的有效性,還構(gòu)建了類VGG-16網(wǎng)絡(luò)進(jìn)行對(duì)比,將經(jīng)典VGG-16的全連接層進(jìn)行調(diào)整,調(diào)整后3個(gè)全連接層神經(jīng)元數(shù)目分別為64、14、4,并確保2種網(wǎng)絡(luò)的訓(xùn)練參數(shù)數(shù)目基本相當(dāng)。模型訓(xùn)練及評(píng)估結(jié)果如表1所示,2種網(wǎng)絡(luò)評(píng)估精度不小于98.8%,卷積膠囊網(wǎng)絡(luò)略高出0.4個(gè)百分點(diǎn)。收斂迭代次數(shù),卷積膠囊網(wǎng)絡(luò)約為VGG-16模型的73.33%,但卷積膠囊網(wǎng)絡(luò)訓(xùn)練時(shí)間大約是VGG-16模型的2.76倍。
對(duì)1 000幅圖像組成的測試集,利用混淆矩陣和準(zhǔn)確率、召回率、F1值等評(píng)價(jià)指標(biāo),進(jìn)一步驗(yàn)證卷積膠囊網(wǎng)絡(luò)的可靠性。如圖5所示,僅有1%的腐爛磷莖被錯(cuò)分為健康鱗莖,2%的健康磷莖被錯(cuò)分為腐爛磷莖,1%的灰霉葉片被錯(cuò)分為健康葉片,正確識(shí)別了全部健康葉片。同時(shí),模型平均精確率、召回率、F1值均達(dá)到0.99,說明所構(gòu)建模型可靠性很高。
表1 訓(xùn)練及評(píng)估結(jié)果Tab.1 Results of training and evaluation
圖5 卷積膠囊網(wǎng)絡(luò)的混淆矩陣Fig.5 Normalized confusion matrix of convolutional capsule network
為了驗(yàn)證卷積膠囊網(wǎng)絡(luò)的抗干擾能力,分別對(duì)測試集添加高斯噪聲、椒鹽噪聲、斑點(diǎn)噪聲和仿射變換,設(shè)置干擾等級(jí)為0.01~0.20,等級(jí)間隔為0.01,各個(gè)干擾等級(jí)下的模型識(shí)別準(zhǔn)確率如圖6所示。隨著干擾等級(jí)的加大,VGG-16模型及卷積膠囊網(wǎng)絡(luò)的識(shí)別準(zhǔn)確率都呈下降趨勢,噪聲及仿射變換都會(huì)增加網(wǎng)絡(luò)模型對(duì)病斑特征有效提取的難度,從而影響檢測精度。仿射變換等級(jí)為0.04~0.08時(shí),VGG-16模型精度略高于卷積膠囊網(wǎng)絡(luò)。其他情況下,卷積膠囊網(wǎng)絡(luò)的抗干擾能力明顯優(yōu)于VGG-16模型。當(dāng)高斯噪聲等級(jí)為0.01時(shí),卷積膠囊網(wǎng)絡(luò)精度為77.88%, VGG-16模型精度為70.17%;當(dāng)椒鹽噪聲等級(jí)為0.02時(shí),卷積膠囊網(wǎng)絡(luò)精度為93.69%, VGG-16模型精度為86.99%;當(dāng)斑點(diǎn)噪聲等級(jí)為0.02時(shí),卷積膠囊網(wǎng)絡(luò)精度為89.99%, VGG-16模型精度為81.28%;當(dāng)仿射變換等級(jí)為0.03時(shí),卷積膠囊網(wǎng)絡(luò)精度為90.79%, VGG-16模型精度為88.59%。
圖6 模型抗干擾能力Fig.6 Anti-interference ability of models
為了分析膠囊尺寸、動(dòng)態(tài)路由迭代次數(shù)對(duì)網(wǎng)絡(luò)訓(xùn)練用時(shí)的影響,分別構(gòu)造尺寸為4、8、16、32、64的主膠囊,并將動(dòng)態(tài)路由迭代次數(shù)設(shè)置為1~25,得到網(wǎng)絡(luò)對(duì)1批次20幅圖像的訓(xùn)練時(shí)間。由圖7可知,膠囊尺寸越大訓(xùn)練時(shí)間越少。尺寸8時(shí)3次迭代時(shí)間為519 ms,尺寸32時(shí)3次迭代時(shí)間為291 ms。路由迭代次數(shù)與訓(xùn)練時(shí)間成正比。在共享已訓(xùn)練VGG模型參數(shù)的基礎(chǔ)上,對(duì)多種規(guī)格的卷積膠囊網(wǎng)絡(luò)進(jìn)行訓(xùn)練,結(jié)果如表2所示,可知膠囊尺寸和路由迭代次數(shù)對(duì)模型精度不產(chǎn)生顯著影響。
圖7 不同膠囊尺寸及動(dòng)態(tài)路由迭代次數(shù)對(duì)訓(xùn)練用時(shí)的影響Fig.7 Effects of different capsule sizes and dynamic route iteration times on training time
表3為兩種網(wǎng)絡(luò)在訓(xùn)練中最耗時(shí)的4種操作,其中Conv2D為卷積操作,Conv2DBackpropInput為反向傳播過程中使用MatrixMap.transpose進(jìn)行矩陣變換,Conv2DBackpropFilter為反向傳播過程中使用TensorMap.contract操作進(jìn)行張量收縮,BatchMatMul為反向傳播過程中主膠囊層進(jìn)行的矩陣乘法,ReluGrad為反向傳播過程中對(duì)ReLU函數(shù)的梯度求導(dǎo)。可以看出卷積及卷積層的反向傳播均占用了很大的計(jì)算資源,對(duì)卷積膠囊網(wǎng)絡(luò)兩者占比累積達(dá)到96%,VGG-16中占比達(dá)78%。同時(shí)發(fā)現(xiàn),BatchMatMul耗時(shí)約為24.95 ms,且不會(huì)隨網(wǎng)絡(luò)結(jié)構(gòu)的改變而增加,但占比會(huì)隨網(wǎng)絡(luò)深度的增大而快速降低,由1個(gè)卷積層為基礎(chǔ)構(gòu)造的卷積膠囊網(wǎng)絡(luò),其BatchMatMul占比約為25%,而13個(gè)卷積層時(shí)占比降至1%。TODA等[16]研究表明去除經(jīng)典網(wǎng)絡(luò)中75%的參數(shù)量,并不影響模型精度,可以嘗試構(gòu)造去除冗余神經(jīng)元的卷積膠囊網(wǎng)絡(luò)或者進(jìn)行分布式訓(xùn)練,從而解決訓(xùn)練時(shí)間較長的瓶頸。
表2 不同膠囊尺寸及動(dòng)態(tài)路由迭代次數(shù)對(duì)模型精度的影響Tab.2 Effects of different capsule sizes and dynamic route iteration times on accuracy
表3 訓(xùn)練時(shí)間對(duì)比Tab.3 Training time comparison
膠囊結(jié)構(gòu)的“同變特性”可以有效抑制圖像噪聲,而VGG-16則可以通過深度特征提取有效提升檢測精度。本文結(jié)合膠囊網(wǎng)絡(luò)和VGG-16模型的優(yōu)勢,構(gòu)建用于百合病害識(shí)別的卷積膠囊網(wǎng)絡(luò),其檢測精度達(dá)到99.20%。測試表明,卷積膠囊網(wǎng)絡(luò)的抗干擾能力明顯優(yōu)于經(jīng)典卷積網(wǎng)絡(luò),說明所構(gòu)建模型具有在實(shí)際大田環(huán)境中進(jìn)行病害診斷的潛力。