王文慧,楊 庚,葛 煒,劉沛東,錢 晨
1.南京郵電大學(xué) 計算機(jī)學(xué)院 江蘇省大數(shù)據(jù)安全與智能處理重點(diǎn)實(shí)驗(yàn)室,南京 210000
2.江蘇亨通光電有限公司,江蘇 蘇州 215200
3.南京郵電大學(xué) 光電學(xué)院,南京 210000
隨著科技的進(jìn)步,光纖通信技術(shù)從光通信中脫穎而出,已成為現(xiàn)代通信的主要支柱之一,在現(xiàn)代電信網(wǎng)中起著舉足輕重的作用。在光纖光纜的生產(chǎn)過程中,由于生產(chǎn)工藝和環(huán)境的影響,會導(dǎo)致表面不同種類的缺陷存在,這將直接影響到產(chǎn)品的壽命。依賴人工進(jìn)行瑕疵的檢測,這種方法勞動強(qiáng)度大,效率低,而且難以適應(yīng)大規(guī)模工廠化的生產(chǎn)需求。同時人工檢測法在實(shí)際使用中存在很大的局限性。采用計算機(jī)視覺技術(shù)可以客觀、及時、準(zhǔn)確地識別光纜表面的瑕疵。隨著計算機(jī)視覺和數(shù)字圖像的處理技術(shù)在工業(yè)的廣泛應(yīng)用,利用計算機(jī)技術(shù)實(shí)現(xiàn)光纜瑕疵的自動檢測成為可能。在圖像分割技術(shù)的發(fā)展中,產(chǎn)生了多種分割方法,比如:閾值分割法、區(qū)域法生長法、邊緣檢測法、基于特定理論的分割法等[1]。
在基于特定理論的分割方法中,一些基于聚類的分割方法被提出來。其中使用最廣泛的是模糊C均值FCM聚類算法。HE等人[1]充分考慮了像素的空間信息,提出了一種具有空間約束的FCM算法,該算法通過修改目標(biāo)函數(shù)和隸屬度函數(shù),提高了算法的抗噪性,取得了較好的效果。Sowmya等人[2]提出了使用FCM算法和神經(jīng)網(wǎng)絡(luò)結(jié)合的方法對彩色圖像進(jìn)行分割,該方法比單一的FCM算法分割精度高,但是該算法需要大量的訓(xùn)練數(shù)據(jù),不適用于實(shí)時性的檢測。Bai等人[3]提出了一種改進(jìn)的FCM算法來分割紅外船舶圖像,通過馬爾科夫隨機(jī)場來細(xì)化局部空間約束,較好地克服了噪聲不均性。
FCM算法克服了普通聚類算法中硬聚類的缺點(diǎn),但在分割過程中仍然存在以下缺點(diǎn):(1)沒有考慮圖像相鄰像素的關(guān)系;(2)使用魯棒性較差的歐式距離衡量像素與聚類中心的差值;(3)初始聚類中心具有隨機(jī)性,導(dǎo)致每次運(yùn)行的時間和分割效果差異較大。基于以上原因,該算法對噪聲非常敏感。針對以上不足,本文提出了一種結(jié)合像素鄰域信息并改進(jìn)歐氏距離的模糊C均值聚類算法。使用該算法,對獲取的彩色光纜圖像在R、G、B三個維度上進(jìn)行聚類,實(shí)驗(yàn)結(jié)果顯示能夠準(zhǔn)確定位光纜的瑕疵區(qū)域,并很好地克服了噪聲的影響,證明了算法具有很好的魯棒性。
FCM聚類算法是一種無監(jiān)督的分類方法,通過對目標(biāo)函數(shù)的迭代優(yōu)化實(shí)現(xiàn)對像素的劃分[3],根據(jù)每像素屬于不同區(qū)域的程度將像素分到某個區(qū)域中。由于圖像的退化、受外界噪聲和其他不確定因素的影響,在分割中很難將像素歸屬到某個分類器中,而FCM算法將分類器之間的獨(dú)立性用一種模糊的概念來取代,克服了硬分類方法將像素歸屬一刀切的不足,在某種程度上能克服不確定因素對像素分類造成的影響[4]。
式中,J(U,V)表示區(qū)域的像素到聚類中心加權(quán)距離的平方和,J(U,V)值的大小反映圖像區(qū)域的一致性,值越小表示像素是一個區(qū)域的可能性越大,聚類效果越好[6]。參數(shù)m是隸屬度的加權(quán)指數(shù),是為了加強(qiáng)像素的特征值屬于不同區(qū)域的對比度,它決定分類結(jié)果的模糊程度,m∈[1,+∞),其值越大分類越模糊,當(dāng)m=1時,為硬分類,一般值取m=2。式(1)需要滿足如下約束條件:
為使J(U,V)取到最小值,該帶約束條件的極值問題可通過拉格朗日乘子法解決,相應(yīng)的迭代算法描述如下:
步驟1初始化。設(shè)定聚類類別數(shù)C、模糊指數(shù)m和迭代的終止條件ξ,并用隨機(jī)數(shù)初始化隸屬矩陣U(0),令迭代次數(shù) k=0[7]。
步驟2計算聚類中心:
其中:
步驟3計算隸屬度矩陣:
其中:
步驟4如果停止循環(huán)迭代,否則令K=K+1,回到步驟2繼續(xù)循環(huán)。
根據(jù)對光纜瑕疵圖片的了解,將聚類數(shù)目選擇為2,即一類為瑕疵,另一類為光纜的正常部分。FCM算法中,聚類中心的選擇是隨機(jī)的,這樣可以簡化算法的復(fù)雜程度,整個算法的工作集中在聚類的迭代上,算法的代碼實(shí)現(xiàn)更容易。但是,F(xiàn)CM算法的迭代終止條件是相鄰兩次迭代的聚類中心變化足夠小,則認(rèn)為算法已經(jīng)收斂。由于算法的每一次迭代都是沿著使目標(biāo)函數(shù)減小的方向進(jìn)行的,而目標(biāo)函數(shù)可能有多個極值點(diǎn)。隨機(jī)的初始化可能使聚類中心落在局部極小點(diǎn)附近,使算法收斂到局部極小值[8]。而光纜表面的瑕疵樣本和非瑕疵樣本數(shù)目有可能相差很大,在這種情況下,很容易使目標(biāo)函數(shù)收斂到局部極小值,造成每次分割的效果差別較大,降低了分割的準(zhǔn)確率。為解決目標(biāo)函數(shù)中聚類中心初始化的隨機(jī)性,對彩色光纜原圖如圖1,在G、R、B三個維度上計算它的直方圖,直方圖如圖2所示。由于已經(jīng)確定了聚類數(shù)目為2,在RGB直方圖上選擇波峰最大的前兩個,它們對應(yīng)的像素值就是聚類中心。
圖1 光纜原圖
圖2 光纜原圖對應(yīng)的RGB直方圖
對同一副圖片,在精度均為1E-6的情況下,比較了隨機(jī)初始化聚類中心與根據(jù)直方圖初始化聚類中心的迭代次數(shù),并在兩種初始化方式下多次同一副圖像進(jìn)10次分割,隨機(jī)初始化的方式中出現(xiàn)2次不理想的分割效果,根據(jù)直方圖初始化則效果理想且穩(wěn)定,具體圖像見圖3。具體數(shù)據(jù)見表1,v[i][j]代表第i類聚類中心,j分別取0、1、2代表聚類中心在B、G、R三個維度上的值。
通過實(shí)驗(yàn)可以看出,根據(jù)直方圖給聚類中心賦值的方法,可以減少程序處理圖像的迭代次數(shù),使其更快地逼近預(yù)設(shè)的精度。假如在圖片像素量大并且要求精度較高的情況下,這樣對聚類中心的預(yù)處理會大大減少程序運(yùn)行時間。圖3中(a)、(b)圖是10次分割中隨機(jī)初始化聚類中心時出現(xiàn)的分割不理想的情況,(c)圖是分割理想的情況,使用直方圖初始化時分割效果一直如(c)圖,所以隨機(jī)初始化時分割效果不穩(wěn)定,而直方圖初始化則分割效果穩(wěn)定。
圖3 不同初始化分割效果
表1 初始化聚類中心方式及迭代次數(shù)
3.2.1考慮圖像樣本的鄰域信息
標(biāo)準(zhǔn)的模糊C均值聚類算法僅僅考慮到像素的灰度信息,沒有考慮到像素與像素中間的關(guān)系[8],即像素的空間約束性信息,因此,在分割含有噪聲的光纜圖像時,會把噪聲點(diǎn)或者因光照不均而造成的亮斑或暗斑劃分到瑕疵這一類中,使分割效果受噪聲影響嚴(yán)重。為了增強(qiáng)算法的抗噪性,結(jié)合鄰域像素信息,考慮通過滑動窗口(3×3)求出像素的鄰域平均值,F(xiàn)CM算法的目標(biāo)函數(shù)相應(yīng)的變化為:
3.2.2 改進(jìn)歐式距離
對于數(shù)據(jù)集X={x1,x2,…,xn},傳統(tǒng)方法通過計算歐氏距離
這種度量xj與v的距離的方法叫做歐式距離,這種距離估計方法稱為最小二乘法。考慮一個數(shù)據(jù)集{3,4,4.4,4.7,4.9,5,5.1,5.3,5.6,6,7},通過式(7)得到該數(shù)據(jù)集中心為v=5。但是如果在數(shù)據(jù)集中增加一個噪聲點(diǎn)30,那么中心v就會變?yōu)?.08,這個數(shù)值不在原始數(shù)據(jù)的范圍內(nèi),顯然這個方法會因?yàn)樵肼暜a(chǎn)生很大的誤差。
對于公式(9),v重新定義為:
當(dāng)wj=1時,式(10)即為式(9)。在噪聲環(huán)境中,基于歐氏距離的目標(biāo)函數(shù)產(chǎn)生的結(jié)果極易受到噪聲的干擾。如果對于噪聲點(diǎn)和非噪聲點(diǎn)賦予不同的比重,那么對于中心計算的誤差會大大減小[8]。因此,定義一個新的距離度量:
β是一個正數(shù),想要式(10)成為一個新的距離度量,需要滿足距離度量的以下三個條件:
條件(1)、(2)顯然成立,條件(3)的證明如下:
對于數(shù)據(jù)集X={x1,x2,…,xn},每個樣本點(diǎn)到中心的距離度量定義為:
β是一個常數(shù),定義為:
其中:
得到新的距離度量計算方法后,本文中樣本點(diǎn)到距離中心度量變?yōu)椋?,將其帶入改進(jìn)的目標(biāo)函數(shù)公式(6)中,得:
現(xiàn)在要對目標(biāo)函數(shù)(14)求極值,于是分別對uij和vi分別求導(dǎo)。首先將約束條件(2)拿到目標(biāo)函數(shù)中,那么式(14)變?yōu)椋?/p>
展開式(15)對uij求導(dǎo)使其等于0:
將上式化簡,并根據(jù)約束條件(2)進(jìn)一步化簡得:
然后對vi求導(dǎo)使其等于0:
將上式化簡得:
通過以上推倒,得出一種新的距離量度公式(11),并基于新的目標(biāo)函數(shù)(14)提出了新的隸屬度矩陣(16)和聚類中心(17)。
3.2.3 與Mahalanobis距離對比
Mahalanobis距離也是對傳統(tǒng)歐式距離的改進(jìn),考慮到各種特性之間的聯(lián)系,引入了協(xié)方差矩陣[9]。由于Mahalanobis距離計算僅涉及協(xié)方差矩陣的求逆,不再和特征矢量的維度有關(guān),而是和樣本數(shù)目有關(guān),因此在高維特征空間計算中帶來了優(yōu)勢。
設(shè)X為一個l×n的矩陣,l為樣本個數(shù),xi∈Rn,i=1,2…,l,樣本xi到總體X的馬氏距離可以表示為:
其中,p為所有樣本的均值向量,S為協(xié)方差矩陣,表示為:
兩個樣本的馬氏距離可以表示為:
于是,基于馬氏距離的FCM算法的目標(biāo)函數(shù)可表示為:
馬氏距離與本文距離量度相比,通過協(xié)方差矩陣建立樣本之間的聯(lián)系,使樣本與聚類中心之間的關(guān)系緊密的聯(lián)系在了一起,雖然它克服了歐式距離不考慮維度之間差異造成一致性聚類的缺點(diǎn),但是馬氏距離依賴協(xié)方差矩陣,夸大了變化微小的變量的作用,在抗噪性方面不如本文提出的距離量度。本文距離量度具有很好的魯棒性,但當(dāng)樣本維度較高且維度之間量綱不同時,計算復(fù)雜,此時馬氏距離則可以較好的解決高維度的計算問題。本文針對光纜圖像的R、G、B三個維度討論,結(jié)合圖像采集時易受噪聲干擾的特點(diǎn),本文提出的距離量度是合理適用的。
通過增加鄰域信息和改進(jìn)歐氏距離,得到新的隸屬矩陣和聚類中心的計算方法,改進(jìn)的算法具體步驟如下:
(1)初始化聚類數(shù)C=2,模糊加權(quán)m=2,根據(jù)直方初始化聚類中心V并標(biāo)準(zhǔn)化,設(shè)定收斂精度ξ=10-6,初始化迭代次數(shù)t。
(2)根據(jù)公式(16)更新U 。
(4)計算每個像素和鄰域平均值的差異值。
(5)根據(jù)公式(17)更新聚類中心V 。
(6)根據(jù)公式(16),利用V 更新隸屬矩陣U(K+1)。
maxl、minl分別表示第l維的最大值、最小值,x(l)是第l維的數(shù)據(jù),g(l)是第l維縮放后的數(shù)據(jù)。
步驟3給圖像上添加噪聲。
步驟4執(zhí)行改進(jìn)的FCM算法步驟。
步驟5根據(jù)最終的隸屬矩陣U,進(jìn)行圖像分割。
步驟1使用CCD相機(jī)獲取圖片,讀取圖像數(shù)據(jù)。
步驟2圖像數(shù)據(jù)預(yù)處理:
對圖像數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,即對每個樣本點(diǎn)的RGB三個維度上進(jìn)行縮放,使其值位于[0,1]區(qū)間內(nèi),縮放公式如下:
為了驗(yàn)證算法對光纜表面瑕疵檢測的效果和算法的性能,本文進(jìn)行了相關(guān)的實(shí)驗(yàn)。實(shí)驗(yàn)編程環(huán)境為Microsoft Visual Studio2010,編程語言為C++;相關(guān)實(shí)驗(yàn)參數(shù):聚類數(shù)為2,模糊加權(quán)指數(shù)為2,收斂精度為0.000 001。
首先對圖像添加椒鹽白噪聲和高斯噪聲,并用FCM算法、基于馬氏距離的FCM(FCMM)算法本文的算法進(jìn)行分割實(shí)驗(yàn)。
從圖4可以看出,在對疊加了椒鹽噪聲的光纜圖像分割中,F(xiàn)CM算法分割效果并不理想[11],存在較多的噪聲點(diǎn)且目標(biāo)邊緣沒有很好的分割,F(xiàn)CMM算法有較好的分割效果但是并沒有很好地抗噪性。本文算法以上兩種算法相比,受噪聲影響極小,對椒鹽噪聲具有很好的抗干擾能力;從圖5可以看出,在對疊加了高斯噪聲的光纜圖像分割中,F(xiàn)CM和FCCM算法分割結(jié)果中存在噪聲較多,本文算法噪聲影響程度很小,在分割質(zhì)量上有很大改善。除了人為添加噪聲,在光纜檢測過程中,CCD相機(jī)獲取的圖片由于光線的原因,會在圖像上呈現(xiàn)不同亮斑或暗斑,影響分割效果,如圖6所示,由于光照強(qiáng)度的不同,F(xiàn)CM算法將圖(a)右邊部分識別成了瑕疵,F(xiàn)CMM算法和本文算法則很好的將瑕疵完整分割出來。
圖4 圖像添加椒鹽噪聲分割結(jié)果
為量化評定算法的分割精度,定義分割正確率SA,通過對SA的計算來說明本文算法的優(yōu)勢。SA表示正確劃分的像素數(shù)目占聚類圖像總像素數(shù)的比例[12],定義為:
式中,c是聚類數(shù)目,Ai表示根據(jù)算法歸類到第i類的像素集合,Ci表示原分割圖像中隸屬第i類的像素集合。
圖5 圖像添加高斯噪聲分割結(jié)果
圖6 圖像分割結(jié)果
從表2量化后的精度對比,本文算法的分割率最高,較FCM和FCMM算法有較大改進(jìn),從表3可以看出,雖然直方圖的初始化方式可以減少迭代次數(shù),但由于本文算法考慮了像素的鄰域信息,增加了聚類的復(fù)雜度,使得聚類效率不夠高。
表2 不同算法對光纜圖像的分割正確率%
表3 不同算法對光纜圖像的聚類時間 ms
綜上,使用本文改進(jìn)的FCM算法分割光纜瑕疵圖像,抗噪和分割效果明顯。通過直方圖初始化聚類中心,克服了隨機(jī)性,提高了圖像分割的效率。通過增加樣本鄰域像素信息和改進(jìn)歐氏距離[13],有效地提高了圖像分割的精度,但還存在效率不夠高的問題。
在圖像分割中,F(xiàn)CM算法具有描述簡單,容易實(shí)現(xiàn),分割效果好的特點(diǎn),因此廣受歡迎[14]。但在實(shí)際生產(chǎn)環(huán)境中進(jìn)行光纜檢測時,由于周圍環(huán)境的影響,很容易將噪聲引入圖像。通過引入新的距離量度和像素鄰域信息,對目標(biāo)函數(shù)進(jìn)行了修正,得到了新的隸屬度和聚類中心函數(shù)[15]。通過實(shí)驗(yàn)驗(yàn)證,與傳統(tǒng)FCM算法、FCMM算法相比,改進(jìn)的算法具有更高的分割效率和精度,克服了FCM算法魯棒性差的不足。但如何提高效率,平衡分割精度和效率使其達(dá)到最優(yōu)化,還值得進(jìn)一步深入研究。