田俊杰, 張李超, 趙 星, 白 宇
(華中科技大學(xué) 材料成型與模具技術(shù)國家重點實驗室, 湖北 武漢 430074)
目前,智能制造已成為中國制造業(yè)的重點發(fā)展方向,而機器視覺作為智能制造設(shè)備感知信息的核心技術(shù)受到越來越廣泛的關(guān)注[1]。作為傳統(tǒng)勞動力密集型行業(yè),紡織品加工在基于機器視覺的紡織品檢測、切割加工等智能自動化設(shè)備方面有著巨大的潛力[2]。對于許多涉及紡織品智能識別與檢測技術(shù)都需要提取紡織品的主結(jié)構(gòu)信息,如紡織圖案形狀大小偏差檢測、紡織品缺陷識別、床單窗簾經(jīng)編織造后沿花邊切割等。由于傳統(tǒng)基于模板匹配的機器視覺只適用于剛性物體,對具有柔性的紡織品應(yīng)用效果不理想,目前中國多數(shù)紡織品加工企業(yè)對于床單、窗簾沿花邊切割還采取人工電熱絲切割的方式,而對紡織品圖案形狀大小偏差檢測、紡織品缺陷識別也采用人工尺具檢測。這種狀況極大地影響紡織品產(chǎn)品的一致性,也限制了行業(yè)成本降低與生產(chǎn)效率的提高。對紋理進行剔除的同時提取主結(jié)構(gòu)來滿足紡織品加工的實時花邊提取或形狀位置偏差檢測,為改變這種狀況的瓶頸問題。
快速穩(wěn)定提取紡織品主結(jié)構(gòu)算法的核心在于剔除紋理的效果和算法處理的速度。剔除紋理效果的重點在于保留主結(jié)構(gòu)信息的同時對紋理進行模糊處理,涉及圖像處理中的保邊濾波;算法處理速度的重點則是大型稀疏矩陣的求逆。文獻[3-4]提出的幾種方法采用了優(yōu)化的總變化量圖像正則化器。用總變化量區(qū)分紋理和主結(jié)構(gòu)的效果不太令人滿意,因為紋理和主結(jié)構(gòu)在優(yōu)化時可能接受相似的懲罰。Farbman等[5-6]提出了一種邊界保留濾波器,在保留邊界的同時對圖像進行平滑處理,但是由于對紋理和主結(jié)構(gòu)的權(quán)重系數(shù)大小接近,不能很好地適用于紋理剔除。本文基于加權(quán)最小二乘法對紡織品圖案進行保邊濾波處理,并提出了一種懲罰算子可克服上述幾種算法只能區(qū)分圖像邊界的缺陷,可有效區(qū)分紋理和主結(jié)構(gòu)區(qū)域,在保邊濾波過程中保留主結(jié)構(gòu)信息的同時剔除紋理,而且對不同紡織密度、存在織物密度不均和破洞等不同品質(zhì)缺陷的紡織品有較強的適應(yīng)性。
紡織品沿輪廓切割或圖案形狀位置檢測一般采用流水線模式,對實時性要求較高。加權(quán)最小二乘法提取主結(jié)構(gòu)過程中用到了稀疏的不均勻拉普拉斯矩陣,當圖像的大小為m行n列時,拉普拉斯矩陣的大小為m×n行m×n列。要得到處理結(jié)果需對拉普拉斯矩陣進行求逆,若用一般的矩陣求逆方式,時間復(fù)雜度為O(n3)(n為拉普拉斯矩陣的行數(shù)),時間消耗較長而無法接受,必須在求線性方程解的過程中利用稀疏矩陣的特性做特殊處理。
常用的求解大型稀疏矩陣線性系統(tǒng)的方法有Jacobi迭代器法、Gauss-Seidel迭代器法和SOR迭代器法等[7]。Krishnan等[8]為出現(xiàn)在各種計算機圖形應(yīng)用領(lǐng)域的離散泊松方程提出一個新的多級預(yù)處理方案。該方法通過去除領(lǐng)域內(nèi)潛在的細微級變量之間的弱連接以及對這些變化的補償,并在所得到的較小系統(tǒng)上遞歸地重復(fù)該稀疏過程可得到較好的加速效果;但文中根據(jù)鄰域內(nèi)粗細變量的拓撲關(guān)系選擇不同的稀疏方法加大了時間消耗,且在迭代過程中不能抑制矩陣條件數(shù)的增長。本文采用分層預(yù)處理器對稀疏矩陣進行預(yù)處理以減少時間消耗,并在構(gòu)建分層預(yù)處理器過程中使用一種更簡單有效的稀疏與補償方法用于劃分強弱連接。
圖1為紡織品主結(jié)構(gòu)與紋理示意圖。圖中右上角是空間重復(fù)紋理的局部放大圖,右下角是含有主結(jié)構(gòu)信息區(qū)域的局部放大圖。本文的目的是快速剔除重復(fù)紋理的同時保留主結(jié)構(gòu)信息,以利于后續(xù)的紡織品輪廓提取以及紡織品圖案形狀位置偏差檢測處理。

