孟立凡 高文學(xué)
摘? 要: 為解決紡織過(guò)程中斷紗難以及時(shí)發(fā)現(xiàn)的問(wèn)題,設(shè)計(jì)一種基于FPGA的灰度投影算法檢測(cè)平臺(tái)。系統(tǒng)中數(shù)字CCD相機(jī)采集紡紗圖像后,F(xiàn)PGA進(jìn)行灰度投影計(jì)算、局部極值法、極值點(diǎn)校正等處理,得到特征值,然后通過(guò)與FPGA內(nèi)部已存儲(chǔ)的特征值閾值進(jìn)行比較,判斷出紗線的斷紗情況。在20S,30S和40S三種典型紗線生產(chǎn)過(guò)程中進(jìn)行實(shí)測(cè),結(jié)果表明,所設(shè)計(jì)平臺(tái)滿足斷紗檢測(cè)的準(zhǔn)確性和實(shí)時(shí)性需求。
關(guān)鍵詞: 斷紗檢測(cè); 灰度投影; FPGA; 特征值提取; 檢測(cè)平臺(tái)搭建; 系統(tǒng)測(cè)試
中圖分類號(hào): TN911.34?34; TP274? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼: A? ? ? ? ? ? ? ? ? ? ? 文章編號(hào): 1004?373X(2020)04?0004?04
Design of FPGA?based broken yarn detection platform using gray projection algorithm
MENG Lifan, GAO Wenxue
(National Key Laboratory of Electronic Testing Technology and MOE Key Laboratory of Instrumental Science and Dynamic Testing,
North University of China, Taiyuan 030051, China)
Abstract: A FPGA?based detection platform using gray projection algorithm is designed to solve the problem that broken yarn is difficult to be found timely in the textile process. The spinning images are collected with the digital CCD camera, and then the gray projection calculation using FPGA, local extremum method, extremum point correction and other processing are adopted to obtain the eigenvalues, with which the eigenvalue thresholds stored inside the FPGA are combined to judge the yarn breakage condition. The actual detection was carried out in three typical yarn production processes of 20S, 30S and 40S. The results show that the designed platform can meet the accuracy and real?time requirements of the yarn breakage detection.
Keywords: broken yarn detection; gray projection; FPGA; eigenvalue extraction; detecting platform building; system test
紡織業(yè)在我國(guó)國(guó)民經(jīng)濟(jì)中占據(jù)著重要的地位,作為傳統(tǒng)的勞動(dòng)密集型產(chǎn)業(yè),對(duì)我國(guó)國(guó)民經(jīng)濟(jì)建設(shè)起到不可替代的作用。在紡織生產(chǎn)過(guò)程中斷紗檢測(cè)不可避免。而如今普遍采用人工進(jìn)行巡查,但是人工檢測(cè)不僅會(huì)增加工人勞動(dòng)量,使紗線的產(chǎn)量下降,并降低生產(chǎn)效率,而且還會(huì)造成布面產(chǎn)生大量瑕點(diǎn),降低品質(zhì),影響企業(yè)效益[1]。隨著信息技術(shù)的發(fā)展、數(shù)字成像系統(tǒng)的更新和計(jì)算機(jī)硬件性能的增強(qiáng),機(jī)器視覺(jué)檢測(cè)技術(shù)因具有非接觸、響應(yīng)快、現(xiàn)場(chǎng)抗干擾能力強(qiáng)等特點(diǎn),開(kāi)始在工業(yè)上廣泛應(yīng)用,這給自動(dòng)檢測(cè)提供了新的方法和手段[2]。在對(duì)斷紗檢測(cè)算法的選擇中,因?yàn)槿斯ぶ悄芩惴ㄒ话愫臅r(shí)較長(zhǎng)并且比較復(fù)雜,很難滿足紗線檢測(cè)對(duì)于實(shí)時(shí)性與實(shí)效性的要求[3]。在此背景下,本設(shè)計(jì)采用數(shù)字CCD相機(jī)采集紡紗圖像,以FPGA作為核心處理器,結(jié)合硬件編程語(yǔ)言,構(gòu)建了基于FPGA的灰度投影算法檢測(cè)平臺(tái)。
1? 斷紗檢測(cè)平臺(tái)的系統(tǒng)方案
本斷紗檢測(cè)平臺(tái)是一種應(yīng)用FPGA的斷紗視覺(jué)檢測(cè)系統(tǒng),它的主要結(jié)構(gòu)有: FPGA開(kāi)發(fā)板、CCD 數(shù)字相機(jī)等。FPGA開(kāi)發(fā)板作為系統(tǒng)核心控制及處理模塊,實(shí)時(shí)接收CCD數(shù)字相機(jī)傳輸?shù)臄?shù)據(jù)流,實(shí)時(shí)提取特征值,然后通過(guò)與預(yù)先統(tǒng)計(jì)算法得到的特征值閾值進(jìn)行比較,判斷斷紗情況,如果出現(xiàn)斷紗,蜂鳴器與LED指示燈將會(huì)分別報(bào)警。整體結(jié)構(gòu)框圖如圖1所示。
1.1? 外部硬件
本平臺(tái)選用DALSA公司出品的Spyder2系列型號(hào)為S2?1x?02k40的數(shù)字CCD相機(jī)采集圖像,采集的紗線圖像為灰度圖;照明燈光選用LED條狀光源,將黑色紙板作為紗線背景。
1.2? 開(kāi)發(fā)板設(shè)計(jì)
本平臺(tái)選用Altera公司生產(chǎn)的Cyclone IV系列型號(hào)為EP4CE6F17C8的芯片作為主控芯片。系統(tǒng)時(shí)鐘為50 MHz,周邊功能模塊有SRAM及Camera Link,RJ45,JTAG等接口。
2? 基于投影的斷紗檢測(cè)算法
通過(guò)對(duì)斷紗檢測(cè)平臺(tái)在某紡織廠采集到的紡紗圖像分析,發(fā)現(xiàn)這些圖像的有效信息是紗線的分布情況和紗線的根數(shù),而且這兩種信息在紡織的過(guò)程中是不變的,由此設(shè)計(jì)了一種應(yīng)用于FPGA的灰度投影法斷紗檢測(cè)算法。算法的主要流程是對(duì)已經(jīng)過(guò)FPGA初步處理的圖像進(jìn)行分析,并且統(tǒng)計(jì)圖像的特征信息,得到合理的特征值閾值,然后將此特征值閾值與待檢測(cè)的紡紗圖像進(jìn)行比較,最后對(duì)斷紗報(bào)警。因?yàn)樵谶M(jìn)行斷紗檢測(cè)時(shí),數(shù)字CCD相機(jī)的圖像采集速度快,圖像的灰度變化小,并且根據(jù)垂直方向上紡紗圖像變化比較小等特點(diǎn)[4],本設(shè)計(jì)提出一種方法:對(duì)灰度投影后的紗線圖像進(jìn)行特征值提取。這能夠?qū)崿F(xiàn)算法的實(shí)時(shí)性與準(zhǔn)確性。
基于灰度投影的斷紗檢測(cè)算法分兩個(gè)部分,即統(tǒng)計(jì)部分與檢測(cè)部分。在統(tǒng)計(jì)部分,首先在列向?qū)D像進(jìn)行灰度值投影,將得到的圖像提取出特征值,最終可得到一組正常紡紗圖像的特征值數(shù)據(jù)集[5]。通過(guò)統(tǒng)計(jì)學(xué)的方法,提取多組數(shù)據(jù)集并確定出用來(lái)判斷正常紡紗圖像樣本特征值的區(qū)間。根據(jù)統(tǒng)計(jì)到的樣本以及特征值集,選定合理的閾值。檢測(cè)部分與統(tǒng)計(jì)部分的過(guò)程基本一致,提取出待檢圖像相關(guān)的特征值,該特征值與閾值進(jìn)行對(duì)比,確定斷紗。
2.1? 算法原理
根據(jù)實(shí)測(cè),在紡織時(shí),紗線在列向上位置基本不變,并且經(jīng)過(guò)灰度投影后,投影圖像在列方向上可顯示相應(yīng)規(guī)律。若紗線圖像的圖像分辨率為[1 024×N],即[I(1 024,N)],推導(dǎo)出列向投影:
[Row(x)=y=1NIk(x,y)]
式中:[Row(x)]表示第x行的投影值;[Ik(x,y)]表示第[k]幅圖像坐標(biāo)為[(x,y)]處的灰度值。通過(guò)上式,可以得到圖像的離散值,將離散值相連得到列向投影圖如圖2所示,此圖便于后續(xù)的分析。
圖像的波谷均值這個(gè)數(shù)值對(duì)應(yīng)圖像的背景灰度值,而波峰位置對(duì)應(yīng)著紗線的位置。當(dāng)正常的紡織時(shí),紗線的位置和數(shù)量基本不變,對(duì)待檢測(cè)紗線圖像提取特征信息[6],并通過(guò)異常檢測(cè)法與存儲(chǔ)好的紗線特征值閾值進(jìn)行比較,即本系統(tǒng)提出的灰度投影斷紗檢測(cè)算法?;叶韧队皵嗉啓z測(cè)算法流程如圖3所示。
2.2? 提取特征值
在視覺(jué)檢測(cè)系統(tǒng)中,將列向投影的波峰個(gè)數(shù)及各波峰所在列數(shù)統(tǒng)計(jì)值作為算法的特征值;而異常檢測(cè)將選擇圖像灰度均值充當(dāng)參考。其中圖像波峰所在列數(shù)統(tǒng)計(jì)值、圖像波峰個(gè)數(shù)以及圖像灰度均值這3個(gè)值為將要提取的特征值,這3個(gè)值包含在列向投影圖中。圖像的灰度均值作為異常檢測(cè)的值,該值可以表示檢測(cè)環(huán)境的穩(wěn)定性,如果圖像灰度均值波動(dòng)較大,那么就指示平臺(tái)周圍光線發(fā)生明顯變化。通過(guò)對(duì)紗線圖像的分析可知,波峰數(shù)量表示紗線的根數(shù);波峰位置信息,表示紗線所在位置。因?yàn)樵诩徔椷^(guò)程中,紗線根數(shù)并不改變,所以將列向投影的波峰個(gè)數(shù)作為特征值之一;紗線位置的變化范圍極小,在正常紡紗圖像中所有紗線左右變化的統(tǒng)計(jì)值[7]將趨近于0,在計(jì)算時(shí)雖然影響很小,但是仍需要通過(guò)累加的方法進(jìn)行消除。
系統(tǒng)中提出的斷紗檢測(cè)算法原理為根據(jù)各波峰所在列數(shù)統(tǒng)計(jì)值之和以及已進(jìn)行編號(hào)波峰的個(gè)數(shù)來(lái)對(duì)斷線進(jìn)行檢測(cè)。
2.3? 斷紗檢測(cè)算法的實(shí)現(xiàn)
基于投影的斷紗檢測(cè)算法在FPGA中的結(jié)構(gòu)包括:高速數(shù)據(jù)緩存模塊、提取特征值模塊、特征值比較模塊。
高速數(shù)據(jù)緩存模塊的主體是一個(gè)緩沖器結(jié)構(gòu),每個(gè)緩沖器塊由一個(gè)數(shù)據(jù)深度為1 024,寬度為8的FIFO構(gòu)成。每一個(gè)緩沖器相連,位于最低端的FIFO最先接收數(shù)據(jù),直到此FIFO滿,其將數(shù)據(jù)傳輸至與之相連的FIFO [8]。緩沖器結(jié)構(gòu)的ModelSim仿真圖如圖4所示。
提取特征值模塊由:投影計(jì)算模塊,特征值計(jì)算模塊,特征值存儲(chǔ)模塊組成。其中投影計(jì)算模塊的主要實(shí)現(xiàn)加減運(yùn)算。除法運(yùn)算調(diào)用IP核,僅保留整數(shù)值;加法運(yùn)算采用流水線結(jié)構(gòu)。投影計(jì)算模塊的RTL級(jí)連接圖如圖5所示。
圖像的灰度均值采用累加運(yùn)算以及通過(guò)FPGA調(diào)用除法函數(shù)完成計(jì)算,這樣計(jì)算較為方便。
波峰值以及波谷值的計(jì)算方法為局部極值法,其原理為:
通過(guò)分析灰度列向投影的圖像數(shù)據(jù)中的前置梯度與后置梯度間的關(guān)系,可判斷灰度列向投影點(diǎn)的性質(zhì)。定義前置梯度為pre_gdnt,后置梯度為post_gdnt,當(dāng)前信號(hào)點(diǎn)的索引值為idx_val,則:
pre_gdnt=signal(idx_val)?signal(idx_val?1);
post_gdnt=signal(idx_val+1)?signal(idx_val);
pre_gdnt<0且post_gdnt>0時(shí),idx_val為極小值;
pre_gdnt>0且post_gdnt<0時(shí),idx_val為極大值;
pre_gdnt 或 post_gdnt為0時(shí),idx_val將不能進(jìn)行判斷,根據(jù)實(shí)測(cè),此點(diǎn)被確定是極值點(diǎn)。
如圖2中的某些極大值點(diǎn)表示圖像背景中的高灰度值部分。由于這類點(diǎn)將會(huì)對(duì)最終的結(jié)果帶來(lái)干擾,所以需要被去掉。此外,當(dāng)信號(hào)的索引值無(wú)法判斷極值時(shí),也會(huì)進(jìn)一步處理。本設(shè)計(jì)采用極值點(diǎn)校正法進(jìn)一步處理。
極值點(diǎn)校正法分為兩個(gè)部分:
1) 將偽極值點(diǎn)通過(guò)局部相關(guān)法過(guò)濾掉。偽極值點(diǎn)如圖2投影列數(shù)分別為23,76處所示。這種局部極大值點(diǎn)是噪聲或背景圖像的高灰度值部分 [9]。在本算法的局部相關(guān)法中,設(shè)定極大值點(diǎn)的灰度值大于圖像波谷灰度均值的3倍;
2) 在局部極值法中,當(dāng)出現(xiàn)相連的極值點(diǎn)時(shí),去掉一個(gè)極值點(diǎn)并將其投影的列數(shù)值存入寄存器中。當(dāng)計(jì)算的特征值大于波峰總數(shù)的統(tǒng)計(jì)值且寄存器非0時(shí),則波峰總數(shù)增加相應(yīng)值;而被取出寄存器的值,將會(huì)進(jìn)行后續(xù)運(yùn)算[10]。
特征值計(jì)算模塊,采用一個(gè)計(jì)數(shù)器完成對(duì)波峰個(gè)數(shù)特征值的計(jì)算。使用大量加法運(yùn)算完成對(duì)波峰列向位置之和的計(jì)算。在仿真圖像中,共有81個(gè)極大值點(diǎn)。根據(jù)圖6極值點(diǎn)的統(tǒng)計(jì)仿真圖以及圖7波峰個(gè)數(shù)特征值仿真圖,該算法能夠?qū)崿F(xiàn)極值點(diǎn)統(tǒng)計(jì),并且判斷出所有極值點(diǎn)。
3? 系統(tǒng)測(cè)試
本算法在QuartusⅡ 13.0軟件平臺(tái)上采用Verilog 硬件描述語(yǔ)言,完成了各個(gè)模塊的設(shè)計(jì)。將平臺(tái)搭建完畢后,進(jìn)行實(shí)測(cè)。
為便于實(shí)驗(yàn),選用某工廠的紡紗機(jī)對(duì)多條紗線進(jìn)行檢測(cè),選取20S,30S和40S的全棉精梳紗,紗線參數(shù)見(jiàn)表1,紡紗所采用纖維參數(shù)見(jiàn)表2。為了提取特征參考值,來(lái)作為實(shí)際生產(chǎn)測(cè)試中是否斷線的參考標(biāo)準(zhǔn),對(duì)這3種紗線各取131根在正常紡紗時(shí)進(jìn)行圖像采集,經(jīng)以太網(wǎng)通信模塊上傳至PC中,統(tǒng)計(jì)參考值。參考特征值范圍統(tǒng)計(jì)見(jiàn)表3。
統(tǒng)計(jì)部分,對(duì)正常紗線進(jìn)行圖像采集,計(jì)算其特征值并記錄。然后對(duì)特征值范圍進(jìn)行統(tǒng)計(jì),最后程序進(jìn)入檢測(cè)部分。在檢測(cè)部分本設(shè)計(jì)將實(shí)時(shí)對(duì)待檢測(cè)紗線圖像進(jìn)行處理。在開(kāi)機(jī)20 min后本系統(tǒng)對(duì)600幀1 024×300的紗線圖像進(jìn)行了連續(xù)采集。表4~表6分別為20S,30S和40S的實(shí)測(cè)的特征值。
表中可以看出,樣本1,2,4,5,7以及8的波峰數(shù)不在參考范圍內(nèi),表示出現(xiàn)斷紗;另外,樣本3,6以及9波峰數(shù)、圖像的灰度均值以及波峰所在列數(shù)統(tǒng)計(jì)值均出現(xiàn)較大的變化,根據(jù)觀測(cè),紡織工作正常,但也被視作斷紗。一般是測(cè)試環(huán)境的關(guān)照條件出現(xiàn)了較大的干擾才會(huì)出現(xiàn)這種情況。
根據(jù)實(shí)測(cè)結(jié)果,該應(yīng)用FPGA的灰度投影法斷紗檢測(cè)平臺(tái)能夠?qū)崟r(shí)、準(zhǔn)確地完成斷紗的檢測(cè)。
4? 結(jié)? 語(yǔ)
基于FPGA的灰度投影法斷紗檢測(cè)平臺(tái),使用數(shù)字CCD相機(jī)和FPGA對(duì)紡紗進(jìn)行信號(hào)采集與處理,通過(guò)分析圖像灰度值,提取出特征值,并使用異常檢測(cè)的方法,與系統(tǒng)統(tǒng)計(jì)到的參考特征值閾值進(jìn)行比較,可以迅速、準(zhǔn)確地判斷出所檢測(cè)的紗線是否發(fā)生了斷紗。此平臺(tái)不與紗線表面直接接觸,避免了對(duì)紗線表面的損傷,并具有檢測(cè)面積廣,抗干擾能力強(qiáng)的優(yōu)點(diǎn),展現(xiàn)了機(jī)器視覺(jué)在斷紗檢測(cè)領(lǐng)域的巨大優(yōu)勢(shì)。
參考文獻(xiàn)
[1] 常永和,薛元,韓晨晨.環(huán)錠紡導(dǎo)紗板受力信號(hào)在線檢測(cè)及紡紗張力分析[J].紡織學(xué)報(bào),2018,39(9):146?152.
[2] 董玉廷.器視覺(jué)中工件輪廓精確提取方法的研究[D].重慶:重慶大學(xué),2013.
[3] 劉曉杰,羅印升,張旻,等.基于機(jī)器視覺(jué)的零部件表面缺陷檢測(cè)方法研究[J].現(xiàn)代電子技術(shù),2017,40(24):181?183.
[4] 王雯雯,趙靜,劉基宏.基于歐氏距離的細(xì)紗斷紗檢測(cè)[J].絲綢,2018,55(1):35?40.
[5] 張睿,何常德,黃晉英,等.基于QICA的工作模態(tài)參數(shù)識(shí)別技術(shù)及其應(yīng)用研究[J].機(jī)械傳動(dòng),2015,39(5):169?173.
[6] 張俊勇,伍世虔,陳彬,等.基于雙目視覺(jué)的零件多尺寸在線測(cè)量系統(tǒng)[J].儀表技術(shù)與傳感器,2018(10):75?80.
[7] 田野,葉兵,王連兵.基于機(jī)器視覺(jué)的內(nèi)螺紋檢測(cè)的實(shí)現(xiàn)方法[J].儀表技術(shù)與傳感器,2018(1):64?70.
[8] 蔣滬生.基于FPGA的機(jī)器視覺(jué)系統(tǒng)研究及應(yīng)用[D].無(wú)錫:江南大學(xué),2013.
[9] 劉美菊,李凌燕,郭文博.基于機(jī)器視覺(jué)的焊點(diǎn)檢測(cè)算法研究[J].電子器件,2017,40(4):1015?1020.
[10] 王盛,田江.基于智能視覺(jué)的學(xué)生考試異常狀態(tài)識(shí)別系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2017,40(14):78?80.