韓 玉,楊延竹,蘇雪龍
(1. 東華大學(xué) 機(jī)械工程學(xué)院,上海 201620;2. 上海船舶研究設(shè)計(jì)院,上海 201203)
相位測(cè)量輪廓術(shù)是一種基于光柵投影和相位測(cè)量的光學(xué)三維面形測(cè)量技術(shù), 其可有效實(shí)現(xiàn)物體表面三維輪廓的自動(dòng)測(cè)量[1]。該方法是將相位作為立體匹配的一個(gè)特征量[2],因此高精度的相位解算是準(zhǔn)確獲得被測(cè)物體三維坐標(biāo)的關(guān)鍵因素之一。相移法是提取相位的常用方法,但是其采用反正切函數(shù)求得的相位為包裹相位,由于反正切函數(shù)特性所求得的相位包裹在[-π, π],不具有唯一性,所以必須進(jìn)行相位展開得到連續(xù)分布的絕對(duì)相位[3]。
目前,相位解包裹方法主要可分為空間相位解包裹和時(shí)間相位解包裹兩大類[4]??臻g相位解包裹的本質(zhì)是一種積分過(guò)程,任何一點(diǎn)的誤差都會(huì)隨展開過(guò)程演變成累積誤差[5],因此空間相位展開方法一般不適用于高精度及復(fù)雜面形的測(cè)量[3]。時(shí)間相位解包裹算法是將每個(gè)像素點(diǎn)的相位值進(jìn)行獨(dú)立計(jì)算,再進(jìn)行立體匹配,可以有效避免誤差累積,在實(shí)際應(yīng)用中有較高的實(shí)用性。多頻外差解包裹方法是時(shí)間相位解包裹算法中常用的一種方法,但是直接利用多頻外差解包裹后的相位會(huì)出現(xiàn)跳躍性誤差,從而導(dǎo)致三維重建后存在離群點(diǎn),所以需要進(jìn)行誤差校正[6-9]。雷志輝等[9]對(duì)多頻外差解包裹進(jìn)行改進(jìn)以修正跳躍性誤差,但是僅對(duì)雙頻有效,并且在其設(shè)定的參考相位的誤差大于π時(shí)會(huì)出現(xiàn)漏判的情況。陳松林等[6]對(duì)文獻(xiàn)[9]的修正方法進(jìn)行了改進(jìn),但是約束條件較多且實(shí)現(xiàn)復(fù)雜。
本文針對(duì)多頻外差解包裹后出現(xiàn)相位跳躍性誤差的問(wèn)題,在深入研究和分析相位誤差出現(xiàn)原因的基礎(chǔ)上,對(duì)現(xiàn)有解包裹方法進(jìn)行改進(jìn),提出一種利用相鄰像素點(diǎn)包裹相位獲得的斜率和疊柵條紋的整數(shù)部分進(jìn)行雙重判斷的解包裹修正方法。
相位測(cè)量輪廓術(shù)的三維測(cè)量原理如圖1所示,其中,D為攝像機(jī)與投影儀的中心連線距離,L為攝像機(jī)光心距參考平面的高度,h為待求被測(cè)點(diǎn)的高度。本文采用四步相移法來(lái)計(jì)算包含有被測(cè)物體表面三維信息的相位主值[10]。當(dāng)向物體表面投影正弦光柵后,采集到的變形光柵圖的光強(qiáng)分布如式(1)[11]所示。
Ii(x,y)=a(x,y)+b(x,y)cos[φ(x,y)+θ]
(1)
式中:Ii(x,y)為圖像中(x,y)點(diǎn)處的灰度值;a(x,y)為平均灰度;b(x,y)為調(diào)制灰度;θ為圖像相位移即初相位;φ(x,y)為經(jīng)物體調(diào)制的待求相位值。采用四步相移法通過(guò)反正切函數(shù)求出相位值[12],如式(2)所示。
(2)
式中:I1、I2、I3、I4分別為4幅相移圖像的光強(qiáng)分布。由于反正切函數(shù)的性質(zhì),由式(2)求出的相位主值φ(x,y)范圍在[-π, π]內(nèi),但是使用的光柵圖像存在多個(gè)周期數(shù),除第一個(gè)周期內(nèi)的相位外,后續(xù)所求的相位與實(shí)際相位相差若干個(gè)2π周期,所以必須對(duì)求得的相位主值進(jìn)行相位展開以獲得連續(xù)的絕對(duì)相位值。
圖1 測(cè)量原理圖Fig.1 Measurement schematic diagram
多頻外差解相是指將多種不同頻率的光柵圖像疊加到一起進(jìn)行解相的方法,最常用的是三頻外差解相[4]。
多頻外差原理如圖2所示,p1、p2分別為兩個(gè)投影光柵條紋的一個(gè)周期長(zhǎng)度即節(jié)距,λ為頻率,周期數(shù)為s,λ=1/s,一般p1 (3) 圖2 多頻外差解原理Fig.2 Principle of multifrequency heterodyne solution 對(duì)于物體上同一點(diǎn),當(dāng)投影光柵條紋的3種節(jié)距分別為p1、p2和p3時(shí),對(duì)應(yīng)的條紋級(jí)數(shù)分別為n1、n2和n3(包含小數(shù)部分),Ni為整數(shù)部分,Δni為小數(shù)部分,則有式(4)~(7)成立。 ψi=2πni (4) p1n1=p2n2=p3n3=p12n12=p23n23 (5) (6) ni=Ni+Δni,Ni∈Z (7) 式中:φi為相位主值;ψi為解相后的絕對(duì)相位值;Z為整數(shù)集。由式(4)~(7)可以得到: (8) (9) (10) 從式(8)~(10)可以看出,只需要N1-N2就可以求出n1和n2。根據(jù)疊柵條紋的特性可知,假設(shè)物體上的某一點(diǎn)位于疊柵條紋的第N12級(jí)與N12+1級(jí)內(nèi),x為其在X軸方向上距離O點(diǎn)的距離,O點(diǎn)相位為0,可以得到: (11) 代入式(10)可得: N1-N2∈(N12+Δn2-Δn1, (12) 又因?yàn)?/p> Δn1, Δn2∈(0, 1)?Δn2-Δn1∈(-1, 1) (13) 結(jié)合式(12)和(13)式可得N1-N2的范圍為 N1-N2∈(N12-1,N12+2) (14) 因?yàn)镹1,N2∈Z,所以N1-N2∈Z,從而得到: N1-N2∈[N12,N12+1](15) 根據(jù)N1-N2的范圍分析討論式(12),這里分下列兩種情況: (1)當(dāng)(Δn2-Δn1)時(shí),根據(jù)式(13)可得N1-N2>N12,那么由式(15)可知N1-N2=N12+1。 (2)當(dāng)(Δn2-Δn1)≤0時(shí),根據(jù)式(13)可得N1-N2 結(jié)合式(6),那么上述兩種情況變?yōu)?/p> (1)當(dāng)φ2>φ1時(shí), N1-N2=N12+1 (16) (2)當(dāng)φ2≤φ1時(shí), N1-N2=N12 (17) 將式(16)和(17)分別代入式(10)并結(jié)合式(4),可以求得相位展開后兩種條紋的絕對(duì)相位ψ1和ψ2。 (1)當(dāng)φ2>φ1時(shí), (18) (2)當(dāng)φ2≤φ1時(shí), (19) 由式(18)和(19)可以看出,因?yàn)棣?-φ2乘以(p2/p2-p1)/(p1/p2-p1),使得φ1-φ2的誤差被放大,又因?yàn)棣譱又可以表示為ψi=2πNi+φi,采用該式進(jìn)行求解,可以消除條紋級(jí)數(shù)小數(shù)部分帶來(lái)的影響,避免誤差放大現(xiàn)象的發(fā)生,可以通過(guò)對(duì)ni向下取整獲得Ni,所以由式(16)和(17)可得: (1)當(dāng)φ2>φ1時(shí), (20) (2)當(dāng)φ2≤φ1時(shí), (21) 同理,結(jié)合式(5)可獲得以下關(guān)系: (22) 將式(22)代入式(8)~(10)可得ψ12和ψ23的如下展開式: (1)當(dāng)φ23>φ12時(shí), (23) (2)當(dāng)φ23≤φ12時(shí), (24) 選擇合適的p1、p2、p3可以使疊柵條紋的P123覆蓋到整個(gè)視場(chǎng)中,一般選擇p1 為了對(duì)基于多頻外差的相位解包裹后的相位會(huì)出現(xiàn)的誤差進(jìn)行分析,本文在上述試驗(yàn)系統(tǒng)中利用分辨率為1 280像素×720像素的投影儀分別向被測(cè)物體投射節(jié)距為p1=21、p2=23、p3=25的光柵條紋,所形成的疊柵條紋為p12=241.5、p23=287.5、p123=1510,p123大于1 280,所以其條紋周期可以覆蓋整個(gè)投影范圍,滿足測(cè)量條件。 本文取解包裹后的連續(xù)相位分布圖中的第1 030行的790~990列的200個(gè)像素,并將這些位置的相位值分布進(jìn)行繪制,如圖3所示。 圖3 未修正解包裹相位Fig.3 Uncorrected unwrapped phase 從圖3可以看出,解包裹后的連續(xù)相位并不是平滑的,在某些位置會(huì)出現(xiàn)較大或者較小的跳躍性相位誤差。由式(20)和(21)分析可以看出,解包裹算法中對(duì)條紋級(jí)數(shù)進(jìn)行了向下取整操作,如果取整錯(cuò)誤會(huì)造成相位的跳躍性誤差。通過(guò)分析可知,取整的錯(cuò)誤主要是因?yàn)榀B柵條紋的整數(shù)部分的判斷錯(cuò)誤所造成的,取N12還是取(N12+1)是由Δn2-Δn1即Δn12的正負(fù)進(jìn)行判斷的,如果當(dāng)Δn1和Δn2近似相等時(shí),會(huì)很容易出現(xiàn)大小判斷錯(cuò)誤的情況,因?yàn)榇藭r(shí)無(wú)論是Δn1還是Δn2出現(xiàn)小的誤差便會(huì)引起0到1的跳躍性變化,雖然只是0到1的震蕩變化,但是經(jīng)過(guò)[p2/(p2-p1)]放大后,便會(huì)造成floor[p2/(p2-p1)]2π倍的誤差,如圖3中在915像素附近的誤差。 除此之外還有其他位置會(huì)出現(xiàn)一些較小的跳躍性誤差,從式(20)和(21)中可以看出,取整部分除了N12還包括Δn12,也就是Δn1-Δn2,其中Δn1和Δn2自身也會(huì)存在誤差。由式(6)可知,這部分與相位主值φi的精度有關(guān),通過(guò)計(jì)算驗(yàn)證發(fā)現(xiàn)在絕大部分的位置不會(huì)因?yàn)榇瞬糠终`差產(chǎn)生跳變,但是在條紋級(jí)數(shù)改變處可能會(huì)由于取整操作使得條紋整數(shù)部分出現(xiàn)幅值為1的跳變,此時(shí)便會(huì)造成所求條紋的連續(xù)相位出現(xiàn)2π的跳躍性誤差。 從以上分析可以看出,利用基于多頻外差的相位解包裹方法得到的相位存在不同程度的跳躍性誤差,從而影響三維重建的效果,因此需要對(duì)獲得的相位進(jìn)行修正。利用式(18)和(19)求得的相位誤差被放大,但是并不會(huì)達(dá)到2π倍的誤差,所以利用這一特點(diǎn),雷志輝等[9]利用式(18)和(19)得到的相位作為參考相位ψ1,將利用式(20)和(21)求得的相位ψ2與其進(jìn)行對(duì)比,兩者之差絕對(duì)值在π以內(nèi)則認(rèn)為沒(méi)有出現(xiàn)取整誤差,否則便是出現(xiàn)了跳變。這種修正方法有一定的局限性,如果參考相位出現(xiàn)大于π的誤差時(shí),此時(shí)|ψ1-ψ2|<π,但是此時(shí)也出現(xiàn)2π的跳躍誤差,所以將得到錯(cuò)誤的ψ2。除此之外,此修正方法也無(wú)法消除大的跳躍性誤差,效果并不理想。 為了解決上述問(wèn)題,徹底消除相位解包裹中的跳躍性誤差,對(duì)外差原理及外差條紋深入研究,發(fā)現(xiàn)兩種頻率的外差條紋圖的斜率是不同的,可用利用此特性對(duì)包裹相位進(jìn)行大小比較。此外,兩種外差條紋在得到的疊柵條紋中整數(shù)部分是相同的,此特性便可以作為包裹相位判斷的檢驗(yàn)步驟?;谝陨习l(fā)現(xiàn),本文提出一種新的相位解包裹修正方法,此方法不僅容易實(shí)現(xiàn),而且可以很好地抑制跳躍性誤差。該方法實(shí)現(xiàn)流程如下: (1)向被測(cè)物體透射光柵后,利用相移法求解出p1、p2條紋的包裹相位φ1、φ2。 (2)假設(shè)a點(diǎn)為待處理像素點(diǎn),其中αφ1、αφ2為a點(diǎn)在兩幅條紋中的包裹相位,選取在正方向上a點(diǎn)的下一點(diǎn)b點(diǎn),其中βφ1、βφ2為b點(diǎn)在兩幅條紋中的包裹相位。 (3)由圖2可以看出,條紋節(jié)距小的斜率大,假設(shè)p1 (4)按照疊加條紋p12的增大方向,比較αN12和βN12,因?yàn)镹12為p12條紋級(jí)數(shù)的整數(shù)部分,所以αN12=βN12,若出現(xiàn)αN12≠βN12,則認(rèn)為a點(diǎn)處兩包裹相位大小比較是錯(cuò)誤的,取-(Δn2-Δn1)進(jìn)行解包裹運(yùn)算。 本文修正方法實(shí)現(xiàn)流程圖如圖4所示。 圖4 修正方法流程圖Fig.4 Flow chart of correction method 本文算法修正的解包裹相位結(jié)果如圖5所示。從圖5可以看出,在利用本文提出的相位解包裹的多重判定的修正措施后,大大抑制了跳躍性誤差的發(fā)生,兩種跳躍性誤差均被消除,包裹相位被展開為連續(xù)平滑的絕對(duì)相位,且方法實(shí)現(xiàn)簡(jiǎn)單。 圖5 本文算法解包裹相位Fig.5 The unwrapping phase of the algorithm in this paper 為了驗(yàn)證本文算法的有效性以及可靠性,選擇高精度研磨塊作為待測(cè)對(duì)象,測(cè)量其表面平面度(0.1 mm),被測(cè)物體高度由游標(biāo)卡尺測(cè)量得到。本試驗(yàn)硬件選用DLP3010型光機(jī)模組(1 280×780)和??礛V-CA050-20UM型工業(yè)相機(jī)(2 592×2 048),算法在vs2017平臺(tái)下編程實(shí)現(xiàn),采用Intel i7-9700型處理器。 首先利用張正友標(biāo)定法對(duì)系統(tǒng)進(jìn)行標(biāo)定獲得內(nèi)外參數(shù),然后采用本文提出的基于多頻外差解包裹修正方法對(duì)被測(cè)物體進(jìn)行三維測(cè)量,本文進(jìn)行多組試驗(yàn)來(lái)驗(yàn)證本文方法的有效性,取其中若干組如圖6所示,其中,圖6(a)和(b)為兩組出現(xiàn)跳變誤差的解包裹相位,圖6(c)和(d)為使用本文修正方法后的解包裹相位。由圖6可以看出,采用本文的解包裹修正方法可完全去除相位跳變誤差。修正前后的三維重建效果圖如圖7所示。 (c) (a) 修正前 (b) 修正后 本文針對(duì)基于多頻外差的相位解包裹方法進(jìn)行相位展開后會(huì)出現(xiàn)跳躍性誤差,通過(guò)多頻外差解包裹的推導(dǎo)過(guò)程和相位分布圖像分析誤差的種類和來(lái)源,發(fā)現(xiàn)跳躍性誤差主要來(lái)源于對(duì)整數(shù)部分Ni進(jìn)行取整操作時(shí)φ1、φ2的大小比較和自身誤差兩部分。基于此分析,提出了利用不同頻率的相位主值圖的斜率不同以及疊柵條紋整數(shù)部分相同來(lái)對(duì)φ1、φ2的大小進(jìn)行雙重判斷,試驗(yàn)分析表明,利用此修正方法可以有效去除跳躍性相位誤差,得到平滑的展開相位分布圖,從而驗(yàn)證了該方法的可靠性。
N12+1+Δn2-Δn1)2 相位誤差分析及糾正
3 試驗(yàn)分析
4 結(jié) 語(yǔ)