高攀,錢宇珊,王佩玲,呂 新
(1.石河子大學信息科學與技術學院,新疆石河子 832000;2.石河子大學農學院,新疆石河子 832000)
【研究意義】棉花的病害是導致棉花產量減少的重要因素,當前棉花病害監測主要通過棉田觀察棉花葉片,基于經驗或部分結合現代實驗室檢測手段實現對病害的監測。這些傳統的病害監測方法費時費力,且手段存在滯后性。【前人研究進展】近年來,國內外學者探索使用圖像處理技術以實現棉花病害的識別[1-4],這些研究中都會涉及到圖像分割技術。關于作物葉片分割方法的研究也有很多[5-12],但主要集中在實驗室狀態下的圖像分割算法的研究,一般是先轉換為灰度圖再做進一步的處理,包括腐蝕,膨脹,開運算,閉運算,濾波,二值化,邊緣檢測,閾值分割。實驗室狀態的圖像分割特點是背景單一,噪音少,在這一基礎上采用的分割算法效果都比較明顯[5,8],但在實驗室條件下的研究局限性也比較明顯,圖像需要通過人為或者器械對采集的葉片進行二次收集[9]。為了快速高效的獲取棉花病葉,圖像一般是從棉田通過攝像機、無人機鏡頭直接拍攝而來。直接拍攝的圖像無法直接使用實驗室狀態下的分割方法,而需要進行棉田復雜背景下棉花植株提取和基于植株的棉花葉片分割。該研究以棉花黃萎病視頻關鍵幀圖像為研究對象,通過顏色空間特征將土壤背景與植株分離,從關鍵幀圖像中提取植株,并將獲得的無背景植株經過腐蝕膨脹處理,去除棉花植株莖稈,最終通過圖像分割算法分離葉片,為下一步利用圖像識別算法識別棉花病害提供高質量的樣本,為高效準確識別棉花病害奠定基礎。
1.1 材 料
棉花葉部病害的顏色、紋理、形狀三個特征主要表現在葉部,所以試驗選用在棉田隨機拍攝棉花的棉花植株冠層圖像,圖像背景復雜,噪聲較多。拍攝原始圖像20幅,3幅見圖1。

圖1 原始植株
1.2 方 法
1.2.1 復雜背景下的棉花植株與土壤分離
YIQ顏色空間一般是用于電視系統[4],Y是顏色的亮度信號,I、Q為色差信號,分別攜帶彩色信息,I分量色彩從橙色到青色,Q分量色彩從紫色到黃綠色。與YIQ顏色空間相比RGB顏色空間在處理亮度信號的有較小的劣勢,但RGB色彩空間更易于理解[9]。而圖像來源受到光照的影響較小,不需要特意進行亮度信息處理,與YIQ顏色空間相比,棉花植株的RGB顏色特征是十分明顯,植株與土壤的RGB特征有著明顯的差異,選擇RGB色彩空間。
1.2.2 去棉花莖稈
腐蝕膨脹相互組合為形態學處理技術的多種運算,包括開運算,閉運算,形態梯度等[5]。其中,閉運算先進行膨脹再腐蝕,主要是可以消除“小型黑洞”尋找極大值聯通區域,其數學表達式為:dist = close(src,ele) = erode(dilate(src,ele)),其中dist表示結果圖像,close表示閉運算,src為輸入圖像,ele為卷積核,運算順序是先dilate(膨脹)再erode(腐蝕)。開運算則是與閉運算相反,先進行腐蝕再膨脹,其效果是消除獨立的圖像元素,分離纖細處物體,數學表達式為:dist = open(src,ele) = dilate(erode(src,ele)),參數與閉運算相同。圖2

