王翔宇,李海生,呂麗君,韓丹楓,王梓強
1.長治學院電子信息與物理系,山西 長治 046011 2.承德石油高等??茖W校工業(yè)技術中心,河北 承德 067000
黃瓜褐斑病,又稱靶斑病(Target leaf spot),是黃瓜主要的真菌性葉斑病之一[1]。該病由多主棒孢霉(Corynesporacassiicola)侵染引起,發(fā)病初期在葉面出現(xiàn)黃色小斑點,中期擴大為圓形或不規(guī)則形狀的褐色病斑,后期病斑面積擴大且顏色呈灰褐色,發(fā)病率一般為20%~40%,嚴重時達60%~70%,導致落葉率提高,造成黃瓜大面積減產(chǎn),給農(nóng)戶帶來巨大的經(jīng)濟損失[2-4]。植物病斑的準確分割為后續(xù)的病害識別與診斷提供了有效依據(jù),具有重要意義。
目前的病斑分割方法主要包括數(shù)字圖像處理和深度學習兩種方法[5]。數(shù)字圖像處理方法眾多,已經(jīng)發(fā)展成熟。白雪冰等[6]利用小波降噪和分水嶺算法提取目標葉片,然后利用Otsu算法完成了黃瓜白粉病病斑分割。有研究結合可見光譜圖像的ExR,H和b*三種顏色特征,利用CVCF方法和形態(tài)學操作,獲得了黃瓜霜霉病斑的分割結果。有報道結合黃瓜葉片F(xiàn)TIR光譜和聚類分析,完成了褐斑病的檢測。深度學習方法是一種新興的機器學習算法,近幾年才逐步應用于實踐中[7-9]。深度學習能夠自動提取圖像特征,已經(jīng)在圖像識別[10-11]、故障診斷[12-13]、遙感[14]、醫(yī)學[15]等領域得到應用。任守綱等[5]利用反卷積引導的VGG網(wǎng)絡完成了番茄葉部病斑分割,模型分割準確率達94.66%。楊森等[16]利用Faster R卷積神經(jīng)網(wǎng)絡完成了馬鈴薯早疫病、晚疫病、炭疽病的識別,在特定光照條件下的平均識別準確率達90.83%。薛勇等[17]利用GoogLeNet深度遷移模型完成了蘋果缺陷檢測,為蘋果自動分級提供了方法。
利用數(shù)字圖像處理方法完成目標分割需要人為提取大量的特征集,當手動為一個復雜任務設計特征集時需要耗費大量的時間和精力,而且這些特征的確定還需要依賴一定的經(jīng)驗,且具有一定的不確定性,如果特征集選取不當,會導致圖像分割結果準確度差[18]。而深度學習,不需要人為確定特征集,機器可以通過自我學習來實現(xiàn)像素級的特征提取并完成語義分割,對于同等復雜度的任務,其提取特征集的效率更高,且不依賴人為經(jīng)驗,可以節(jié)約大量人力和時間[19-21]。
黃瓜常見病害中,霜霉病、白粉病研究最為多見,而褐斑病研究較少。本研究以黃瓜褐斑病可見光譜圖像為研究對象,利用U-net深度學習網(wǎng)絡提取病斑像素特征,完成病斑的語義分割,為黃瓜褐斑病的識別與診斷提供了有效方法。
研究所使用的黃瓜褐斑病圖像由天津市植物保護研究所提供,采集設備為Canon PowerShot G15,拍攝參數(shù)光圈值F3.2,曝光時間1/800 s,ISO-1600,焦距6 mm,關閉閃光燈。圖像分辨率為2 816×1 880像素,位深度24 bit,色彩標準為sRGB,3通道。所需圖像在實驗室條件下完成拍攝,為了更加全面地獲取褐斑病病斑特征,圖像采取完整葉面和局部葉面相結合、葉正面和葉背面相結合的方法進行拍攝。拍攝圖像共計40幅,其中包括全葉圖像28幅(葉正面14幅,葉背面14幅)和葉片局部圖像12幅(葉正面7幅,葉背面5幅)。部分圖像如圖1所示。
圖1 黃瓜褐斑病圖像Fig.1 Image of cucumber target leaf spot
利用U-net完成圖像語義分割,需要預先進行深度學習樣本標記。本研究采用Matlab的Image Labeler工具進行樣本標記。為便于計算機進行深度學習訓練,需對40幅黃瓜褐斑病原始圖像進行預處理。首先在原始圖像中截取病斑較為突出的區(qū)域作為目標區(qū)域,由于目標區(qū)域分辨率較大會嚴重影響機器學習速率,因此目標區(qū)域的分辨率選定為200×200像素以提高學習速率,共在40幅原始圖像中截取到135個像素區(qū)域,將這些區(qū)域另存為JPEG格式的圖像。然后對截取到的135個圖像進行圖像像素標注,給定兩個標簽集合Helth_area和Affected_area。其中,Health_area代表健康葉片區(qū)域,用藍色進行標注;Affected_area代表褐斑病區(qū)域,用紫色進行標注。標注后導出圖像樣本,部分樣本如圖2所示。
圖2 黃瓜褐斑病圖像訓練樣本標注Fig.2 The sample labeling of cucumber target leaf spot
U-net由Ronneberger等于2015在MICCAI上提出,是深度學習網(wǎng)絡的一種,U-net網(wǎng)絡是對FCN網(wǎng)絡的改進。與FCN網(wǎng)絡相比,U-net網(wǎng)絡加入了跳層連接(Skip connection),使得分割結果可以保留更多的局部細節(jié)。U-net網(wǎng)絡結構示意圖如圖3所示。
圖3 U-net網(wǎng)絡結構示意圖Fig.3 U-net architecture diagram
U-net網(wǎng)絡的工作流程主要包括下采樣和上采樣兩部分,如圖3所示,左側(cè)為下采樣過程,右側(cè)為上采樣過程。U-net網(wǎng)絡通過最大池化(Max-pooling)來增大感受視野,提取圖像最明顯的特征,即完成下采樣;通過上卷積(Up-convolution)來使圖像進行由小分辨率到大分辨率的映射以恢復圖像尺寸,即完成上采樣。整個網(wǎng)絡利用卷積(Convolution)和線性整流函數(shù)(ReLU)來完成輸入圖像(Input image)的采樣,并輸出特征圖(Output feature map)。其中,卷積主要完成圖像局部特征的提取,線性整流函數(shù)主要完成相關特征的保留,并去掉不相關特征。U-net網(wǎng)絡中引入跳層連接(Skip connection),可以把較淺的卷積層特征引過來,使得網(wǎng)絡在每一級的上采樣過程中,將編碼器對應位置的特征圖在通道上進行融合,從而保證了最后恢復出來的圖像融合了更多的底層特征和不同規(guī)模的特征,使分割圖像保留更多細節(jié)信息,提高了分割精度。
構建的U-net網(wǎng)絡如圖4所示。該U-net網(wǎng)絡總共包含46層和48個連接。輸入層為200×200像素的3通道可見光譜圖像。該網(wǎng)絡通過池化操作完成下采樣,池化操作分為平均池化(Mean-pooling)和最大池化(Max-pooling)兩種,平均池化即對鄰域內(nèi)特征點求平均,最大池化即對鄰域內(nèi)特征點取最大。在葉片中,由于病斑區(qū)域的像素特征與健康區(qū)域的像素特征區(qū)別較大,為了更加顯著地提取病斑特征,采用最大池化來保留病斑區(qū)域的紋理特征。下采樣過程中,每一級之間包括Conv-1和Conv-2兩個卷積層以及ReLU-1和ReLU-2兩個線性整流層,通過卷積層來提取葉片病斑的高層次特征,通過線性整流層來增加各層之間的非線性關系并緩解過擬合發(fā)生。上采樣通過深度連接(depth concatenation)操作完成,上采樣過程中,每一級包括Conv-1和Conv-2兩個卷積層,ReLU-1和ReLU-2兩個線性整流層,以及一個Up Conv層和一個Up ReLU層。同一級的上采樣和下采樣使用跳層連接來完成復制和剪裁(Copy&Crop)操作,將深層和淺層的特征進行融合,使葉片病斑的分割圖像更加精細,從而獲得更加準確的分割結果。
圖4 本研究中使用的U-net網(wǎng)絡結構Fig.4 U-net architecture in this research
利用所構建的U-net網(wǎng)絡進行訓練得到訓練模型,U-net模型具有小樣本學習的優(yōu)勢,能夠利用更少的訓練樣本進行學習,實現(xiàn)更快速、更有效地分割。訓練和測試使用的樣本為1.2節(jié)中所述的135個樣本,樣本圖像大小為200×200像素,3通道。隨機選取其中96個作為訓練樣本,用于模型訓練,剩余的39個作為測試樣本,用于模型測試。模型訓練所使用的GPU型號為Nvidia GeForce GTX 1070,顯存8 GB,內(nèi)存帶寬256.26 GB·s-1,CUDA核心1 920個,基礎頻率1 506 MHz,算力6.1。
為避免產(chǎn)生過學習的情況,設置最大訓練周期(max epochs)為10輪,小批量規(guī)模(mini-batch size)為4,則96個樣本每輪迭代為24次,共計迭代240次。設置L2正則化系數(shù)為0.000 1,初始學習率(initial learning rate)為0.05,動量參數(shù)(momentum)為0.9,梯度閾值(gradient threshold)為0.05。設定好以上參數(shù)后,利用U-net網(wǎng)絡完成訓練,模型的訓練時間、準確度與損失如表1所示。
表1 U-net模型訓練時間、準確度與損失Table 1 Training time, accuracy and loss of U-net
由表1結果知,模型訓練時間較短,僅需48 s就可以完成240次迭代,且訓練完成后,模型的小批量準確度可達98.23%,小批量損失為0.042 5,模型準確度較高,可以用于黃瓜褐斑病的病斑分割。
語義分割的評價指標主要包括執(zhí)行時間、內(nèi)存占用和準確率三個指標。為更客觀地反映出分割模型的效率和泛化能力,本研究共重復進行10次訓練來統(tǒng)計模型的運行結果。分割模型的執(zhí)行時間和內(nèi)存占用情況如表2所示。
表2 分割模型的執(zhí)行時間和內(nèi)存占用Table 2 Execution time and memory footprint of the segmentation model
由表2知,分割模型的執(zhí)行時間為46~48 s,平均執(zhí)行時間為46.4 s,內(nèi)存占用為6 631~6 704 MB,平均內(nèi)存占用為6 665.8 MB。模型的執(zhí)行時間較短,占用內(nèi)存較少,執(zhí)行效率較高。
除了執(zhí)行時間和內(nèi)存占用兩個評價指標外,本研究還利用4種語義分割準確率評價指標進行了分割模型的評價。這4種準確率評價指標分別為PA(pixel accuracy,像素準確率)、MPA(mean pixel accuracy,平均像素準確率)、MIoU(mean intersection over union,平均交并比)和FWIoU(frequency weighted intersection over union,頻率加權交并比)。
PA為像素準確率,即分類正確的像素點數(shù)量和所有像素點數(shù)量的比值,見式(1)
(1)
MPA為平均像素準確率,即每一類分類正確的像素點數(shù)量和該類的所有像素點數(shù)量的比值的均值,見式(2)
(2)
MIoU為平均交并比,即每一類的IoU的均值,見式(3)
(3)
FWIoU為頻率加權交并比,即根據(jù)每一類出現(xiàn)的頻率對各個類的IoU進行加權求和,見式(4)
(4)
式(1)—式(4)中,pii表示本屬于i類且預測為i類的像素點總數(shù);pij表示本屬于i類卻預測為j類的像素點總數(shù);pji表示本屬于j類卻預測為i類的像素點總數(shù)。
本研究重復進行10次訓練,得到的模型準確率統(tǒng)計結果如表3所示。
表3 分割模型的準確率評價Table 3 Accuracy of the segmentation model
由表3知,經(jīng)過10次重復訓練,模型的像素準確率PA為96.23%~97.98%,平均像素準確率MPA為97.28%~97.87%,平均交并比MIoU為86.10%~91.59%,頻率加權交并比FWIoU為93.33%~96.19%,可知模型的穩(wěn)定性較好、泛化能力較強。
通過綜合比較10次訓練結果,第6次的訓練結果準確率更高,因此將第6次訓練的U-net網(wǎng)絡結構進行存儲,以備后續(xù)直接調(diào)用。利用訓練好的模型進行黃瓜褐斑病圖像分割,結果如圖5所示。
圖5 黃瓜褐斑病分割結果(a):原始圖像;(b):病斑分割圖像Fig.5 Segmentation results of cucumber target leaf spot(a):Original images;(b):Segmentation images of target leaf spot
根據(jù)黃瓜褐斑病的分割結果,可以得知本研究構建的基于U-net的病斑分割模型對于黃瓜褐斑病的分割具有較好的效果。無論是褐斑病早期發(fā)生時的面積較小的圓形黃色病斑斑點,還是晚期感病面積擴大后的不規(guī)則形狀的褐色病斑,該模型均能實現(xiàn)準確分割,因此該分割模型可以適用于黃瓜褐斑病發(fā)生初期以及中后期,且均能起到良好的分割效果。
利用U-net深度學習網(wǎng)絡,并結合黃瓜葉片可見光譜圖像,完成了黃瓜褐斑病的像素特征提取與病斑分割,為黃瓜褐斑病的識別與診斷提供了依據(jù)。構建U-net網(wǎng)絡,對標定好的黃瓜褐斑病圖像樣本進行學習訓練,得到分割模型,然后利用測試樣本對模型測試。本研究經(jīng)過10次重復訓練和測試并綜合分析,基于U-net和可見光譜圖像的黃瓜褐斑病分割模型執(zhí)行時間較短,平均46.4 s,內(nèi)存占用較少,平均6 665.8 MB,總體執(zhí)行效率較高;模型準確率PA為96.23%~97.98%,MPA為97.28%~97.87%,MIoU為86.10%~91.59%,F(xiàn)WIoU為93.33%~96.19%,結果表明,模型具有較好的穩(wěn)定性和較強的泛化能力。本研究通過較少的訓練樣本,獲得了準確率較高的分割模型,為小樣本機器學習算法提供了參考,同時為蔬菜病害識別提供了方法依據(jù)。