王中興
(浙江理工大學機械與自動控制學院,浙江杭州 310000)
隨著測量技術的不斷發展,傳統的二維測量技術難以滿足需求,三維精確與快速測量技術在文物數字化、醫學診斷、機器視覺、工件在線監測、自然災害調查以及地圖重建等領域[1-5]得到廣泛應用。三維測量技術通過對被測物體的外形結構進行精準掃描,獲取被測物體三維空間的點坐標,得到被測物體三維模型。三維測量較二維測量更直觀且更完善,具有精度高、不與物體表面接觸、掃描速度快、景深大以及便于攜帶等優點,應用價值極高。
常見的三維測量技術按測量方式不同大致分為接觸式測量和非接觸式測量兩類。接觸式測量方法對細小、易變形等物體難以測量,應用范圍有局限性,而非接觸式測量可以彌補這一缺點。非接觸式測量原理分為光學與非光學兩大類,非光學式測量原理又細分為聲學、電磁學等。非接觸式測量最大的優勢是不與被測物表面接觸,具有測量速度快、精度高、易自動化、無損測量等優點,其中光學原理的非接觸式測量是研究熱點。
鐘凱等[6]將面結構光測量與室內GPS 技術相結合,研發出組合式大尺寸空間精密三維測量系統,支持多臺設備同時進行測量,效率至少提高3~5 倍;宋麗梅[7]根據二維圖像的灰度信息,在已有算法基礎上設計出只根據單幅實時圖像就能進行三維重建的方法,在工業在線測量領域得到廣泛應用;湯蘭蘭等[8]基于物體的二維信息,利用投影結構光調制信號以及立體視覺法,建立一套具有自主知識產權的建模方法,提出相關創新理論并研發一套光柵投影的三維精密測量系統;Zhang 等[9]對物體表面形狀采用條紋投影技術進行光學三維測量系統標定,創新性提出一種簡化標定方法,該方法能有效用于高反光物體的三維測量。目前提出的三維測量方法雖在效率上有很大提高,但在測量精度方面還存在不足。
本文采用十六步相移法對被測物進行三維重建。首先通過投射結構光至標定板采集光柵條紋,然后投射結構光至被測物表面,采集受被測物高度調制而產生形變的光柵圖。提取獲得的相位,由高度與相位的映射關系獲取被測物在空間中的三維坐標,利用MATLAB 進行三維重建。
目前基于結構光的三維重建方案大致分為單目視覺與雙目視覺兩種。由于單目方案系統結構簡單、測量精度較高,且只需一個相機,因此成本很低。根據本文實驗需求,綜合考慮后采用單目視覺方案進行設計。本文系統組成如圖1 所示。首先在計算機端生成實驗所需結構光編碼圖案,通過投影設備將編碼圖案按照時間順序依次投射至被測物表面,投射的編碼圖案受被測物體表面高度的變化而產生調制發生形變,物體表面的三維坐標信息包含在受調制的條紋圖案中。然后由相機拍攝獲取每一副被調制的條紋圖案,并將這些圖片傳輸到計算機通過程序進行數據處理。提取其中的相位,由相位—高度映射關系獲得被測物在空間中的三維坐標,從而對物體形貌進行三維重構。

Fig.1 Composition of monocular structured light three-dimensional measurement system圖1 單目結構光三維測量系統組成
系統硬件由CMOS 相機、DLP 投影儀和計算機構成。本設計選用北京聞亭泰科技公司型號為PRO6500 的工業級光學投影模塊和大恒圖像生產的工業相機進行配套設計,相機型號為MER-301-125U3M/C。為了較好地控制延遲和同步,實驗使用相機觸發投影儀方式進行。
根據三維成像系統建立光柵投影系統幾何數學模型[10],如圖2 所示。OXYZ為參考坐標系,OcXcYcZc、OvX?vYvZv分別為相機與投影儀坐標系,其中OXY、OcXcYc、OvXvYv分別為參考面、相機參考面以及投影儀參考面。點F為被測物表面待測點,點Oc和點Ov分別為相機和投影儀的光心,Oc′和Ov′為其在參考面的投影點。

