王 宇, 陳 婧, 王 高
(1. 山西工程職業(yè)技術學院 電氣工程系, 山西 太原 030009; 2. 中國航天科工集團第二研究院706所, 北京 100854; 3. 中北大學 儀器科學與動態(tài)測試教育部重點實驗室, 山西 太原 030051; 4. 中北大學 電子測試技術國防科技重點實驗室, 山西 太原 030051)
圖像處理技術和機器視覺技術的不斷完善使得應用計算機視覺、 圖像處理和模式識別來實現(xiàn)農(nóng)作物顆粒種子檢測的自動化成為可能. 機器視覺系統(tǒng)的光電系統(tǒng)能獲得被檢測對象的圖像信號, 利用適當?shù)姆绞教幚韴D像信息后可通過識別、 分析得到檢測結果, 圖像信息處理方法的適用與否及處理結果的好壞直接影響到后續(xù)圖像分析的結果, 因此機器視覺系統(tǒng)能夠廣泛應用的前提是圖像處理工作的精確化[1].
在此背景下, 本文對農(nóng)作物顆粒種子機器視覺計數(shù)檢測系統(tǒng)中, 光電采集系統(tǒng)所采集的農(nóng)作物顆粒種子圖像(如圖 1 所示玉米種子原始圖像)進行圖像分割算法的研究, 該工作處于對原輸入圖像平滑、 去噪處理之后(如圖 2 所示玉米種子平滑圖), 支持向量機(SVM)計數(shù)工作之前. 為了能夠準確地自動計數(shù)顆粒, 需要對圖像進行有效分割, 避免分割不好造成計數(shù)錯誤.
圖 1 玉米種子原始圖象Fig.1 Original image of corn seeds
圖 2 玉米種子平滑圖Fig.2 Image of corn seeds after smooth processing
圖像分割是指將圖像中具有相似特征的區(qū)域進行劃分, 且劃分后的區(qū)域之間存在著差異性. 在對農(nóng)作物顆粒種子圖像進行檢測識別、 計數(shù)之前要先進行圖像分割, 即將每個顆粒種子從圖像中獨立分割出來, 它決定了后續(xù)計數(shù)結果的準確性及系統(tǒng)檢測的整體速度. 20世紀90年代初主要采用算法相對簡單的閾值分割、 邊緣檢測等圖像分割方法, 這些算法對一般圖像的錯誤率較大[2-4]. 2000年后出現(xiàn)的超像素分割方法, 特別是模糊C均值聚類(FCM)算法盡管復雜度較高、 計算量較大, 但分割效果比早期的閾值分割、 邊緣檢測等方法好[5]. 本文采用改進的FCM算法對顆粒種子圖像進行分割, 使單個種子與背景圖像分開, 只有當種子與背景明顯分離, 單個的種子才具備計數(shù)條件.
圖像分割是把所有屬性相同或相似的像素點劃分為同類, 這個過程就是聚類. 只有使同類的特征點密集, 不同類的特征點相距疏遠, 聚類方法才是有效的. 由此, 特征點在特征空間中的分布情況決定了基于相似準則建立的聚類方法的有效性.
聚類算法最常用的是K均值(K-means)聚類, 它的優(yōu)勢在于簡潔和高效[2-5].
設定輸入為有k個聚類的待分類樣本集X={x1,x2,x3,…,xn}, 輸出為k個聚類Cj(j=1,2,…,k).
1) 初始化: 選取k個初始聚類中心;
2) 分配樣本: 按照最小距離原則將每個樣本分配到最鄰近的聚類中心;
3) 修正聚類中心: 設定每個聚類中的樣本均值作為新的聚類中心;
4) 判斷是否滿足收斂條件: 重復2), 3)步驟, 直到聚類中心變化值小于預設閾值;
5) 結束: 輸出k個聚類.
K-means聚類圖像分割算法屬于一種硬聚類分割算法, 即每一個像素點明確只能屬于某一類. K-means聚類算法分割圖像時有以下明顯的局限性:
1) 使用該算法分類之前必須事先給出待分類樣本集的聚類數(shù)目k, 但實際在分類之前我們并不確定樣本中到底有多少個分類, 這就需要加大工作量來確定聚類數(shù)目k;
2) 該算法對初始聚類中心值敏感, 對于不同的初始聚類中心值, 可能會導致不同的結果;
3) 該算法最大的缺點是對于噪聲和孤立點數(shù)據(jù)非常敏感, 在K-means聚類算法過程中每次迭代需要重新修正聚類中心, 即將每個聚類中的樣本均值作為新的聚類中心, 這樣就使得少量的噪聲及孤立點就會讓樣本均值偏離真正的聚類中心;
4) 該算法不適用于大量數(shù)據(jù)的聚類, 由于K-means聚類算法需要多次迭代來確定最終的聚類結果, 而每次迭代都需要計算所有樣本均值, 這就使得計算量過大, 耗時過多.
軟聚類分割算法能夠更準確地對圖像像素進行歸類, FCM算法就是其中的一種, 即使在復雜的背景下, 依然能夠實現(xiàn)準確的圖像分割. 這種算法將樣本點屬于隸屬度類別的程度考慮其中, 而不像K-means聚類算法中只是簡單地將其區(qū)分為“是”或“不是”, 分割結果比K-means聚類算法更為精確化、 合理化.
在集合理論中, 其特征函數(shù)為
(1)
從特征函數(shù)中可以看出, 這是一個不連續(xù)函數(shù), 根據(jù)元素的取值區(qū)間不同, 相應的函數(shù)結果只有“0”和“1”, 但是某一個像素點其實是與周邊的像素點存在一定的聯(lián)系的, 它們并不是孤立存在的, 因此, 這樣的特征函數(shù)應用在實際分割圖形的過程中并不能體現(xiàn)出像素點之間的聯(lián)系, 只是就點論點, 缺乏客觀性, 圖形分割結果會有失準確性. 因此, 需要對特征函數(shù)進行改進, 將原來離散化的取值改成從0到1的連續(xù)區(qū)間, 使得利用該函數(shù)得到的結果更加合理, 而函數(shù)改進的過程也就是用隸屬函數(shù)取代特征函數(shù)的過程.
由于FCM算法本身的優(yōu)勢, 使其能夠更加精確地處理圖像的分割問題, 應用前景非常廣泛, 很多國內外的專家學者致力于它的發(fā)展研究, 以便更好的應用于實際工作中. 首先提出用模糊理論處理聚類問題的是Zadeh等人, 在此基礎上, Ruspini提出了新的聚類方法, 為
(2)
后來, Dunn把聚類的目標函數(shù)改進為類內加權誤差平方和形式, 目標函數(shù)表示為
(3)
隨著研究的不斷深入, 為了讓該理論能夠解決更多的實際問題, 在原來的基礎上, BezDek將模糊加權指數(shù)m引入到目標函數(shù)中, 使模糊目標函數(shù)進一步一般化,
(4)
隸屬度函數(shù)uik表示第k個樣本xk屬于第i個聚類中心vi的程度,uik∈[0,1]. 模糊聚類的劃分矩陣均屬于以下劃分空間,
m∈[1,∞]為模糊加權指數(shù), 控制著樣本在各個類間的分享程度, 有相關的研究表明,m的最佳取值范圍為[1.5,2.5][6].
引入拉格朗日乘子λ求解, 并使目標函數(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) 去模糊化: 即某一樣本點屬于哪個類別的程度最大, 則判定該樣本點屬于哪一類, 用Ck表示第k個樣本點所屬的類別, 有Ck=argimax(uik),?i,?k.
圖 3 為玉米種子圖像使用傳統(tǒng)FCM算法分割的結果, 可以看到: 大部分種子實現(xiàn)了邊界清晰地分割, 但個別種子之間存在明顯的粘連, 這就使得后續(xù)的計數(shù)產(chǎn)生誤差, 這是傳統(tǒng)FCM算法存在的局限性.
圖 3 傳統(tǒng)FCM算法分割結果Fig.3 Segmentation result by traditional FCM algorithm
傳統(tǒng)FCM算法存在的主要缺陷有:
1) 在圖像分割的過程中, 某一點的像素值并不是孤立的, 它與周邊相鄰的像素值之間存在著聯(lián)系. 但是傳統(tǒng)FCM算法并沒有考慮某像素與它相鄰的像素值之間的影響而只考慮單一像素, 即沒有考慮圖像的空間信息. 當圖像受到噪聲影響時, 傳統(tǒng)FCM算法使得圖像的分割不充分而導致像素點的錯誤分類, 得不到滿意的分割結果[7-10].
2) 傳統(tǒng)FCM聚類算法沒有考慮像素點屬于該聚類的程度對最終模糊聚類目標函數(shù)的影響, 使得每一個像素點都是孤立的, 這樣會增加分割過程中對干擾因素的敏感性, 使得最終得出的圖像分割結果并不精確[11-12].
針對上述的缺陷1), 在傳統(tǒng)FCM算法的目標函數(shù)中加入懲罰項來說明鄰域像素值的影響. 帶懲罰項的非線性目標函數(shù)可以表示為
(9)
式中:ξ為懲罰項; ?為懲罰項的系數(shù). 在圖像分割的過程中, 懲罰項的存在可以對空間信息進行有效的約束, 它可以提升像素聚類的準確性, 尤其當圖像受到噪聲影響時, 懲罰項起到的作用會更加明顯, 它可以削弱甚至消除噪聲對像素正確聚類的干擾.
具體改進后的FCM算法目標函數(shù)為
對目標函數(shù)引入模糊加權因子來改進上述傳統(tǒng)FCM算法的缺陷2), 這樣在FCM聚類算法的基礎上既判定了每一個像素點xk對于不同聚類中心的隸屬程度, 又判定了不同的像素點對于同一個聚類中心的隸屬程度. 模糊加權因子的性質類似于隸屬度, 但作用不同于隸屬度函數(shù)uik. 其定義為
(11)
式中:Wik為第k個樣本點屬于第i個聚類中心的模糊加權因子.
以下為改進后的目標函數(shù)
式中:xk距離聚類中心越遠,Wik越大, 1/Wik越小, 距離放大的尺度就越小, 所以距離值越小.
實際上模糊加權距離的原理就是用加權因子來修飾空間距離, 在這個過程中它利用倒數(shù)來使聚類更加準確, 并且使聚類結果更加合理[13-16]. 將空間距離取倒數(shù), 這樣像素點的距離越大, 即放大的尺度越大, 反之, 則尺度越小, 最終導致“兩級分化”使得圖像更易于聚類, 而得到很好的聚類結果.
圖 4 為玉米種子圖像使用改進的FCM聚類算法分割的結果. 由圖4可以看到: 目標與背景分割明確, 種子之間的粘連明顯減少, 為后續(xù)種子計數(shù)打下很好的基礎.
圖 4 改進的FCM分割結果Fig.4 Segmentation result by improved FCM algorithm
實驗選取玉米種子作為樣本, 采用大恒水星MER-500-7UM工業(yè)數(shù)字攝像機及百萬像素系列變焦鏡頭M3Z1228C-MP采集圖像, 檢測系統(tǒng)軟件使用Qt Creator制作界面, 程序編寫使用C++, 使用OpenCV圖像處理庫來進行種子圖像平滑處理、 圖像分割以及后續(xù)的計數(shù)功能, 如圖 5 所示為采用改進FCM分割方法后進行種子計數(shù)的軟件運行結果.
圖 5 種子計數(shù)軟件運行結果Fig.5 Result of seed count testing software
選取5張玉米種子圖像作為本次實驗的輸入樣本圖像, 其中3張樣本的顆粒數(shù)相同, 其余2張樣本的顆粒數(shù)不同. 對上述5張圖像分別進行兩次實驗, 兩次實驗的圖像平滑處理都采用中值濾波, 計數(shù)方法都采用支持向量機(SVM), 而圖像分割分別采用傳統(tǒng)FCM算法與文中改進的FCM算法. 對這5張圖像最終的計數(shù)結果、 準確率、 檢測耗時進行比較分析, 表 1 為傳統(tǒng)FCM算法的實驗結果數(shù)據(jù), 表 2 為改進FCM算法的實驗結果數(shù)據(jù).
從兩組實驗結果看到, 改進的FCM算法相對于傳統(tǒng)的FCM算法考慮了像素的空間鄰域信息以及同一類別不同像素的歸屬程度, 這就使得改進的FCM聚類算法具有更強的抗噪聲性能, 準確率平均可以達到99%, 比傳統(tǒng)的FCM算法高出6%, 少數(shù)情況下有一定的誤差, 而誤差的存在主要是由于種子分布上存在重疊, 造成計數(shù)誤差.
表 1 傳統(tǒng)FCM算法的實驗結果
表 2 改進FCM算法的實驗結果
在處理速度上, 由于改進的FCM算法采用模糊加權因子對目標函數(shù)進行改進, 減少了聚類過程的迭代次數(shù), 計算時間僅為傳統(tǒng)FCM算法的一半, 使整個檢測系統(tǒng)的效率得到提高.
通過實驗驗證了整個改進過程的有效性和合理性, 圖像分割結果更加精確、 高效, 圖像分割工作得到進一步完善和質量的進一步提升, 為下一步準確計數(shù)打下良好基礎.
本文在介紹了K-means、 FCM算法之后, 針對兩種算法在應用中的特點, 提出了K-means、 FCM算法在類似種子圖像分割中的不足之處. 使用K-means算法, 首先要加大工作量來確定聚類數(shù)目k; 其次其對初始聚類中心值、 噪聲和孤立點數(shù)據(jù)敏感; 并且在修正聚類中心的過程中會讓樣本均值偏離真正的聚類中心; 而且該方法不適用于大量數(shù)據(jù)的聚類. 而FCM算法雖然在K-means算法上進行了改進, 但是由于它沒有考慮圖像的空間信息, 當圖像受到噪聲影響時, 會導致像素點的錯誤分類; 且FCM算法沒有引入像素點隸屬度對其最終模糊聚類目標函數(shù)的影響, 使得最終結果有失客觀性. 而改進后的FCM算法考慮了像素的鄰域信息并引入像素點隸屬于最終聚類的程度, 使得分割更具有科學性和合理性. 最后用機器視覺系統(tǒng)獲取的種子圖像對傳統(tǒng)FCM算法及改進的FCM算法進行了分割后的計數(shù)實驗驗證, 結果同樣表明改進的FCM算法在準確率及處理速度上都較傳統(tǒng)FCM算法有優(yōu)越性, 改進的算法在顆粒種子機器視覺檢測中能夠得到很好的應用.
參考文獻:
[1] 楊淑瑩. 模式識別與智能計算[M]. 北京: 電子工業(yè)出版社, 2011.
[2] 章毓晉. 圖像分割[M]. 北京: 科學出版社, 2001.
[3] 王威, 曾小能. 圖像分割技術研究與應用[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] 張丹丹, 趙雙. 圖像分割技術綜述[J]. 科技創(chuàng)新與應用, 2013(10): 36.
Zhang Dandan, Zhao Shuang. Review of image segmentation technology[J]. Technology Innovation and Application, 2013(10): 36. (in Chinese)
[5] 汪梅, 何高明, 賀杰. 常見圖像分割的技術分析與比較[J]. 計算機光盤軟件與應用, 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-均值聚類算法中加權指數(shù)m的研究[J]. 電子學報, 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均值聚類算法及應用[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] 王穎潔, 白鳳波, 王金慧. 關于模糊C-均值(FCM)聚類算法的改進[J]. 大連大學學報, 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.