李凱雨 朱昕怡 馬浚誠 張領先
(1.中國農業大學信息與電氣工程學院,北京 100083; 2.中國農業科學院農業環境與可持續發展研究所,北京 100081)
黃瓜是世界上第三大消費蔬菜,其年產量超過8.3×107t[1]。霜霉病和白粉病等病害是導致黃瓜品質下降和農民經濟損失的主要原因之一。病害嚴重度的準確估算是精準用藥和預測作物損失的關鍵[2],因此,估計病害嚴重度非常必要。
視覺估計是量化病害嚴重度的常規方法,即人眼對可見光范圍內感知的癥狀嚴重程度進行賦值。比例尺是視覺估計中最準確的工具,人們利用比例尺測量植物上病害的數量和面積進行估計[3],是視覺估計中最準確的工具[4]。然而,由于不同病害癥狀的異質性和視覺估計的主觀性,視覺估計并不可靠。標準面積圖(Standard area diagrams,SAD)可以用來提高嚴重度估計的準確性[5],但是SAD只能在白色或黑色等簡單的背景下估計特定病害的嚴重度。
基于數字圖像分析的嚴重度評估準確、可重復,且這種方法有成熟的處理過程。首先,通過圖像預處理或手動操作去除背景噪聲。其次,將顏色轉換與數學形態學操作、閾值處理等相結合分割出病斑。最后,計算病斑面積和葉片面積的比例得到病害嚴重度。這些分割算法依賴于手工設計的圖像特征,在受控條件下簡單高效。但是,田間條件下采集的病害圖像含有大量的土壤背景和復雜光照等噪聲,且不同種類病害及不同嚴重程度的病害特征具有多樣性和復雜性,手工設計的特征往往是低層次的特征,對光照變化、復雜背景和不同病斑位置很敏感,因此上述方法難以適應田間條件下的病害嚴重度估算。
深度學習(Deep learning, DL)受益于其自動學習圖像的低級特征和高級語義特征,已經成為圖像處理最先進的技術[6]。將病害嚴重度轉換為計算機視覺問題時,基于DL的病害嚴重度估計可分為3類,即基于分類的方法、基于回歸的方法和基于語義分割的方法。基于分類的方法采用卷積神經網絡(Convolutional neural network,CNN),通過將嚴重度分為嚴重程度的類別或區間將其轉換為一個分類問題[7-8],如健康、早期、中期和晚期。基于分類的嚴重度估算取得了較高的準確率[9],但是此種分類方法在田間試驗中并不利于評估處理的有效性?;诨貧w的方法和基于語義分割的方法可以獲得嚴重度的百分比值,很有參考價值[3]。張領先等[10]構建一個CNN模型估計黃瓜霜霉病的嚴重度,以手動去除背景的病害圖像作為輸入,證明了CNN的準確性優于淺層機器學習模型,決定系數R2達到0.919 0。基于語義分割的方法是通過深度神經網絡代替人為設計特征的分割方法獲得病害分割圖。在簡單背景下取得了較為準確的估計結果[11-13],但自然條件下拍攝的圖像不可避免地存在雜亂的背景,會降低嚴重度估計的準確性[14]。鑒于此,WANG等[14]設計兩階段的病害分割模型以減少復雜背景的影響,首先使用DeepLabV3+分割病害葉片,對分割出的病害葉片使用UNet分割出病斑。然而,兩階段的分割消耗更多的計算資源,增加嚴重度估計的復雜性。因此,有必要探索一種更高效且適合自然條件下的黃瓜葉部病害圖像嚴重度估計方法。
本文以田間條件下采集的黃瓜霜霉病和白粉病為研究對象,提出一種基于混合擴張卷積和注意力機制改進UNet(MA-UNet)的病害嚴重度估算方法。首先選取UNet為病害分割基礎模型,添加批歸一化層有助于模型訓練;其次,設計具有不同膨脹率的混合擴張卷積塊,捕捉不同尺寸的病斑特征,提升分割精度;同時,利用注意力機制有效增強網絡的語義信息和位置信息,緩解背景對網絡學習的影響。最后,計算病害分割圖中病斑像素與葉片像素的比率來獲得嚴重度,并與FCN、SegNet、UNet、FPN、PSPNet和DeepLabV3+進行比較,以驗證本文方法的有效性。
黃瓜霜霉病和白粉病圖像采集于天津市農業科學院農業創新基地的5號日光溫室。采集時要求每幅圖像中保留一片完整的黃瓜葉片,背景中帶有土壤或其他葉片等噪聲。使用尼康Coolpix S3100型數碼相機在自動模式下共采集153幅圖像,其中霜霉病圖像76幅,白粉病圖像77幅。在采集過程中沒有使用光學變焦或閃光燈。原始圖像尺寸并不適用于模型,使用圖像縮放方法降低計算成本,提高計算效率,將圖像尺寸統一調整為224像素×224像素。預處理后病害圖像樣例如圖1所示。