圖2 閉運算與開運算
1.2.3 廣度搜索的分割算法
廣度優先搜索(Breadth First Search, BFS)是圖的一種遍歷方法[6]。BFS是一種盲目搜索算法,不考慮位置因素,從根節點開始,按層次逐層向下遍歷,直到找到結果。BFS在搜索過程中會將所有節點分為兩類,一類是未訪問節點,另一類是已訪問節點,從根節點開始,其所有子節點放進隊列中,每一次訪問都從隊列中取出一個節點,每一個被訪問過的節點會被標記到已訪問的容器中,直到隊列為空時搜索才會結束。
1.2.4 基于距離變換的分水嶺分割算法
分水嶺分割法是一種基于區域的圖像分割法[7],常用于處理圖像中的目標物體是連接在一起的這類問題,通常會取得比較好的效果。距離變換是分水嶺分割中常用方法,距離變換就是對二值圖像的每個像素點重新賦值為離它最近的背景像素點。與傳統分水嶺算法相比,基于距離變換的分水嶺分割在分割一組相互接觸的類圓形物體的情況下作用明顯[8]。距離變換的距離類型有[7]:歐式距離(Eudlidean Distance Transfrom)、棋盤距離(Chessboard Distance Transform)、城市街區距離(Cityblock Distance Transform)、倒角距離變換(Chamfer Distance Transform)。其中后三種又稱為非歐式距離。
1.2.5 基于輪廓搜索函數的分割算法
findContours函數將輪廓以兩層結構保存[9],頂層為連通域的外邊緣,底層為內部空圈的外邊緣,將每個輪廓做上A、B、C、D、E五個外輪廓區域標記。函數的特點是將二值化的白色區域作為尋找輪廓的區域,如果白色區域能夠延伸到了圖像邊界,則將圖像的邊界也當作輪廓的一部分。findContour函數的核心思想是對數字二值圖像進行拓撲分析,一種算法是確定外邊界、孔邊界以及他們的層次關系,另一種算法是修改版本,只找最外面的邊界[11-12],其中第一種算法基于二值圖像確定外邊界與孔邊界的層次關系,背景為0圖像為1。
2.1 土壤作物分離
超綠特征2*G-R-B是一種常用的特征模型[9],利用該特征能夠較好的將圖像中綠色信息提出來。采用超綠特征模型分割后發現圖像中仍存在著大量噪聲,分割效果較差。在棉花植株葉片中,植株葉片G分量要高于R、B分量,即G>R且G>B,而相應的土壤主要呈灰白色,其R、G、B三種分量的比例接近,依據R、G、B三種分量的特征,當三種分量計算結果G-R>0且G-B>0時,像素點保持不變,其余的像素點置零,棉花植株作物保留而土壤及其他背景變為黑色。圖3

圖3 土壤作物分離
2.2 去莖稈操作
由棉田直接拍攝的圖像除了有復雜的背景噪音存在以外,植株自身的莖稈對于葉片來說雖然纖細但也是一種噪音,為了實現下一步的棉花葉片分割,須要將莖稈與葉片分離。由于莖稈與葉片有著相似的RGB特征,因此無法通過RGB顏色空間特征去除,但是考慮到植株莖稈纖細,并且與葉片是相連接,是一塊連通區域,所以可以通過應用形態學開運算消去極小值區域的連通性實現莖稈去除。
但是實驗中發現先腐蝕在膨脹后會明顯的增加灰度值大的區域,導致葉片的邊緣信息不準確,所以在進行開運算以后必須要去除新增的區域,再重新定位到彩色圖像中。于是在開運算以后需要對灰度圖和開運算得到的圖像進行與與運算,去除膨脹效果增加的區域,得到去除莖稈后的植株圖像,具體步驟如下:
將土壤分離后的圖3(c)彩色RGB圖像轉為灰度圖像,如圖4(a)所示。后續操作如下:
第一步:將圖4(a)腐蝕去莖稈后得到如圖4(b)所示;
第二步:對圖4(b)進行膨脹后得到如圖4(c)所示;
第三步:將圖4(a)和圖4(c)做與運算得到如圖4(d)所示定位圖,從而去掉圖4(a)中的莖稈和圖4(c)中膨脹出的多余的區域;
第四步:根據4(d)在圖4(a)中定位,通過定位得到去莖稈植株彩圖圖,如圖4(e)所示。
從圖4(e)可以看出,經過去莖稈操作后得到的最終結果圖里不存在莖稈噪音,而且原葉片也得到保留,有效去除了植株莖稈。圖4

圖4 去莖稈過程
2.3 基于廣度搜索的輪廓提取與葉片分離
圖像分割的最終目的是從植株中提取出單獨的葉片,在經過去背景,去莖稈后接下來的關鍵問題如果就是分割出獨立的葉片。首先需要找到葉片的輪廓并提取輪廓,然后依據輪廓再定位葉片,最終完成葉片的分離。通過二值化操作成功將葉片與背景分為0與255兩極,保留葉片的輪廓信息。圖5

圖5 圖像二值化
圖像二值化后再結合邊緣檢測,尋找葉片的邊緣信息,將葉片輪廓提取出來。邊緣檢測的檢測算子很多,常用的是Canny算子,該算子不容易受到噪聲干擾,使用兩種不同的閾值,可以分別檢測強邊緣和弱邊緣,保留較完整的邊緣信息。通過Canny算子進行邊緣檢測得到葉片的邊緣信息。圖6

