胡 巍,莫建文,王小兵,程 喬
(桂林電子科技大學 信息與通信學院,廣西 桂林 541004)
三維視覺測量技術的主要任務是由二維灰度圖像求得目標物體的空間三維坐標。目前,關于三維測量的方法有很多,常用的三維測量技術被分為被動式和主動式兩大類,前者物體的照明由物體周圍的背景光來提供,如雙目立體視覺等;后者使用一個專門的光源對被測物體進行照明,如結構光法、莫爾條紋法等。其中,雙目立體視覺測量技術結構簡單,通過適當的標定方法和立體視覺匹配算法,可以得到較高的測量精度[1]。但是對于大型物體或是回轉體的測量,由于雙目立體視覺的視場比較小,無法一次完成對被測物體的表面測量,因此需要對被測物體進行分塊測量,然后將測量數據拼接融合到一起,組合成完整的三維數據模型,即三維數據拼接。
目前,三維數據拼接方法有精密儀器定位法[2]、雙經緯儀法[3]、ICP算法[4]、物體表面貼標志點法[5]等,但這些方法都存在著一些問題:精密儀器價格昂貴,雙經緯儀受環境限制難以合理布置,ICP算法復雜、效率低而且精度不高,貼標志點的方法不適合軟質和易損傷的被測物。本文采用了一種基于公共特征點的拼接方法,其基本思想是:首先對各個子區域進行單獨測量,然后利用重合區域的公共特征點進行連接從而獲得整體的測量數據。本文在介紹立體視覺測量系統的基本原理的基礎上,重點闡述了三維拼接方法的原理及實現。
用C1與C2兩個攝像機觀測空間點P,如圖1所示,設它在 2個攝像機C1與C2上的圖像點p1與p2已經從2幅圖像中分別檢測出來,即已知p1與p2為空間同一點P的對應點??臻g點P既位于 o1p1上,又位于o2p2上,因此P點是o1p1與o2p2兩條直線的交點,即它的三維空間位置是唯一確定的。

設C1與C2攝像機已標定,它們的投影矩陣分別為M1與 M2。匹配點對用齊次坐標表示為p1=(u1,v1,1)T和 p2=(u2,v2,1)T,對應的空間點齊次三維坐標為P=(x,y,z,1)T。由二維圖像點與三維空間點之間的映射關系,可以得到[6]:

其中,k1、k2為比例系數。
將(1)式展開:

消去(2)式中 k1、k2得到關于x,y,z的4個線性方程:

理論上,聯立的方程組必定有唯一解,但實際應用中,由于誤差的影響,可能沒有確定的解,因此可應用最小二乘法求出P點的三維坐標。從幾何關系角度講,表示的是空間兩條直線求交點,由于一些外界的因素使得這兩條直線不相交,而是成為異面直線,因此求得的最小二乘意義上的解就是兩條異面直線間的最短距離所在線段的中點。
三維測量數據的拼接關鍵在于如何求出空間之間的變換矩陣。對于大型物體或回轉體的視覺測量,可以先把被測物體的表面劃分為若干個子區域,并且確保相鄰的子區域含有公共區域,然后采用雙目立體視覺測量系統對這些子區域分別進行拍攝測量,得到子區域上特征點的三維坐標。再利用重合區域內的若干個公共特征點 (出于對精度和速度方面的考慮,通常選擇4~6個點),計算相鄰子區域的空間變換矩陣,將各個區域測量的坐標值統一到一個坐標系下,如圖2所示。

設測量角度1的參考坐標系記為A,測量角度2的參考坐標系記為B,P點在坐標系A和B中的坐標分別為(x1,y1,z1)與(x2,y2,z2),B到 A的旋轉正交矩陣為R,平移向量為 t=(tx,ty,tz)T。
[7]中,變換矩陣求解時,將坐標變換關系表示為∶

其中,W21為坐標系B到坐標系A的變換矩陣。變換矩陣W21含有12個未知量,采用多點的最小二乘擬合法進行平差,如采用4個或4個以上的點,把(4)寫成為∶

式中,X1和X2包括兩坐標系下4個或4個以上點的齊次坐標,則矩陣W21的解為∶

采用最小二乘擬合,通過三維空間中的多個點求得轉換矩陣,計算方法簡單,但缺點在于當選取的公共特征點個數較少的時候,計算出的轉換矩陣誤差較大,拼接效果不理想。
在實際應用中,由于像面點的提取誤差,對應點對的位置誤差等,由線性方程解得的R矩陣并不滿足正交約束條件,因此R的求解要充分利用旋轉矩陣的正交條件。但考慮到解非線性方程,計算量較大,引入計算誤差。
為此,本文采用Rodrigues參數表示變換矩陣的方法[5,8]。Rodrigues參數是1840年法國數學家Rodrigues提出的用于描述剛體定點轉動的姿態描述,它既是姿態描述的最小實現,同時計算效率又很高。設一個具有固定點o的剛體繞單位矢量n轉動,剛體上有一定點矢量r1,繞n軸轉動θ角至r2的位置,設Rodrigues參數為H=[hxhyhz]T,定義如下:

