周 翔 ,唐麗玉 *,林 定
(1.空間數據挖掘與信息共享教育部重點實驗室(福州大學),福州350108;2.地理空間信息技術國家地方聯合工程研究中心(福州大學),福州350108)
(?通信作者電子郵箱Tangly@fzu.edu.cn)
增強現實(Augmented Reality,AR)是指利用計算機技術將虛擬場景實時精準地疊加到真實場景中的相對位置,以增強用戶在真實環境中的感知體驗[1]。增強現實技術由虛擬現實技術發展而來,具有虛實融合、實時交互、虛實注冊的特點[2],增強現實技術的核心是虛實注冊[3-4]。隨著計算機圖形學和計算機視覺技術的快速發展,基于平面圖像的自然特征虛實注冊方法儼然成為研究熱點之一,基于自然特征的虛實注冊方法的關鍵之一在于圖像的特征提取與匹配[4-5],圖像特征提取與匹配算法的特征識別精度和計算速度會對虛實注冊的精確度與實時性產生直接影響。
圖像特征識別算法分為特征提取和特征描述兩個部分,圖像的特征描述算法主要分為浮點型描述符和二進制描述符兩類。基于尺度不變特征變換(Scale-Invariant Feature Transform,SIFT)算法[6]是目前綜合性能最佳的浮點型描述符,也是高精度特征提取算法,但其運算量大、耗時多,難以滿足對實時性有需求的實際應用,而同為浮點型描述符的加速穩健特征(Speeded Up Robust Features,SURF)算法[7]能夠獲取類似于SIFT算法的高精度和魯棒性佳的特征點,但計算速度較SIFT有較大的提高[8],是一種較為高效的算法,與二進制描述符相比,識別精度更高[9]但計算速度慢了一個數量級,在所有的二進制特征描述算子中,二進制魯棒不變尺度關鍵點(Binary Robust Invariant Scalable Keypoints,BRISK)特征描述算子[10]在旋轉、視角和尺度變換條件下的綜合表現最佳[11],BRISK特征描述符在所有的二進制描述符中有最高的特征匹配精度和最大匹配數,運算速度相對于浮點型描述符來說非常適合用于移動端應用程序[12]。
基于自然特征的增強現實技術在教育[13-14]、歷史遺址重現[15]、旅游[16-17]等領域有著廣泛的應用前景,在實際場景中因相機角度、環境光照和遮擋的不同會使得圖像之間出現差異性,因此實現一種能夠準確快速地識別差異性圖像并精確完成AR功能的虛實注冊方法非常關鍵。
本文將結合SURF算法和BRISK算法的優點,研究高效的基于圖像自然特征的虛實注冊方法,首先使用二進制魯棒不變尺度關鍵點-加速穩健特征(Binary Robust Invariant Scalable Keypoints-Speeded Up Robust Features,BRISK-SURF)算法提取圖像的特征信息;其次在特征匹配階段使用漢明距離進行高速特征匹配以及隨機抽樣一致性(RANdom Sample Consensus,RANSAC)算法剔除誤匹配點對,根據圖像特征之間的單應性關系計算注冊矩陣以實現基于自然特征的虛實注冊;最后基于該方法實現AR系統,并應用于朱子文化遺存中興賢書院旅游資源的宣傳與體驗。
在實際應用中,準確并快速地識別匹配旅游場景中的圖像是關鍵。本文在圖像的特征提取階段利用SURF特征提取算子檢測出高精度和魯棒性佳的特征點,然后使用BRISK特征描述算子對特征點進行二進制描述以提高計算速度。
1.1.1 特征提取
在圖像的特征提取階段,使用SURF的近似Hessian矩陣行列式(Determinant of Hessian,DoH)檢測在圖像的不同尺度空間上快速檢測特征點,核心是Hessian矩陣的利用。圖像在尺度為σ的Hessian矩陣H為:

其中:Lxx(X,σ)為高斯二階偏導數與像素點(x,y)在x方向上的卷積,Lxy(X,σ)和Lyy(X,σ)的定義類似。
SURF算法通過使用盒狀濾波器(Box Filter)與積分圖像的簡單運算來代替模板與圖像的卷積運算,這樣可以在保證提取精度的前提下加快特征檢測,計算公式如下:其中Dxx、Dyy、Dxy為近似高斯二階偏導數與圖像像素的響應值,當det(H)>1時認為該點為特征點。

