曹鵬霞 李文新 馬偉蘋
1(西北師范大學物理與電子工程學院 甘肅 蘭州 730000) 2(中國空間技術研究院蘭州空間技術物理研究所真空技術與物理重點實驗室 甘肅 蘭州 730000)
增強現實[1](Augmented Reality, AR)是一種將計算機生成的3D模型、文字、圖片、視頻等虛擬的信息實時地疊加到真實場景中并顯示的技術。增強現實通過虛實融合配準能夠實現自然的人機交互,它在健康醫療、工業維修、軍事領域、娛樂游戲等行業具有廣泛的應用前景。對增強現實技術的研究涉及到相機標定技術、跟蹤注冊技術、場景融合和顯示技術等多項關鍵技術[2]。如何快速、準確地計算出攝像機相對于真實場景的位姿信息,并以該位姿信息為基礎把虛擬信息與真實場景精確對齊的技術就是跟蹤注冊技術。跟蹤注冊技術是研究增強現實系統的核心和難點,已經成為了增強現實應用于更多領域亟須解決的一個關鍵問題[3]。
目前,針對增強現實系統的跟蹤注冊技術研究問題,研究人員主要是針對基于計算機視覺的跟蹤注冊方法的研究[4]。基于計算機視覺的跟蹤注冊方法主要是通過計算機視覺和計算機圖形學等相關理論獲取虛擬信息和真實場景之間的坐標變換矩陣的方法[5]。目前,基于計算機視覺的跟蹤注冊方法根據是否需要提前放置標識可以分為基于特殊標識的跟蹤注冊方法和基于無標識的跟蹤注冊方法兩大類。
基于特殊標識的跟蹤注冊方法應用最多的工具包是ARToolKit[6]以及ARTag[7]。這類工具包具有計算量小、執行速度快、不需要復雜的硬件設備等優勢。但是基于特殊標識的跟蹤注冊方法需要在真實場景中預先放置人工標識物,通過提取標識物的特征獲得跟蹤注冊所需要的位姿信息從而實現跟蹤注冊。但是,在真實場景中預先放置特殊的人工標識物、使用特殊標識物進行跟蹤注冊的方法無法解決環境光照變化和標志物被遮擋的問題,具有魯棒性差的缺點。同時,特殊標識物在真實場景中也會帶來視覺污染的問題。在這些情況下,必須使用基于無標識的跟蹤注冊方法來解決增強現實中虛實場景的配準問題[8]。因此,基于無標識的跟蹤注冊方法是目前發展的主要方向。
基于無標識的跟蹤注冊方法不需要在真實場景中預先人為放置標識物即可以實現虛實場景之間的位置配準問題。因此它比基于特殊標識的三維跟蹤注冊方法應用范圍更廣、可用性更強[9]。本文概述了目前增強現實無標識跟蹤注冊方法的最新研究進展,根據不同的應用場景和目標的紋理情況將現有的研究分為基于自然特征的無標識跟蹤注冊方法、基于模型的無標識跟蹤注冊方法和基于視覺SLAM的無標識跟蹤注冊方法3類。在總結這三類方法的基本思想的同時概括和總結了這幾類方法最新的研究進展和現有技術的優缺點。最后對現有的增強現實無標識跟蹤注冊方法存在的問題進行了總結,并對其進一步發展進行了展望。增強現實中三維跟蹤注冊技術分類如圖1所示。

圖1 增強現實中三維跟蹤注冊技術分類
基于自然特征的無標識跟蹤注冊方法主要利用已知場景中的一些自然特征來檢測場景中的目標來計算相機的姿態,然后通過自然特征坐標與相機姿態的轉換來完成跟蹤注冊[10],如圖2所示。其工作流程大致為:首先提取模板圖像以及當前幀圖像的自然特征點集,使用匹配算法得到特征點集之間的匹配關系來進行位姿估計從而實現跟蹤注冊。圖3中,(xp,yp)是當前幀圖像中任意點的坐標,(x0,y0)是目標模板投影到攝像機平面上的坐標,(xn,yn)是目標中的點投影到攝像機平面上的坐標,它們對應的關系為:

圖2 基于自然特征點的無標識跟蹤注冊方法流程

圖3 檢測目標投影和攝像機運動關系
(1)
(2)
(3)

(4)
式中:λ是縮放因子;K是攝像機內參;[R|T]就是跟蹤注冊的三維位姿。
基于自然特征的無標識跟蹤注冊方法一般是基于特征描述子來進行特征點匹配。常用的特征描述子有傳統的高維度浮點數類型的特征描述子SIFT(Scale-Invariant Feature Transform)[13]和SURF(Speeded Up Robust Features)[12]、二進制描述符BRIEF(Binary Robust Independent Elementary Features)[14]、ORB(Oriented FAST and Rotated BRIEF)、加速分割測試獲得特征FAST(Features from Accelerated Segment Test)等。這些特征描述子的特點及性能如表1和表2所示。