Fig.2 Mathematical model of three-dimensional measurement system圖2 三維測量系統數學模型
假使被測物體不在參考面OXY上,從投影儀的光心投射出一條入射光OvF至參考面的M點,則在相機參考面中也對應為M點,此時參考平面中放置被測物,則入射光OvF的投射點將由M 變為投射在被測物表面的F 點。保持相機、投影儀和被測物三者相對位置不變,通過相機采集圖片,則此時在相機參考面中所對應的投射點由被測物表面高度從點M平移至點N,點N為點F與Oc成直線的反向延長線與參考平面的相交點。由上述原理可知,從M點位移至N點的長度MN包含了點F對參考面的高度h的信息,那么根據系統模型的幾何關系可由MN的位移長度求取圖2 中FS高度,即高度h,而位移距離MN的長度又與投射光柵條紋有對應關系,故根據上述條件建立系統幾何模型。
由圖2 所示,相機到投影儀二者光心間距OcOv的長度為d,OcOc′長度為H,根據三角形相似可知ΔFMN~ΔFOcOv,則可得到h的表達式為:

設參考面上任意一點a的坐標為(x,y),相位為φ,當參考面與投影面相互平行時,投射光柵的相位會沿著參考面X軸發生變化,根據投影光柵的分布特性得到:

聯立上式可得:

式(3)是高度和相位映射關系的核心表達式,其中H、λ、d為系統參數,φM為參考面相位,Δφ為M點和N點的相位差,φN為經過調制后的相位。
標定的主要目的是為了獲取相機與投影儀內部參數、二者的中心距離以及到參考面的距離,通過這些參數便可建立圖像像素點坐標與空間坐標點的映射關系。
1.3.1 相機標定
為求得相機內外參數,首先要了解相機成像原理。相機成像模型其實就是光學模型的一種簡化,常用的相機模型有正交投影模型、小孔成像模型以及擬透視投影模型3種[11],其原理都是利用相機模型采集圖像通過圖像上的二維信息坐標與空間被測物表面坐標建立聯系。小孔成像模型原理簡單、精準性高,應用廣泛。這種模型主要由光心、光軸以及成像平面3 個部分組成,理想狀態光線是沿直線傳播,將光心視為小孔,三維空間中的任意一點在經過光心后在成像平面上成倒置像。但實際情況中,相機大多是由透鏡組成光學系統,其成像原理與小孔成像模型相似。
成像過程主要涉及世界坐標系、相機坐標系及圖像坐標系(物理坐標系和像素坐標系)之間的轉換,如圖3 所示[12]。

Fig.3 Coordinate transformation relationship in camera linear model圖3 相機線性模型中坐標轉換關系
(1)從世界坐標系到相機坐標系。由于相機與被測物體是放在空間中的任意位置,要表示相機與被測物體的位置關系,需要在空間建立一個三維坐標系,即世界坐標系。以原點O表示相機的光心,ZC表示光軸,創建直角坐標系為相機坐標系,從世界坐標系到相機坐標系轉變由旋轉矩陣R和一個平移向量T共同完成,轉換過程如下[13]:

式中,T=[T1T2T3]表示一個三維空間中的平移向量,R表示一個3×3 的單位旋轉正交矩陣,其矩陣元素滿足:

(2)從相機坐標系到圖像坐標系。在上述成像模型中,Pu可理解為相機成像與相機光點O和場景物點P的連線之間的交點,稱為透視投影。圖像坐標是二維坐標,光點是相機光軸與成像面之間的交點,?為相機焦距。根據三角形相似原理可得轉換公式[14]:

(3)從圖像坐標系到像素坐標系。由相機中圖像的存儲形式可知,圖像像素的坐標系為直角坐標系。取左上角作為圖像坐標系原點,u軸和v軸分別與圖像坐標系x軸和y軸平行。在坐標系中,任一點坐標(u,v)表示其行數和列數,坐標單位為像素,圖像坐標原點就是相機的光軸與成像平面交點。目前相機由于制造技術問題主點會發生偏移而不在圖像中心。設圖像坐標系中主點的坐標為(x,y),得到圖像坐標系與像素坐標之間的轉換過程如下:

