王文慧,楊 庚,葛 煒,劉沛東,錢 晨
1.南京郵電大學 計算機學院 江蘇省大數據安全與智能處理重點實驗室,南京 210000
2.江蘇亨通光電有限公司,江蘇 蘇州 215200
3.南京郵電大學 光電學院,南京 210000
隨著科技的進步,光纖通信技術從光通信中脫穎而出,已成為現代通信的主要支柱之一,在現代電信網中起著舉足輕重的作用。在光纖光纜的生產過程中,由于生產工藝和環境的影響,會導致表面不同種類的缺陷存在,這將直接影響到產品的壽命。依賴人工進行瑕疵的檢測,這種方法勞動強度大,效率低,而且難以適應大規模工廠化的生產需求。同時人工檢測法在實際使用中存在很大的局限性。采用計算機視覺技術可以客觀、及時、準確地識別光纜表面的瑕疵。隨著計算機視覺和數字圖像的處理技術在工業的廣泛應用,利用計算機技術實現光纜瑕疵的自動檢測成為可能。在圖像分割技術的發展中,產生了多種分割方法,比如:閾值分割法、區域法生長法、邊緣檢測法、基于特定理論的分割法等[1]。
在基于特定理論的分割方法中,一些基于聚類的分割方法被提出來。其中使用最廣泛的是模糊C均值FCM聚類算法。HE等人[1]充分考慮了像素的空間信息,提出了一種具有空間約束的FCM算法,該算法通過修改目標函數和隸屬度函數,提高了算法的抗噪性,取得了較好的效果。Sowmya等人[2]提出了使用FCM算法和神經網絡結合的方法對彩色圖像進行分割,該方法比單一的FCM算法分割精度高,但是該算法需要大量的訓練數據,不適用于實時性的檢測。Bai等人[3]提出了一種改進的FCM算法來分割紅外船舶圖像,通過馬爾科夫隨機場來細化局部空間約束,較好地克服了噪聲不均性。
FCM算法克服了普通聚類算法中硬聚類的缺點,但在分割過程中仍然存在以下缺點:(1)沒有考慮圖像相鄰像素的關系;(2)使用魯棒性較差的歐式距離衡量像素與聚類中心的差值;(3)初始聚類中心具有隨機性,導致每次運行的時間和分割效果差異較大。基于以上原因,該算法對噪聲非常敏感。針對以上不足,本文提出了一種結合像素鄰域信息并改進歐氏距離的模糊C均值聚類算法。使用該算法,對獲取的彩色光纜圖像在R、G、B三個維度上進行聚類,實驗結果顯示能夠準確定位光纜的瑕疵區域,并很好地克服了噪聲的影響,證明了算法具有很好的魯棒性。
FCM聚類算法是一種無監督的分類方法,通過對目標函數的迭代優化實現對像素的劃分[3],根據每像素屬于不同區域的程度將像素分到某個區域中。由于圖像的退化、受外界噪聲和其他不確定因素的影響,在分割中很難將像素歸屬到某個分類器中,而FCM算法將分類器之間的獨立性用一種模糊的概念來取代,克服了硬分類方法將像素歸屬一刀切的不足,在某種程度上能克服不確定因素對像素分類造成的影響[4]。

式中,J(U,V)表示區域的像素到聚類中心加權距離的平方和,J(U,V)值的大小反映圖像區域的一致性,值越小表示像素是一個區域的可能性越大,聚類效果越好[6]。參數m是隸屬度的加權指數,是為了加強像素的特征值屬于不同區域的對比度,它決定分類結果的模糊程度,m∈[1,+∞),其值越大分類越模糊,當m=1時,為硬分類,一般值取m=2。式(1)需要滿足如下約束條件:

為使J(U,V)取到最小值,該帶約束條件的極值問題可通過拉格朗日乘子法解決,相應的迭代算法描述如下:
步驟1初始化。設定聚類類別數C、模糊指數m和迭代的終止條件ξ,并用隨機數初始化隸屬矩陣U(0),令迭代次數 k=0[7]。
步驟2計算聚類中心:

其中:

步驟3計算隸屬度矩陣:

其中:

步驟4如果停止循環迭代,否則令K=K+1,回到步驟2繼續循環。
根據對光纜瑕疵圖片的了解,將聚類數目選擇為2,即一類為瑕疵,另一類為光纜的正常部分。FCM算法中,聚類中心的選擇是隨機的,這樣可以簡化算法的復雜程度,整個算法的工作集中在聚類的迭代上,算法的代碼實現更容易。但是,FCM算法的迭代終止條件是相鄰兩次迭代的聚類中心變化足夠小,則認為算法已經收斂。由于算法的每一次迭代都是沿著使目標函數減小的方向進行的,而目標函數可能有多個極值點。隨機的初始化可能使聚類中心落在局部極小點附近,使算法收斂到局部極小值[8]。而光纜表面的瑕疵樣本和非瑕疵樣本數目有可能相差很大,在這種情況下,很容易使目標函數收斂到局部極小值,造成每次分割的效果差別較大,降低了分割的準確率。為解決目標函數中聚類中心初始化的隨機性,對彩色光纜原圖如圖1,在G、R、B三個維度上計算它的直方圖,直方圖如圖2所示。由于已經確定了聚類數目為2,在RGB直方圖上選擇波峰最大的前兩個,它們對應的像素值就是聚類中心。