表1 常用特征描述子特點

表2 常用特征描述子算法性能比較
目前基于自然特征的無標識跟蹤注冊方法因其不需要在真實場景中放置標識而得到了廣泛的應用,但是部分跟蹤注冊方法在跟蹤注冊過程中存在不能滿足增強現實實時性要求、匹配精度低、缺乏尺度不變性等問題。國內外研究人員針對上述描述子的特點以及它們的缺陷對它們進行結合和改進使得它們能夠應用于更多的場合。針對特征描述子SIFT算法匹配速度過慢的問題,莊連生等[15]提出了一種面向DCT域的擴展SIFT特征,該方法以SIFT特征為基礎并擴展到DCT域能夠提高算法的匹配效率。彭勃宇等[16]為了提高增強現實圖像匹配算法的實時性,提出了面向增強現實的SUSAN-SURF快速匹配算法。該方法使用SUSAN方法進行特征點定位并生成特征點主方向,同時使用SURF生成特征描述符,改進的算法能夠有效提高算法性能使其滿足增強現實系統對匹配算法在速度、精度、抗干擾能力等方面的要求。何林陽等[17]針對BRISK算法誤匹配率高的問題,提出了一種改進的快速圖像配準算法對BRISK特征提取進行改進,該方法利用BRISK算法構建連續的尺度空間并將圖像分塊獲得分布均勻的角點,結合FLANN算法和RANSAC對角點特征進行快速匹配,改進的BRISK算法在保持原算法速度的基礎上能夠使匹配精度達到亞像素級。由于ORB算法缺乏尺度不變性,白雪冰等[18]對ORB算法進行改進,改進算法使用具有尺度不變性的Hessian矩陣檢測算法提取特征點并用ORB生成特征描述子,改進后的算法同時具備了旋轉不變性和尺度不變性。劉瀟瀟等[19]以效率較高的FAST算法為基礎,在特征檢測和匹配時加入顏色特征,提出了結合了圖像的顏色特征的C-FAST改進算法。改進后的算法在保持FAST算法高效率的特點的情況下,具有更高的匹配精度,且在光照變化以及噪聲條件下都能夠表現出良好的穩健性。Ufkes等[20]將匹配算法和跟蹤算法結合起來,使用ORB算法進行匹配檢測,使用光流跟蹤算法對姿態進行跟蹤來完成跟蹤注冊。該方法因使用跟蹤算法可以大大地提高整個系統的效率,但跟蹤算法容易受光照等因素影響。雍玖等[21]提出的三維注冊方法結合了MEEM跟蹤算法以及改進的ORB特征檢測算法。該方法使用MEEM算法對移動對象區域進行跟蹤。在對跟蹤模板區域使用ORB算法進行特征點提取時使用了多尺度空間理論對其進行改進提取穩定特征點并使改進的ORB算法具有了尺度不變性,實驗驗證了提出的算法具有很好的魯棒性并能夠滿足跟蹤注冊算法在實時性方面要求。Kim等[22]結合FAST算法和SIFT算法提高了特征檢測的檢測效率。
基于自然特征的無標識跟蹤注冊方法因不需要在真實場景中放置標識物而大大地擴大了它的應用范圍,這也使得基于無標識的增強現實系統的應用范圍更廣。但是這類方法需要利用場景中的一些自然特征來檢測場景中的目標來計算相機的姿態,因此該類方法在目標被遮擋的情況下或者目標缺少足夠多的紋理時容易出現無法精準跟蹤目標的情況而導致跟蹤注冊失敗。
基于模型的無標識跟蹤注冊方法能夠解決目標因缺少紋理而導致跟蹤注冊失敗的問題。它首先以一定的先驗知識為基礎離線建立跟蹤目標的模型,目標模型可以是計算機輔助設計(CAD)模型和三維點云模型等;然后實時地獲取攝像機的位姿信息并對3D模型位姿進行更新,實現模型和目標的配準[23]。由于3D模型具有豐富的三維信息,并且模型對跟蹤目標的表面、邊緣和連接關系都有一定的描述。因此,基于模型的無標識跟蹤注冊方法能夠應用于缺少紋理的復雜場景中。目前,研究人員提出的多種基于模型的三維跟蹤注冊方法大都是基于邊緣特征的方法以及基于點云的方法。
基于邊緣特征的3D模型跟蹤注冊方法通常使用跟蹤注冊目標的邊緣特征來實現跟蹤注冊。該類方法提取輸入視頻幀圖像的目標邊緣特征與離線模型的邊緣特征進行匹配,根據匹配關系獲得相機位姿完成跟蹤注冊。其流程如圖4所示。Lepetit等[24]使用實時姿態和位置確定(Real-time Attitude and Position Determination, RAPiD) 方法成功地實現了第一個基于3D 模型實時跟蹤系統。該系統通過將前一幀的攝像頭位姿估計近似為當前幀的攝像頭位姿估計來實現模型的投影。因此該系統要求相鄰幀之間的位姿進行緩慢變化才能實現實時跟蹤。Imperoli等[25]提出了一種基于模型邊緣信息的方法來對目標進行檢測和定位,通過3D圖像張量對位置空間中的邊緣點的最小距離進行編碼,同時最小化提取該3D圖像的正倒角距離(DCD)的成本函數,從而對對象姿態參數進行優化,該方法不需要計算點對點對應關系。

