師 昕, 趙雪青
(西安工程大學 計算機科學學院, 西安 710048)
織物疵點檢測是紡織品質量監控中一項最重要的工序, 織物疵點主要指紡織品在紡紗、織造、印染等過程中由于原材料質量、機械故障、工人疏漏等原因造成的表面瑕疵, 不僅對織物成品的質量造成負面影響, 同時會帶來較大的經濟損失[1].因此, 在坯布進行再加工之前, 需要進行嚴格的質量檢測.然而, 現有的織物質量檢測仍多依賴于人工作業, 不僅枯燥且重復性極強, 要求作業工人精力高度集中, 通過視覺發現織物疵點并進行修整和標注, 這種檢測方法不僅耗時而且嚴重傷害工人的視覺[2,3], 面臨日益上漲的人工成本, 已難以滿足市場對高質量紡織品的需求.因此, 順應工業4.0時代的發展要求, 紡織行業的智能化已成為不可避免的趨勢, 其中使用機器視覺代替人工進行疵點檢測,不僅可以提高檢測效率和精度, 更能有效控制成本, 已成為眾多紡織企業的迫切需求[4].
近年來, 隨著計算機視覺、數字圖像等信息技術的不斷發展, 其在紡織品生產及質量控制上的應用也吸引眾多國內外學者進行研究[5-7].通常, 數字化的織物疵點圖像在空間域上可由灰度值矩陣表示, 疵點與背景的區別主要表現在灰度值無規律的突變, 在一定范圍內可表示為織物圖像的邊緣[8].因此, 結合圖像邊緣檢測技術進行織物疵點檢測是非常有效的方法.常用的邊緣檢測方法有Canny、Sobel、Laplacian、Prewitt等方法, 其中, Canny因其檢測精度高, 信噪比大等優點, 在織物疵點檢測領域得到廣泛應用[9].然而, 傳統圖像邊緣檢測過程中, 通常結合專家經驗和視覺感知來界定圖像邊緣[10], 基于Canny的方法僅利用圖像中的梯度值與梯度方向來確定邊緣, 并未考慮視覺感知這一因素對邊緣檢測結果的影響, 因此, 使用基于Canny的方法檢測出的織物疵點, 常與實際視覺檢測的結果產生差異, 從而導致錯檢, 多檢等問題[11].
本文受到人類視覺系統中視覺通路對圖像邊緣信息處理機理的啟發, 提出一種基于視覺感知機制的自適應織物疵點輪廓檢測方法.首先, 模擬視覺系統中視網膜感受野對視覺信息的處理機制構建織物疵點圖像濾波模型, 該模型可在濾除織物疵點圖像噪聲信息的同時, 增強疵點信息的強度; 其次, 基于視覺通路初級視皮層(V1)區對視覺信息響應的方向選擇性建立織物疵點圖像邊緣檢測模型, 實現對織物疵點圖像邊緣信息的提取; 最后, 根據織物疵點圖像的邊緣檢測結果,采用自適應閾值選擇的方法[12], 對織物疵點邊緣檢測結果進行二次檢測, 獲得織物疵點的輪廓.
生物實驗研究表明, 人類獲取的視覺信息, 主要通過外界光刺激視網膜, 經視覺神經傳導并最終在大腦視覺中樞進行加工和分析后獲得的主觀感覺[13].如圖1所示, 視網膜和大腦皮層是視覺信息形成的最為重要的兩個功能區, 其中, 視網膜負責感光成像, 且由于視網膜細胞感受野的存在, 對成像信息具有增強/抑制的功能[14].大腦皮層中與視覺有關的神經細胞群形成視覺中樞, 對經由視覺神經傳導而來的信息進行整合加工, 進而形成完整的視覺認知, 其中, 對邊緣信息的加工主要位于大腦皮層的初級視皮(V1)區域[15].