圖1 統一圖像尺寸后的病害圖像及標注樣例
使用Matlab Image Labeler App(MathWorks Inc., 美國)對病害圖像進行了像素級的標注。在標注過程中,圖像中可能有不止一片葉片,背景中還包含其他不完整的葉片。因此,葉片和病斑類別的標記只在中心完整葉片上進行。背景、葉片和病斑的類別分別被標記為0、1和2。為了便于可視化,病害標記樣例如圖1所示。標記之后,病害嚴重度S計算式為
(1)
式中Plesion——分割圖中病斑像素點數量
Pleaf——分割圖中健康葉片像素點數量
根據分層抽樣法,將采集的153幅黃瓜葉部病害圖像隨機劃分為訓練集、驗證集和測試集,其比例為6∶2∶2。由于訓練集中只有93幅圖像,為了豐富數據的多樣性以及適應卷積神經網絡所需要的大量數據,對采集的每種病害數據集進行數據增強以防止過擬合。增強的策略主要是水平翻轉、垂直翻轉、隨機縮放、順時針旋轉和逆時針旋轉等方式。擴增后,訓練數據集中的圖像數量增加到2 976幅,擴充示例如圖2所示。驗證集和測試集的圖像數量均為30幅,不做擴充處理。

圖2 訓練樣本增強示例
對采集到的黃瓜病害葉片圖像嚴重度估計流程如圖3所示。通過訓練集訓練提出的MA-UNet分割模型,驗證集用來調整模型的超參數并初步評估模型的性能。其次,在測試集上對分割模型的性能進行最終對比,并得到分割圖。最后,根據分割圖分別計算健康葉片和病斑的像素數,并根據式(1)計算病害嚴重度。

圖3 嚴重度估算整體流程圖
2.1.1分割網絡
由于UNet架構在解決圖像到圖像映射任務方面的有效性[11],本文選擇其作為構建模型的基礎。最初為醫學圖像分割任務提出的UNet模型采用了自編碼器結構,編碼器從輸入圖像中提取特征,解碼器進行每個像素分類來重構分割的輸出。另外,編、解碼器之間的跳躍連接能為輸出圖像精確定位。UNet在醫學圖像分割[15]、作物分割[16-17]等任務上取得了可喜的成果。本文在原始UNet的基礎上,在每個卷積層后引入批歸一化層(Batch normalization, BN),實現對輸入數據的標準正態分布來保證層間數據分布的穩定性,能夠有效提升網絡學習能力,加快網絡收斂速度。在編碼器與解碼器的中間引入具有不同膨脹率的混合擴張卷積塊(Mixed dilation convolution block, MDCB),減少下采樣導致圖像細節的丟失。其次,在解碼器里添加注意力機制,優化網絡提取病害圖像的位置信息和語義信息,進一步提升分割精度。本文提出的分割網絡如圖4所示。

圖4 MA-UNet網絡結構
2.1.2混合擴張卷積塊
在多種語義分割任務中,深度卷積神經網絡已被證明可以有效地提取圖像的特征表示,然而,傳統卷積神經網絡中的池化層會導致圖像細節丟失。擴張卷積可以克服這個限制[18]。擴張卷積引入膨脹率,可以在不丟失空間信息的情況下以指數方式增加感受野。
但是擴張卷積在卷積核中的2個像素之間填充零,導致該核的感受野僅覆蓋具有棋盤圖案的區域。因此,僅對非零值的位置進行采樣,從而丟失了一些相鄰信息,容易形成“網格化”。受JIANG等[19]研究啟發,本文提出一種混合擴張卷積塊(MDCB)來避免網格效應,有效地捕獲高分辨率特征圖并保留更多空間信息,如圖5所示?;旌蠑U張卷積塊由3個帶有不同膨脹率的擴張卷積塊組成,擴張卷積塊由4個卷積層、批歸一化層以及LReLU(Leaky ReLU)激活函數組成。其中膨脹率遵循類似鋸齒波的啟發式方法,即許多層組合在一起形成膨脹率增加的“上升邊緣”,文中使用的膨脹率r依次為1、2和5。大膨脹率的卷積可以提取和生成更多大尺度對象的抽象特征,而小膨脹率的卷積對于小目標更好。通過結合不同膨脹率的擴張卷積,MDCB 塊能夠提取具有尺寸不一、形狀不規則的病斑特征,對病害分割更有效。

