■ 李 娟 夏 彬 劉妍妍〔湖北省纖維檢驗(yàn)局,武漢 43006〕〔鄭州棉麻工程技術(shù)設(shè)計(jì)研究所科研創(chuàng)新中心,鄭州450004〕
?
棉花圖像分割方法的比較與分析
■李娟1夏彬2劉妍妍2
〔1湖北省纖維檢驗(yàn)局,武漢430061〕〔2鄭州棉麻工程技術(shù)設(shè)計(jì)研究所科研創(chuàng)新中心,鄭州450004〕
近年來,隨著多媒體技術(shù)與計(jì)算機(jī)技術(shù)的飛速發(fā)展,機(jī)器視覺檢測系統(tǒng)在棉花加工、檢驗(yàn)領(lǐng)域得到應(yīng)用。該系統(tǒng)通過工業(yè)相機(jī)以及計(jì)算機(jī)的方式,采用數(shù)字圖像處理技術(shù)代替人眼對(duì)目標(biāo)進(jìn)行分析、識(shí)別與測量,能夠有效克服人工方式的不足,提高生產(chǎn)效率,具有廣泛的應(yīng)用前景。在機(jī)器視覺檢測系統(tǒng)中,圖像分割是基礎(chǔ),而基于邊緣的分割方法也是圖像分割與模式識(shí)別的重要內(nèi)容,對(duì)檢測的效果有著重要影響。
本文針對(duì)棉花圖像分割方法進(jìn)行研究,分別采用Sobel算子和Canny算子對(duì)顏色級(jí)為淡點(diǎn)污棉二級(jí)棉花圖像進(jìn)行圖像分割實(shí)驗(yàn),并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行比較與分析,為棉花圖像分割方法的選取以及棉花圖像目標(biāo)識(shí)別提供參考依據(jù)。
圖像分割是指根據(jù)灰度、顏色、幾何形狀以及空間紋理等特征把圖像劃分成若干互不交迭的區(qū)域,使得在同一區(qū)域內(nèi)這些特征呈現(xiàn)出相似性,而在不同區(qū)域間呈現(xiàn)出明顯的差異性。簡而言之,就是在一幅圖像中,把要檢測或者識(shí)別的目標(biāo)從背景中分離出來,以便進(jìn)行下一步處理。當(dāng)前國內(nèi)外廣泛使用的圖像分割方法主要可分為基于邊緣分割、基于閾值分割、基于特定理論、基于區(qū)域生長分割等方法。
邊緣是圖像最重要的特征之一,在數(shù)字圖像中,邊緣表現(xiàn)為局部范圍灰度的劇烈突變,它是由那些周圍象素灰度有階躍變化或屋頂變化的象素點(diǎn)構(gòu)成的集合。邊緣檢測的基本思想是首先通過使用邊緣增強(qiáng)算子,重點(diǎn)突出圖像中的局部邊緣,然后定義象素的邊緣強(qiáng)度,通過選取閾值的方法提取邊緣點(diǎn)集合。常用的邊緣檢測算法有Sobel算子、Canny算子等。
(一)方法選取
1.Sobel算子
Sobel算子是常用的檢測算子,它包括兩個(gè)方法,一個(gè)是檢測水平邊沿的;另一個(gè)是檢測垂直平邊沿的。與其它梯度算子相比,Sobel算子對(duì)于象素的位置的影響做了加權(quán),從而提高了檢測效果。
Sobel算子利用象素點(diǎn)上下、左右鄰點(diǎn)的灰度加權(quán)方法,根據(jù)在邊緣點(diǎn)處達(dá)到極值這一現(xiàn)象進(jìn)行邊緣的檢測。該方法不僅能產(chǎn)生較好的邊緣檢測效果,而且對(duì)噪聲具有平滑作用,所以可以提供較為精確的邊緣方向信息。當(dāng)使用大的領(lǐng)域時(shí),抗噪聲特性更好,但計(jì)算量也會(huì)隨之增大,容易檢測出偽邊緣,定位精度也不高。
2.Canny算子
Canny算子是通過尋找圖像梯度的局部極大值,采用高斯函數(shù)的一階微分來計(jì)算梯度。其分割方法的主要步驟是:
(1)首先使用高斯濾對(duì)圖像進(jìn)行平滑處理;
(2)然后采用一階偏導(dǎo)的有限差分來計(jì)算梯度的幅值和方向;
(3)最后對(duì)梯度的幅值進(jìn)行非極大值抑制,并且通過雙閾值方法進(jìn)行檢測邊緣和連接邊緣。
下面將對(duì)Canny算子檢測原理做詳細(xì)說明。假設(shè)采用I[i,j]表示圖像,使用可分離濾波方法求圖像與高斯平滑濾波器卷積,得到的結(jié)果是一個(gè)已平滑數(shù)據(jù)陣列:

其中,σ是高斯函數(shù)的散布參數(shù),它影響著平滑程度。
平滑數(shù)據(jù)陣列S[i,j]的梯度可以采用2×2一階有限差分近似式來計(jì)算x與y偏導(dǎo)數(shù)的2個(gè)陣列P[i,j]和Q[i,j]:

在這個(gè)2×2正方形內(nèi)求有限差分的均值,以便在圖像中的同一點(diǎn)計(jì)算x和y的偏導(dǎo)數(shù)梯度。幅值和方位角可用直角坐標(biāo)到極坐標(biāo)的坐標(biāo)轉(zhuǎn)化公式來計(jì)算:

其中的反正切函數(shù)使用兩個(gè)參量表示一個(gè)角度,它的取值范圍是整個(gè)圓周。梯度的方向和幅度可以根據(jù)查找表由偏導(dǎo)數(shù)計(jì)算。反正切函數(shù)的大多數(shù)計(jì)算使用的是定點(diǎn)運(yùn)算,很少的幾個(gè)計(jì)算是基本浮點(diǎn)運(yùn)算,其中的浮點(diǎn)運(yùn)算是由整數(shù)和定點(diǎn)算術(shù)通過軟件實(shí)現(xiàn)的。在計(jì)算中盡量不用浮點(diǎn)運(yùn)算可以提高效率。Canny算法不容易受噪聲的干擾,能夠在邊緣檢測和噪聲抑制之間取得較好的平衡,更能檢測出真正的弱邊緣,具有優(yōu)越的檢測性能。
(二)實(shí)驗(yàn)平臺(tái)
實(shí)驗(yàn)選取顏色級(jí)為淡點(diǎn)污棉二級(jí)的棉花作為樣本,通過CMOS工業(yè)相機(jī)采集圖像,圖像尺寸為JPEG格式,1960×980像素,位深度24位。
實(shí)驗(yàn)硬件平臺(tái)是在聯(lián)想計(jì)算機(jī)上進(jìn)行的,該計(jì)算機(jī)配備CORE i5 CPU,4GB內(nèi)存,1TB硬盤。
實(shí)驗(yàn)軟件運(yùn)行于Windows 7操作系統(tǒng)上,采用Visual C++ 2010調(diào)用OpenCV的方法進(jìn)行程序?qū)崿F(xiàn)。Microsoft Visual C++是微軟公司推出的高性能集成開發(fā)環(huán)境程序,它面向?qū)ο蟮目梢暬删幊棠J?,具有程序框架自?dòng)生成、靈活方便的類管理、代碼編寫以及界面設(shè)計(jì)集成互操作、可開發(fā)多種程序等優(yōu)點(diǎn)。OpenCV是一個(gè)基于開源的跨平臺(tái)機(jī)器視覺庫,可以運(yùn)行在Windows、Linux和Mac OS操作系統(tǒng)之上,具有輕量級(jí)、快捷高效等特點(diǎn),能夠?qū)崿F(xiàn)計(jì)算機(jī)視覺和圖像處理領(lǐng)域的通用算法。
(三)實(shí)驗(yàn)內(nèi)容
1.使用實(shí)驗(yàn)程序采集淡點(diǎn)污棉二級(jí)棉花圖像;
2.使用Sobel邊緣檢測算子對(duì)圖像進(jìn)行分割,并將結(jié)果進(jìn)行反色處理;
3.使用Canny邊緣檢測算子對(duì)圖像進(jìn)行分割,并將結(jié)果進(jìn)行反色處理。
(四)實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)對(duì)淡點(diǎn)污棉二級(jí)棉花圖像作為樣本,采集到的棉樣圖像如圖1所示。

圖1 棉花樣本原始圖像
按照上述實(shí)驗(yàn)內(nèi)容,采用邊緣檢測算子對(duì)所選棉樣圖像進(jìn)行分割的結(jié)果如下:圖2為使用Sobel邊緣檢測算子圖像分割結(jié)果,圖3為使用Canny邊緣檢測算子圖像分割結(jié)果。

圖2 Sobel算子分割結(jié)果

圖3 Canny算子分割結(jié)果
從分割結(jié)果可以看出,Sobel算子會(huì)將虛假的邊緣檢測出來,容易出現(xiàn)誤檢的情況;而Canny算子能夠檢測到真實(shí)的圖像邊緣,使虛假邊緣得到最大抑制,具有較高的信噪比,同時(shí)檢測出的邊緣點(diǎn)會(huì)附著在實(shí)際邊緣的中心,具有精準(zhǔn)的定位。
根據(jù)棉花圖像分割實(shí)驗(yàn)結(jié)果并結(jié)合邊緣算子原理,對(duì)棉花圖像分割方法比較和分析如下:
1.Sobel算子和Canny算子都屬于一階微分方法,它們都通過計(jì)算像的梯度值來增強(qiáng)圖像,通過對(duì)梯度按閾值取舍的方法檢測邊緣。
2.Sobel算子產(chǎn)生的邊緣較粗,Canny算子產(chǎn)生的邊緣較細(xì)。Canny算子是通過對(duì)梯度方向上的非局部極大值點(diǎn)進(jìn)行抑制而達(dá)到這個(gè)效果,而Sobel算子比Canny算子更容易受到噪聲的影響。
3.在梯度值的計(jì)算中,Canny算子使用了有限差分近似來計(jì)算梯度的大小與方向,而Sobel算子只需要知道梯度的大小。Sobel算子所用的梯度閾值比Canny算子中的閾值要高很多。
4.由于Canny算子進(jìn)行了“非極大值抑制”和形態(tài)學(xué)連接操作,使其提取的邊緣連續(xù)性較好,因此,效果明顯優(yōu)于其他算子。
圖像分割是數(shù)字圖像處理的基礎(chǔ),而基于邊緣檢測的分割方法又是圖像分割與模式識(shí)別的重要內(nèi)容。本文針對(duì)邊緣檢測在棉花圖像分割和目標(biāo)識(shí)別領(lǐng)域中的重要性,采用邊緣檢測算法中的Sobel算子、Canny算子分別對(duì)淡點(diǎn)污棉二級(jí)棉花圖像進(jìn)行研究,在分割實(shí)驗(yàn)中對(duì)各算子數(shù)據(jù)進(jìn)行了比較與分析。實(shí)驗(yàn)結(jié)果表明,與Sobel算子相比,由于Canny算子采用了“非極大值抑制”和形態(tài)學(xué)連接操作的方法,更容易獲取連續(xù)的圖像邊緣,因此,其分割效果要優(yōu)于其它算子,特別適用于棉花雜質(zhì)圖像的分割。