謝振超,黃 俊,張 磊,王君龍
(重慶郵電大學 信號與信息處理重慶市重點實驗室,重慶 400065)
增強現實(Augmented Reality,AR)技術能夠將虛擬信息與真實場景融合,以增強視覺體驗。近年來,利用自然特征進行目標跟蹤已成為計算機視覺領域的一個研究熱點[1]。為了完成增強現實中從目標檢測到三維注冊的過程,需要重點研究特征檢測和描述算法,除了要考慮攝像機自身參數,還要消除環境改變造成的抖動和光照變化帶來的影響。
早在1999年,LOWE D G[2]提出了SIFT(Scale-Invariant Feature Transform)算法來描述特征點。該算法具有尺度不變性,但是計算速度緩慢。為了提高SIFT的性能,BAY H[3]提出了SURF(Speeded Up Robust Features)算法,在計算速度、重復性和魯棒性上都要優于以前的技術。與SIFT相比,SURF最重要的特點是響應速度快。它是一種基于描述符的方法,依賴于Hessian檢測器來識別圖像中的特征區域并用Haar小波來構造描述符響應。RUBLEEE[4]等人提出的ORB(Oriented FAST and Rotated BRIEF)算法結合了FAST(Features from Accelerated Segment Test)特征檢測算子和BRIEF(Binary Robust Independent Elementary Features)描述符,該算法給特征點加上方向,在計算效率和性能上優于SURF和SIFT。文獻[5]中提出了KAZE算法,該算法采用非線性擴展濾波器,對圖像進行局部自適應模糊處理,能夠減少噪聲并且保留物體邊界信息,具有較高的定位精度。
很多移動平臺的增強現實(AR)應用是通過檢測標識圖像的特征點進行匹配,實際上就是利用標識圖像進行姿態估計,計算出單應矩陣,通過坐標轉化將3D物體疊加到場景內。因此,HA K C J[6]等人開發了一套移動端的AR框架,識別模塊放在服務器端,通過網絡連接到客戶端,可以處理大量的識別請求,具有較高的精度。MAIDI M[7]等人提出了一種基于自然特征的實時跟蹤注冊方法,對于環境沒有特定要求。方法采用ORB算法進行目標的檢測和識別,將識別到的二維特征點和目標空間的三維地圖點結合到一起,根據相機透視變換來估計三維姿態。KUNDRA L[8]等人提出了一種結合了光流角速率和陀螺儀輸出的自適應算法,可以消除相機移動過程中的累積誤差。
結合上述研究背景,本文設計了一種基于KAZE算法的跟蹤注冊算法。該算法運行在移動平臺上,采用光流法對移動對象進行跟蹤,在特征點檢測和匹配方面采用KAZE算法,最后利用連續兩幀之間的匹配關系求出坐標轉換矩陣。下面首先介紹增強現實注冊算法的過程,然后利用本文算法進行實驗和分析,最后對全文進行總結。
本文使用KAZE算法來進行特征描述,KAZE使用了AOS(Additive Operator Splitting)技術和可變傳導擴散[9-10]建立非線性尺度空間。KAZE算法的特征檢測過程中,計算Hessian矩陣的局部最大值點,Hessian矩陣的計算公式為:
(1)
其中,σ是尺度參數σi的整數值,Lxx是水平方向上的二階微分,Lyy是垂直方向上的二階微分,Lxy是二階偏微分。
為每個特征點設置一個主方向,主方向確定依據是局部圖像結構,可以滿足圖像的旋轉不變性[11]。如果特征點的尺度參數是60°,搜索半徑是6σi,在搜索的圓形區域中,對每一個采樣點都計算一階微分值Lx和Ly,將得到的微分值在空間向量中做成點集,進行高斯加權。這些離特征點距離近的點和離特征點距離遠的點就可以分開了。將這些點集向量在一定的范圍內進行疊加,在一個60°的扇形窗口內,以一定的間隔在整個圓形區域內旋轉,最長矢量所指的方向就是最終的主方向。
特征點的尺度參數為σi,以特征點為中心,選取一個24σi×24σi的窗口,再將窗口分為4×4個子區域,由于相鄰的各個子區域之間有重疊部分,重疊的寬度是2σi,那么每個子區域的實際大小就變成了9σi×9σi。以σ1=2.5σi權重系數的高斯核在每個區域內進行加權,在每個區域內計算出一階微分Lx和Ly。分別在各個子區域內計算出描述向量[12],如公式(2)所示:
dv=(∑Lx,∑Ly,∑|Lx|,∑|Ly|)
(2)
再以另一個σ2=1.5σi權重系數的高斯核對每個區域的向量進行加權,在4×4的窗口中,使用高斯函數歸一化處理后,得到了4×4×4=64維的描述向量。
特征檢測之后,進入到特征匹配階段。KAZE算法通過計算歐氏距離來確定匹配結果,也就是使用最近鄰和次近鄰距離。計算出最近鄰和次近鄰的比值,如果比值小于閾值,就認為這兩個特征點是一對匹配點對。
在實際操作中,還需要濾除異常值。使用RANSAC算法估計單應性矩陣。再以最大一致集為基礎,以單應矩陣為估計初值重新估計單應矩陣,找到最佳匹配點對。目標識別過程如圖1所示。