圖5 MDCB模塊結構示意圖
2.1.3注意力機制
注意力模型有很多種,卷積注意力機制(Convolutional block attention module,CBAM)[20]是一種簡單有效的注意力模塊,沿著通道和空間2個獨立維度依次進行推理,2個維度的注意力相輔相成,最后與輸入特征進行自適應特征優化,結構如圖6所示。此外,CBAM 模塊的一大優勢是輕量級,可無縫集成到任何神經網絡中,無需增加計算開銷。

圖6 CBAM注意力模塊
通道注意力針對輸入特征F(H×W×C,其中,H為圖像高,W為圖像寬,C為通道數)分別進行空間全局平均池化和最大池化,得到2個1×1×C特征,通過ReLU激活函數將它們分別送到1個2層神經網絡,對全局特征進行非線性學習,得到2個特征并相加,再通過Sigmoid激活函數得到權重系數Mc。最后,將權重系數Mc與原始特征F相乘,得到通道維度上縮放后的新特征F′。與通道注意力類似,空間注意力針對特征F′(H×W×C),首先在通道維度上進行平均池化和最大池化,聚合特征映射的信息壓縮得到2個H×W×1的特征,并拼接在一起。然后,通過卷積操作激活其空間特征值,得到縮放后的空間特征圖Ms。在病害嚴重度估算研究中,本文探索了注意力的位置及數量,實驗表明將CBAM添加到解碼器中,提取解碼器中的細節特征,并與編碼器的特征相融合,有益于模型提取病害圖像的病斑特征,抑制背景的影響。
病害數據集中背景類別、病斑類別和健康葉片類別的像素數量顯然不均衡。這3個類別之間的差異可能會對訓練產生不平衡的影響,而忽略了病斑像素的重要性。因此,實驗中使用了加權交叉熵損失函數來減少這種影響。每個類別的權重Wm根據BADRINARAYANAN等[21]中位頻率平衡(Median frequency balance)計算。最終用于數據集的背景、健康葉片和病斑的權重分別為1.000 0、0.228 6和3.453 2。
(2)
式中fm——m類像素出現的頻率
Af——類頻率中值
應用類別權重之后的像素級交叉熵損失函數L為
(3)
式中N——總樣本數
M——目標類別數量,取2
yn,m——符號函數,如果第n個樣本屬于第m類取1,否則為0
pn,m——第n個樣本預測為第m類的概率
本文中的模型是基于PyTorch的深度學習庫實現的,并使用NVIDIA Quadro P2000 GPU(5GB)進行訓練。訓練過程中使用動量為0.9的隨機梯度下降法(Stochastic gradient descent, SGD)。在設備允許的情況下,多次調整參數,最終初始學習率設置為0.007,并以Poly方式變化[18]。訓練的最大Epoch設置為300,批量大小設置為8。另外采用L2正則化防止過擬合。
由于本文涉及葉片和病斑分割以及病害嚴重度估算,因此采用準確率(Precision)、召回率(Recall)、交并比(Intersection over union, IoU)和F1值[22]來評價分割結果。模型整體分割性能由像素精度(Pixel accuracy, PA)、平均交并比(Mean intersection over union,MIoU)和頻權交并比(Frequency weighted intersection over union, FWIoU)來評估[23]。嚴重度估計的準確性由決定系數(R2)和均方根誤差(RMSE)來評價[11]。
為了驗證提出模型對黃瓜葉部病害嚴重度估算的準確性,分別對提出的網絡進行消融實驗,并且與先進的估算模型進行對比。在此期間,展示了提出模型在圖像分割任務中的定性和定量結果,以及病害嚴重度估算的評估結果。
為了評估MDCB和CBAM在提出的嚴重度估算模型中的有效性,在黃瓜病害數據集上進行了消融實驗研究。使用測試集評估訓練好的分割模型的性能,并通過測試分割圖估算病害嚴重度。在模型訓練中,使用原始UNet作為基線模型,添加BN層,從頭開始訓練。分別通過MDCB和CBAM優化UNet,得到UNet + MDCB和UNet + CBAM 2個優化模型。最后,通過在原始UNet中同時配備MDCB和CBAM模塊獲得MA-UNet(UNet + MDCB + CBAM)。
病害數據集上的語義分割結果如圖7所示,田間條件采集的病害圖像含有相近顏色的背景,并且病害病癥有其特殊性,病斑可能存在不同尺度、不規則形狀和模糊邊界的現象。僅依靠原始UNet,通常無法獲得令人滿意的分割結果(圖7c)。通過增加感受野的多樣性和補償傳統擴張卷積中普遍存在的局部細節損失,UNet + MDCB獲得了更好的語義分割效果(圖7d)。另一方面,通過提取病害的位置信息和空間信息,克服復雜背景的影響,UNet + CBAM也優于基線模型(圖7e)。通過在MA-UNet中集成 MDCB和 CBAM 模塊,不僅可以提高模型識別各種尺度和不規則形狀病斑的能力,還可以增強網絡對復雜背景的泛化能力(圖7f)。

