鄧仕超,陳藝海,黃 揚(yáng),梅 楓
(桂林電子科技大學(xué)廣西制造系統(tǒng)與先進(jìn)制造技術(shù)重點(diǎn)實(shí)驗(yàn)室,廣西 桂林 541004)
結(jié)構(gòu)光三維測量因其非接觸,速度快,精度高,廣泛用于工業(yè)制造、質(zhì)量檢測、醫(yī)學(xué)等領(lǐng)域,并成為學(xué)術(shù)界和工業(yè)界研究的重點(diǎn)[1-5]。在結(jié)構(gòu)光測量系統(tǒng)中,條紋光柵解包裹是其中重要的一步,通過獲取條紋的相位信息即可獲取物體的三維信息。解包裹主要有空域和時域兩種方法,空域解包裹在一定條件下只能重建簡單的物體輪廓,對噪聲敏感,容易出現(xiàn)累計誤差[6-7]。在時域解包裹中,由于相移法計算簡單,相位計算準(zhǔn)確度高而被廣泛應(yīng)用[8]。在相移法中,在考慮時間效率和噪聲抑制方面四步相移法用的最多,使用四步相移法計算得到包裹相位,相位處于[0,2π)之間,然后利用多頻外差進(jìn)行相位展開,進(jìn)而獲得全場絕對相位。
在實(shí)際工程應(yīng)用過程中,外界環(huán)境存在的噪聲、干擾,相機(jī)鏡頭畸變,投影儀非線性誤差等因素會導(dǎo)致展開的相位產(chǎn)生跳變[9-11],使得三維重建結(jié)果表面不光滑不連續(xù),測量精度變低。近年來,為了抑制解包裹條紋級數(shù)產(chǎn)生跳變,有一些學(xué)者對多頻外差進(jìn)行了改進(jìn),雷志輝等[12]對雙頻外差進(jìn)行了改進(jìn),比較兩個展開相位之間的誤差來判斷是否產(chǎn)生跳變,只適用于兩頻外差。陳玲等[13]對三頻外差進(jìn)了的改進(jìn),通過展開的相位與其相鄰的相位進(jìn)行比較進(jìn)而判斷是否發(fā)生相位跳變,這失去了每個點(diǎn)的獨(dú)立性。陳松林等[14]對多頻外差進(jìn)行了改進(jìn),得到了很好的展開相位,但第三種光柵頻率太低,對復(fù)雜形面分辨能力稍微不足。劉飛等[15]利用了全頻信息,通過額外約束條件有效抑制了相位跳變。黃亞楠等[16]通過相鄰10個像素點(diǎn)來抑制條紋級數(shù)跳變,如果存在陰影則相位矯正會受限,這些方法存在一些局限。
為了減小解包裹過程中的相位誤差跳變,實(shí)現(xiàn)全場相位展開,在分析相位跳變產(chǎn)生原因的前提下,本文提出了誤差范圍約束,并利用了公式回帶和所有展開的相位信息,正確展開了全場相位。本文算法實(shí)際解包裹結(jié)果相位準(zhǔn)確,且三維重建結(jié)果表面光滑,細(xì)節(jié)清晰。
由文獻(xiàn)[14]可知,外差解包裹原理是指將多種不同頻率的光柵圖像疊加到一起進(jìn)行解包裹的方法,最常用的是雙頻外差和三頻外差。相對于雙頻外差解包裹,三頻外差解包裹對細(xì)節(jié)的分辨能力更高[15]。本章先介紹三頻外差原理,然后對其進(jìn)行誤差分析,最后在誤差分析的基礎(chǔ)上提出改進(jìn)算法。
根據(jù)文獻(xiàn)[7],三頻外差原理是首先通過相移法計算包裹相位,所謂相移法就是計算不同相移的正弦條紋的相位主值,計算出的主值相位包裹在[0,2π),然后通過三套不同頻率的編碼正弦條紋解出各自的包裹相位,通過第一套和第二套條紋外差、第二套和第三套條紋外差得到兩套頻率更低的條紋,再次通過這兩套低頻條紋外差形成全場只有一個周期的相位,稱為第三次外差。最后通過第三次外差相位信息回解出三套條紋中的其中一套條紋的展開相位,圖1是三頻外差原理圖,第一列是三套條紋的包裹相位,第二列是第一次和第二次外差頻率更低的相位,第三列是第三次外差,全場只有一個周期。
圖1 三頻外差原理
首先利用四步相移法解出三套條紋的包裹相位φi(i=1,2,3)。
(1)
(2)
(3)
式(1)~式(3)中,φi(i=12,23,123)表示外差后的包裹相位。設(shè)3套光柵周期數(shù)分別為T1、T2、T3,對應(yīng)的光柵節(jié)距為p1、p2和p3。
(4)
其中,條紋的周期數(shù)和節(jié)距需滿足T1>T2>T3,p1 (5) (6) (7) 式(6)、式(7)表示第一套條紋的相位展開公式。展開相位用φi表示,i=1,2,3,12,23,123。 圖2 φ123誤差圖 圖3 n12-N12和Δn12誤差圖 為了能進(jìn)行全場相位展開,提出如下改進(jìn)的解包裹方法。理論上有式(8)成立: p1φ1=p2φ2=p3φ3=p12φ12=p23φ23=p123φ123 (8) 式(8)包含周期數(shù)為T1、T2、T3的展開相位和外差后三套條紋的展開相位。因?yàn)榈谌瓮獠畹玫降臈l紋周期數(shù)為1,所以φ123=φ123。根據(jù)圖2及其分析,在沒有級數(shù)跳變的地方,n12的小數(shù)部分(n12-N12)與Δn12之差存在一定誤差范圍(-a,a),在此范圍內(nèi)就沒有產(chǎn)生條紋級數(shù)的跳變,此時a就是可接受的最大誤差。ni-Ni-Δni的絕對誤差為|Δni+a-floor(Δni+a)-Δni|=|1-a|,當(dāng)a∈(0,0.5)發(fā)生相位跳變時,誤差|1-a|∈(0.5,1)是大于0.5的,此時可以抑制誤差;當(dāng)a∈(0.5,1)發(fā)生相位跳變時,誤差|1-a|∈(0,0.5)是小于0.5的,此時不能抑制誤差,說明條紋小數(shù)部分最大能接受的誤差為a=0.5。當(dāng)ni-Ni-Δni小于-0.5時,說明條紋誤差向下跳變,當(dāng)ni-Ni-Δni大于0.5時,說明條紋誤差向上跳變。 本文算法步驟如下: (1)首先利用式(6)計算n12和N12,用式(9)計算φi,i=12,23: (9) (2)因?yàn)閚12和n23是經(jīng)過有誤差的φ123計算得到的。當(dāng)N12或N23之中的一個發(fā)生跳變而另一個沒有跳變時,求平均值可以減小這種誤差: (10) 根據(jù)式(10)重新計算Δn123,回帶第(1)步再次求出φ12、φ23。 (3) 根據(jù)式(11)和式(12)計算周期數(shù)為T1、T2、T3的條紋級數(shù)整數(shù)部分和展開相位,i=1,2,3: (11) (12) (4)在實(shí)際情況下式(8)是不成立的,利用所有展開的相位信息求平均值,進(jìn)一步提高相位展開的準(zhǔn)確性,利用式(13)計算最終相位,i=1,2,3: (13) 圖4 傳統(tǒng)算法e=π/26 圖5 傳統(tǒng)算法e=π/22 圖6 本文算法e=π/26 圖7 本文算法e=π/22 圖8和圖9是分別添加e=π/26隨機(jī)誤差,經(jīng)傳統(tǒng)算法和本文算法解得的n12-N12和Δn12的誤差圖,由圖8可以看出,傳統(tǒng)算法淺灰色部分(n12-N12)跳變誤差較大,與深色部分Δn12存在較大偏差;可見本文算法修正后淺灰色部分的跳變相位抑制效果明顯,兩者偏差減小。 圖8 傳統(tǒng)算法n12-N12和Δn12 圖9 本文算法n12-N12和Δn12 表1是本文算法和傳統(tǒng)算法n12-N12和Δn12偏差對比表,這種引起最終相位跳變的誤差被減小。由表可知,最大偏差絕對值能減少6 rad左右,標(biāo)準(zhǔn)偏差減少0.7 rad左右。 表1 n12-N12與Δn12的偏差 e=π/26 為實(shí)際驗(yàn)證本文算法的有效性和傳統(tǒng)算法的局限性,搭建如圖10所示的實(shí)驗(yàn)平臺,使用德州儀器TI的投影儀DLP4500,分辨率為1140 pixel×912 pixel。使用陜西維視智造科技公司的相機(jī),型號為MV-EM200C,分辨率為1600 pixel×1200 pixel。向物體投射周期數(shù)為140、134、129的光柵,周期數(shù)滿足式(4)的條件,用三組實(shí)驗(yàn)分別對比傳統(tǒng)算法和本文算法的解包裹和三維重建結(jié)果。 圖10 實(shí)驗(yàn)平臺 在本實(shí)驗(yàn)中,為了說明本文算法和傳統(tǒng)算法的對比。使用投影儀向參考平面投影12幅光柵,相機(jī)同步拍照,使用本文算法和傳統(tǒng)算法進(jìn)行相位展開,結(jié)果如下:圖11和圖12是傳統(tǒng)三頻外差解包裹結(jié)果,圖11中相位跳變的地方與圖13相位展開圖紅圈相對應(yīng),圖12和圖14是本文算法解包裹結(jié)果,可以明顯的看出本文算法可以很好的抑制相位誤差,且展開的相位表面光滑,無任何相位跳變,正確展開了全場相位。 圖11 傳統(tǒng)算法φ1圖12 本文算法φ1 圖13 傳統(tǒng)算法相位展開圖 圖14 本文算法相位展開圖 進(jìn)一步對比驗(yàn)證本文算法解包裹對平面度誤差測量的精度,對3個不同標(biāo)準(zhǔn)金屬塊進(jìn)行三維重建,3個標(biāo)準(zhǔn)金屬塊編號1,2,3,長寬高分別為40.4 mm,35.3 mm,15.2 mm;60.0 mm,35.0 mm,9 mm;34.9 mm,21.6 mm,18.0 mm,如圖15所示,然后計算金屬塊上表面的3D平面擬合偏差,金屬塊1表面共有205 514個點(diǎn),金屬塊2表面共有102 339個點(diǎn),金屬塊3表面共有307 648個點(diǎn)。本文算法利用調(diào)制度分析去除不可靠區(qū)域后的相位展開圖如圖16所示。從表2可以看出,本文算法金屬塊表面的3D擬合偏差相對于傳統(tǒng)算法更小,測量誤差減少了大約28%。 圖15 相機(jī)拍攝圖 圖16 相位展開圖 表2 平面擬合的3D偏差 分別用傳統(tǒng)算法和本文算法進(jìn)行復(fù)雜形面三維重建形成頭像對比本文算法和傳統(tǒng)算法重建效果。圖17為相機(jī)拍攝到的光柵投影后的人頭模型。解包裹時使用調(diào)制度分析去除載物平面和陰影部分。傳統(tǒng)算法重建結(jié)果如圖18所示,本文算法重建結(jié)果如圖19所示,可以看出傳統(tǒng)算法三維重建結(jié)果表面部分信息缺失,而本文算法重建效果表面平滑,細(xì)節(jié)更清晰。 圖17 相機(jī)拍攝圖 圖18 傳統(tǒng)算法頭像點(diǎn)云及其面部放大圖 圖19 本文算法頭像點(diǎn)云及其面部放大圖 表3是對應(yīng)圖18和圖19總的點(diǎn)云數(shù)量,圖18中面部放大圖中的黑色豎條紋就是相位跳變誤差引起的點(diǎn)云缺失,本文算法相對于傳統(tǒng)算法點(diǎn)云數(shù)量增加了6477個,點(diǎn)云信息更加豐富,成像細(xì)節(jié)更突出。 表3 本文算法和傳統(tǒng)算法重建點(diǎn)云數(shù)量 本文在分析傳統(tǒng)三頻外差解包裹產(chǎn)生相位跳變誤差原因的基礎(chǔ)上,提出了一種改進(jìn)的算法,使用誤差范圍約束,并回帶計算減小誤差和利用所有展開的相位信息正確解出了全場相位。通過仿真實(shí)驗(yàn)給出了本文算法和傳統(tǒng)算法對比,引起相位跳變的誤差被矯正,說明本文算法對隨機(jī)誤差具有較強(qiáng)的抑制作用。三組真實(shí)實(shí)驗(yàn)結(jié)果表明,參考平面的解相結(jié)果相比傳統(tǒng)算法,不存在相位跳變且相位表面光滑,不需額外方式進(jìn)行相位矯正;三個標(biāo)準(zhǔn)金屬塊表面3D平面擬合偏差更小,實(shí)際應(yīng)用程度進(jìn)一步提高;三維重建結(jié)果表明,相比傳統(tǒng)算法,本文算法頭像點(diǎn)云平滑連續(xù),細(xì)節(jié)清晰,而傳統(tǒng)算法重建后表面部分信息缺失,三維重建系統(tǒng)的精度進(jìn)一步提高。1.2 誤差分析
1.3 改進(jìn)算法
2 仿真分析
3 實(shí)驗(yàn)分析
3.1 參考平面解包裹
3.2 測量標(biāo)準(zhǔn)金屬塊3D平面擬合偏差
3.3 人頭模型三維重建
4 結(jié)論