圖1 視覺信息處理機制流程圖
針對織物疵點圖像進行預處理, 模擬視覺系統中視網膜感受野對視覺信息的處理機制構建織物疵點圖像濾波模型進行濾波, 同時, 針對濾波后的織物疵點圖像采用圖像增強的方法進行疵點增強.視網膜中的神經節細胞, 其感受野(單個細胞接收刺激的區域)在空間上的分布表現為同心圓結構[16,17].Rodieck[18]通過生物實驗證明, 同心圓結構感受野的中心和周圍區域具有拮抗性, 且均服從高斯分布, 但感受野中心區域的敏感度更高.根據感受野的反應敏感性, 可將其分為兩類,中心興奮-周圍抑制型(on型)及中心抑制-周圍興奮型(off型), 由于中心區域和周圍區域的響應強度與刺激時間有關, 基于以上生理學研究, 提出on型視網膜感受野模型如式(1)所示.

式中,Rc(t)和Rs(t)為根據生理學實驗得到視網膜響應關于時間變化的函數[19], σc和 σs分別為感受野模型中心區域和周圍區域的半徑, 且 σc≈1/3×σs.Gσ(x)為高斯函數, 定義為式(2).

其中, σ為高斯函數的方差.off型視網膜感受野模型為on型視網膜感受野模型的相反數, 即Retinaoff(x)=-Retinaon(x).
圖2所示為本文模擬視網膜感受野的生理學基礎所提出的濾波器在不同時間取值下的頻域示意圖.明顯地, 當時間取值合適(如t=30 ms)時, 該濾波器呈現出帶通特性.因此, 使用式(1)定義的視網膜感受野模型對織物疵點圖像進行帶通濾波, 既可以濾除低頻區域的噪聲信息, 又可以增強位于高頻區域的疵點邊緣信息.

圖2 視網膜感受野模型的頻率域示意圖
相關生物生理學研究表明, 作為哺乳動物的視覺神經中樞, 初級視皮層V1區的神經元呈現出方向選擇特性, 即單個神經元細胞僅對特定方向的邊緣、輪廓信息有響應.此外, 視網膜細胞的輸出沿特定方向排列決定初級視皮層V1區神經元的方向選擇性[20].以上研究為符合人類視覺感知的輪廓檢測方法[21]提供了生物學依據.
首先, 初級視皮層V1區的神經元細胞接收來自視網膜細胞的輸出作為輸入, 如式(3):

其中,Imageinput為灰度化和歸一化后的織物疵點圖像,Retinaδ(x,y)為式(1)定義的視網膜感受野模型,δ決定感受野極性為on型或off型.使用視網膜感受野模型對織物疵點圖像進行卷積操作, 得到視網膜細胞的輸出.
其次, 對空間上臨近的若干個視網膜細胞的輸出進行加權求和形成子單元的響應, 如式(4), 式(5)所示:


根據神經生理學對人眼視網膜特性的研究, 本文中設置d0=2,α=0.9為固定參數.
最后, V1區細胞的方向選擇性由多個子單元沿特定方向排列而成, 定義為這些子單元的幾何加權平均,如式(7), 式(8)所示:

其中, Sδi,σi,ρi,φi(x,y)為式(4)得到的若干個視網膜細胞加權求和形成的子單元響應, ωi定義為關于視網膜細胞相對于子單元中心的幅值 ρi的高斯函數,C為組成V1區細胞響應的多個子單元集合.當且僅當所有的子單元都被激活時, 這些子單元組成的初級視皮層V1區的細胞才被激活.
初級視皮層V1區細胞針對不同方向的選擇性可以通過改變子單元位置參數得到, 模型中定義 ψ (C)為一系列不同方向角度對應的子單元位置參數集合.使用具有不同方向選擇性的模型對輸入的織物疵點圖像進行處理, 即可以獲得織物疵點圖像在各個方向的邊緣.最后, 使用最大化操作方法對各個方向的邊緣圖像進行合并, 如式(9):

