趙小虎,李 曉,葉 圣,李 曉,馮 偉,尤星懿
1.礦山互聯網應用技術國家地方聯合工程實驗室(中國礦業大學),江蘇 徐州 221008 2.中國礦業大學 信息與控制工程學院,江蘇 徐州 221008
為實現農業生產智能化、現代化,很多學者將圖像分割技術應用于農業領域,實時分割病害并進行識別,減少人工成本,實現病害的診斷和防治[1]。大多數農作物的病變最初是從葉部開始蔓延,因此分析葉部病斑是及時防治病害的有效措施之一。
近年來針對農作物病斑分割技術層出不窮,主要有基于傳統方法和基于深度學習方法的分割。傳統的語義分割方法包括基于圖像紋理、色彩、幾何形狀和空間位置等信息對目標進行分割,并將其分割為互不相交的區域,且每一區域具有相同的語義像素信息。傳統語義分割方法可分為基于閾值的分割、基于聚類的分割、基于邊緣的分割和基于區域的分割等方法。張武等[2]針對小麥條銹病等提出將K-means聚類分割和Otsu算法結合的方式,逐步分割小麥的病害。Ma等[3]提出一種使用綜合顏色特征方法對蔬菜病害葉斑分割,實現病斑和噪聲背景的強識別。孫俊等[4]改進Otsu算法,利用粒子群優化算法尋找最優閾值并用于生菜葉片分割。王昌龍等[5]基于K-means聚類與LBP(local binary pattern)特征相結合實現南瓜葉片病害的識別,并滿足了精準施藥的要求。Wang等[6]提出一種基于K-means聚類的農作物病害圖像自適應分割方法,通過自適應學習初始聚類中心,將每兩個聚類間的距離作為聚類分割結果的效果。但是傳統圖像分割方法需要有針對性的預處理以及大量人工標注數據集,成本高,耗時長,因而網絡的靈活性不高,應用范圍有所限制。
隨著深度學習的出現,圖像分割技術突破傳統模式得到飛速發展。憑借深度神經網絡較強的學習能力和自我訓練能力,多角度獲取圖像信息,對病害預測、防治起到十分積極的作用。2015年Ronneberger等在FCN(fully convolutional networks)[7]基礎上提出了基于小數據集的網絡模型U-Net[8],此網絡包括收縮和擴展路徑[9],通過跳躍連接將低層全局特征與高層語義信息結合,泛化性較強,實現了端到端的網絡結構。隨后各種分割網絡迅速發展,不同程度地實現了空間上下文信息完整性和多尺度提取特征等目標,提高模型的精度和分割速度。段凌鳳等[10]對子圖進行基于改進的SegNet網絡的分割操作,并將分割處理后的子圖拼接,實現稻穗和背景的二分類,該網絡結構簡單,運行速度快。方晨晨等[11]提出一種基于改進深度殘差網絡的番茄病害圖像識別方法,引入深度可分離卷積方法降低模型參數。孔德峰[12]提出一種基于Inception-v3和遷移學習相結合的圖像分類算法,實現將健康和患病番茄的分類。Jiang等[13]提出一種基于深層卷積神經網絡的模型,通過引入Inception結構和Rainbow進行串聯,實現蘋果葉片病害的檢測。王振等[14]使用了編-解碼結構網絡進行玉米病斑分割,編碼器部分通過改進VGG-16網絡,結合池化索引,并在解碼階段由池化索引進行上采樣,最終得到密集的特征圖。此法避免了傳統的人工特征提取,且比現有的分割網絡結構簡單。張善文等[15]提出了由編碼-解碼器構成的多尺度融合神經網絡,創造性地在解碼階段使用九點雙線性插值算法對黃瓜特征圖進行上采樣,該模型的MIoU達到91.36%。
綜上所述,通過卷積神經網絡(convolutional neural network,CNN)方法對農作物病害進行病斑特征提取,利用反卷積、非線性插值或結合空洞卷積等方式進行解碼,實現準確分割農作物病斑的目的。然而,以上方法針對真實田間農作物的病斑分割易受復雜環境影響,分割邊緣模糊,特征提取效率低,難以實現實時分割病害的目的,并且當數據集較少時,模型容易產生過擬合。為了解決以上問題,本文基于U-Net網絡,分別在收縮和擴展路徑引入多尺度特征提取,在解碼階段加入注意力機制(attention mechanism,AM),使模型更關注病斑區域。此外,將基于PlantVillage數據集[16-18]的改進U-Net網絡進行預訓練,增強模型特征提取能力,節省再訓練田間番茄數據集的時間,加速模型收斂,提高特征提取的準確度。
本實驗中番茄葉片病害圖像樣本來自某現代農業產業示范園科技創新示范基地。由于番茄生長環境復雜,環境背景、日照光線、拍攝設備等會對圖像拍攝效果產生影響,為降低模型敏感度,圖像采集時間分布在2019年4—6月,分別選擇清晨、中午、下午進行采集,包含晴天、陰天情況下的番茄葉片圖像,反映了真實場景情況。本文共采集了番茄葉片50張,從采集圖像中截取有效區域圖像塊以減少復雜背景信息對圖像分割效果的影響,并將圖片統一處理為256×256分辨率的圖像。其次,使用labelme對示范基地的番茄葉片數據集進行區域標注,每張圖像含有兩個數據標簽:1代表目標,具體為番茄葉部病斑區域;0代表背景。標注數據以json格式存儲,并使用labelme_json_to_dataset命令將數據標簽轉換為二值化png圖,如圖1所示。

