徐海 秦立峰
摘要[目的]去除復雜背景影響,提高角斑病病斑分割精度和速度。[方法]首先對預處理后的b*通道圖像采用大津法進行初分割,去除大部分背景和噪聲。再對目標部位的灰度圖,用基于遺傳算法改進的KSW熵閾值分割法進行二次分割,得到病斑的二值圖像,并計算病斑面積,最后與葉片面積做比得到病斑密度。[結果]該方法計算的病斑密度與方格板手動計算的結果的絕對誤差約為0.02,而病斑的分割速度提高了45%以上。[結論]該方法為黃瓜角斑病病害程度自動診斷提供技術依據。
關鍵詞黃瓜角斑??;圖像分割;遺傳算法;KSW熵
中圖分類號S126;TP391.4文獻標識碼
A文章編號0517-6611(2017)32-0212-04
KSW Entropy Method Improved by Genetic Algorithm for Density of Cucumber Angular Leaf Spot Calculation
XU Hai1,QIN Lifeng1,2*(1.Electromechanical College,Northwest A& F University ,Yangling,Shaanxi 712100; 2.Key Laboratory of Agricultural EPC System Network, Ministry of Agriculture,Yangling,Shaanxi 712100)
Abstract[Objective] The aim was to eliminate the influence of complex background, and improve the precision and speed of angular leaf spot segmentation.[Method] Firstly, the Otsu method was used to segment the b* channel image after preprocessing to remove background noise.Then, the gray image of the target area was segmented through the GAimproved KSW entropy thresholding method, and the binary image of disease spot was obtained as well as disease spot area was computed.Finally, the disease spot density was calculated.[Results] The results showed that the absolute error of the method calculated by the algorithm was about 0.02 compared with grid plate manual calculation method, and the segmentation speed increased by more than 45%.[Conclusion] The method provides the technical basis for automatic diagnosis of disease degree of cucumber spot disease.
Key wordsAngular leaf spot of cucumber; Image segmentation; Genetic algorithm; KSW Entropy
蔬菜病害對生產者造成重大經濟損失,是制約蔬菜種植業(yè)發(fā)展的重要原因。黃瓜角斑病是黃瓜主要病害之一[1],其在葉部產生病斑數量和大小是判斷病害程度的主要依據。依靠人工觀察計數進行判斷,費時費力,準確性低。利用圖像處理和模式識別技術可實現角斑病病斑密度的自動統(tǒng)計,作為病害防治措施的依據,從而高效地控制病害發(fā)生,減少經濟損失,是農業(yè)信息化技術的重要研究方向[2-5]。
病斑密度計算以病斑分割、葉片與病斑面積計算為前提。葛婧等[6]利用玉米小斑病的RGB圖像分兩步將病斑分割出來,并利用分割結果求得玉米冠層危害程度。但該研究針對圖像背景較單一,不適用于田間復雜背景情況。田有文等[7]研發(fā)基于Android平臺的黃瓜葉部病害嚴重程度實時無損檢測系統(tǒng),采用迭代式閾值法分割葉片區(qū)域和背景區(qū)域;采用模糊C均值聚類算法提取病斑區(qū)域;最后計算病斑區(qū)域像素點個數與整個葉片區(qū)域像素點個數的比值。李冠林等[8]對完整的葡萄霜霉病單葉葉部病害正投影,利用k-means聚類算法自動分割發(fā)病區(qū)域,計算出發(fā)病區(qū)域所占葉片總面積的百分比,并根據分級標準給出病害嚴重度級別。關輝等[9]用分水嶺法提取葉片區(qū)域,在YUV顏色模型下選取V分量進行病斑分割,通過計算病斑面積與葉片面積的比例得出病害的染病級別。李學俊等[10]對大豆樣本圖片的彩色梯度圖,采用Otsu與分水嶺相結合的算法獲得病斑粗略區(qū)域,再對粗略目標區(qū)域進行模糊C聚類分割得到目標病斑。由于分水嶺算法收斂較慢,使得病斑分割過程較長。
綜上所述,病斑分割是病斑密度計算的前提。閾值分割快速,但最佳閾值自動獲取較困難。Kapur等[11]提出的KSW熵法是自動確定閾值的有效方法,但計算量大。利用遺傳算法(Genetic Algorithm,GA)并行搜索特點,改進病斑分割方法,并進一步進行密度計算。
1角斑病病斑分割
1.1圖像采集與預處理
一幅黃瓜葉片角斑病原圖圖像如圖1所示。取La*b*顏色空間b*通道進行初分割,b*通道特征可降低削弱背景噪聲,克服光照影響。b*通道如圖2所示。對b*通道圖像進行直方圖均衡化,以增強病斑和背景的對比度,結果如圖3所示。
1.2KSW熵法
Kapur等[8]將信息論中Shannon信息熵用于灰度圖像分割,定義前景熵與背景布熵之和為KSW熵,搜索使KSW熵最大的灰度值為最佳閾值。根據Shannon熵的概念,對于灰度范圍{0,1,…,L-1}的圖像直方圖,其信息熵HT計算式為:
HT=-L-1t=0pilnpi (1)
式中,pi為第i個灰度級出現的概率。設閾值t將圖像分為前景和背景2個部分,2類的概率分布分別為(2)和(3)式。
p0Pt,p1Pt,…,ptPt(2)
pt+11-Pt,pt+21-Pt,…,pL-11-Pt(3)
式中,Pt=ti=0pi,前景熵HA(t)和背景熵HB(t)分別為:
HA(t)=-ti=0piPtlnpiPt=lnPt+HtPt (4)
HB(t)=-L-1i=t+1pi1-Ptlnpi1-Pt=ln(1-Pt)+HT-Ht1-Pt (5)
其中,Ht=-ti=0pilnpi。
KSW熵H(t)為HA(t)和HB(t)之和,即:
H(t)=lnPt(1-Pt)+HT-Ht1-Pt+HtPt (6)
最后,通過式(7)求取最佳閾值t*。
t*=arg max0≤t≤L-1 H(t)(7)
1.3基于遺傳算法改進的KSW熵分割法
遺傳算法是一種高效并行的全局搜索方法,能自適應的控制搜索過程以求得最優(yōu)解或滿意解,在多個領域有重要應用。該研究用遺傳算法改進KSW熵法(GA-KSW),有效縮短尋找閾值的時間。
由于圖像灰度值在0~255,故將各染色體編碼為8位二進制碼;為避免種群數過多導致每一代適應度值計算量大,設置種群數為10,最大繁殖代數為500。對二進制染色體數組解碼為0~255的值,以求其適應度值,適應度函數用式(6)計算。選擇階段先采用精英算法,再采用輪盤賭算法進行個體選擇。假設群體的個體總數是n, f(xi)為個體xi的適應度,則一個體被選中的概率為:
p(xi)=f(xi)nj=1f(xj) (8)
以np(xi)為下一代個體的數目。適應度高的個體繁殖下一代的數目多,適應度低的個體繁殖下一代數目少甚至被淘汰。由此產生對環(huán)境適應能力較強的后代,即選擇出了與最優(yōu)解接近的中間解。交叉采用改進的交叉算子,當代數低于20時交叉概率取0.8,當代數高于20時,交叉概率取0.6;當代數大于30小于50時,變異概率取0.03,否則取0.02。當最優(yōu)個體的適應度和群體適應度不再上升或當算法執(zhí)行到最大代數時,算法停止。此時具有最高適應度值的個體即為分割閾值。
基于GA-KSW熵法的黃瓜葉部角斑病病斑分割過程如下:首先對預處理后的b*通道圖像采用大津閾值法進行初分割,消除大部分背景和噪聲,同時保留病斑。用二值圖像對原彩色圖像進行掩膜運算,將得到的彩色圖像轉到灰度空間,用基于遺傳算法改進的最佳直方圖熵閾值分割法對其進行分割,得到病斑的二值圖像,最后將得到的病斑二值圖像在原圖中標記出來(圖4)。
2病斑的密度計算
2.1葉片面積計算
對有背景噪聲的葉片圖像,須先將葉片從背景中分離出來并計算葉片面積,后才能統(tǒng)計病斑密度。首先對含病害葉片圖像利用canny算子進行邊緣提取,結果如圖5所示。對其進行閉運算,使得各個邊緣部分的像素點連通;利用面積法去掉多余像素點;再用閉運算和腐蝕使得葉片邊界更加平滑,最終得到葉片的二值圖像如圖6所示。
2.2病斑面積計算
由圖4(c)可見,得到的病斑中混淆了較多葉片邊緣點,需要去除。先利用餅狀結構元素進行形態(tài)學膨脹,使相鄰像素點連接起來,膨脹后的結果如圖7所示。再利用面積法去掉面積小邊緣亮斑。再對二值圖像中孔洞進行填充,最后用膨脹使未連通的細小區(qū)域相互連通,得到的結果病斑的二值圖像如圖8所示。利用二值圖像對原彩色圖像掩膜得到完整的病斑分割圖像如圖9所示。由圖9可見,葉片邊緣的光斑被過濾,得到了較完整病斑圖像。
2.3密度計算
以像素點數M作為葉片面積。用病斑分割的二值圖像的目標像素點數N作為病斑面積,則病斑密度的計算式為:
ρ=NM (9)
安徽農業(yè)科學2017年
3結果與分析
為檢驗提出算法的性能,對3幅黃瓜葉片角斑病病斑進行分割和密度計算。作為對比,同時對試驗樣本采用方格板法計算密度。將樣本置于透明方格板下方,計算葉片所占方格數。每個方格為1 cm2,葉片邊緣超過半格的計為1格,不足半格舍去。病斑面積過小的,將局部病斑圖片進行10倍放大,得到放大病斑面積后再縮小10倍,得到病斑實際面積。病斑密度統(tǒng)計結果如表1所示。
由表1可見,該文方法所計算的病斑密度與方格法的計算結果非常接近,絕對差在大約2百分點以下。另外,對10幅病斑圖像進行試驗,結果表明,方格法密度計算算法得到的平均密度為7.12%,該文算法統(tǒng)計得到病斑的密度為6.51%,絕對差為0.52%。表明提出的方法具有較高的精度。與方格法相比,該文算法計算的密度偏小,這是由于利用面積法去掉葉片邊緣像素點時,一些面積較小的病斑也被去掉。
統(tǒng)計3幅圖片的最佳閾值搜索時間。分別用普通KSW熵法和基于遺傳算法改進的KSW熵法尋找最佳閾值的時間如表2所示。
由表2可見,與普通的KSW熵法相比,基于遺傳算法改進的最佳直方圖熵閾值分割法大大縮短了尋找最佳閾值的時間,縮短比在40%以上。
4結論
針對黃瓜角斑病病斑分割和密度統(tǒng)計問題,采用遺傳算法改進最佳直方圖熵閾值獲取方法、邊緣檢測和大津閾值法對病斑圖像在2個顏色空間下進行分割。結合數學形態(tài)學處理,計算病斑像素數;采用canny算子邊緣檢測和圖形學方法計算葉片面積,最終得到角斑病病斑密度。試驗結果表明,所提出的方法可提取出較完整的黃瓜葉部角斑病病斑,10幅圖像的密度與手動計算結果絕對差平均為0.52百分點,同時大大縮短了KSW熵法尋找最佳閾值的時間,使病斑的閾值選取更為精確。
該研究方法雖能較快速準確地分割病斑,但仍然不能完全濾掉光照和背景噪聲。由于提取出完整病斑的同時過濾掉了極小的病斑,因此在計算病斑密度的時候導致結果偏小,需在后續(xù)研究中進一步改進。
參考文獻
[1]
趙文俊.大棚黃瓜細菌性角斑病癥狀識別與防治[J].農民致富之友,2017(11):56.
[2] 張晴晴, 張云龍, 齊國紅.基于最大類間方差法的黃瓜病害葉片分割[J].安徽農業(yè)科學, 2017, 45(12):193-195.
[3] 袁媛, 陳雷, 吳娜,等.水稻紋枯病圖像識別處理方法研究[J].農機化研究, 2016, 38(6):84-87.
[4] 胡維煒, 張武, 劉連忠,等.利用圖像處理技術計算大豆葉片相對病斑面積[J].江蘇農業(yè)學報, 2016, 32(4):774-779.
[5] 馬浚誠, 溫皓杰, 李鑫星,等.基于圖像處理的溫室黃瓜霜霉病診斷系統(tǒng)[J].農業(yè)機械學報, 2017, 48(2):195-202.
[6] 葛婧, 邵陸壽, 丁克堅,等.玉米小斑病病害程度圖像檢測[J].農業(yè)機械學報, 2008, 39(1):114-117.
[7] 田有文, 鄭鵬輝, 許童羽,等.基于安卓的黃瓜葉部病害程度檢測系統(tǒng)的研發(fā)[J].計算機工程與設計, 2016, 37(5):1411-1416.
[8] 李冠林, 馬占鴻, 王海光.基于圖像處理的葡萄霜霉病單葉嚴重度自動分級方法[J].中國農業(yè)大學學報, 2011, 16(6):88-93.
[9] 關輝, 張長利, 張春媛.基于圖像處理的黃瓜葉片病斑分級方法的研究[J].農機化研究, 2010, 32(3):94-97.
[10] 李學俊, 趙禮良.扁豆病害葉片的病斑剝離分割[J].計算機工程與應用, 2014, 50(23):181-184.
[11] KAPUR J N,SAHOO P K,WONG A K C.A new method for graylevel picture thresholding using the entropy of the histogram[J].Computer vision, graphics, and image processing, 1985, 29(3): 273-285.