為了盡可能排除干擾, 保留相對較明顯的邊緣信息, 對合并后的織物疵點邊緣圖像進行非極大值抑制,僅保留某邊緣梯度方向上的局部最大值, 得到最終的織物疵點邊緣響應圖像.
通過邊緣檢測和非極大值抑制得到的織物疵點邊緣圖像, 采用閾值控制來濾除噪聲及微小變化引起的偽邊緣, 從而獲得織物疵點的輪廓圖像.本文使用Otsu法[22]對織物疵點的邊緣圖像進一步分割, 將取得最大類間方差時的分割值作為閾值, 對織物疵點邊緣檢測結果進行二次檢測, 獲得織物疵點的最終輪廓, 從而實現自適應的檢測織物疵點檢.其中, 類間方差定義如式(10):

其中, ω1,ω2分別為疵點像素和非疵點像素占比,μ1,μ2為疵點像素和非疵點像素平均邊緣響應強度, μ為織物疵點邊緣圖像總平均強度, 定義如式(11)所示:

通過大量的實驗對不同類型的織物疵點圖像進行輪廓提取, 可以提取出較好的織物疵點輪廓信息時, 閾值約為77.
本文提出的算法步驟如算法1所示.

算法1.基于視覺感知機制的織物疵點輪廓檢測算法輸入: 待檢測織物疵點圖像I(x, y), 大小為M×N輸出: 織物輪廓圖像J(x, y), 大小為M×N 1.對待檢測的織物疵點圖像I(x, y)進行灰度化和歸一化;2.根據式(1)和式(3)對織物疵點圖像進行帶通濾波;images/BZ_330_594_2033_657_2062.png3.根據式(4)-式(8)生成由 定義的各個方向的織物疵點邊緣圖像;4.根據式(9)對各個方向上的織物疵點邊緣圖像進行合并;5.對第4步得到的織物疵點邊緣圖像進行非極大值抑制;

6.根據式(10)和式(11)進行自適應閾值選擇, 二值化圖像并得到最終的織物輪廓圖像J(x, y).
為驗證本文算法的有效性與可行性, 本文選取TILDA[23]公開數據庫中破洞、紗疵、油污、跳經4種典型的織物疵點圖像進行驗證, 其中每種類型的疵點圖像各50張, 共200張.實驗平臺的硬件配置如下:Intel Core i5-8250U CPU 1.6 GHz; 內存 16 GB; SSD 512 GB; 操作系統Windows 10.程序基于Anaconda 4.3.30的軟件平臺的Python語言開發.
為進一步驗證本文方法的有效性, 實驗中采用基于不同閾值的Canny疵點檢測方法[9]、基于小波變換的方法[24]及基于Gabor變換的方法[25]作為對比, 分別從主觀感受和客觀指標評價兩個角度進行比較與分析.分別對200張疵點圖像使用C/B比值指標進行測試并取每類疵點的C/B平均值見表1所示.C/B比值法, 是一種反應邊緣線性連接程度的基于連通成分的評價方法, 其中C表示4連通成分數, B表示8連通成分數,n連通成分數定義為滿足式(12)的集合S的個數,

表1 不同方法的C/B比值對比