圖1 數據集標注示例圖Fig.1 Dataset annotation example graph
由于本實驗使用真實田間農作物數據集,圖像數據匱乏,直接使用原始數據進行訓練容易使模型產生過擬合的問題。因此,本文對數據集進行數據增強處理。CVPR細粒度視覺分類挑戰賽中使用隨機增強光照、翻轉等操作對原始數據集進行數據增強,證明使用該類方法以增強模型泛化能力的有效性。其次本實驗采集的圖像易受光照等因素影響,而圖像具有平移翻轉不變性等特性,結合挑戰賽方法對原始數據集進行隨機增強光照、平移、裁剪、翻轉操作,分別擴增3、2、2、2倍,共計24倍,構建番茄葉片病斑數據集(tomato leaf diseased dataset,TLDD),其中840張作為訓練集,360張作為測試集。圖2為部分數據增強圖像。

圖2 數據增強示意圖Fig.2 Data-enhanced image
為減少環境噪聲和計算復雜度,平滑圖像、去除椒鹽噪聲的同時保留圖像邊緣信息,對番茄葉片圖像進行中值濾波降噪處理,如式(1):

其中,x(i)為滑動窗口中心的像素點值,med參數為該像素鄰域值,y(n)為中值濾波輸出值。實驗表明,降噪處理后的圖像可提高圖像識別精度。
針對番茄農作物病斑分割因數據集較小、易受光照等復雜背景的影響,導致模型分割精度低,表現為過分割或欠分割的問題,本文構建了一種基于改進的U-Net網絡模型,整體結構如圖3所示。模型包括兩部分:多尺度特征提取編碼部分、注意力機制解碼部分。網絡輸入圖像尺寸256×256,為避免由單一通道提取特征無法準確提取邊緣信息的問題,編碼部分首先將圖像進行4次Inception多通道卷積,加強非線性表達。在每次卷積后將各通道融合的特征圖送入2×2最大池化層,使特征圖尺寸縮小為原來的一半,防止模型過擬合,同時降低計算量。注意力機制解碼階段包括Inception模塊、上采樣、注意力模塊,其中上采樣是大小為3×3的反卷積層。然而,上采樣過程中會引入噪聲,丟失番茄葉片病斑邊緣信息,因此加入注意力模塊SENet,通過空間和通道兩個維度恢復在編碼階段損失的信息,并有效緩解權重分散問題。最后通過SoftMax函數對番茄病斑和背景進行二分類,輸出分割結果。
圖像分割效果的好壞關鍵在于圖像特征提取是否良好,獲取準確的圖像特征信息,得到更多圖像屬性[19],進而精確識別物體的位置和區域,實現番茄葉片病斑的有效分割和檢測。但編碼階段選取單一尺寸卷積核進行提取特征,當感受野選取不合適時會產生空間上下文信息提取準確度低的問題,導致分割區域模糊、分類錯誤的現象。因此,為解決以上問題,本文基于U-Net網絡引入Inception[20]結構將不同大小的卷積核并行,對輸入圖像進行逐像素卷積。本實驗前三層直接采用經典的Inception結構即1×1、3×3、5×5以及3×3最大池化,當特征圖縮減為32×32時開始使用將標準的卷積核轉換成兩個非對稱的卷積核[21],即將3×3轉換成1×3與3×1,5×5轉換成的1×5與5×1的方式增強非線性,保持網絡稀疏性,同時極大地壓縮網絡參數量[22]。解碼階段與之對應。多尺度特征提取中的非對稱卷積模塊結構圖如圖4所示。