圖1 主結(jié)構(gòu)與紋理示例Fig.1 Main structure and texture examples
圖像處理中采用加權(quán)最小二乘法來進行保邊濾波,在保留邊界的同時對圖像進行模糊處理。其中加權(quán)最小二乘法的定義為:
(1)


ax,p(u)=Mx,p(u)+ε-1
(2)
ay,p(u)=My,p(u)+ε-1
(3)
式中:ε是一個很小的正數(shù),Mx,p(u)與My,p(u)是本文提出的輸入圖像u某個像素點p處的懲罰算子,分別定義為:


(6)
式中:σ為超高斯分布的方差,其中進行局部卷積的鄰域;xp為yp為像素點p的橫縱坐標;xq和yq為像素點q的橫縱坐標。

求解式(1)可得輸入圖像與輸出圖像之間的關(guān)系。加權(quán)最小二乘法的求解步驟可參照Farbman等[5]提出的矩陣轉(zhuǎn)換過程。由文獻[5]中求解步驟可得到使求和式(1)最小的輸出圖像S與輸入圖像之間的關(guān)系:

(7)

對于紡織品圖案的圖像,本文提取主結(jié)構(gòu)的算法1步驟如下:1)圖像u、鄰域范圍σ和權(quán)重因子λ作為輸入;2)根據(jù)式(2)、(3)計算x方向和y方向權(quán)重值ax,p(u)、ay,p(u);3)根據(jù)ax,p(u)與ay,p(u)計算矩陣L;4)由式(2)對稀疏矩陣L進行分層預(yù)處理;5)將輸出圖像S作為輸入圖像u,迭代此算法數(shù)次;6)將紡織品圖案作為輸入圖像u計算輸出圖像,迭代數(shù)次可從圖像u中剔除紋理得到主結(jié)構(gòu)圖S。
為驗證本文提出的懲罰算子的有效性,采用了Xu等[9]的紡織品紋理圖案樣本庫,此樣本庫包含了50張紡織圖案,以及對應(yīng)的人工標出的主結(jié)構(gòu)圖案,如圖2所示。
本文使用的每張圖像為從樣本庫中隨機提取出大小為29像素×29像素點區(qū)域的方式生成樣本塊,并根據(jù)人工標出的主結(jié)構(gòu)圖將樣本塊分為主結(jié)構(gòu)樣本塊和紋理樣本塊。圖2(b)、(c)分別是主結(jié)構(gòu)樣本塊和紋理樣本塊的示例。每張圖片生成主結(jié)構(gòu)樣本塊和紋理樣本塊各 2 500 個,這樣就建立了1個主結(jié)構(gòu)樣本塊和紋理樣本塊各125 000張的樣本庫。為驗證懲罰算子的有效性,需要證明懲罰算子能在主結(jié)構(gòu)區(qū)域像素點和紋理區(qū)域像素點附近產(chǎn)生不同的值。
對樣本庫中每一個樣本塊根據(jù)式(4)、(5)計算圖像中心像素點處懲罰算子Mx,p(u)和My,p(u)的值,參數(shù)σ的值定為5。圖3示出對整個樣本庫每個樣本計算懲罰算子的值而得出的主結(jié)構(gòu)樣本塊和紋理樣本塊的Mx,p(u)+Mx,y(u)值分布的概率直方圖。可以看出,本文提出的懲罰算子的值在紋理樣本中分布大多數(shù)集中在0附近,而其在主結(jié)構(gòu)樣本上中主要在區(qū)間0~0.014 都有分布,所以懲罰算子可有效區(qū)分主結(jié)構(gòu)區(qū)域與紋理區(qū)域。

注:圖(a)、(b)中第1行為樣本庫中隨機挑選的紡織品圖案;第2行為與其對應(yīng)的人工標出的主結(jié)構(gòu)邊界;圖(c)第1行紡織品圖案中無主結(jié)構(gòu)邊界,與其對應(yīng)的第2行無圖案信息。圖2 用于測試懲罰算子有效性的樣本庫Fig.2 A sample library for testing validity of a penalty operator. (a) Textile pattern; (b) Samples containing boundaries of main structure; (c) Samples only containing texture

