林似水,鄭力新
(華僑大學(xué) 信息科學(xué)與工程學(xué)院,福建 廈門 361021)
織物疵點是影響織物品質(zhì)的重要因素。長期以來,織物疵點檢測都由人工完成。這種方法自動化程度極低,檢測速度慢。而且該方法是一種單調(diào)繁重的重復(fù)性勞動,它極大地損傷人的視覺,檢測結(jié)果容易受到疲憊、緊張等主觀因素的影響。因此,開發(fā)一種快速、有效、可靠、實時的疵點檢測系統(tǒng)成為迫切需要解決的問題。
近年來,出現(xiàn)了很多疵點檢測方法[1-11],其中應(yīng)用與人眼視覺近似的小波及Gabor是使用比較多的方法,這兩種方法都具有多尺度、多分辨率的特點,非常適合檢測尺度不同的疵點。但這兩種算法都比較復(fù)雜,計算量大,不能滿足生產(chǎn)線上對疵點檢測的實時性要求。本文在結(jié)合國內(nèi)外相關(guān)參考文獻的基礎(chǔ)上,針對從企業(yè)獲取的疵點圖像,提出了一種應(yīng)用LBP金字塔與SOM的織物疵點檢測方法。該方法結(jié)合了圖像金字塔的多分辨率特性,LBP對圖像局部紋理特征的卓越描繪能力,以及SOM對輸入數(shù)據(jù)的優(yōu)秀聚類能力。實驗表明,該方法運行速度快、檢測效果好,適用于不同紋理織物的不同疵點檢測。
LBP是一種有效的紋理描述算子,對圖像的局部紋理特征具有卓越的描繪能力,同時又具有很強的分類能力、較高的計算效率,對于單調(diào)的灰度變化具有不變性。
LBP的主要思想是以某一點與其鄰域像素的相對灰度作為響應(yīng),正是這種相對機制使得LBP算子對于單調(diào)的灰度變化具有不變性。圖1給出了一個LBP算子,應(yīng)用LBP算子的過程類似于濾波過程中的模板操作。逐行掃描圖像,對于圖像中的每一個像素點,以該點的灰度值作為閾值,對其周圍3×3的8鄰域進行二值化,按照一定的順序?qū)⒍祷Y(jié)果組成一個8位二進制數(shù),以此二進制的值(0-255)作為該點的響應(yīng)。
圖1 LBP算子
自組織映射神經(jīng)網(wǎng)絡(luò)(SOM)是由芬蘭赫爾辛基大學(xué)神經(jīng)網(wǎng)絡(luò)專家Kohonen教授在1981年提出的。這種網(wǎng)絡(luò)模擬大腦神經(jīng)系統(tǒng)自組織特征映射的功能,是一種競爭式學(xué)習(xí)網(wǎng)絡(luò),能無監(jiān)督地進行自組織學(xué)習(xí)。自組織特征映射神經(jīng)網(wǎng)絡(luò)根據(jù)輸入向量在輸入空間的分布情況對它們進行分類,使得輸入信號可以映射到低維空間,并保持相同特征的輸入信號在映射后的空間中對應(yīng)鄰近區(qū)域。圖2表示SOM的兩種基本網(wǎng)絡(luò)結(jié)構(gòu)。
圖2 SOM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
令輸入信號為 x=[x1,x2,…,xp],輸出神經(jīng)元 j的權(quán)向量為 wj=[wj1,wj2,…,wjp],j=1,2,…,N,設(shè) 輸入 信號 x按順序依次輸入,每輸入一個向量(模式)時,首先尋找其權(quán)向量wj與x最佳匹配的神經(jīng)元e,一個簡單的方法是計算它們之間的歐幾里德(Euclidean)距離,最小者即為最佳單元:
然后應(yīng)確定最佳匹配單元的鄰域,此鄰域是隨迭代次數(shù)n變化的,因此稱為鄰域函數(shù) Ni(n)。最后應(yīng)確定一個在Ni(n)內(nèi)神經(jīng)元的權(quán)值修改公式:
SOM網(wǎng)絡(luò)的學(xué)習(xí)過程如下:
(1)權(quán)值初始化,用小的隨機數(shù)對各權(quán)向量賦初值wj(0);
(2)在樣本集中隨機選一個樣本x作為輸入;
(3)在時刻 n,根據(jù)公式(1)選擇最佳匹配單元 e;
(4)確定鄰域函數(shù) Ni(n);
(5)按照式(2)修正權(quán)值;
(6)n=n+1,返回(2),直到形成有意義的映射圖。
本文算法的主要思想是,對織物圖像應(yīng)用圖像金字塔進行降級采樣,得到不同分辨率的多級圖像,然后分別對每一級圖像進行檢測,最后再對檢測結(jié)果進行融合,去除孤立點后得到檢測結(jié)果。本算法充分利用圖像在不同多分辨率下所呈現(xiàn)出的整體與局部的特性,提高了算法的檢測效果。
算法步驟如下:
(1)獲取源圖像
獲取圖像大小為 M×N(本文為 512×512)的織物疵點圖像,對圖像進行灰度化,將彩色圖像轉(zhuǎn)化為灰度圖像 f(x,y)。
(2)圖像金字塔分解
這里使用高斯金字塔向下采樣,獲得下一層圖像tn(x,y),n=1,2,3…。 執(zhí)行的過程為先用高斯核對圖像f(x,y)進行卷積,然后刪除所有偶數(shù)行和偶數(shù)列,這樣得到的圖像面積變?yōu)樵瓉淼乃姆种?。本文采?級采樣,得到不同分辨率的圖像如圖3所示。
圖3 圖像金字塔向下采樣結(jié)果
(3)預(yù)處理
對圖像 tn(x,y),n=1,2,3 進行高斯濾波,剔除噪聲獲得平滑信號和較好的圖像邊緣;再對圖像進行直方圖均衡化,增加圖像灰度的動態(tài)范圍,提高圖像對比度。從圖4(c)中可以看出,均衡化后圖像的對比度得到了顯著增強。
圖4 圖像預(yù)處理
(4)LBP 算子處理
LBP使用的是鄰域單元作為處理單元,使用中心點與周圍像素的相對灰度作為響應(yīng),這樣可避免圖像因為受光照而產(chǎn)生的灰度變化的影響。應(yīng)用LBP對tn(x,y)進行處理得到 Tn(x,y),如圖 5(b)所示。
圖5 LBP算子效果圖
(5)特征提取
由于織物都具有一定的紋理特征,這個特征又可以用紋理基元來表示,即紋理基元以一定的排列方式在織物圖像中周期性的重復(fù)。而紋理基元又是不同的灰度值按一定的排列方式形成,因而本文所提取的特征為一子窗口的特征,方法如下。
定義一個 M×N 大小的模板 g(x,y),用式(3)為模板中的每個元素賦予一定的權(quán)值(式中L為繞中心點的層數(shù),從最外層開始依序為 0,1,2,…)。然后用該模板對圖像進行卷積,得出的結(jié)果再歸一化到[0,1],得到模板所對應(yīng)的圖像區(qū)域的一個特征c1。接著再計算模板g(x,y)所對應(yīng)的圖像區(qū)域的平均灰度值,歸一化后得到另外一個特征 c2。模板大小M和 N應(yīng)滿足式(4),其中wh為基元之間的水平距離,weh為基元的寬度;wv為基元之間的垂直距離,wev為基元的高度。
(6)SOM神經(jīng)網(wǎng)絡(luò)識別
在使用神經(jīng)網(wǎng)絡(luò)識別之前,需要提取正??椢飯D像的特征對SOM網(wǎng)絡(luò)進行訓(xùn)練,得到網(wǎng)絡(luò)的密碼本向量,即網(wǎng)絡(luò)的權(quán)值。網(wǎng)絡(luò)訓(xùn)練好后,統(tǒng)計每個輸出神經(jīng)元對應(yīng)的歐幾里德距離的最小值min與最大值max,并定義該神經(jīng)元的置信區(qū)間為[min,max]。識別時,對于落在置信區(qū)間內(nèi)的特征值,認為是正常的織物元素;對于置信區(qū)間外的特征值,則認為是疵點元素。圖6為不同層的織物圖像對應(yīng)的識別結(jié)果。
圖6 不同層對應(yīng)的識別結(jié)果
(7)識別結(jié)果融合與孤立點去除
結(jié)果的融合采用金字塔向上采樣的方法,即首先在每個維度上擴大為原來的兩倍,新增的行以0填充,然后用拉普拉斯濾波器進行卷積,估計新增的像素的近似值。融合結(jié)果如圖7(b)所示。孤立點的去除采用形態(tài)學(xué)中的開運算去除一些小點,然后計算孤立點的周長和面積,將一些小的孤立點當(dāng)噪聲處理掉,得到圖像Q(x,y),如圖 7(c)所示。
圖7 識別結(jié)果融合與處理
本實驗是在OpenCV 2.1以及Visual Studio 2008環(huán)境下進行的,計算機配置為Intel E5300 2.6 GHz CPU,2 GB內(nèi)存。OpenCV是一個開源的跨平臺計算機視覺庫,由一系列的C函數(shù)及C++類組成,提供面向Intel IPP高效多媒體函數(shù)庫的接口,可針對用戶使用的Intel CPU優(yōu)化代碼,提高處理性能[12]。
實驗分別對斷緯、缺經(jīng)、破洞和勾絲這四類最為常見的疵點進行了測試,疵點圖像的大小為512×512。并與參考文獻[9]提出的算法進行對比(使用兩個方向,3個尺度的Gabor算子),結(jié)果如表1所示。
表1 實驗結(jié)果表
從表1的實驗結(jié)果可以看出,對于不同紋理的織物,本文算法能將疵點從織物圖像中較準確地分割出來,證明了該檢測算法具有良好的檢測效果,適用于不同紋理類型織物的不同疵點的檢測。并且本文算法在處理時間上開銷較小,檢測速度快,能夠提高疵點檢測系統(tǒng)的實時性。
本文提出了一種聯(lián)合LBP與SOM的多分辨率織物疵點檢測方法。將織物圖像應(yīng)用圖像金字塔進行降級分解,得到不同分辨率的圖像,再對每一級的圖像應(yīng)用局部二進制(LBP)算子,提取特征后送入事先訓(xùn)練好的自組織映射神經(jīng)網(wǎng)絡(luò)(SOM)進行識別。最后對已識別的多級圖像進行融合,計算輪廓的周長和面積去除孤立點后得出最終的檢測結(jié)果。實驗結(jié)果表明,本文方法能將疵點從織物圖像中較準確地分割出來,檢測速度快、效果好,適用于不同紋理類型織物的不同疵點的檢測。
[1]BISSI L, BARUFFA G, PLACIDI P, et al.Patch based yarn defect detection using Gabor filters[C].I2MIC,2012 IEEE International, 2012: 240-244.
[2]PRIYA S, KUMAR T A, PAUL D V.A novel approach to fabric defect detection using digital image processing[C].ICSCCN, 2011: 228-232.
[3]Ding S, Liu Z, Li C.AdaBoost learning for fabric defect detection based on HOG and SVM [C].International Conference on Multimedia Technology, 2011:2903-2906.
[4]Guan S, Yuan J, Ma K.Fabric defect detection based on wavelet reconstruction[C].ICMT 2011, 2011:3520-3523.
[5]Zhang L, He Xh, Zhang Hb.A fabric defects detection method usingSAR imaging[C].2010 6th International Conference on WiCOM, 2010:1-4.
[6] Jia X.Fabric defectdetection based on open source computer vision library OpenCV[C].2010 2nd International Conference on ICSPS, 2010:342-345.
[7]Zhang YH, Yuen CWM, Wong WK.A new intelligent fabric defect detection and classification system based on gabor filter and modified elman neural network[C].ICACC,2010:652-656.
[8]付蓉,石美紅.基于自適應(yīng)LBP和SVM的織物疵點檢測算法[J].計算機應(yīng)用,2010,30(6):1597-1601.
[9]趙波.改進的基于最大熵和Gabor濾波器的織物疵點檢測[J].微型機與應(yīng)用,2011,30(13):29-35.
[10]管聲啟.方向性紋理織物疵點檢測方法研究[J].計算機工程與科學(xué),2011,33(3):73-76.
[11]盧亮,趙靜.基于小波變換和圖像最大熵的織物疵點檢測[J].科學(xué)技術(shù)與工程,2011,11(22):5446-5450.
[12]BRADSKI G, KAEBLER A.Learning OpenCV[M].南京:東南大學(xué)出版社,2009.