圖4 非對稱多通道卷積特征提取模塊Fig.4 Asymmetric multi-channel convolution feature extraction module
針對網絡訓練層數參數大、不方便實際應用的問題,采用Inception多尺度提取特征,處理更加豐富的空間特征,小尺度卷積核關注小病斑區域,大尺度卷積核關注上下文信息,增強特征多樣性。采用非對稱卷積進行多通道特征提取減少約33%參數量,提高了實時分割病斑的效率,增強了網絡的旋轉魯棒性以及泛化和表達能力。
編-解碼網絡提取低層特征時獲得更多精確的細節和位置信息,提取高層特征時則更關注語義上下文,而U-Net網絡利用跳躍式連接將低層細節與高層語義相結合,實現目標特征準確提取。但在解碼階段進行上采樣操作會丟失一部分位置空間等信息,從而導致病斑分割不精確。為使以上問題得到有效解決,本文加入注意力機制模塊AM。AM通過直接級聯對應編碼層和下一反卷積層,融合其互補特征信息[23],抑制上采樣產生的噪聲,增強模型魯棒性。本文綜合比較卷積塊注意模塊(convolutional block attention module,CBAM)[24]與擠壓和激勵網絡(squeeze and excitation networks,SENet)[25],CBAM在本實驗數據集上準確度比SENet略低,且SENet參數量比CBAM少約1.7%。因此最終選擇SENet,其結構如圖5所示。

圖5 Attention Mechanism結構示意圖Fig.5 Schematic diagram of Attention Mechanism
圖5中,V為輸入X經過Ftr變換后的特征圖,X∈?H′×W′×C′,V∈?H×W×C,M=[m1,m2,…,m C]表示第c個濾波器的參數,則Ftr過程公式如式(2)所示:

其中,*表示卷積操作。在Squeeze進行全局池化,通過壓縮每個feature map從而獲取全局特征信息,并得到1×1×C的數列,Fsq過程公式如式(3)所示:

其中,統計量s∈?C,V為局部描述符的集合。最后進行Excitation激勵操作,通過兩個全連接層構成Bottleneck結構融合通道信息,利用Sigmoid門函數獲取通道間非線性關系。此模塊類似于循環神經網絡(recurrent neural network,RNN)中的門機制。激勵過程公式如式(4)所示:

為加速模型收斂并緩解過擬合現象,本模型加入歸一化。批歸一化(batch normalization,BN)[26]以圖像數量N為單位進行批量處理,如圖6所示,容易受batch size設置的影響。本文TLDD數據量有限,當batch size設置過小時會導致均值、方差計算不準確性升高。因此,本模型采用分組歸一化(group normalization,GN)[27],以通道C為單位,計算每個group的均值和方差(同圖6),當batch size設置較小時,也可以正確歸一化,公式如下:

圖6 Group Normalization結構示意圖Fig.6 Structure diagram of Group Normalization