圖7 病害數據集上消融實驗的視覺比較
除了視覺比較之外,表1展示了測試集上各模型的整體性能。結果顯示,UNet+MDCB和UNet+CBAM都獲得了比原始UNet更優的PA、MIoU和FWIoU,清楚地證明了MDCB和CBAM模塊在復雜背景下分割不規則病害的有效性。基于集成了MDCB和CBAM的UNet,本文提出的MA-UNet模型在測試集上以最佳的整體性能優于其他對比模型,最終PA、MIoU和FWIoU分別達到96.79%、84.97%和93.95%,相比UNet模型,分別提高5.08、11.78、8.97個百分點。消融實驗中各模型對病害嚴重度的估算情況與分割結果一致,隨著PA、MIoU和FWIoU的提升,MA-UNet在病害嚴重度估算任務中的擬合度升高,最終R2達到0.965 4,比原始UNet模型提升0.080 3,均方根誤差為1.083 7,相比原始UNet降低1.605,表明MA-UNet模型在估算病害嚴重度時偏差最小。

表1 消融實驗結果
表2為消融實驗中各模型在背景類別、葉片類別和病斑類別上的精確率、召回率、交并比和F1值。結果表明,對于3個類別來說,消融實驗中的各個模型的分割結果都優于原始UNet??傮w來看,背景類別上的分割性能均高于葉片類別和病斑類別。MDCB模塊使模型對病斑類別的F1值和IoU提升到79.78%、66.36%,對葉片類別的F1值和IoU提升到97.46%、95.05%,表明MDCB通過增大特征圖感受野的同時保持病癥信息的連續性和完整性,

表2 消融實驗類別結果
能夠提高像素級分類的準確性。CBAM同樣使得分割模型對3個類別的精確率、召回率、交并比和F1值都有提升,表明像素類內響應和通道間的依賴關系能夠提升模型的分割效果。MA-UNet結合了MDCB和CBAM的雙重優勢,進一步提升了葉片類別和病斑類別的準確率和交并比,有助于在嚴重度估算任務中準確地獲取病斑和葉片的像素數,降低嚴重度估算的偏差。
為了進一步驗證所提出的MA-UNet模型對嚴重度估計的有效性,與最具代表性的語義分割模型進行比較,包括FCN、SegNet、DeepLabV3+、FPN以及PSPNet。為了保證比較的公平性,對比過程使用相同的訓練策略和相同的計算環境。同樣通過PA、MIoU和FWIoU來評價模型的分割性能,通過R2和RMSE評價模型的嚴重度估算性能。
表3為不同語義分割模型在測試集上的性能參數對比。在分割準確率方面,本文提出的MA-UNet取得了比對比模型更好的性能參數,這得益于不同膨脹率的混合擴張卷積提取不同尺寸的病斑信息,CBAM注意力使網絡聚焦于葉片和病斑類別,同步提升病害分割精度。FPN模型分割精度效果僅次于MA-UNet,它的PA、MIoU和FWIoU分別為94.96%、76.21%和90.87%。分割精度相對表現最差的是FCN,其PA為90.05%,FWIoU僅為82.2%。MA-UNet的FWIoU為93.95%,比表現最差的FCN模型高11.75個百分點,比FPN模型高3.08個百分點。由于估算病害嚴重度時僅用到葉片像素和病斑像素,所以圖8展示了各模型在葉片類別和病斑類別上的F1值和交并比。對于葉片類別,本文提出的MA-UNet在F1值和交并比上相比FCN、SegNet、DeepLabV3+、FPN和PSPNet等對比模型至少高4.04、5.37個百分點。對比模型在病斑類別上的分割精度均不高,但是提出的MA-UNet在F1值和交并比上相比對比模型至少高12.48個百分點和14.61個百分點。根據表3顯示,提出的MA-UNet模型在單幅圖像測試中耗時1.36 s,能夠在不增加過多運算時間的情況下,取得最高的估算精度,實現精準快速的嚴重度估算。

