戴雨舒,仲曉春,孫成明,楊俊,劉濤,劉升平
(1. 江蘇省作物遺傳生理重點(diǎn)實(shí)驗(yàn)室/江蘇省作物栽培生理重點(diǎn)實(shí)驗(yàn)室,揚(yáng)州大學(xué)農(nóng)學(xué)院,江蘇揚(yáng)州,225009;2. 江蘇省糧食作物現(xiàn)代產(chǎn)業(yè)技術(shù)協(xié)同創(chuàng)新中心,揚(yáng)州大學(xué),江蘇揚(yáng)州,225009;3. 中國農(nóng)業(yè)科學(xué)院農(nóng)業(yè)信息研究所,北京市,100081)
赤霉病是小麥生產(chǎn)上最常見的病害之一,對小麥的產(chǎn)量和品質(zhì)均有較大的影響。開展小麥赤霉病的快速識別與檢測并提供相應(yīng)的防控技術(shù),是穩(wěn)定小麥產(chǎn)量、保障糧食安全的重要舉措[1]。國內(nèi)外學(xué)者對小麥赤霉病的檢測開展了較多的研究,尤其是在高光譜及圖像分析方面。鮑文霞等[1]利用深度語義分割網(wǎng)絡(luò)對小麥圖像進(jìn)行分割,通過多路卷積神經(jīng)網(wǎng)絡(luò)分別提取麥穗圖像顏色特征,采用聯(lián)合損失函數(shù)改善網(wǎng)絡(luò)的性能,最終可對單株小麥赤霉病穗識別達(dá)到100%。張健等[2]利用短波紅外光譜儀獲取樣本光譜圖像,基于LabVIEW開發(fā)小麥赤霉病檢測系統(tǒng),能夠有效檢測出被赤霉病感染的籽粒。梁琨等[3]利用主成分分析方法,基于627.7 nm的波長,建立線性判別分析、支持向量機(jī)和BP神經(jīng)網(wǎng)絡(luò)的小麥赤霉病籽粒識別模型,準(zhǔn)確率均達(dá)到90%以上。劉爽等[4]也開展了基于高光譜的小麥赤霉病籽粒識別研究,構(gòu)建了基于線性判別分析法(LDA)、K-近鄰算法(KNN)以及支持向量機(jī)(SVM)分類模型,準(zhǔn)確率都達(dá)到90%以上。
Barbedo等[5]使用高光譜圖像中4個(gè)選定的波段將小麥籽粒從其背景中分割出來,最后選擇1 411 nm的波長來定義鐮刀菌指數(shù),表征被赤霉病感染的可能性。Ropelewska等[6]設(shè)計(jì)了一個(gè)高光譜成像系統(tǒng)來獲取圖像,并在選定的波長下提取大約200個(gè)紋理并分析了這些特征,建立了區(qū)分感染小麥籽粒的分類模型,精度在94%以上。Bauriegel等[7]基于主成分分析法,選擇4個(gè)波長范圍(即500~533、560~675、682~733和927~931 nm),并成功地利用這些波長來區(qū)分發(fā)病麥穗和健康麥穗。Jin等[8]設(shè)計(jì)了一套高光譜圖像采集系統(tǒng)獲取田間小麥穗部圖像,并使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)對病變穗和健康穗的像素進(jìn)行分類,通過與其他模型對比,該方法在防止過擬合和優(yōu)化泛化方面效果最好。在小麥其他病害或其他作物病害的識別上,不同學(xué)者也都利用圖像或算法進(jìn)行探索,并取得了較好的效果[9-11]。
以上研究都是通過特定波段建模來進(jìn)行小麥赤霉病的分類,雖然高光譜成像可以很好用于小麥赤霉病的檢測,但是在實(shí)際應(yīng)用中存在著很多的問題和限制。如高光譜鏡頭高昂的價(jià)格以及其在采集高光譜數(shù)據(jù)時(shí)的復(fù)雜性等因素限制了其廣泛的推廣及運(yùn)用。而且,從海量的高光譜數(shù)據(jù)集中提取信息也是一個(gè)巨大難題。近年來,隨著深度學(xué)習(xí)以及機(jī)器學(xué)習(xí)等神經(jīng)網(wǎng)絡(luò)的發(fā)展,普通圖像在小麥赤霉病檢測上也有應(yīng)用。Qiu等[12]采集小麥乳熟期彩色圖像,處理后構(gòu)建數(shù)據(jù)集,利用轉(zhuǎn)移學(xué)習(xí)對深度卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行再訓(xùn)練,識別精度可達(dá)92%以上。因此,采用深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)合不同類型的圖像對目標(biāo)群體進(jìn)行識別和分類是可行的,特別是Deeplab模型的應(yīng)用[13-14]。但Deeplab模型目前主要用于遙感影像的分類及要素提取方面,其在作物上應(yīng)用還不多[15-17]。本研究擬在前人相關(guān)研究的基礎(chǔ)上,將Deeplab模型應(yīng)用于小麥赤霉病的識別與檢測。
由于小麥麥穗在圖像中的分布存在黏連、遮擋、殘缺等復(fù)雜情況,若使用傳統(tǒng)的方法進(jìn)行訓(xùn)練,會出現(xiàn)兩個(gè)或多個(gè)麥穗同框的現(xiàn)象,也會出現(xiàn)麥穗缺失的情況。考慮語義分割的標(biāo)記方法可以給每個(gè)像素添加標(biāo)簽,常被用來識別天空、草地、道路等沒有固定形狀的不可數(shù)事物(stuff),因此,采用語義分割(semantic segmentation)來標(biāo)注目標(biāo)麥穗[18-19]。同時(shí)為進(jìn)一步提升模型的識別精度,研究選擇了訓(xùn)練效果較好的基于深度分離卷積(Depthwise convolutions)的Deeplabv3+模型,該模型加入了簡單高效的Decoder模塊,具有最優(yōu)的分割效果。
試驗(yàn)于2017—2018年、2018—2019年在江蘇省里下河地區(qū)農(nóng)業(yè)科學(xué)研究所揚(yáng)州試驗(yàn)基地(32°42′N,119°53′E)進(jìn)行。11月上旬播種,順序排列,每行品種均種植2行,行長2 m,行距25 cm,每行60株,所使用的小麥品種分為抗病、常規(guī)和易感3種類型。
準(zhǔn)備赤霉病菌孢子懸浮液(10 000個(gè)孢子/mL),于小麥揚(yáng)花期用微量進(jìn)樣器在穗中部小穗的第一朵小花內(nèi)注射10 μL分生孢子懸浮液(1×105個(gè)/L)進(jìn)行赤霉病接種,每個(gè)株系接種20個(gè)單穗,然后用透明塑料袋將整個(gè)麥穗套住采用人工彌霧保濕,并掛上紙牌標(biāo)明接種日期,保濕72 h后去掉塑料袋。并在接種后21天人工記錄每份材料的發(fā)病小穗數(shù)。
1.3.1 圖像獲取設(shè)備
本研究通過數(shù)碼相機(jī)來獲取小麥赤霉病的圖像信息。所用數(shù)碼相機(jī)為SONY @6300,有效像素為2 420萬,存儲卡類型為microSD/microSDHC/microSDXC等。
1.3.2 圖像獲取與預(yù)處理
在接種后7天開始,每隔6天獲取一次照片,至小麥赤霉病發(fā)病后期停止拍照。拍攝時(shí)采取垂直冠層1 m 獲取小麥赤霉病圖像信息。
然后對獲取的圖像進(jìn)行篩選,共選取小麥赤霉病發(fā)病前期和發(fā)病中期RGB圖像各20幅,采用Matlab2018b對選取的RGB圖像進(jìn)行預(yù)處理,去除背景雜質(zhì)和邊界干擾信息。
采用軟件Labelbox對20幅圖像進(jìn)行人工標(biāo)注,20幅圖像大小為6 000像素×4 000像素,如圖1所示。Deeplabv3+模型是全卷積網(wǎng)絡(luò),為像素大小預(yù)測,理論上可以輸入任意大小的圖像。但是由于硬件(GPU)的限制,不可能訓(xùn)練6 000×4 000的網(wǎng)絡(luò),所以需要對圖像進(jìn)行分割,如圖2所示。測試集由其中的2張分割而成,訓(xùn)練集由另外18張分割而成??紤]到運(yùn)行時(shí)間,選擇700×700為一個(gè)單位,訓(xùn)練集每100取一次樣,生成31 482幅圖像和其對應(yīng)的mask。對于測試集則每200取一次樣,共獲得918幅圖像和對應(yīng)的標(biāo)注。為了消除不好的標(biāo)記(邊緣不明確)所導(dǎo)致的問題,網(wǎng)絡(luò)設(shè)計(jì)為400×400×3的input和output,通過壓縮的方式把700像素×700像素的圖像壓縮到了400像素×400像素,并在訓(xùn)練集上使用數(shù)據(jù)增強(qiáng)技術(shù)(rotate,width/height shift,zoom)。最后把標(biāo)記好的圖像提取轉(zhuǎn)化為png格式灰度圖,數(shù)據(jù)集保存為json文件。
(a) 發(fā)病麥穗人工標(biāo)注 (b) 標(biāo)注目標(biāo)提取結(jié)果
圖2 發(fā)病麥穗標(biāo)記分割結(jié)果
Deeplabv3+將Deeplabv3作為網(wǎng)絡(luò)的編碼(Encoder)模塊,包括基網(wǎng)絡(luò)的特征提取、級聯(lián)和并聯(lián)的具有不同的空洞速率的空洞卷積層。在級聯(lián)模式下,上層的空洞卷積接受下層的空洞卷積的結(jié)果,因此能產(chǎn)生更大的感受野。Deeplabv3+可以看作對Encoder的結(jié)果進(jìn)行4倍上采樣,然后與MobileNet V2中下采樣前的Conv2特征Concat一起,再進(jìn)行3×3的卷積,最后上采樣4倍得到最終結(jié)果?;谔岢龅腄eeplabv3+模型,本研究使用state of art進(jìn)行圖像分割,Encoder使用MobileNet V2為骨干網(wǎng)絡(luò),使用MobileNet V2來做backbone,輕量化,如圖3所示。
圖3 基于Deeplabv3+模型的小麥赤霉病發(fā)病麥穗檢測流程圖
1.5.1 MobileNet V2結(jié)構(gòu)參數(shù)調(diào)整
Deeplabv3+模型的MobileNet V1沒有很好地利用Residual Connection,而Residual Connection通常情況下總是好的,所以MobileNet V2加上了這部分內(nèi)容。模型卷積之后通常會接一個(gè)ReLU非線性激活,在MobileNet V1里面使用ReLU6,ReLU6就是普通的ReLU,但是限制最大輸出值為6。Mobilenet V2去掉了最后輸出的ReLU6,直接線性輸出。因?yàn)閄ception已經(jīng)試驗(yàn)證明了Depthwise卷積后再加ReLU效果會變差,而且Depthwise輸出太淺了,應(yīng)用ReLU會帶來信息丟失[19]。試驗(yàn)結(jié)果證明去掉最后那個(gè)ReLU,效果更好。調(diào)整后結(jié)果如表1所示。
表1 MobileNet V2結(jié)構(gòu)參數(shù)表Tab. 1 Structure parameters of MobileNet V2
1.5.2 Deeplabv3+模型訓(xùn)練
深度卷積神經(jīng)網(wǎng)絡(luò)有很多種訓(xùn)練算法,本研究采用了收斂速度比較快的Adam算法。選擇Adam optimizer函數(shù)作為參數(shù)優(yōu)化器,設(shè)定初始學(xué)習(xí)率Ir=0.007,訓(xùn)練迭代的最大次數(shù)epoch=100,每epoch:train 1 000步,val 50步。當(dāng)測試集損失不再繼續(xù)降低時(shí),對學(xué)習(xí)率進(jìn)行衰減,衰減因子factor=0.1,衰減后的學(xué)習(xí)率為初始學(xué)習(xí)率與衰減因子的乘積。設(shè)置驗(yàn)證集損失不繼續(xù)降低的容忍度為20個(gè)epoch后采用提前終止模型訓(xùn)練的策略(Early Stopping)結(jié)束模型訓(xùn)練。該模型的Batch size設(shè)置為8,理論上Batch越大越好,但是由于使用的tesla k80 GPU顯存的限制,綜合考慮,設(shè)定為8。Deeplabv3+模型的部分訓(xùn)練參數(shù)如表2所示。
表2 Deeplabv3+模型訓(xùn)練部分參數(shù)Tab. 2 Parameters of Deeplabv3+ model training
選取發(fā)病麥穗數(shù)量不同的圖像,在上述算法下進(jìn)行圖像的訓(xùn)練,效果圖如圖4所示。
(a) (b) (c) (d)
訓(xùn)練過程中保存結(jié)果的損失率和精度并利用之前保存的模型對400×400像素測試數(shù)據(jù)進(jìn)行預(yù)測,然后與原始圖像疊加。其中圖4(a)為經(jīng)過預(yù)處理的原始圖像,圖4(b)為人工標(biāo)記后提取的效果圖,圖4(c)為模型訓(xùn)練結(jié)果,圖4(d)為訓(xùn)練結(jié)果與原始圖像疊加后的效果。由圖4可知,Deeplabv3+模型能夠?qū)崿F(xiàn)小麥赤霉病發(fā)病穗的識別。
在模型訓(xùn)練過程中,采用二元交叉熵(Binary Crossentropy)作為損失函數(shù)來計(jì)算每一個(gè)像素之間的交叉熵,采用平均準(zhǔn)確率(Mean Pixel Accuracy)作為訓(xùn)練過程中的精度評價(jià)指標(biāo)。為了緩解分割問題可能出現(xiàn)需要分割的地方占比很小所導(dǎo)致的精度(Accuracy)很高但確實(shí)沒有真的分類的問題,本文使用平均交并比MIoU(Mean Intersection over Union)作為標(biāo)準(zhǔn)評價(jià)語義分割算法性能。在圖像分割領(lǐng)域MIoU值是一個(gè)衡量圖像分割精度的重要指標(biāo),其可解釋為在每個(gè)類別上計(jì)算IoU的值。
(1)
(2)
式中:k+1——包括背景在內(nèi)的語義類別總數(shù);
i——真實(shí)值;
j——預(yù)測值;
k——檢測目標(biāo)像素的數(shù)量;
pii——真正例的數(shù)量;
pij——假正例的數(shù)量;
pji——假負(fù)例的數(shù)量。
(3)
式中:gi——像素點(diǎn)i的真實(shí)類別;
pi——網(wǎng)絡(luò)對像素點(diǎn)i的預(yù)測結(jié)果。
(4)
式中:MPA——計(jì)算每個(gè)類內(nèi)被正確分類像素?cái)?shù)的比例,之后求所有類的平均;
k+1——包括背景在內(nèi)的語義類別總數(shù),本試驗(yàn)值有兩類,一類為發(fā)病麥穗,另一類為背景。
選取測試集的圖像對赤霉病圖像訓(xùn)練效果進(jìn)行檢驗(yàn),結(jié)果如圖5所示。由圖5可知,該模型的訓(xùn)練損失函數(shù)Loss=0.103 0,說明模型對圖像的像素區(qū)分度較高。模型的平均精確度為0.969 2,說明模型的識別檢測效果好,精度高。另外從運(yùn)算結(jié)果可知,模型的平均交并比MIoU=0.793,說明模型對圖像的分割效果也很好。
(a) 損失函數(shù)
隨機(jī)選擇一幅標(biāo)記好的圖像來進(jìn)行檢測,如圖6所示。從圖6可以看出,基于Deeplabv3+模型的小麥赤霉病的識別與檢測,與人工標(biāo)記結(jié)果一致,具有較高的檢測精度。但模型還存在一些不足(圖6(b)中黃色圓圈標(biāo)注的為誤檢,藍(lán)色圓圈標(biāo)注的為漏檢),如將本來是正常的穗子檢測為病穗(誤檢),或者將本來是發(fā)病的穗子檢測為正常(漏檢)。這些與模型訓(xùn)練的精度有關(guān),也與驗(yàn)證圖像的采集時(shí)間和角度有關(guān)。
(a) 人工標(biāo)記圖
進(jìn)一步對測試集的圖像進(jìn)行分析,提取赤霉病麥穗的數(shù)量,與人工標(biāo)記的數(shù)量對比后計(jì)算檢測率,結(jié)果如表3所示。由表3可知,在隨機(jī)選取的10組圖像中,最低檢測率為94.8%,最高達(dá)98.4%,平均檢測率為96.9%。結(jié)果優(yōu)于已知的相關(guān)研究,如丁串龍[20]利用粒子群優(yōu)化支持向量機(jī)算法(PSOSVM)構(gòu)建了小麥赤霉病分類模型,精度為92%,Zhang等[21]利用光譜植被指數(shù)(SVI)構(gòu)建了小麥赤霉病的識別模型,總體識別準(zhǔn)確率為89.8%。說明本模型對赤霉病麥穗的識別檢測效果較好。
表3 基于Deeplabv3+模型的小麥赤霉病發(fā)病穗檢測結(jié)果Tab. 3 Detection results of pathogenic wheat ears of fusarium head blight based on Deeplabv3+ model
1) 本文研究利用數(shù)碼相機(jī)獲取小麥赤霉病的RGB圖像,通過圖像標(biāo)注和分割構(gòu)建了訓(xùn)練集和測試集樣本,選擇深度學(xué)習(xí)網(wǎng)絡(luò)Deeplabv3+對標(biāo)記好的發(fā)病麥穗圖像進(jìn)行訓(xùn)練,并建立了基于Deeplabv3+的小麥赤霉病識別與檢測模型。
2) 經(jīng)過測試集圖像的驗(yàn)證,模型的平均精度為0.969 2,損失函數(shù)Loss為0.103 0,平均交并比MIoU為0.793,與人工標(biāo)記結(jié)果一致,具有較高的檢測精度。
3) 模型還存在一些誤檢和漏檢的情況,下一步研究將加強(qiáng)模型訓(xùn)練的精度,在優(yōu)化訓(xùn)練和驗(yàn)證圖像的采集時(shí)間和角度基礎(chǔ)提升模型的識別精度。