摘要:通過建立深度矢量所在的零空間和目標模型矩陣的零空間之間的關系,開發了一個從目標單視圖線性地精確復原其三維位姿的新算法,該算法只需要6個特征點即可實現目標三維位姿的線性重建。理論分析和實驗數據表明,該算法具有快速高效、簡單實用、抗噪能力較強的優點。
關鍵詞:計算機視覺;三維重建;奇異值分解;零空間
Algorithm to linearly Reconstruct the 3D Pose from Single-View
ZHANG Wei,YANG Zhong-gen
(Shanghai Maritime University, Shanghai 200135,China)
Abstract: After the correspondence relationship between the 1 space fell by the depth vector of the target imaged in the single-view and the 1 space of the model shape matrix of the target is built, a new algorithm to linearly and exactly reconstruct the 3D pose of the imaged target from single-view. The algorithm needs at least six points to get the solution. The theoretical analysis and a great deal of the experiments have demonstrated that the suggested algorithm is fast, efficient, effect and rather robust to noise.
Key Words: Computer vision;3D reconstruction;Singular value decomposition;Null space
1 引言
單視圖線性三維重建并不是一個新課題[1-5] ,但是用單視圖特征點集結合對應模型點位置,在最少已知6個非共面特征點條件下線性地精確復原目標的三維位姿,卻是一個值得研究的新課題。在一些特殊應用中,目標模型是先驗已知的。眾所周知,在攝像機已標定情況下,單視圖就可進行運動復原和三維重建;在攝像機未標定的情況下,也可通過基于模型的單視圖數字特征點集數據進行攝像機線性自標定和三維復原。本文使用未標定的單視圖,在基于最少已知6個非共面特征點條件下,線性地精確復原目標的三維位姿。
2 基于模型的未標定單視圖的三維重建算法
假設,攝像機歷經三維運動(H,T) ,其中,H為三維旋轉陣,T為三維平移矢量,則三維點從模型位置Ri(0)到實拍位置Ri經歷經如下幾何變換
其中,(zhangwei02.tif) ,(zhangwei03.tif) ,(zhangwei04.tif) ,(zhangwei05.tif) 和
注意,本文用上圈表示中心化,用上橫杠表示求平均。
于是,中心化實拍點集為
對中心化模型數據陣進行奇異值分解(SVD)后,有
使得?。這表明,?是中心化模型數據陣的零空間的正交基,利用該式和式(2)知,?也是單視圖三維形狀的中心化矩陣的零空間的正交基,即
其中,IN是個N×1的全1矢量,并且定義了(zhangwei10.tif)。這建立了單視圖形狀矩陣的零空間正交基和中心化模型陣的零空間正交基之間的關系。利用它,可直接開發出精確重建單視圖形狀矩陣的線性算法。
具體地,列寫N×(N-3)維矩陣?,有
代入式(3)并整理后,有
其中,?。由式(6)可得
構造?。可把式(7)改寫成
用3(N-3)*N維矩陣A(d)的最小右奇異矢量emin在僅相差一個常數因子k意義上最優估計N*1維矢量Z(d),即Z(d)=kZ^(d) ,其中,Z^(d)=emin 。
考慮到? ,對R(d) 數點集取中心化可得
對中心化模型數據陣進行奇異值分解(SVD)后,由式(3)與(9)可知
(zhangwei16.tif)(10)
如果對(10)左邊進行RQ分解,即令(zhangwei17.tif)(這里為了與三維旋轉矩陣R區別,以Rdecompose表示RQ分解結果),則可知
kRdecompose=K (11)
令(zhangwei18.tif),完成攝像機內參數自標定,并且由(zhangwei19.tif),因此,(zhangwei20.tif),完成三維旋轉運動重建。由于(zhangwei21.tif) ,代入(11)式,可得(zhangwei22.tif),完成三維形狀重建。由重建出的三維旋轉運動矩陣與三維形狀矩陣,可以重建出三維平移矢量(zhangwei23.tif)。
至此,有如下所述的單視圖三維重建線性算法:
步1. 計算(zhangwei24.tif),中心化三維點集(zhangwei25.tif),(zhangwei26.tif) ,形成中心化模型形狀矩陣(zhangwei27.tif) ,并對它進行SVD分解,得(zhangwei28.tif) 及其零空間正交基(zhangwei29.tif) 。
步2. 計算(zhangwei30.tif) ,并列寫為(zhangwei31.tif) ,計算(zhangwei32.tif) ,得3(N-3)*N維矩陣(zhangwei33.tif) ;
計算其最小右奇異矢量(zhangwei34.tif)。
步3. 計算(zhangwei35.tif),中心化三維點集(zhangwei36.tif),形成中心化三維重建數字點集矩陣(zhangwei37.tif) 。
步4. 對(zhangwei38.tif)進行RQ分解,即(zhangwei39.tif),取攝像機內參數矩陣(zhangwei40.tif)。
步5. 三維形狀重建:(zhangwei41.tif)。
步6. 三維運動重建:(zhangwei42.tif),(zhangwei43.tif)。
3 實驗
為了定量分析該算法的性能,我們用計算機仿真程序對它進行了Monte Carlo實驗。實驗中攝像機內參數陣K的理論值設為:fx=1000,fy=1000,s=0.2,xc=500,yc=500。三維點集由N個在(-2,2)、(-2,2)和(1,2)內隨機取值的三維點組成,由此生成的三維點集組成了模型數據集合;然后我們設置旋轉矩陣對應的三個旋轉角分別為α=л/6、β=л/4、γ=л/3,平移運動的三個分量分別為[0.842152, 0.336861, 0.421076] 。然后,用式(1)產生經過此剛體運動的三維點集,再用透視投影公式生成單視圖情況下的特征點集圖像坐標,最后要利用攝像機成像的投影公式將二維像點的模擬齊次坐標ri轉化為數字齊次坐標ri(d) ,并把隨機噪聲疊加上去,實驗中采用的噪聲均勻分布于[-Am, Am],且其強度Am可程控。
為了分析算法性能(例如平均誤差、均方根誤差、平均絕對誤差等)的統計特性(均值和標準離差),每次我們進行100次實驗,用100次實驗數據計算表1中所列性能的平均值或方差,來作為所考察性能的估計值。
具體考察的性能包括:攝像機內參數陣K標定誤差(zhangwei44.tif);三維重建的平均相對誤差(zhangwei45.tif),其中,(zhangwei46.tif),上凸帽標記重建值。諸表中所列的?和?是100次實驗的此誤差的平均值(用下標M標明)或方差(用下標V標明)。還列出了三維旋轉運動復原相對誤差的均值?和三維平移運動復原相對誤差的均值?,其中的?表示取矢量的二次范數或矩陣的F范數。
表1和圖1示出了考察6點情況下,不同噪聲強度下的算法性能。
表16點情況下不同噪聲強度下的算法性能
(zhangwei47.tif)
顯見,即使算法僅使用6點,仍能在所有加噪情況中,三維運動重建和三維形狀重建的相對誤差都小于10%, 而在中小強度(不超過0.0008)噪聲情況時,相對誤差都基本保持在1%以下。
表2和圖2示出了同一噪聲強度情況下,點數對算法三維重建精度的影響,其中,Am=0.001。
表2點數對算法性能的影響(Am=0.001)
(zhangwei48.tif)
圖1 相對誤差分布圖 圖2相對誤差分布圖
(zhangwei49.tif) (zhangwei50.tif)
可以看出,6點時三維重建的相對誤差為1.2143%,點數增大到12點時,誤差就減小到0.2374%,點數增大到48點時,誤差就減小到0.0641%。點數的略微增加誤差就迅速減小,然后緩慢下降,幾乎不變。
上述實驗表明,算法精度能滿足大多數實際應用的要求。復原誤差與噪聲強度的線性度也保持得較好。
4 討論與下一步工作
由Monto Carlo仿真實驗結果可以看出,我們成功地利用本算法解決了未標定單視圖的三維重建問題,并且取得了不錯的標定精度,在中小強度噪聲情況下,相對標定誤差都基本保持在1%以下。在大多數實際應用中,我們通常都會獲取多于一幀的視圖信息,如果整合利用多幀數據,應該可以更精確的標定攝像機,這是一個令人期待的工作,我們將以這個思路繼續展開深入的研究。
參考文獻
[1] M. Dhome, J. T. Lapreste, et al., Determination of the attitude of 3-D Objects from a single Perspective View, IEEE Trans on Pattern Analysis and Machine Intelligence,1989,11(12):1285-1278.
[2] 楊忠根.基于最小冗余子集從單視圖魯棒精確復原目標三維位姿[J].模式識別與人工智能,2001,14(1):38-41.
[3] 楊忠根.從單幅透視投影灰度圖識別和圖象復原旋轉體[J].中國圖象圖形學報,1998,3(11):538-543.
[4] 楊忠根,等.從單幅灰度圖象復原二次曲面體[J].中國圖象圖形學報,1997,2(11):811-816.
[5] 楊忠根,趙昶冰.由單視圖確定多面體的空間位姿[A].圖象圖形學論文集NSIG'94,1994,4:455-458.
收稿日期:2008-02-09
作者簡介:張巍(1983-),男,漢族,天津人,碩士研究生,研究方向:通信理論,上海海事大學;楊忠根,上海海事大學,教授,碩士生導師。
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。”