盧 勇,劉 凱
(四川大學 電氣信息學院,四川 成都 610065)
在實際測量中由于器材和環境等的影響,需要考慮相位測量輪廓術(PMP)[1-6]中的各種誤差,如非線性誤差[7]、量化誤差[8]等。在掃描目標有反射率變化劇烈的區域時,會出現多路徑效應誤差。針對PMP中的多路徑效應,許曉暢等[9]提出了一種多路徑模型描述攝像機的采樣過程對像素點的平滑作用,并利用兩個方向掃描得到的相位進行融合,但是沒有對模型進行使用,且操作繁瑣,算法復雜。楊洋等[10]使用光強調制確定受多路徑影響的區域,利用線性插值對誤差區域的相位進行修復,但針對性不強,當被測物體表面形態不平緩時難以修復準確。
為了減小多路徑效應對PMP的影響,本文提出了一種修復圖像的方法和一種修復相位的方法來減小多路徑效應對PMP的影響。方法一驗證了圖像修復對于減小多路徑效應造成的誤差的有效性,提供了一個方向。方法二充分利用了許曉暢等[9]提出的模型,有效地減小了多路徑效應造成的誤差。
PMP系統由投影機、攝相機和控制單元組成。投影儀投射編碼圖案到被測物體表面,攝相機同步抓取被測物體表面反射的編碼圖案。攝相機采集完被物體扭曲的編碼圖案后,就可以利用采集圖像通過解碼得到被測物體的三維形貌。在圖像采集階段,攝相機中的電耦合單元(CCD)的成像過程可以看作一個積分過程[11]。由于攝像機的像素有限,積分單元在積分過程中包含了相鄰其它像素的光強信息,導致采集圖像的光強信息不準確。這就是多路徑效應。當被測物體表面存在反射率變化劇烈的區域時,這些區域的光強值會出現嚴重的偏差。
多路徑效應產生于攝像機的采樣過程,采樣的結果即拍攝的圖像。Zhou等[9]指出,CCD相機成像的實際像素光強值是真實光強值和點擴散函數的卷積。作為PMP重建的初始數據,采集圖像的灰度值誤差會對重建結果造成不良影響。攝像機的多路徑效應造成采集圖像的光強值不準確,相位計算就會出現誤差,從而導致三維結果的不準確。許曉暢等[9]指出,由攝像機的多路徑效應引入的相位誤差表達式為

(1)
其中,φ表示理想相位值,αc是理想圖像中像素點的理想反射率。從式(1)中可以看出,相位誤差和物體表面的反射率有關。沿Y方向掃描時,與反射率相關的相位誤差表達式[9]為

(2)
其中,α1~α9表示一個3×3鄰域內像素點的理想反射率,按從左到右,從上到下的順序排列,Δφy1是Y方向相鄰像素的理想相位之差。從式中可以看出多路徑效應對相位的影響主要出現在反射率變化劇烈的區域。
在反射率變化劇烈的區域,受影響的像素數不止一個。其它的邊緣檢測算法如sobel算子等,檢測出的邊緣較細,不能檢測出所有受影響的像素點。若使用膨脹處理很容易會確定出非誤差區域的像素,產生冗余的數據。本文利用光強調制的方法逐像素檢測[10],可以很準確地確定出受多路徑效應影響的區域,而且操作簡單。光強調制Bc的表達式為

(3)

Bxc,yc=Bcxc,yc-Bcxc+1,yc
(4)
光強調制的值和目標表面反射率的值成正比[10],設定一個閾值就可以確定出反射率變化劇烈的區域。
由于多路徑效應開始于CCD的采樣過程,采樣得到的圖像出現灰度值的誤差。因此本方法對采集圖像中反射率變化劇烈的區域進行研究,利用PMP的相移特性修復誤差區域的灰度值,減小多路徑效應誤差。當沒有投影光柵時,一個黑白交界的區域的正確灰度值是黑白分明的,而實際灰度值為黑白漸變,相當于對正確圖像進行了平滑處理,要得到正確灰度值只需要再進行銳化處理即可。然而在PMP中被測物體被正弦光柵覆蓋,誤差區域的實際灰度值是有誤差的灰度值覆蓋上了相移的正弦光柵。在投影高頻光柵的圖像中,光柵的灰度變化率和掃描目標灰度變化劇烈的區域的灰度變化率已經較為接近了。如果單純地使用銳化處理,對光柵部分也會產生作用。而希望得到的結果是對目標的灰度值進行校正,同時保留正弦光柵原來的灰度值。本文利用PMP中光柵的相移特性達到這個目的。
投影機投射同一頻率的幀數為N時,每一幀之間的相移變化為2π/N,相機采集的圖像可以表示為

