丁善婷,程 壯,翟中生,李勁松,黃嬌潔,呂清花,王選擇
(1.湖北工業(yè)大學(xué) 機(jī)械工程學(xué)院,現(xiàn)代制造質(zhì)量工程湖北省重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430068;2.湖北工業(yè)大學(xué) 理學(xué)院,湖北 武漢 430068)
無衍射光因?yàn)槠渲行墓獍叽笮 ⑿螤畈浑S傳輸距離發(fā)生變化而備受關(guān)注[1-2]。隨著人們對(duì)無衍射光研究的不斷深入,無衍射光應(yīng)用的領(lǐng)域也越來越廣泛,如激光加工[3]、景深延拓[4]、3D形貌測(cè)量[5-6]、表面粗糙度測(cè)量[7]等。同心圓光柵莫爾條紋具有較好的計(jì)量和放大特性,在精密測(cè)量領(lǐng)域中應(yīng)用廣泛[8-10]。由于無衍射光形狀與同心圓光柵相類似,利用兩束無衍射光干涉生成無衍射光莫爾條紋,不僅保留了同心圓光柵莫爾條紋的優(yōu)點(diǎn),而且引入了無衍射光的特性。
無衍射光莫爾條紋由于兼具無衍射光和莫爾條紋的優(yōu)點(diǎn),引起了人們?cè)絹碓蕉嗟年P(guān)注及研究。趙斌、張新寶等人提出來一種利用無衍射光和環(huán)形光柵重疊產(chǎn)生環(huán)狀莫爾條紋測(cè)量空間直線度[11-12],并以此為基礎(chǔ)研制了無衍射光莫爾條紋直線度測(cè)量?jī)x[13]以及準(zhǔn)直、跟蹤、定位系統(tǒng)[14]。作者對(duì)無衍射光莫爾條紋也進(jìn)行了大量研究,利用無衍射光莫爾條紋測(cè)量大行程工作臺(tái)四自由度運(yùn)動(dòng)誤差[15],將直角棱鏡與半透半反鏡作為運(yùn)動(dòng)單元置于工作臺(tái),建立四自由度運(yùn)動(dòng)誤差模型,通過CCD中光斑中心的位置變化計(jì)算運(yùn)動(dòng)誤差。
實(shí)現(xiàn)無衍射光莫爾條紋的精確定位,對(duì)測(cè)量結(jié)果的精度有很大的影響。目前對(duì)單束無衍射光定位的方法已經(jīng)比較成熟,常見的方法主要有光強(qiáng)重心法、最小二乘圓擬合、圓環(huán)濾波、混沌蟻群算法、相關(guān)因子法等[16-18]。由于無衍射光莫爾條紋相比較于單束無衍射光,形狀更加復(fù)雜,實(shí)現(xiàn)無衍射光莫爾條紋的定位更加困難。目前對(duì)無衍射光莫爾條紋定位的方法主要是:對(duì)生成的無衍射光莫爾條紋進(jìn)行計(jì)數(shù),通過莫爾條紋數(shù)與兩光斑中心的位置關(guān)系反推光斑中心位置[19-20]。此方法利用了莫爾條紋的計(jì)量性與放大性,通過對(duì)莫爾條紋進(jìn)行精確計(jì)數(shù),求出兩光斑中心位置。由于莫爾條紋的質(zhì)量對(duì)計(jì)數(shù)結(jié)果影響很大,定位精度不高;而且需要運(yùn)用圖像的全部數(shù)據(jù)進(jìn)行分析,運(yùn)行速度較慢。
本文提出了一種無衍射光莫爾條紋兩光斑中心同時(shí)定位的方法。通過對(duì)無衍射光莫爾條紋的特征分析,提取并檢測(cè)局部同心圓環(huán)區(qū)域,結(jié)合均值聚類,并進(jìn)行異常點(diǎn)刪除,求解出較為精確的兩光斑中心位置,實(shí)現(xiàn)無衍射光莫爾條紋的中心定位。
無衍射光莫爾條紋是由兩束無衍射光干涉而成。單束無衍射光的外形具有同心圓特征,利用邊緣信息,能較好地實(shí)現(xiàn)單束無衍射光定位;而無衍射光莫爾條紋包含橢圓莫爾條紋族和雙曲線莫爾條紋族,外形比較復(fù)雜,定位比較困難。分析兩者的特征相關(guān)性,如圖1所示,相關(guān)特征主要體現(xiàn)在光斑中心附近。
圖1 無衍射光莫爾條紋特征
1) 中心區(qū)域光強(qiáng)最大。無衍射光莫爾條紋具有兩個(gè)中心區(qū)域,單獨(dú)分析其中一個(gè)中心區(qū)域,和單束無衍射光一樣,也具有光強(qiáng)最大的特征,所以同樣利用灰度值的大小可以找到兩個(gè)中心區(qū)域的大致位置。
2) 存在局部同心圓環(huán)。無衍射光莫爾條紋雖然整體外形呈輻射狀分布,但是兩個(gè)中心區(qū)域部分都存在局部同心圓特征,所以利用這個(gè)特征可以較精確地找到兩個(gè)中心區(qū)域的光斑中心,實(shí)現(xiàn)無衍射光莫爾條紋的中心定位。
1.2.1 提取局部同心圓環(huán)區(qū)域
具體步驟如下:
1) 中值濾波。選取大小為S的鄰域進(jìn)行中值濾波。中值濾波能較好地去除椒鹽噪聲,對(duì)去除高斯噪聲也有一定的效果。實(shí)現(xiàn)去噪效果的同時(shí)保留圖像的邊緣信息。
2) 直方圖均衡化。采用直方圖均衡化處理的作用是通過拉伸圖像像素強(qiáng)度范圍增強(qiáng)圖像對(duì)比度,將不同光照強(qiáng)度下的灰度范圍均衡到0~255,減弱外界環(huán)境對(duì)實(shí)驗(yàn)結(jié)果的影響。
3) 閾值分割并二值化。為了保持高定位精度的同時(shí)加快運(yùn)行速度,選取靠近兩個(gè)中心光斑的局部同心圓環(huán)進(jìn)行分析。選取合適V值,以(255-V)作為閾值對(duì)圖像進(jìn)行二值化處理,得到無衍射光靠近其光斑中心局部同心圓環(huán)區(qū)域。其中局部同心圓環(huán)區(qū)域所包含的同心圓環(huán)個(gè)數(shù)以3~6為標(biāo)準(zhǔn)。
4) 形態(tài)學(xué)處理。分割后的圖像會(huì)產(chǎn)生零散的小面積連通區(qū)域,在不影響無衍射光莫爾條紋的兩光斑中心的局部同心圓環(huán)整體輪廓的前提下,刪除面積小于S1的連通區(qū)域,此時(shí)得到的圖像為I1。然后采用大小為P的圓盤形結(jié)構(gòu)元素I2對(duì)圖像I1進(jìn)行先腐蝕后膨脹的開運(yùn)算,開運(yùn)算的計(jì)算公式為
I1·i2=(I1$I2)⊕I2
(1)
式中:$為腐蝕操作;⊕為膨脹操作。最后再次刪除因開運(yùn)算使圖像產(chǎn)生的面積小于S2的新連通區(qū)域,得到圖像I3。
1.2.2 局部同心圓環(huán)檢測(cè)
針對(duì)圖像I3,首先采用Sobel算子進(jìn)行邊緣檢測(cè)。分別選用大小為H,水平方向的內(nèi)核Gx和垂直方向的內(nèi)核Gy與圖像I3進(jìn)行卷積運(yùn)算,則在圖像的每一點(diǎn)的灰度G大小為
(2)
然后對(duì)處理后的圖像采用Hough圓變換。Hough變換是圖像空間和參數(shù)空間之間的一種變換,能有效檢測(cè)出直線、圓、橢圓等。為了簡(jiǎn)述其原理,令需要檢測(cè)圓的參數(shù)方程如下
(3)
式中:a、b為圓心的橫縱坐標(biāo);r為半徑。
假設(shè)(x1,y1)為圓上一點(diǎn),則過點(diǎn)(x1,y1)的所有圓可以表示為(a1(j)、b1(j)、r1(j)),同理過(x2,y2)、(x3,y3)、…,(xi,yi)的所有圓可以表示為(a2(j)、b2(j)、r2(j))、(a3(j)、b3(j)、r3(j))、…、(ai(j)、bi(j)、ri(j))。如果其中有n個(gè)點(diǎn),當(dāng)存在已知圓(am、bm、rm), 使得am、bm、rm等于n個(gè)點(diǎn)中所有對(duì)應(yīng)的a(j)、b(j)、r(j), 則可以判斷這n個(gè)點(diǎn)同在圓(am、bm、rm)上。
Hough變換檢測(cè)圓時(shí),需要根據(jù)圖像的實(shí)際情況選取合適的半徑步長(zhǎng)R0、角度步長(zhǎng)θ、最小圓半徑R1、最大圓半徑R2。其中經(jīng)過多次實(shí)驗(yàn)可知當(dāng)R0為1 pixel,θ為0.1 rad能滿足絕大多數(shù)情況。由于單個(gè)局部圓環(huán)區(qū)域最多含有6個(gè)同心圓環(huán),且同心圓環(huán)間距d0與中心光斑半徑r0是確定的(只與生成無衍射光元器件參數(shù)有關(guān)),則取R1為(d0+r0)、R2為(6d0+r0)即可。通過參數(shù)的選取,并對(duì)邊緣上的點(diǎn)進(jìn)行統(tǒng)計(jì)計(jì)算,確定可能存在的圓,得到初始圓心集C0(x,y)。
1.2.3 圓心集聚類分析
對(duì)初始圓心集C0(x,y)進(jìn)行聚類分析。K-means聚類屬于一種無監(jiān)督的機(jī)器學(xué)習(xí),將相似的對(duì)象歸到同一簇。它是一種硬性算法,是典型的基于原型的目標(biāo)函數(shù)聚類方法的代表,它以數(shù)據(jù)點(diǎn)到類別中心的某種距離之和作為優(yōu)化的目標(biāo)函數(shù),利用函數(shù)求極值的方法來得到迭代運(yùn)算的調(diào)整規(guī)則。
K-means聚類是使用誤差平方和SSE作為聚類的目標(biāo)函數(shù),當(dāng)SSE最小時(shí),聚類效果最好。給定數(shù)據(jù)集X,其中只包含描述屬性,不包含類別屬性。假設(shè)X包含K個(gè)聚類子集X1、X2、…,Xk,各個(gè)聚類子集的樣本數(shù)量分別為n1、n2、…、nk,各個(gè)聚類子集的聚類中心分別為m1、m2、…、mk,則誤差平方和準(zhǔn)則公式為
(4)
式中:Xi是第i個(gè)聚類子集;p是Xi中的樣本點(diǎn);mi是Xi中所有樣本的均值。
因?yàn)闊o衍射光莫爾條紋是由兩束無衍射光干涉而成,所以存在兩個(gè)聚類子集。令K=2,此時(shí)會(huì)隨機(jī)選取兩個(gè)點(diǎn)作為初始聚類中心,通過計(jì)算每個(gè)圓心點(diǎn)到初始聚類中心的歐式距離,將每個(gè)圓心點(diǎn)分配給距離其最近的聚類中心,則聚類中心以及分配給它們的圓心點(diǎn)就代表一個(gè)聚類。所有的圓心點(diǎn)都被分配完成后,兩個(gè)聚類子集會(huì)根據(jù)新的聚類計(jì)算聚類中心,當(dāng)沒有聚類中心發(fā)生變化時(shí),此時(shí)誤差平方和最小,為最優(yōu)聚類,從而能較好地將上述步驟的圓心集C0(x,y)分為兩組圓心集C1(x,y)和C2(x,y)。
1.2.4 刪除異常點(diǎn)并迭代
對(duì)檢測(cè)到的兩組圓心集C1(x,y)和C2(x,y)求取其中心點(diǎn)O1(a,b)和O2(a,b)作為初始中心。計(jì)算每組圓心集中每個(gè)圓心點(diǎn)到其初始中心的距離,令最大距離為dmax,以初始中心為圓心,R為半徑,半徑R所形成的圓要包含各自圓心集的集中部分,以包含各自圓心集的85%像素點(diǎn)為標(biāo)準(zhǔn),R取值為0.85dmax,刪除在圓以外的點(diǎn)即異常點(diǎn)。對(duì)新的圓心集再次求取中心點(diǎn),重復(fù)迭代w次(不超過3次),保證每次迭代要包含當(dāng)前圓心集85%像素點(diǎn),得到O3(a,b)和O4(a,b),即為較為精確的兩束無衍射光中心。
針對(duì)上述的無衍射光莫爾條紋處理方法,在Matlab中生成含有椒鹽噪聲和高斯噪聲的無衍射光莫爾條紋,用來模擬實(shí)驗(yàn)中含有噪聲的無衍射光莫爾條紋,其中椒鹽噪聲的密度為0.02;高斯噪聲的均值為0,方差為0.02。選取4組中心位置確定的無衍射光莫爾條紋,利用上述方法進(jìn)行處理,結(jié)果如表1所示。圖2為第一組數(shù)據(jù)的莫爾條紋定位仿真圖。
由表1分析可得到,4組數(shù)據(jù)的平均誤差能控制在1 pixel內(nèi),所以利用上述方法實(shí)現(xiàn)無衍射光莫爾條紋的中心定位,具有較高的定位精度。圖2中單束無衍射光的r0為8 pixel,d0為12 pixel,則參數(shù)的選取為S=3×3 pixel,V=195,S1=100 pixel,I1=1 pixel,S2=60 pixel,H=3 pixel,Gx=[-1 0 1; -2 0 2; -1 0 1],Gy=[-1 -2 -1; 0 0 0; 1 2 1],R1=20 pixel,R2=80 pixel,R=10 pixel,w=2。
圖2 莫爾條紋定位仿真
表1 理論與計(jì)算數(shù)據(jù)
兩束無衍射光干涉會(huì)產(chǎn)生莫爾條紋,實(shí)驗(yàn)中將生成的無衍射光經(jīng)過分光棱鏡變?yōu)閮墒鵁o衍射光,令兩束無衍射光發(fā)生干涉現(xiàn)象,從而形成無衍射光莫爾條紋。
從圖3可以看出拍攝出來的莫爾條紋呈輻射狀分布,明暗條紋的間隔有時(shí)不明顯,會(huì)影響條紋計(jì)數(shù)的精度。由于生成的無衍射光的r0與d0與仿真相近,則參數(shù)的選取大致與仿真部分相同,不同的是V=5,S1=1 000 pixel,I1=2,S2=300 pixel,R=6 pixel。利用此方法計(jì)算的中心位置為中心1(577.12, 637.06)、中心2(632.50, 460.57),放大中心光斑到一定程度后的初始估計(jì)中心分別為中心1(577, 637)、中心2(633, 460)。對(duì)比理論結(jié)果與實(shí)際結(jié)果,其誤差控制在1 pixel內(nèi),和仿真結(jié)果一樣,說明該方法具有較好的精確性。
圖3 莫爾條紋定位實(shí)驗(yàn)
針對(duì)無衍射光莫爾條紋的高精度定位是精密測(cè)量的前提,本文根據(jù)其形狀特征,提出了一種無衍射光莫爾條紋兩光斑中心同時(shí)定位的方法。理論和實(shí)驗(yàn)表明該方法具有一定的優(yōu)勢(shì),中心定位精度小于1 pixel,是一種可行的無衍射光莫爾條紋的中心定位方法。