1.3.2 投影儀標定
本文利用局部單應性矩陣變換求取投影儀中點坐標,找到投影儀像素點與空間中坐標點一一對應關系。首先將標定物放在世界坐標系中,向其投射條紋光柵序列,找到相機點與投影儀點之間一一對應關系;然后通過局部單應性矩陣計算,將相機圖像坐標系內的目標角點轉移至投影儀的圖像坐標系內;最后利用標定相機方法標定投影儀即可。基于這種方法的投影儀標定好處在于標定精度不會受限于相機標定精度影響,可以使用任意相機模型應用在該方法中,標定精度更高。
先使用投影儀投射高頻細分的互補格雷碼圖案至棋盤格標定板中,在相機的像素坐標系中找到正確的棋盤格角點,通過計算以這個棋盤格角點為中心的一定區域內的像素,求得一個局部單應性矩陣[15]:

其中,p是相機中棋盤格圖像角點內的坐標點,q是對應投影儀圖像的坐標點,為一個3×3 的矩陣。那么對目標角點p′可利用求得的將相機圖像坐標內的角點轉換到投影儀坐標q′內,轉換關系如下:

利用上述原理可將所有的相機圖像坐標中的目標角點進行轉換,最終得到所有角點在投影儀中所對應的坐標,投影儀便可按相機步驟進行標定。按照系統標定方法可求出相機和投影儀的內參數、畸變參數以及旋轉矩陣R和平移矩陣T。該方法比常規方法的重投影誤差要小,且只需改變標定板的位置拍攝,標定過程簡單,具有更好的魯棒性,本文后續也采用這種方法進行投影儀標定。
1.3.3 標定結果
基于張正友標定法[16-17]標定出相機與投影儀之間的內外參數,見表1。由于本工作的實驗標定沒有產生嚴重畸變,因此徑向畸變參數只有兩位系數。

Table 1 Calibration results of camera and projector internal parameters表1 相機與投影儀內參標定結果
在完成標定后可得到從世界坐標系到相機坐標系之間的轉換關系,即相機的外部參數旋轉矩陣R1和平移向量T1,表示為(R1T1)。由此得到相機到投影儀的相對位置,從而通過相對位置的轉換關系得到投影儀外部參數(R2T2)。得到的相機與投影儀外部參數分別為:

從表1 可以看出,相機的誤差大概在0.048 4 左右,投影儀的誤差大概在0.054 1 左右,標定出的平均重投影誤差比較理想,其參數精度符合后續三維成像過程的精度需求。
在結構光編碼技術中,根據編碼方式不同分為時域編碼和空間鄰域編碼[18]。時域編碼是依次按時間順序投射一組光柵圖像至被測物表面,相機采集后再進行解碼。因為光柵圖案結構簡單、投射數量較多,導致被測物體表面被標記的特征點增多,所以能更好地提高成像分辨率及測量精度。目前時域編碼方法大致分為二值法、N 值法以及相移法。空間鄰域編碼方式僅采用單幅圖案,通過相鄰像素點之間的顏色信息或灰度不同對區域進行編碼,增加了圖像編碼和解碼的復雜程度,在解碼識別階段容易引起誤差,導致測量精度不高。但由于此方法只需采用單幅圖案,所以適合在線實時測量。目前空間鄰域編碼方法一般分為非標編碼、序列編碼以及M 矩陣編碼。
由于相位主值是通過一定的計算從變形前以及調制后的條紋圖案中得到,所以獲取相位主值是最后相位展開的關鍵所在。相移法測量是通過向被測物體投射一系列條紋圖案,通過物體在其中的相位信息來獲取相位主值。在相移法投射中需要一組正弦或余弦分布的條紋。設投影空間中存在任意一點(xp,yp),則其灰度值表達式為[19]:

式(10)中,N 為總的移向步數,n 表示進行了第n 次相移,n=0,1,2,…,N-1,Ap表示為光柵條紋的光強值,Bp表示為調制幅度。假設在理想狀態下測量不存在誤差,一般取Ap=Bp=0.5。通過投影3 幅以上的一個周期光柵圖案(因為至少3 幅圖案才能唯一確定一個周期的相位),便可獲得投影空間中每一點的相位值,此時被測物體表面的相位分布情況可表示為[20]:

以四步相移法為例,取N=4 時,相移的每次增量為π/2,那么4 幅光柵圖案依次相移量為0、π/2、π、3π/2,產生的4 幅光柵條紋圖案可表示為:

聯立式(11)和式(12)可得相對相位值為:

本文采用十六步相移法包裹相位。由于相移法利用反正切函數獲取相位值,而反正切函數是周期函數,因此獲得的相位分布φ被截斷在(0,2π)的區間范圍中,并不是真實的相位。
相位的解包裹是三維重建系統中最為關鍵的步驟之一,也是目前研究的重難點。在光柵條紋投影階段中,標準N 步相移法經過反正切函數計算相位分布相位主值φ。由于反正切函數是周期函數,因此獲得的相位分布φ被截斷在(0,2π)區間范圍內,此階段獲得的相位為包裹相位。反正切函數特性使被測物體在圖像中的相位分布失去全場唯一性[21],而要通過相位和高度映射關系計算三維坐標,就必須保持相位分布在截斷展開后的唯一性,使其復原成完整相位,稱為相位的解包裹即相位展開。
從圖4 可以看出,包裹相位圖在一個周期內相位主值φ呈現連續分布,而在不連續處(即截斷處)相位呈現出周期性不連續分布。只要將沿著相位截斷的位置對相位值進行累加就能求解出連續相位值,解包裹算法的基本原理就是比較相鄰兩點的相位值,如果二者間的相位差小于2π,那么就在后面一點的相位值上加上2π 即可,其表達式如下:

Fig.4 Wrapping phase圖4 包裹相位

式(14)中,φ(x,y) 為絕對相位,n為條紋周期數,也稱條紋級次,一般n取整數。
要得到完整的二維相位分布,就需要把所有周期內的截斷相位都進行解包裹,即求取圖中每點的條紋級次。以四步相移法為例,因其存在3 處截斷相位,所以對截斷相位處增加若干個的整數倍求解絕對相位φ(x,y),便可得到如圖5 所示的解包裹相位圖。條紋級次在每個截斷相位處依次遞增,且圖像由周期性不連續分布變為連續上升直線。

Fig.5 Unwrapping phase by four-step phase shift method圖5 四步相移法解包裹相位
本文三維重建實驗分為兩個部分:①對一個尺寸已知的標準球進行測量,以檢驗本文三維測量系統精度;②對不規則石膏像進行三維測量。
對一個陶瓷標準球進行三維測量精度對比。陶瓷標準球直徑為38.1mm,對標準球進行多次測量,取其一次三維重建后點云結果如圖6 所示,將三維點云圖通過MAT?LAB 程序擬合計算得到其測量值。

Fig.6 Standard sphere object and reconstructed point cloud results圖6 標準球實物及重建點云結果
通過多次標準球測量實驗可知,系統測量誤差約為0.18mm,符合預期結果,說明本文搭建的三維測量系統精度較高,見表2。

Table 2 Measurement results of standard ball experiment表2 標準球實驗測量結果
為直觀驗證三維重建系統效果,對更為復雜的石膏像進行三維重建,結果如圖7 所示。其中圖7(a)為石膏像實物圖,圖7(b)為深度圖,其中每個像素點上的值與三維空間中的高度值相對應,圖7(c)與圖7(d)為重建后的點云結果圖。

Fig.7 Plaster objects and reconstructed point cloud results圖7 石膏像實物及重建點云結果
經過基本運行及測試后,本系統重建的實驗結果如圖7(c)和圖7(d)所示。從這兩張不同角度的石膏像點云圖可以看出,本系統能對石膏像三維形貌進行還原,具有較高的精度,證明本文三維測量系統能較好地還原場景中靜止的物體表面形貌信息。
本文設計了一種基于十六步相移法的高精度三維重建系統。該系統通過相移法獲取被測物的包裹相位,并對相位展開,通過相位和高度的映射關系對被測物進行三維重建。實驗結果表明,該系統能較好地還原被測物表面的三維形貌,精度可達到微米級。但是,本文在三維重建后獲取的是物體某一角度的三維點云,后續要從多個角度對物體進行三維重建,通過點云拼接算法實現物體全貌測量。同時在點云數據處理中,配準速度與精度之間的平衡需作進一步研究。