董營 顧琦 張慶德
摘 要:格雷碼結(jié)構(gòu)光相位展開方法可以擴展相移算法的包裹相位。由于格雷碼圖像的黑白邊界存在過渡區(qū)域,使得這些邊界位置容易產(chǎn)生錯誤的展開相位。為此,本文提出了一種改進的格雷碼相位展開方法。改進方法在傳統(tǒng)的格雷碼圖案基礎(chǔ)上,附加一個新的格雷碼圖案,并且給出了相應(yīng)的相位展開方法。在改進的方法中,過渡區(qū)域不參與相位計算過程,因此該方法比傳統(tǒng)格雷碼相位展開方法更為可靠。
關(guān)鍵詞:條紋投影;格雷碼;相移法;相位展開
1.前言
條紋投影輪廓測量技術(shù)是一種非接觸式的快速光學測量方法,適用于掃描復(fù)雜和不連續(xù)的物體三維輪廓。在條紋投影技術(shù)中,相移法是獲取相位信息的主要方法。然而,相移法會產(chǎn)生周期為2π的不連續(xù)相位分布,經(jīng)過相位展開過程才能得到連續(xù)的相位分布圖。
格雷碼相位展開方法屬于時間相位展開方法,是解決相位解包裹問題最簡單直接的方法。通過使用二進制編碼圖案,格雷碼解相位方法具有抗干擾的特點。但是格雷碼方法也有明顯的缺點,最突出的問題是在二值邊界區(qū)域容易出現(xiàn)周期跳躍相位誤差。由于物體表面的散焦和不均勻的反射率,在采集的格雷碼圖像上,黑白邊界區(qū)域不是理想的亮度突然轉(zhuǎn)換情況,有過渡區(qū)域存在。這將導致在格雷碼圖案邊緣區(qū)域確定相位階數(shù)時存在不確定性,容易在邊緣過渡區(qū)域產(chǎn)生錯誤的相位階數(shù)以及展開相位誤差和相位誤差。
針對這個問題,本文提出了一種改進的格雷碼相位展開方法。在改進的展開方法中,過渡區(qū)域的展開相位值是由傳統(tǒng)格雷碼圖案以及一個附加的格雷碼圖案決定。改進方法以包裹相位和穩(wěn)定的格雷碼非邊緣過渡區(qū)域亮度確定過渡區(qū)域的相位階數(shù),可以有效的消除邊緣過渡區(qū)域存在的相位階數(shù)誤差和相位誤差。
2.傳統(tǒng)格雷碼方法
2.1?相移法
相移法具有較高的計算效率和精度,被廣泛應(yīng)用于光學測量領(lǐng)域。在相移法中,第i個理想正弦條紋的亮度可以表示為:
(1)
式中,Iα(x,y)是平均亮度,Im(x,y)是亮度調(diào)制,φw(x,y)是相位信息,N表示條紋圖案數(shù)量。相位信息φw(x,y)可以使用最小二乘法計算得到:
(2)
由式(2)求解的相位值是周期為2π的不連續(xù)相位,正弦條紋圖案和和計算的未展開相位。為了重構(gòu)連續(xù)的物體表面三維輪廓,需要用相位展開方法將不連續(xù)的周期相位擴展成連續(xù)的絕對相位分布。
2.2?傳統(tǒng)格雷碼相位展開方法
格雷碼方法是一種簡單、有效的相位展開方法。一組三位的理想格雷碼圖案如圖1(b)所示?;谶@些圖案的二值化結(jié)果,可以計算出其相應(yīng)的條紋順序,如圖1(c)所示。如果格雷碼圖案的周期與相位條紋的周期一致,按照格雷碼圖案計算的條紋順序也可以稱為相位階數(shù)G(x,y)。根據(jù)相位階數(shù)可以將周期相位φw(x,y)展開成連續(xù)的絕對相位分布φu(x,y),展開的連續(xù)相位分布如圖1(d)所示。
(3)
2.3?邊界相位誤差
在實際采集的格雷碼圖像中,因為離焦、物體表面不均勻反射等原因,在圖像黑白邊界處亮度不是突然轉(zhuǎn)變,存在亮度變化過渡區(qū)域,如圖1(a)所示。過渡區(qū)域的亮度在二值化計算時存在不確定性,導致實際的格雷碼圖案邊緣與周期相位的邊緣不能完全一致,存在輕微錯位,示意圖如圖1(b)和1(c)所示。在利用式(3)進行相位展開時,這種錯位會產(chǎn)生邊緣相位誤差,如圖1(d)所示。
圖1.過渡區(qū)域和邊界相位誤差示意圖:(a)過渡區(qū)域圖像(b)周期未展開相位(c)階梯邊緣不準的相位階數(shù)(d)具有邊界相位誤差的連續(xù)相位。
3.改進格雷碼相位展開方法
為了消除在過渡區(qū)域中出現(xiàn)的相位誤差,我們提出了一種改進的格雷碼相位展開方法。在這種方法中,格雷碼圖案過渡區(qū)域的相位是基于未展開相位和格雷碼圖案非過渡區(qū)域編碼值確定。因此,該方法可以在過渡地區(qū)提供可靠的相位階數(shù)。本文所提出的方法主要分為四個步驟:
步驟1:確定像素坐標是否位于過渡區(qū)域中
為了提高計算效率,我們需要在采集的格雷碼圖像中找出位于過渡區(qū)域的像素點進行專門的相位展開計算,其他區(qū)域的像素點可以采用傳統(tǒng)的格雷碼方法計算展開相位。由于格雷碼圖案的周期是與相移法圖案周期的整數(shù)倍,即理論上,格雷碼圖案的過渡區(qū)域應(yīng)在未展開相位的相位突變位置附件。因此,本方法認為過渡區(qū)域像素點位于未展開相位過渡區(qū)域的±π/2的范圍內(nèi),即(-π≤φw<-π/2)和(π/2≤φw<π)。
步驟2:識別格雷碼圖像
圖2所示的陰影區(qū)域是確定的過渡區(qū)域,三條實現(xiàn)代表傳統(tǒng)的三位格雷碼圖案的二值化結(jié)果??梢钥闯觯鶄鹘y(tǒng)格雷碼圖案上的過渡區(qū)域分別與未展開相位的相位突變位置一一對應(yīng)。為了識別過渡區(qū)域所對應(yīng)的格雷碼圖像,本方法使用了附加的格雷碼圖案,圖2中虛線代表附加的格雷碼圖案二值化結(jié)果。
圖2.改進格雷碼相位展開方法原理
如果某像素點位于格雷碼圖案過渡區(qū)域中,可以從附加格雷碼圖案開始依次掃描各格雷碼圖案在該像素坐標的二值化狀態(tài),確定過渡區(qū)域?qū)儆谀膫€格雷碼圖案。在確定過程中,如果我們發(fā)現(xiàn)附加格雷碼圖案在像素位置的二進制狀態(tài)為真,則可以確定該像素坐標所處的過渡區(qū)域?qū)儆诟窭状a圖案2。否則,如果附加格雷碼圖案中的二進制狀態(tài)為假,并且在格雷碼圖案2中為真,則過渡區(qū)域?qū)儆诟窭状a圖案1。依次類推,當格雷碼圖像1在像素位置的二進制狀態(tài)為真,在其他格雷碼圖案上為假時,可以確定過渡區(qū)域位于格雷碼圖像0。
步驟3:識別過渡區(qū)域邊緣類型
過渡區(qū)域的格雷碼圖案邊緣可以分為上升沿和下降沿兩種類型,需要進行區(qū)分對待。在每個格雷碼圖案上(除了圖案0),上升沿和下降沿是按規(guī)則順序出現(xiàn)的。利用周期更大的格雷碼圖案可以計算待確定格雷碼圖案上過渡區(qū)域的編碼,根據(jù)編碼值可以確定該過渡區(qū)域是上升邊緣或者是下降邊緣。以圖案2上的過渡區(qū)域為例,共有四個過渡區(qū)域。根據(jù)過渡區(qū)域在圖案0和圖案1的二值化結(jié)果,可以確定該區(qū)域的編碼值(分別為0,1,2和3)。由此,可以判斷出編碼值為0和2的過渡區(qū)域為是上升邊緣,編碼值為1和3的過渡區(qū)域為是下降邊緣。
步驟4:校正所識別的格雷碼圖像中的邊緣
最后根據(jù)上述確定的參數(shù),確定過渡區(qū)域的二進制狀態(tài)。如果像素點位于格雷碼圖像的過渡區(qū)域,其二進制狀態(tài)將確定為:
根據(jù)式(4)和(5)確定的過渡區(qū)域二值化結(jié)果,過渡區(qū)域的上升邊緣或者下降邊緣與未展開相位的相位突變位置精確對齊。因此,本方法可以得到準確的相位階數(shù),消除由此引起展開相位誤差。
4.實驗結(jié)果與分析
為了驗證本方法的有效性,本文使用泡沫魚作為被掃描目標。這里分別采用傳統(tǒng)格雷碼方法和改進的格雷碼方法計算泡沫魚表面輪廓的絕對相位。圖3(a)所示為傳統(tǒng)格雷碼解相方法計算得到的連續(xù)相位結(jié)果。從該圖上可以明顯看出,被掃描表面的展開相位不光滑,存在周期性的相位誤差。圖3(b)為改進格雷碼解相方法的計算結(jié)果。從圖3(b)可以看到,改進的解相方法可以有效地去除邊緣相位誤差,使被掃描表面的展開相位更加光滑。
圖3.?重構(gòu)表面效果對比:(a)傳統(tǒng)格雷碼方法結(jié)果(b)改進格雷碼方法結(jié)果
5.結(jié)論
為了消除傳統(tǒng)格雷碼解相方法中存在的條紋邊緣相位誤差,本文提出了一種改進的格雷碼解相方法。該方法基于未展開相位和非邊緣區(qū)域亮度確定邊緣區(qū)域的相位階數(shù),能夠在邊緣區(qū)域給出可靠的相位展開結(jié)果。實驗結(jié)果驗證了該方法的可行性和有效性。
(作者單位:山東化工技師學院,山東?棗莊?277500)