其中,a=(a N,a C,a H,aW);ε為常數;γ和β為可學習變量;C為通道數;G為分組數,本文G取32。式(6)為歸一化公式,式(7)、(8)為每組方差和均值,式(9)為變換重構過程,主要作用為加強非線性表達能力,防止其飽和時使網絡收斂變慢。
模型通過隨機梯度下降(stochastic gradient descent,SGD)[28]優化算法對損失函數進行優化,對TLDD進行二分類(1病斑,0背景)交叉熵損失函數(Two-class cross_entropy loss)計算,表達式如式(11)所示:

番茄葉部病害圖像分割的目的是將圖像中每個像素進行判定類別,從而明確病害范圍。為評價模型分割效果,并從多個角度說明本文算法的性能,本文選用了準確率(Accuracy)、召回率(Recall)、平均交互比(mean intersection over union,MIoU)[29]三個指標,具體的計算公式如下三個式子:

式中,Pacc為準確率;Prec為召回率;PMIoU為平均交互比;KTP為真正例,正確將病斑分類的像素點;KFP為假正例,將背景錯分成病斑的像素點;KTN為真負例,正確將背景分類的像素點;KFN為假負例,將病斑錯分成背景的像素點。
本實驗采用深度學習Pytorch框架,實驗環境硬件設備采用i7 6700k CPU,GPU為GTX 2080Ti,運行內存為32 GB,優化器采用SGD,學習速率為0.001,動量設置為0.9,迭代次數設為100。基于CNN網絡的模型可以較好地達到圖像分割目的。首先對數據集進行數據擴增;然后為了增強模型敏感度,對數據集進行圖像預處理;在模型訓練階段,為增強模型圖像特征提取能力和訓練速度,本文將PlantVillage數據集作為改進UNet網絡算法模型的輸入,并且保留預訓練的參數,將預訓練網絡作為本文創建的TLDD訓練模型。通過預訓練提高模型訓練速度,有效增強網絡的擬合能力,實現在有限數據集上提高病斑分割的準確度,本文方法最終準確率達到0.929。整體番茄葉片病害分割模型具體流程如圖7所示。

圖7 番茄葉片病害分割模型流程圖Fig.7 Flow chart of tomato leaf disease segmentation model
將預訓練完成的模型在TLDD訓練,每次迭代訓練結束后,記錄訓練準確率。由圖8可知,隨著訓練迭代次數的不斷增加,模型的準確率不斷上升,損失值不斷下降。當迭代次數達到88時準確度穩定在0.92,浮動變化穩定在1個百分點以內,損失值穩定在0.042,上下浮動在0.01以內,模型準確率較高,魯棒性較好。由此分析可知,本文對U-Net網絡的改進可以使模型達到一個較好的分割水平。

圖8 模型準確率與損失值變化曲線Fig.8 Change curve of model accuracy and loss value
為衡量本文模型的有效性,基于真實田間環境番茄病害數據集TLDD,使用改進后的U-Net分別與傳統UNet、FCN8s、SegNet、Inception+U-net、U-Net+AM進行實驗對比,樣本總數1 200張,隨機選取數據集70%作為訓練樣本,30%作為測試樣本。如表1所示,表中InU表示基于U-Net網絡引入多尺度Inception特征提取網絡的模型,UAM表示在U-Net網絡中引入注意力模塊的模型。將U-Net、InU、UAM模型與本文方法進行Pacc、Prec和PMIoU參數比較,同時為衡量模型訓練圖像的速度,對每個模型的訓練時間進行記錄。由表1數據可知,從評價指標上看,六種模型的準確率分別為88.2%、86.4%、89.2%、92.1%、91.3%,92.9%。其中,FCN8s在整體上看效果最差,準確率偏低,其次U-Net網絡分割效果在FCN8s的基礎上有所改善,SegNet在U-Net網絡基礎上準確率上升3.2%。此外,InU和UAM的模型與U-net相比,準確率分別提高約4.4%、3.5%,召回率提高了3.9%、4.4%;而同時加入多尺度特征提取和AM的模型效果最佳,準確率為92.9%,召回率為91.1%,平均交互比為93.6%,分別比U-Net模型升高5.3%、6.0%、6.6%,則表明被正確分割的像素比例升高,正確分割率升高,整體表現為基本分割出番茄葉片的病斑區域。從訓練時間上看,基于FCN8s網絡模型速度最慢,其次是U-Net、SegNet、UAM模型,分別為2.20 h、2.12 h、2.17 h、2.11 h,而UAM模型訓練時間較慢是因為加入的注意力模塊會增加一定參數和計算量。本文方法為均衡該部分影響,加入GN層有效降低訓練時間,加速模型收斂,最終訓練時間為1.97 h。圖9為本文方法不同迭代次數下的分割預測結果,由其可知本文方法可準確將病斑分割并接近真實值。