圖1 光纜原圖

圖2 光纜原圖對應的RGB直方圖
對同一副圖片,在精度均為1E-6的情況下,比較了隨機初始化聚類中心與根據直方圖初始化聚類中心的迭代次數,并在兩種初始化方式下多次同一副圖像進10次分割,隨機初始化的方式中出現2次不理想的分割效果,根據直方圖初始化則效果理想且穩定,具體圖像見圖3。具體數據見表1,v[i][j]代表第i類聚類中心,j分別取0、1、2代表聚類中心在B、G、R三個維度上的值。
通過實驗可以看出,根據直方圖給聚類中心賦值的方法,可以減少程序處理圖像的迭代次數,使其更快地逼近預設的精度。假如在圖片像素量大并且要求精度較高的情況下,這樣對聚類中心的預處理會大大減少程序運行時間。圖3中(a)、(b)圖是10次分割中隨機初始化聚類中心時出現的分割不理想的情況,(c)圖是分割理想的情況,使用直方圖初始化時分割效果一直如(c)圖,所以隨機初始化時分割效果不穩定,而直方圖初始化則分割效果穩定。

圖3 不同初始化分割效果

表1 初始化聚類中心方式及迭代次數
3.2.1考慮圖像樣本的鄰域信息
標準的模糊C均值聚類算法僅僅考慮到像素的灰度信息,沒有考慮到像素與像素中間的關系[8],即像素的空間約束性信息,因此,在分割含有噪聲的光纜圖像時,會把噪聲點或者因光照不均而造成的亮斑或暗斑劃分到瑕疵這一類中,使分割效果受噪聲影響嚴重。為了增強算法的抗噪性,結合鄰域像素信息,考慮通過滑動窗口(3×3)求出像素的鄰域平均值,FCM算法的目標函數相應的變化為:



3.2.2 改進歐式距離
對于數據集X={x1,x2,…,xn},傳統方法通過計算歐氏距離



這種度量xj與v的距離的方法叫做歐式距離,這種距離估計方法稱為最小二乘法。考慮一個數據集{3,4,4.4,4.7,4.9,5,5.1,5.3,5.6,6,7},通過式(7)得到該數據集中心為v=5。但是如果在數據集中增加一個噪聲點30,那么中心v就會變為7.08,這個數值不在原始數據的范圍內,顯然這個方法會因為噪聲產生很大的誤差。
對于公式(9),v重新定義為:

當wj=1時,式(10)即為式(9)。在噪聲環境中,基于歐氏距離的目標函數產生的結果極易受到噪聲的干擾。如果對于噪聲點和非噪聲點賦予不同的比重,那么對于中心計算的誤差會大大減小[8]。因此,定義一個新的距離度量:

β是一個正數,想要式(10)成為一個新的距離度量,需要滿足距離度量的以下三個條件:

條件(1)、(2)顯然成立,條件(3)的證明如下:

對于數據集X={x1,x2,…,xn},每個樣本點到中心的距離度量定義為:


β是一個常數,定義為:

其中:

得到新的距離度量計算方法后,本文中樣本點到距離中心度量變為:,將其帶入改進的目標函數公式(6)中,得:

現在要對目標函數(14)求極值,于是分別對uij和vi分別求導。首先將約束條件(2)拿到目標函數中,那么式(14)變為:

展開式(15)對uij求導使其等于0:

將上式化簡,并根據約束條件(2)進一步化簡得:

然后對vi求導使其等于0:

將上式化簡得:

通過以上推倒,得出一種新的距離量度公式(11),并基于新的目標函數(14)提出了新的隸屬度矩陣(16)和聚類中心(17)。
3.2.3 與Mahalanobis距離對比
Mahalanobis距離也是對傳統歐式距離的改進,考慮到各種特性之間的聯系,引入了協方差矩陣[9]。由于Mahalanobis距離計算僅涉及協方差矩陣的求逆,不再和特征矢量的維度有關,而是和樣本數目有關,因此在高維特征空間計算中帶來了優勢。
設X為一個l×n的矩陣,l為樣本個數,xi∈Rn,i=1,2…,l,樣本xi到總體X的馬氏距離可以表示為:

其中,p為所有樣本的均值向量,S為協方差矩陣,表示為:

兩個樣本的馬氏距離可以表示為:

于是,基于馬氏距離的FCM算法的目標函數可表示為:

馬氏距離與本文距離量度相比,通過協方差矩陣建立樣本之間的聯系,使樣本與聚類中心之間的關系緊密的聯系在了一起,雖然它克服了歐式距離不考慮維度之間差異造成一致性聚類的缺點,但是馬氏距離依賴協方差矩陣,夸大了變化微小的變量的作用,在抗噪性方面不如本文提出的距離量度。本文距離量度具有很好的魯棒性,但當樣本維度較高且維度之間量綱不同時,計算復雜,此時馬氏距離則可以較好的解決高維度的計算問題。本文針對光纜圖像的R、G、B三個維度討論,結合圖像采集時易受噪聲干擾的特點,本文提出的距離量度是合理適用的。
通過增加鄰域信息和改進歐氏距離,得到新的隸屬矩陣和聚類中心的計算方法,改進的算法具體步驟如下:
(1)初始化聚類數C=2,模糊加權m=2,根據直方初始化聚類中心V并標準化,設定收斂精度ξ=10-6,初始化迭代次數t。
(2)根據公式(16)更新U 。
(4)計算每個像素和鄰域平均值的差異值。
(5)根據公式(17)更新聚類中心V 。
(6)根據公式(16),利用V 更新隸屬矩陣U(K+1)。

maxl、minl分別表示第l維的最大值、最小值,x(l)是第l維的數據,g(l)是第l維縮放后的數據。
步驟3給圖像上添加噪聲。
步驟4執行改進的FCM算法步驟。
步驟5根據最終的隸屬矩陣U,進行圖像分割。
步驟1使用CCD相機獲取圖片,讀取圖像數據。
步驟2圖像數據預處理:
對圖像數據進行標準化,即對每個樣本點的RGB三個維度上進行縮放,使其值位于[0,1]區間內,縮放公式如下:
為了驗證算法對光纜表面瑕疵檢測的效果和算法的性能,本文進行了相關的實驗。實驗編程環境為Microsoft Visual Studio2010,編程語言為C++;相關實驗參數:聚類數為2,模糊加權指數為2,收斂精度為0.000 001。
首先對圖像添加椒鹽白噪聲和高斯噪聲,并用FCM算法、基于馬氏距離的FCM(FCMM)算法本文的算法進行分割實驗。
從圖4可以看出,在對疊加了椒鹽噪聲的光纜圖像分割中,FCM算法分割效果并不理想[11],存在較多的噪聲點且目標邊緣沒有很好的分割,FCMM算法有較好的分割效果但是并沒有很好地抗噪性。本文算法以上兩種算法相比,受噪聲影響極小,對椒鹽噪聲具有很好的抗干擾能力;從圖5可以看出,在對疊加了高斯噪聲的光纜圖像分割中,FCM和FCCM算法分割結果中存在噪聲較多,本文算法噪聲影響程度很小,在分割質量上有很大改善。除了人為添加噪聲,在光纜檢測過程中,CCD相機獲取的圖片由于光線的原因,會在圖像上呈現不同亮斑或暗斑,影響分割效果,如圖6所示,由于光照強度的不同,FCM算法將圖(a)右邊部分識別成了瑕疵,FCMM算法和本文算法則很好的將瑕疵完整分割出來。

圖4 圖像添加椒鹽噪聲分割結果
為量化評定算法的分割精度,定義分割正確率SA,通過對SA的計算來說明本文算法的優勢。SA表示正確劃分的像素數目占聚類圖像總像素數的比例[12],定義為:

式中,c是聚類數目,Ai表示根據算法歸類到第i類的像素集合,Ci表示原分割圖像中隸屬第i類的像素集合。

圖5 圖像添加高斯噪聲分割結果

圖6 圖像分割結果
從表2量化后的精度對比,本文算法的分割率最高,較FCM和FCMM算法有較大改進,從表3可以看出,雖然直方圖的初始化方式可以減少迭代次數,但由于本文算法考慮了像素的鄰域信息,增加了聚類的復雜度,使得聚類效率不夠高。

表2 不同算法對光纜圖像的分割正確率%

表3 不同算法對光纜圖像的聚類時間 ms
綜上,使用本文改進的FCM算法分割光纜瑕疵圖像,抗噪和分割效果明顯。通過直方圖初始化聚類中心,克服了隨機性,提高了圖像分割的效率。通過增加樣本鄰域像素信息和改進歐氏距離[13],有效地提高了圖像分割的精度,但還存在效率不夠高的問題。
在圖像分割中,FCM算法具有描述簡單,容易實現,分割效果好的特點,因此廣受歡迎[14]。但在實際生產環境中進行光纜檢測時,由于周圍環境的影響,很容易將噪聲引入圖像。通過引入新的距離量度和像素鄰域信息,對目標函數進行了修正,得到了新的隸屬度和聚類中心函數[15]。通過實驗驗證,與傳統FCM算法、FCMM算法相比,改進的算法具有更高的分割效率和精度,克服了FCM算法魯棒性差的不足。但如何提高效率,平衡分割精度和效率使其達到最優化,還值得進一步深入研究。