表3 不同模型性能比較

圖8 分割模型在葉片類別和病斑類別上的性能
圖9展示了所有模型的語義分割結果(為了便于視覺比較,展示與圖7相同的測試圖像)??梢钥闯?,當FCN面對復雜的背景和小目標時,難以分割葉片邊緣[24]。這可能是由于FCN使用反卷積進行上采樣,獲得了稀疏的特征圖,導致FCN對圖像的細節不夠敏感,丟失了像素之間的語義信息。DeepLabV3+采用ASPP模塊來編碼多尺度的上下文信息并抑制背景干擾[25]。SegNet和DeepLabV3+的分割結果比FCN好。但是SegNet難以應對復雜背景的影響,葉片邊界同樣分割不清晰。DeepLabV3+采用空洞卷積提取病害多尺度特征以提高分割的準確性,但是缺少空間維度和通道維度之間的相互依賴關系,導致對病斑的分割精度略低。FPN和PSPNet分別通過多尺度特征圖融合和聚合上下文信息對葉片精準分割,但是同樣難以處理不同尺寸的病斑,導致病斑分割較差[26]。提出的MA-UNet使用不同膨脹率的混合擴張卷積在擴大感受野的同時能夠捕捉并聚焦于不同尺寸的病斑,提取空間和通道的相互依賴關系,從而捕捉到了病害圖像更細化更精準的特征[20]。因此,MA-UNet在葉子和病斑分割方面取得了明顯改善,并有效地抵抗背景噪聲的影響,減少了葉片過分割。

圖9 不同分割模型的分割效果
根據語義分割模型的分割圖估算病害嚴重度,對模型的可靠性進行了評估[3,14],估計結果如圖10所示。結果顯示,所有模型的R2均超過0.83,估算精度范圍從0.831 9(SegNet)到0.965 4(MA-UNet),表明基于語義分割方法能夠估計病害嚴重度[3]。FCN、PSPNet和DeepLabV3+的估計誤差相對較大,分別為2.810 2%、2.952 3%和2.736 5%。FPN取得的嚴重度估計結果稍好,R2為0.915 4,但其估算的偏差較高。MA-UNet估計嚴重度與實際嚴重度有很好的一致性,取得了最高的R2,為0.965 4,最低的RMSE,為1.083 7%,這取決于病斑和葉片的準確分割。從圖10總體看來,大多數模型傾向于高估病害嚴重度[3,12],導致估計誤差更明顯。對嚴重度的高估可能是由于發病嚴重的病害葉片中病斑面積很大,還存在許多小的病斑相互粘連,導致模型對健康葉片和病斑的分割不準確,這也與人工視覺判斷一致[2]。

圖10 不同語義分割模型對嚴重度估算的結果
(1)針對病害圖像中病斑尺寸多變,設計具有不同膨脹率的混合擴張卷積塊(MDCB),通過增加感受野的多樣性和最小化傳統擴張卷積中網絡問題,提高模型識別各種尺度和不規則形狀病斑的能力。
(2)針對田間獲取的病害圖像中的復雜噪聲問題,設計引入注意力機制(CBAM),通過增強模型對關鍵細節信息表達,提升特征精準定位的效果,細化病斑分割,提高嚴重度估計的準確性。
(3)選擇FCN、UNet、SegNet、DeepLabV3+、FPN和PSPNet模型與本文提出的MA-UNet進行對比分析。在病害分割中,MA-UNet的像素精度、平均交并比和頻權交并比分別為96.79%、84.97%和93.95%,均優于其他深度學習模型?;诜指罱Y果,在病害嚴重度估算中,MA-UNet模型與真實嚴重度的決定系數達到0.965 4,最多比對比模型高0.133 5,RMSE最小,僅為1.083 7%,表明本文模型能夠對葉部病害的嚴重度進行精準估計。