洪 濤,程 誠
(中國計量大學 質(zhì)量與安全工程學院,浙江 杭州 310018)
尼龍拉鏈作為最常用的拉鏈產(chǎn)品,其厚度尺寸是評價尼龍拉鏈質(zhì)量好壞的重要依據(jù)之一。隨著智能制造模式在拉鏈產(chǎn)業(yè)的不斷推進,在線視覺測量技術正逐漸取代了傳統(tǒng)的人工測量方法,被廣泛運用于拉鏈制造過程的質(zhì)量控制[1,2]。對于尼龍拉鏈在成型過程中厚度的視覺測量,由于尼龍拉鏈自身的彈性特性,生產(chǎn)設備的振動狀態(tài)會導致被測拉鏈的自身振動[3],引起被測拉鏈各部分在圖像中的坐標值發(fā)生偏移,這種偏移將會影響視覺測量結(jié)果的準確性。因此,研究振動條件下的尼龍拉鏈厚度尺寸的視覺測量算法,保證測量結(jié)果的準確性,對拉鏈質(zhì)量控制具有重要意義。
在工件尺寸視覺在線測量過程中,為了消除被測物體自身振動對測量結(jié)果準確性的影響,可采用對拍攝到的圖像進行運動補償?shù)姆椒?,找出被測物體在不同時間段的相對位移關系,并對偏移進行補償。近年來,很多學者在振動偏移量的視覺測量方面進行了諸多研究。利用結(jié)構(gòu)光測量法[4,5]對振動偏移量實現(xiàn)高精度測量,但需要添加輔助的結(jié)構(gòu)光投射器,在應用方面具有限制性;通過數(shù)字圖像相關法[6,7]進行振動偏移量測量,利用數(shù)字散斑圖像,可以大范圍測量物體的三維全場振動信息,但需要進行大量的匹配計算,耗時較長且對計算機系統(tǒng)和相機要求較高;利用光流法進行振動偏移量測量[8,9],能夠?qū)崿F(xiàn)對目標振動偏移量的快速測量且能保持一定的測量精度,但其結(jié)果為相鄰幀之間的偏移量信息,無法根據(jù)該信息還原被測物體在無振動狀態(tài)下的圖像信息。
本文以尼龍拉鏈厚度尺寸在線視覺測量系統(tǒng)為研究對象,從拉鏈振動的機理分析和振動信息測量方法研究兩方面入手,結(jié)合拉鏈橫向振動模型及光流法原理,計算出拉鏈在某一時刻的全局振動信息。根據(jù)此振動信息,設計對應的運動補償算法,并提出了相應的拉鏈厚度尺寸在線測量算法。
拉鏈厚度尺寸在線視覺測量系統(tǒng)主要包括圖像采集單元、信號傳遞與控制單元、人機交互單元等。為了杜絕或減少外部環(huán)境對檢測過程的影響,圖像采集裝置為一個封閉式殼體,其內(nèi)部結(jié)構(gòu)如圖1所示。
圖1 圖像采集裝置內(nèi)部結(jié)構(gòu)圖Fig.1 Internal structure diagram of image acquisition device
該圖像采集裝置主要由相機系統(tǒng)、組合棱鏡裝置、光源結(jié)構(gòu)及拉鏈通孔4部分組成。其中,相機系統(tǒng)包括CCD工業(yè)相機與鏡頭,選用的相機型號為Basler acA1600-20gm GigE,相機的分辨率為1 626×1 236 pixel,20幀/s,像元尺寸4.4 μm;選用鏡頭的型號為Computar MP3514-MP2,35 mm固定焦距。組合棱鏡裝置由2個全反射直角棱鏡組成,用于同時采集成型機中2條單邊拉鏈的厚度圖像。光源結(jié)構(gòu)包括背光光源和光源連接機構(gòu),光源采用50 mm×50 mm的面狀藍色LED光源,光源通過光源連接機構(gòu)固定在圖像采集裝置外殼的左右兩側(cè)。圖像采集過程中,拉鏈通過拉鏈通孔穿過圖像采集裝置,其圖像采集光路示意圖如圖2所示;采集到的拉鏈厚度圖像如圖3所示。
圖2 光路示意圖Fig.2 Schematic diagram of light path
圖3 拉鏈厚度圖像Fig.3 The collect images of nylon zipper’s thickness
在拉鏈厚度尺寸在線測量過程中,被測拉鏈的振動主要來源于拉鏈成型機的電動機工作振動,經(jīng)過系統(tǒng)的各個部件將振動傳遞到拉鏈限位裝置而引起振動。由于尼龍拉鏈屬于粘彈性材料,振動具有遲滯性,無法與限位裝置保持振動一致,從而造成拉鏈自身的橫向振動。
根據(jù)圖2拉鏈成像光路示意圖可得,拉鏈成像過程中,光軸變化示意圖如圖4所示。
圖4 光軸變化示意圖Fig.4 Schematic diagram of optical axis change
圖4中,三維坐標系O-xyz為輸入坐標系;三維坐標系O′-x′y′z′為輸出坐標系。由圖4可知,在測量拉鏈厚度尺寸時,拉鏈的自身振動即拉鏈相對于Oy軸平移,會引起成像相對于O′y′軸的平移,即成像相對于無振動狀態(tài)下的位置向左或向右的變化,表明被測拉鏈各部分在圖像中的坐標點發(fā)生左右偏移。因此需要引入對拉鏈的橫向振動模型的研究,通過研究結(jié)果對拉鏈厚度尺寸測量結(jié)果進行運動補償,減少拉鏈自身振動對視覺測量結(jié)果的影響。
由于拉鏈成型機上的升降裝置的作用,拉鏈在經(jīng)過采集裝置時,會在一段時間保持運動,一段時間保持靜止。而拉鏈實際生產(chǎn)速率僅為0.06 m/s,所以暫不考慮軸向運動速率對拉鏈軸向振動產(chǎn)生的影響。
圖5 拉鏈簡化模型Fig.5 The simplified model of nylon zipper
設拉鏈的張力保持不變,在激勵源的作用下做微小橫向振動。若忽略其它外力的影響,利用Hamilton原理,參考Wickert和Mote建立軸向運動弦線橫向振動運動微分方程的方法[10],建立拉鏈橫向振動模型的微分方程如下:
(1)
采用分離變量法[11]對式(1)求解,可以得到z軸方向上的拉鏈橫向振動u(x,t)的級數(shù)解。
(2)
式中:n為弦的波數(shù),m為無窮級數(shù)的項數(shù)。
根據(jù)式(2)可計算出在相鄰兩幀時間t1、t2之間,被測拉鏈在x=L/2處的橫向振幅變化值Δu的表達式:
cos(ωt1) sin(ωΔt)]=Bsin(ωt1+θ)
(3)
式中:Δt為t1、t2的時間間隔;
LK(Lucas Kanade)光流法是一種廣泛使用的光流估計差分方法,利用圖像序列中像素在時間域上的變化以及相鄰幀之間的相關性來找到上一幀跟當前幀之間存在的對應關系,從而計算出相鄰幀之間物體的運動信息[12]。
設I(x,y,t)是圖像像素點(x,y)在時刻t的灰度值,根據(jù)光流法的基本假設,有:
I(x,y,t)=I(x+dx,y+dy,t+dt)
(4)
將上式右端進行泰勒展開,并化簡可得光流約束方程:
Ixux+Iyuy+It=0
通過LK光流法求解光流約束方程,解得圖像的光流信息如下:
(6)
通過LK光流法計算得到被測拉鏈相鄰兩幀t1、t2在中點附近區(qū)域的光流信息圖,如圖6所示,圖6中白色箭頭短線即為計算得到的光流信息。
圖6 光流信息圖Fig.6 The infographic of optical flow
由此可提取出相鄰兩幀時間t1、t2之間,被測拉鏈在x=L/2處的實際橫向振幅變化值uym。令Δu=uym可解得:
(7)
由于拉鏈振動為周期性變化,所以求解出的t1在單個振動周期內(nèi)的對應結(jié)果存在兩種可能情況。因而將t1代入式(2)所求得的t1時刻被測拉鏈的橫向振動幅值,即被測拉鏈的全局振動信息也存在對應的兩種結(jié)果,分別為式(9)和式(10)。
(9)
(10)
因此通過設定判定準則,選擇出t1時刻被測拉鏈的實際全局振動信息,具體的操作步驟將在第4.3節(jié)中的運動補償算法中進行詳細描述。
基于圖像運動補償?shù)睦満穸瘸叽缭诰€測量算法流程圖如圖7所示。圖7中,左側(cè)虛線框內(nèi)為特征提取算法的具體步驟;右側(cè)虛線框內(nèi)為運動補償算法的具體步驟。
圖7 拉鏈厚度尺寸在線測量算法流程圖Fig.7 Flow chart of online measurement algorithm for zipper’s thickness dimension
首先輸入連續(xù)兩幀被測拉鏈的厚度尺寸測量圖像;然后,選取t1時刻的圖像作為待補償圖像,利用特征提取[13]算法,提取出圖像中被測拉鏈左右兩側(cè)的邊緣點坐標;與此同時,利用運動補償算法,計算坐標修正公式,接著對提取出的邊緣點坐標進行修正;然后通過最小二乘法[14]將修正后的邊緣點坐標擬合成直線,并計算這兩條擬合直線的間距;最后根據(jù)標準件計算出的像素當量[15],將間距轉(zhuǎn)換為拉鏈厚度的實際尺寸。
4.2.1 選取ROI區(qū)域
感興趣區(qū)域(region of interest,ROI)是從被處理的圖像中以多種方式提取出所需要處理的區(qū)域。通過分析拉鏈的成像特征可知,采集到的圖像中存在左右2條單邊拉鏈,因此需選取2個ROI區(qū)域,將2條單邊拉鏈的檢測區(qū)域分別提取出來,以保證后續(xù)圖像處理時獲得足夠的信息。選定的ROI如圖8所示。
圖8 拉鏈ROI選定圖像Fig.8 The ROI selected image of nylon zipper
4.2.2 圖像預處理
為將拉鏈待測目標區(qū)域圖像從背景中提取出來,需對圖像進行圖像預處理,包括圖像濾波、閾值分割等操作。本文使用中值濾波、類間方差法進行圖像預處理,將拉鏈待測目標區(qū)域圖像提取出來,圖像預處理結(jié)果如圖9所示。
圖9 圖像預處理結(jié)果Fig.9 Image preprocessing result
4.2.3 邊緣檢測
本文利用投影法結(jié)合掃描法提取邊緣點位置,算法流程圖如圖10所示。
圖10 邊緣檢測算法流程圖Fig.10 Flow chart of edge detection algorithm
(1) 以拉鏈單厚的二值圖像的上端作為起點,選定一個初始子ROI區(qū)域,水平寬度保持不變,豎直方向上長度變?yōu)槔渻升X頭標準間距為Δd,保證子ROI區(qū)域內(nèi)僅有一個拉鏈齒頭;
(2) 在此子ROI區(qū)域內(nèi),首先通過垂直投影法,計算得到一個(1×l)的一維數(shù)組;
(11)
(3) 從數(shù)組左側(cè)開始,依次讀取數(shù)組中的數(shù)值并進行判定:當?shù)讦?1個數(shù)值為0,而第α個數(shù)值發(fā)生變化,不為0時,此時α的值為對應被測拉鏈厚度的左側(cè)邊緣y軸向坐標yl;
(4) 接著從數(shù)組右側(cè)開始依次讀取數(shù)值判定:當?shù)趌-α個數(shù)值為0,而第l-α+1個數(shù)值發(fā)生變化時,認定此時l-α+1的值為對應被測拉鏈厚度的右側(cè)邊緣y軸向坐標yr;
(5) 然后分別依次讀取yl,yr列中每行對應像素點的像素值,當像素值等于1時,記下該點行號,即為x軸坐標向xl,xr,由此得到坐標(xl,yl),(xr,yr);
(6) 根據(jù)得到的坐標值,以(xl+xr)/2為起點,在間隔Δd距離處,選取一個長度為齒頭標準尺寸dc,水平寬度與原ROI寬度相同大小的ROI區(qū)域;
(7) 重復(2)至(6)直至無法選取一個完整的子ROI區(qū)域,循環(huán)結(jié)束,并將所獲得的坐標轉(zhuǎn)換成原圖像上的對應坐標。
由此將ROI區(qū)域劃分為多個僅包含單個鏈頭的子ROI區(qū)域,并確定左右兩側(cè)的邊緣點坐標。
根據(jù)第3.2節(jié)可知,t1時刻被測拉鏈會求解出兩個不同的拉鏈全局振動信息,與實際狀態(tài)不符。因此本文提出一個判定準則,用于選擇被測拉鏈實際振動信息所對應振動幅值表達式。結(jié)合判定準則提出運動補償算法。具體步驟如下:
(1) 首先通過選取ROI區(qū)域,設定左右兩條單邊拉鏈的檢測范圍,并讀取對應的中點坐標(xmid,ymid);
(2) 將采集到的相鄰兩幀圖像的時間設為t1和t2,利用上文所述的基于光流法的拉鏈橫向振幅計算算法,可拉鏈中點處的橫向振幅變化值,計算出t1時刻拉鏈的橫向振動幅值的表達式u1(x,t1)和u2(x,t1);
(3) 接著根據(jù)邊緣檢測算法,計算出拉鏈中點處對應子ROI區(qū)域(僅包含單個鏈頭)內(nèi)的左右兩側(cè)邊緣點坐標(xl,yl),(xr,yr);
(4) 根據(jù)步驟(3)所求出的左右兩側(cè)邊緣點坐標和對應的中點坐標(xmid,ymid),判定被測拉鏈在t1時刻的實際偏移狀態(tài)。如果|yl-ymid|≥|yr-ymid|,則拉鏈中點此時偏左,反之,|yl-ymid|<|yr-ymid|,則拉鏈中點此時偏右;
(6) 根據(jù)步驟(5)所得的修正公式對各個子ROI區(qū)域左右兩側(cè)的邊緣點坐標進行運動補償,確定最終的邊緣點坐標。
本文利用整體最小二乘法[14,15]擬合關于拉鏈厚度的左右兩側(cè)邊緣直線。整體最小二乘法其實質(zhì)為邊緣點到擬合直線的正交距離的平方和最小。
由于需要保證擬合出的2條直線是平行線,本文對全局最小二乘法進行了改進。設2條擬合直線Ll和Lr的方程為式(12),根據(jù)擬合準則式(13),求出2條擬合直線。
Ll:yl=axl+bl
Lr:yr=axr+br
(12)
(13)
式中:k為邊緣點個數(shù);xli、yli、xri、yri為直線Ll、Lr的第i個邊緣點的橫坐標和縱坐標;a為直線斜率;bl、br為直線Ll和Lr的截距。
然后根據(jù)式(14)求出兩直線的間距即拉鏈厚度尺寸dl-r。
(14)
最小二乘擬合所得的拉鏈厚度尺寸大小都是以像素為單位的,所以需要用標準拉鏈進行標定[16],根據(jù)實際值長度單位(mm)與像素單位(pixel)之間的像素當量K,將拉鏈像素尺寸dl-r轉(zhuǎn)換為實際尺寸da。
da=K×dl-r
(15)
本文系統(tǒng)軟件環(huán)境基于LabVIEW 8.5和MS SQL Sever 2000,結(jié)合NI Vision的圖像處理函數(shù)庫進行算法驗證。實驗材料為N7反裝型尼龍拉鏈,該拉鏈的厚度成型尺寸標準為(2.22±0.01)mm。相關實驗參數(shù)設置為:K=0.022 94,m=20,Δt=0.05 s。利用加速度傳感器獲取滑輪的振動信號分析可得激勵源參數(shù):A=0.49 pixel,ω=85.408 rad/s。
首先,將尼龍拉鏈厚度尺寸在線視覺測量系統(tǒng)安裝在正常工作的成型機上,實驗樣本按實際生產(chǎn)速度運動,使用本文設計的測量算法測量樣品10次;然后使用無運動補償?shù)囊曈X測量方法對這10個位置進行測量,每個位置重復測量3次,測量結(jié)果取平均值,對比2種方法的測量結(jié)果以測量結(jié)果的不確定度U作為評價指標。其測量結(jié)果如表1所示。
表1 測量結(jié)果對比Tab.1 Comparison of measurements mm
(16)
(17)
式中:N為測量次數(shù);xj為測量值;tp為擴展倍數(shù),與測量次數(shù)與置信率有關,本文中選取置信率為95%,則tp為2.26。
根據(jù)拉鏈檢測技術要求,厚度尺寸測量結(jié)果的不確定度要求應滿足U≤0.001 mm。
由表1可知,使用無運動補償?shù)囊曈X測量方法所測得拉鏈厚度尺寸結(jié)果的測量不確定度U為0.001 80 mm,無法滿足技術要求。而本文所提出的測量方法測量結(jié)果的不確定度U僅為0.000 51 mm,從而滿足拉鏈實際檢測技術要求。
針對在拉鏈厚度尺寸在線視覺測量過程中,由于尼龍拉鏈其自身的彈性特性,受到生產(chǎn)設備的振動狀態(tài)影響會產(chǎn)生的自身振動,從而對視覺測量系統(tǒng)的準確性造成影響的問題,本文提出了一種振動條件下的尼龍拉鏈厚度尺寸的在線測量算法,添加了對振動偏移量進行修正的運動補償算法,降低了拉鏈自身振動對測量結(jié)果的影響。實驗結(jié)果表明:本文測量方法,測量結(jié)果的不確定度為0.0005 1 mm,實現(xiàn)了尼龍拉鏈厚度尺寸的高精度在線視覺測量,具有較好的工業(yè)應用價值。