表1 實驗對比結果Table 1 Experimental comparison results

圖9 迭代過程效果圖Fig.9 Effect diagram of iterative process
此外,為驗證通過在PlantVillage數據集上預先訓練對本文方法的有效性,基于TLDD將改進U-Net模型與預先訓練的圖像分割模型進行對比,實驗結果如表2所示。

表2 預訓練模型實驗對比Table 2 Pre-training model experiment comparison
表中Imp-U-Net表示直接將TLDD輸入本文改進的U-Net網絡,預訓練+Imp-U-Net表示先經過預訓練,再基于改進網絡對TLDD進行訓練。由表2可知,Imp-UNet網絡比U-Net模型準確度提高約3.9%,主要是因為本文加入的多尺度卷積模塊和注意力模塊準確提取了病斑特征;而基于預訓練+Imp-U-Net分割模型準確度比U-Net模型提高約5.3%,比Imp-U-Net網絡準確度提高1.3%,訓練速度也明顯提高,充分證明在本文加入兩個模塊后,結合預訓練的方法在準確度和訓練速度上均有所提升,同時也減少了網絡模型對硬件的需求,可在現實實驗訓練中被使用,以此節省訓練時間。圖10為不同模型架構的病斑分割效果圖。由圖可知,采用FCN8s網絡模型分割的效果與采用U-Net網絡進行分割效果相差不大,均能分割出病斑的大致區域,但仍然存在分割不準確現象。其中,FCN8s分割不準確主要是因為在下采樣過程中對特征提取不夠準確,尤其是對小病斑區域的分割效果較差。SegNet主要通過空洞卷積在不增加參數量的情況下擴大感受野,但該方法對病斑邊緣分割效果較差;InU模型由于多尺度提取特征,導致部分區域存在過分割現象;UAM分割模型由于提取圖像屬性特征不充分,使模型存在病斑欠分割或過分割的問題;而將二者結合的模型效果最好,平衡了多尺度提取特征和注意力關注病斑區域兩種方法,預測結果基本與真實值相對應,可較好地應用于番茄病斑識別。

圖10 不同圖像分割方法效果對比圖Fig.10 Comparison of effects of different image segmentation methods
因此由實驗分析可得,通過引入多尺度特征提取,能全面獲取病斑區域和邊緣信息;通過引入AM使模型更加準確地關注病斑像素;相較于傳統分割、InU和UAM模型圖像分割方法,本文模型在衡量指標上的分割效果更好。
葉片出現病斑是番茄及大多數農作物開始出現病變最直接、最明顯的表現。為了有效防止番茄病情惡化,及時識別病斑區域,本文基于改進的U-Net網絡實現真實田間番茄病害分割,將采集番茄葉片數據進行擴充和預處理,并在此數據集上驗證了本文方法在圖像分割任務中的有效性。與經典的U-Net、FCN8s、SegNet進行對比,本文分割效果最好;與引入Inception和AM方法相比,本文通過多尺度提取圖像低級與高級語義信息,同時加入注意力機制關注局部特征,結合模型預訓練,在降低模型訓練時間的同時有效增強了其表達能力。然而,基于CNN的圖像分割算法仍然有一定局限性,不適用于小數據集分割,難以在現實場景中應用。未來將進一步研究小數據集圖像分割與分類,以及實現真實復雜環境下不同病害的識別。