趙浩鵬 葉 飛 麻之潤 劉帥君
(1.云南農(nóng)業(yè)大學大數(shù)據(jù)學院 昆明 650000)(2.云南大學滇池學院 昆明 650000)
目前在人工智能、深度學習的背景下,大多采用深度卷積來對圖像進行特征提取,過程中需要大量數(shù)據(jù)去訓練。但現(xiàn)實生活中,很難匯集大量數(shù)據(jù)。對于小樣本的情況下的特征提取成為學者研究的焦點。農(nóng)業(yè)領域中的小樣本大多為野生環(huán)境下提取,并不是標準數(shù)據(jù)集,存在客觀因素,如光照、環(huán)境復雜等。在這種情況下進行圖像的特征提取以及進一步的識別仍然無法達到精確提取和識別。因此在小樣本的情況下,提高分割精度是具有重要意義的,對于后續(xù)圖像分析起到的作用也是至關重要的[1]。
三七作為我國名貴中藥材,由于其屬陰生植物、生長周期長,故常常誘發(fā)各種疾病?,F(xiàn)實情況中,帶有病斑的野生三七葉片圖像大多是在復雜背景以及在陽光照射存在影子的條件下獲取的。這種情況下,利用大多數(shù)的分割方法很難抑制噪聲,導致對病斑的分割效果差,從而對于后續(xù)特征提取以及分類識別造成很大影響。
計算機視覺是研究計算機模擬生物外顯或宏觀視覺功能的科學和技術,其主要指的是通過計算機來實現(xiàn)仿人類的視覺功能[2]。計算機視覺技術發(fā)展歷史雖短,但該技術已在包括農(nóng)業(yè)生產(chǎn)在內(nèi)的很多應用領域發(fā)揮了重要作用,主要包括圖像獲取、處理與模式識別等。在農(nóng)業(yè)領域,計算機視覺技術模擬人眼對農(nóng)作物進行可見光譜的拍攝,再運用圖像處理等技術對拍攝作物圖像信息進行提取分析,獲得對農(nóng)作物研究所需的信息,并指導農(nóng)業(yè)的生產(chǎn)與發(fā)展。張建華等[3]利用改進自適應分水嶺分割方法解決了對粘連棉花葉部病斑的分割問題。郭翰林等[4]在HSV彩色模型下,解決了對再生稻收割機視覺導航的稻田圖像分割問題。冷建偉等[5]提出一種基于HSV色彩模型與區(qū)域生長法的水文圖像分割方法,解決了水文圖像像素間的連通性和鄰近性問題。所以,在對處理的圖像數(shù)據(jù)分析之前,圖像分割是最重要的一步之一。由于彩色圖像比灰度圖像提供的信息更多,張辰等[6]提出了一種基于HSV綜合顯著性的彩色圖像分割方法,解決了彩色圖像中目標難以準確分割的問題,準確地分割出彩色棉花異性纖維圖像中的異性纖維目標。并且隨著計算機處理能力的快速提高,對彩色圖像特征提取以及處理正受到人們越來越多的關注,與此同時對彩色圖像進行分割也成為焦點[7]。對于彩色圖片的分割方法主要有直方圖閾值法、特征空間聚類、基于區(qū)域的方法、邊緣檢測、模糊方法、神經(jīng)元網(wǎng)絡、基于物理模型方法等[8]。
本文針對這種情況以及三七葉部病害的特點首先通過GrabCut算法對目標圖片進行預分割去除背景,得到帶有完整病斑的三七主葉片。然后討論了基于RGB彩色空間轉(zhuǎn)換到HSV彩色空間的彩色圖像分割方法,提出了一種基于HSV彩色空間模型的像素點之間顏色距離的定義,同時也比較了傳統(tǒng)分割方法的特點、優(yōu)劣。目標是在復雜的背景環(huán)境以及陽光照射出現(xiàn)影子的情況下,利用不同的彩色空間,提取出三七病害分割邊緣。本文以三七圓斑病為例(與文山采集),如圖1所示。
圖1 三七圓斑病原始圖像
GrabCut算法是Graphcut法的迭代算法,同時是一種交互式圖像分割算法。GrabCut算法[9]利用了RGB圖像中的顏色信息和邊界信息,由人工框選感興趣的區(qū)域,框內(nèi)認為是未知區(qū)域,框外認為是背景區(qū)域。將未知區(qū)域與標定的背景區(qū)域建立GMM(高斯混合模型),根據(jù)人工選框的選取的結(jié)果分別初始化前景GMM與背景GMM,再將初始化后的框內(nèi)區(qū)域(未知區(qū)域)分為目標與背景兩個區(qū)域。在迭代過程中將RGB模型下的圖像D={d1…,dj,…,dn}(其中n為像素,dj為第j個像素的RGB值)中的像素值映射成一個無向圖,該圖只有兩個端點(前景終點s,背景終點t),所以稱為s-t圖(如圖2)。由圖2可知,對于圖像中的每個像素點來說迭代后的終點只有s和t兩個中的一個,而連接這兩個終點的邊上的權(quán)值是根據(jù)能量函數(shù)的區(qū)域項和數(shù)據(jù)項決定的。權(quán)值可以反映出對應像素點與相鄰像素點間的顏色差異信息以及該像素點屬于前景還是背景等信息。最終通過最大流/最小割來實現(xiàn)圖像的分割,過程中對GMM參數(shù)進行更新,同時使用更新后的GMM參數(shù)繼續(xù)對s-t網(wǎng)絡圖進行再次分割,直到算法收斂停止分割。所以GrabCut算法的主要思想就是將圖像分割的問題轉(zhuǎn)換為對s-t網(wǎng)絡的分割問題。GrabCut算法使用簡單的人機交互式分割大大降低了圖像分割的工作量,分割能量E通過反復迭代更新的GMM,最終收斂于最小值,從而使得圖像的分割精度有所提高。具體能量函數(shù)E(d)如下:
圖2 s-t圖
其中,E(d)表示圖像的總能量,ER(d)表示區(qū)域項總能量,EB(d)表示邊界項總能量,向量d由圖像中每一個像素的d n的值組合而成表示對圖像中每個像素是屬于前景還是背景進行標號)。其中,每一個d對應著一個對圖像的分割結(jié)果。區(qū)域項R,對dn起到約束的作用,使其和觀察到的數(shù)據(jù)θ保持一致。邊界項B,用來對相鄰像素點標號的一致性進行判斷。νi代表圖像中的每一個像素點(表示為s-t圖中的每一個節(jié)點)。Pgmm(νi‖dn)表示由GMM得出的每個像素點屬于dn的概率。
由于三七葉片上的病斑顏色與背景顏色相近,為深褐色或淺褐色。使用傳統(tǒng)的方法對病斑進行直接分割很難降低背景噪聲對病斑分割的影響。考慮到這一點,使用GrabCut算法對復雜背景下的三七病斑葉片進行預分割,并得到去掉背景并帶有完整病斑的預分割圖像。同時比較了最大類間距法(Otsu)的分割結(jié)果(如圖3所示)。從結(jié)果可以看出Otsu法在分離葉片主體和背景時,由于病斑與背景顏色過于相似,將病斑區(qū)域與背景區(qū)域同時分割,背景有噪聲存留;GrabCut算法去除背景的同時很好地保留了三七葉片主體以及病斑的完整性。
圖3 預分割結(jié)果對比
HSV[10~11](Hue-Saturation-Value)色彩空間是根據(jù)顏色的直觀特性在1978年由A.R.Smith創(chuàng)建的一種顏色空間,也稱六角錐體模型(如圖4)。H分量存儲圖像的色調(diào)信息(00=R,1200=G,2400=B);S分量存儲圖像的飽和度信息;V分量存儲圖像明度信息。H,S,V分量分別表示不同顏色、顏色深淺以及顏色的明暗程度。
圖4 HSV彩色空間模型
HSV色彩空間模型是一種較直觀的顏色模型,并且被廣泛地應用與許多圖像編輯工具中,如Pho?toshop圖像編輯軟件(軟件中也叫HSB)等。HSV彩色空間與RGB[12]彩色空間的轉(zhuǎn)換關系如下:
HSV彩色空間的特點如下:
1)具有與人眼視覺系統(tǒng)一致的彩色描述方式;
2)允許獨立控制色調(diào)、飽和度和明暗強度(值);
3)為了方便進行顏色之間的對比,HSV色彩空間模型能夠更加直觀地表達圖片色彩的明暗、色調(diào)以及鮮艷程度;
4)可將V分量與H和S分量孤立起來,這是許多彩色圖像處理算法所需要的。
顏色距離是指代表兩種顏色之間的數(shù)值差異,其反映的是圖像中的顏色在人們視覺上的差距,這是進行圖像分割的基本依據(jù)[13~14]。對于圖像在上小節(jié)所提到的HSV彩色空間模型中來說,其每個像素點的顏色信息只與該像素點的色調(diào)(H)和飽和度(S)分量有關。這與人對顏色的感受一致。其中,H分量中的值不是線性的,其值為一個環(huán)(如圖4所示)。Androutsos等[15]通過實驗大致的劃分了對HSV彩色空間模型中三個分量(H,S,V)的取值。實驗表明當V分量的值大于0.75并且S分量的值大于0.2時,圖像區(qū)域表示為亮彩色區(qū)域;當V分量的值小于0.25是,則為黑色區(qū)域;當V分量的值大于0.75并且S分量的值小于0.2時,則為白色區(qū)域;其他則為彩色區(qū)域。在使用OpenCV處理上述定義的顏色距離時發(fā)現(xiàn),為適應計算機8bit(0~255)的取值范圍。將HSV中S分量和V分量的取值范圍擴大至0~255之間,而H分量的取值范圍則縮小為變?yōu)?~180。因此為防止處理色調(diào)差hij飽和度距離sij和像素點顏色距離Dij時數(shù)據(jù)值運算溢出異常,分別將H,S,V的取值范圍做歸一化處理為0~1。另外,由于黑色和白色在HSV彩色空間模型中的特殊位置(如圖4),所以這兩種顏色像素點在與其他顏色像素點定義顏色距離時應區(qū)別于其他顏色之間對顏色距離的定義。對于以上所述情況,給出兩像素點之間顏色的距離定義為
其中,di和dj為邏輯變量表示每個像素點的值,當值為0時,表示該點為白色或黑色,值為1時,表示該點為彩色。hij為色調(diào)差。sij表示i像素點和j像素點的飽和度距離。Dij是i像素點和j像素點的顏色距離。νi表示i像素點的亮度值。通過Dij的數(shù)學表達式可以看出黑色像素點和白色像素點與其他彩色像素點的顏色距離值為0,而黑、白像素點之間的顏色距離也為0。同時,在對Dij進行定義的表達式中有兩個參數(shù)k1和k2,這兩個參數(shù)分別為色調(diào)的參數(shù)因子和飽和度的參數(shù)因子,二者分別對色調(diào)(H)和飽和度(S)在圖像分割中的作用大小起到控制作用。調(diào)節(jié)k1值可對不同顏色像素之間的距離進行調(diào)整,增大可使邊界的區(qū)分更加明確,而調(diào)節(jié)k2值則可對相同顏色中不同飽和度區(qū)域之間的距離進行調(diào)整。
上述這種顏色距離的定義,可以根據(jù)不同環(huán)境、不同性質(zhì)的圖片,選取不同的k1和k2的值,使得識別范圍更加廣泛。在具有較好的通用性的同時,該顏色定義也使圖像在HSV彩色空間模型中存在的黑色像素點和白色像素點之間的距離問題以及黑、白像素點與其他彩色像素點之間的距離問題得以解決。當存在像素點di=0或者dj=0的情況時,Dij=0,則會去掉對三七圖像預分割后存在的葉片邊緣噪聲。并做到了顏色數(shù)值的差異與人眼識別顏色的一致性。
在提出顏色距離的定義的基礎上,可以通過圖像中各個像素點在圖片顏色空間上的位置關系并結(jié)合橫向、縱向顏色值的突變,得到顏色突變的邊界,并將此邊界作為分割的邊緣進行提取。目前像Sobel算子、Canny算子和Robert算子等常常被用于提取圖片的分割邊緣。
然而,在HSV彩色空間模型中,因其對顏色的描述方式為一個六角錐體,使得例如H分量并不是線性的。而索貝爾算子(Sobel算子)的運算過程中帶有加法運算,這樣則不能得到真實的顏色突變區(qū)域。在此基礎上,針對python中對HSV彩色空間模型中各個分量實際的取值范圍。本文使用了改進的索貝爾算子(Sobel算子),改進后的算子運算過程中只用運到了減法運算。同時對顏色梯度算子也進行改進,具體如下:
其中,D是上一節(jié)定義的顏色距離。而梯度算子R(i,j)則由以下兩個2×2的模版共同實現(xiàn):
使用上述橫向和縱向兩個梯度模板通過卷積的運算方式在得到的三七預分割圖像上進行運算,得到圖像顏色分量的梯度圖像,再通過對梯度圖像設定閾值進行二值化處理,最終提取到相應的三七病斑分割邊緣。
從圖5(b)中可以看出,在灰度圖像下使用So?bel算子進行邊緣檢測時,將三七葉片上的病斑分割出來的同時,也將葉脈及葉片邊緣分割了出來,導致檢測出的分割邊緣效果差。圖5(c)是用本文定義的顏色距離和改進后的索貝爾算子提取到的邊界。通過對比圖5(b)結(jié)果,可以清晰地看到,本文方法在色調(diào)因子k1和飽和度因子k2分別取0.1和0.05時得到的分割邊緣效果較好,在保證了三七病斑完整性的同時也去掉了大量的無關邊緣的提取。
圖5 實驗結(jié)果
本文研究了GrabCut算法和HSV彩色空間模型的特點,并定義了一種與人類視覺系統(tǒng)描述顏色方式一致的顏色距離計算方法,用改造后的索貝爾算子對三七圓斑病病斑邊緣進行提取。從結(jié)果可以看出本文方法對在復雜的背景環(huán)境以及陽光直射情況下的三七病斑分割效果較好。該方法能在保留圖像顏色信息的同時,結(jié)合圖片的多維度空間信息,并且通過調(diào)整色調(diào)因子和飽和度因子的大小可以實現(xiàn)對自然條件下葉片病斑的識別,大大提高本文方法在圖像分割上的通用性。但方法本身仍有不足,由于本文使用的改進的一階sobel(索貝爾)算子,在處理圖像過程中抗噪能力比較差,并且個別一些處在葉片邊緣上的病斑連通性不好,有待進一步提高。