通過構建圖像的多尺度空間金字塔,提取具有尺度變換和魯棒性佳的特征點。SURF算法不改變圖像的尺寸,只改變盒狀濾波器的尺寸,并通過同時處理多尺度空間的圖像來構建圖像金字塔,加快了圖像的處理。
在檢測出的每個特征點所在尺度層及上下兩個尺度層圖像的3×3×3鄰域內對其進行非極大值抑制,再通過亞像素插值運算來獲得穩定性佳的特征點。
1.1.2 特征描述
1)計算特征點主方向。
為了使特征點具備旋轉不變性,在對特征點進行描述前需要確定特征點的主方向。本文利用BRISK算子,在特征點周圍使用均勻采樣模式(如圖1所示),即以特征點為中心,構建不同半徑的同心圓,在每個圓上獲取一定數目的等間隔采樣點(包括特征點本身),并對所有采樣點進行高斯濾波,然后對局部梯度進行計算,將采樣點兩兩組合計算特征點局部梯度集合,使用g(Pi,Pj)表示特征局部梯度集合,有:

其中:I(Pi,σi)、I(Pj,σj)分別為特征點的像素值,統計短距離和長距離點對子集,利用長距離點對子集計算特征點的主方向,計算公式如下,公式中的L為所有長距離點對:


圖1 BRISK的采樣模式Fig.1 Sampling mode of BRISK
2)生成特征描述符。
把特征點周圍的采樣區域旋轉θ角度到主方向,旋轉后得到新的采樣區域,以解決旋轉不變性,再次使用均勻采樣模式統計短距離點對子集,在短距離點對子集中通過在點對之間的強度對比構建特征點的二進制描述符b,式中的S為長距離點集。

1.1.3 特征匹配
經過BRISK-SURF算法得到的特征點描述符是由0和1組成的二進制比特串,可以采用漢明距離實現特征點之間的高速匹配,從而完成特征點之間的初始匹配。
RANSAC算法被廣泛用于圖像的特征匹配,容錯率高,對誤匹配的特征點對有很好的識別剔除效果,所以本文使用RANSAC算法對初始匹配點對進行篩選,以得到穩定性佳、精度高的最佳匹配點對。
虛實注冊技術是增強現實的核心技術,其主要作用是通過實時計算相機相對于真實場景的姿態位置而將虛擬物體準確地渲染疊加在真實環境的相應位置,使得虛擬場景與真實場景保持相對位置的準確與穩定[18-19]。要實現在現實場景中疊加虛擬場景,必須獲取目標圖像與相機的相對姿態位置信息,根據姿態信息把虛擬場景疊加渲染到真實場景中的相對位置上來實現AR效果。
1)相機的姿態位置計算。
目標圖像的特征點位置與其在三維空間中的坐標位置的對應關系如式(6)所示,其中:s代表特征點在相機坐標中的z坐標值,(u,v)為圖像坐標系中的二維點坐標,(X,Y,Z)為三維點在世界坐標系中的坐標,(cx,cy)為相機的主光軸點(圖像的中心),fx和fy為相機的焦距,[R3×3t3×1]為變換矩陣,K為相機的內參矩陣,M為三維空間中點的坐標與二維圖像坐標系中點坐標之間的單應性矩陣。

這一步的關鍵是求解變換矩陣,也是相機的外參矩陣。相機的內參矩陣K可由棋盤標定法獲得,根據二維點集坐標、三維點集坐標和相機的內參矩陣計算變換矩陣[R3×3t3×1]。
2)基于BRISK-SURF的虛實注冊算法。
根據求解的變換矩陣、相機的內參矩陣和匹配點對的坐標信息,結合OpenGL完成虛實注冊。基于BRISK-SURF的虛實注冊算法流程如圖2所示。

圖2 虛實注冊流程Fig.2 Flowchart of virtual-real registration
具體步驟描述如下:
1)使用SURF特征提取算子檢測出標識圖像的特征;
2)使用BRISK特征描述算子對檢測出的特征點進行描述;
3)校準相機,使用棋盤標定法計算相機的內部參數;
4)從實時視頻流中獲取當前幀圖像,使用SURF特征提取算子檢測圖像的特征點;
5)使用BRISK特征描述算子對當前幀圖像中的特征點進行特征描述;
6)利用漢明距離對標識圖像和當前幀圖像的特征信息進行匹配特征;
7)如果圖像匹配成功,計算標識圖像和當前幀圖像之間的單應性矩陣,否則返回繼續4);
8)利用單應性矩陣特征對二維特征點坐標進行映射,獲得三維點坐標;
9)根據三維點坐標、二維點坐標和相機的內參矩陣,計算出相機的外參矩陣;
10)利用相機的外參矩陣,將虛擬物體渲染疊加在真實場景中。
BRISK-SURF算法能否準確快速地實現圖像特征匹配將會對虛實注冊過程產生直接影響,所以將基于BRISK-SURF自然特征的虛實注冊算法的實驗分為圖像特征匹配對比實驗和虛實注冊實驗兩個部分。其中:圖像特征匹配對比實驗是檢測BRISK-SURF算法在各種圖像變換情況下是否能夠高效快速地實現圖像特征匹配;虛實注冊實驗是對文中虛實注冊算法能否高效穩定地實現AR進行實驗測試。
本文從旋轉變換、光照變換、尺度變換、視角變換和模糊變換5個不同角度對文中的算法與SURF算法、BRISK算法,按照不同的性能指標分別進行實驗對比[20-21]。圖3為實驗圖像數據,包括不同模糊、旋轉、尺度、光照、視角變換等標準場景圖像的牛津數據集(the Oxford data set)和圖像處理實驗中經典圖像Lena。