圖4 基于邊緣特征的3D模型跟蹤注冊
基于邊緣輪廓的方法當目標物體處于雜亂的環境中以及當目標物體被部分遮擋時魯棒性較差。此外這類方法的建模過程通常都比較繁瑣,計算成本較高。為了解決這些問題,李自豪等[26]提出了一種混合3D模型跟蹤注冊算法,該方法提出將邊緣像素數量作為測量標準,使用粒子濾波算法獲取相機的初始位姿,以初始位姿為基礎結合非線性最小平方誤差估計算法來對相機位姿進行跟蹤,該算法應用于維修誘導系統中具有很好的魯棒性。Murray等[27]使用粒子濾波器對模型邊緣進行跟蹤,該方法能夠跟蹤部分遮擋的復雜的3D目標,同時通過硬件加速來實現實時跟蹤,其注冊過程如圖5所示。Neubert等[28]提出了一種基于外觀的邊緣模型的注冊方法,該方法從視頻幀中快速生成基于外觀的粗略邊緣模型,然后使用邊緣跟蹤算法對其進行跟蹤。該方法避免了繁瑣的建模過程。其注冊過程如圖6所示。

圖5 基于粒子濾波器的模型注冊結果

圖6 快速構建外觀模型注冊結果
基于點云模型的跟蹤注冊方法通常利用三維點云數據來表示真實場景和模型,然后使用迭代最近點(Iterative Closest Point, ICP)算法來配準模型點云和環境點云從而獲得相機的實時位姿。一般可以通過普通攝像機采集圖像集并通過運動恢復結構(Structure From Motion,SFM)[29]算法建立環境點云數據,也可以從RGB-D相機采集的深度圖像中獲得環境點云數據,其流程如圖7所示。Radkowski等[30]利用ICP算法配準模型點云和環境點云數據并獲得相機位姿完成跟蹤注冊,并將其應用于增強現實裝配系統。

圖7 基于點云模型的跟蹤注冊方法
使用點云模型的方法能在表面缺少紋理的應用場景中表現出良好的魯棒性,該類方法使用的ICP配準算法的配準效果易受相機的初始位姿的影響,且當相機快速移動時,ICP算法的迭代過程容易局部最優,使得跟蹤注冊過程中斷。針對這類問題,Park等[31]使用DOT(Dominant Orientation Templates)模板檢測算法獲取相機的初始位姿同時使用RGB-D相機通過深度圖像獲取點云數據,最后使用ICP算法對點云數據進行配準完成跟蹤注冊。其注冊結果如圖8所示。王月等[32]提出的跟蹤注冊算法融合了點云和視覺特征,并將融合算法應用到增強現實的裝配系統。該方法在ICP算法的基礎上結合了彩色圖像信息來提高攝像機快速移動時的跟蹤注冊過程的魯棒性。

圖8 基于DOT和點云模型的跟蹤注冊結果
基于視覺的同步定位與建圖(Simultaneous Localization And Mapping, SLAM)因其適用性以及系統結構簡單且易于實現等優點在增強現實領域中具有廣泛的應用前景。Davison 等[33]使用擴展卡爾濾波器來實現同步定位與地圖創建,實現了一種基于單目視覺的MonoSLAM 實時算法,該算法證明了基于視覺SLAM的無標識跟蹤注冊方法的可行性和易用性。
基于視覺SLAM的無標識增強現實跟蹤注冊方法是一種應用于未知場景的增強現實跟蹤注冊方法,一般可包含地圖構建與更新以及跟蹤注冊兩個并行的模塊[34]。其中,地圖構建與更新模塊一般可通過SLAM算法來實現;而跟蹤注冊模塊可以通過構建的地圖庫來進行攝像機位姿估計,對輸入圖像與地圖庫進行特征點提取及匹配并進行攝像機位姿信息更新,最后實現虛擬物體的注冊。具體流程如圖9所示。

