劉 爽 許忠保 李春橋 陳 威 宋叢珊
(1.湖北工業(yè)大學(xué),湖北武漢,430068;2.湖北省纖維檢驗局,湖北武漢,430060)
羊絨、羊毛產(chǎn)品的評定和鑒別已越來越被毛紡行業(yè)所重視。由于羊絨、羊毛在物理形態(tài)結(jié)構(gòu)特征等方面極其相似,因此準(zhǔn)確鑒別羊絨、羊毛一直是纖維檢測的一個難題。長期以來,我國纖維檢驗部門主要采用顯微投影法對該類別進(jìn)行人工鑒別,此方法對鑒別人員的技術(shù)和經(jīng)驗要求高,且檢測結(jié)果穩(wěn)定性較差。 近年來,隨著計算機(jī)技術(shù)的發(fā)展,數(shù)字圖像處理技術(shù)逐漸運用到纖維識別技術(shù)中。但在實際運用中,由于傳統(tǒng)顯微鏡的成像限制,無法觀察到清晰的纖維紋理特征,大多檢測方法僅通過提取羊絨與羊毛的形態(tài)特征來識別,識別正確率較低[1-5]。
本文采用螺旋相位相襯顯微鏡采集纖維圖像,此顯微鏡增強(qiáng)了纖維局部特征對比度,能夠獲得清晰表征纖維紋理特征的圖像。利用圖像處理技術(shù)提取纖維的形態(tài)特征和紋理特征,提高了識別的準(zhǔn)確率及效率。
顯微鏡采集到的纖維圖像受光照等因素影響,不可避免地存在各種噪聲,增加了纖維圖像識別的難度,因此有必要采取合適的圖像降噪技術(shù)來消除噪聲污染的影響,以實現(xiàn)目標(biāo)纖維與圖像背景的分離。纖維預(yù)處理過程如圖1所示。
(a)高斯濾波
(b)Canny檢測
(c)膨脹圖
(d)漫水填充
(e)單根纖維區(qū)域
(f)Canny檢測目標(biāo)纖維圖
(g)鱗片骨架圖
s(h)單根纖維灰度圖
圖1 纖維預(yù)處理過程圖
本文首先采用4鄰域拉普拉斯算子與圖像做空域卷積,該變換能夠增強(qiáng)圖像中灰度突變處的對比度,使纖維圖像輪廓和鱗片邊緣的細(xì)節(jié)變得清晰。
因為噪聲主要集中于高頻信號,很容易被識別偽邊緣。應(yīng)用高斯濾波去除噪聲[6],降低偽邊緣的識別,如圖1(a)所示。
Canny算子檢測提取的目標(biāo)邊緣連續(xù)性比較好[7]。利用Canny算子來檢測纖維的邊緣,能夠得到比較好的結(jié)果,如圖1(b)所示。
Canny算子提取纖維的邊緣后,會存在鱗片線條斷裂、雜質(zhì)線段較多等問題。為此采用3×3的橢圓模板對其進(jìn)行膨脹處理,連接目標(biāo)纖維中的斷裂部分,確保纖維邊緣及鱗片閉合聯(lián)通,如圖1(c)所示。
膨脹后得到的纖維圖像會出現(xiàn)內(nèi)部空洞,則對膨脹圖進(jìn)行漫水填充來填補空洞[8],如圖1(d)所示。
由于膨脹后纖維圖的尺寸會比纖維本身稍大,則對漫水填充圖進(jìn)行腐蝕處理,使纖維恢復(fù)本身的大小,然后利用種子生長區(qū)域法可以獲得單根纖維的區(qū)域,如圖1(e)所示。
將單根纖維區(qū)域圖與Canny檢測圖相乘可以獲得Canny檢測目標(biāo)纖維圖,如圖1(f)所示。
由于Canny檢測目標(biāo)纖維圖也會存在鱗片線條斷裂、雜質(zhì)線段較多等問題。為此將Canny檢測目標(biāo)纖維圖進(jìn)行形態(tài)學(xué)膨脹處理,填補缺失斷裂處,并細(xì)化和旋轉(zhuǎn)得到鱗片骨架圖[9],如圖1(g)所示。
將單根纖維區(qū)域圖與原灰度圖相乘可以獲得單根纖維灰度圖,如圖1(h)所示。
羊絨纖維較細(xì)且鱗片稀疏,羊毛纖維較粗且鱗片密集。其形態(tài)特征的不同主要體現(xiàn)在纖維直徑、鱗片高度、鱗片周長、鱗片面積、徑高比、鱗片相對周長、鱗片相對面積、鱗片密度這8個特征參數(shù)上。分段掃描提取直徑示意如圖2所示。
圖2 分段掃描法提取直徑
首先提取目標(biāo)纖維區(qū)域的外輪廓且旋轉(zhuǎn)至豎直,并將圖像的左上角定為坐標(biāo)原點,水平向右為x軸,豎直向下為y軸。然后掃描遍歷整個圖像,直到某點的像素值為255時,停止掃描,此點所在的位置則為纖維的上端。由于纖維切片制備的因素,纖維的兩端會存在缺損,因此只截取纖維中間的部分。將纖維頭端(x0,y0)向下10 pixel處的縱坐標(biāo)記為y1,沿y軸方向向下,以單位像素為間距給纖維分段,分段各處縱坐標(biāo)依次記為y2,y3,…,yn,直至圖像底端向上20 pixel處為止,則將此根纖維分成了n段。從y1到y(tǒng)n分別沿x方向向右對纖維邊緣進(jìn)行搜索,將每一行搜索到的第一個和最后一個像素值為255點的橫坐標(biāo)記下來,分別記為xi1,xi2,1≤i≤n。兩點之間橫坐標(biāo)之差即為分段纖維直徑,計算公式為di=|xi1-xi2|。
圖3 鱗片骨架法高度提取
以上求出的纖維直徑和高度都是平均值,進(jìn)而可求出鱗片周長P=2×(d+h)、鱗片面積A=d×h、徑高比dh=d/h、鱗片相對周長Pd=2×(d+h)/d、鱗片相對面積Ad=d×h/d2、鱗片密度ρ=1/h。
羊絨纖維表面紋理較為整齊,表面平滑;相比之下,羊毛纖維表面紋理較為密集,表面粗糙。羊絨與羊毛紋理之間的差異性會呈現(xiàn)出不同的紋理特性。因此本文采用灰度共生矩(Grey Level Co-occurrence Matrix,以下簡稱GLCM)來提取羊絨和羊毛纖維的紋理特征[10]。
為了能夠有效地描述羊絨、羊毛纖維的紋理特征,分別提取了θ為0°、45°、90°、135°共4個方向上的灰度共生矩的能量、熵、對比度、相關(guān)性等4個特征值,最后計算出不同方向上同一特征值的均值及標(biāo)準(zhǔn)差,得到能夠描述紋理特征的8個特征值。
由于在計算GLCM時需要遍歷整幅圖像,為了能夠提高效率,利用外接矩設(shè)置感興趣區(qū)域得到裁剪后單根纖維灰度圖,如圖4(a)所示。同時由于計算GLCM時,是對圖像的灰度信息進(jìn)行統(tǒng)計,圖像背景像素值為0會影響特征提取,則將背景像素值設(shè)置為原始灰度圖的平均灰度值,如圖4(b)所示。
(a)裁剪后單根纖維灰度圖
(b)背景設(shè)為平均灰度的纖維圖
本文通過螺旋相位相襯顯微鏡采集的羊絨、羊毛纖維圖像具有明顯的紋理特征,增強(qiáng)了纖維細(xì)微結(jié)構(gòu)清晰度,因而能夠通過GLCM獲得能量、熵等描述紋理特征的8個特征值,同時結(jié)合之前所提取的纖維直徑、鱗片高度等描述形態(tài)特征的8個特征值,得到的16個特征參數(shù)能夠較為完善地反映出纖維差異的特征。部分羊絨、羊毛纖維的特征值見表1和表2。
表1部分纖維的形態(tài)特征值
纖維纖維直徑/μm鱗片高度/μm鱗片周長/μm鱗片面積/μm2徑高比鱗片相對周長鱗片相對面積鱗片密度/個·mm-1羊絨1羊絨2羊絨3羊絨4羊絨5羊毛1羊毛2羊毛3羊毛4羊毛515.8515.6616.8116.3913.5624.1323.1317.5119.9320.8519.3114.7813.2121.5914.7813.3714.4813.5014.6611.0570.3560.9160.0675.9656.7175.0177.2462.0569.1963.80305.60234.81219.41351.49200.64319.54346.17234.37290.58226.960.821.051.270.750.911.801.661.291.351.884.433.883.574.634.173.103.203.543.473.061.210.950.771.301.080.540.590.760.730.5251.7667.6275.6546.3167.6274.7669.0174.0268.2190.46
表2部分纖維的紋理特征值
纖維能量能量標(biāo)準(zhǔn)差熵熵標(biāo)準(zhǔn)差對比度對比度標(biāo)準(zhǔn)差相關(guān)性相關(guān)性標(biāo)準(zhǔn)差羊絨1羊絨2羊絨3羊絨4羊絨5羊毛1羊毛2羊毛3羊毛4羊毛50.748 30.837 10.808 60.822 40.418 70.357 50.717 50.653 60.469 70.610 70.003 60.005 90.003 50.005 30.014 10.010 60.005 60.004 20.014 80.004 30.847 80.591 30.650 70.620 21.882 02.028 00.982 50.934 41.405 41.077 70.027 60.033 10.026 00.028 40.137 40.124 80.044 00.032 30.102 90.042 50.345 70.317 90.317 30.325 90.680 50.620 00.395 10.129 70.406 60.109 70.200 30.184 70.179 30.210 90.327 80.261 60.228 90.063 10.212 50.044 80.855 91.433 31.304 81.302 20.387 30.256 30.705 01.194 01.046 60.626 10.109 60.449 20.304 30.370 40.036 30.011 00.082 40.054 40.245 50.010 5
BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),其學(xué)習(xí)過程是一種誤差反向傳播的過程,由正向傳播和反向傳播組成[11]。BP神經(jīng)網(wǎng)絡(luò)大多采用 3 層結(jié)構(gòu),輸入層、隱含層和輸出層,如圖5所示。
圖5 3層BP神經(jīng)網(wǎng)絡(luò)
本文采用Matlab建立一個3層BP神經(jīng)網(wǎng)絡(luò)模型。將上述得到的16個羊絨、羊毛特征參數(shù)作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù),輸出為羊絨和羊毛共2 個類別,故輸入層節(jié)點數(shù)設(shè)為16,輸出層節(jié)點數(shù)設(shè)為2;網(wǎng)絡(luò)訓(xùn)練函數(shù)選定為trianer,自適應(yīng)學(xué)習(xí)函數(shù)選定為learngdm,隱含層傳遞函數(shù)選定為tansig;學(xué)習(xí)速率定為0.6,誤差精度設(shè)為1×10-2,訓(xùn)練步長最大設(shè)定為1 000。
對于分類識別而言,如果隱含層節(jié)點數(shù)太少,會導(dǎo)致網(wǎng)絡(luò)的訓(xùn)練和識別精度比較差;如果節(jié)點數(shù)過多又會導(dǎo)致訓(xùn)練時間過長。因此隱含層節(jié)點數(shù)根據(jù)經(jīng)驗公式(1)~(4)來最終確定。
(1)
(2)
(3)
m=2n+1
(4)
式中:m為隱含層節(jié)點數(shù),n為輸入層節(jié)點數(shù),l為輸出層節(jié)點數(shù),μ∈[1,10][12]。
為了保證BP神經(jīng)網(wǎng)絡(luò)的穩(wěn)定運行,在進(jìn)入樣本訓(xùn)練之前,需要對選用的16個特征參數(shù)進(jìn)行歸一化處理,統(tǒng)一數(shù)據(jù)的數(shù)量級。采用公式(5)進(jìn)行數(shù)據(jù)的歸一化處理。
(5)
式中:x和X分別為歸一化前和歸一化后的數(shù)據(jù),xmax和xmin分別為歸一化之前的最大值和最小值。
本試驗中采集了600根羊絨和600根羊毛的顯微圖像,其中450根羊絨和450根羊毛作為訓(xùn)練集,150根羊絨和150根羊毛作為測試集。利用之前所提取羊絨、羊毛纖維的形態(tài)特征及紋理特征所獲得的16個數(shù)據(jù)作為特征向量。通過試驗得出,當(dāng)隱含層節(jié)點數(shù)為26時,其識別率最佳?;谝陨系腂P神經(jīng)網(wǎng)絡(luò)模型對纖維進(jìn)行分類識別,分類結(jié)果如下。可以看出總體識別正確率為93.3%。
纖維種類 羊絨 羊毛 合計
識別正確數(shù)/次 143 137 280
總識別數(shù)/次 150 150 300
識別正確率/% 95.3 91.3 93.3
對螺旋相位相襯顯微鏡采集的羊絨與羊毛纖維圖像進(jìn)行識別,預(yù)處理后采用種子生長區(qū)域法得到目標(biāo)纖維區(qū)域圖和纖維鱗片骨架圖,通過裁剪單根纖維灰度圖并將其背景灰度設(shè)置為平均灰度,分別提取羊絨與羊毛的形態(tài)特征和紋理特征,最后應(yīng)用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行分類識別。試驗結(jié)果表明:通過數(shù)字圖像處理提取羊絨與羊毛纖維特征,結(jié)合BP神經(jīng)網(wǎng)絡(luò)分類識別羊絨與羊毛纖維的效果較好,識別正確率較高。