其中,UImage表示織物疵點圖像所有像素組成的集合,Nn(i)稱為像素i的n鄰域.文獻[26]中提出, 通過數學歸納法證明可知, C/B比值越小時, 邊緣線性連接程度越好, 提取出的邊緣效果越好.
首先, 對不同方法的檢測結果從主觀感受角度進行定性分析.如圖3所示, 為不同方法對破洞、紗疵、油污、跳經4類疵點的檢測結果, 其中圖3(a)為原始的織物疵點圖像, 圖3(b)為設置高閾值為0.3的Canny算法檢測結果, 圖3(c)為設置高閾值為0.7的Canny算法檢測結果, 圖3(d)為基于Gabor變換的檢測結果, 圖3(e)為基于小波變換的檢測結果, 圖3(f)為本文提出的方法得到的檢測結果.針對破洞類疵點,Canny算法可以檢測出其輪廓信息, 但是由于Canny算法中的雙閾值控制部分選擇的閾值不同, 較小閾值(0.3)如圖3(b)所示, 雖可以保留更多邊緣信息, 但同時會引入較多偽邊緣, 而較大的閾值(0.7)如圖3(c)所示, 在剔除掉偽邊緣的同時也會誤刪部分真實輪廓信息.基于Gabor變換的檢測方法, 如圖3(d)所示, 雖可以準確定位破洞疵點輪廓, 但是由于Gabor濾波器的方向選擇性由不同參數的排列組合決定, 最終檢測結果由各個方向上的邊緣融合而成, 因此會導致粗邊緣的產生.基于小波變換的檢測方法, 如圖3(e)所示, 也可準確定位出疵點輪廓, 但是受到噪聲影響較大.而本文提出的方法, 如圖3(f)所示, 不僅可以準確定位出破洞疵點的完整輪廓, 而且受到噪聲影響較小.針對紗疵類疵點, 4種方法的輪廓檢測效果均差強人意, 主要原因可能由于原始疵點圖像中, 疵點輪廓信息并不明顯導致.針對跳經類疵點, Canny算法可檢測出疵點在水平方向上的斷裂信息, 但是整體的輪廓提取或受噪聲影響較大(高閾值為0.3的Canny算法)或提取不完整(高閾值為0.7的Canny算法), 基于Gabor變換和小波變換的方法, 無法提取出跳經類疵點.本文提出的方法,可以完整提取出跳經類疵點在垂直方向上的輪廓, 但無法反映出水平方向上的斷裂信息.針對油污類疵點,0.3閾值的Canny算法引入過多噪聲, 0.7閾值的Canny算法輪廓定位不完整, 基于Gabor變換的方法會得到粗邊緣, 而基于小波變換的方法, 無法提取出輪廓信息.本文提出的方法, 可以定位出油污輪廓, 且受噪聲影響可忽略.

圖3 不同方法針對破洞、紗疵、跳經及油污4種典型織物疵點類型的檢測效果對比圖
其次, 對不同檢測方法取得的織物疵點輪廓圖像進行C/B比值的計算, 表1為本文方法與對比方法的C/B比值數據表.由表1可知, 使用本文提出的織物疵點輪廓檢測方法對破洞、紗疵、跳經和油污4類織物疵點圖像進行疵點檢測, 其檢測結果的C/B比值均小于其他方法.具體地, 針對不同種類疵點, 本文方法的檢測結果均得到最小的C/B比值.其余方法的C/B比值按照從大到小的順序依次為, 高閾值為0.7的Canny算法, 高閾值為0.3的Canny算法, 基于Gabor變換的方法, 基于小波變換的方法, 這與主觀感受分析結果較為符合.此外, 針對破洞、紗疵、跳經、油污這4類疵點, 本文方法的C/B比值相較于高閾值為0.7的Canny算法, 分別降低了38%、22%、15.8%和43%, 這說明本文提出的方法可以獲得連接效果較好的輪廓線.
綜上, 通過對實驗結果的主觀感受和客觀指標C/B比值法進行分析可知, 使用本文提出的方法進行疵點檢測, 不僅無需對參數進行手工設置即可自適應的完成整個檢測流程, 而且可較為準確地提取出破洞類和油污類疵點的輪廓信息以及跳經類疵點在垂直方向上的輪廓信息, 且檢測結果受到噪聲的影響較小.
本文提出一種基于視覺感知的自適應織物疵點檢測方法, 對視覺通路中的視網膜具有的濾波功能及初級視覺皮層(V1)區細胞具有的方向選擇性進行建模,實現織物疵點圖像的邊緣檢測, 并通過自適應閾值控制, 對織物疵點邊緣圖像進行二次處理, 最終提取出織物疵點的輪廓.實驗結果表明, 使用本文方法對含有疵點的織物圖像進行檢測, 尤其是對油污和破洞類疵點的檢測效果較好, 跳經類疵點的檢測效果次之, 對于紗疵類疵點, 雖然能夠檢測出該類型疵點的存在, 但是對其疵點輪廓區域的定位較差.其主要原因是由于紗疵類疵點的輪廓不顯著, 難以準確定位, 下一步研究工作將針對紗疵類疵點的準確定位展開研究.