杜 帥,李岳陽,王孟濤,羅海馳,蔣高明
(1.江南大學 教育部針織技術(shù)工程研究中心,江蘇 無錫 214222;2.江南大學 輕工過程先進控制教育部重點實驗室,江蘇 無錫 214122)
織物疵點檢測對織物的質(zhì)量控制有著十分重要的作用。目前,工廠大都采用人工檢測,不僅浪費人力財力,同時人眼視野范圍和精度具有局限性,往往存在誤檢或漏檢,對織物質(zhì)量造成影響。隨著機器視覺技術(shù)的不斷發(fā)展,疵點檢測技術(shù)也不斷成熟,不僅解決了人工檢測存在的問題,而且織物質(zhì)量能夠得到有效的把握,避免了不必要的損失。在實際生產(chǎn)中,織物的疵點檢測系統(tǒng)要求較高的實時性和準確率,因此減小檢測過程中的誤差,增加檢測的準確性能夠得到更好的檢測結(jié)果。
織物疵點初始形態(tài)一般較小,在檢測中可將織物的疵點類比為小目標,從而對其進行識別。疵點檢測有許多相關(guān)的研究,比如:基于傳統(tǒng)Gabor濾波器的方法[1],這種方法可有效區(qū)分疵點區(qū)域和非疵點區(qū)域,但是需要調(diào)制多個濾波器,在實際運用中會受到一定的限制。基于二維最小均方差(TDLMS)濾波器的方法[2],對異常值比較敏感,通常會產(chǎn)生不滿意的結(jié)果,造成很高的誤檢率?;诟倪M的最優(yōu)Gabor濾波器的方法[3-5],由于邊緣的存在,會使檢測的目標范圍變大。傳統(tǒng)的局部對比法(LCM)[6-8]在實際檢測中有很好的應用,此方法是利用疵點目標與其周圍鄰域灰度值的差異,將背景與目標分離,從而檢測出疵點圖像,但是當邊緣存在時,檢測效果會變差;為此,本文采用了一種基于邊緣保護的方法,以減少檢測過程中的誤差。
本文采用的基于改進的局部自適應對比法[9]是利用圖像區(qū)域之間的結(jié)構(gòu)特征,通過計算中心區(qū)域圖像與其周圍鄰域之間的相似度,找到與中心區(qū)域最相似的鄰域,利用最相似的鄰域來估計背景圖像,從而排除了邊緣的干擾,最后利用背景差分法[8]對圖像進行差分,并經(jīng)過閾值處理,得到疵點檢測的結(jié)果。該方法可有效地避免邊緣對檢測結(jié)果的影響,提高檢測率,同時對開發(fā)織物疵點在線檢測系統(tǒng)提供了一定的參考價值。
本文采用的改進的自適應局部對比法,是由傳統(tǒng)的LCM改進而來,傳統(tǒng)的LCM算法只是基于中心區(qū)域和周圍鄰域的比較,而此方法是通過找到與中心區(qū)域最相似的鄰域達到邊緣保護和背景估計的目的[9],從而能夠有效地識別出疵點目標。本文的方法包含以下幾個步驟。
1)對初始圖像進行預處理。用同態(tài)濾波對圖像進行預處理,可有效解決在實際檢測過程中受光照的影響而造成誤檢的問題[10-11]。
2)邊緣保護。利用中心區(qū)域圖像V0與周圍鄰域圖像Vi灰度值差的加權(quán)平方和,找出與中心圖像V0最相似的鄰域圖像。如果中心區(qū)域V0包含背景,此區(qū)域的圖像在周圍能夠找到與其最相似的小塊圖像,如果邊緣包含在中心區(qū)域圖像V0中,同樣也能夠找到與其最相似的鄰域圖像,而含有疵點的小塊圖像在周圍找不到與它相似度較高的鄰域圖像,從而可以有效地解決邊緣對檢測結(jié)果的影響,如圖1所示。在背景區(qū)域任取一區(qū)域bi,在其周圍相鄰的區(qū)域bi+1和bi-1總能找到具有高度相似性的區(qū)域。在疵點區(qū)域,任取一區(qū)域ai,則無法在其周圍找到任意與其高度相似的區(qū)域。
圖1 織物疵點圖像Fig.1 Fabric defect image
3)估計背景圖像。通過找到與中心區(qū)域最相似的鄰域圖像,估計中心區(qū)域中心點的像素值,利用這一方法可得到估計的背景圖像。
4)背景差分。根據(jù)背景差分原理,用原圖像減去估計出的背景圖像的像素值,最終可以得到所要檢測的小目標的圖像。
5)閾值處理。根據(jù)差分的效果,設置自適應閾值,提高其檢測的識別率及檢測效果。
在圖像采集過程中,受到光照及其他因素的影響,會造成采集到的圖像質(zhì)量差,對檢測結(jié)果造成影響,因此需要對采集到的圖像進行預處理。
同態(tài)濾波是一種在頻域中進行的圖像對比增強和壓縮圖像亮度范圍的特殊方法,它能夠減少低頻增加高頻,從而減少光照變化并銳化邊緣細節(jié)。在實際生產(chǎn)中,受到光照的影響會使圖像變得模糊不清,疵點部分難以辨認。同態(tài)濾波可對圖像灰度范圍進行調(diào)整,通過消除圖像上照明不均的問題,增強暗區(qū)的圖像細節(jié),同時又不損失亮區(qū)的圖像細節(jié)[11-13]。
利用同態(tài)濾波對圖像進行預處理,首先將原圖像函數(shù)I(x,y)看作為光照函數(shù),其可以表達為照射分量i(x,y)與反射分量r(x,y)的乘積,即原圖像的函數(shù)表達為
I(x,y)=i(x,y)r(x,y)
(1)
進行同態(tài)濾波,將原圖像函數(shù)的乘法運算化簡為加法運算,即對原始圖像函數(shù)作對數(shù)運算:
Z(x,y)=lni(x,y)+lnr(x,y)
(2)
為將圖像轉(zhuǎn)換到頻域,需要對上述對數(shù)運算后的函數(shù)做傅里葉變換:
F(Z(x,y))=F(lni(x,y))+F(lnr(x,y))
(3)
然后選擇一個合適的傳遞函數(shù)H(u,v),通過壓縮照射分量i(x,y)的變化范圍,削弱I(u,v)增強反射分量,提升R(u,v)增強高頻分量,確定一個合適的H(u,v),假設用一個同態(tài)濾波器函數(shù)H(u,v)來處理原圖像I(x,y)的對數(shù)的傅里葉變換得:
S(u,v)=H(u,v)I(u,v)+H(u,v)R(u,v)
(4)
逆變到空域得:
s(x,y)=F-1(S(u,v))
(5)
再取指數(shù)即得到最終結(jié)果:
f′(x,y)=exp(s(x,y))
(6)
經(jīng)過同態(tài)濾波前后的圖像如圖2所示。
圖2 同態(tài)濾波前后圖像對比Fig.2 Comparison between original image and homomorphic filtering image.(a)Original image;(b)Homomorphic filtering image
同態(tài)濾波前后對比,突出了疵點圖像,抑制了背景圖像,消除光照的影響,具有很好的處理效果。
一幅含有疵點的灰度圖像中可分為:背景、疵點、疵點與背景的過渡邊緣[9]。為消除邊緣的影響,本文采用了邊緣保護的方法。以原圖像中的每個像素點為中心點,以其周圍一定范圍內(nèi)的區(qū)域為中心區(qū)域,在中心區(qū)域周圍與其大小相同的區(qū)域為相鄰區(qū)域,同時在中心區(qū)域周圍設置保護區(qū)域,避免邊緣對檢測結(jié)果的影響。圖3示出檢測算法原理。以(x0,y0)為中心區(qū)域的中心點,v和v′為中心區(qū)域邊界距離中心點的像素值,V0表示中心區(qū)域,則它的大小為(2v+1)×(2v′+1),在其周圍有n個相同大小的區(qū)域Vk(k=1,2,…,n),E0表示保護區(qū)域,設寬度為m,則E0區(qū)域大小為(2v+1+2m)×(2v′+1+2m),但E0保護區(qū)域的范圍不包括V0區(qū)域(即CE0V0),若取v=2,v′=3,m=2,則圖中中心區(qū)域V0及其鄰域窗口大小為5×7,保護區(qū)域E0的大小9×11(實際窗口大小根據(jù)實驗所采用圖像疵點大小來調(diào)整)。
圖3 檢測算法原理Fig.3 Principle of detection algorithm
設(x0,y0)、(x,y)分別表示中心區(qū)域和周圍鄰域的中心坐標點,用I(x0,y0)、I(x,y)表示其灰度值,則中心區(qū)域與周圍第k個鄰域間的灰度值比較的表達式為
(7)
因此可以得到中心區(qū)域與周圍第k個鄰域間的相似度為
(8)
式中:Sk范圍為[0,1]:當值為0時,表示中心區(qū)域的所有元素和其周圍鄰域內(nèi)的元素均不相同,不具有相似性;當值為1時,表示中心區(qū)域的所有元素和其周圍鄰域內(nèi)的元素相同,具有很高的相似度[8]。
因此,若中心區(qū)域內(nèi)含有疵點,那么在其周圍鄰域中找不到任何一個鄰域與其具有較高的相似度;若中心區(qū)域包含有邊緣區(qū)域或背景區(qū)域,那么在其周圍鄰域中能夠找到與其相似度較高的鄰域,從而達到邊緣保護的效果。
為獲得完整的背景圖像,利用中心區(qū)域與周圍鄰域的圖像的相似性,找到與中心區(qū)域最相似的鄰域Vi,用最相似鄰域的灰度梯度加權(quán)值來評估中心區(qū)域中心點的灰度值。
可以求出最相似的鄰域Vs為
Vs=Vi
(9)
式中:i表示第i個鄰域圖像與中心區(qū)域具有最高的相似度;Vi表示第i塊鄰域圖像。
如果中心區(qū)域V0與其周圍鄰域Vs具有很高的相似度,那么I(x0,y0)與I(xs,ys)的灰度值相差不大,可以利用梯度倒數(shù)加權(quán)值[9,13]來評估中心區(qū)域的中心點像素值:
(10)
(11)
由3.2中基于最似鄰域?qū)χ行膮^(qū)域的評估,背景圖像的估計值與原始值相差不大,而疵點區(qū)域的圖像估計出的像素值與原值差別很大,因此利用原始圖像的灰度值與估計出的灰度值做背景差分,利用此方法可找出疵點區(qū)域。
FT(x,y)=F(x,y)-FB(x,y)
(12)
式中:F(x,y)表示原始圖像;FB(x,y)表示評估后的背景圖像;FT(x,y)表示疵點圖像。
閾值分割[12]通過設置自適應閾值消除差分過程中殘留的噪聲點及類目標點,通過設置閾值,使圖像中的灰度值為0或1。
(13)
式中:BW(x,y)為二值圖像;T為閾值。
然后利用形態(tài)學運算,對得到的二值圖像進行腐蝕,去除二值圖像中的弱小噪聲點,最終可獲得檢測結(jié)果。
為檢驗本文采用算法的效果,利用復雜背景下的織物疵點圖像進行檢測,檢測結(jié)果見圖4。其中實驗圖片采用大小為512像素×512像素的織物圖像,實驗均在MatLab2014a環(huán)境下進行。
圖4 復雜背景下的織物疵點檢測結(jié)果Fig.4 Fabric defect detection results in complex background.(a) Clip mark;(b) Detection results in clip mark;(c) Fluff; (d) Detection results in fluff; (e) Filling b; (f) Detection results in Filling b
圖4(a)示出針織物破洞,破洞范圍較大,選取窗口大小為11像素×39像素,檢測結(jié)果如圖4(b),檢測疵點圖像清晰,效果較好。圖4(c)示出機織平紋織物,其疵點圖像與背景圖像具有很大的相似性,一般算法檢測此類型圖像時,會造成高的虛警率和漏檢率,即在無疵點的情況下檢測出疵點或存在疵點卻檢測不到的情況,而本文算法在復雜的情況下仍然清晰的檢測到織物疵點的存在,如圖4(d),說明本文算法的可行性。圖4(e)示出機織斜紋織物,產(chǎn)生緯向條痕較長,本文算法同樣可以清楚地檢測到疵點的存在。利用不同類型的復雜背景下織物疵點圖像對本文算法進行驗證,證明了算法的準確性、可行性及較強的適應性。
通過與傳統(tǒng)算法比較進一步驗證文中所用算法的合理性。文獻[1]中采用了Gabor濾波的方法,利用多通道濾波對織物圖像檢測。文獻[5]中采用了改進差值最優(yōu)的Gabor濾波方法,用優(yōu)化后的Gabor濾波替代單一的濾波組對織物圖像檢測。利用本文算法與文獻[1]、文獻[5]中的方法作比較,實驗結(jié)果見圖5。其中實驗所用圖片大小均為512×512像素,實驗均在MatLab2014a環(huán)境下進行。
圖5 幾種檢測方法的結(jié)果對比Fig.5 Compared detection results for several defect detection methods.(a)External fiber; (b) Result of (a) by using method of document[1]; (c) Result of (a) by using method of document[5]; (d)Result of (a);(e)Coarse pick; (f) Result of (e) by using method of document[1]; (g) Result of (e) by using method of document[5]; (h)Result of (e);(i)Filling floats; (j) Result of (i) by using method of document[1]; (k) Result of (i) by using method of document[5]; (l)Result of (i)
在上述實驗中,利用文獻[1]和文獻[5]中的方法分別對幾種不同類型的疵點進行了檢測,其結(jié)果見圖5(b)、(f)、(j)與圖5(c)、(g)、(k)。通過對比發(fā)現(xiàn),文獻[5]的檢測結(jié)果比文獻[1]的檢測結(jié)果清晰、明顯,說明改進差值最優(yōu)的Gabor濾波法相比傳統(tǒng)的Gabor濾波法具有很好的檢測結(jié)果,同時利用本文所采用的方法進行檢測,同樣能有效地檢測到織物的疵點,從圖5(d)、(h)、(l)中可看出,本文所采用的方法較文獻[1]和[5]的方法效果更準確、清晰,證明了本文采用的算法的合理性及有效性。
為進一步驗證本文方法的合理性,進行工廠實驗驗證。在KS4 EL型高速經(jīng)編機上,利用線陣CCD相機,對不同組織下的經(jīng)編織物進行采集,一共采集100張分辨率大小為2 568像素×40像素的灰度圖像,其中有42張為無疵點圖像,58張含有疵點圖像。利用采集到的圖片進行離線測試,實驗結(jié)果見圖6~8。
本文實驗采用中心區(qū)域大小為11像素×39像素的實驗窗口,實驗均在MatLab2014a環(huán)境下進行,其中圖6中z2、組織的墊紗數(shù)碼:GB3: 1-0/0-1∥ GB4: 1-2/1-0∥,圖7中z2組織墊紗數(shù)碼:GB3: 1-0/1-2∥ GB4: 1-2/1-0∥,圖8中z3組織的墊紗數(shù)碼:GB3: 1-0/3-4∥ GB4∶1-3/1-0∥送經(jīng)量均為 1 200 mm/臘克,牽拉密度均為20 橫列/厘米。
左側(cè)斷紗疵點圖像有向右側(cè)傾斜的趨勢,中間斷紗疵點圖像為豎條,右側(cè)斷紗為向左傾斜。從左側(cè)斷紗圖中可以看出,開始發(fā)生斷紗時,疵點圖像并不是很明顯,圖像比較小,但是檢測結(jié)果表明本文的算法能夠清楚的識別出疵點的存在,有效避免產(chǎn)生過長疵點。圖6中z1組織的墊紗數(shù)碼為GB3: 1-0/0-1∥, GB4: 1-2/1-0∥;其疵點圖像相比圖7中z2組織的疵點范圍大,因為組織不同斷紗后所產(chǎn)生的疵點范圍也是不同的,從圖6、7中可以看出,均具有很好的檢測效果,說明了本文采用的算法可適應不同組織的疵點檢測,具有一定的適用性。圖8中圖像在采集時受到光照的影響,與圖6、7相比比較模糊,但從圖8的檢測結(jié)果看,本文采用的算法仍然具有很好的檢測結(jié)果,說明了此算法能適應在外界因素影響下的疵點檢測,具有一定的抗干擾性。
圖6 z1組織疵點檢測結(jié)果Fig.6 z1 weave defect detection results.(a) Yarn was broken in left;(b) Detection results of (a);(c) Yarn was broken in middle;(d) Detection results of (c);(e) Yarn was broken in right;(f) Detection results of (e)
圖7 z2組織疵點檢測結(jié)果Fig.7 z2 weave defect detection results.(a) Yarn was broken in left;(b) Detection results of (a);(c) Yarn was broken in middle;(d) Detection results of (c);(e) Yarn was broken in right; (f) Detection results of (e)
圖8 z3組織疵點檢測結(jié)果Fig.8 z3 weave defect detection results.(a) The yarn was broken in left;(b) Detection results of (a);(c) The yarn was broken in middle;(d) Detection results of (c);(e) The yarn was broken in right;(f) Detection results of (e)
對100張圖片的工廠測試實驗計結(jié)果如表1所示。
表1 疵點檢測統(tǒng)計結(jié)果Tab.1 Statistics for defect detection results
由表1可知,本文所采用的方法具有較高的檢測率,檢測準確率達到了98%。工廠實驗結(jié)果表明,本文所采用的算法具有較高的適應性及檢測率。
本文為提高疵點檢測算法的檢測準確率,采用了一種改進的局部自適應對比法,此方法利用中心區(qū)域與周圍鄰域的相似性,通過邊緣保護背景估計并經(jīng)過閾值處理最終對織物圖像進行檢測。
在背景估計的過程中,通過設置保護區(qū)域,解決了背景與疵點邊緣區(qū)域?qū)z測結(jié)果的影響,提高了檢測的準確性。在實驗的過程中,通過對不同種類型的織物疵點進行檢測,證明了算法的可行性;利用與傳統(tǒng)織物疵點方法進行對比,驗證了算法的準確性;對環(huán)境因素影響下的不同組織產(chǎn)生的織物疵點圖像進行檢測,驗證了文中算法的抗干擾性及普適性。實驗結(jié)果也表明,本文采用的算法具有很好的檢測效果,檢測準確率達到了98%,具有較高的檢出率、廣泛的適應性及抗干擾性。
FZXB