圖3 懲罰算子值的概率分布直方圖Fig.3 Probability distribution histogram of penalty operator values. (a) Texture sample; (b) Main Structure
圖4示出應(yīng)用算法1對紡織品圖案提取主結(jié)構(gòu)的示例,其中迭代次數(shù)為4次。圖4(a)示出大小為250像素×250像素的紡織品圖案的1個示例,圖像在提取主結(jié)構(gòu)后,可用于后續(xù)的形狀位置偏差檢測。圖4(b)示出提取主結(jié)構(gòu)的效果展示。圖4(c)是本實驗室基于機器視覺的紡織品圖案沿輪廓切割項目中的實際圖像,大小為1 280像素×1 024像素。此項目中圖像處理的目標是提取出紡織品花邊所在的輪廓位置以用于切割加工,而使用本文算法提取主結(jié)構(gòu)可減少紋理對提取花邊的干擾。在目前國內(nèi)很多紡織品加工企業(yè)中,紡織品本身品質(zhì)良莠不一,紡織圖案各區(qū)域的濃密程度不一,還存在小的紡織缺陷的干擾,這使提取紡織品輪廓信息難度加大,圖4(c)示例了這種情況,同時比較了不同系數(shù)λ的提取效果,增大λ的值可加大模糊程度,從一致性很差的紡織品中提取主結(jié)構(gòu),有利于后續(xù)的輪廓提取。

圖4 紡織品圖案提取主結(jié)構(gòu)效果Fig.4 Effect of main structure of textile pattern extraction. (a) Figure 1 of raw and extracted; (b) Figure 2 of raw and extracted; (c) Figure 3 raw and extracted
算法1中大規(guī)模稀疏矩陣直接求逆會消耗大量時間,在流水線輪廓切割或形狀位置偏差檢測等實時性要求高的場景下時間代價不可接受,本文采用一種分層預(yù)處理的方案以減少算法中矩陣求逆的時間消耗,定義為算法2。


來消除粗節(jié)點與細節(jié)點之間的聯(lián)系,在矩陣L兩邊分別乘以PT和P,可得到原問題的一個小的子系統(tǒng):
劃分粗細節(jié)點,消除粗節(jié)點與細節(jié)點之間的連接并對此變化進行補償。通過在更小的子系統(tǒng)中迭代該過程可構(gòu)建分層的預(yù)處理器。Krishnan等[10]根據(jù)領(lǐng)域內(nèi)粗細節(jié)點的分布采用不同的稀疏方法,增加了時間復(fù)雜度,且在迭代過程中不能抑制矩陣條件數(shù)的增長。本文提出了一種簡單的局部稀疏和補償算法來劃分粗細節(jié)點。圖5示出一個局部稀疏補償案例。在相鄰的3個節(jié)點組成的三角形中去除最長邊,并將最長邊的權(quán)重分別加到其他兩邊上。圖5(a)為節(jié)點間連接的鄰接矩陣的示意圖, 其中W表示節(jié)點間權(quán)重值。圖5(b)示出某個局部三角形內(nèi)去除最長邊,并將最長邊的權(quán)重用于懲罰三角形中其他兩邊的過程。

圖5 矩陣局部稀疏補償示例Fig.5 Matrix sparse compensation example. (a) Node adjacency matrix diagram; (b) Example of local sparse compensation
算法2為本文在一次稀疏處理中對矩陣L的處理流程:1) 輸入為拉普拉斯矩陣L,當前迭代次數(shù)為t,節(jié)點的網(wǎng)格坐標數(shù)組為X、Y。輸出為代表粗節(jié)點的索引向量C和稀疏后的矩陣L~;2) 去除拉普拉斯矩陣L對角線的元素,將對角線元素存儲在D中,將L中元素的值取其相反數(shù),得到鄰接矩陣;3) 將所有節(jié)點的屬性設(shè)為未知,第1個節(jié)點設(shè)為細節(jié)點;4) 遍歷矩陣中每個節(jié)點i,如果i是粗節(jié)點,則忽略這個節(jié)點,轉(zhuǎn)而對下一個節(jié)點進行處理;如果i是細節(jié)點,遍歷節(jié)點i組成的每個三角形V,去除三角形V最長邊,并懲罰其他兩邊。根據(jù)節(jié)點屬性數(shù)組中的值設(shè)定節(jié)點是粗節(jié)點還是細節(jié)點;5) 矩陣L的值取其相反數(shù),并加上D中對角線元素,得到稀疏后矩陣L~。
其中節(jié)點屬性數(shù)組的分配根據(jù)下式計算。
(8)
式中:t表示當前的迭代次數(shù);x和y表示節(jié)點的網(wǎng)格坐標;當Flag=1時表示節(jié)點為粗節(jié)點,F(xiàn)lag=0時表示節(jié)點為細節(jié)點。
節(jié)點屬性數(shù)組的目的在于根據(jù)迭代次數(shù)的增加,在鄰域內(nèi)均勻交錯的分布粗細節(jié)點。圖6示出對256個分布在16像素×16像素網(wǎng)格坐標中的點,迭代次數(shù)從t=1到t=5變化時粗細節(jié)點屬性分布的一個示例。紅色表示細節(jié)點,黑色表示粗節(jié)點。