圖3 標準實驗數據集Fig.3 Standard experimental dataset
實驗基于OpenCV2.4.9和QT5.6,實驗環境為i7-7700 CPU、16 GB內存、Windows10系統。采用特征匹配數、特征計算耗時、匹配率、準確率和召回率作為算法的性能指標與SURF和BRISK算法進行對比實驗,并且對實驗結果進行分析。在下列各性能指標計算公式中,Nf為兩幅圖像中特征點數量最小值,Nall為總匹配點對數量,Ncorrect為正確匹配的點對數量,Nshould為兩幅圖像相同的特征點對數量。實驗結果統計如圖4所示。
1)平均特征匹配數量。對經過各特征提取算法所提取的所有標準圖像特征點中成功匹配的點對數量求平均值,結果如圖4(a)所示,實驗統計結果顯示,在面對圖像的不同模糊、旋轉、光照、尺度、視角變換情況下,經過BRISK-SURF算法得到的圖像平均特征匹配數量與SURF算法基本一致,比BRISK算法明顯要多。
2)特征計算耗時。將各特征提取與描述算法分別應用于各個標準實驗圖像的特征檢測與描述,計算消耗時間(單位:秒),結果如圖4(b)所示,根據統計結果分析,BRISK-SURF算法特征平均計算速度約為SURF算法的2.52倍,有效地提高了實時性。
3)平均匹配率(Average Matching,AM)。匹配率為經過RANSAC算法篩選后得到的高精度特征匹配數與兩幅圖像檢測出的特征點數量最小值的比值:

對匹配率求平均值,實驗結果如圖4(c)所示,在圖像模糊和尺度變換方面的表現BRISK-SURF算法比SURF算法更加優秀,與BRISK算法相比魯棒性更佳。
4)平均準確率(Average Precision,AP)。準確率為經過RANSAC算法篩選后得到的高精度特征匹配數與篩選前特征匹配數的比值:

計算匹配準確率的平均值,實驗結果如圖4(d)所示,根據統計結果分析,在平均準確率方面,BRISK-SURF算法與SURF算法相比基本一致,而BRISK算法的平均準確率變化較為明顯并且均低于BRISK-SURF算法,穩定性表現不佳。
5)平均召回率(Average Recall,ARc)。特征匹配的召回率是指最終得到的最佳特征匹配數量與兩幅圖像中相同特征點對數的比值:


圖4 實驗結果統計Fig.4 Statisticsof experimental results
對召回率求平均值,實驗結果如圖4(e)所示,在平均召回率方面,BRISK-SURF算法比SURF算法更具有優勢,相較于BRISK算法,在圖像旋轉變換情況下,BRISK算法的平均召回率更加出色,但在光照、尺度、視角變換方面BRISK-SURF算法更具有優勢。
根據對比實驗結果分析,在使用不同變換的圖像與相應原始圖像進行匹配測試時,BRISK-SURF算法表現出較為理想的魯棒性、穩定性和實時性,與SURF的性能基本一致但有更高的召回率,與BRISK相比魯棒性更佳,表現出更好的準確率,計算速度相較于SURF算法大大加快,但比BRISK算法耗時多,計算時間基本能保持在0.1 s以下,算法的實時性較好。
本文在Windows10系統下,基于Unity3d專業渲染引擎,結合OpenCVForUnity工具包和OpenCV庫實現基于BRISKSURF算法的自然特征虛實注冊,并在此虛實注冊算法的基礎上實現AR,實驗硬件配置為外接攝像頭(分辨率640×480),Core i7-7700CPU 3.6 GHz,16 GB內存。
1)魯棒性和穩定性測試。
選擇一張卡通圖片作為標識圖片,在不同光照、不同視角以及經過不同遮擋處理的情況下進行匹配識別,藍色立方體為需要被注冊的虛擬物體,對基于BRISK-SURF的自然特征注冊算法的魯棒性和穩定性進行測試,測試結果如圖5所示,實驗結果表明,本文實現的虛實注冊方法可以準確高效地完成對場景的識別,實時效果好,魯棒性良好并且運行穩定,將虛擬立方體準確地渲染疊加在標識圖片上,并且虛擬立方體的顯示姿態也隨相機的姿態變化而變化。