圖9 基于視覺SLAM的無標識跟蹤注冊方法流程
近年來,越來越多的研究人員致力于基于視覺SLAM的無標識跟蹤注冊方法的研究[35]。 Klein 等[36]提出了基于關鍵幀的單目視覺SLAM 算法-并行跟蹤及地圖建立(Parallel Tracking And Mapping,PTAM),PTAM使用SFM相關算法對SLAM進行改進并將地圖構建更新以及跟蹤注冊進行并行處理,使得該方法比MonoSLAM 魯棒性更好,實時性可以滿足移動、可穿戴等計算性能較低的設備的要求。然而當需處理的地圖較大時,PTAM 效果較差,它僅能應用于室內等規模較小的場景。Castle 等[37]提出并行跟蹤與多地圖建立(Parallel Tracking And Multiple Mapping,PTAMM)算法,PTAMM 以PTAM算法為基礎引入多地圖處理機制,將較大地圖的建立問題分成若干子圖進行分開建圖并在跟蹤定位的過程中實現在子圖間進行自動切換。該方法在保持PTAM算法的優點的同時提高了其針對較大空間的建圖能力,但是PTAMM仍易受場景光照條件和環境紋理的影響[38]。隨著RGB-D深度攝像機的出現,使得硬件平臺具有了獲得深度感知的能力。Mur-Artal等[39]將深度信息融入到SLAM框架中,該方法在提升運算效率的同時還能應用于光照條件較差的場景。Richard 等在RGB-D相機的基礎上使用KinectFusion算法進行三維重構,該方法在進行三維重構時還可以跟蹤相機的位姿。Dong等[40]通過關鍵點提取以及RGB和深度圖像平面上的特征匹配來找到連續RGB-D幀之間的相對相機姿態,將估計的姿態輸入到高精度的KinectFusion算法中,同時使用快速ICP微調幀到幀的相對姿態,該方法能夠有效提高RGB-D視覺SLAM系統的精度。谷曉琳等[41]提出了一種新的基于半直接視覺里程計的RGB-D視覺SLAM算法,該方法充分利用直接法和自然特征點法的優勢,設計了魯棒的后端優化以及閉環檢測策略,使得算法在紋理稀疏等復雜的環境中魯棒性較強。近年來,RGB-D視覺SLAM算法發展較快,然而深度攝像頭勢必增加整個系統的計算量以及設備成本。此外,目前消費級的深度攝像頭并未大范圍普及,能夠獲取的深度范圍也受限,這使得該方法的應用范圍受到很大的限制[42]。
本文概述了目前增強現實無標識跟蹤注冊方法的發展狀況,分析了現有技術的優缺點。從中可以看出目前增強現實無標識跟蹤注冊方法的研究發展仍受場景復雜度、光照條件、算法的效率和魯棒性等條件的限制,并沒有適用于各種場景的通用的技術方案。存在的主要問題以及難點主要表現在以下幾方面:首先,能夠取得較好的跟蹤注冊效果實現虛實無縫融合的無標識跟蹤注冊方法勢必都存在算法復雜的問題,這種情況下運行效率是我們需要考慮的關鍵問題,這也是目前很多精度較高的無標識跟蹤注冊方法很難滿足實時性要求的原因;其次,目前很多無標識跟蹤注冊方法都僅適用于某些簡單的場景環境,當遭遇場景背景過于復雜、光照條件顯著變化、目標表面缺少足夠紋理時很多無標識跟蹤注冊方法并不能滿足系統對魯棒性的要求,甚至會出現跟蹤注冊失敗的現象。
針對現有無標識跟蹤注冊方法存在的問題和難點,我們下一步的工作可能有2個方向:(1) 使用具有大規模并行處理能力的專用圖形處理器來加速和優化無標識跟蹤注冊方法[43]。針對目前無標識跟蹤注冊方法算法復雜和效率低的問題,將跟蹤注冊算法進行模塊劃分,使用大規模并行處理能力的專用圖像處理器來解決增強現實無標識跟蹤注冊技術中的難點問題。(2) 多種跟蹤注冊技術相結合的混合跟蹤注冊方式[44-45]。與基于視覺的跟蹤注冊算法相比,混合跟蹤技術能夠在目標快速移動或者目標被部分遮擋時還能夠保持很好的魯棒性。因此,使用混合跟蹤注冊技術是實現增強現實跟蹤注冊算法高精度以及強魯棒性的有效方法。