郭曉娟,韓建勛,楊軍帥,高國紅,安金梁
(河南科技學(xué)院信息工程學(xué)院,河南新鄉(xiāng) 453003)
小麥?zhǔn)俏覈匾募Z食作物之一,其種植范圍大、分布廣,小麥的單產(chǎn)和總產(chǎn)量僅次于水稻和玉米,因此提高小麥產(chǎn)量將起到保證我國糧食供給、促進(jìn)農(nóng)民增收、糧食增產(chǎn)、維護(hù)社會穩(wěn)定和促進(jìn)經(jīng)濟(jì)發(fā)展的重要作用[1].近些年來,圖像處理技術(shù)在農(nóng)業(yè)領(lǐng)域的研究不斷拓展,取得了很多成果.運(yùn)用圖像處理和計算機(jī)視覺技術(shù)對小麥圖像的研究一直都是農(nóng)業(yè)信息化領(lǐng)域的一大熱點[2].小麥育種專家在育種和栽培時,為保證精準(zhǔn)施種,經(jīng)常需要統(tǒng)計小麥籽粒數(shù)目.目前常采用的方法是人工計數(shù),會導(dǎo)致計數(shù)費(fèi)時費(fèi)工、工作量大等問題.為提高效率,會使用小麥數(shù)粒儀進(jìn)行粒數(shù)統(tǒng)計.數(shù)粒儀的優(yōu)點是統(tǒng)計數(shù)目準(zhǔn)確,但是其統(tǒng)計時間相對較長,如對超過百粒的小麥籽粒進(jìn)行計數(shù),其時間將會超過1 min,超長的時間是不能接受的.如何快速準(zhǔn)確地統(tǒng)計小麥籽粒數(shù)目對小麥育種專家而言是亟需解決的問題[3].因此,本文設(shè)計并實現(xiàn)了基于圖像處理的小麥籽粒計數(shù)系統(tǒng),該系統(tǒng)可快速統(tǒng)計出小麥籽粒數(shù)目,可為小麥育種提供數(shù)據(jù)參考.
項目旨在為小麥育種專家提供快捷、方便地估測小麥籽粒數(shù)目,設(shè)計并實現(xiàn)了小麥籽粒數(shù)目計數(shù)系統(tǒng),該系統(tǒng)的功能結(jié)構(gòu)如圖1 所示.
圖1 系統(tǒng)功能結(jié)構(gòu)Fig.1 System function structure
圖1 中的圖像預(yù)處理主要包括了圖像平滑、去噪、形態(tài)學(xué)等操作.圖像分割算法在本系統(tǒng)中實現(xiàn)了基于閾值和基于分水嶺的圖像分割[4-7].
結(jié)合育種專家的實際需求,圖像的采集設(shè)備可以直接用手機(jī)或數(shù)碼相機(jī)進(jìn)行拍攝,根據(jù)系統(tǒng)不同功能的要求,采集對象和方式也有所不同.系統(tǒng)根據(jù)實際情況,對小麥籽粒分三種情況進(jìn)行采集:沒有粘連情況的小麥籽粒、少數(shù)粘連小麥籽粒,粘連情況嚴(yán)重的小麥籽粒.可使用數(shù)碼相機(jī)或手機(jī)俯視拍攝,均在單一背景下進(jìn)行圖像采集,每類分別采集5~10 幅小麥籽粒圖像,如圖2 至圖4 所示.
圖2 無粘連情況Fig.2 No adhesion image
圖3 少數(shù)粘連情況Fig.3 Less adhesions image
圖4 粘連嚴(yán)重情況Fig.4 Severe adhesion image
在算法具體實現(xiàn)時,均用上面采集的圖像作為驗證算法有效性的輸入圖像.
圖像預(yù)處理常用操作有:彩色圖像灰度化、灰度圖像二值化、圖像平滑、圖像銳化、二值形態(tài)學(xué)處理、圖像分割等[8-9].系統(tǒng)在具體實現(xiàn)時,都需要對原始圖像進(jìn)行圖像預(yù)處理.
1.3.1 彩色圖像灰度化 由于彩色圖像的數(shù)據(jù)量和存儲空間遠(yuǎn)遠(yuǎn)大于灰度圖像,因此系統(tǒng)在實現(xiàn)時都先將彩色圖像轉(zhuǎn)化為數(shù)據(jù)量相對較小、方便處理的灰度圖像,此過程被稱之為彩色圖像的灰度化過程.
在計算機(jī)中,彩色圖像都是在RGB 顏色模型下,彩色圖像灰度化就需調(diào)整R、G、B 分量值使其在處理后得到相同的R、G、B 值,將會減少或降低后面圖像處理的計算量.下面介紹三種常用的圖像灰度化方法.
(1)最大值法.取R,G,B 這三個分量中最大的一個值,然后分別賦予給R、G、B 三個分量.此種方法會導(dǎo)致灰度化后的圖像亮度過大.
(2)平均值法.求出R,G,B 三分量的平均值,將該平均值分別賦予給R、G、B 三個分量.與其他方法相比,此方法對圖像進(jìn)行灰度化后得到的圖像更加柔和.
(3)加權(quán)平均值法.對R,G,B 這三個分量賦予不同的權(quán)值然后求取平均值,將該平均值分別賦予給R、G、B 三個分量.正常情況下,利用加權(quán)平均值法對彩色圖像進(jìn)行灰度化處理得到的效果是最好的,但需要結(jié)合實際經(jīng)驗對R、G、B 三分量權(quán)值進(jìn)行設(shè)置和調(diào)整,以滿足不同需求和場合的使用.系統(tǒng)使用加權(quán)平均值法將彩色圖像轉(zhuǎn)換為灰度圖像.
1.3.2 灰度圖像轉(zhuǎn)換為二值圖像 其原理把圖像上的像素點的灰度值設(shè)置為0 或255,圖像的灰度值只取兩個值,兩個值分別呈現(xiàn)出黑、白的效果.根據(jù)選取的閾值不同,圖像二值化有以下三種方法:全局二值化、局部二值化和局部自適應(yīng)二值化.按照圖像的實際情況,系統(tǒng)采用的是全局二值化方法對灰度圖像二值化.
1.3.3 形態(tài)學(xué)處理 形態(tài)學(xué)最常用運(yùn)算是膨脹、腐蝕、開運(yùn)算和閉運(yùn)算.根據(jù)系統(tǒng)具體實現(xiàn)情況,下面分別對膨脹、腐蝕進(jìn)行介紹.
(1)腐蝕.腐蝕操作就是刪除圖像邊界像素,達(dá)到圖像收縮的效果.腐蝕運(yùn)算原理是:對圖像中某一像素點,采用合適的結(jié)構(gòu)元素,并用結(jié)構(gòu)元素的中心點與當(dāng)前像素點重合,得到重合的所有像素最小值的運(yùn)算結(jié)果,最后使用最小像素點替換當(dāng)前的像素點.
(2)膨脹.膨脹與腐蝕是一組對應(yīng)的運(yùn)算,膨脹亦是腐蝕的補(bǔ)集.從實現(xiàn)功能角度而言,腐蝕運(yùn)算對圖像起到一定的收縮作用,而膨脹運(yùn)算則與其功能相反,對圖像具有向外擴(kuò)大的效果.本項目會根據(jù)實際功能的需要,進(jìn)行多次的腐蝕或膨脹操作,以方便后期圖像的處理與分析.
1.3.4 圖像平滑 在實際的圖像采集中,不可避免的會出現(xiàn)噪聲,如干擾噪聲和椒鹽噪聲,噪聲會嚴(yán)重影響后期圖像處理的效果,尤其是在邊緣檢測和圖像分割相關(guān)處理中.均值濾波法和中值濾波法是目前常用圖像平滑方法.系統(tǒng)具體實現(xiàn)時采用的是中值濾波方法進(jìn)行圖像平滑.中值濾波是一種非線性的平滑方法,可以消除多種噪聲,其原理是在像素鄰域前提下,圖像矩陣中某一像素點的灰度值用該點鄰域內(nèi)所有點的像素灰度值排序后的中值來代替.
1.3.5 圖像銳化 圖像銳化的目的是突出圖像主體對象的邊緣信息和高頻信息.圖像常用邊緣檢測法來突出顯示圖像的邊緣信息,常用的有Roberts 算子、Prewitt 算子、Sobel 算子、LOG 算子和Canny 算子等經(jīng)典邊緣檢測算子.
1.3.6 孔洞填充 在圖像銳化時,復(fù)雜背景下的主體對象在圖像銳化后可能會出現(xiàn)一些孔洞現(xiàn)象,為了不影響后期處理和統(tǒng)計結(jié)果,需要對一些孔洞進(jìn)行填充.Matlab 中孔洞填充使用函數(shù)imfill 來實現(xiàn),該方法可以填充二值圖像中的空洞區(qū)域.
1.3.7 圖像分割 圖像分割的主要目的是將目標(biāo)從背景中提取出來,為圖像分析和圖像理解做準(zhǔn)備,由于目標(biāo)特征不同而提取特征的方法就有所不同,圖像的分割方法也就不同.圖像分割把圖像中感興趣的局部即目標(biāo)或?qū)ο髲膹?fù)雜背景中分離出來,而被分割區(qū)域在某些特征在相同的區(qū)域里具有一致性.下面介紹系統(tǒng)中使用到的兩類圖像分割方法.
(1)基于閾值的圖像分割方法.圖像的閾值分割方法屬于并行區(qū)域分割算法.若圖像中目標(biāo)和背景的灰度集合具有明顯的不同,并且兩個灰度集合可以使用一個灰度級閾值進(jìn)行分割,那么就可以使用閾值分割灰度級的方法使圖像中的目標(biāo)區(qū)域與背景區(qū)域分割出來.在物體與背景具有較強(qiáng)的對比度的圖像中,此種方法特別有效.系統(tǒng)中對單一背景下不粘連或粘連程度比較少的小麥籽粒圖像分割采用的就是此種方法.具體實現(xiàn)時,先將原始圖像灰度化,然后分析灰度圖像的直方圖,根據(jù)直方圖明顯的峰值(最低或最高)來設(shè)置初始分割閾值,再依據(jù)圖像分割的效果,多次實驗、比較,得到最佳閾值,就可以把圖像劃分兩個不同的部分.此種方法在圖像背景不復(fù)雜或者對提取質(zhì)量要求不高的情況下可以作為理想的選擇,但在圖像背景復(fù)雜或者對提取質(zhì)量要求較高的情況下,此種分割法不能滿足實際要求.
(2)分水嶺算法.分水嶺算法(Watershed)是一種借鑒了形態(tài)學(xué)理論的分割方法.它是在將一幅圖像看成是一個拓?fù)涞匦螆D,其中像素點的灰度值表示對應(yīng)地形的高度值,灰度值高的對應(yīng)著山峰,灰度值低的對應(yīng)著山谷.水總是向較低地勢方向流動,直到某一局部低洼處終止,此低洼稱為集水盆,最終所有的水分分聚在不同的集水盆,而集水盆間的山脊則稱為分水嶺.將此種方法應(yīng)用于圖像分割,主要是在灰度圖像中找出不同的集水盆和分水嶺,由這些不同的集水盆和分水嶺組成區(qū)域即為要分割的目標(biāo).系統(tǒng)在具體實現(xiàn)時,是先計算圖像的梯度圖,把梯度圖中的局部極小值作為集水盆地的標(biāo)記點,以標(biāo)記點為中心慢慢向外擴(kuò)展,逐漸在兩個集水盆匯合處構(gòu)筑山脊,即形成分水嶺,從而達(dá)到圖像分割的效果.
算法實現(xiàn)的過程如圖5 所示.
圖5 小麥籽粒數(shù)目統(tǒng)計算法處理過程Fig.5 The process of statistical algorithm for the number of wheat grains
由圖5 可知,對已經(jīng)采集的三類圖像,進(jìn)行圖像預(yù)處理操作,具體包括:彩色圖像灰度化、灰度圖像二值化、圖像平滑、圖像銳化、二值形態(tài)學(xué)(單次或多次腐蝕)等操作.對得到的二值圖像(黑白圖像)進(jìn)行特征分析與提取,利用相應(yīng)的計算算法分別得到無參照物、有參照物、大田背景下三種情況的小麥葉面積統(tǒng)計結(jié)果值.本系統(tǒng)實現(xiàn)的圖像分割算法有兩種:基于閾值分割的小麥籽粒數(shù)目統(tǒng)計和基于分水嶺分割的小麥籽粒數(shù)目統(tǒng)計.
2.1.1 基于閾值的圖像分割算法進(jìn)行統(tǒng)計 基于連通區(qū)域的圖像分割算法進(jìn)行小麥籽粒數(shù)目統(tǒng)計時,先對采集的圖像進(jìn)行預(yù)處理操作:灰度化、二值化、膨脹、中值平滑、邊緣檢測、填充等.根據(jù)實際圖像情況:如無粘連的籽粒圖像可以直接統(tǒng)計二值圖像中8 連通區(qū)域數(shù),即為小麥籽粒數(shù)目;對于有粘連的籽粒圖像,在預(yù)處理的基礎(chǔ)上,可根據(jù)實際情況進(jìn)行多次腐蝕操作,直至圖像中小麥籽粒分離,再用統(tǒng)計8 連通區(qū)域數(shù)目.
2.1.2 基于分水嶺的圖像分割算法進(jìn)行統(tǒng)計 基于分水嶺的圖像分割算法進(jìn)行小麥籽粒數(shù)目統(tǒng)計時,先對采集的圖像進(jìn)行預(yù)處理操作:灰度化、二值化、膨脹、中值平滑、邊緣檢測、填充等操作.然后使用分水嶺算法進(jìn)行小麥顆粒分割以便進(jìn)行籽粒數(shù)目統(tǒng)計.
2.2.1 基于連通區(qū)域小麥籽粒統(tǒng)計算法實現(xiàn) 具體實現(xiàn)步驟如下:
(1)彩色圖像灰度化處理;
(2)灰度圖像平滑化處理(采用中值濾波法);
(3)灰度圖像二值化處理;
(4)于無粘連統(tǒng)計8 連通區(qū)域數(shù);對于有粘連的先進(jìn)行腐蝕再統(tǒng)計8 連通區(qū)域數(shù)目.
實現(xiàn)效果如圖6 所示.
圖6 基于連通區(qū)域的籽粒數(shù)目統(tǒng)計結(jié)果Fig.6 Statistical results of wheat grain number based on connected region
2.2.2 基于分水嶺小麥籽粒數(shù)目統(tǒng)計算法實現(xiàn) 算法實現(xiàn)過程(對粘連圖像):
(1)彩色圖像灰度化處理;
(2)灰度圖像平滑化處理(采用中值濾波法);
(3)灰度圖像二值化處理;
(4)計算0 與非零元素之間的最短距離;
(5)檢測亮度低谷(即粘連部分);
(6)計算一個標(biāo)簽矩陣;標(biāo)簽值為1 的元素屬于第1 個匯水區(qū)域,標(biāo)簽值為2 的元素屬于第2 個匯水區(qū)域,以此類推;將粘連部分像素值改為0,即涂黑分割;
(7)對分水嶺分割算法分割不完全的部分,進(jìn)一步進(jìn)行分割;
(8)計算小麥籽粒個數(shù)n,計算各個連通區(qū)域的像素個數(shù),并按照其個數(shù)大小進(jìn)行排序;
(9)記錄每個顆粒大小與平均值的比與粘連數(shù);
(10)統(tǒng)計粘連個數(shù)中的顆粒數(shù),與前面分割算法分割出的個數(shù)相加即為顆??倲?shù).
具體實現(xiàn)效果如圖7 所示.
圖7 基于分水嶺小麥籽粒數(shù)目統(tǒng)計結(jié)果Fig.7 Statistical results of wheat grain number based on Watershed
系統(tǒng)實驗主要是實現(xiàn)對手機(jī)拍攝的小麥顆粒數(shù)目圖片分情況(不粘連4 幅、少粘連6 幅以及多粘連1 幅)進(jìn)行的識別.具體實驗結(jié)果如表1 所示.
表1 小麥籽粒數(shù)目統(tǒng)計結(jié)果Tab.1 Statistical results of wheat grain number
由表1 可知,對于不粘連以及少粘連的小麥籽粒圖像的計數(shù)準(zhǔn)確率可以達(dá)到100%,但粘連情況嚴(yán)重的小麥籽粒計數(shù)準(zhǔn)確率只達(dá)到81%,后面需要對算法進(jìn)行改進(jìn)和優(yōu)化,以提高籽粒數(shù)目統(tǒng)計的準(zhǔn)確率.
經(jīng)過算法的不斷修改、調(diào)試和分析后,已實現(xiàn)對小麥籽粒數(shù)目統(tǒng)計功能,在無粘連或少粘連情況下計數(shù)效果較好,但在粘連情況嚴(yán)重時計數(shù)效果不佳,因此,下一步將會進(jìn)一步改進(jìn)算法,以提高統(tǒng)計準(zhǔn)確率,同時還需滿足實時計數(shù)功能.