圖1 目標識別過程
除了特征檢測和匹配,本文還將對追蹤部分做進一步處理。使用匹配點對來估計兩個連續幀之間的單應性[13]。訓練得到的關鍵點是由查詢點經投影變換得到的:pt=G·pq(pt為訓練點,pq為查詢點)。然后,構造一個與2D訓練點相關聯的二維矩陣。首先估計單應矩陣,并以單應矩陣為初值重新計算關鍵點位置。在關鍵點匹配過程中構造包圍盒。在包圍盒內有數百個特征點,這些點都可以視為關鍵點。為了檢測角點,需要計算和推導協方差矩陣,求出最小特征值,即min(λ1,λ2),λ1和λ2是下面矩陣的特征值:
(3)

(4)
I和J是二維灰度圖像,窗口大小為(2wx+1)×(2wy+1)。當幀J中檢測出幀I中超過70%的角點時,則認為目標存在于圖像中。通過計算對應角點之間的變換[15]來估計新的單應性關系。目標追蹤過程如圖2所示。

圖2 目標追蹤過程
AR追蹤依賴于姿態估計,姿態估計是根據攝像機坐標系來確定關鍵幀之間的轉換關系。為了求解姿態參數,要建立一個2D像素坐標到3D世界坐標的映射關系。計算位姿之前,首先要對攝像機進行標定,即計算攝像機的內參[16-17]。攝像機內參由其內部構造決定,是固定不變的。知道了攝像機內參,就可以在匹配過程中計算單應性矩陣來確定目標,并可以將二維像素點實時地轉換成世界坐標系的對應的三維點。
確定了2D-3D的匹配點對之后,就明確了坐標轉換關系[18]。整個跟蹤注冊系統可以估計相機的方向和平移參數。姿態估計是一個誤差最小化過程,定義相關函數如下:
(5)

(6)

(7)

(8)
上式確定了相機的姿態參數。AR跟蹤過程有以下幾個部分[20]:首先實時觀測目標,檢測并跟蹤每兩個連續幀的特征點,計算2D單應矩陣并提取當前幀中四個角的坐標,然后利用四個角點之間的對應關系估計投影矩陣,最后估計相機姿態,將三維物體疊加到目標平面上,實現增強現實效果。
本文實驗在移動平臺上進行,選擇的設備為HUAWEI Honor v9,運行系統Android7.0,主頻2.4 GHz,內存6 GB,處理器為海思Kirin960,1 200萬像素。實驗過程中開啟手機攝像頭,從真實環境中實時獲取幀,建立一個帶有關鍵點和描述符的圖像數據庫。通過對場景的實時掃描,判斷當前場景是否存在目標特征點。實驗過程中存在光照、攝像機移動和其他干擾因素。
首先計算不同圖像幀和關鍵點數目對總運行時間的影響。每隔40幀進行一次計算,關鍵點數目分別為100、200、300,如圖3所示。從圖中可以明顯看到,提取時間最低為0.9 s,最高為1.6 s。圖像幀大小和關鍵點數目對運行時間影響很大。根據實際情況,選擇關鍵點數目為200來做后續實驗。

圖3 運行時間變化表
本文算法可以追蹤到90%以上的關鍵點,在部分圖像幀中,由于尺度變化,檢測到的關鍵點數目會少于150。手機攝像頭距離過遠時,特征點數目會相應減少。圖4顯示了光流計算時間和特征點檢測時間,從圖中可以看出本文算法具有很快的運行速度,每幀檢測時間低于60 ms,光流計算時間低于50 ms,總耗時大約100 ms。

圖4 追蹤時間表
將本文算法與現有的SIFT和ORB算法作對比,計算每幀圖像平均耗時,結果如表1所示。

