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