張錚燁, 辛斌杰, 鄧 娜, 陳 陽, 邢文宇
(1. 上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院, 上海 201620; 2. 上海工程技術(shù)大學(xué) 服裝學(xué)院, 上海 201620)
纖維圖像分析技術(shù)是用計算機圖像處理和分析技術(shù)對纖維圖像進行特征分析和測量的一種數(shù)字化表征手段,目前被廣泛應(yīng)用于紡織行業(yè)中的纖維質(zhì)量檢驗。由于用纖維的二值圖像提取特征參數(shù)更加方便和準確[1-3],所以多年來學(xué)者大都通過改進預(yù)處理效果、閾值分割算法來增加閾值分割的精度[4-6],其中:吳兆平等[7]利用最大熵二值化獲取良好的羊毛纖維橫截面圖像,然后進行參數(shù)提??;徐步高等[8]在原有圖像分割算法的基礎(chǔ)上提出了雙閾值分割算法,通過融合高閾值和低閾值圖像提高閾值分割的精準度;陶偉森等[9]通過提輪廓處理提取羊毛、羊絨纖維的紋理特征和形狀特征。
綜上所述,研究者通常借助纖維二值圖像進行纖維的表征和識別,纖維幾何特征可通過纖維二值圖像分析方法提取相關(guān)信息[10-12]。纖維的輪廓外型及形態(tài)的準確測量對于纖維品種的鑒別至關(guān)重要[13-15]。因預(yù)處理會影響纖維邊緣的真實性,故本文將纖維橫截面原圖像灰度化后,用邊緣檢測算子直接提取纖維橫截面邊緣,在此基礎(chǔ)上進行纖維橫截面的周長和面積的計算[16],有效削弱了濾波、閾值分割操作帶來的誤差。
目前獲取纖維橫截面樣本需要對纖維進行切片。常用的切片方法需要先將纖維放入介質(zhì)中進行包埋制樣。市售貯麻纖維的3例原始圖像如圖1所示。可見,用于包埋的介質(zhì)具有一定的黏稠度,包埋時會產(chǎn)生包埋痕跡,對麻纖維樹脂包埋樣品進行切片時會保留刀切的痕跡,這些痕跡對參數(shù)測量造成的誤差無法通過一般圖像處理手段進行消除。
圖1 麻纖維的原始圖像(×20)Fig.1 Original image of hemp fibers(×20)
邊緣增強圖像融合算法雖然能夠解決上述問題,使處理后的圖像更清晰,但會使得纖維邊界不真實,所測量纖維橫截面的周長和面積誤差較大,從而導(dǎo)致根據(jù)周長面積公式計算出的纖維橫截面圓度誤差較大。
針對上述問題,本文提出基于邊界跟蹤測量麻纖維橫截面參數(shù)的算法,首先將麻纖維橫截面圖像進行灰度化處理,然后提取麻纖維橫截面邊緣的輪廓線,再利用孔洞填充算法填充麻纖維橫截面區(qū)域,獲得完整的麻纖維橫截面外形,在此基礎(chǔ)上,采用相同模板對處理后的圖像進行腐蝕和膨脹操作,去除斷裂纖維的邊緣及偽邊緣,利用邊界跟蹤算法標記麻纖維并獲得麻纖維橫截面邊緣的坐標,最后計算出麻纖維橫截面周長和面積。本文算法包括 3個部分:1)圖像硬件系統(tǒng)的搭建; 2)圖像處理與提取算法的開發(fā);3)實驗數(shù)據(jù)分析。
用于纖維橫截面分析的CX41計算機輔助顯微鏡系統(tǒng)(奧林巴斯株式會社OLYMOPUS),由1臺 U-TV0.5XC 型三目顯微鏡,1臺PDS50型數(shù)碼相機和 1臺三軸機動平臺組成。三軸載物臺在x,y方向上傳送樣品載玻片,并在每個(x,y)位置調(diào)整圖像在z軸上的焦點,從而捕獲清晰的纖維橫截面圖像。
麻纖維橫截面圖像處理的目的是從采集的圖像中提取纖維邊緣、形狀等信息,為進一步的圖像分析提供數(shù)據(jù)。本文麻纖維橫截面圖像處理主要分為以下4個步驟:邊緣提取,孔洞填充,腐蝕操作,邊界跟蹤。
本文用計算機輔助顯微鏡系統(tǒng)采集的圖像為RGB格式,為加快算法運算速度,減少無關(guān)數(shù)據(jù)量,增強有關(guān)信息的可檢測性和最大限度地簡化數(shù)據(jù),首先將采集的橫截面圖像轉(zhuǎn)換成灰度圖,然后進行后續(xù)操作。A#樣品的算法對比圖如圖2所示。
圖2 算法對比圖(×220)Fig.2 Comparisons of algorithms(×220). (a)Direct binarization;(b)Algorithm in this paper
由圖2可以看出,由于原圖像背景模糊,直接對預(yù)處理后的原圖像進行二值化無法獲得纖維的有效信息;同時預(yù)處理會影響纖維的真實邊緣,因此本文將麻纖維截面邊緣提取后,利用孔洞填充算法填充纖維閉合的區(qū)域,重建麻纖維橫截面,之后直接利用算法進行纖維橫截面周長和面積的測量,并將計算出的周長、面積和圓度數(shù)據(jù)保存在數(shù)據(jù)矩陣中,圖像處理效果見圖2(b)。
本文選用Canny算子進行纖維邊緣提取,Canny算子可以檢測到弱邊緣,且獲得的邊緣很細,沒有強弱之分,具有很好的邊緣監(jiān)測性能。其基本步驟如下。
步驟1:用二維高斯濾波模板進行卷積以消除噪聲,卷積公式為
S(x,y)=G(x,y,σ)*I(x,y)
(1)
式中:*表示卷積;I(x,y)表示原圖像;G(x,y,σ)表示高斯濾波模板;S(x,y)表示高斯濾波后圖像;x表示橫坐標,像素;y表示縱坐標,像素;σ表示高斯濾波器寬度,像素。
步驟2:利用導(dǎo)數(shù)算子計算水平方向和垂直方向的偏導(dǎo)數(shù)(Dx,Dy)。
Dx(x,y)≈
(2)
Dy(x,y)≈
(3)
相當(dāng)于與模板進行卷積運算:
(4)
(5)
步驟3:求出梯度M(x,y)和梯度方向θ(x,y)
(6)
θ(x,y)=arctan(Dy(x,y)/Dx(x,y))
(7)
步驟4:對圖像中的每個像素進行上述操作,并保留梯度方向上的極大值點。
步驟5:使用累計直方圖計算高低閾值,灰度值大于高閾值的一定是邊緣,小于低閾值的一定不是邊緣,介于之間的,通過已確定的邊緣點,發(fā)起8鄰域方向的搜索,圖中可達的點是邊緣,不可達的點不是邊緣。
利用Canny算子得到的C#樣品邊緣檢測圖如圖3所示??芍?,麻纖維中腔中的弱邊緣被很好地檢測出來,同時纖維邊緣較細,沒有粗邊緣。圖像預(yù)處理后介質(zhì)包埋痕跡、刀痕清晰地顯示出來(即那些除纖維邊緣外的黑線,就算改變了邊緣檢測的敏感度閾值也無法清除這些痕跡。這些痕跡大多數(shù)位于纖維邊緣附近,極大影響了邊緣檢測的準確性。不同敏感度下,Canny檢測出的邊緣數(shù)量不同,尤其是對弱邊緣和偽邊緣的檢測。其中敏感度閾值設(shè)為0.3時,檢測出的弱邊緣較多,同時檢測出的偽邊緣較少,因此本文將敏感度設(shè)為0.3進行邊緣檢測。
圖3 Canny算子邊緣檢測圖(×220)Fig.3 Edge detection graph of canny operator(×220). (a)Adaptive sensitivity;(b)Sensitivity is 0;(c)Sensitivity is 0.3; (d)Sensitivity is 0.5
在檢測出原圖中的纖維邊緣后,利用孔洞填充算法填充閉合區(qū)域,去除了部分邊緣斷裂的纖維和偽邊緣。8鄰域方向碼如圖4所示。
圖4 8鄰域方向碼Fig.4 8 Neighborhood direction code
可見,去除離散噪聲后利用8鄰域邊界跟蹤函數(shù)檢測邊界完整的纖維并進行標記。首先找到位于圖像左上角的纖維邊界點作為搜索起點,按逆時針方向,自上而下,從左至右,搜索該點的8鄰域,找到下一個邊界點,然后以此點為當(dāng)前點繼續(xù)搜索,不斷重復(fù)上述過程,直至回到搜索起點。
B#樣品單纖維邊界跟蹤圖如圖5所示??芍咨€為搜索路徑,當(dāng)1個纖維的邊界搜索完成后,形成閉合區(qū)域,就對該區(qū)域進行標記,然后再進行下一個目標的邊界跟蹤,直至標記出圖像中的所有邊緣完整的麻纖維。由于采用的是8鄰域跟蹤,因此采用歐氏距離計算跟蹤路徑,即計算目標橫截面周長。
圖5 單纖維邊界跟蹤圖Fig.5 Single fiber boundary tracking chart
在圖5基礎(chǔ)上預(yù)處理及邊界跟蹤圖像如圖6所示??梢?,預(yù)處理后圖中共有5根麻纖維,其中只有左上角的 1根麻纖維橫截面邊界是完整的。由圖6(b)可見,直接從灰度圖中提取麻纖維橫截面邊界,然后進行邊界跟蹤操作,圖中部分因預(yù)處理導(dǎo)致橫截面邊緣斷裂的麻纖維能夠被檢測出來。
圖6 預(yù)處理及邊界跟蹤圖像(×220)Fig.6 Preprocessing (a) and boundary tracking(b) image(×220)
麻纖維橫截面原圖灰度化后,灰度圖中只能觀察到纖維和雜質(zhì)。圖7示出C#樣品的多纖維算法處理效果對比。
圖7 多纖維算法處理效果對比圖(×220)Fig.7 Comparison of multi-fibres treatment effects. (a)Common algorithms;(b)Algorithm in this paper
由圖7可見,原圖像經(jīng)濾波操作直接進行閾值分割的常用算法,使得灰度圖中觀察不到的樹脂澆灌的痕跡可清晰地展現(xiàn)在二值圖像中,同時切片中的雜質(zhì)也被二值化。本文算法處理的效果圖如圖7(b)所示。對比原圖像可知,被標記出的目標大部分是橫截面邊緣完整的麻纖維,錯誤目標數(shù)量極少,且錯誤目標的形態(tài)與麻纖維的形態(tài)差異較大,因此可以根據(jù)測得的數(shù)據(jù)進行錯誤數(shù)據(jù)剔除。
本文采用歐式距離法計算麻纖維橫截面的周長,采用像素累積法統(tǒng)計麻纖維橫截面的面積。上述方法計算出的參數(shù)與原來的參數(shù)有一定誤差,因此本文通過計算直徑分別為20、50、150像素的圓的數(shù)據(jù),計算實際的偏差。測試圓的統(tǒng)計數(shù)據(jù)見表1??煽闯觯蒙鲜龇椒ㄓ嬎愕闹睆綖?0和50像素的圓的周長偏差較小,而直徑為150像素的圓的周長偏差較大,3個測試圓的面積偏差都稍大,但是 3個測試圓的圓度參數(shù)誤差很小。根據(jù)本文算法測得麻纖維的周長和面積大致與直徑為50像素的圓類似,因此用本文算法測得的麻纖維形態(tài)參數(shù)偏差較小。
表1 測試圓的統(tǒng)計數(shù)據(jù)Tab.1 Statistics data of test circles
圖8示出麻纖維橫截面參數(shù)。可知大部分數(shù)據(jù)聚集在一個區(qū)域(圖中黑色的點)內(nèi),圖中8個周長大于140像素的點與大部分數(shù)據(jù)偏差較大,離大部分黑色點較遠,因此這些點為錯誤數(shù)據(jù)的概率極高,造成的原因可能是由于麻纖維黏連導(dǎo)致數(shù)據(jù)偏大。
圖8 麻纖維橫截面參數(shù)Fig.8 Cross-sectional parameters of hemp fibers
圖9示出200個樣本的麻纖維圓度統(tǒng)計。麻纖維的圓度大部分位于0.6~0.95之間。圓度低于0.6的數(shù)據(jù)可能是因為麻纖維橫截面缺損導(dǎo)致的,圓度大于0.95的數(shù)據(jù)可能是氣泡或者細小的雜質(zhì)。
圖9 麻纖維圓度統(tǒng)計Fig.9 Roundness statistics of hemp fibers
文章用邊界跟蹤算法定位和標記目標,測量麻纖維橫截面的周長和面積參數(shù),提取多目標參數(shù),提高了纖維橫截面參數(shù)提取的速度和效率。本文算法尚無法分辨纖維黏連的情況,無法測量邊緣斷裂纖維的參數(shù),而纖維黏連和橫截面破損會影響測量數(shù)據(jù)的準確性,纖維橫截面邊緣的斷裂會影響測量的效率,在這方面本文算法還有待提高,測量數(shù)據(jù)的精確度也有待提高。
FZXB