(5)
其中,(xc,yc)表示抓取圖像中像素的橫縱坐標,Ac是抓取圖像的均值,Bc是每個像素點的調制光強值,n為相移指數。在N幀圖像中,任意誤差像素點被一個周期的正弦光柵的不同的N個點覆蓋,這N個點在其它某些幀圖像中則會相移到非誤差區域。用相移到非誤差區域的光柵點的灰度值恢復誤差區域的灰度值,使每一幀圖像的誤差區域都得到修復,從而得到正確的圖像信息。
本方法使用白色區域的光強值修復誤差區域,許曉暢等[9]指出,攝像機的多路徑效應類似于3×3的平滑掩模,即受多路徑效應影響的區域的大小。因此,誤差區域的像素使用3×3區域以外的非誤差點修復。圖像中從上到下為白色到黑色區域誤差點的修復表達式為
(6)
黑色到白色區域誤差點的修復表達式為
(7)
式中:I的下標表示同一頻率的圖像次序,范圍從1到N,i為正數。m的取值大于抓取圖像中光柵從誤差區域到非誤差區域所需相移的幀數,i的取值大于誤差區域距離最近的非誤差區域的像素數。由于目標與掃描裝置的距離影響,先用所需頻率,任意幀數的正弦光柵對目標進行一次預掃描。為了便于m和i的取值,根據預掃描抓取圖像中反射率變化劇烈區域的鄰域的光柵確定N合適的取值,再進行掃描。被測物體在掃描方向的形態線性變化或變化較為平緩時,參數的取值適用于所有區域。本文實驗中的m和i均取為4。
因為多路徑效應的過程類似于數字圖像處理中的平滑作用,所以用平滑掩模來建立多路徑效應的模型[9]。經過實驗,使用3×3模型對相位修復的效果比其它維度的模型更好。同時,在相位誤差公式中,將每一個3×3的像素區域近似為平面,區域越小,由近似而產生的偏差也越小。因此本方法使用許曉暢等[9]提出的3×3的平滑掩模模型。由于光強調制與目標表面的反射率成正比[2],設每一點的反射率
(8)
其中,k為比例系數,代入式(2)將k約分,可得相位誤差為

(9)
其中,Bc的下標表示3×3鄰域內的位置。Δφy1=2π/H為相鄰像素理想相位差,H為理想情況下抓取圖像中有效圖案部分的高度,即Y方向的像素數量。由于實驗環境等的影響,抓取圖像和相位并不是完全分布在相機抓取的范圍內,嚴格按△φy1=2π/H取值計算可能得不到最好的修復效果,因此本文將H當作一個可調參數,通過試取值,確定參數的最優取值,本文的實驗中經試取值確定為290,可以得到最好的效果。式(2)中αc1~αc9為鄰域內像素點的理想反射率,而實際得到的反射率是受到多路徑影響的反射率,Bc也是受到多路徑影響的光強調制。在反射率變化劇烈的區域內,反射率高低兩側的光強調制值相互影響,使得實際情況下,式(9)中3×3區域的第一行和第三行之間的差的絕對值比理想值偏小。而3×3平滑濾波后,分母的值與平滑濾波前的值相同。結果就是計算出的實際相位誤差比理想值偏小,始終能夠減小相位誤差,不會造成過補償。
在反射率由高突變到低時,實際相位值比真值小,誤差計算結果為正值。反射率由低突變為高時,實際相位值比真值大,誤差計算結果為負值。因此得到修復后的相位為

(10)
本文的PMP系統包括一臺分辨率為800×600的CASIO XJ-A155V DLP投影機,一臺分辨率為640×480的Prosilica GC650攝像機和一臺計算機。掃描目標為一張印有黑色圖案的A4紙,掃描方向為豎直方向。實驗結果表明,即使增大投影光柵的頻率和幀數,并不能減小多路徑效應造成的相位誤差。在本文圖像修復方法中,為了使得光柵移動時能逐點覆蓋,同時減小其它隨機噪聲等對系統的影響,掃描光柵在基頻f=1時取N=436,通過預掃描確定在高頻f=32時取N=15。采用以上光柵掃描,可以使得非線性誤差和隨機噪聲可以忽略不計[2],避免了其它誤差對PMP系統的影響。
本實驗的掃描目標為如圖1所示的印有黑色圖案的A4紙。攝像機抓取投影光柵后的目標圖像,將圖案左下部分局部放大如圖2(a)所示,可以看到在圖案黑白交界處出現了模糊的現象,這些模糊都是錯誤的光強信息。使用式(4)確定誤差區域后,對采集圖像進行式(6)和式(7)的處理。經過圖像修復后,從圖2(b)中可以看到黑白交界的模糊現象得到了很好的改善,更接近于真實的光強信息。

