蔡逸超, 周 曉, 宋明峰, 牟新剛
(武漢理工大學 機電工程學院, 湖北 武漢 430070)
筒子紗作為紡織織造中的關鍵一環(huán),其質(zhì)量直接影響紡織成品的好壞。由于紗線原料質(zhì)量不佳或絡筒工藝不良,筒子紗在成型過程中可能產(chǎn)生各種缺陷。筒子紗的缺陷檢測是保證其自身以及后續(xù)紡織產(chǎn)品質(zhì)量的關鍵工序。傳統(tǒng)紡紗廠采用人工方法檢測筒子紗缺陷效率低,檢測結果的可信度依賴于工人的受訓水平。筒子紗的表面缺陷在視覺上表現(xiàn)比較明顯,在不破壞其已成型結構的前提下,采用機器視覺技術進行檢測可降低人工檢測的成本,提高檢測速度和準確率[1]。
網(wǎng)紗缺陷是筒子紗表面常見的紋理缺陷,其產(chǎn)生原因主要是設備清潔維護不到位,如槽筒回頭點損傷。目前,基于機器視覺對紋理缺陷自動檢測的方法主要有3大類[2]:基于統(tǒng)計的、基于頻譜的和基于模型的檢測方法?;诮y(tǒng)計的紋理缺陷檢測方法通過計算圖像局部鄰域內(nèi)或其間的依賴關系,將窗口內(nèi)的一致性和特異性描述成紋理特征?;诮y(tǒng)計的方法包含互相關、分形維數(shù)、邊緣檢測和灰度共生矩陣[3]等方法;基于頻譜的方法主要有Gabor濾波器[4]、小波變換[5]和離散傅里葉變換等;基于模型的缺陷檢測方法通過控制參數(shù)的模型分布,并將模型參數(shù)作為紋理特征,馬爾科夫隨機場模型[6]是典型的基于模型的缺陷檢測方法。Jing等[7]提出基于Gabor濾波器和黃金圖像減影的方法,該方法正確檢出率可達95.62%,但不適于筒子紗這類沒有規(guī)則紋理基元織物的檢測。Hanmandlu等[8]使用灰度共生矩陣(GLCM)結合ROSETTA方法,針對普通織物有較高的識別率。何薇等[9]提出一種有效提取Gabor濾波最優(yōu)參數(shù)的方法,通過離線構建Gabor小波神經(jīng)網(wǎng)絡重構出無瑕疵的匹配圖像,有效地削弱了織物本身紋理對瑕疵檢測的影響。Zhang等[10]針對織物起球的缺陷提出一種基于小波分解的方法,并利用主分量分析將起球缺陷量化成 5個量級,細化了瑕疵品的分類等級,但檢測對象局限于起球缺陷。Cao等[11]根據(jù)有缺陷織物通常由相對一致的紋理基元和稀疏的缺陷組成的特性,在特征空間中將缺陷織物抽象成1個低秩矩陣加上1個稀疏矩陣,實現(xiàn)了對織物各種缺陷的精確定位并具有較高的魯棒性。然而,利用神經(jīng)網(wǎng)絡訓練需要采集大量缺陷產(chǎn)品樣本。筒子紗瑕疵品占比很小,且缺陷表現(xiàn)形式不規(guī)則,宜采用非訓練方法進行識別。針對筒子紗在成型過程中產(chǎn)生的網(wǎng)紗缺陷,本文提出一種基于多尺度多方向模板卷積的網(wǎng)紗缺陷檢測算法,根據(jù)筒子紗網(wǎng)紗缺陷的圖像特征,該算法構造多個尺度、多個方向的邊緣模板與網(wǎng)紗紋理圖像進行卷積,然后分析卷積響應實現(xiàn)筒子紗的網(wǎng)紗缺陷檢測。
在前期研究中,已設計了基于機器視覺和圖像處理技術的筒子紗缺陷檢測系統(tǒng)[1]。該系統(tǒng)主要由傳送帶、對照式光電開關、LED光源組和工控機組成。系統(tǒng)自動采集待檢筒子紗的圖像,并利用圖像處理算法判斷其是否有表面缺陷。
系統(tǒng)通過對照式光電傳感器信號驅(qū)動。當待檢筒子紗到達指定工作位置時,對照式光電開關受到遮擋發(fā)出工作信號。系統(tǒng)接收到信號后,光源組配合相機組采集筒子紗圖像。然后,利用圖像處理算法對采集的圖像進行缺陷檢測。最后執(zhí)行機構提出有缺陷的筒子紗。系統(tǒng)工作原理示意如圖1所示。
圖1 系統(tǒng)工作原理Fig.1 System working flowchart
缺陷的在線檢測要求筒子紗隨傳送帶運動,為同時保證實時性和圖像分辨率,系統(tǒng)選用大恒圖像的工業(yè)相機,型號為MER-125-30UM。該相機分辨率為1 292像素×964像素,傳感器像元大小為 3.75 μm×3.75 μm,相機支持多級采集調(diào)速,最小曝光時間為19.875 μs。選用型號為FL-CC0814A-2M的Ricoh鏡頭,焦距為12 mm。
為使采集到的圖像中筒子紗紋理清晰,設定筒子紗占圖像0.75倍寬度即已占據(jù)絕大部分像素。根據(jù)中心成像原理,計算出相機與筒子紗之間的標準工作距離。
(1)
式中:μ為像元大小,μm;N為筒子紗在圖像中所占的像素寬度,mm;f為相機焦距,mm;l為筒子紗在成像方向上的實際尺寸,cm;d為相機的工作距離,cm。
筒子紗頂面圓環(huán)的外直徑一般為24 cm,但在實際檢測過程中,不同批次的筒子紗尺寸可能不同,并且其位置會隨傳送帶的位置產(chǎn)生少許偏差。根據(jù)中心成像公式,設置相機與筒子紗頂面的工作距離為110 cm,且鏡頭光心位置與筒子紗理論的中心位置保持一致。按照該尺寸參數(shù),當筒子紗的位置偏離標準位置4 cm以內(nèi),且筒子頂面圓環(huán)直徑不超過32 cm時,系統(tǒng)均能采集完整、清晰的筒子紗圖像。
在圖像采集過程中,還需要考慮相機的曝光時長問題。如果將曝光時間設置得過長,相機的采樣速率降低,采集運動圖像會產(chǎn)生拖影;反之,易使圖像中產(chǎn)生超出容許范圍的大量噪點。根據(jù)中心成像原理,曝光時間的設計應綜合考慮鏡頭焦距、待測物體距離以及物體運動速度等因素。
(2)
式中:u為像元尺寸大小,μm;n為容許的最大拖影像素數(shù)量;v為筒子紗的運動速度,m/s,其值約為0.15 m/s。
為保證成像中筒子紗的缺陷紋理清晰,將n設置為2個像素,可計算得到曝光時間應該設置小于4.1 ms。
在本文系統(tǒng)中,為提高算法的處理速度和魯棒性,通過系統(tǒng)的結構設計隔絕外界自然光照。然后為系統(tǒng)安裝人工光源,通過設計光路和時序控制系統(tǒng)的光照,使系統(tǒng)的光照條件為算法所需狀態(tài)。在本文系統(tǒng)中,相機曝光時間設置為3 ms,通過調(diào)節(jié)LED光源的亮度配合相機拍照。這樣做可保證采集到的圖像質(zhì)量,減少算法的復雜度,以提高處理速度和系統(tǒng)穩(wěn)定性。
本文檢測算法主要分為預處理和缺陷檢測二部分。預處理過程:首先確定筒芯位置,根據(jù)筒芯位置對原始圖像進行極坐標展開;然后,在展開圖中提取待檢測的有效區(qū)域(下稱待檢測圖像)。缺陷檢測部分:首先利用水平方向的一維高斯差分算子提取待檢測圖像的垂直邊緣,通過改變高斯核的標準差獲取不同尺度下的邊緣圖像;然后,將0°~180°離散成多個方向模板,并構造各方向模板圖像分別與多尺度的邊緣圖像進行卷積;然后逐個像素投票各方向模板卷積結果的最大值;最后,對最大相關強度進行閾值處理得到缺陷檢測結果。圖2示出檢測算法的整體框圖。
圖2 算法框圖Fig.2 Algorithm framework
預處理主要功能是提取筒子紗頂面的紋理區(qū)域,并將其展開成易于處理的矩形。在采集到的原圖中,筒子紗的頂面呈圓環(huán)狀,如圖3(a)所示。首先,利用OTSU算法對原圖進行閾值分割,圖3(b)為閾值分割結果。利用分割的前景區(qū)域的質(zhì)心作為中心極坐標展開原圖,并利用豎直方向Sobel算子處理展開圖,得到水平方向的梯度圖像。然后,將梯度圖像豎直方向進行投影,標記投影的最小、最大值位置作為筒子圓環(huán)狀紋理區(qū)域的起始半徑和結束半徑。
圖3 圖像預處理過程Fig.3 Image preprocessing. (a) Original image; (b) Threshold segmentation result; (c) Elliptic fitting result; (d) Ring expansion image
利用二值圖像的前景區(qū)域質(zhì)心作為中心進行極坐標變換只能得到粗略的展開圖,不能準確地將徑向與切向方向映射到矩形的寬、高方向。本文利用展開圖的梯度圖像找到筒子內(nèi)、外半徑的位置,將這些點進行反變換求出原圖中的坐標,并利用橢圓擬合確定筒芯的位置。圖3(c)中白色標記為橢圓的擬合結果。然后,將擬合橢圓的中心作為中心,將原圖進行極坐標展開。最后利用筒子圓環(huán)的起始位置和結束位置信息在展開圖中提取有效檢測區(qū)域,如圖3(d)所示。
提取有效的待檢測區(qū)域后,結合筒子紗表面紋理在展開圖中的特征,本文提出一種基于多尺度多方向模板卷積的網(wǎng)紗缺陷檢測算法。
首先,根據(jù)網(wǎng)紗缺陷的紋理先驗信息,利用水平方向的一維高斯差分算子提取邊緣。通過設置不同標準差的高斯核,提取多個尺度下的邊緣圖像。然后,將0°~180°角度區(qū)間構造多個方向模板,與各尺度下的邊緣模板進行卷積。最后,通過投票方式,記錄每個像素點各尺度下的最強模板卷積結果,作為該點的最大卷積強度圖像。圖4示出缺陷檢測算法示意圖。
圖4 缺陷檢測示意圖Fig.4 Defect detection diagram
2.2.1多尺度邊緣提取
高斯拉普拉斯算子(LoG)對噪聲的魯棒性,是一個常用的邊緣檢測算子。但隨著高斯核尺度的增加,LoG的計算量變得較大。所以,常使用高斯差分算子(DoG)來近似LoG。
(3)
式中:x、y為像素對于中心像素的相對坐標;σ1和σ2分別為高斯濾波核的尺度參數(shù)(σ1>σ2),當二者比例為1.6∶1時,DoG算子可達到近似LoG的效果。高斯差分邊緣通過分別用不同的高斯濾波結果圖像做差得到,濾波核的窗選取 6σ+1 (σ為高斯濾波核的尺度)時可保留絕大部分信息。
筒子紗由紗線卷繞而成,其紋理表現(xiàn)為紗線卷繞產(chǎn)生的切向紋理,而網(wǎng)紗缺陷表現(xiàn)為與筒子自身紗線卷繞方向不同的紋理。在展開圖中,筒子紗自身紋理為水平方向的較弱紋理,網(wǎng)紗缺陷為非水平方向的強紋理,如圖5所示。
圖5 缺陷紋理與正常紋理對比Fig.5 Comparison between normal texture(a) and net-yarn(b) defects
為抑制筒子紗自身紋理的干擾,凸顯網(wǎng)紗缺陷的邊緣,使用水平方向的一維高斯差分算子對圖像進行邊緣提取:
(4)
g1(x,yi)=Gσ1(x)?f(x,yi)
(5)
g2(x,yi)=Gσ2(x)?f(x,yi)
(6)
g(x,yi)=g1(x,yi)-g2(x,yi)
(7)
式(4)為一維高斯函數(shù),式(5)、(6)分別表示對圖像的第i行用尺度為σ1、σ2的高斯核進行濾波,式(7)表示第i行2個尺度高斯濾波的差分結果。分別對圖像每一行進行2個尺度的一維高斯濾波,然后將濾波的結果相減便得到垂直邊緣圖像。圖6示出普通DoG算子和水平DoG算子提取的邊緣圖像。
圖6 普通和水平DoG提取的邊緣圖像Fig.6 Extracted edge images by normal(a) and horizontal(b) DoG
DoG算子高斯核的標準差σ決定提取邊緣的精細程度,σ越大,邊緣提取算子的尺度越大,提取的邊緣越粗大。本文通過選用不同標準差的差分算子,提取多個尺度下的邊緣,可保證一定范圍內(nèi)的尺度魯棒性。
2.2.2多方向模板卷積
由于紗線的表面為纖維材質(zhì),筒子紗表面的基本紋理比較粗糙且不完全表現(xiàn)在水平方向上,從高斯邊緣圖像中無法直接確定缺陷位置。本文提出基于多方向模板卷積的方法,在差分邊緣圖像中分割出缺陷的位置。首先,將0°~180°角度范圍離散為多個方向邊緣模板圖像。角度步距的大小決定了模板數(shù)量,步距越小生產(chǎn)的模板數(shù)量越多,效果越好,但模板數(shù)量的增多也增加了算法的時間消耗。為保證檢測算法的實時性和檢測精度,本文以10°為步距,將0°~180°等距離散為18個邊緣模板圖像。通過縱向的參數(shù)比較,選取模板圖像大小為26像素×26像素,模板圖像邊緣為3個像素寬度。圖7示出離散化的18個方向的邊緣模板。
圖7 多方向邊緣模板Fig.7 Edge template images in multiple directions
圖9 缺陷檢測結果Fig.9 Defects detecting results of net-yarn (a) and cheese (b)
然后,將上述18個方向的邊緣模板圖像分別與多個尺度下的邊緣圖像進行卷積。模板卷積反映各方向模板與邊緣的卷積,響應強度反映邊緣圖像與該方向邊緣模板的相似程度。邊緣越強烈且與該方向模板相似程度越高,相關結果的值越大。在每個像素位置,對各方向模板與各尺度下的邊緣圖像的相關結果投票,得到最大卷積響應圖像。最大卷積響應結果反映筒子紗表面的紋理在非水平方向上的最大強度值。圖8示出最大卷積響應結果經(jīng)過歸一化之后的圖像。
圖8 最大卷積響應結果Fig.8 Maximum convolution value
最后,通過選取經(jīng)驗閾值判定最大相關結果圖像中各像素位置是否為缺陷位置。
(8)
(9)
式中:mi為第i個邊緣模板,i的取值范圍為0,1,2,…,17;j為不同的尺度序號;gj(x,y)為第j個尺度下提取的邊緣圖像;h(x,y)為每個方向的邊緣模板與各邊緣圖像卷積結果的最大響應值;T為經(jīng)驗閾值;fd(x,y)為最終的缺陷檢測結果。
為評估算法的缺陷檢測效果,本文對一系列樣本進行實驗。采用的計算機處理器為Intel core i7-6700HQ,8 GB內(nèi)存,平臺為Windows 10 ×64和VS 2015。圖9示出部分實驗樣本的缺陷識別結果。
算法中需要設計的參數(shù)有高斯濾波核的尺度參數(shù)σ1、σ2,以及分割最大方向相關強度的經(jīng)驗閾值T。本文選取經(jīng)驗閾值T=1.0,在此基礎上設置不同尺度的濾波核的缺陷識別結果,其中σ1=1.6σ2。高斯核的尺度參數(shù)過小,會存在明顯的缺陷漏檢現(xiàn)象;但是尺度太大時, DoG邊緣算子除提取缺陷之外,還增強了一些單獨疵點和筒子紗的本身紋理??紤]到筒子紗表面的疵點主要是附著在表面的贓物而非成型不良造成,在后續(xù)工序中可方便地去除,本文選取σ2分別為0.8、1.0、1.2、1.4、1.6尺度的DoG算子提取邊緣。
得到檢測結果圖像后,根據(jù)檢測結果二值圖像中的前景像素的區(qū)域特征判斷是否為網(wǎng)紗。因為筒子紗表面在生產(chǎn)過程中可能會附著一些臟點,這些臟點會產(chǎn)生很小范圍的響應,但并不是網(wǎng)紗缺陷。 在檢測結果圖像中,如果前景像素構成連通域的主方向的長度超過30像素,認為該結果對應1處網(wǎng)紗缺陷。否則,當連通域的主方向長度小于30像素,判定該檢測結果對應正常筒子紗。
本文使用檢測成功率評價算法效果,當筒子紗的網(wǎng)紗缺陷與識別的缺陷結果的像素重合率達到80%以上時,視為1處正確的檢測,否則視為檢測錯誤。選取100處缺陷進行檢驗,本文算法的識別準確率為0.96。經(jīng)過優(yōu)化后,算法檢測1個筒子紗耗時約為230 ms,具有較高實時性,可滿足實際生產(chǎn)過程中的筒子紗缺陷檢測。
本文提出基于多尺度多方向模板卷積的筒子紗缺陷檢測算法。該算法首先利用閾值分割和極坐標變換等技術對筒子紗圖像進行預處理,將其展開成便于處理的矩形。然后根據(jù)筒子紗自身紋理以及缺陷特征的先驗信息,構造多個尺度的DoG算子提取邊緣,再構造多方向邊緣模板與多尺度邊緣圖像卷積,最后利用經(jīng)驗閾值分割最大卷積響應圖像得到缺陷。通過實驗驗證,該算法能夠有效檢測筒子紗表面的網(wǎng)紗缺陷,并具有較高實時性和識別準確率。