王建華,楊延西
(西安理工大學 自動化與信息工程學院,陜西 西安 710048)
光柵投影三維測量具有非接觸、速度快、測量精度高、測量范圍廣等特點,廣泛應用于逆向工程、工業(yè)檢測、質(zhì)量控制、虛擬現(xiàn)實、醫(yī)學診斷、文物修復等領域。光柵投影三維測量的原理是,通過數(shù)字投影儀將編制好的光柵條紋投射到被測物體上,經(jīng)過物體調(diào)制后形成變形條紋,相機采集變形條紋并傳給計算機,經(jīng)過解相位主值和相位展開,得到實際相位分布,并代入到相位-高度計算公式解算出被測物體高度[1-4]。其中,解相位主值(也稱為解包裹相位)對最終的三維測量精度影響很大,普遍采用的方法包括相移法[5-7]、傅立葉變換法[8]和小波變換法[9-11]。其中,傅立葉變換法和小波變換法只需要一幅光柵條紋即可解包裹相位,但其測量精度一般低于相移法。
相移法[5-7]至少需要3幅以上的光柵條紋才能解包裹相位,其解相位精度高,對環(huán)境和噪聲不敏感,但仍存在一些誤差源:譬如相移機構的相移誤差、光柵圖像的隨機噪聲和光柵圖像的非正弦化等,都可能導致相位誤差的產(chǎn)生。(1)相移機構的相移誤差是由于相移步距的不相等所致,在機械式的相移裝置中是不可避免的,但是使用數(shù)字投影儀(DLP)進行光柵投影,利用計算機準確生成相移圖像并投影,所產(chǎn)生的誤差基本可以忽略;(2)相移算法對隨機噪聲具有較好的抑制作用,且相位計算前可以通過高斯濾波等方法對圖像進行預處理,從而較好地解決了該問題,因此也不需要考慮該誤差源;(3)光柵投影三維測量系統(tǒng)中的DLP和CCD相機一般為非線性設備,設計好的具有正弦分布的光柵條紋圖案由DLP投影以及CCD相機采集后,得到的光柵條紋圖不具有良好的正弦性,從而導致相位誤差。雖然通過投影和采集較大數(shù)量的光柵條紋圖案,譬如二十步相移法,可以削弱以至消除該測量誤差,但是對于常用的三步、四步和五步相移算法而言,由這種非線性響應引起的測量誤差是光柵投影測量系統(tǒng)主要誤差來源。
Zhang等人[12]根據(jù)相移輪廓術中的近似正弦分布相位誤差規(guī)律,建立一個相位誤差查詢表格,根據(jù)誤差查詢表格對相位誤差進行補償,均方根相位誤差可以減少13倍以上。Baker等人[13]給出精確的Gamma數(shù)學模型以確定Gamma失真與相位誤差之間的關系,補償后相位的均方根誤差值可以減少60倍。Pan等人[14]提出了一種新的簡單的迭代相位補償算法來補償非正弦相位誤差。Cai等人[15]提出了一種基于Hilbert變換的柔性相位補償方法。Yatabe等人[16]提出了一種畸變補償?shù)暮筇幚矸椒?,并聲稱不需要Gamma數(shù)學模型。Zhang等人[17]通過在相機原始采集的條紋圖案上疊加特定的諧波,再通過調(diào)整諧波的振幅抑制相位誤差,從而降低了運算量。Huang等人[18]提出了一種雙三步相移算法,該方法在投影一套三步相移光柵條紋的基礎上,再投影一套相位差為60°的三步相移光柵條紋,兩次執(zhí)行三步相移算法獲得兩幅主值相位圖,分別展開后,對兩幅展開相位圖進行融合,得到融合展開相位。實驗證明,該方法能有效的降低光柵投影測量系統(tǒng)的非線性誤差,且不需要復雜的數(shù)學模型。但該方法需要增加一倍的光柵數(shù)量,降低了測量效率。針對這一問題,本文提出了一種基于彩色編碼光柵投影的雙N步相移輪廓術。該方法將初始相移條紋和相位差為π/N(N為相移次數(shù))的附加相移條紋編碼成綠色和藍色條紋,融合到一幅彩色光柵條紋中,即RGB三基色的G分量和B分量,同時投影和采集,從而不需要增加任何額外的光柵條紋,提高了測量效率。
光柵投影條紋一般為正(或余)弦條紋,條紋的灰度值可表示為:
g(x,y)=a(x,y)+
b(x,y)cos[2πf0x+φ(x,y)] ,
(1)
式中:a(x,y)為背景光強值,b(x,y)為調(diào)制強度,f0為載波頻率,φ(x,y)為被測物體高度調(diào)制相位。
沿著垂直于光柵條紋方向在一個周期內(nèi)移動N次,N∈[3,5]。當N=3時稱為三步相移法,當N=4時稱為四步相移法,當N=5時稱為五步相移法。條紋的灰度值可表示為:
gi(x,y)=a(x,y)+b(x,y)
cos[2πf0x+φ(x,y)+2π(i-1)/N] ,
(2)
式中:N表示總的相移次數(shù),i表示第i次相移,i∈[1,N]。
單步相移法解相位主值(解包裹相位)公式:
(3)
式中:gi(x,y)為第i次相移條紋像素點(x,y)的灰度值,N表示總的相移次數(shù),ψ(x,y)表示包裹相位,φ(x,y)表示實際相位(展開相位),rem代表MATLAB中的取余算子。
單三步、四步和五步相移法的包裹相位求解公式如下:
(4)
(5)
(6)
圖1 包裹相位和展開相位的一行Fig.1 A line of wrapped phase and unwrapped phase
對一個平整平面進行三維測量時,在測量系統(tǒng)沒有非線性誤差的理想情況下,平整平面的任一行像素的包裹相位(不考慮包裹相位的跳變點)和展開相位應為直線,而三步、四步和五步相移法獲得的實際包裹相位和展開相位如圖1所示??梢钥闯觯诎辔粓D中,不考慮相位跳變點時,折疊在(-π,π)之間的連續(xù)包裹相位不是直線,近似為正弦波;而實際展開相位也沒有呈現(xiàn)出理想直線,近似為正弦波,該誤差正是由于光柵條紋圖案的非正弦性導致的。
圖1的實驗結(jié)果證實,相移法計算得到的實際包裹相位和實際展開相位都不是直線,近似為正弦波。下面,基于理論推導分析該誤差。
CCD相機拍攝的非正弦性光柵條紋圖的灰度值函數(shù)可由五階傅立葉級數(shù)表示,如式(7)所示:
(7)
根據(jù)式(3)和式(7)可得到實際包裹相位ψc(x,y)為:
(8)
令Δψ(x,y)表示實際包裹相位和理想包裹相位之差,則:
(9)
(10)
根據(jù)式(3)、(7)和(10)可得,光柵條紋非正弦性導致的三步、四步和五步相移的相位主值誤差可近似表示為:
ΔψN(x,y)=-csin[Nψ(x,y)] ,
(11)
式中:ΔψN(x,y)是包裹相位誤差近似值。
由公式(11)看出,相位誤差近似符合正弦分布規(guī)律,與2.1的實驗結(jié)果一致。正弦分布的周期與相移算法的步數(shù)N以及理想相位ψ(x,y)有關。
根據(jù)上面的分析知,相位誤差近似符合正弦分布規(guī)律,如果引入另一套相移條紋,其與原相位誤差相反,則可以融合兩部分相位信息,大幅減小系統(tǒng)非線性響應所致的相位誤差。
(12)
cos[2πf0x+φ(x,y)+2π(i-1)/N+π/N] .
(13)
附加相移條紋與初始相移條紋之間的相位差為π/N,雙三步相移法的初始相位差設計為60°,雙四步為45°,雙五步為36°。附加相移條紋的包裹相位可由下式獲得:
(14)
式中:ψE(x,y)是附加相移條紋的包裹相位。
在投影和采集一套相移條紋的基礎上,引入附加相移條紋,融合兩部分相位信息可以大大減小相位誤差。該方法稱為雙步相移法,它不需要數(shù)學模型,算法簡單有效,但需要增加一倍的投影條紋數(shù)量,降低了測量效率。如果采用RGB三基色編碼光柵條紋,則可以將原始和附加兩套相移條紋(灰度符合正弦或余弦變化)做成雙色,然后融合為一套彩色相移條紋。該方法既能有效減小相位誤差,又沒有增加測量系統(tǒng)的條紋投影和采集次數(shù),縮短了測量時間,提高了測量效率[19-21]。
基于RGB三基色的編碼光柵條紋為三維矩陣,表示為:
(15)
式中:R(i,j)、G(i,j)和B(i,j)代表三維矩陣Ir的3個分量,即純紅R分量、純綠G分量和純藍B分量。
如果光柵條紋為768 pixel×1 024 pixel,三維矩陣如圖2(a)所示。這里選擇三維矩陣的G分量和B分量,彩色光柵條紋生成如圖2(b)所示。當投影條紋的頻率為64/1 024(即周期數(shù)為64)時,一個周期包含1 024/64=16 pixels。采用四步相移法,綠色和藍色兩套投影條紋都為4幅,并且兩套投影條紋的對應圖像之間的相位差為π/4,即1/8周期,因此綠色和藍色投影條紋之間的像素偏移為16×(1/8)=2 pixels。分別取綠色和藍色兩套條紋的第1幅,其關系如圖2(c)所示。
圖2 彩色光柵條紋形成示意圖Fig.2 Schematic of color-encoded grating fringe formation
圖3為彩色光柵條紋的生成、投影、采集和GB分量提取。采用四步相移法時,共有4幅相位差為2π/N的彩色條紋,GB分量提取后得到8幅灰度圖,其中4幅為初始相移條紋,另外4幅為附加相移條紋。
圖4是包裹相位的融合過程。被測對象是平整的平面,圖4(a)是綠色投影光柵條紋的包裹相位ψ(x,y)的第300行和藍色投影光柵條紋的包裹相位ψE(x,y)的第300行,采用四步相移算法獲得。圖4(b)是將ψE(x,y)加上π/4后,得到[ψE(x,y)+π/4]與ψ(x,y)的第300行,二者相位誤差相反。圖4(c)是融合ψ(x,y)的第300行和[ψE(x,y)+π/4]的第300行后,得到融合包裹相位ψS(x,y)的第300行。兩包裹相位的融合按式(16)計算。圖4(d)是綠色投影光柵條紋的展開相位φ(x,y)、藍色投影光柵條紋的展開相位φE(x,y)和融合后的展開相位φS(x,y)的第300行,結(jié)果證明,融合后的相位誤差明顯減小。
圖3 彩色光柵條紋的生成、投影、采集和GB分量提取Fig.3 Generation, projection, capture and GB component extraction of color-encoded grating fringe
圖4 雙步相移法的相位融合Fig.4 Phase fusion of double step phase-shifting method
(16)
測量系統(tǒng)主要由數(shù)字投影儀(三星SP-P4 10M)、CCD相機(大恒彩色相機DH-GV400UC)和個人計算機(Intel Core i5-4258U CPU, 4G RAM)組成,如圖5所示。圖5(a)為光柵投影三維測量流程圖,圖5(b)為實驗三維測量系統(tǒng)。
圖5 三維測量系統(tǒng)Fig.5 Three-dimensional measurement system
由于相位展開一般分為時間相位展開和空間相位展開兩大類,為驗證所提方法結(jié)合兩類相位展開方法的有效性,在單步相移法和基于彩色編碼光柵投影的雙步相移法得到包裹相位后,相位展開分別采用兩類方法的典型代表,即枝切法和三頻外差法。
4.1.1 相移法與枝切法結(jié)合解相位
枝切法是美國噴氣推進實驗室的Goldstein等[22]提出的,是一種典型的路徑相關類的空間相位展開方法。其核心思路是識別圖像中的所有殘差點并標注其極性,連接各個殘差點并使枝切線上所有殘差點極性值之和為零,相位展開時需繞過枝切線,最后殘差點相位將根據(jù)其相鄰已展開像素點展開。它只需要一幅包裹相位即可相位展開,但相位展開精度低于時間相位展開方法。
以葫蘆模型作為被測物體,解包裹相位分別采用單步相移法和基于彩色編碼光柵投影的雙步相移法,相位展開都采用枝切法。實驗結(jié)果如圖6所示,圖6(a)為相機采集的變形條紋,圖6(b)為Goldstein枝切法構造的枝切線分布,枝切線上的像素點最后展開,以避免誤差傳播和擴大化,但枝切線上的像素點不可避免地存在相位展開誤差,這也是其相位展開精度低于時間相位展開方法的原因所在。圖6(c)和6(d)為分別采用單步相移法和基于彩色編碼光柵投影的雙步相移法得到包裹相位后,利用Goldstein枝切法處理后的相位展開結(jié)果??梢?,圖6(d)的面形比圖6(c)的面形更為平滑。為進一步對比結(jié)果,在圖6(c)、6(d)中取某一行像素的相位展開結(jié)果,如圖6(e)和6(f)所示??梢钥闯鰡尾较嘁品ǖ恼归_相位存在褶皺且呈現(xiàn)近似正弦波的變化,而基于彩色編碼光柵投影的雙步相移法的展開相位更好。
圖6 相移法與枝切法結(jié)合解相位Fig.6 Phase calculation by the combination of phase-shifting method and branch-cut method
圖7 三頻外差法的原理Fig.7 Principle of three-frequency heterodyne method
4.1.2 相移法與三頻外差法結(jié)合解相位
以面具作為被測物體,解包裹相位分別采用單步相移法和基于彩色編碼光柵投影的雙步相移法,相位展開都采用三頻外差法。實驗結(jié)果如圖8所示,圖8(a)為相機采集的變形條紋,圖8(b)和8(c)為分別采用單步相移法和基于彩色編碼光柵投影的雙步相移法得到包裹相位后,都采用三頻外差法的相位展開結(jié)果。如圖8(d)為局部放大圖。可以看出,基于彩色編碼光柵投影的雙步相移法的展開相位要優(yōu)于單步相移法的展開相位。
圖8 相移法與三頻外差法結(jié)合解相位Fig.8 Phase calculation by the combination of phase-shifting and three-frequency heterodyne method
采用四步相移法和三頻外差法解相位時,基于灰度光柵投影的雙步相移法所需的投影條紋為3×4×2=24,而本文所提的基于彩色編碼光柵投影的雙步相移法所需的投影條紋為3×4×1=12。采用四步相移法和枝切法解相位時,基于灰度光柵投影的雙步相移法所需的投影條紋為4×2=8,而本文所提的基于彩色編碼光柵投影的雙步相移法所需的投影條紋為4×1=4。較少數(shù)量的光柵條紋具有兩個優(yōu)點:一是減少了測量時間;二是減少了程序的運行時間。以四步相移法和三頻外差法解相位為例,實驗中條紋投影與采集為同步,幀間時間間隔為0.1 s,因此24幀圖像投影與采集所需時間約為2.4 s,而12幀圖像投影與采集所需時間約為1.2 s。在計算機配置為Intel Core i5-4258U CPU和4G RAM時,兩種方法的程序執(zhí)行時間分別為2.15 s和3.8 s,因此,原方法總耗時約為6.2 s,所提方法總耗時約為3.35 s,測量效率提高了約46%。
表1 條紋數(shù)量Tab.1 The number of fringes
彩色編碼光柵條紋對被測物體的顏色有限制,適用于淺色物體(如白色物體)的測量。當測量彩色物體時,被測物體的色彩會對彩色條紋產(chǎn)生嚴重干擾,導致解相位誤差。此外,相較于灰度條紋,彩色條紋對外界光照更為敏感,為保證測量精度,應降低環(huán)境光照(如太陽光照)對被測物體的影響。
理想情況下,CCD相機采集的彩色條紋的3個通道分量之間互不影響,每一個顏色通道的條紋都對應于投影條紋的光強信息。但是,彩色CCD相機像元前的濾光片的光譜特性與投影儀的三色濾光片的光譜特性不完全相同,所以當濾光片將彩色光分成3個頻段后會產(chǎn)生顏色串擾,或者說每一個顏色通道的條紋強度都摻雜了一定比例的其他兩個通道的條紋信息[25],如圖9所示。
圖9 紅色采集條紋的顏色串擾Fig.9 Color crosstalk of red grating fringe
雖然顏色串擾會導致條紋強度分布的改變,但通過圖9可以看出,其他兩個顏色通道的信息強度明顯小于紅色分量強度,并且現(xiàn)有的色彩串擾的方法一般需要增加投影條紋數(shù),如文獻[26]所提出三通道分別投影12幅條紋,然后選取最優(yōu)的解相位結(jié)果,但需要36幅條紋,這與測量效率的提高相違背。所提方法在降低光柵條紋的正弦性所致的解相位誤差方面依然有效,且測量效率大大提高。下一步,將研究既不需要增加條紋數(shù)量、又能有效地對色彩串擾進行校正的方法。
本文提出了一種基于彩色編碼光柵投影的雙N步相移輪廓術。該方法將原相移條紋和附加相移條紋編碼成雙色條紋,融合到一幅彩色光柵條紋中,同時進行投影和采集,提取出原相移條紋和附加相移條紋后,分別解包裹相位,融合兩幅包裹相位信息以減小相位誤差。本文詳細闡述了所提方法的原理,并將其與枝切法和三頻外差法結(jié)合解相位,實驗結(jié)果證明,所提方法能有效降低相位誤差,且不需要增加任何額外的光柵條紋,測量效率提高了46%。