圖6 不同迭代次數(shù)的節(jié)點屬性分布示例Fig.6 Example of node attribute distribution at different iterations. (a) First iteration; (b) Second iteration; (c) Third iteration; (d) Fourth iteration; (e) Fifth iteration

圖7示出稀疏的過程,每張圖片代表了1次稀疏過程,其中紅色節(jié)點表示細節(jié)點,黑色節(jié)點表示粗節(jié)點,紅色連接線代表稀疏過程中被去除的邊,藍色連接線表示稀疏過程被保留下來的邊,邊的粗細代表權(quán)重的相對大小。圖7(a)是一個四點鄰域的拉普拉斯矩陣的鄰接圖,節(jié)點之間的連線代表權(quán)重。圖7(h)表示稀疏的最終結(jié)果。

圖7 矩陣被稀疏化的過程Fig.7 Matrix thinning process. (a) Neighborhood weights; (b) First iteration; (c) Second iteration; (d) Third iteration; (e) Fouth iteration; (f) Fifth iteration;(g) Sixth iteration;(h) Seventh iteration


表1 矩陣求逆平均時間比較
由表1中不同圖案大小的平均求解時間及預(yù)處理前后平均求解時間的對比可看出,對于較小的圖案(如64像素×64像素的圖案),預(yù)處理的加速效果不明顯,隨著圖案大小的增加,預(yù)處理前后時間之比越來越大,加速效果越來越明顯。
本文提出一種懲罰算子在加權(quán)最小二乘法處理紡織品圖案過程中對主結(jié)構(gòu)和紋理進行不同程度的模糊處理以剔除紋理,保留主結(jié)構(gòu)。經(jīng)大量樣本測試驗證了懲罰算子在主結(jié)構(gòu)和紋理附近可產(chǎn)生不同大小的權(quán)重值。由于提取主結(jié)構(gòu)過程中稀疏矩陣的求逆時間消耗較大,本文采用分層預(yù)處理對加權(quán)最小二乘法處理紡織品圖案過程中大型稀疏矩陣的求解進行加速,經(jīng)實驗檢測,可在不影響提取主結(jié)構(gòu)效果的同時有效降低稀疏矩陣的條件數(shù)以減少求逆時間消耗,加快主結(jié)構(gòu)的提取速度。
FZXB
參考文獻:
[1] 王耀南,陳鐵健,賀振東,等. 智能制造裝備視覺檢測控制方法綜述[J].控制理論與應(yīng)用, 2015,32(3): 273-286.
WANG Yaonan, CHEN Tiejian, HE Zhendong, et al. A survey of visual detection and control methods for intelligent manufacturing equipment [J]. Control Theory and Application, 2015,32(3): 273-286.
[2] 李文羽, 程隆棣. 基于機器視覺和圖像處理的織物疵點檢測研究新進展[J]. 紡織學(xué)報, 2014,35(3): 158-164.
LI Wenyu, CHENG Longdi. New advances in fabric defect detection based on machine vision and image processing[J]. Journal of Textile Research, 2014,35(3): 158-164.
[3] LISCHINSKI D, FARBMAN Z, UYTTENDAELE M, et al. Interactive local adjustment of tonal values[J]. ACM Transactions on Graphics, 2006,25(3): 646-653.
[4] YIN W, GOLDFARB D, OSHER S. Image Cartoon-texture Decomposition and Feature Selection Using the Total Variation Regularized L1 Functional[M]. Berlin: Springer Berlin Heideberg, 2005:73-84.
[5] FARBMAN Z, FATTAL R, LISCHINSKI D, et al. Edge-preserving decompositions for multi-scale tone and detail manipulation[J]. ACM Transactions on Graphics, 2008,27(3): 1.
[6] FARBMAN Z, FATTAL R, LISCHINSKI D. Diffusion maps for edge-aware image editing [J]. ACM Transactions on Graphics, 2010,29(6):145.
[7] SAAD Y. Iterative Methods for Sparse Linear Sys-tems[M]. 北京:科學(xué)出版社, 2009:245-319.
SAAD Y. Iterative Methods for Sparse Linear Sys-tems [M]. Beijing:Science Press, 2009:245-319.
[8] KRISHNAN D, FATTAL R, SZELISKI R, et al. Efficient preconditioning of lapalacian matrices for computer graphics[J]. ACM Transactions on Graphics, 2013,32(4):142.
[9] XU L, YAN Q, XIA Y, et al. Structure extraction from texture via relative total variation[J]. ACM Transactions on Graphics, 2012, 31(6):139.
[10] KRISHNAN D, SZELISKI R. Multigrid and multilevel preconditioners for computational photography[J]. ACM Transactions on Graphics, 2011, 30(6):1-10.