王 宇, 陳 婧, 王 高
(1. 山西工程職業(yè)技術(shù)學(xué)院 電氣工程系, 山西 太原 030009; 2. 中國航天科工集團(tuán)第二研究院706所, 北京 100854; 3. 中北大學(xué) 儀器科學(xué)與動態(tài)測試教育部重點(diǎn)實(shí)驗(yàn)室, 山西 太原 030051; 4. 中北大學(xué) 電子測試技術(shù)國防科技重點(diǎn)實(shí)驗(yàn)室, 山西 太原 030051)
圖像處理技術(shù)和機(jī)器視覺技術(shù)的不斷完善使得應(yīng)用計算機(jī)視覺、 圖像處理和模式識別來實(shí)現(xiàn)農(nóng)作物顆粒種子檢測的自動化成為可能. 機(jī)器視覺系統(tǒng)的光電系統(tǒng)能獲得被檢測對象的圖像信號, 利用適當(dāng)?shù)姆绞教幚韴D像信息后可通過識別、 分析得到檢測結(jié)果, 圖像信息處理方法的適用與否及處理結(jié)果的好壞直接影響到后續(xù)圖像分析的結(jié)果, 因此機(jī)器視覺系統(tǒng)能夠廣泛應(yīng)用的前提是圖像處理工作的精確化[1].
在此背景下, 本文對農(nóng)作物顆粒種子機(jī)器視覺計數(shù)檢測系統(tǒng)中, 光電采集系統(tǒng)所采集的農(nóng)作物顆粒種子圖像(如圖 1 所示玉米種子原始圖像)進(jìn)行圖像分割算法的研究, 該工作處于對原輸入圖像平滑、 去噪處理之后(如圖 2 所示玉米種子平滑圖), 支持向量機(jī)(SVM)計數(shù)工作之前. 為了能夠準(zhǔn)確地自動計數(shù)顆粒, 需要對圖像進(jìn)行有效分割, 避免分割不好造成計數(shù)錯誤.
圖 1 玉米種子原始圖象Fig.1 Original image of corn seeds
圖 2 玉米種子平滑圖Fig.2 Image of corn seeds after smooth processing
圖像分割是指將圖像中具有相似特征的區(qū)域進(jìn)行劃分, 且劃分后的區(qū)域之間存在著差異性. 在對農(nóng)作物顆粒種子圖像進(jìn)行檢測識別、 計數(shù)之前要先進(jìn)行圖像分割, 即將每個顆粒種子從圖像中獨(dú)立分割出來, 它決定了后續(xù)計數(shù)結(jié)果的準(zhǔn)確性及系統(tǒng)檢測的整體速度. 20世紀(jì)90年代初主要采用算法相對簡單的閾值分割、 邊緣檢測等圖像分割方法, 這些算法對一般圖像的錯誤率較大[2-4]. 2000年后出現(xiàn)的超像素分割方法, 特別是模糊C均值聚類(FCM)算法盡管復(fù)雜度較高、 計算量較大, 但分割效果比早期的閾值分割、 邊緣檢測等方法好[5]. 本文采用改進(jìn)的FCM算法對顆粒種子圖像進(jìn)行分割, 使單個種子與背景圖像分開, 只有當(dāng)種子與背景明顯分離, 單個的種子才具備計數(shù)條件.
圖像分割是把所有屬性相同或相似的像素點(diǎn)劃分為同類, 這個過程就是聚類. 只有使同類的特征點(diǎn)密集, 不同類的特征點(diǎn)相距疏遠(yuǎn), 聚類方法才是有效的. 由此, 特征點(diǎn)在特征空間中的分布情況決定了基于相似準(zhǔn)則建立的聚類方法的有效性.
聚類算法最常用的是K均值(K-means)聚類, 它的優(yōu)勢在于簡潔和高效[2-5].
設(shè)定輸入為有k個聚類的待分類樣本集X={x1,x2,x3,…,xn}, 輸出為k個聚類Cj(j=1,2,…,k).
1) 初始化: 選取k個初始聚類中心;
2) 分配樣本: 按照最小距離原則將每個樣本分配到最鄰近的聚類中心;
3) 修正聚類中心: 設(shè)定每個聚類中的樣本均值作為新的聚類中心;
4) 判斷是否滿足收斂條件: 重復(fù)2), 3)步驟, 直到聚類中心變化值小于預(yù)設(shè)閾值;
5) 結(jié)束: 輸出k個聚類.
K-means聚類圖像分割算法屬于一種硬聚類分割算法, 即每一個像素點(diǎn)明確只能屬于某一類. K-means聚類算法分割圖像時有以下明顯的局限性:
1) 使用該算法分類之前必須事先給出待分類樣本集的聚類數(shù)目k, 但實(shí)際在分類之前我們并不確定樣本中到底有多少個分類, 這就需要加大工作量來確定聚類數(shù)目k;
2) 該算法對初始聚類中心值敏感, 對于不同的初始聚類中心值, 可能會導(dǎo)致不同的結(jié)果;
3) 該算法最大的缺點(diǎn)是對于噪聲和孤立點(diǎn)數(shù)據(jù)非常敏感, 在K-means聚類算法過程中每次迭代需要重新修正聚類中心, 即將每個聚類中的樣本均值作為新的聚類中心, 這樣就使得少量的噪聲及孤立點(diǎn)就會讓樣本均值偏離真正的聚類中心;
4) 該算法不適用于大量數(shù)據(jù)的聚類, 由于K-means聚類算法需要多次迭代來確定最終的聚類結(jié)果, 而每次迭代都需要計算所有樣本均值, 這就使得計算量過大, 耗時過多.
軟聚類分割算法能夠更準(zhǔn)確地對圖像像素進(jìn)行歸類, FCM算法就是其中的一種, 即使在復(fù)雜的背景下, 依然能夠?qū)崿F(xiàn)準(zhǔn)確的圖像分割. 這種算法將樣本點(diǎn)屬于隸屬度類別的程度考慮其中, 而不像K-means聚類算法中只是簡單地將其區(qū)分為“是”或“不是”, 分割結(jié)果比K-means聚類算法更為精確化、 合理化.
在集合理論中, 其特征函數(shù)為
(1)
從特征函數(shù)中可以看出, 這是一個不連續(xù)函數(shù), 根據(jù)元素的取值區(qū)間不同, 相應(yīng)的函數(shù)結(jié)果只有“0”和“1”, 但是某一個像素點(diǎn)其實(shí)是與周邊的像素點(diǎn)存在一定的聯(lián)系的, 它們并不是孤立存在的, 因此, 這樣的特征函數(shù)應(yīng)用在實(shí)際分割圖形的過程中并不能體現(xiàn)出像素點(diǎn)之間的聯(lián)系, 只是就點(diǎn)論點(diǎn), 缺乏客觀性, 圖形分割結(jié)果會有失準(zhǔn)確性. 因此, 需要對特征函數(shù)進(jìn)行改進(jìn), 將原來離散化的取值改成從0到1的連續(xù)區(qū)間, 使得利用該函數(shù)得到的結(jié)果更加合理, 而函數(shù)改進(jìn)的過程也就是用隸屬函數(shù)取代特征函數(shù)的過程.
由于FCM算法本身的優(yōu)勢, 使其能夠更加精確地處理圖像的分割問題, 應(yīng)用前景非常廣泛, 很多國內(nèi)外的專家學(xué)者致力于它的發(fā)展研究, 以便更好的應(yīng)用于實(shí)際工作中. 首先提出用模糊理論處理聚類問題的是Zadeh等人, 在此基礎(chǔ)上, Ruspini提出了新的聚類方法, 為
(2)
后來, Dunn把聚類的目標(biāo)函數(shù)改進(jìn)為類內(nèi)加權(quán)誤差平方和形式, 目標(biāo)函數(shù)表示為
(3)
隨著研究的不斷深入, 為了讓該理論能夠解決更多的實(shí)際問題, 在原來的基礎(chǔ)上, BezDek將模糊加權(quán)指數(shù)m引入到目標(biāo)函數(shù)中, 使模糊目標(biāo)函數(shù)進(jìn)一步一般化,
(4)
隸屬度函數(shù)uik表示第k個樣本xk屬于第i個聚類中心vi的程度,uik∈[0,1]. 模糊聚類的劃分矩陣均屬于以下劃分空間,
m∈[1,∞]為模糊加權(quán)指數(shù), 控制著樣本在各個類間的分享程度, 有相關(guān)的研究表明,m的最佳取值范圍為[1.5,2.5][6].
引入拉格朗日乘子λ求解, 并使目標(biāo)函數(shù)Jm最小,
(6)
(7)
式中:dik=‖xk-vi‖.
FCM算法流程:
1) 初始化:V0為聚類中心,b為迭代次數(shù)(b的初始值為0),c為聚類個數(shù)(2≤c≤n),ε為迭代閾值(ε>0)[4];
2) 劃分矩陣的更新: 計算模糊聚類的劃分矩陣Ub;
3) 更新聚類中心: 根據(jù)式(8)更新聚類中心Vb+1;
4) 輸出: 如果‖V(b+1)-V(b)‖<ε則停止迭代, 將U,V輸出, 反之則繼續(xù)執(zhí)行第2)步[7-9];
5) 去模糊化: 即某一樣本點(diǎn)屬于哪個類別的程度最大, 則判定該樣本點(diǎn)屬于哪一類, 用Ck表示第k個樣本點(diǎn)所屬的類別, 有Ck=argimax(uik),?i,?k.
圖 3 為玉米種子圖像使用傳統(tǒng)FCM算法分割的結(jié)果, 可以看到: 大部分種子實(shí)現(xiàn)了邊界清晰地分割, 但個別種子之間存在明顯的粘連, 這就使得后續(xù)的計數(shù)產(chǎn)生誤差, 這是傳統(tǒng)FCM算法存在的局限性.
圖 3 傳統(tǒng)FCM算法分割結(jié)果Fig.3 Segmentation result by traditional FCM algorithm
傳統(tǒng)FCM算法存在的主要缺陷有:
1) 在圖像分割的過程中, 某一點(diǎn)的像素值并不是孤立的, 它與周邊相鄰的像素值之間存在著聯(lián)系. 但是傳統(tǒng)FCM算法并沒有考慮某像素與它相鄰的像素值之間的影響而只考慮單一像素, 即沒有考慮圖像的空間信息. 當(dāng)圖像受到噪聲影響時, 傳統(tǒng)FCM算法使得圖像的分割不充分而導(dǎo)致像素點(diǎn)的錯誤分類, 得不到滿意的分割結(jié)果[7-10].
2) 傳統(tǒng)FCM聚類算法沒有考慮像素點(diǎn)屬于該聚類的程度對最終模糊聚類目標(biāo)函數(shù)的影響, 使得每一個像素點(diǎn)都是孤立的, 這樣會增加分割過程中對干擾因素的敏感性, 使得最終得出的圖像分割結(jié)果并不精確[11-12].
針對上述的缺陷1), 在傳統(tǒng)FCM算法的目標(biāo)函數(shù)中加入懲罰項來說明鄰域像素值的影響. 帶懲罰項的非線性目標(biāo)函數(shù)可以表示為
(9)
式中:ξ為懲罰項; ?為懲罰項的系數(shù). 在圖像分割的過程中, 懲罰項的存在可以對空間信息進(jìn)行有效的約束, 它可以提升像素聚類的準(zhǔn)確性, 尤其當(dāng)圖像受到噪聲影響時, 懲罰項起到的作用會更加明顯, 它可以削弱甚至消除噪聲對像素正確聚類的干擾.
具體改進(jìn)后的FCM算法目標(biāo)函數(shù)為
對目標(biāo)函數(shù)引入模糊加權(quán)因子來改進(jìn)上述傳統(tǒng)FCM算法的缺陷2), 這樣在FCM聚類算法的基礎(chǔ)上既判定了每一個像素點(diǎn)xk對于不同聚類中心的隸屬程度, 又判定了不同的像素點(diǎn)對于同一個聚類中心的隸屬程度. 模糊加權(quán)因子的性質(zhì)類似于隸屬度, 但作用不同于隸屬度函數(shù)uik. 其定義為
(11)
式中:Wik為第k個樣本點(diǎn)屬于第i個聚類中心的模糊加權(quán)因子.
以下為改進(jìn)后的目標(biāo)函數(shù)
式中:xk距離聚類中心越遠(yuǎn),Wik越大, 1/Wik越小, 距離放大的尺度就越小, 所以距離值越小.
實(shí)際上模糊加權(quán)距離的原理就是用加權(quán)因子來修飾空間距離, 在這個過程中它利用倒數(shù)來使聚類更加準(zhǔn)確, 并且使聚類結(jié)果更加合理[13-16]. 將空間距離取倒數(shù), 這樣像素點(diǎn)的距離越大, 即放大的尺度越大, 反之, 則尺度越小, 最終導(dǎo)致“兩級分化”使得圖像更易于聚類, 而得到很好的聚類結(jié)果.
圖 4 為玉米種子圖像使用改進(jìn)的FCM聚類算法分割的結(jié)果. 由圖4可以看到: 目標(biāo)與背景分割明確, 種子之間的粘連明顯減少, 為后續(xù)種子計數(shù)打下很好的基礎(chǔ).
圖 4 改進(jìn)的FCM分割結(jié)果Fig.4 Segmentation result by improved FCM algorithm
實(shí)驗(yàn)選取玉米種子作為樣本, 采用大恒水星MER-500-7UM工業(yè)數(shù)字?jǐn)z像機(jī)及百萬像素系列變焦鏡頭M3Z1228C-MP采集圖像, 檢測系統(tǒng)軟件使用Qt Creator制作界面, 程序編寫使用C++, 使用OpenCV圖像處理庫來進(jìn)行種子圖像平滑處理、 圖像分割以及后續(xù)的計數(shù)功能, 如圖 5 所示為采用改進(jìn)FCM分割方法后進(jìn)行種子計數(shù)的軟件運(yùn)行結(jié)果.
圖 5 種子計數(shù)軟件運(yùn)行結(jié)果Fig.5 Result of seed count testing software
選取5張玉米種子圖像作為本次實(shí)驗(yàn)的輸入樣本圖像, 其中3張樣本的顆粒數(shù)相同, 其余2張樣本的顆粒數(shù)不同. 對上述5張圖像分別進(jìn)行兩次實(shí)驗(yàn), 兩次實(shí)驗(yàn)的圖像平滑處理都采用中值濾波, 計數(shù)方法都采用支持向量機(jī)(SVM), 而圖像分割分別采用傳統(tǒng)FCM算法與文中改進(jìn)的FCM算法. 對這5張圖像最終的計數(shù)結(jié)果、 準(zhǔn)確率、 檢測耗時進(jìn)行比較分析, 表 1 為傳統(tǒng)FCM算法的實(shí)驗(yàn)結(jié)果數(shù)據(jù), 表 2 為改進(jìn)FCM算法的實(shí)驗(yàn)結(jié)果數(shù)據(jù).
從兩組實(shí)驗(yàn)結(jié)果看到, 改進(jìn)的FCM算法相對于傳統(tǒng)的FCM算法考慮了像素的空間鄰域信息以及同一類別不同像素的歸屬程度, 這就使得改進(jìn)的FCM聚類算法具有更強(qiáng)的抗噪聲性能, 準(zhǔn)確率平均可以達(dá)到99%, 比傳統(tǒng)的FCM算法高出6%, 少數(shù)情況下有一定的誤差, 而誤差的存在主要是由于種子分布上存在重疊, 造成計數(shù)誤差.
表 1 傳統(tǒng)FCM算法的實(shí)驗(yàn)結(jié)果
表 2 改進(jìn)FCM算法的實(shí)驗(yàn)結(jié)果
在處理速度上, 由于改進(jìn)的FCM算法采用模糊加權(quán)因子對目標(biāo)函數(shù)進(jìn)行改進(jìn), 減少了聚類過程的迭代次數(shù), 計算時間僅為傳統(tǒng)FCM算法的一半, 使整個檢測系統(tǒng)的效率得到提高.
通過實(shí)驗(yàn)驗(yàn)證了整個改進(jìn)過程的有效性和合理性, 圖像分割結(jié)果更加精確、 高效, 圖像分割工作得到進(jìn)一步完善和質(zhì)量的進(jìn)一步提升, 為下一步準(zhǔn)確計數(shù)打下良好基礎(chǔ).
本文在介紹了K-means、 FCM算法之后, 針對兩種算法在應(yīng)用中的特點(diǎn), 提出了K-means、 FCM算法在類似種子圖像分割中的不足之處. 使用K-means算法, 首先要加大工作量來確定聚類數(shù)目k; 其次其對初始聚類中心值、 噪聲和孤立點(diǎn)數(shù)據(jù)敏感; 并且在修正聚類中心的過程中會讓樣本均值偏離真正的聚類中心; 而且該方法不適用于大量數(shù)據(jù)的聚類. 而FCM算法雖然在K-means算法上進(jìn)行了改進(jìn), 但是由于它沒有考慮圖像的空間信息, 當(dāng)圖像受到噪聲影響時, 會導(dǎo)致像素點(diǎn)的錯誤分類; 且FCM算法沒有引入像素點(diǎn)隸屬度對其最終模糊聚類目標(biāo)函數(shù)的影響, 使得最終結(jié)果有失客觀性. 而改進(jìn)后的FCM算法考慮了像素的鄰域信息并引入像素點(diǎn)隸屬于最終聚類的程度, 使得分割更具有科學(xué)性和合理性. 最后用機(jī)器視覺系統(tǒng)獲取的種子圖像對傳統(tǒng)FCM算法及改進(jìn)的FCM算法進(jìn)行了分割后的計數(shù)實(shí)驗(yàn)驗(yàn)證, 結(jié)果同樣表明改進(jìn)的FCM算法在準(zhǔn)確率及處理速度上都較傳統(tǒng)FCM算法有優(yōu)越性, 改進(jìn)的算法在顆粒種子機(jī)器視覺檢測中能夠得到很好的應(yīng)用.
參考文獻(xiàn):
[1] 楊淑瑩. 模式識別與智能計算[M]. 北京: 電子工業(yè)出版社, 2011.
[2] 章毓晉. 圖像分割[M]. 北京: 科學(xué)出版社, 2001.
[3] 王威, 曾小能. 圖像分割技術(shù)研究與應(yīng)用[J]. 計算機(jī)時代, 2015(1): 26-28.
Wang Wei, Zeng Xiaoneng. Research of image segmentation technology and application[J]. Computer Era, 2015(1): 26-28. (in Chinese)
[4] 張丹丹, 趙雙. 圖像分割技術(shù)綜述[J]. 科技創(chuàng)新與應(yīng)用, 2013(10): 36.
Zhang Dandan, Zhao Shuang. Review of image segmentation technology[J]. Technology Innovation and Application, 2013(10): 36. (in Chinese)
[5] 汪梅, 何高明, 賀杰. 常見圖像分割的技術(shù)分析與比較[J]. 計算機(jī)光盤軟件與應(yīng)用, 2013, 16(6): 63-64.
Wang Mei, He Gaoming, He Jie. Analysis and comparison of common image segmentation technical [J]. Computer CD Software and Applications, 2013, 16(6): 63-64. (in Chinese)
[6] 高新波, 謝維信. 模糊c-均值聚類算法中加權(quán)指數(shù)m的研究[J]. 電子學(xué)報, 2000, 28(4): 80-83.
Gao Xinbo, Xie Weixin. A study of weighting exponent m in a fuzzy C-means algorithm[J]. Acta Electronica Sinica, 2000, 28(4): 80-83. (in Chinese)
[7] Pal N R, Bezdek J C. On cluster validity for the fuzzy c-means model[J]. IEEE Transactions on Fuzzy Systems, 1995, 3(3): 370-379.
[8] 張洪艷. 模糊C均值聚類算法及應(yīng)用[J]. 科技資訊, 2014(5): 178-179.
Zhang Hongyan. Fuzzy c-means clustering algorithm and its application[J]. Science & Technology Information, 2014(5): 178-179. (in Chinese)
[9] Ambroise C, Govaert G. Convergence of an EM-type algorithm for spatial clustering[J]. Pattern Recognition Letters, 1998, 19(10): 919-927.
[10] Ayech M W, El Kalti K, El Ayeb B. Image segmentation based on adaptive fuzzy-C-means clustering[J]. International Conference on Pattern Recognition (ICPR), 2010, 12(10): 2306-2309.
[11] 王穎潔, 白鳳波, 王金慧. 關(guān)于模糊C-均值(FCM)聚類算法的改進(jìn)[J]. 大連大學(xué)學(xué)報, 2010, 31(6): 1-4.
Wang Yingjie, Bai Fengbo, Wang Jinhui. Improvement of the fuzzy C-means clustering algorithm[J]. Journal of Dalian University, 2010, 31(6): 1-4. (in Chinese)
[12] Yang Y, Zheng C X, Lin P, et al. A new algorithm for image segmentation based on modified fuzzy C-means clustering[J]. Journal of Optoelectronicslaser, 2005, 16(9): 1118-1122.
[13] Pu P B, Wang G, Liu T A. Research of improved fuzzy C-means algorithm based on particle swarm optimization[J]. Computer Engineering and Design, 2008, 10(6): 556-675.
[14] Wang G H, Li D H. A fast and effective fuzzy clustering algorithm for color image segmentation[J]. Journal of Beijing Institute of Technology, 2012, 21(4): 518-525.
[15] Li Y L, Sheng Y. Fuzzy C-means clustering based on spatial neighborhood information for image segmentation[J]. Journal of Systems Engineering and Electronics, 2010, 21(2): 323-328.
[16] Lou X J, Li J Y, Liu H T. Improved fuzzy C-means clustering algorithm based on cluster density[J]. Journal of Computational Information Systems, 2012, 8(2): 727-737.