由Rodrigues參數給出的姿態矩陣為∶

其中,||H||為Rodrigues參數的范數。
它的引入使得轉換矩陣的求解過程主要是一些低階向量和矩陣的代數運算,從而簡化了運算,并且當選取的公共特征點較少的時候,也具有較高的精度。
首先,將坐標變換關系表示為∶

設坐標系B相對于坐標系A的Rodrigues參數為H=[hxhyhz]T,則旋轉矩陣R可表示為∶

將式(10)代入(9),可得:


整理上式得:

簡記為QX=N,在重合區域上選取 k(k≥3)個公共特征點,可以得到如下的方程組:

用最小二乘法求解,則可得到Rodrigues參數以及引入的輔助參數。根據式(10)可求得旋轉矩陣R,根據式(12)可求得平移向量t。
本文用一個盒子作為測試對象,采用雙目立體視覺測量系統從兩個不同角度對盒子的正面和背面分別進行了拍攝,圖像大小為2 304像素×1 728像素。設測量角度1的參考坐標系為A,測量角度2的參考坐標系為B。由于只要測量出盒子的8個頂點便可以勾勒出盒子的外形,因此只把8個頂點作為特征點進行了測量。如圖3、圖4所示,對應的頂點用0~7依次分別標示出。

實驗中,以 2、3、4、5為頂點的側面為公共區,因此將2、3、4、5作為公共特征點。以上 4個點將用于求解轉換矩陣。
首先用雙目立體視覺測量系統分別測量出角度1和角度2下特征點的三維坐標值,如表1和表2所示。

表1 角度1下特征點的三維坐標值

表2 角度2下特征點的三維坐標值

表3 測量誤差
采用參考文獻[7]中的方法,求得的變換矩陣為∶

通過變換矩陣W21就可以把 B坐標系中6、7兩點的三維坐標轉換到A坐標系中∶點6(116.789,-45.530,704.775),點7(116.577,19.485,708.524)。為了驗證測量出的三維坐標是否正確,通過OpenGL編程將A坐標中的所有空間點進行了顯示,如圖5所示。
蘇楠之所以再次問這個問題,只是想從楊小水嘴里得到確認。明擺著,楊小水沒有這樣的表姐,有也不可能同時嫁給李石磨,不可能恰好也有過兩個小孩,不可能恰好也叫李嶠汝、李碧汝。

由圖5可見,6、7點的位置與實際位置偏差較大,拼接效果不理想。
下面采用本文的拼接算法,首先求解出6個參數值:

因此,可以求得:

通過R和t就可以把B坐標系中6、7兩點的三維坐標轉換到 A 坐標系中:點 6(37.675,-44.920,664.610),點 7(35.901,20.693,667.429),空間點顯示如圖6 所示。
由圖6可見,6、7點的位置與實際位置相符,拼接效果較理想。為了進一步驗證此方法測量出的三維坐標的可靠性,用直尺測量出盒子頂點之間的真實距離,并將其與用三維坐標計算出的點間距離作比較,結果如表3所示。從試驗結果來看,尺測量值與計算值基本吻合,說明采用此方法能夠較好地實現測量數據的拼接。

通過以上理論分析和實驗驗證,不難看出,利用本文的三維拼接方法可以有效地解決雙目立體視覺測量系統視場比較小的問題,并且不涉及復雜的數據處理,穩定性好。該方法適合于具有3個或者3個以上公共特征點對的測量數據拼接,操作簡單,精度高,非常適合于實際應用。
參考文獻
[1]王鋒,呂乃光,韓建棟,等.基于雙目視覺跟蹤的三維拼接技術[J].北京機械工業學院學報,2008,23(4):10-12.
[2]龍璽,鐘約先,李仁舉.結構光三維掃描測量的三維拼接技術[J].清華大學學報,2002,42(4)∶477-480.
[3]周富強,張廣軍,江潔,等.現場雙經緯儀三維坐標測量系統[J].機械工程學報,2004,40(1)∶165-169.
[4]戴靜蘭,陳志楊,葉修梓.ICP算法在點云配準中的應用[J].中 國 圖 象 圖 形 學 報,2007,12(3)∶517-521.
[5]歐陽祥波,宗志堅,熊會元.基于標志點的測量數據自動拼接方法[J].中國圖象圖形學報,2008,13(2)∶298-301.
[6]陳勝勇,劉盛.基于OpenCV的計算機視覺技術實現[M].北京∶科學出版社,2008.
[7]鄧文怡,桑新柱,董明利,等.三維拼接在大尺寸視覺測量中的應用[J].光電子·激光,2002,13(11)∶1145-1147.
[8]周江華,苗育紅,王明海.姿態運動的Rodrigues參數描 述 [J].宇 航 學 報,2004,25(5)∶514-519.