陳夢睿,彭 軼,曾培峰
(東華大學a.計算機科學與技術學院;b.信息科學與技術學院,上海 201620)
纖維長度反映纖維及其成紗的質量,直接影響纖維的可紡性和加工的有效性,其是紡織原料、精紡加工質量檢驗的必測項目.纖維長度在工藝上起著重要作用,針對不同類型的纖維可以通過調節(jié)紡織機械提高加工效率,因此,精確計算纖維長度是紡織品質量檢測的重要研究課題.纖維長度計算需要纖維樣本,現有纖維樣本制作工藝獲得的纖維樣本存在一定的交叉現象.精確計算纖維長度的前提是能夠精確地分離交叉纖維[1],而交叉纖維分離的難點是在圖像中識別交叉纖維與分叉纖維.
纖維分離是圖像分割技術的一種特殊應用.目前,國內外關于圖像分割技術的研究已經非常多[2],但是對于纖維這類細長目標的分割研究尚未形成一定的規(guī)模.纖維分離的關鍵是交叉纖維和分叉纖維的特征提取系統(tǒng).目前應用較為廣泛的是基于交叉處各分支斜率的分離算法[3-5],這種依靠重疊處纖維分支的斜率方法,用相近的斜率進行匹配,對3根以內交叉纖維的正確率較高,但無法區(qū)分分叉纖維和交叉纖維.文獻[6]通過提取纖維集合體邊緣,計算邊緣各點傾角曲線,對曲線進行小波變換去除纖維頭端,獲得纖維縱向邊緣,用Hough變換提取直線逼近縱向邊緣,對提取的縱向邊緣進行分解合并和配對,但這種方法對縱向邊緣固有天然轉曲的棉纖維、細羊毛等纖維的分離效果較差.文獻[7]以紙漿纖維為例,針對圖像的方向特性,使用基于Curvelet變換的圖像預處理方法,結合纖維的寬度信息識別分叉纖維和交叉纖維,但這種方法的時效性與通用性有待改進.
本文在二維空間纖維分離算法的基礎上,引入纖維圖像的三維空間參數,對不同焦距下采集的大景深(depth of field)[8]纖維圖像序列,根據交叉纖維和分叉纖維不同分支的聚焦清晰度情況,從中提取交叉纖維的邏輯匹配關系,獲取纖維景深方向上的有效信息,為纖維分離提供特征參數.由于交叉纖維在空間z方向上存在明顯的上下關系,而分叉纖維在空間z方向上處于同平面,因此,本文提出的纖維三維特征參數提取方法能正確區(qū)分交叉纖維和分叉纖維,為后續(xù)纖維分離算法提供正確、有效的信息.
交叉纖維和分叉纖維的區(qū)別:交叉纖維分屬于不同的平面,兩根或兩根以上的纖維存在重疊現象,即一根纖維壓在另一根纖維上面;分叉纖維在同一個平面,兩根或兩根以上的纖維只在某些部分相接觸.這種區(qū)別通過人的視覺非常容易區(qū)分,但是在圖像處理系統(tǒng)中很難實現自動區(qū)分.通過對同一纖維樣本不同景深顯微圖像觀察,發(fā)現在得到的纖維圖像中,分叉纖維在同一幅圖像中的清晰度基本一致;交叉纖維因其目標的縱向深度存在一定的差異,在同一幅圖像中會出現部分清晰、部分不清晰的多焦面現象.這是由于交叉纖維對應顯微鏡的焦點不同,所以無法在同一個焦距下實現一致的聚焦效果.
通過分析纖維顯微圖像存在多焦面的成因,利用互相重疊纖維在x和y平面上具有相同的坐標,而在z方向具有不同的深度的特點,在圖像特征提取過程中引入z方向參數.本文算法通過對同一觀測目標拍攝不同聚焦的纖維圖像,從中得到圖像各像素點的z方向參數,根據纖維z方向的信息對纖維交叉部分進行分層,構建三維模型,為后續(xù)纖維分離提供特征參數,從而實現單根纖維的分離.
數字圖像常用的清晰度函數包括梯度函數、頻譜函數和熵函數[9].其中,梯度函數運算速度最快,從檢測的實時性考慮,本文采用梯度函數獲取圖像像素點的清晰度.像素點的z方向參數定義為圖像成像最清晰點所位于的圖層號,因而首先需要確定用于表征像素級圖像清晰程度的參數.以人眼視覺特性,通過觀察圖像的目標與背景的邊緣觀測目標的清晰程度,邊緣銳利,圖像比較清晰;邊緣過度平緩,圖像比較模糊.圖像的清晰度表明目標與背景在灰度上的差異.鑒于清晰度的旋轉不變性,定義歸一化的清晰度計算式如下:
式中:Pi,j為像素點 (i,j)的灰度值;a1,a2,a3,a4分別表示目標像素點垂直、水平、兩個斜向的灰度變化率;L為圖像的灰度級數.mi,j為像素點 (i,j)的清晰度,范圍為 [0,1],mi,j=1表明該點清晰度最高,mi,j=0對應最模糊狀態(tài).
根據上述清晰度的定義,可以分別對纖維圖像進行橫向和縱向清晰度計算.橫向計算即對每幅纖維圖像的各個像素點計算清晰度,區(qū)分纖維的邊緣、目標內部和背景;縱向計算即對一組同處于一個前景的不同聚焦纖維圖像上,找出每一像素點清晰度極大值所對應的圖層位置.
本文采用30張具有相同前景、不同聚焦的纖維圖像作為分析對象.首先通過式(1)計算每幅圖上每個像素點的清晰度,然后在30幅圖中求取同一個像素點清晰度的極大值和極大值所在的圖層號.
為保存每一像素點的清晰度極大值和其所對應的圖層信息,需要創(chuàng)建兩張與圖像長度相同的表:M表和I表.M表存儲每個像素點聚焦狀態(tài)下的清晰度值;I表存儲每個像素點聚焦的圖層號.根據像素點清晰度值的變化,確定像素點聚焦情況,當其清晰度值達到最大之時,像素點為聚焦狀態(tài).
M表中保存30幅圖像中同一位置像素點的清晰度極大值Mi,j,即式中:Mi,j為像素點 (i,j)的清晰度極大值;n為圖層號;(mi,j)n表示像素點 (i,j)在第n幅圖的清晰度值.
I表中保存30幅圖像中同一位置像素點清晰度極大值Mi,j所在的圖層號Ii,j,即
通過式(2)和(3)計算,獲得 M表和I表的數據,兩張表格數據輸出的圖像如圖1所示.
圖1 清晰度計算結果Fig.1 Result of definition calculation
由圖1(a)可知,由于纖維樣本中背景部分的像素點灰度值差異較小,導致背景部分的清晰度值較小,在圖中基本呈現黑色;纖維部分、尤其是纖維邊緣部分的像素點灰度值差異較大,導致纖維部分的清晰度值較大,在圖中呈現淺色.由圖1(b)可知,同一根纖維的清晰度極大值所處的圖層號基本一致,不同纖維清晰度極大值的圖層號差異較明顯,背景部分相鄰像素點差異也較大,這些差異正是樣本圖像在z方向值的體現.
M表中每個像素點的清晰度是30幅圖中對應位置的清晰度極大值,I表是30幅圖中每個像素點的清晰度極大值所在的圖層號,必須對每幅圖像的每個像素點計算清晰度,清晰度極大值和對應的圖層號必須等待30幅圖像全部傳輸完畢后才能進行比較.這種處理方法因數據處理量多、計算量大、處理速度慢,無法實現實時數據處理.
在纖維樣本顯微圖像拍攝的過程中,顯微鏡縱向移動是單向移動的,圖像上每個像素點的清晰度的變化趨勢一般為不清晰-清晰-不清晰,這為提高算法的效率提供了改進思路.
圖2所示為纖維某一像素點的清晰度的變化曲
圖2 纖維某一像素點清晰度-圖層關系曲線Fig.2 The relationship of definition and layer index of a fiber pixel
線.由圖2可知,該像素點在30幅圖像中經歷了模糊到清晰再到模糊的過程,在第17幅圖上其清晰度值達到最大,表明在這個圖層上該點最清晰.因此可以對算法進行改進,在采集每幅顯微圖像的同時,計算并比較每個像素點在不同圖層中的清晰度值,一旦找到了某一點的清晰度極大值,則將這個清晰度值和對應的圖層號記錄到M表和I表的對應位置中,并停止計算后續(xù)的圖層中該位置像素點的清晰度值.從理論上分析,當某點的清晰度值到達最大以后出現下降趨勢時,該最大值點即為最清晰點.但是在圖像拍攝過程中不可避免會有光學系統(tǒng)產生的噪聲隨機疊加在圖像上,導致錯誤輸出.為確保得到正確的結果,對像素點達到最清晰狀態(tài)的判斷條件附加約束條件,即只有當該像素點的清晰度達到極大值并在后續(xù)的2幅圖像中連續(xù)下降,方能將這個極大值定義為清晰狀態(tài)的清晰度值.
改進算法得到的M表和I表的數據輸出結果如圖3所示,和原算法得到的結果(圖1所示)基本一致.
圖3 算法改進后的清晰度計算結果Fig.3 Result of definition calculation with optimization
對改進后的算法進行處理信息統(tǒng)計,平均每個像素點進行運算比較的圖層數為18.相對于改進前的每個像素點需要計算比較30幅圖像而言,運算量減少為60%,處理的數據量減少很多,提高了數據處理速度.而且在第30幅圖像數據處理結束的同時,M表和I表的數據也處理完畢,提高了數據處理的實時性.
圖1和圖3中I表數據輸出圖像顯示,同一根纖維的圖層號基本一致,背景部分的圖層號差異較大.利用這個特征,可以對纖維與背景進行分離,確定纖維的位置.
背景分離的方法是將I表中背景點的圖層號置為0,保留纖維像素點的圖層號.通過比較每個像素點與其鄰域點圖層號的差異確定背景還是纖維.合理選擇模板,確定鄰域點的范圍,需要兼顧處理效果和處理時間.常用的鄰域模板有3×3模板和5×5模板.3×3模板的處理速度快,但是效果較差;5×5模板的處理效果較為理想,處理速度也比較快.綜合考慮效果和速度,選擇5×5模板進行鄰域處理.以點(i,j)為中心,用5×5模板計算該像素點鄰域圖層號的平均值如式(4)所示.
該鄰域圖層號的標準差計算如式(5)所示.對圖1(b)用式(5)計算后得到的標準差結果輸出如圖4所示,圖像表明纖維部分與背景部分的標準差差異較大.
圖4 對圖1(b)標準差計算結果輸出Fig.4 Result of standard deviation of Fig.1(b)
通過Otsu算法選取閾值T1對圖4進行纖維和背景的分離操作.若像素點的圖層號標準差大于閾值T1,表明該點與其鄰域點的相關性較差,將其標記為背景點,相應的圖層號記為0,否則保留原來的圖層號.即滿足:
對圖1(b)所示的I表數據進行背景分離處理的結果如圖5所示.由圖5可以看出,雖然纖維的形態(tài)得到較好的保留,但是同一纖維相鄰像素點的圖層號存在一定的差異,效果并不理想.
圖5 對圖1(b)進行背景分離處理結果Fig.5 Result of Fig.1(b)background segmentation
沒有對清晰度極大值的M表數據進行信號的去噪處理,直接通過M表數據對應的I表數據進行背景分離,導致背景分離效果不理想.在纖維顯微圖像拍攝過程中,顯微鏡點光源引起采集圖像的光照不均對圖像干擾,產生的噪聲會影響纖維的清晰度值和圖層號的計算.因此,在進行背景分離處理之前,需要對M表的數據進行纖維清晰度增強處理,濾除噪聲影響,突出纖維信息.
纖維清晰度增強采用四鄰域極大值增強方法.當計算點的清晰度值大于以它為中心的四鄰域像素點的最大清晰度值時,保留該點的清晰度值;否則視該點為受噪聲影響點,刪除其清晰度數值.具體算法:逐點逐行掃描M表數據,將每個像素點清晰度值與它四鄰域像素點的清晰度值進行比較,若該值為極大值,則保留該極大值,在I表中保留該點的圖層信息;否則將該點的清晰度值置0,同時刪除I表對應位置的圖層信息.判斷條件如式(7)和(8)所示.
經纖維清晰度增強處理后的M表和I表數據輸出結果如圖6所示.對比圖1的輸出結果,圖像中大部分噪聲點被去除,提高了纖維部分圖層號的一致性.
圖6 纖維清晰度增強處理結果Fig.6 Result of fiber definition enhancement
經纖維清晰度增強處理以后,纖維的邊緣部分像素點清晰度較大值被保留下來,纖維內部因有紋理其清晰度較大值也被保留下來,背景部分像素點清晰度較小值已被刪除.此時可以用種子生長法進行區(qū)域填充,實現纖維圖像分層表示.種子生長法常用的步長有四鄰域、八鄰域及四、八鄰域間隔步長.這3種步長分別將圖像分割為三角形形狀、正方形形狀、八角形形狀,均能實現纖維分層.其中四鄰域步長運算速度最快,從填充的結果看并不影響纖維的分層效果,因此,本文采用四鄰域步長進行種子點生長處理,以提高檢測系統(tǒng)的響應速度.具體充填步驟如下所述.
Step 1將圖6(a)所示灰度值不為0的像素點標記為種子點,為0的點標記為非種子點.將種子點存入堆棧S中.
Step 2判斷堆棧S是否為空.若不為空,取出堆棧頂部第一個像素點記為a,并將其從堆棧中移除,轉Step 3;若堆棧為空,結束.
Step 3遍歷點a的四鄰域像素點,若某一鄰域點為非種子點,將a的值(圖層號)賦給該非種子點,同時將該非種子點標記為種子點,放入堆棧S中.轉Step 2.
使用上述的種子生長法進行填充運算,結果如圖7所示.
圖7 填充后的I表數據輸出Fig.7 Output of table I after flood-fill
圖7所示的圖層號清晰地顯示同一根纖維相近部分圖層號基本一致,而不同根的纖維尤其是交叉纖維,圖層號差異明顯.如圖7邊框標記部分所示,纖維2與纖維4圖層號相似,纖維1與纖維3圖層號相似,而纖維1、3與纖維2、4圖層號差異較大.因而可以確定1、3為一根纖維,2、4為另一根纖維,且這兩根纖維為交叉關系而非分叉關系.如果兩根纖維是分叉關系,這4段纖維圖層號是相似的.因此纖維圖像的分層關系可以由填充后的I表數據明確表示出來.
本文提出的纖維三維特征參數提取算法,利用同一前景不同聚焦的一組圖像,根據纖維像素點的清晰度獲得纖維z方向的數值,能清晰地標注出不同纖維之間的圖層號相關性,有效地區(qū)分交叉纖維和分叉纖維.根據像素點圖層的清晰度,可以獲得的清晰纖維圖像和纖維三維特征參數,在實現大圖拼接、纖維分離方面有很好的應用前景.
參 考 文 獻
[1]張新峰,沈蘭蓀.圖像分割技術研究[J].電路與系統(tǒng)學報,2004,16(2):19-24.
[2]ZHANG Y J.A review of recent evaluation methods for image segmentation[C]//Sixth International Symposium on Signal Processing and Its Applications.2001:148-151.
[3]RIZVANDI N,PIZURICA A,PHILIPS W.Automatic individual detection and separation of multiple overlapped nematode worms using skeleton analysis[C]//Proceedings of the 5th International Conference on Image Analysis and Recognition.Berlin:Springer-Verlag,2008:817-826.
[4]SRISANG W,JAROENSUASINEE K,JAROENSUTASINEE M.Segmentation of overlapping chromosome image using computational geometry[J].Walailak Journal of Sci & Tech,2006,3(2):181-194.
[5]VESE L A,CHAN T F.A multiphase level set framework for image segmentation using the mumford and shah model[J].International Journal of Computer Vision,2002,50(3):271-293.
[6]賈立峰.重疊纖維的分離計數算法[J].紡織學報,2011,32(5):43-49.
[7]邊建美.紙漿纖維的圖像分割與識別方法研究[D].濟南:山東輕工業(yè)學院電子信息與控制工程學院,2009:54.
[8]許增樸,王永強,于德敏,等.三維人體表面輪廓測量系統(tǒng)中的“景深”問題研究[J].天津工業(yè)大學學報,2006,25(5):14-17.
[9]李奇,馮華君,徐之海,等.數字圖像清晰度評價函數研究[J].光子學報,2002,31(6):736-738.