童小念,范利君
(中南民族大學 計算機科學學院, 武漢 430074)
增強現(xiàn)實AR(Augmented Reality)是一個多學科交叉的新型研究領域,它涉及到信號處理、計算機圖形和圖像處理、人機界面和心理學、移動計算、計算機網(wǎng)絡、分布式計算、信息獲取和信息可視化,以及新型顯示器和傳感器的設計等許多內容.虛擬現(xiàn)實系統(tǒng)一般將用戶與真實環(huán)境隔離開,通過模擬人的視覺、聽覺、力覺、觸覺、嗅覺、味覺等多種感官,使其沉浸在計算機生成的虛擬世界中[1,2].而增強現(xiàn)實系統(tǒng)則是在虛擬現(xiàn)實技術的基礎上發(fā)展的,在增強現(xiàn)實中,用戶與真實世界不須隔離,而是將計算機生成的虛擬物體或其它信息融合到真實環(huán)境中,從而實現(xiàn)對現(xiàn)實的增強.
增強現(xiàn)實也被稱為混合現(xiàn)實系統(tǒng),它具有虛實結合、實時交互、三維注冊的特點.其中三維注冊所要完成的任務是實時檢測出使用者頭部的位置和視線方向,根據(jù)這些信息確定所要添加的虛擬信息在真實空間坐標中的映射位置,并將這些信息實時顯示在屏幕的正確位置.為了實現(xiàn)虛實間的結合,三維注冊運算至關重要.
當前流行的增強現(xiàn)實系統(tǒng)軟件包有ARtoolkit,ARSTudio和ARtag等,其中ARtoolkit應用最廣泛.ARtoolkit是一套基于C/C++語言和OpenGL圖形庫的增強現(xiàn)實系統(tǒng)二次開發(fā)包,可以支持SGI IRIX、PC Linux、Mac OSX、PC Windows(95/98NT/2000/XP)等操作系統(tǒng),同時也支持Video(普通視頻)和標準see-through AR,Video see-through AR可將虛擬圖像覆蓋到實時視頻[3-5].
ARtoolkit中攝像機與標識系統(tǒng)的關系如圖1所示.攝像機標定的目的是測定真實場景與虛擬物體的位置和姿態(tài)信息,包括位置和方向角以及攝像機參數(shù),以確定不同坐標系間的變換關系,如世界坐標系到攝像機坐標系的轉換、攝像機坐標系到圖像坐標系間的轉換等.由于ARtoolkit中世界坐標系與標識坐標系重合,三維注冊就轉化為攝像機坐標系與標識坐標系間的三維變換矩陣的求解.
圖1 攝像機和標識坐標系統(tǒng)
在利用ARtoolkit開發(fā)AR程序前需制作標識,系統(tǒng)根據(jù)不同的標識返回不同的ID值來疊加不同的虛擬物體.ARtoolkit提供的標準模板是一個帶黑色邊框的正方形,開發(fā)人員根據(jù)需要向白色區(qū)域中添加自定義圖形.ARtoolkit模板標識如圖2所示.
圖2 ARtoolkit模板標識
ARtoolkit開發(fā)增強現(xiàn)實系統(tǒng)[6]包含以下步驟:1)利用攝像頭獲取真實場景信息輸入到系統(tǒng)中;2)根據(jù)用戶設定的閾值將采集到的彩色圖像轉換成二值黑白圖像,然后對該二值圖像進行連通域分析;3)找出其中所有的四邊形區(qū)域作為候選匹配區(qū)域,將每一候選區(qū)域與模板庫中的模板進行匹配.4)系統(tǒng)首先根據(jù)相機的位置信息和真實場景中的定位標記來計算攝像機相對于已知標識的位置和姿態(tài).5)按照仿射變換矩陣在視平面上繪制虛擬物體,最后與真實場景的視頻合并顯示在屏幕上.
針孔攝像機成像模型下以齊次坐標表示的平面坐標系中的點Xw=[X,Y,Z]T與XI=[x,y,z]T其在像平面上的投影之間的關系可以表示為式(1):
[x,y,z]T=λCTCW[X,Y,Z,1]T,
(1)
其中:λ為比例因子;TCW=[r1,r2,r3,t]為攝像機坐標系與平面坐標系間的投影變換矩陣,包含3個旋轉分量和一個平移分量;C為已知的攝像頭內部參數(shù).由于規(guī)定真實場景中的平面與其自身坐標系的Z=0平面重合[7],式(1)可轉化為式(2):
[x,y,z]T=λC[r1,r2,t][X,Y,1]T=H[X,Y,1]T,
(2)
(3)
給定空間點的集合{X1,X2,X3,…,Xn},n≥4若其中至少4點非共面[8],則可以利用這4點定義仿射坐標系,其它任意點可以利用上述4點的一個線性組合來表達.仿射重建和放射重投影是仿射變換坐標系下的2個重要性質.仿射重建的目的是為了獲取空間中的點在仿射坐標系下的位置,假設一個點在2幅參考圖像上的投影分別為(x,y,1)T和(x′,y′,1)T,則該點在仿射坐標系下的坐標(x″,y″,z″,1)T可以由式(4)獲?。?/p>
(4)
如果已知仿射坐標系下的一點(x″,y″,z″,1)T,且定義仿射坐標系的4點在當前圖像上的投影為已知,則該點在當前圖像上的投影點(xk,yk,1)T可以根據(jù)仿射重投影原理計算,如式(5):
(5)
其中,(xi,yi)(i=0,1,2,3)為定義仿射坐標系的4點在當前圖像上的投影;M3×4為仿射重投影矩陣.由以上分析可知,只要在參考圖像上指定真實場景中非共線的4個點就可以建立世界坐標系,在實時跟蹤階段利用仿射重投影原理恢復這4個點在當前圖像上的位置,根據(jù)這4點在場景平面和當前圖像上的對應關系及式(3)就可以計算出三維注冊變換矩陣.而標識點在場景平面和當前圖像上的對應關系可由L-K算法求得.
L-K光流算法由Lucas和Kanada在1981年提出來[9-10],它計算兩幀圖像在時間間隔ΔT內每個像素點位置的移動.設I(x)和T(x)分別表示在兩幅圖像中的點x處像素灰度值,W(x;p)表示該點在兩幅圖像間的轉換關系,P為給定的初始變換參數(shù).
L-K迭代算法的時間復雜度為O(n2N+n3),而計算Hessian矩陣的時間復雜度為O(n2N),因為N遠大于n,則計算Hessian矩陣占用了大量計算資源.為了提高Hessian矩陣的計算效率,本文改進了L-K特征匹配算法,旨在提高注冊效率.改進算法的流程如下:
Fork=1:k 利用Sobel算子計算圖像的灰度值,取一點I; 計算I(W,(x;p))-T(x); [I(W(x;p))-T(x)] ; End 所用關鍵公式有: 某點在相鄰兩幅圖像間的轉換式: W(x;p)=W(x;p)·W(x;Δp)-1, (6) 變換參數(shù)的迭代求解: (7) 解得Hessian矩陣(自變量為向量的實值函數(shù)的二階偏導數(shù)組成的方塊矩陣)為: (8) 本文改進算法在VS2008環(huán)境下開發(fā),采用普通免驅動USB接口的攝像頭攝取場景圖像,使用了OpenGL圖形函數(shù)庫和ARtoolkit應用軟件包.其實驗效果如圖3所示.圖4為傳統(tǒng)算法和改進算法所需時間開銷和獲取的視頻幀率對比. 圖3 虛擬物體注冊效果圖 圖4 仿真結果對比圖 由實驗結果可見,圖3(a)中標識物角點(黑色邊角)并沒有完全顯現(xiàn),依然較精確完成了注冊效果,顯示了三維立體圖形;圖3(b)中有其他標識物A對D的干擾(非多標示識別),但是依然準確注冊,并能根據(jù)視角的變化和旋轉角度進行姿態(tài)調整(花朵朝向蜜蜂開放).圖4數(shù)據(jù)顯示本文改進算法獲取的視頻幀率為29.826pfs,而傳統(tǒng)Artoolkit算法的視頻幀率為27.181pfs,且在frame5到frame10之間以及frame15到frame20之間傳統(tǒng)算法抖動劇烈,穩(wěn)定性較弱.本文的改進算法完成注冊矩陣計算的時間為0.0017s, 而未采用改進算法的注冊方法完成矩陣計算的時間為0.0019s, 運算效率提高了11%.實驗結果表明,本文改進的注冊算法具有更高的運算效率和穩(wěn)定性,能夠更好地滿足增強現(xiàn)實系統(tǒng)的要求. 在研究ARtoolkit視覺原理的基礎上,結合仿射變換恢復圖像變化量和攝像機相對位置姿態(tài)變化量之間的關系矩陣,采用改進的L-K算法提高了注冊的精度和效率.該算法在增強現(xiàn)實注冊技術方面具有一定的實用價值. [1]Kato H,Billinghurst M.Marker tracking and HMDCalibration for a video-based augmented reality conferencing system[C]//IEEE and ACM.International Workshop on Augmented Reality (IWAR’99).San Francisco: CA,1999:59-65. [2]Ren P.The technology of vision-based tracking and registration in augmented reality [C]// ICBECS.Biomedical Engineering and Computer Science.Chengdu: University of Electronic Science and Technology of China,2008:20-32. [3]Wloka Matthias,Anderson Brian.Resolving occlusion in augmented reality [C]//ACM.Symposium on Interactive 3D Graphics,1995.USA:ACM Press,1995: 5-12. [4]Berger Marie-O.Resolving occlusion in augmented reality: a contour based approach without 3D reconstruction [C]//IEEE.International Conference on Computer Vision and Pattern Recognition,1997.USA: IEEE,1997: 91-96. [5]Stricker Didier,Klinker Gudrun,Reiners Dirk.A fast and robust line-based optical tracker for augmented reality applications [C]//Behringer U.First International Workshop on Augmented Reality,1998.USA: A K Peters Ltd,1998: 129-145. [6]Fischer Jan,Regenbrecht Holger,Baratoff Gregory.Detecting dynamic occlusion in front of static backgrounds for AR scenes[C]//ACM.Eurographics Workshop on Virtual Environments(EGVE’03).USA: ACM Press,2003: 153-161. [7]朱杰杰,潘志庚.用視覺計算實現(xiàn)視頻增強現(xiàn)實遮擋處理[J].計算機輔助設計與圖形學學報,2007,19(12):1624-1629. [8]明德烈,柳 健,田金文.增強現(xiàn)實中的虛實注冊技術研究[J].中國圖象圖形學報:A版,2003,8(5):524-559. [9]Barfield W,Baird K.Applications of wearable computers and augmented reality to manufacturing[C]// Barfield W.Fundamentals of Wearable Computers and Augmented Reality.Mahwah: NJ,2001: 691- 723. [10]Zhang Z Y,Deriche R,Faugeras O,et al .A robust technique for matching two uncalibrated images through the recovery of the unknown epipolar geometry [J].Artificial Intelligence,1995,78(1/2): 87-119.3 實驗結果及分析
4 結語