表1 算法時間對比
從表1可以看出,本文算法平均每幀圖像運行時間為11.1 ms,較ORB算法運行時間縮短約10.5%,較SIFT算法運行時間縮短約73%,具有較高的穩定性和實時性,適合在移動平臺上運行。
本文在實驗過程中考慮到多種影響因素,分別在視覺變化、旋轉變化、部分遮擋的條件下進行虛擬物體的注冊。運行結果如圖5所示。從圖中可以觀察到模型始終注冊在目標位置。
下面分別在正常狀態下、視角變化、旋轉變化和部分遮擋狀態下進行三維注冊實驗,每種狀態都進行100次的注冊實驗,模型在目標位置出現代表成功,位置偏差或未能出現代表失敗。注冊準確率如表2所示。
根據以上實驗可以看到,本文算法旋轉、視角改變、遮擋等干擾條件下依然能正常注冊,在不同干擾條件下進行多次實驗,注冊準確率可達97%以上,證明本文算法具有較高的魯棒性和準確性。

表2 注冊準確率
本文提出了一種準確、快速的增強現實跟蹤注冊方法,該方法采用KAZE與光流法相結合的跟蹤注冊策略,利用光流法跟蹤移動對象區域有效保證了跟蹤的穩定性與精確性,采用KAZE特征提取與匹配算法在對旋轉、尺度縮放、亮度、視角等保持不變的同時,確保了運算速度。實驗結果表明,文中方法較好地滿足了移動增強現實系統對實時性和精確性的要求。
[1] 孫元,陳靜.移動增強現實技術在智能手機中的應用研究[J].計算機科學,2012, 39(S1):493-498.
[2] LOWE D. G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision 2004,60: 91-110.
[3] BAY H, ESS A, TUYTELAARS T, et al. Speeded-up robust features (SURF)[J]. Computer Vision and Image Understanding, 2008,110(3): 346-359.
[4] RUBLEE E, RABAUD V, KONOLIGE K,et al. Orb:an efficient alternative to sift or surf[C]//Proceedings of the 2011 International Conference on Computer Vision (ICCV), 2011: 2564-2571.
[5] ALCANTARILLA P F, BARTOLI A, DAVISON A J. Kaze features[C]//European Conference on Computer Vision, 2012: 214-227.
[6] HA K C J, ROJAS F, YANG H. Real-time scalable recognition and tracking based on the server-client model for mobile augmented reality[C]//IEEE International Symposium on VR Innovation 2011: 267-272.
[7] MAIDI M, PREDA M, LEHIANI Y, et al. Vision-based tracking in large image database for real-time mobile augmented reality[C]//2014 IEEE 16th International Workshop on Multimedia Signal Processing (MMSP) 2014: 1-6.
[8] KUNDRA L, EKLER P. Non-deceiving features in fused optical flow gyroscopes[C]//IEEE 12th International Symposium on Applied Machine Intelligence and Informatics(SAMI),2014: 63-66.
[9] 邱子鑒. 基于改進隨機蕨的增強現實跟蹤注冊算法的設計與實現[D]. 哈爾濱:哈爾濱理工大學, 2014.
[10] 李丹, 張蒙, 孫海濤,等. 一種改進的KAZE特征檢測算法[J]. 四川大學學報(自然科學版), 2015, 52(3): 523-528.
[11] 饒玲珊, 林寅, 楊旭波,等. 增強現實游戲的場景重建和運動物體跟蹤技術[J]. 計算機工程與應用, 2012, 48(9):198-200.
[12] 白小玲. 基于改進的KAZE算法的特征提取與匹配[D]. 哈爾濱:哈爾濱理工大學, 2017.
[13] 于永軍, 徐錦法, 張梁,等. 基于改進KAZE特征的合成孔徑雷達匹配算法[J]. 上海交通大學學報, 2015, 49(9):1288-1292.
[14] 趙燁, 蔣建國, 洪日昌. 基于RANSAC的SIFT匹配優化[J]. 光電工程, 2014, 41(8):58-65.
[15] 肖慧, 陸奎. 基于SIFT自然特征的AR系統研究和實現[J]. 計算機應用與軟件, 2014(5):244-246.
[16] 盧鴻波, 張志敏. 采用旋轉匹配的二進制局部描述子[J]. 中國圖象圖形學報, 2013, 18(10):1315-1321.
[17] 閆興亞, 薛紅紅, 李樂. 基于ORB與光流法的增強現實注冊算法研究[J]. 電子設計工程, 2017, 25(13):40-43.
[18] 李晶皎, 趙越, 王愛俠,等. 基于改進FREAK的增強現實實時注冊算法[J]. 小型微型計算機系統, 2016, 37(1):173-177.
[19] 趙天陽, 王見. 一種用于光照變化圖像匹配的改進KAZE算法[J]. 計算機測量與控制, 2017, 25(6):185-188.
[20] LEHIANI Y, PREDA M, Ghorbel F. Object identification and tracking for steady registration in mobile augmented reatily[A]. 2015 IEEE International Conference ON Signal and Image Processing Applications(ICSIPA),2015:54-59.