圖6 邊緣檢測
葉片經過二值化、邊緣檢測后得到的葉片的邊緣信息與圖相結合,將每一個葉片的邊緣看作一個閉環圖,為了將每個葉片單獨提取,本文在廣度優先搜索算法的基礎上,利用廣度搜索,將圖像看做一個二維數組,從(0,0)開始掃描,當遇到某個點的值不為0時,掃描到了葉片輪廓,再以此節點為根節點,將整個輪廓抽象為一個連通圖,進行廣度搜索。對節點的八個方位進行判斷,如果節點未被訪問且值不為0則將其放入隊列,對每一次訪問,都將該節點信息存放至對應的輔助數組中輪廓區域為1,其余位置為0。則廣度搜索完畢就表示一個葉片輪廓已經找到且葉片輪廓也完整的存儲在輔助數組中。當所有輪廓找完之后,利用輔助數組將每個輪廓與最初始圖像進行定位,輪廓內部像素點賦值為原圖像素點,其余不變,最終得到單獨分離的葉片。圖7

圖7 廣度搜索分割
2.4 基于距離變換分水嶺分割
由于基于距離變換的分水嶺分割算法對于彼此連接的物體的分割有較好的效果,于是本文在傳統的分水嶺算法基礎上結合距離變換進行葉片分割。分割的過程如下:
第一步:通過threshold將圖像轉換為二值圖像,如圖8(a)所示;
第二步:進行距離變換,得到結果如圖8(b)所示;
第三步:分水嶺變換計算分水嶺脊線,如圖8(c)所示。
第四步:將二值化圖像和分水嶺脊線進行邏輯與運算完成分割,結果如圖8(d)所示。
在圖8(d)中白色區域表示棉花葉片區域,葉片中的黑線則是分水嶺脊線,基于距離變換的分水嶺分割的確可以分割相互連接區域,但是由于葉片表面的噪聲影響,很容易出現過分割現象,導致分割效果并不理想。圖8

圖8 基于距離變換的分水嶺分割
2.5 基于輪廓搜索函數的分割算法
通過將圖像彩色分割可以發現,植株中葉子的輪廓是比較明顯的。以圖4(e)為初始圖,對圖像運用findContours輪廓搜索函數提取輪廓。先將彩色圖像轉換為灰度圖,再進行高斯濾波去噪,與之前的廣度搜索的輪廓提取方法不同,findContours函數可以將圖像的拓撲信息保留,所以通過函數計算出來的圖像既是二值化圖像也是邊緣檢測圖像。函數調用方式為:findContours(Imge,CTurs,HChy,CETR,CHAINs_APPROX),將葉片的輪廓點保存在CTurs中,拓撲信息保存在HChy中,再通過drawContours函數將contours中的輪廓畫出并保存。圖9

圖9 輪廓提取
將提取的輪廓與原圖融合定位,進行歸一化,完成最終的棉花葉片提取。基于輪廓搜索函數的分割算法實現了目標圖像分割,并將每個獨立的棉花葉片單獨保留在一張圖像中,該方法與基于距離變換的分水嶺分割算法和基于廣度搜索的分割算法相比較適用性更廣泛,效果更明顯。圖10

圖10 最終分割
3.1 在植株和土壤分離,提取植株的過程中,選擇RGB顏色特征進行分割,但是同時也發現植株的YIQ顏色特征也有一定特點,可以在后續實驗應用YIQ顏色空間。
3.2 提出基于廣度搜索的分割算法,由于算法適用范圍問題而沒有采用,后續實驗將對算法進行改進以擴大其適用范圍。
3.3 對大部分可識別葉片進行了分離,但也存在部分葉片連接的問題,所以后續實驗將進一步研究重疊覆蓋的葉片的精準分離。
提出一種快速分割棉花植株和棉花葉片分割提取的方法。首先根據棉花植株和土壤背景顏色空間特征通過棉葉的RGB顏色特征將植株與土壤進行分離,再結合形態學處理,將植株的莖稈去除,實現彩色分割,保留棉花葉片部分;然后分別使用廣度搜索分割算法、分水嶺分割算法和輪廓搜索分割算法,分別對棉花葉片圖像進行分割提取。使用三種棉葉分割算法對提取的棉花植株進行棉葉片分割試實驗,基于廣度搜索的分割算法將葉片輪廓搜索出來與原圖融合分離出葉片,該算法對于圖像結構簡單的情況分割效果較好,但是當葉片在圖像邊界覆蓋較多時,無法達到較好的分割效果;基于距離變換的分水嶺分割算法的分割結果同樣沒有達到預期效果,過分割嚴重;基于輪廓搜索函數的分割算法將圖像中每個葉片的輪廓以點的形式保存,并且保存輪廓間的拓撲關系,通過對應的drawContours函數將每個輪廓畫出,再與原圖定位,將葉片的完整信息也輪廓結合,實現葉片的分離。達到非常理想的分割效果。