圖1 有圖案的A4紙

圖2 投影光柵后采集圖像中圖案左下部分修復前和修復后
實驗目標的三維重建結果如圖3所示,去掉紋理信息后可以看到在圖案邊緣有黑色痕跡,黑色痕跡表明這些地方與周圍的深度信息不一樣,而A4紙是一個平面。截取三維重建結果的誤差區域,旋轉得到其側視圖,可以看到,在黑白交界區域確實出現了錯誤的凹凸現象。通過式(4)確定誤差點后,對抓取圖像使用式(6)和式(7)進行處理后,圖3(b)展示了經圖像修復后的三維重建結果。相位修復方法對由原始圖像計算得到的相位矩陣的誤差點使用式(9)和式(10)進行相位補償,圖3(c)為相位修復后的三維重建結果。由于圖像修復依賴于光柵相移后區域的光強值,當誤差區域為上下部分沒有白色區域的夾角時,圖像修復階段就無法獲得其正確的光強值,導致修復失效。在圖3(b)的重建結果中可以看到部分區域未得到理想的修復結果。而相位修復方法無此限制,整體修復效果都較為穩定。

圖3 有圖案的A4紙各方法修復前后的三維重建結果及其側視圖
本文掃描一張白色A4紙當做無多路徑效應時的真值。因為掃描帶圖案A4紙和白色A4紙是兩次掃描不同目標,表面形態和擺放位置都有所不同,因此相位誤差不為一條直線。但修復前在多路徑誤差區域相位誤差必然遠遠大于其它區域。圖4選取相位誤差矩陣第283列的138行到400行。展示了校正前后的誤差比較,表明本文方法均有明顯的修復效果。為計算均方根誤差,已將誤差曲線移到0附近。

圖4 各方法修復前后的相位誤差曲線
受多路徑影響區域的相位誤差修復前的均方根(RMS)為0.0079,經圖像修復后的均方根為0.0054,減小了約31.65%,經相位修復后的均方根為0.0053,減小了約32.91%。相位誤差的均方根值見表1。

表1 相位誤差的均方根值
為了驗證本文方法對于非平面目標的修復效果,掃描一個印有黑色圖案的白色圓柱面。同樣的,掃描光柵在基頻f=1時取N=60,高頻f=32時取N=15。圖5為掃描目標圓柱面,圖6(a)為修復前的三維重建結果,圖6(b)為圖像修復后的三維重建結果,圖6(c)為相位修復后的三維重建結果。
從圖6(a)中可以看出,光滑的圓柱面由于多路徑效應在黑色圖案邊緣產生了凹凸。在圖6(b)中可以看到,由于圓柱在Y方向的形態變化較大,使得當前的圖像修復算法不適用。圖6(b)經相位修復后,凹凸的狀況得到了改善,使重建結果更接近物體的實際三維信息。

圖5 掃描目標

圖6 圓柱面重建結果
經本文圖像修復方法修復圖像后,重建結果的誤差得到了明顯的減小,驗證了修復圖像對于改善重建結果的有效性,有效提高了相位測量輪廓術的精度。圖像修復方法利用PMP的光柵相移特性,無需額外建立模型,針對采集圖像中的被掃描目標的灰度值進行修復,不影響覆蓋的正弦光柵的灰度值。經本文相位修復方法對相位進行校正之后,重建結果得到了改善,無論對于平面還是非平面都有較好的表現。通過計算相位誤差,點對點地進行相位補償,不會對周圍的區域造成影響。許曉暢等[9]的方法使得相位誤差的均方根減小了21.30%,本文中圖像修復的方法使得相位誤差的均方根減小了31.65%,且不需要增加額外的掃描方式,算法簡單。相位修復的方法使得相位誤差的均方根值減小了32.91%,直接對相位誤差進行補償。楊洋等[10]的方法使得相位誤差的均方根減小了57.32%,但其算法只是利用誤差區域兩側的值進行插值,有可能掩蓋誤差區域的真實信息,不適用于物體形態復雜的情況,本文的圖像修復方法恢復采集圖像中誤差區域的正確光強值,針對性地減小多路徑效應的影響。但目前的圖像修復算法存在不足,當誤差區域在一個光柵周期內的上下部分都沒有白色區域時,無法得到正確光強值進行修復。同時,在存在多路徑效應的區域,被測物體在掃描方向形態變化為線性或較為平緩時式(8)和式(9)才適用。相位修復方法對相位誤差進行補償,對物體的形態和表面紋理沒有特殊要求,具有較好的普遍適用性。