史先傳,許議元,殷 帥
(常州大學(xué) 機(jī)械與軌道交通學(xué)院,江蘇 常州 213164)
織物在染色、漂洗等工藝流程中,均會(huì)產(chǎn)生不同程度的緯斜量,需要經(jīng)過整緯機(jī)矯正、定型機(jī)熱定型后,才能達(dá)到成品布料的質(zhì)量標(biāo)準(zhǔn)[1-3]。緯斜檢測(cè)的準(zhǔn)確性直接關(guān)系到整緯機(jī)的矯正效果。目前,國內(nèi)緯斜檢測(cè)的主流技術(shù)依然是光電檢測(cè)技術(shù),雖然在檢測(cè)實(shí)時(shí)性上占有一定優(yōu)勢(shì),但所能檢測(cè)的織物種類存在局限性,例如對(duì)于透光性較差的厚重布料,光電檢測(cè)信號(hào)較弱[4-6]。而機(jī)器視覺作為一種高效、無接觸的檢測(cè)技術(shù),已經(jīng)開始應(yīng)用于織物緯斜的檢測(cè)中[7-8]。
國外的Leimer公司在基于機(jī)器視覺的整緯機(jī)開發(fā)上處于業(yè)內(nèi)領(lǐng)先水平。其研發(fā)的整緯系統(tǒng)自動(dòng)化水平高,對(duì)圖像數(shù)據(jù)處理速度快,在織物行進(jìn)速度高達(dá)150 m/min時(shí)仍能穩(wěn)定工作,整緯率可達(dá)100%,且對(duì)于不同種類的織物均能保證檢測(cè)質(zhì)量,適應(yīng)性較廣。其額外添加的監(jiān)控系統(tǒng)通過自檢便能實(shí)現(xiàn)故障排查。Mahlo公司的寬幅圖像整緯機(jī)適用于緯斜角度在30°范圍內(nèi)的絕大多數(shù)織物,允許的織物幅面長度最高可達(dá)4 000 mm,視覺檢測(cè)系統(tǒng)在檢測(cè)緯斜的同時(shí)還能檢測(cè)出緯紗的密度。其自身的恒張力控制機(jī)構(gòu),可以防止寬幅織物在行進(jìn)過程中出現(xiàn)褶皺影響整緯效果。此外,整緯機(jī)還配有觸摸屏外設(shè),使人機(jī)交互更為便捷。
近年來,國內(nèi)多家企業(yè)在機(jī)器視覺整緯機(jī)的開發(fā)上也取得了一定的成效,如常州宏大公司生產(chǎn)的智能圖像整緯機(jī),利用多部面陣相機(jī)結(jié)合透射與反射兩種紅外光源,對(duì)織物實(shí)行全幅采集檢測(cè)實(shí)現(xiàn)整緯矯正。但國內(nèi)的攝像整緯技術(shù)還不夠成熟,在實(shí)際生產(chǎn)運(yùn)行的復(fù)雜工況下仍不夠穩(wěn)定,無法完全取代光電整緯機(jī),與國外先進(jìn)技術(shù)水平存在一定的差距[9]??椢锓N類繁雜多樣,國內(nèi)學(xué)者都在試著尋求一種適應(yīng)性較廣的緯斜檢測(cè)算法。對(duì)此,董燕等提出了離散傅里葉變換結(jié)合多步投影分析的緯斜檢測(cè)算法,通過對(duì)頻譜圖像的投影映射統(tǒng)計(jì),計(jì)算得到緯斜角度[10]。王蕾等分析織物二值化后的頻譜圖像,計(jì)算功率譜后利用霍夫變換確定緯斜方向[11]。劉建寶等在傳統(tǒng)最大類間方差法的基礎(chǔ)上進(jìn)一步優(yōu)化,分步分割出緯紗紋理后進(jìn)行窗口像素統(tǒng)計(jì),統(tǒng)計(jì)結(jié)果中的最大值所對(duì)應(yīng)的窗口角度即為緯紗傾斜的方向[12]。但上述文獻(xiàn)多局限于對(duì)于織物圖像的離線檢測(cè),在少有的針對(duì)實(shí)時(shí)動(dòng)態(tài)攝像檢測(cè)的設(shè)計(jì)中,樓躍升等指出投影法會(huì)統(tǒng)計(jì)到干擾信息,從而弱化了主要的紋理信息,不可避免地降低檢測(cè)結(jié)果的準(zhǔn)確性,并提出了頻域次亮點(diǎn)檢測(cè)法。但該方法存在一定的局限性,實(shí)驗(yàn)表明該方法的檢測(cè)精度受織物紋理數(shù)目的影響,對(duì)于紋理數(shù)目較少的織物檢測(cè)誤差會(huì)偏大[13]。這些理論基礎(chǔ)與實(shí)踐探究都為攝像整緯技術(shù)的不斷改進(jìn)提供了很好的借鑒。
在動(dòng)態(tài)采集的過程中實(shí)時(shí)檢測(cè)緯斜,必須要兼顧檢測(cè)精度以及檢測(cè)耗時(shí)這兩個(gè)關(guān)鍵因素。為解決這一問題,針對(duì)性地研究了基于機(jī)器視覺的緯斜檢測(cè)算法。在頻域內(nèi)采用改進(jìn)后的巴特沃斯陷波濾波器濾除干擾像素,得到緯紗紋理較為凸顯的織物圖像。分析緯紗紋理特征后計(jì)算其自相關(guān)圖像,結(jié)合邊緣檢測(cè)與Blob分析,將紋理區(qū)域提取出來,再對(duì)紋理區(qū)域進(jìn)行霍夫變換,閾值自適應(yīng)后檢測(cè)出緯斜角度,實(shí)現(xiàn)準(zhǔn)確高效的緯斜檢測(cè)。最后搭建了由六臺(tái)CMOS工業(yè)相機(jī)構(gòu)成的采集系統(tǒng),模擬攝像整緯機(jī)的工作過程,動(dòng)態(tài)抓拍織物圖像,并在上位機(jī)控制系統(tǒng)中檢測(cè)緯斜,觀察緯紗變化趨勢(shì),綜合結(jié)果誤差與檢測(cè)耗時(shí)驗(yàn)正所提出方法的合理性。
由相機(jī)采集到的原始織物圖像需進(jìn)行預(yù)處理。預(yù)處理的主要目的在于濾除噪聲、經(jīng)紗紋理等干擾像素,尤其是對(duì)于經(jīng)紗密度大于緯紗密度的織物,其經(jīng)紗紋理相較于緯紗紋理更加明顯,會(huì)對(duì)緯紗的檢測(cè)造成較大的干擾。而織物圖像上的干擾像素分布各不相同,在空間域中很難系統(tǒng)地分析,因此選擇利用傅里葉變換,將圖像轉(zhuǎn)變到頻域中處理。
圖1是同一織物處于不同緯斜角度時(shí)的頻譜圖像。當(dāng)織物緯紗傾角發(fā)生θ0的變化時(shí),由于傅里葉變換的旋轉(zhuǎn)性質(zhì)f(r,θ+θ0)?F(ω,φ+θ0),其頻譜圖像也會(huì)發(fā)生相應(yīng)角度θ0的變化。而當(dāng)織物緯斜角度為0°時(shí),緯紗紋理信息在頻域中則被集中反映在豎直方向的頻段上,頻域次亮點(diǎn)檢測(cè)法也由此衍生而出。鑒于該方法存在的缺陷,在頻域中只對(duì)織物圖像作預(yù)處理,將包含緯紗信息的頻段作保留處理,屏蔽包含經(jīng)紗和其他干擾信息的頻段,便能達(dá)到頻域?yàn)V波的目的。
圖1 同一織物不同緯斜角的頻譜圖像
在M×N尺寸的織物圖像上,點(diǎn)(x,y)處的灰度值可以用實(shí)函數(shù)f(x,y)表示,其快速傅里葉變換得到的頻譜圖像具有共軛對(duì)稱性,即:
F*(u,v)=F(-u,-v)
(1)
式中,F(xiàn)(u,v)表示f(x,y)的傅里葉變換,F(xiàn)*(u,v)表示F(u,v)的共軛,u,v為頻域變量。
根據(jù)這一性質(zhì)可知,這些頻段不可能獨(dú)立出現(xiàn)。對(duì)于這種對(duì)稱存在且較為分散的頻段,可以用巴特沃斯陷波濾波器來屏蔽[14],其產(chǎn)生公式為:
(2)
式中,D0表示濾波半徑。D1,D2分別表示點(diǎn)(u,v)到(uk,vk)和(-uk,-vk)的距離。n表示巴特沃斯陷波濾波器的階數(shù),用于調(diào)整濾波器的陡峭程度,避免圖像產(chǎn)生振鈴現(xiàn)象。
濾波器使以(uk,vk)和(-uk,-vk)為濾波中心的圓形范圍頻段的響應(yīng)值為0,歐式距離Di(i=1,2)表達(dá)式如下:
(3)
由于待濾除的經(jīng)紗頻段多呈高亮條帶狀,因此在濾除經(jīng)紗頻段的同時(shí),要保留鄰域頻譜能量,以保證濾波后的圖像細(xì)節(jié)能被還原。故在選擇阻帶時(shí),要求阻帶的形態(tài)較窄,然而傳統(tǒng)的巴特沃斯陷波濾波器是基于圓形區(qū)域的阻帶,會(huì)削弱非目標(biāo)區(qū)域的頻譜能量,導(dǎo)致濾波后的緯紗邊緣發(fā)生一定程度的模糊和振鈴。針對(duì)傳統(tǒng)巴特沃斯陷波濾波器在此應(yīng)用背景下的缺陷,本文將鄰域阻帶近似地設(shè)計(jì)成橢圓形,從而精準(zhǔn)濾除目標(biāo)頻段[15]。
若橢圓鄰域阻帶的長軸為a,短軸為b,傾斜角度為θ,則橢圓鄰域阻帶內(nèi)的點(diǎn)D(x,y)可表示為:
(4)
圖2 織物預(yù)處理前后對(duì)比
紋理是描述織物結(jié)構(gòu)的基本屬性,從圖像處理的角度出發(fā),可以由灰度值、形狀特征、空間位置關(guān)系等多個(gè)角度定量分析。經(jīng)預(yù)處理后的織物圖像中,經(jīng)紗紋理像素已被弱化,緯紗紋理按照特定規(guī)律緊密排列在一起,與緯紗間的間隙呈現(xiàn)出明顯的高低灰度交替變化,即緯紗的紋理特征[16]。若將緯紗紋理視為由若干相互關(guān)聯(lián)的像素點(diǎn)構(gòu)成的基元,則可通過構(gòu)建灰度共生矩陣計(jì)算其相關(guān)性[17]。
設(shè)織物圖像為I(M,N),圖像上存在任意一點(diǎn)A(x,y),以及不與其重合的一點(diǎn)B(x+dx,y+dy)。若此時(shí)A點(diǎn)處的灰度值為li(x,y),B點(diǎn)處的灰度值為lj(x,y),則在點(diǎn)A移動(dòng)的過程中,會(huì)產(chǎn)生不同的(li,lj),倘若圖像中共存在256個(gè)灰度等級(jí),則會(huì)產(chǎn)生256×256個(gè)(li,lj)的組合。對(duì)于整幅織物圖像,統(tǒng)計(jì)出每種組合出現(xiàn)的次數(shù),并計(jì)算其頻率,將結(jié)果排列構(gòu)成矩陣,即為灰度共生矩陣P256×256。灰度共生矩陣的相關(guān)性可以間接反映出原織物灰度圖像中行列像素點(diǎn)間灰度值的相似程度,其計(jì)算表達(dá)式為:
(5)
式中,P(i,j)代表灰度共生矩陣中第i行j列的元素。
(6)
(7)
(8)
(9)
灰度共生矩陣及相關(guān)性計(jì)算結(jié)果如圖3所示。計(jì)算結(jié)果表明,紋理彼此間存在較大的相關(guān)性,可以將圖像與自身作自相關(guān)計(jì)算,得到其自相關(guān)圖像,獲取緯紗紋理像素點(diǎn)在圖像空間中的位置分布,達(dá)到間接提取緯紗紋理的目的,其計(jì)算表達(dá)式為:
(10)
式中,f(x,y)°f(x,y)表示空域自相關(guān),f*(m,n)表示f(m,n)的共軛,M與N分別代表圖像的寬度與高度尺寸。
由于直接在空間域計(jì)算織物圖像的自相關(guān)圖像計(jì)算量較大、耗費(fèi)時(shí)間長,為了減小計(jì)算量,考慮在頻域中進(jìn)行自相關(guān)計(jì)算??沼蜃韵嚓P(guān)在頻域中可等價(jià)為:
f(x,y)°f(x,y)?F*(u,v)F(u,v)
(11)
由此,可在預(yù)處理的頻域?yàn)V波結(jié)束后,對(duì)頻譜圖像作自相關(guān)計(jì)算,計(jì)算結(jié)果如圖4(a)所示。再由頻域返回到空間域,獲得圖4(b)所示的空域自相關(guān)圖像,從微觀角度,原本的緯紗紋理被細(xì)化成分布規(guī)律的局部灰度峰值像素點(diǎn);而從宏觀角度,緯紗紋理已表現(xiàn)為一條條等距分布的平行線。在此基礎(chǔ)上執(zhí)行邊緣檢測(cè)和Blob分析,便能提取出清晰的緯紗紋理區(qū)域。
圖3 灰度共生矩陣相關(guān)性計(jì)算結(jié)果
圖4 自相關(guān)圖像
緯紗邊緣是由緯紗間灰度發(fā)生快速變化的鄰域產(chǎn)生的,其變化劇烈程度可以用梯度來度量,從而判斷緯紗的紋路走勢(shì)[18]??椢飯D像作為離散數(shù)字圖像,其梯度是由圖像分別在x、y方向上的偏導(dǎo)數(shù)計(jì)算得到的,若圖像中某一像素點(diǎn)(x,y)的像素值為f(x,y),則其在(x,y)處的梯度f(x,y)可用式(12)表示,并可根據(jù)梯度分量計(jì)算該點(diǎn)處的幅值大小。
(12)
(13)
CMOS 相機(jī)實(shí)況采集得到的織物圖像易參雜噪聲,而邊緣檢測(cè)的Sobel算子是由Gaussian平滑和微分結(jié)合而成的離散型差分算子,對(duì)噪聲有抑制作用[19]。Sobel算子采用水平和豎直的離散近似模板求取兩個(gè)方向的梯度分量,一般來說掩碼模板的大小為3×3,但實(shí)際情況下小模版對(duì)織物紋理邊緣的檢測(cè)結(jié)果較為模糊,為了得到輪廓更加清晰的邊緣圖像,采用7×7的大模板掩碼。由帕斯卡三角形分別確定平滑系數(shù)和差分系數(shù)的向量,得到水平方向的掩碼Sobel1,將其轉(zhuǎn)置即為豎直方向的掩碼Sobel2。
對(duì)于層級(jí)為i位置為j的帕斯卡系數(shù),可由來P(i,j)表示:
(14)
而模板大小為n的各個(gè)平滑系數(shù)S(k)和差分系數(shù)D(k)可分別記為:
S(k)=P(n-1,k)
(15)
D(k)=P(n-2,k)-P(n-2,k-1)
(16)
式中,k(0≤k≤n-1)表示系數(shù)所在位置。
則水平方向的掩碼模板Sobel1可表示為:
(17)
于是可計(jì)算得到7×7大小模板的x方向掩碼Sobel1為:
其中,中心系數(shù)權(quán)重較大是為了起到平滑邊緣的作用,而總和為0是為了使灰度一致的區(qū)域不產(chǎn)生梯度。
利用7×7模板Sobelk(k=1,2)分別與以(x,y)為中心的7×7窗口w[f(x,y)]做卷積運(yùn)算,得到水平與豎直方向上的梯度分量fx(x,y),fy(x,y),根據(jù)式(18)計(jì)算得到(x,y)處的輸出值,圖5為最終輸出的邊緣方向圖,邊緣方向與緯紗傾斜方向一致。
(18)
式中,α表示衰減因子,用于防止計(jì)算結(jié)果溢出最大值255,取α=2。
圖5 織物邊緣方向圖
在經(jīng)過頻域?yàn)V波、自相關(guān)計(jì)算和邊緣檢測(cè)后,織物的邊緣方向圖主要由緯紗和背景兩部分的像素點(diǎn)構(gòu)成,統(tǒng)計(jì)[0,255]區(qū)間上各個(gè)灰度級(jí)的像素點(diǎn)個(gè)數(shù),繪制灰度直方圖,如圖6所示。通常情況下,經(jīng)過平滑后的灰度直方圖整體呈現(xiàn)出3個(gè)波峰和兩個(gè)波谷,而常用的最大類間方差法難以處理存在多個(gè)灰度直方圖波峰的圖像。
圖6 邊緣圖像灰度分布統(tǒng)計(jì)
經(jīng)過試驗(yàn)分析發(fā)現(xiàn),第一個(gè)波峰灰度值較低,主要是較暗的背景像素點(diǎn);第三個(gè)波峰灰度值較高,主要是殘存的經(jīng)紗像素點(diǎn);而兩個(gè)波谷間的過渡部分就是構(gòu)成緯紗紋理的像素點(diǎn)?;趯?duì)灰度直方圖的分析,只需求取兩個(gè)波谷灰度值分別作為低閾值T1與高閾值T2,就能實(shí)現(xiàn)對(duì)邊緣方向圖的二值化處理,分割出緯紗紋理部分。其中,T1作為弱邊界,主要用于過濾背景像素的同時(shí)平滑緯紗邊緣輪廓,使原本強(qiáng)邊界T2分割出的斷斷續(xù)續(xù)的緯紗邊緣連接起來。
經(jīng)平滑后的邊緣方向圖的灰度分布,可以近似看作由離散點(diǎn)擬合而成的曲線f(x),其一階導(dǎo)數(shù)f′(x)=0處的灰度x即為波峰或是波谷。這里用差分代替微分,對(duì)于f(x)有各個(gè)等距節(jié)點(diǎn)xk=x0+k,k=(1,2,…,255),則f(x)上相鄰灰度級(jí)上的一階差分可以表示為:
Δf(xk)=f(xk+1)-f(xk)
(19)
當(dāng)Δf(xk)>0且Δf(xk-1)<0時(shí),則認(rèn)為此時(shí)的xk為波谷閾值。依據(jù)此法遍歷直方圖尋找T1與T2,從而分割出二值化紋理區(qū)域。在后續(xù)實(shí)時(shí)檢測(cè)中,由于光照不勻等外界因素的影響,得到的直方圖的灰度分布有時(shí)會(huì)出現(xiàn)多個(gè)局部的峰值,給處理造成一定程度的干擾。但通過此方法對(duì)不同織物圖像的多次試驗(yàn)分析,得到的緯紗像素點(diǎn)灰度范圍均集中在[50,140]區(qū)間內(nèi),動(dòng)態(tài)檢測(cè)中可以此經(jīng)驗(yàn)二值化范圍直接進(jìn)行閾值分割,完成緯紗紋理區(qū)域的提取。
霍夫變換將待檢測(cè)區(qū)域轉(zhuǎn)換到參數(shù)空間,利用圖像空間與參數(shù)空間兩者間由點(diǎn)到線的映射關(guān)系,實(shí)現(xiàn)對(duì)于直線區(qū)域的角度檢測(cè)[20]。因其較好的魯棒性且不易受噪聲影響,在區(qū)域特征檢測(cè)中被普遍采用?;舴蜃儞Q的原理是創(chuàng)建并初始化一個(gè)二維數(shù)組累加器L(ρ,θ),遍歷圖像區(qū)域上的像素點(diǎn)(x,y),根據(jù)θ的取值范圍(θmin,θmax)轉(zhuǎn)化到參數(shù)空間,其轉(zhuǎn)化關(guān)系式為:
ρ=xcosθ+ysinθ
(20)
式中,ρ表示極徑,θ表示極角。
將得到的ρ在對(duì)應(yīng)的位置累加,當(dāng)遍歷結(jié)束后,若累加器中的最大值大于事先設(shè)定的直線檢測(cè)閾值,則判定該點(diǎn)為參數(shù)空間中多數(shù)曲線的交點(diǎn),而這些曲線在圖像空間中恰恰是構(gòu)成所求直線的像素點(diǎn),參數(shù)空間中交點(diǎn)對(duì)應(yīng)的坐標(biāo)(ρ,θ)即為所求直線方程的參數(shù)[21]。
圖7(a)為原緯紗區(qū)域經(jīng)霍夫變換得到的參數(shù)空間圖像。參數(shù)空間圖像中一系列的高亮點(diǎn),其實(shí)質(zhì)是變換前特定像素較為集中的緯紗區(qū)域,緯紗越長越近似直線,參數(shù)空間圖像上對(duì)應(yīng)點(diǎn)的灰度值就越高[22]。
基于上述參數(shù)空間圖像的特性,采用了如下的閾值適應(yīng)方法檢測(cè)直線。參數(shù)空間中各個(gè)像素點(diǎn)(x,y)處的灰度值可以用二次多項(xiàng)式G(x,y)近似表示:
G(x,y)=α1x2+α2y2+α3xy+α4x+α5y+α6
(21)
建立式(22)所示的黑塞矩陣H[G(x,y)],并按照式(23)計(jì)算其行列式值det(H),可判斷出圖像中的灰度極值點(diǎn)。
(22)
(23)
圖7 霍夫變換直線檢測(cè)
圖8 閾值逼近流程圖
由霍夫變換檢測(cè)得到的角度為垂直于緯紗的法線與水平軸的夾角,記為α,即可由此計(jì)算出實(shí)際緯紗傾斜角度θ=90-α。當(dāng)θ大于0,即為右上傾斜;當(dāng)θ小于0,即為右下傾斜。
圖9為織物緯斜檢測(cè)系統(tǒng)的原理圖,主要由硬件采集系統(tǒng)與軟件檢測(cè)系統(tǒng)組成。考慮到單目相機(jī)視場(chǎng)尺寸有限,無法兼顧到整幅織物,故采用六路相機(jī)聯(lián)合工作,紅外透射光源為其補(bǔ)光,由各路相機(jī)采集到的局部織物圖像擬合而成織物整體變化趨勢(shì)。為模擬整緯機(jī)實(shí)際工作中的緯斜檢測(cè)過程,將變頻器接至PLC控制器,交流電機(jī)則通過皮帶直接與導(dǎo)布輥相連,由變頻器驅(qū)動(dòng)電機(jī)將動(dòng)力經(jīng)過皮帶輪傳遞給導(dǎo)布輥,帶動(dòng)織物行進(jìn),上位機(jī)則與PLC控制器通過RS232串口實(shí)時(shí)通訊。
圖9 緯斜檢測(cè)系統(tǒng)原理圖
搭建了如圖10所示的硬件系統(tǒng)結(jié)構(gòu)。其中,上位機(jī)端因需要控制多路相機(jī)同步采集,短時(shí)間內(nèi)處理多組圖像數(shù)據(jù),對(duì)配置要求較高,故選用Windows10 64位系統(tǒng),Intel?CoreTMi9-10900 處理器CPU,DDR4 16 GB內(nèi)存,Intel?UHD Graphics 630顯示適配器,1 000 Mbps千兆網(wǎng)卡。
圖10 緯斜檢測(cè)系統(tǒng)結(jié)構(gòu)示意圖
采集設(shè)備選用海康威視MV-CA003-20 GM GigE工業(yè)相機(jī),Computar M2528相機(jī)適配鏡頭。該工業(yè)相機(jī)采用CMOS感光芯片,相比于CCD芯片更適用于高速采集的場(chǎng)合。為其選配的鏡頭能夠防止圖像發(fā)生畸變,成像清晰度高。GigE工業(yè)相機(jī)通過??低昅V-ACC-01-1101網(wǎng)線接至上位機(jī)的千兆網(wǎng)卡實(shí)現(xiàn)與上位機(jī)的通訊,可以快速將分辨率為672 512的實(shí)時(shí)圖像幀數(shù)據(jù)傳輸?shù)缴衔粰C(jī)用戶端[23]。測(cè)試現(xiàn)場(chǎng)如圖11所示。
圖11 測(cè)試現(xiàn)場(chǎng)
軟件平臺(tái)基于.NET Framework開發(fā)環(huán)境,為降低開發(fā)難度,調(diào)用MvCamCtrl.NET與HalconDotNet類庫函數(shù)。MvCamCtrl.NET源于??低旼igE相機(jī)的SDK軟件開發(fā)包,可用于對(duì)相機(jī)功能的二次開發(fā)。而HalconDotNet源于視覺處理軟件Halcon 17.12,包含了上千種封裝好的圖像處理函數(shù),可用于實(shí)現(xiàn)所提出的緯斜檢測(cè)算法。
在采集檢測(cè)任務(wù)開始前,上位機(jī)軟件平臺(tái)枚舉以太網(wǎng)內(nèi)滿足GigE Vision傳輸協(xié)議的相機(jī)設(shè)備,為其注冊(cè)采集圖像的回調(diào)函數(shù),創(chuàng)建句柄,配置曝光、幀率、增益等參數(shù)。利用多線程和委托為各個(gè)相機(jī)對(duì)象創(chuàng)建獨(dú)立的線程并行工作,提高CPU的利用率從而優(yōu)化了系統(tǒng)的性能,使用戶可根據(jù)在線相機(jī)數(shù)目以及使用需求自由選擇1至8路相機(jī)同時(shí)工作,不會(huì)出現(xiàn)線程阻塞的現(xiàn)象。相機(jī)有連續(xù)采集與單幀采集兩種采集模式可供用戶選擇,其中單幀采集為硬觸發(fā)采集,由外部設(shè)備給相機(jī)發(fā)送觸發(fā)信號(hào)來實(shí)現(xiàn)。當(dāng)任務(wù)啟動(dòng)時(shí),將各路相機(jī)采集到的圖像信息存放到各自獨(dú)立的緩存地址,交由緯斜檢測(cè)算法執(zhí)行一系列的檢測(cè)處理。在窗口控件中實(shí)時(shí)顯示檢測(cè)結(jié)果,用箭頭標(biāo)出緯斜方向,便于用戶觀察,下方文本框內(nèi)則顯示具體緯斜角度。對(duì)多路相機(jī)的檢測(cè)結(jié)果進(jìn)行融合運(yùn)算,得到整幅織物的緯斜量和緯彎量,結(jié)合DevExpress.XtraCharts.Control控件與定時(shí)器動(dòng)態(tài)繪制成曲線圖,實(shí)時(shí)有效地圖表化顯示織物的整體變化趨勢(shì)。上位機(jī)端將檢測(cè)數(shù)據(jù)發(fā)送給PLC控制器,PLC控制器便能控制斜輥和彎輥執(zhí)行后續(xù)的緯紗矯正。系統(tǒng)運(yùn)行效果如圖12所示。
圖12 系統(tǒng)運(yùn)行效果
相機(jī)作為整個(gè)系統(tǒng)中最為重要的一環(huán),其參數(shù)的配置直接決定了圖像質(zhì)量,進(jìn)而影響到后續(xù)檢測(cè)結(jié)果的準(zhǔn)確性。相機(jī)需要配置的參數(shù)分別為曝光、幀率以及增益。
在動(dòng)態(tài)采集時(shí),得到的圖像會(huì)沿運(yùn)動(dòng)方向產(chǎn)生拖影,如圖13所示。拖影的產(chǎn)生會(huì)模糊緯紗紋理,干擾緯紗的檢測(cè)。為減小負(fù)面影響,提出精度要求,豎直方向拖影長度不得超過5 piexl。若豎直方向?qū)嶋H視場(chǎng)尺寸為20 mm,則可計(jì)算得到豎直方向上的精度要求為20/512×5≈0.195 mm。當(dāng)織物行進(jìn)速度為1333 mm/s(約80 m/min)時(shí),可推出曝光時(shí)間必須要小于0.195×106/1 333≈146 μs。通常情況下,曝光時(shí)間越短,幀率越高,取幀率為最大值337。增益一般用于強(qiáng)化較弱的信號(hào),同時(shí)也會(huì)增加圖像中的噪聲信號(hào),故將其值設(shè)為0。
圖13 拖影現(xiàn)象
選取現(xiàn)有的多種低密、高密織物作為實(shí)驗(yàn)對(duì)象。一般情況下,織物的緯紗傾斜角在-30°~30°范圍內(nèi)。在實(shí)驗(yàn)過程中,導(dǎo)布輥帶動(dòng)織物以50 m/min的速度行進(jìn),GigE相機(jī)采用硬觸發(fā)的采集方式,配合透射光源每間隔500 ms進(jìn)行一次采集,由上位機(jī)根據(jù)算法自動(dòng)檢測(cè)。為各個(gè)相機(jī)創(chuàng)建對(duì)應(yīng)的文件夾,將采集到的圖像自動(dòng)保存到文件夾中,SQL Server數(shù)據(jù)庫中則按相機(jī)編號(hào)分類,記錄每一幀織物圖像的緯斜角度θi和耗時(shí)ti,以便后續(xù)的人工測(cè)量緯斜分析誤差。
表1匯總了六類織物緯斜的算法檢測(cè)結(jié)果與人工檢測(cè)結(jié)果的平均絕對(duì)誤差,以及平均檢測(cè)耗時(shí)。在織物快速行進(jìn)的過程中,整幅織物兩端受力不均出現(xiàn)褶皺,光源亮度不勻造成織物表面局部較暗,以及織物受導(dǎo)布輥牽引發(fā)生形變都會(huì)給檢測(cè)造成不同程度的影響。除以上客觀因素外,人工檢測(cè)精確度較低,也會(huì)產(chǎn)生一定程度的誤差。相比之下,人工檢測(cè)耗時(shí)費(fèi)力,所耗時(shí)間遠(yuǎn)遠(yuǎn)超過了算法檢測(cè)。
表2匯總了根據(jù)參考文獻(xiàn)[13]提出的頻域次亮點(diǎn)分析法檢測(cè)得出的數(shù)據(jù),正如文獻(xiàn)[13]中所述,織物紋理數(shù)目會(huì)對(duì)檢測(cè)結(jié)果造成一定程度的影響,紋理數(shù)目越多,檢測(cè)結(jié)果的準(zhǔn)確性越高。
表1 本文方法六類織物的檢測(cè)結(jié)果
表2 頻域次亮點(diǎn)分析法六類織物的檢測(cè)結(jié)果
而從六種織物的總體情況可以看出,本文算法對(duì)高、低密度的織物適應(yīng)性較好。至于兩種方法的檢測(cè)時(shí)間,考慮到緯紗整體變化趨勢(shì)較為連續(xù),不會(huì)發(fā)生突變,相機(jī)每500 ms硬觸發(fā)執(zhí)行一次采集,300 ms內(nèi)完成檢測(cè)處理已經(jīng)能夠滿足實(shí)際的工作需求。
同時(shí),為測(cè)試所提出的緯斜檢測(cè)算法在真實(shí)工況下的抗干擾能力,待測(cè)織物局部存在污漬、破損等缺陷,如圖14所示。圖14(a)由算法檢測(cè)出的緯斜量為-5.25°,人工測(cè)量結(jié)果為-5.08°,絕對(duì)誤差為0.17°;圖14(b)由算法檢測(cè)出的緯斜量為-3.13°,人工測(cè)量結(jié)果為-2.87°,絕對(duì)誤差為0.26°。該結(jié)果表明所提出的緯斜檢測(cè)算法不易受織物自身缺陷的影響,魯棒性較好。
圖14 存在缺陷的織物
針對(duì)實(shí)時(shí)動(dòng)態(tài)檢測(cè)緯斜這一問題,提出了基于機(jī)器視覺的緯斜檢測(cè)算法,并搭建硬件、軟件平臺(tái)展開測(cè)試,模擬攝像整緯中的檢測(cè)過程,測(cè)試結(jié)果表明,緯斜檢測(cè)系統(tǒng)適用于多種高密、低密織物,平均絕對(duì)誤差在0.35°以內(nèi),平均耗時(shí)不超過225.5 ms,在實(shí)際工作中較為穩(wěn)定。研究有如下創(chuàng)新點(diǎn):
1)對(duì)初始圖像采用改進(jìn)后的巴特沃斯陷波濾波器進(jìn)行預(yù)處理,綜合了對(duì)織物圖像空間域與頻域兩個(gè)不同角度的分析,清晰地提取出緯紗紋理區(qū)域,避免了霍夫變換因區(qū)域干擾信息較多而造成較大的檢測(cè)誤差。
2)設(shè)計(jì)了獨(dú)立的攝像整緯系統(tǒng)上位機(jī)控制界面,控制六路GigE工業(yè)相機(jī)實(shí)現(xiàn)穩(wěn)定高效的采集檢測(cè),界面設(shè)計(jì)便于觀察織物整體變化趨勢(shì),并可根據(jù)整緯機(jī)的門幅寬度拓展至八路相機(jī)。
但本文研究的算法主要針對(duì)帶有明顯紋理方向的織物,而對(duì)于少部分編織工藝復(fù)雜,不具備緯紗紋理走向的織物檢測(cè)存在一定困難,這也是攝像整緯技術(shù)下一階段研究的主要方向。