王 振,張善文,趙保平
1.西京學(xué)院 信息工程學(xué)院,西安 710123
2.寶雞市農(nóng)業(yè)科學(xué)研究院,陜西 寶雞 721000
作物病害是影響作物產(chǎn)量與質(zhì)量的重要因素之一。由于大部分病害的癥狀主要表現(xiàn)在作物葉片上,所以通過(guò)觀察作物葉片特征可判斷病害發(fā)生和病害類型[1]。傳統(tǒng)的通過(guò)人工觀察方式判斷病害類型,存在主觀性、盲目性和效率低等問(wèn)題[2]。近年來(lái),隨著計(jì)算機(jī)視覺(jué)技術(shù)的不斷發(fā)展,使用自動(dòng)化方式判斷作物病害成為一種趨勢(shì),能夠有效解決人工判斷病害的缺點(diǎn)[3]。在基于病害葉片圖像的病害識(shí)別過(guò)程中,病斑區(qū)域的精準(zhǔn)分割直接影響病害識(shí)別的準(zhǔn)確率。
作物病害葉片圖像分割方法很多,病害葉片圖像可以分為基于傳統(tǒng)圖像分割的方法和基于深度學(xué)習(xí)的分割方法。傳統(tǒng)的作物病害圖像分割方法可分為4類:基于閾值的分割方法[4-5]、基于聚類的分割方法[6-8]、基于分類的分割方法[9-10]和基于圖論的分割方法[11-12]。第一類方法通過(guò)尋找關(guān)鍵閾值點(diǎn)進(jìn)行作物病害葉片圖像分割,該方法適用于簡(jiǎn)單背景下的病害葉片圖像分割。第二類方法根據(jù)圖像像素點(diǎn)的不同進(jìn)行分類來(lái)完成病斑區(qū)域分割,但該方法在分割過(guò)程中需要進(jìn)行多次迭代才能確定最優(yōu)聚類點(diǎn),降低了分割方法的時(shí)效性。第三類方法利用多種圖像特征對(duì)分類器進(jìn)行訓(xùn)練,使用訓(xùn)練后的分類器對(duì)像素點(diǎn)進(jìn)行分類從而實(shí)現(xiàn)分割,由于在特征提取階段需要設(shè)定較為復(fù)雜的特征提取算法,所以這種方法的實(shí)用性較差。第四類方法將原始圖像映射為帶權(quán)無(wú)向圖,通過(guò)求解函數(shù)最優(yōu)解完成圖像分割,這種方法適用于背景簡(jiǎn)單或像素相似度較低的條件。以上基于傳統(tǒng)的圖像分割方法只適用于背景較簡(jiǎn)單的作物病害葉片圖像,當(dāng)作物病斑區(qū)域與背景顏色相似或界限模糊時(shí),使用傳統(tǒng)的圖像分割方法難以將兩者區(qū)分開(kāi),分割效果較差。
近年來(lái)得益于深度學(xué)習(xí)技術(shù)的發(fā)展,利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)對(duì)圖像進(jìn)行語(yǔ)義分割成為一種趨勢(shì)[13]。許多學(xué)者嘗試將CNN用于解決作物病害葉片圖像分割問(wèn)題。劉立波等[14]將Markov與CNN相結(jié)合完成對(duì)棉花病斑圖像分割,該方法利用CNN提取圖像深層語(yǔ)義特征,結(jié)合特征圖像素間的相對(duì)關(guān)系構(gòu)建條件隨機(jī)場(chǎng)能量函數(shù)并對(duì)其進(jìn)行優(yōu)化訓(xùn)練;段凌鳳等[15]利用水稻病害數(shù)據(jù)集訓(xùn)練基于全卷積神經(jīng)網(wǎng)絡(luò)(FCN)的水稻病害葉片圖像分割模型,完成了復(fù)雜背景下水稻病害葉片圖像的分割;趙兵等[16]將FCN與CRF相結(jié)合進(jìn)行葡萄病害葉片分割。該方法在分割過(guò)程中將CRF作為概率圖描述圖像的細(xì)節(jié)信息,所以需要網(wǎng)絡(luò)模型的訓(xùn)練時(shí)間較長(zhǎng)。Xiong等[17]將超像素分割與CNN結(jié)合,實(shí)現(xiàn)了不同生長(zhǎng)時(shí)期的大田稻穗分割,其缺點(diǎn)是在復(fù)雜背景下的分割效果較差。馬浚誠(chéng)等[18]基于CNN設(shè)計(jì)了一種溫室黃瓜病害識(shí)別系統(tǒng),該系統(tǒng)在預(yù)處理階段將復(fù)合顏色特征與CNN相結(jié)合,能夠?qū)崿F(xiàn)對(duì)不同病害的完整分割。楊晉丹等[19]基于Alex Net提出一種草莓葉部病害檢測(cè)方法,在草莓病害葉片圖像上的檢測(cè)中效果較好,但對(duì)于有遮擋的情況效果較差。Pound等[20]利用CNN對(duì)小麥根尖、穗尖以及穗基等不同部位進(jìn)行分割,取得了較好的效果。由于CNN需要對(duì)原始圖像進(jìn)行預(yù)處理操作,降低了該方法的普適性。以上基于深度學(xué)習(xí)的作物病害葉片圖像分割方法在不同種類作物病害葉片圖像分割問(wèn)題上均得到較高的分割精度,但現(xiàn)有基于深度學(xué)習(xí)的分割方法只是針對(duì)單一的植物病害完成分割任務(wù),不能解決多種植物病害的分割問(wèn)題,降低了分割方法的實(shí)用性;而且部分方法的網(wǎng)絡(luò)模型結(jié)構(gòu)較為復(fù)雜,很難將其擴(kuò)展為進(jìn)一步的作物病害識(shí)別任務(wù);許多方法所建立的網(wǎng)絡(luò)模型需要進(jìn)行大量的模型參數(shù)訓(xùn)練,難以滿足作物病害分割的實(shí)時(shí)性需求。因此本文針對(duì)作物葉部病害分割難題,提出一種基于級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)的作物病害分割方法,并將其應(yīng)用于不同環(huán)境下的作物病害葉片圖像分割。
圖1 部分作物病害葉片圖像
實(shí)驗(yàn)圖像采集于陜西省寶雞市大田試驗(yàn)基地,采集時(shí)間為2018年4月—7月。為充分考慮自然光照對(duì)分割效果的影響,每日8:00、10:00、16:00和18:00時(shí)間段進(jìn)行拍攝。主要作物病害葉片包括玉米大斑病、玉米圓斑病、小麥條銹病、小麥炭疽病、黃瓜靶斑病和黃瓜褐斑病,共拍攝900幅作物病害葉片圖像,每種病害葉片圖像150幅。采集設(shè)備為Cannon EOS650D數(shù)碼相機(jī),無(wú)任何補(bǔ)充光源,拍攝時(shí)距離作物葉片約15~30 cm。為提高網(wǎng)絡(luò)模型的訓(xùn)練效率,利用Photoshop將圖像統(tǒng)一裁剪為256×256像素大小。部分作物病害葉片圖像如圖1所示。
在裁剪后的作物病害葉片中隨機(jī)挑選650幅組成訓(xùn)練集、125幅作為驗(yàn)證集、125幅作為測(cè)試集。將訓(xùn)練集圖像輸入分割網(wǎng)絡(luò)模型中,對(duì)模型的權(quán)重參數(shù)進(jìn)行訓(xùn)練;利用驗(yàn)證集確定模型結(jié)構(gòu),同時(shí)控制模型的復(fù)雜程度,對(duì)模型參數(shù)進(jìn)行調(diào)優(yōu);選用測(cè)試集圖像對(duì)模型的分割效果進(jìn)行測(cè)試。
基于級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)(CCNN)的作物病害葉片圖像分割方法的整體流程如圖2所示。由于作物病害葉片圖像中葉片的病害部分與正常區(qū)域的像素相似度較高,而且采集圖像包含大量的背景噪聲,為此將卷積層、全局池化層和SoftMax相結(jié)合,建立區(qū)域病斑定位網(wǎng)絡(luò)(RD-Net),對(duì)葉片中的病斑區(qū)域進(jìn)行檢測(cè),即對(duì)病斑區(qū)域進(jìn)行定位,減少背景信息對(duì)分割效果的影響?;贓ncoder-Decoder模型架構(gòu),建立區(qū)域病斑分割網(wǎng)絡(luò)(RS-Net),進(jìn)行病害葉片圖像分割。在CCNN中,使用多尺度卷積核擴(kuò)大原始卷積核的局部感受野,將RD-Net的輸出結(jié)果輸入到RS-Net,然后對(duì)定位的病斑區(qū)域進(jìn)行分割?,F(xiàn)有的基于深度學(xué)習(xí)的分割方法多數(shù)使用端到端的分割模型,這種方法直接對(duì)圖像進(jìn)行分割任務(wù),無(wú)法定位圖像中所要分割的具體位置,這種方式降低了分割效率。在本研究中使用RD-Net與RS-Net相結(jié)合的方法,提高了網(wǎng)絡(luò)模型的分割精度,在經(jīng)過(guò)RD-Net對(duì)圖像中的病斑區(qū)域進(jìn)行定位后,增強(qiáng)了CCNN網(wǎng)絡(luò)模型對(duì)病斑區(qū)域的視覺(jué)顯著性,加快了模型的分割速度。
圖2 基于CCNN的作物病害葉片分割模型
圖3 RD-Net網(wǎng)絡(luò)模型結(jié)構(gòu)
2.2.1 區(qū)域病斑檢測(cè)網(wǎng)絡(luò)模型(RD-Net)
RD-Net基于傳統(tǒng)CNN網(wǎng)絡(luò)構(gòu)建,其結(jié)構(gòu)主要包括卷積層、池化層以及全連接層。其結(jié)構(gòu)如圖3所示。在圖3中,前半部分是基于傳統(tǒng)VGG16網(wǎng)絡(luò)進(jìn)行構(gòu)建,主要用來(lái)對(duì)輸入圖像進(jìn)行深層特征提??;后半部分則由一個(gè)n×n的滑動(dòng)窗口、一個(gè)分類層(cls)和一個(gè)回歸層(reg)組成,用來(lái)產(chǎn)生區(qū)域檢測(cè)框以及相應(yīng)的類別和位置信息。
RD-Net網(wǎng)絡(luò)主要包括13個(gè)卷積層(Conv1~Conv13)、4個(gè)池化層以及1個(gè)全局池化層組成。將所有卷積核設(shè)置為3×3大小,卷積層的滑動(dòng)步長(zhǎng)設(shè)置為1;為保持與輸入圖像的維數(shù)一致,通過(guò)邊界擴(kuò)充的方式將pad參數(shù)設(shè)置為1對(duì)卷積層邊緣進(jìn)行補(bǔ)全。池化層(Pooling1~Pooling3)大小設(shè)置為3×3,并采用最大池化操作,池化窗口設(shè)置為2×2,滑動(dòng)步長(zhǎng)設(shè)置為2。由于傳統(tǒng)的VGG16網(wǎng)絡(luò)在末端采用全連接層,導(dǎo)致網(wǎng)絡(luò)模型需要進(jìn)行大量的參數(shù)計(jì)算。為了減少模型的計(jì)算量,采用全局池化層代替全連接層。使用n×n的滑動(dòng)窗口在卷積層前部分卷積層輸出的特征映射圖上進(jìn)行卷積操作,將經(jīng)過(guò)滑動(dòng)窗口得到的卷積層映射為一個(gè)特征向量,并將特征向量輸入到兩個(gè)同級(jí)的分類層和回歸層,分類層用于判別是否為葉片正常區(qū)域或病斑區(qū)域,利用回歸層對(duì)病斑區(qū)域的具體位置進(jìn)行定位。在具體的病斑區(qū)域檢測(cè)過(guò)程中,將滑動(dòng)窗口的中心點(diǎn)定義為錨點(diǎn),窗口的每一次滑動(dòng)都分別對(duì)應(yīng)三種尺度和三種長(zhǎng)寬比,由此每一次滑動(dòng)都會(huì)產(chǎn)生n=9個(gè)錨點(diǎn),同樣產(chǎn)生相同數(shù)量大小的區(qū)域檢測(cè)框。將檢測(cè)后的病害葉片圖像與原始手工標(biāo)注圖像做比較,通過(guò)使用兩個(gè)不同的損失函數(shù)計(jì)算檢測(cè)值與真實(shí)標(biāo)注值之間的誤差。分別對(duì)類別損失和位置損失利用反向梯度傳播算法進(jìn)行回傳,使用隨機(jī)梯度下降算法對(duì)每層網(wǎng)絡(luò)的權(quán)重參數(shù)進(jìn)行修正,使得網(wǎng)絡(luò)的正確檢測(cè)率更高,實(shí)現(xiàn)對(duì)病斑區(qū)域的精準(zhǔn)定位。在損失函數(shù)的計(jì)算過(guò)程中,將類別損失函數(shù)表示為:
式中,R(x)為正則化損失函數(shù),即
式中,λ為權(quán)重系數(shù),pi表示檢測(cè)區(qū)域?qū)儆诓『Φ母怕?,為真?shí)標(biāo)注類別,其中表示背景類,表示病斑區(qū)域,Ncls和Nreg為用于避免過(guò)擬合的正則項(xiàng),i是檢測(cè)候選區(qū)域的索引值,ti為原始坐標(biāo)框的位置參數(shù)為該候選區(qū)域的實(shí)際坐標(biāo)。
2.2.2 區(qū)域分割網(wǎng)絡(luò)模型(RS-Net)
RS-Net結(jié)構(gòu)與SegNet[23]相似,主要由編碼網(wǎng)絡(luò)、解碼網(wǎng)絡(luò)和SoftMax分類器組成。其中編碼網(wǎng)絡(luò)是基于VGG16網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行構(gòu)造,但由于作物病害葉片的細(xì)節(jié)特征較為復(fù)雜,所以使用傳統(tǒng)的卷積核難以提取復(fù)雜特征。為了提取病害葉片圖像的復(fù)雜病斑特征,需要通過(guò)增加卷積層數(shù)量或引入多個(gè)尺寸卷積核,但僅僅使用簡(jiǎn)單的卷積層數(shù)堆疊會(huì)降低模型的非線性變化,使得每個(gè)卷積層提取的圖像特征相同。而引入多個(gè)尺寸卷積核只會(huì)大量的增加參數(shù)計(jì)算量,導(dǎo)致模型訓(xùn)練時(shí)間增加,降低模型的效率。因此在編碼網(wǎng)絡(luò)中使用多尺度卷積核代替原始卷積核,通過(guò)在同一個(gè)卷積層引入不同尺度卷積核來(lái)獲取圖像的不同尺度特征,再將這些特征進(jìn)行融合,得到原始圖像的多尺度特征圖。
SegNet網(wǎng)絡(luò)能夠得到精確的語(yǔ)義分割結(jié)果主要得益于其解碼網(wǎng)絡(luò)的設(shè)計(jì),通過(guò)記錄編碼網(wǎng)絡(luò)的最大池化層索引,并利用索引因子在解碼網(wǎng)絡(luò)中直接進(jìn)行上采樣,使得SegNet網(wǎng)絡(luò)模型相比于全卷積神經(jīng)網(wǎng)絡(luò)(Fully Convolutional Neural network,F(xiàn)CN)具有更高的分割精度。使用與SegNet相同的解碼網(wǎng)絡(luò),主要包括卷積層(Conv1~Conv14)和上采樣層(Upsampling_1~Upsampling_5),通過(guò)卷積層對(duì)編碼網(wǎng)絡(luò)獲取的多尺度特征圖進(jìn)行深度特征提取,并利用上采樣層恢復(fù)圖像分辨率。作物病害葉片的分割相當(dāng)于一個(gè)二分類問(wèn)題,分割的目的主要是區(qū)分葉片正常部分與病斑部分,因此將解碼網(wǎng)絡(luò)卷積層Conv14通道數(shù)設(shè)為2,并在其后面增加一個(gè)像素級(jí)分類器SoftMax,將分類器的分類個(gè)數(shù)也設(shè)置為2。
在以上分析的基礎(chǔ)上,構(gòu)建病斑分割網(wǎng)絡(luò)RS-Net。其結(jié)構(gòu)如圖4所示,主要包括編碼網(wǎng)絡(luò)(Encoder Network)和解碼網(wǎng)絡(luò)(Decoder Network)兩個(gè)子網(wǎng)絡(luò)。其中編碼網(wǎng)絡(luò)和解碼網(wǎng)絡(luò)的卷積層數(shù)均為13,而且與池化索引對(duì)應(yīng)的卷積層大小相同,每個(gè)卷積層的滑動(dòng)步長(zhǎng)(stride)設(shè)為1,為使輸入與輸出圖像維度不變,將邊界擴(kuò)充Pad參數(shù)設(shè)置為1。池化層(Pooling_1~Pooling_5)均采用最大池化(Max Pooling)操作,池化層大小設(shè)為2×2,滑動(dòng)步長(zhǎng)設(shè)為2。上采樣層(Upsampling_1~Upsampling_5)的采樣尺度(scale)設(shè)為2。
圖4 RS-Net網(wǎng)絡(luò)模型結(jié)構(gòu)
2.2.3 模型訓(xùn)練
在CNN訓(xùn)練過(guò)程中,需要利用大量的訓(xùn)練樣本對(duì)網(wǎng)絡(luò)模型參數(shù)進(jìn)行更新,提高網(wǎng)絡(luò)模型性能。使用構(gòu)造的訓(xùn)練數(shù)據(jù)集圖像對(duì)級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)(CCNN)進(jìn)行訓(xùn)練,從而得到分割精度高、運(yùn)行速度快的網(wǎng)絡(luò)模型。但在訓(xùn)練樣本數(shù)較少或訓(xùn)練集內(nèi)容相似度較高的情況下,模型容易產(chǎn)生過(guò)擬合或分割效果差等問(wèn)題。為提升網(wǎng)絡(luò)模型的訓(xùn)練效率以及分割性能,CCNN采用遷移學(xué)習(xí)的方式對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。利用遷移學(xué)習(xí)對(duì)模型參數(shù)進(jìn)行初始化可以使模型提取特征具有級(jí)層特性,使用淺層網(wǎng)絡(luò)提取圖像的低層初級(jí)特征,使用深層網(wǎng)絡(luò)提取圖像的高層語(yǔ)義特征。其中低層特征主要包括顏色、邊緣等初級(jí)信息,使用不同數(shù)據(jù)集對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練所得到的低層特征較為相似。因此當(dāng)數(shù)據(jù)集規(guī)模較小時(shí),利用遷移學(xué)習(xí)的方式將在大規(guī)模數(shù)據(jù)集上得到的低層信息移植到所要訓(xùn)練的網(wǎng)絡(luò)模型中,不僅解決模型的過(guò)擬合問(wèn)題,而且減少了模型訓(xùn)練時(shí)間[22]。
評(píng)定模型性能主要通過(guò)計(jì)算分割圖像與標(biāo)注圖像之間的差異。通過(guò)計(jì)算標(biāo)注圖像與分割圖像之間的交叉熵值來(lái)評(píng)定模型訓(xùn)練的效果。交叉熵函數(shù)是神經(jīng)網(wǎng)絡(luò)中常用的模型性能評(píng)價(jià)指標(biāo),當(dāng)交叉熵值越小,表明模型的訓(xùn)練效果越好。在CCNN的訓(xùn)練過(guò)程中,將標(biāo)注圖像與分割圖像的每一個(gè)像素點(diǎn)進(jìn)行計(jì)算交叉熵并取平均值,利用平均像素交叉熵?fù)p失函數(shù)評(píng)定CCNN的訓(xùn)練效果。平均交叉熵?fù)p失函數(shù)如下:
式中,p(x)為標(biāo)注圖像的像素分類向量,q(x)為分割圖像的像素分類向量,N為圖像包含的總像素個(gè)數(shù),X表示輸入圖像的特征向量,x為輸入圖像每個(gè)像素的特征向量。
由式(5)得到像素間損失值后,利用反向傳播算法將損失值回傳到網(wǎng)絡(luò)模型的每一個(gè)卷積層中,對(duì)卷積層的權(quán)重參數(shù)進(jìn)行更新,經(jīng)過(guò)多次循環(huán)迭代,直到輸出損失值穩(wěn)定時(shí)結(jié)束訓(xùn)練。
在作物病害葉片圖像數(shù)據(jù)集上驗(yàn)證所提出的物理模型,并與已有的模型Hseg、FCN8s、SegNet、JointSeg和DeepLab分割算法進(jìn)行性能對(duì)比。實(shí)驗(yàn)軟件環(huán)境為Ubuntu 16.04 LTS,使用Matlab編程,硬件環(huán)境為Intel?core?i7-7550k cpu@3.60 GHz處理器,RAM為32 GB,GPU為GTX1080Ti的PC機(jī)上進(jìn)行實(shí)驗(yàn)。深度學(xué)習(xí)開(kāi)發(fā)框架為Matconvent。
實(shí)驗(yàn)過(guò)程采用批量訓(xùn)練方式。將構(gòu)建后的訓(xùn)練集、驗(yàn)證集和測(cè)試集圖像以批次(Batch)的形式送入網(wǎng)絡(luò)模型中,訓(xùn)練集中共包含650幅圖像,將每10幅圖像分為一個(gè)批次,完成模型的訓(xùn)練共需要65個(gè)批次。為保障模型的訓(xùn)練效率以及分割精度,使用訓(xùn)練集圖像對(duì)模型進(jìn)行700次遍歷(Epoch),模型的迭代次數(shù)設(shè)置為250 000次。使用梯度下降和反向傳播算法對(duì)模型的權(quán)重參數(shù)進(jìn)行更新,將學(xué)習(xí)率設(shè)置為1×10?10。由于使用帶動(dòng)量的梯度下降算法,為防止模型出現(xiàn)過(guò)擬合現(xiàn)象,設(shè)置動(dòng)量因子為0.99。利用驗(yàn)證集對(duì)模型權(quán)重參數(shù)進(jìn)行局部修正。訓(xùn)練集和驗(yàn)證集的損失值和準(zhǔn)確率變化曲線如圖5所示。
圖5 模型損失值和準(zhǔn)確率變化曲線
從圖5中看出,隨著模型不斷增加迭代次數(shù),訓(xùn)練集和驗(yàn)證集的損失值在不斷下降,但訓(xùn)練集的變化波動(dòng)范圍比較大,這是因?yàn)樵谀P蛥?shù)的初始訓(xùn)練階段需要進(jìn)行大量的迭代訓(xùn)練,當(dāng)次數(shù)不斷增加時(shí)訓(xùn)練集loss值趨于穩(wěn)定;驗(yàn)證集的變換曲線波動(dòng)較小,而且隨著迭代次數(shù)的增加,驗(yàn)證集loss值也逐漸減小,當(dāng)?shù)?00 000次時(shí),loss值趨于穩(wěn)定,主要是因?yàn)轵?yàn)證集優(yōu)化了模型參數(shù)提高了模型性能。準(zhǔn)確率曲線總體趨于上升趨勢(shì),隨著迭代次數(shù)的增加像素的分類準(zhǔn)確率不斷提高,其中top-1準(zhǔn)確率是將像素分為兩類的準(zhǔn)確率,即葉片的正常區(qū)域和病斑區(qū)域被分為兩類的準(zhǔn)確率;top-5準(zhǔn)確率表示將像素分為多類的準(zhǔn)確率,即對(duì)葉片的病斑區(qū)域和正常區(qū)域產(chǎn)生誤分的概率;從圖5中可以看出像素的分割準(zhǔn)確率在持續(xù)上升,當(dāng)模型的loss值基本收斂時(shí),模型的top-1準(zhǔn)確率達(dá)到最高,表明模型達(dá)到了較好的訓(xùn)練效果。
卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程中,卷積層用于對(duì)輸入圖像進(jìn)行特征提取,而且不同卷積核所提取的特征不同[23]。其中淺層卷積核主要提取圖像的初級(jí)特征,主要包括顏色和輪廓等;深層卷積核提取圖像更多的語(yǔ)義特征,包括紋理和細(xì)節(jié)特征。為更好地顯示不同卷積核所提取到的不同特征,將卷積核和特征圖進(jìn)行可視化。圖6和圖7分別為不同卷積層的卷積核和得到的特征圖。從圖6可以看出,卷積核(Kernel1~Kernel3)顯示的信息較為粗糙,卷積核(Kernel4~Kernel5)顯示更多的細(xì)節(jié)特征。由圖7可以看出,卷積層(Conv1~Conv3)得到的特征圖主要為圖像輪廓特征,卷積層(Conv4~Conv5)得到的特征圖主要包含圖像的紋理特征。圖6和圖7的可視化結(jié)果充分體現(xiàn)了卷積神經(jīng)網(wǎng)絡(luò)的權(quán)值共享技術(shù),隨著卷積層數(shù)的不斷增加,模型獲取了輸入圖像更多的細(xì)節(jié)特征,同時(shí)說(shuō)明模型訓(xùn)練過(guò)程中不同卷積核能夠得到輸入圖像的不同特征,各卷積核分別關(guān)注圖像的不同部分,能夠充分學(xué)習(xí)各自關(guān)注部分的圖像顯著區(qū)域,為后續(xù)圖像的精準(zhǔn)分割打下基礎(chǔ)。
圖6 Conv1~Conv5的卷積核
圖7 Conv1~Conv5的特征圖
圖8 不同分割方法的病斑分割效果
利用150幅自然場(chǎng)景的作物病害葉片圖像作為測(cè)試集對(duì)網(wǎng)絡(luò)模型分割效果進(jìn)行測(cè)試。為了更客觀地評(píng)價(jià)病害葉片的分割效果,引入分割精確度P、召回率R以及平均F值作為評(píng)價(jià)指標(biāo),衡量分割結(jié)果與實(shí)際標(biāo)注圖像之間的差異。其中分割精確度P是反應(yīng)病害葉片區(qū)域與真實(shí)病斑區(qū)域之間的相符程度;召回率F是正確分割的樣本數(shù)占總體樣本數(shù)的比例;平均F值則將分割精度P與召回率R結(jié)合起來(lái)綜合考慮,反映整體精度的評(píng)價(jià)指標(biāo)。由于分割時(shí)間是評(píng)價(jià)模型實(shí)用性的關(guān)鍵技術(shù)指標(biāo),使用單幅圖像分割時(shí)間作為衡量分割速度的時(shí)間指標(biāo)。分割精度P、召回率R以及綜合評(píng)價(jià)指標(biāo)F值計(jì)算如下:
式中,TP為經(jīng)過(guò)分割網(wǎng)絡(luò)得到的分割結(jié)果與原始葉片病斑區(qū)域的重合部分;TN為分割出的葉片正常區(qū)域與原始葉片正常區(qū)域的重合部分;FP為分割結(jié)果中不屬于病斑區(qū)域的部分,F(xiàn)N為不屬于正常區(qū)域的部分。
不同分割方法得到的分割結(jié)果如圖8所示。從分割結(jié)果中可以看出Hseg分割方法將大部分正常區(qū)域誤分為病斑區(qū)域,無(wú)法完成葉片病害的分割任務(wù);采用FCN8s網(wǎng)絡(luò)模型進(jìn)行分割時(shí)效果好于Hseg,而且從分割結(jié)果中不難看出該方法能夠分割出病害的大致輪廓,但對(duì)細(xì)小病斑部分的分割效果較差;SegNet分割網(wǎng)絡(luò)使用與所提出的RS-Net相同的網(wǎng)絡(luò)結(jié)構(gòu),能夠取得較好的分割效果,但該方法對(duì)于葉片的邊緣病斑區(qū)域分割效果較差,分割精度有待提升;JointSeg網(wǎng)絡(luò)模型對(duì)于邊緣區(qū)域的分割效果優(yōu)于SegNet,而且對(duì)病斑的細(xì)節(jié)部分能夠?qū)崿F(xiàn)完整分割,但分割結(jié)果受光照的影響較大,當(dāng)分割光照較強(qiáng)的病斑區(qū)域時(shí),出現(xiàn)了明顯的誤分割現(xiàn)象;DeepLab[24]網(wǎng)絡(luò)模型能夠完整分割出葉片中的病斑區(qū)域,而且對(duì)細(xì)小病斑區(qū)域的分割效果較好,但是當(dāng)葉片中病斑出現(xiàn)粘連情況時(shí),該方法不能將粘連病斑進(jìn)行分割,產(chǎn)生較多的誤分割現(xiàn)象。而方法首先通過(guò)RD-Net模型對(duì)葉片病斑區(qū)域進(jìn)行定位,確定了葉片中病斑區(qū)域的具體位置;然后利用基于編解碼網(wǎng)絡(luò)架構(gòu)的RS-Net模型對(duì)定位后的病斑區(qū)域進(jìn)行分割,保證病斑區(qū)域分割的完整性;由于葉片中病害的邊緣部分難以分割,而且容易產(chǎn)生誤分割現(xiàn)象,因此利用形態(tài)學(xué)優(yōu)化層對(duì)分割后結(jié)果進(jìn)行優(yōu)化,在保證病斑區(qū)域分割完整性的同時(shí),增強(qiáng)了對(duì)細(xì)節(jié)部分的分割效果。
為量化不同分割方法的分割性能,分別對(duì)這些方法求取分割精確度P、召回率R、平均F值(F-measure)以及單幅圖像分割時(shí)間,如表1所示。
表1 不同方法分割作物葉片圖像的性能比較
從表1中看出,CCNN方法的分割精度P、召回率R以及F值最高,分別為80.21%、72.49%和88.72%。盡管DeepLab網(wǎng)絡(luò)模型與CCNN使用相同的分割網(wǎng)絡(luò)架構(gòu),但CCNN在性能評(píng)價(jià)指標(biāo)上分別高出1.3%、1.64%和2.37%,主要是由于CCNN在模型的第一階段構(gòu)建了區(qū)域定位網(wǎng)絡(luò),對(duì)病害部分進(jìn)行精確定位,大范圍減小了模型的誤分割現(xiàn)象。FCN8s使用反卷積過(guò)程恢復(fù)圖像分辨率優(yōu)化分割結(jié)果,但該方法的下采樣操作弱化了模型的特征提取能力,導(dǎo)致其對(duì)小面積病斑區(qū)域的分割能力較差,因此其分割性能指標(biāo)較差。CCNN與傳統(tǒng)基于閾值分割方法的Hseg相比較,在分割性能上遠(yuǎn)優(yōu)于Hseg分割算法,主要由于Hseg是通過(guò)設(shè)定固定閾值對(duì)圖像進(jìn)行分割,所以分割結(jié)果較差。SegNet和JointSeg都是基于空洞卷積的分割模型,空洞卷積能夠擴(kuò)大原始卷積核的局部感受野,但有些病斑區(qū)域在整體葉片中所占比例較小,所以這兩種分割方法在性能評(píng)價(jià)指標(biāo)上均落后于CCNN。根據(jù)以上結(jié)果能夠判斷CCNN具有較好的分割效果,對(duì)病斑區(qū)域的分割結(jié)果最接近于真實(shí)值,能夠滿足自然狀態(tài)下對(duì)病害葉片圖像分割的高精度要求。但由于作物葉片圖像的病斑區(qū)域邊界較為復(fù)雜且所占面積較小,同時(shí)部分病斑區(qū)域與正常區(qū)域的相似度較高,導(dǎo)致正常區(qū)域邊界與病斑區(qū)域邊界難以區(qū)分,所以從表1中看出算法的分割性能評(píng)價(jià)指標(biāo)值仍然較低。
在單幅圖像分割時(shí)間上,CCNN方法的分割時(shí)間小于其他分割算法。由于SegNet和JointSeg均是使用空洞卷積的方式對(duì)網(wǎng)絡(luò)模型進(jìn)行構(gòu)造,所以網(wǎng)絡(luò)模型需要耗費(fèi)大量的訓(xùn)練時(shí)間,導(dǎo)致模型分割效率下降,對(duì)單幅圖像的分割時(shí)間較長(zhǎng),分別為0.85 s和0.64 s。Hseg方法不需要對(duì)模型進(jìn)行訓(xùn)練,但在分割后需要對(duì)每幅圖像進(jìn)行形態(tài)學(xué)操作,所以需要耗費(fèi)分割時(shí)間;FCN8s在分割時(shí)需要進(jìn)行反卷積操作恢復(fù)圖像的分辨率,從而增加了單幅圖像分割時(shí)間;方法采取級(jí)聯(lián)的方式進(jìn)行訓(xùn)練,將區(qū)域定位網(wǎng)絡(luò)和區(qū)域分割網(wǎng)絡(luò)進(jìn)行分階段訓(xùn)練,而且使用了遷移學(xué)習(xí)的訓(xùn)練方式,不僅減少網(wǎng)絡(luò)模型對(duì)硬件的需求,而且減少模型訓(xùn)練時(shí)間。因此CCNN方法在單幅圖像分割時(shí)間為0.29 s,能夠滿足對(duì)病害葉片圖像病害葉片圖像分割實(shí)時(shí)性的需求。
為驗(yàn)證所提出模型的魯棒性,分別使用不同分割算法在多種復(fù)雜背景下的作物病害葉片圖像上進(jìn)行分割試驗(yàn),其中復(fù)雜背景主要包括待分割圖像中存在土壤背景、葉片遮擋、多個(gè)葉片、葉片殘缺、病害粘連、光照條件復(fù)雜等情況。針對(duì)每種復(fù)雜背景選取20幅圖像共120幅圖像進(jìn)行魯棒性對(duì)比試驗(yàn),分割效果如圖9所示。表2為不同方法在不同復(fù)雜背景圖像的分割結(jié)果。
圖9 不同環(huán)境下作物病害葉片分割效果
表2 不同場(chǎng)景下分割方法性能對(duì)比
由圖9所示,在多種復(fù)雜背景下的分割結(jié)果中,CCNN網(wǎng)絡(luò)模型幾乎不受環(huán)境的影響,能夠有效地分割出作物葉片的病斑區(qū)域。在有土壤背景的分割過(guò)程中,SegNet分割方法將大面積的背景區(qū)域誤分為病斑區(qū)域,DeepLab方法分割效果較好,但對(duì)于小面積病斑區(qū)域分割精度不夠;當(dāng)出現(xiàn)葉片遮擋情況時(shí),幾種分割方法均出現(xiàn)誤分割現(xiàn)象,其中Hseg最為嚴(yán)重,無(wú)法對(duì)被遮擋部分的病斑進(jìn)行分割;在多個(gè)葉片的分割環(huán)境下,幾種分割方法均出現(xiàn)分割不完整現(xiàn)象,未能將多個(gè)葉片中同時(shí)出現(xiàn)的病斑區(qū)域分割出來(lái);在葉片殘缺的情況下,不同的分割方法均出現(xiàn)程度不一的誤分割現(xiàn)象,其中Deep-Lab分割方法將部分病斑區(qū)域誤分割為正常區(qū)域,而Hseg分割方法則將正常區(qū)域誤分為病斑區(qū)域;在病害粘連圖像中進(jìn)行分割時(shí),由于葉片中不同的病斑區(qū)域相似度較高,所以幾種分割方法都無(wú)法將粘連的病斑分割開(kāi)來(lái);對(duì)于復(fù)雜光照下的葉片分割問(wèn)題,由于光照強(qiáng)度的增強(qiáng),加大了分割的復(fù)雜度,導(dǎo)致幾種分割算法都將背景區(qū)域的病害部分誤分為病斑區(qū)域。CCNN分割模型能夠有效分割出不同場(chǎng)景下的葉片病斑區(qū)域,分割效果受自然條件影響較小,穩(wěn)定性較高,能夠滿足不同場(chǎng)景下的作物病害葉片分割任務(wù)。
從表2看出,CCNN網(wǎng)絡(luò)模型性能最佳,分割精度P的最大值與最小值之間的差值僅為0.81%,召回率R最大值與最小值之間的差異僅為1.07%,綜合評(píng)價(jià)指標(biāo)F值最大與最小之間的差值僅為0.79%,表明CCNN對(duì)于不同場(chǎng)景下的分割結(jié)果相差極小,該方法具有較強(qiáng)的魯棒性。其他幾種分割算法在包含土壤背景的條件下分割精度較高,表明土壤背景對(duì)不同分割方法的結(jié)果影響不大;在葉片遮擋、多個(gè)葉片和葉片粘連的分割場(chǎng)景中,指標(biāo)值出現(xiàn)不穩(wěn)定現(xiàn)象,但總體指標(biāo)值波動(dòng)范圍較小,說(shuō)明分割方法能夠適應(yīng)稍微復(fù)雜的分割場(chǎng)景;當(dāng)對(duì)處于病害粘連和光照復(fù)雜場(chǎng)景的葉片進(jìn)行分割時(shí),幾種分割算法指標(biāo)值均出現(xiàn)下降現(xiàn)象,表明病害粘連和復(fù)雜光照對(duì)分割效果影響較大;在單幅圖像分割時(shí)間上,CCNN均低于其他分割方法,多個(gè)場(chǎng)景下的單幅圖像平均分割時(shí)間為0.24 s。
針對(duì)傳統(tǒng)的作物病害葉片圖像分割難題,提出了一種級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)(CCNN)的作物病害葉片分割方法。首先利用區(qū)域定位網(wǎng)絡(luò)(RD-Net)對(duì)葉片中的病害部分進(jìn)行精確定位,減少背景干擾;再利用基于Encoder-Decoder結(jié)構(gòu)建立的區(qū)域分割網(wǎng)絡(luò)對(duì)定位后的病斑區(qū)域進(jìn)行精確分割。為驗(yàn)證算法的魯棒性,將CCNN分割模型與其他分割方法在不同場(chǎng)景下進(jìn)行分割試驗(yàn),結(jié)果表明CCNN網(wǎng)絡(luò)模型能夠完成不同場(chǎng)景下的病害分割任務(wù),而且所有評(píng)價(jià)指標(biāo)均為最高。在分割時(shí)效性上,CCNN優(yōu)于其他分割方法,單幅圖像的分割時(shí)間僅為0.21 s,表明該方法能夠滿足對(duì)病害分割時(shí)效性的需求。實(shí)驗(yàn)結(jié)果表明,本文提出的病害葉片分割方法的分割精度高、運(yùn)行速度快,能夠完成對(duì)作物病害葉片分割的實(shí)時(shí)性要求。但該方法只能完成小范圍場(chǎng)景內(nèi)的分割任務(wù),對(duì)于大范圍場(chǎng)景或者惡劣環(huán)境下病害葉片分割問(wèn)題有待研究,而且通常在自然場(chǎng)景下單個(gè)葉片中會(huì)包含不同的病害類型,或者有些病害在葉片中所占比例極小,這些情況都會(huì)給病害精準(zhǔn)分割帶來(lái)挑戰(zhàn),以后進(jìn)一步對(duì)本文所提出的方法進(jìn)行優(yōu)化。