圖5 不同情況下的注冊效果Fig.5 Registration effects in different situations
2)運算時間測試。
分別對采用SURF、BRISK和BRISK-SURF算法的注冊方法進行運算耗時測試,每隔50幀計算一次平均值,結果如表1所示。從表中可以看出,本文的算法運行平均耗時在0.1 s左右,計算耗時僅為SURF算法的1/2~1/3,有較好的實時效果。

表1 注冊算法計算時間平均耗時對比 單位:msTab.1 Comparison of average calculation time of registration algorithms unit:ms
3)注冊精度測試。
本文使用標準圖像數據集[22]對BRISK-SURF算法的注冊精度進行測試,數據集中包括標準的變換矩陣(3×3),注冊結果如圖6所示,白色框為實驗所得的注冊位置。

圖6 標準圖像注冊結果Fig.6 Results of standard imageregistration
實驗計算數據與標準參考數據如表2所示,從表中可以看出實驗所得變換矩陣非常接近于標準矩陣,同時相較于BRISK算法明顯有更高的注冊精度。
基于BRISK-SURF的自然特征虛實注冊算法在標識圖像的光照、視角以及遮擋不同的情況下,仍然可以準確地完成虛實注冊,穩定性和魯棒性表現出色,同時具有較好的實時性,注冊精度高。

表2 變換矩陣實驗對比Tab.2 Experimental comparison of transform matrices
通過對圖像特征匹配實驗和虛實注冊實驗結果的分析可知,基于BRISK-SURF的自然特征虛實注冊算法繼承了SURF算法高精度的圖像識別匹配性能,在標識圖像的光照強度、視角變換和遮擋程度等不斷變換的情況下,可以準確完成虛實注冊,同時注冊平均耗時保持在0.1 s左右,具有魯棒性和穩定性佳、實時性效果良好、注冊精度高的優點,因此適合用于移動增強現實系統中。
本文以朱子文化遺存中的興賢書院為例,對景點的多種類型旅游資源進行數字化,將AR技術應用于興賢書院旅游資源的呈現與體驗,并通過多模態交互方式對不同類型的數字化旅游資源進行交互設計。
AR系統的實現基于Unity3d平臺,并結合OpenCVForUnity工具包和OpenCV庫。具體實現思路是:使用BRISK-SURF算法提取標識圖片的特征信息,利用Unity3d的MainCamera結合外接攝像頭獲取視頻流圖像,提取其中每一幀圖像的特征信息與標識圖片進行匹配,匹配成功后實時計算攝像頭相對于標識圖片的姿態關系。在場景中新添加一個Camera(新命名ARCamera)用于渲染虛擬場景,利用計算得到的TRS(Translation,Rotation and Scaling)變換矩陣將虛擬場景渲染疊加在標識圖片的相對位置上,從而實現AR功能。AR實現流程如圖7所示。
本文利用興賢書院的宣傳圖片對數字化的旅游資源以三維和二維相結合的方式在移動端進行呈現,同時設計手勢、語音等多模態交互的方式對不同類型的旅游資源進行交互,圖8展示的是基于多模態交互式AR系統的效果,IPAD中的圖片為書院宣傳照片。

圖7 AR實現流程Fig.7 Flowchart of ARimplementation
圖8中:(a)展示的是書院的歷史簡介,可以通過語音功能進行交互;(b)展示的是書院的宣傳視頻,通過UI交互方式自由選擇二維或三維資源進行交互;(c)~(f)展示的是書院的三維模型,其中圖(d)是通過手勢操作完成對圖(c)中模型的旋轉視角,圖(e)展示的是手勢旋轉和放大的三維模型,圖(f)是在圖(e)的條件下將攝像頭靠近IPAD觀察書院三維模型內部場景的效果。

圖8 移動AR系統運行效果Fig.8 Operation resultsof mobile ARsystem
本文提出一種結合BRISK和SURF算法的自然特征虛實注冊方法,圖像特征匹配實驗結果表明BRISK-SURF算法在保持SURF算法的良好匹配性能和精度的同時明顯提高了計算速度,比BRISK算法有更佳的魯棒性和更高的準確率。對基于BRISK-SURF的自然特征虛實注冊方法的測試結果表明其注冊精度高,在標識圖像視角、分辨率和遮擋不同的情況下仍然具有良好的穩定性、魯棒性和實時性,可以滿足實際應用的需求。以朱子文化遺存中的興賢書院為案例,基于BRISKSURF的自然特征虛實注冊方法,研發了基于移動增強現實的文化旅游資源的呈現系統,實現多模態的自然交互體驗,促進了文化、旅游與科技相互之間有機結合,可以為其他文化旅游資源的創新型呈現與體驗方式提供有益探索。但文中實現的增強現實系統仍存在相機運動速度加快導致注冊精度降低的問題,有待進一步改進。