宋 冰,臧傳方,陳愫閒,賈 凱
(1.甘肅省博物館,甘肅 蘭州 730070;2.蘭州交通大學電子與信息工程學院,甘肅 蘭州 730070)
增強現(xiàn)實技術是一種將通過計算機科學產生的虛擬場景圖像或信息,能夠生動地呈現(xiàn)在真實場景中,使用戶能夠通過終端實時看到,從而獲得更多的信息的技術[1-5]。增強現(xiàn)實技術通過三維跟蹤配準技術、虛擬現(xiàn)實集成技術等技術支持,可以應用于多種應用領域[6-8]。早在20世紀,增強現(xiàn)實技術就已經出現(xiàn)在美國。隨著科學技術的不斷發(fā)展,我國也開始將增強現(xiàn)實技術應用于各個領域,如軍事[9-12]等。但是,它在文化領域的應用還相對較少,有很大的發(fā)展空間。而古壁畫對保存條件要求很高,研究條件也很苛刻。經常在研究過程中由于操作不當導致珍貴的古代壁畫被破壞或從此消失了[12-13]。增強現(xiàn)實技術是將古代壁畫的各個方面記錄并保存在計算機構建的虛擬場景中,然后通過三維跟蹤技術,完整而詳細地呈現(xiàn)在面前,供研究人員研究[14]。增強現(xiàn)實技術的應用對于古代壁畫的應用和探索具有重要意義。
增強現(xiàn)實技術是真實場景、虛擬場景、用戶交互的系統(tǒng)橋梁。一般由圖像識別技術、三維跟蹤配準技術和虛實結合技術組成,組合模式圖如圖1。
圖1 增強現(xiàn)實技術的系統(tǒng)構成圖
在此增強現(xiàn)實系統(tǒng)中,首先通過攝像頭移動從真實場景中獲取所需的信息,并通過圖像識別技術分析和建立虛擬的真實場景空間。利用三維跟蹤技術獲得當前攝像機的空間定位和當前攝像機所保持的具體姿態(tài)。利用計算機設計出與當前狀態(tài)相對應的虛擬模型,根據(jù)相關數(shù)據(jù)通過三維跟蹤配準技術進行解析計算,將真實場景與虛擬場景合并,將其在虛實結合的系統(tǒng)中顯示出來。最后在終端上顯示,形成一個完整的增強現(xiàn)實系統(tǒng)。圖像識別技術的操作流程如圖2。
圖2 圖像識別技術的操作流程示意圖
由于特征匹配是在同一真實場景或具有相同目標的兩幅圖像之間建立對應關系,因此全局特征檢測的抗干擾性和精度,低于局部特征檢測,并且對圖像的環(huán)境要求非常高,在應用上有很大的局限性,因此采用局部特征檢測方法。
利用圖像識別技術,通過圖像采集、圖像預處理、圖像特征提取、圖像特征匹配、輸出結果等一系列過程,可以得到比初始獲得的圖像信息更加準確、有用的信息,刪除無用的信息,也為后續(xù)的3D注冊跟蹤技術提供了計算便利性和更高的準確性。3D 跟蹤配準技術是增強現(xiàn)實技術正確實現(xiàn)疊加和虛實融合的關鍵。3D跟蹤配準技術通常用于對真實場景中的物體進行跟蹤定位,通過空間坐標系將虛擬場景渲染到真實場景中的準確位置。根據(jù)所使用的技術、設備和方法,可以將現(xiàn)實中每個角落的精確定位分為3類。應用最廣泛的跟蹤配準技術是基于軟件的配準技術,即通過計算機視覺發(fā)展起來的跟蹤配準技術。它可以通過在虛擬坐標系和真實坐標系之間轉換的空間定位和疊加模型進行跟蹤配準。按照標記物是否放置在真實環(huán)境中可分為標記物三維配準技術和非標記物配準技術。
獲取離線段目標關鍵幀后,根據(jù)匹配點求解關鍵幀的攝像機外部參考和投影矩陣,建立初始化結構。在逐幀分析和建立目標三維結構時保存目標關鍵幀的參數(shù)。定位關鍵幀來初始化3D 軌跡注冊信息。圖3顯示了三維跟蹤配準技術。
圖3 三維跟蹤配準技術分類圖
(1)像素坐標與圖像坐標。三維空間上的某一點Pw的二維齊次坐標的投影點p0在像素坐標系(O0uv)下可以表示為p0(u,v,1)T,其投影點p1在圖像坐標系(O1xy)下的二維齊次坐標可表示為p1(x,y,1)T。兩點之間的關系可以用公式(1)(2)表示,其中(u0,v0)為坐標系原點。
像素坐標系各像素在x、y軸上的變化量為Δx和Δy。在此基礎上,這2個坐標的變換關系如式(3)。
(2)圖像坐標與相機坐標。從坐標系(O1xy)到攝像機所在的坐標系(OCXCYCZC),將攝像機坐標系中PC(XC,YC,ZC,1)T轉換為圖像坐標系中可以用齊次坐標p1(x,y,1)T表示的點。相機坐標系的原點與圖像坐標系的原點之間的距離f也被稱為是相機的焦距。圖像坐標系與攝像機坐標系之間的變換關系可以用式(4)表示,其表達式為:
(3)世界坐標系與相機坐標系。對于三維空間中現(xiàn)實世界坐標系中的一個點,PW可以表示為現(xiàn)實世界坐標系(OWXWYWZW)中的PW=(XW,YW,ZW,1)T。攝像機坐標系(OCXCYCZC)中的點PC可以用齊次坐標PC(XC,YC,ZC,1)T來表示。這2個坐標系之間的變換關系可以用下式表示:
其中表示坐標軸的R,在將現(xiàn)實世界的坐標系轉換為攝像機坐標系后,是一個3×3旋轉矩陣。t是表示從現(xiàn)實世界坐標系到攝像機坐標系變換后的坐標平移的向量。T是表示現(xiàn)實世界坐標系與攝像機坐標系之間變換關系的矩陣。
綜合以上公式可以得到:
比例尺通常用來描述對遠處物體的放大,而遠處物體的圖像會變得模糊。它經常被用來模擬人眼的視覺。當圖像上2個物體的特征點能夠在多個尺度上匹配時,就可以證明兩者是同一物體。
為了實現(xiàn)算法尺度的不變性,我們建立了圖像金字塔來構建尺度空間。金字塔的每一層都由許多圖像組成,圖像之間的尺度以恒定的乘數(shù)增加。每組起始圖像乘以下一組圖像倒數(shù)第二個三級圖像樣本,不同組之間的圖像尺寸形成一個連續(xù)的金字塔,從而保證了尺度的不變性。
(1)高斯函數(shù)。圖像的尺度空間函數(shù)G(x,y,σ)可以通過尺度變量高斯函數(shù)L(x,y,σ)與輸入圖像I(x,y)的卷積表示,如式(7)所示:
*表示卷積,變尺度高斯函數(shù)G(x,y,σ)可以用式(8)表示:
式中:σ表示尺度因子,其大小決定了圖像的模糊程度。文章的特征點檢測使用了SURF算法的特征點檢測,即基于Hessian矩陣的興趣點檢測。假設在給定圖像I的p(x,y)中存在一個像素p,則該點和尺度σ處的黑森矩陣定義可由式(9)[15]表示:
式中:Lxx,Lxy,Lyy是高斯二階導數(shù)和原始圖像的卷積。
由于高斯函數(shù)的精確表達式使其在計算上變得復雜,所以通常用近似值來表示,減少計算量來加速計算過程,如式(10)所示:
式中:Dxx,Dyy,Dxy表示對Lxx、Lyy和Lxy進行過濾得到的近似值。
其實目標圖像的特征檢測算法有很多,但需要根據(jù)不同的特征和不同的場合來選擇。SURF 算法在特征點檢測的精度、尺度、旋轉等方面都與其他算法相比有很大的優(yōu)勢,并且算法在速度上也有了很大的提高,因此我們選擇SURF 算法作為增強現(xiàn)實系統(tǒng)的主要算法。
(2)SURF和F-REAK算法。過去通常使用傳統(tǒng)的SURF算法來描述浮點特征。雖然hot SURF已經進行了更新和加速,但仍然不能滿足要求。它需要使用大量的內存和時間進行處理、描述和匹配。因此使用了FREAK算法,它更接近人眼視網膜接收圖像信息并對其進行處理的過程。它采用局部采樣點的梯度計算,通過對采樣點的比較,將采樣點組合成對。得到描述符的像素強度可以用式(11)表示:
式中:N表示描述符的長度,T(Pa)表示二值檢驗,Pa表示大量采樣點。這個表達式可以用式(12)表示:
式中:I()表示前一個像素點Pa的像素值,I()表示后一個像素點Pa的像素值。
根據(jù)已有的特征點信息,建立一個矩陣,每一行對應一個關鍵點的FREAK二進制字符表示,通過計算矩陣每列的均值來計算二進制分布矩陣的方差。根據(jù)最大方差對矩陣的每一列進行排序,最接近的方差排序越靠前。最后,保存最佳列,遍歷其余列以計算最佳列的協(xié)方差,留下協(xié)方差最小的列,最后進行篩選以獲得所需的二進制描述符。
該模型通過選取中心對稱的采樣點,采用局部梯度求和的方法計算特征點的矢量方向。假設局部梯度信息O由式(13)計算得到特征點的方向。
其中,M為集合G中點的個數(shù),G為計算特征點方向的所有采樣點的集合,和為經過采樣中心的點,I()為兩個經過的采樣點中前一個的像素值。I()表示兩個經過的采樣點中的后一個的像素值。
在抽樣之后,對收集到的數(shù)據(jù)進行粗略匹配,粗匹配的度量通常為漢明距離,特征點描述符之間的漢明距離計算公式如式(14)所示:
由于閾值的存在,使得可以匹配的點只能接近真實正確的匹配,不能完全保證點的正確性。因此,在特征檢測與匹配算法過程的最后一步使用RANSAC 算法,即使用隨機抽樣一致性算法對得到的特征匹配點進行篩選和凈化。該算法有助于估計兩幅圖像之間特征點的坐標點之間的相互變換關系,稱為單應性矩陣h,該單應性矩陣可以幫助找到圖像在虛擬場景和真實場景中的具體位置。圖像之間的同形關系如下式所示:
s表示匹配特征點(x,y)的尺度參數(shù)為目標圖像的匹配特征點坐標與虛擬場景或真實場景(x',y')中匹配的特征點坐標。
采用魯棒性檢驗和圖像識別算法的準確性來比較特征檢測和特征匹配算法,以準確描述圖像之間特征的描述和匹配,其中AM 測量的是平均匹配次數(shù)和平均匹配率。平均匹配率表示匹配點總數(shù)N與圖像特征點總數(shù)m的比值,比值越大,算法檢測到的特征點越準確,如式(16)所示:
平均匹配率AP是精確匹配點總數(shù)Nc與特征點總數(shù)N之比。比值表示算法的匹配精度。由于只有正確的匹配點數(shù)才能稱為特征匹配點數(shù),所以比值越高,算法的準確率越高,如式(17)所示:
在增強現(xiàn)實技術系統(tǒng)中,無論是三維結構的建立,還是三維配準信息的分析,都需要特定的攝像機固定信息。在平面圖像中,如果真實世界的坐標與相機坐標所在的平面重合,則二維平面坐標的轉換關系如式(18)所示:
若H是單應矩陣,則公式的形式變化如式(19)所示:
若轉置矩陣R是一個正交矩陣,那么,根據(jù)正交矩陣的相關性質,如式(20):
將式(19)和式(20)結合可得:
選取的前兩幀作為構建初始三維結構的基礎。將這兩幀的平面命名為I1和I2,假設2個平面外的1個點P在2個平面上的投影點分別為這2個,點的圖像像素的p1齊次坐標。p點的空間坐標為p齊次坐標=(pT,1)T,相機參數(shù)矩陣為K。根據(jù)這些信息,得到如下公式:
R 是由坐標系旋轉矩陣t 從第二幀到第一幀的平移求和得到的。與式(22)結合,可以得到公式(23):
式(23)的左右兩邊同時交叉乘以t,將交叉乘以t?的矩陣形式表示為式(24):
通過公式λ2x2=λ1Rx1+t得到投影矩陣M,同時將三維坐標乘以方程的兩邊,可以得到0=λ1x2Rx1+x2t,然后將得到的任意一對特征點與坐標、旋轉矩陣R、平移向量t配對,得到λ1、λ2。
將原公式進行簡化,定義矩陣F 和矩陣E,設其為圖像的齊次坐標xx=K-1--p,最終公式為:
增強現(xiàn)實技術的一個重要指標是特征檢測實驗中匹配特征點的平均個數(shù)、平均匹配率和平均準確率。這些數(shù)據(jù)對增強現(xiàn)實技術非常重要。通過多個場景和一個場景的旋轉變換、模糊變換、亮度變換、尺度變換等多種變換,得到以下數(shù)據(jù),對比優(yōu)化前后的數(shù)據(jù),可以直觀地看到優(yōu)化后的結果,見表1和圖4。
表1 各種變換下平均匹配次數(shù)的對比結果
圖4 平均匹配計數(shù)比較結果
從數(shù)據(jù)對比圖可以清楚地看到,在對圖像的各種變換中,SURF 算法和FREAK 算法在不同變換下得到的平均匹配次數(shù)相差很大。與前兩種算法相比,本文方法獲得的平均匹配數(shù)變化更小,穩(wěn)定性更高。
在上述變化中,除了平均匹配次數(shù)外,還可以得到一個重要的指標,即平均特征點匹配率,簡稱平均匹配率。在上述轉換過程中,平均匹配率的變化見表2和圖5。
表2 各種變換下的平均匹配率比較結果
圖5 平均匹配率的比較
從數(shù)據(jù)圖中可以看出,與本文方法和SURF 算法相比,F(xiàn)REAK算法在各種圖像的變換中平均匹配率較低,魯棒性測試結果也較差。本文方法的平均匹配率與SURF 算法總體上相差不大,在視角變換和壓縮變換中效果更強,平均匹配率較高。總體而言,該方法的平均匹配率最高。
在再增強色彩系統(tǒng)中,誤差主要發(fā)生在在線跟蹤配準過程中由于攝像機與場景之間的相對運動而產生的跟蹤配準誤差,該誤差可以通過重新投影待測誤差err來計算。
最后,通過每次變換的平均準確率數(shù)據(jù)進行直觀的比較。結果見表3和圖6。
表3 各種變換下平均精度的對比結果
圖6 平均精度比較結果
傳統(tǒng)的FREAK算法整體準確率低于其他算法,魯棒性測試結果也無法達到預期效果。SURF 算法在旋轉變換的情況下精度較低,但在其他圖像變換中效果較好,具有較高的精度。從整體上看,本文的方法是最好的,其次是SURF。
時間消耗是衡量算法實時性的關鍵指標。通過比較算法在特征點檢測和特征點匹配凈化方面的運行時間,發(fā)現(xiàn)耗時越少算法的真實時間性能越好。
利用圖像數(shù)據(jù)庫中的平均數(shù)據(jù)計算SURF算法和FREAK 算法使用的耗時時間以及本文采用特征檢測方法計算的時間,結果見表4和圖7。
表4 各算法的耗時比較
圖7 時間消耗對比圖
這3 種方法相比較,SURF 方法耗時最多。SURF 算法在平均準確率、平均匹配率等數(shù)據(jù)方面優(yōu)于FREAK 算法,但每次實驗耗時較FREAK 算法多。由于SURF 算法的改進存在較長的瓶頸,因此選擇本文中耗時更少且精度更高的方法。
3D 配準的耗時性質是我們評估配準方法的一個指標。我們使用目標識別配準方法和目標跟蹤配準方法對實驗結果進行對比,見表5和圖8。
表5 識別注冊和跟蹤注冊的時間消耗比較
圖8 平均時間消耗比較圖表
從逐幀特征檢測與匹配方法的耗時結果可以看出,目標識別與配準的耗時遠遠大于目標跟蹤配準的耗時。因為耗時越長,系統(tǒng)上的負載就越大,系統(tǒng)卡住的時間也就越長。因此,目標識別配準方法是不可行的。
使用PASCAL VOC2007 圖像庫作為圖像特征,其中包含大量的場景和變換,并且平均計算了該圖像庫中的圖像數(shù)據(jù)序列。所使用的算法也是結合最近鄰和近鄰比例的雙向匹配算法,使實驗數(shù)據(jù)具有說服力和代表性。
最后,在基于增強現(xiàn)實技術構建的系統(tǒng)中,比較了系統(tǒng)中各主要模塊對圖像幀的處理速度,見表6和圖9。
表6 3個模塊處理幀數(shù)的時間消耗表
圖9 3個模塊處理幀數(shù)耗時對比圖
由表6 可知,3 個模塊處理初始幀的時間最長,目標圖像識別耗時最長。此時我們需要保持攝像機的穩(wěn)定性來保證初始幀的完整性,因為系統(tǒng)使用增強現(xiàn)實技術通過特征跟蹤來疊加圖像解位,從而保持系統(tǒng)的快速配準。其效果可以從在線跟蹤框對工作臺的處理時間看出??焖偬幚砗蟮墓糯诋嬤_到了預想的效果。
增強現(xiàn)實技術是一門新興的學科,它可以通過圖像識別、三維跟蹤、虛實結合等技術幫助人們更加方便直觀地表達信息。通過圖像識別和三維配準跟蹤,將虛擬物體與真實場景融為一體,最后顯示在終端上,幫助人們探索古代壁畫的應用。文章提出的方法通過結合尺度空間特征檢測算法SURF算法和二值掃描算法FREAK 的優(yōu)化方法,通過特征匹配,將最近鄰比和雙向匹配相結合,在保證精度的同時減少了計算時間。三維配準跟蹤模塊通過建立目標三維結構和PnP 算法進行配準,然后通過高斯函數(shù)快速求解配準信息,并改變虛擬場景和真實場景的觀測條件。使用精確疊加的虛擬對象來實現(xiàn)增強現(xiàn)實效果。