閆靖昆,黃毓賢,秦偉森,高 攀
(石河子大學信息科學與技術學院,新疆 石河子 832003)
棉花是我國重要的戰(zhàn)略物資,全國有多個省、市、自治區(qū)生產棉花,涉棉農民達1億多人,棉花產業(yè)在國民經濟中占有重要地位. 棉花黃萎病是危害我國棉花生產最為嚴重的病害之一,棉花一旦感染,將減產甚至絕收[1].
從圖像中分割病害作物和提取病斑是病害檢測和病害識別過程中的重要步驟,傳統(tǒng)檢測方法常采用閾值分割法對簡單背景下的病害葉部圖像進行分割,取得了較好的分割效果[2]. 但是大田環(huán)境下圖像中作物背景復雜,顏色成分豐富,包含較多噪聲和不確定像素,對作物病斑的提取造成嚴重的干擾,采用單一閾值分割,很難取得較好效果.
基于傳統(tǒng)機器學習方法,袁媛等[3]針對復雜背景下的病害圖像,有機結合OTSU方法和超G方法以消除大田圖像中的無用背景,而后根據(jù)預處理后圖像的紅色分量(R)自動建立數(shù)據(jù)項,將相鄰像素間紅色分量的差值作為平滑項,構建了基于閾值預處理的圖分割算法. 雖然轉換顏色模型和使用OTSU方法有效降低了計算量,并消除了圖像受亮度和對比度的影響,但是OTSU方法分割目標單一,當目標和背景面積比例相差懸殊時,類間方差函數(shù)呈現(xiàn)出的雙峰或者多峰導致了較差的分割效果.
大田環(huán)境下采集的棉花病葉圖像存在光照不均勻和背景復雜等問題,同時棉花葉片的病變往往是不規(guī)則的、復雜的和隨時間變化的,基于人工設計的閾值求解和特征提取的分割方法的分割精度和泛化能力無法滿足大田作物病害檢測和識別的需要.
目前,卷積神經網絡(convolutional neural networks,CNNs)已成功應用在作物病害圖像識別、檢測和分割中,取得了顯著效果[4]. 任守綱等[5]構建了一種基于反卷積引導的VGG網絡模型,首先采用反向全連接層將分類結果恢復為特征圖,然后通過上采樣技術和卷積操作進行反卷積,使用殘差塊融合多層特征恢復圖像細節(jié),最后每個像素點基于二分類交叉熵函數(shù)進行訓練,使得編碼器關注實際的病斑部位. Ronneberger 等[6]針對小數(shù)據(jù)集提出了改進的U-Net網絡模型,使用全卷積層代替全連接層,實現(xiàn)了端到端的網絡結構. R-CNN體系直接應用于葉片病斑檢測時,病害區(qū)域不能得到充足的分割. Ozguven等[7]根據(jù)圖像和要檢測的區(qū)域調整參數(shù),令R-CNN體系取得了成功.
綜上,雖然基于卷積神經網絡的分割算法可有效避免傳統(tǒng)分割技術繁瑣的特征選擇過程,并實現(xiàn)比傳統(tǒng)算法更高的識別精度,但本文針對的棉花黃萎病病斑形狀復雜、分布無序,在使用深度學習方法處理時,訓練標注過程繁瑣復雜,模型分割時間冗長,無法達到田間實時要求.
本文針對大田背景下棉花病葉內病斑分割問題,結合深度學習和傳統(tǒng)無監(jiān)督學習優(yōu)點,提出先使用基于數(shù)據(jù)遷移的語義分割模型在復雜背景中分割出病葉,再由選擇初始質心的K均值聚類得到病斑. 通過大量圖像試驗,經人工分割結果驗證,本文提出的病斑分割算法能夠有效分割復雜背景中出現(xiàn)的棉花病葉、病斑,為進一步檢測識別棉花黃萎病病害提供了依據(jù).
本文棉花葉部病害圖像數(shù)據(jù)采集于石河子大學農學院試驗站(85°9′51.231 00″E,44°35′47.720 00″N),采集時間段為2020年7月,在自然光下(時間段為9:00—12:00)對田間棉花葉片進行多個方位拍攝. 在自然光下更有利于拍攝作物病害的主要特征,如病害的紋理、顏色、形狀等,也更能貼切實際. 圖像采集設備為微型單鏡頭數(shù)碼相機,型號為SONYDSC-HX400,圖像分辨率為 3 456×4 608像素.
訓練深度學習模型時,訓練數(shù)據(jù)越多、越全面,其識別能力越強,因此本文采用多種方法實現(xiàn)語義分割圖像數(shù)據(jù)集的數(shù)據(jù)增強. 對田間采集的1 800張棉花葉部圖像,選取400張圖像進行顏色直方圖均衡化和鏡像翻轉處理[8-9],最后得到1 200張擴展圖像數(shù)據(jù)集. 數(shù)據(jù)集示例如圖1所示.
圖1 擴展數(shù)據(jù)集示例Fig.1 Samples of extended dataset
本文所用數(shù)據(jù)還包括Kaggle提供的公開數(shù)據(jù)集NPDD(new plant diseases dataset),選擇NPDD中形狀、紋理、特征類似于棉花葉片的圖像作為擴展數(shù)據(jù)集,包含1 000張256×256像素的蘋果、柑橘、馬鈴薯、番茄葉片圖像. 圖像示例如圖2所示.
圖2 公開數(shù)據(jù)集示例Fig.2 Samples of open source dataset
圖像通過全卷積神經網絡進行學習后能夠清楚地被歸納出具有相同語義含義的像素點. 不同植株的葉片具有顏色、紋理、形狀等部分相同的特征,故數(shù)據(jù)遷移技術可以在語義分割模型中使用.
本文將采集的棉花葉部病害圖像數(shù)據(jù)集和從公開數(shù)據(jù)集NPDD獲得的圖像集按8∶2的比例劃分為訓練數(shù)據(jù)集與測試數(shù)據(jù)集.
本文采用Labelme-3.3.6的Polygons對葉部圖像進行標注,Labelme軟件是美國麻省理工學院計算機與人工智能實驗室開發(fā)的一款用于深度學習的圖像標注工具. 圖像在采集時會受到外界一些因素的干擾,導致圖像存在一定的噪音,對葉片的特征提取產生不利的影響,因此采用中值濾波算法對圖像進行預處理[10-11]. 為節(jié)約計算資源和標注時間,在進行標注前,利用OPENCV將2個數(shù)據(jù)集中的圖像大小統(tǒng)一調整為301×301像素. 在采集棉花葉部圖像時,病葉通常位于圖像中間部位且面積占比較大,相對較小的葉片不是分割的目標,標注效果如圖3所示.
圖3 標注效果Fig.3 Annotation effect
Chen等[12]提出的DeepLabv3+模型的整體架構如圖4所示,DeepLabv3+模型為編碼器-解碼器結構(encoder-decoder structure),編碼器(encoder)模塊的深度卷積神經網絡(DCNN)是帶有空洞卷積(atrous convolotion)的Xception主干網絡,同時帶有空洞卷積的空間金字塔池化模塊(atrous spatial pyramid pooling,ASPP)引入多尺度信息,將底層特征與高層特征進一步融合,提升分割邊界準確度.
圖4 DeepLabv3+模型Fig.4 Model of DeepLabv3+
DeepLabv3+模型采用空洞卷積的方法進行特征提取,在不損失信息的情況下,可以獲得更大的感受野,使得每一個卷積輸出都包含大范圍的信息. 絕大多數(shù)的植物葉片拍攝都是基于近距離拍攝的場景,葉片圖像占比較大. 通過空洞卷積的方法進行特征提取,可以獲得更多的局部特征,從而能夠在近距離拍攝環(huán)境下更好地檢測和分割葉片目標. 正常卷積與空洞卷積對比如圖5所示.
圖5 正常卷積與空洞卷積對比圖Fig.5 Comparison of normal convolution and dilated convolution
ASPP模塊主要包括了1個1×1卷積層、3個不同空間跨度的3×3空洞卷積層和1個平均池化層. 本實驗中,DeepLabv3+模型通過ASPP模塊從5個尺度提取葉片的特征,能夠在不改變圖像分辨率的前提下多尺度以更大的感受野捕捉到葉片的特征信息.
為防止編碼器得到的高級特征被弱化,解碼器(decoder)模塊首先采用1×1卷積對低級特征進行降維,然后將編碼器得到的多尺度融合特征雙線性插值上采樣,通過特征連接(concatenate)把編碼器中提取的高級特征和1×1卷積降維后的低級特征進行特征融合,最后,對融合后的特征進行3×3卷積,用雙線性插值上采樣得到與原始圖像相同大小的掩碼圖像.
在微型計算機系統(tǒng)上安裝Ubuntu16.0系統(tǒng)、Python3.6編譯環(huán)境、CUDA架構、cuDNN開發(fā)庫,使用深度學習框架Tensorflow,在該深度學習環(huán)境下進行模型構建、訓練和預測,通過交互選擇分割效果最好的模型. 設置初始學習率為0.000 1,迭代次數(shù)為500,train_batch_size為1,atrous_rates為6、12、18,output_stride為16,decoder_output_stride為4,labels為2(背景+葉部). 模型訓練耗時36.2 h. 在訓練集上的準確度為0.989,最終損失值為 0.167;在驗證集上的準確度為0.983. 訓練集的訓練損失、準確度和模型迭代次數(shù)關系如圖6所示.
圖6 訓練損失和準確度曲線圖Fig.6 The graph of training losses and accuracy
調用訓練好的模型對大田背景下棉花葉片圖像進行處理,可基本上將復雜背景中的棉花葉片完整提取,得到前景圖像,如圖7所示.
圖7 復雜背景去除效果Fig.7 Complex background removal effect
自然環(huán)境下獲取的RGB圖像的3個分量都與亮度密切相關,亮度改變,3個分量都會隨之相應地改變,均勻性較差,對于某一種顏色,很難給出較為精確的3個分量數(shù)值表示. HSV顏色空間可以非常直觀地表達顏色的色調、鮮艷程度和明暗程度,方便進行顏色的對比和對亮度的控制比較. HSV顏色空間已被許多研究人員用于彩色圖像分割,本文將1.4節(jié)得到的前景葉片圖像從RGB顏色空間轉換到HSV顏色空間,以便進行下一步分割處理[13-14].
HSV顏色空間包含色相、飽和度和明度分量. 本文將K均值聚類算法應用到HSV顏色空間中的色相成分H上.K均值聚類算法具有聚類的隨機性問題,每次運行算法,簇群中心得到改變,以前包含葉部病斑部分的簇群在下一次運行中可能不再包含. 為了克服聚類隨機性的問題,本文提供每個聚類的初始質心值.
在HSV顏色空間中創(chuàng)建色相分量的顏色直方圖. 圖8為一個棉花葉片圖像的色相分量顏色直方圖. 圖9和圖10為葉片圖像病斑部分和正常部分的色相分量直方圖. 對病斑部分和正常部分的顏色直方圖進行觀察,發(fā)現(xiàn)了可以區(qū)分病斑和正常部分的波谷區(qū)域,但在波谷區(qū)域存在少量像素點,可能導致病斑簇中存在部分綠色. 選擇特定閾值在直方圖中以分隔病斑部分和正常部分,從直方圖中提取每個bin的像素數(shù)和色相分量值,將圖像的病斑部分和正常部分的bin分別存儲在2個單獨的隊列中. 從隊列中選擇像素數(shù)為最大值的色相值作為病斑簇和正常部分的初始質心值,以用于K均值聚類.在K均值聚類中,病斑部分、正常部分及黑色背景的初始中心得以確定.
圖8 葉片圖像色相分量直方圖Fig.8 Hue component histogram of leaf image
圖9 葉片圖像病斑部分色相分量直方圖Fig.9 Hue component histogram of diseased spot in leaf image
圖10 葉片圖像正常部分色相分量直方圖Fig.10 Hue component histogram of normal part in leaf image
K均值聚類作為一種典型的無監(jiān)督聚類算法,主要用于將相似的樣本自動歸到一個類別中[15]. 在本文中,設置K為3,使用2.2節(jié)中的初始質心值作為3個簇的初始中心,然后計算葉片圖像中剩余像素點到3個初始中心的距離,將每個像素點分配到離它最近的中心點,但形成的新簇并不一定是最好的劃分,因此在生成的新簇中重新計算每個簇的中心點,然后再重新進行劃分,直到每次劃分的結果保持不變.
提供初始質心的K均值聚類算法計算后返回每個像素的聚類標簽. 創(chuàng)建2個相同尺寸、像素值都為0的空白圖像存儲聚簇結果. 使用聚類標簽,將前景圖像的每個像素復制到對應的空白圖像,在步驟的最后得到了2個聚簇圖像(病斑部分圖像和正常部分圖像). 病斑簇中不必要的綠色部分會直接影響分類的準確性. 在色相分量中,綠色部分介于17.2°~45°之間. 為了去除病斑簇中不必要的綠色像素,以綠色色相的最小值和最大值創(chuàng)建一個Mask進行閾值分割. 大田背景下病葉中的病斑分割結果如圖11所示.
圖11 病斑分割結果Fig.11 The result of diseased spot segmentation
本文使用準確率Rprecision和召回率Rrecall作為分割結果的評價指標,如式(1)、(2)所示. 以綜合評價指標F1作為準確率和召回率的評估值,如式(3)所示.
(1)
(2)
(3)
式中,TP為正確分割的像素數(shù),FP為誤分割的像素數(shù),FN為漏分割的像素數(shù).
從采集到的棉花葉部病害圖像中選取200張,用本文模型和人工分割分別進行處理,統(tǒng)計分割結果中病葉、病斑的正確分割、誤分割、漏分割的像素數(shù),計算出準確率和召回率,最后統(tǒng)計得到F1值,如表1所示.用本文方法處理的病葉分割F1值為98.87%,基本可以得到完整分割,被誤分割為背景的情況較少,且邊界能較好地保留;病斑分割F1值為87.29%,大部分病斑得到有效提取,能夠將細小的病斑點分割出來.本文方法與人工分割相比,病葉分割F1值僅相差0.33%,病斑分割F1值僅相差1.28%.棉花葉片上病斑分布無序、形狀復雜,對其進行語義標注是一項十分艱難的工作,在沒有數(shù)據(jù)增強的條件下,最終能否達到理想結果尚未可知,而且處理時間會大大延長,無法滿足田間作業(yè)實時處理的要求.本文所提算法利用數(shù)據(jù)遷移的方法,學習葉片共有的語義信息以實現(xiàn)病葉分割,降低人為設置參數(shù)造成的分割誤差,減少K均值聚類算法誤分割、過分割情況,分割準確度整體優(yōu)于已有算法.
表1 分割結果評價指標對比Table 1 Comparison of evaluation indexes of segmentation results
本文提出了基于數(shù)據(jù)遷移的DeepLabv3+模型與初始質心選擇K均值聚類機制相結合的復雜大田背景下棉花黃萎病病斑分割算法,通過試驗得到如下結論:
(1)語義分割能夠歸納出具有相同語義含義的圖像像素點,在訓練DeepLabv3+神經網絡時具有相同表型特征的不同植株葉片可以達到數(shù)據(jù)增強的效果. 在NPDD公開數(shù)據(jù)集中部分葉片圖像與棉花病葉圖像具有相似特征,所以本文將NPDD數(shù)據(jù)集中部分圖像數(shù)據(jù)作為訓練DeepLabv3+模型的增強數(shù)據(jù),有效提高了復雜背景下分割葉片像素點的準確率和召回率.
(2)K均值聚類算法具有聚類的隨機性問題,每次運行算法,簇群中心得到改變.通過多次試驗和觀察,在不受光照影響的色相分量上選定正常葉部和病斑的初始質心,有效減緩了K均值聚類的隨機性問題.