雷曉妹 伍忠東 雍 玖 加小紅
(蘭州交通大學電子與信息工程學院 甘肅 蘭州 730070)
?
基于動態特征模板匹配的ARToolKit三維注冊
雷曉妹 伍忠東*雍 玖 加小紅
(蘭州交通大學電子與信息工程學院 甘肅 蘭州 730070)
針對ARToolKit三維注冊易受光照、遮擋以及旋轉變化的影響,提出一種基于動態特征模板匹配的ARToolKit三維注冊方法。通過對攝像頭攝入的一幀視頻二值化處理后形成的模板圖片采用ORB算法檢測特征點;然后采用動態特征模板匹配技術進行特征模板匹配;最后計算出三維注冊矩陣來將虛擬信息疊加到現實世界中。將OpenGL生成的虛擬信息疊加仿真實驗,并將該方法與ARToolKit注冊方法對比。仿真結果表明,復雜環境條件下動態模板匹配算法具有較高的實時性和標識物識別率,且基于動態特征模板匹配的ARToolKit注冊具有良好的穩定性和魯棒性。
ARToolKit ORB算法 三維注冊 特征模板匹配 標識
增強現實AR(Augmented Reality)是虛擬現實VR(Virtual Reality)的一個重要分支[1],是將計算機生成的虛擬信息疊加在真實世界中,給人以視覺增強的效果[2]。增強現實技術具有虛實結合、實時交互和三維注冊的特點[3]。三維注冊是AR系統的核心,三維注冊技術的優劣是衡量AR系統性能的重要指標。AR系統三維注冊通過特征點提取、匹配和定位等步驟,需要實時識別目標并計算出虛實注冊矩陣[4]。目前三維注冊方法包括基于標識(marker)的注冊、基于自然紋理特征(markerless)的注冊[5]以及基于標識與自然紋理的注冊[6]。
基于標識的注冊對放入真實場景中的標識利用計算機視覺方法識別,并計算出攝像機與標識位置關系進行三維定位。目前對ARToolKit的研究與應用很廣泛[7],例如胡穎群等將ARToolKit利用與商品展示中,提出基于ARToolKit的三維虛擬商品展示系統設計與實現[8];謝敏等提出基于ARToolKit場景變化增強現實的研究,在場景發生變化時實現對現實的增強[9];王輝柏提出一種增強現實中基于ARToolKit的新的交互方法且實現了多標識跟蹤[10]。徐敏等將ARTooIKit應用于教學中,提出基于ARTooIKit的增強現實課件的設計與制作[11]。但ARToolKit注冊很依賴標識,當標識放置于復雜環境中會導致注冊不成功。
目前主流的特征模板匹配方法是基于特征的匹配算法,但特征檢測時存在某些參數不定、計算復雜度高以及閾值選取等問題[12]。自然特征檢測算法主要有SIFT、SURF等[3]。這類算法的判別能力強,但存在算法復雜度高、占用內存以及特征點匹配耗時等問題,導致三維注冊算法實時性以及穩定性差。2011年Rublee等在ICCV上提出ORB(Oriented FAST and Rotated BRIEF)算法[13],該算法在特征檢測速度上相比SIFT、SURF等算法有極大提升。因此,本文采用ORB算法進行特征檢測。
針對上述問題,本文提出基于動態模板匹配的ARToolKit三維注冊方法。通過采用實時性較高的ORB特征檢測算法且模板匹配時采用實時性及識別率較高的動態模板匹配算法,并對ARToolKit的二次開發,抑制了標識易受光照、遮擋以及旋轉變換的影響,提高了AR系統的實時性、穩定性以及魯棒性。
1.1 特征模板匹配技術
特征模版匹配技術是指根據識別的模板圖像在計算機已存儲的模版圖中搜索與之相對應的特征模板,即通過計算相關函數來找到自身被搜索圖的坐標。如圖1所示,在搜索圖S上特征模板T(m×n像素)平移,T圖中左上角像點在S圖中的坐標為i,j,Si,j(1≤i,j≤n-m+1)為模板T覆蓋下的那塊搜索圖。

圖1 標準模板匹配過程
若T和Si,j內容一致,則兩者之差為0。其測量方法為:
(1)
通常基于灰度值的特征模板匹配算法識別標識物時存在計算量大且復雜度高等問題,但是特征模板匹配算法具有匹配精度高、簡單易行等優勢[14]。
1.2 ARToolKit
日本廣島城市大學與美國華盛頓大學聯合開發的基于C和C++開發包ARToolKit能在不同平臺運行,其精確及實時注冊能夠非常方便地開發AR系統[7]。
1.2.1 ARToolKit工作流程
ARTooliKt工作流程如圖2所示。首先設定閾值θ對彩色圖像二值化處理后并提取標識輪廓,然后找到攝像機相對于標識的位置和方向,隨后對候選區域與已存儲的模板匹配,若匹配成功,則確定標識ID后利用該標識區域變換來計算攝像機相對于標識的位置和方向,最后依據注冊矩陣完成虛擬信息疊加。

圖2 ARToolKit工作流程
1.2.2 ARToolKit體系結構圖
ARToolKit主要由AR.lib、ARgsub.lib和ARvideo.lib三個模塊組成。AR模塊為核心部分,提供圖像處理、標識目標識別、訪問攝像頭及完成三維注冊等例程。ARgsub模塊主要包括ARToolKit顯示和三維場景渲染函數,利用GLUT提供窗口系統,且利用OpenGL實時三維渲染。ARvideo模塊主要是對各個操作系統視頻處理庫的封裝,ARToolKit的體系結構如圖3所示。

圖3 ARToolKit體系結構
1.2.3 ARToolKit坐標系及轉換關系
標識坐標系O-XYZ、顯示器坐標系UV和攝像機坐標系O-XCYCZC之間的關系如圖4所示,且XP(u,v)為UV坐標系中標識上任一點的投影。由于攝像機畸變較小,則標識上任一點在顯示器屏幕上的投影也可以采用透視投影方式[15]。標識上任意一點P(X,Y,Z)與投影點XP(u,v)之間坐標變換關系如式(2)。
(2)
其中sx、sy是尺度因子;f是攝像機焦距;u0、v0是所得圖像重心的坐標。由以上坐標系系統和投影變換關系可得:
[xc,yc,1]T=λCTm[Xm,Ym,Zm,1]T=
λC[R1,R2,R3,T][Xm,Ym,Zm,1]T
(3)
其中,[Xm,Ym,Zm]為點X在標識坐標系下的坐標,[xc,yc]為點X在理想屏幕坐標系下的坐標,Tm為注冊矩陣,C為未知攝像頭內部參數矩陣。

圖4 ARToolKit坐標系定義
AR系統先通過讀取模板圖片,并計算出模板的特征點并存儲;然后對攝入的一幀圖像二值化處理后,采用ORB算法進行特征檢測;隨后采用動態特征模板匹配技術計算出與模板圖像匹配的圖像區域并計算出所需疊加虛擬信息的注冊矩陣,以及對攝入幀圖像從RGB轉為GRBA;最后將虛擬信息疊加到標識上去完成注冊。基于動態特征模板匹配的ARToolKit三維注冊技術具體流程如圖5所示。

圖5 特征點結合自然紋理的注冊流程
2.1 圖像預處理
2.1.1 模板圖片特征提取
只有完成模板圖片特征點的提取,才可將模板圖片特征點與攝像頭實時采集圖像特征點進行匹配。采用cvLoadImage()函數以灰度值的形式讀入模板圖片,然后用cv-ORBParams()函數設定ORB算法的初始參數,隨后用cvEx-tractORB()提取模板圖片的ORB特征。
2.1.2 攝像頭參數
使用OpenCV2.4.10函數庫打開攝像頭并捕捉圖像流來實現對現實的增強。采用cvCreateCameraCapture()函數讀取攝像頭圖像,并將其內容的變量地址返回一個cvCapture*類型的變量。cvCapture結構的指針為cvQueryFrame()函數的參數。用來將下一幀視頻文件載入內存,并返回一個對應當前幀的指針。關鍵代碼如下:
初始化部分:
cv Capture*m_Video;
Ip1 Image*new Frame;
if (! m_Video)
m_Video=cv Create Camera Capture(0);
if (! m_Video)
{
printf(″攝像頭無法打開!″);
retum 0;
}
循環部分:
static void main Loop(void){
new Frame=cv Query Frame(m_Video);
//……
}
2.1.3 灰度化處理及被識別圖片的特征檢測
由于OpenCV中ORB特征檢測的函數是對灰度圖操作,在提取特征點之前對原始圖像進行灰度化處理。灰度圖是將一張由R(Red)、G(Green)和B(Blue)三分量組成的RGB圖像轉換成亮度值介于0~255之間的灰色,且255為白色,0為黑色。灰度值T與RGB間的關系為:
T=0.299R+0.587G+0.114B
(4)
OpenCV中的cvCvtColor()函數按式(7)將RGB圖像轉為灰度圖。并采用cvExtractORB()函數提取被識別圖片特征點。
2.2 動態特征模板匹配技術
在標識物識別時基于灰度的模板匹配算法存在算法復雜度高的問題,但模板匹配算法具有匹配精度高、簡單易行的優點。增強現實應用中,攝像頭是在移動過程中進行目標搜索,若繼續通過計算機存儲的特征模板進行匹配容易導致標識搜索失敗。因此,本文在注冊過程中動態生成標識模板作為特征模板后與預處理視頻圖像匹配。具體流程如圖6所示。

圖6 動態特征模板匹配流程
動態特征模板匹配的具體步驟為:
Step1 圖像預處理:對攝像頭采集到的圖像采用背景先驗的顯著性檢測方法預處理,得到一張灰度的顯著性圖像,若某區域灰度值小于給定閾值θ,則這部分為該排除的干擾區域,否則將這部分作為候選區域。
Step2 動態特征模板生成:選定標識物,并對標識物圖像進行灰度化、對比度拉伸、二值化、去噪、圖像平滑等處理,然后將處理后的圖像拉伸為顯著性圖像中候選區域的長寬比例,然后采用ORB算法提取特征點后作為動態特征模板。
Step3 動態特征模板匹配:采用Hamming距離匹配算法從顯著性圖像[16]中選擇出相似度最高的區域,若相似度大于閾值λ,則設該區域為標識所在區域;若沒發現標識物則改變攝像頭視角繼續標識物搜索。動態特征模板匹配的相似度量為:

(5)
其中,模板中個點的灰度值為t(μ,v),搜索圖像中特征模板ORB算子的灰度值為f(x+μ,y+v)。
2.3 求解注冊矩陣并完成注冊

在完成注冊矩陣的求解之后,由于ARToolkit使用的是RGBA四通道圖像,則要將OpenCV采用RGB三通道圖像轉換為RGBA圖像。首先采用cvSplit()函數將圖像劃分為R、G、B三通道,其次創建A通道后用cvMerge將它們合并轉化成RGBA圖像,最后采用argDispImage()函數顯示。
最后,采用3DMax、OpenGL等三維動畫渲染和制作軟件生成虛擬信息后,可將其疊加到標識上。首先用argConvGlpara()函數將ARToolkit注冊矩陣變成虛擬信息生成軟件所使用的格式,然后用該軟件加載模型后采用argSwapBuffers()函數將緩沖區圖像顯示出來。
3.1 實驗軟硬件平臺
本文采用真實拍攝圖像在Windows 7操作系統的惠普PC機上實驗。具體仿真實驗軟硬件平臺如表1所示。

表1 實驗平臺
3.2 注冊實驗結果
將OpenGL生成的虛擬立方體在VS平臺下仿真實驗,并與ARToolKit注冊方法比較,如圖7為初始實驗場景,對patthiro標識物采用ORB算法特征檢測(閾值θ=9)的結果如圖8所示。

圖7 初始實驗場景 圖8 ORB特征檢測結果
首先在光照變換情況下仿真實驗,在光照正常、強光以及弱光的條件下采用本文方法和ARToolKit方法注冊的結果分別如圖9和圖10所示,可見本文算法在強光和弱光時可完成注冊而ARToolKit方法則不能。其次在標識物遮擋時本文算法和ARToolKit方法的實驗結果分別如圖11和圖12所示,可見本文方法在標識物遮擋時仍可正常完成注冊。最后在標識物旋轉變換時本文算法和ARToolKit方法的注冊結果分別如圖13和圖14所示,可見在標識物凹進去、凸出來以及遠距離旋轉變換時本文方法可正常完成注冊。

圖9 本文算法光照變化注冊結果

圖10 ARToolKit光照變化注冊結果

圖11 本文算法遮擋注冊結果

圖12 ARToolKit遮擋注冊結果

圖13 本文算法標識旋轉變換注冊結果

圖14 ARToolKit標識旋轉變換注冊結果
3.3 模板匹配算法評價
選取處于不同光照,標識被遮擋以及角度下的50幀拍攝的圖像進行標識物識別,單模板匹配、但顯著性檢測以及動態模板匹配的識別效果如表2所示。可見單模板匹配識別效率較低,單顯著性檢測速度較快但是識別率較低,但動態特征模板匹配算法不僅具有單模板匹配識別率高的優點而且具有單顯著性檢測速率高優點,該方法在實時性和識別率方面表現都較好。

表2 模板匹配算法比較結果
從表2可以看出,雖然動態模板匹配算法的識別率和識別速率分別為93%和24幀/s,但由于受到客觀因素的影響,可認為動態模板匹配算法誤差在合理范圍之內,本文算法具有一定的實用性。
3.4 注冊穩定性和魯棒性分析
為了測試本文注冊方法的穩定性和魯棒性,在場景中放入patthiro標識進行仿真實驗,并將本文注冊方法與ARToolKit注冊方法進行比對。在對場景進行注冊的過程中,分別沿著x軸與y軸移動標識,同時分別在80~110幀和100~120幀之間加入遮擋和光照變化,并在此過程中記錄攝像頭相對位移的變化量。在平移過程中加入光照和遮擋時測得的對位置變量的估計結果如圖15所示。為測試本文注冊方法對旋轉不變性的魯棒性,在場景中圍繞中心軸對標識旋轉運動,統計數據結果如圖16所示。

圖15 平移過程中加入光照和遮擋時測得的變化量

圖16 圍繞任一中心軸旋轉時測得的弧度變化
從圖11可以看出,在發生光照和遮擋變化時,本文算法仍然能夠對位置進行穩定估計,從而成功完成注冊,而ARToolKit算法此時已無法完成注冊。從圖12可以看出,本文注冊算法具備旋轉不變性。因此,基于動態特征模板匹配的ARToolKit三維注冊方法在光照、遮擋和旋轉變化等復雜條件下具有較好的穩定性和魯棒性。
本文提出一種基于動態特征模板匹配的ARToolKit增強現實三維注冊方法。不僅解決了基于ARToolkit三維注冊易受外界環境的影響,而且采用快速的ORB算法進行檢測特征提高了AR系統實時性,同時采用動態模板匹配算法不僅提高了標識識別準確率,而且提高了識別速率。仿真結果表明,基于動態模板匹配的ARToolKit注冊方法有效地提高了AR系統的實時性、穩定性以及魯棒性。下一步擬對移動增強現實系統進行研究,并將該注冊方法移植Android系統。
[1] Harry E Pence.Smartphones,Smart Objects,and Augmented Reality[J].Reference Librarian,2011,52(1):136-145.
[2] Haydar M,Roussel D,Ma?di M,et al.Virtual and augmented reality for cultural computing and heritage:a case study of virtual exploration of underwater archaeological sites (preprint)[J].Virtual Reality,2011,15(4):311-327.
[3] 李炎,尹東.基于TLD的增強現實跟蹤注冊方法[J].系統仿真學報,2014,26(9):2062-2067.
[4] Tomohiro Fukuda,Tian Zhang,Nobuyoshi Yabuki,et al.Improvement of registration accuracy of a handheld augmented reality system for urban landscape simulation[J].Frontiers of Architectural Research,2014,3(4):386-397.
[5] Nguyen T T,Jung H,Lee D Y.Markerless tracking for augmented reality for image-guided Endoscopic Retrograde Cholangiopancreatography[C]// Conference: International Conference of the IEEE Engineering in Medicine & Biology Society IEEE Engineering in Medicine & Biology Society Conference. Conf Proc IEEE Eng Med Biol Soc,2013:7364-7367.
[6] 李旭東.基于特征點的增強現實三維注冊算法研究[D].天津大學,2008.
[7] Alan B dos S,Juliel B D,Adriano B.ARToolkit and Qualcomm Vuforia:An Analytical Collation[C]//2016 XVIII Symposium on Virtual and Augmented Reality (SVR).IEEE,2016:229-233.
[8] 胡穎群,尹長青.基于ARToolKit的三維虛擬商品展示系統設計與實現[J].計算機應用與軟件,2012,29(8):259-261.
[9] 謝敏,徐榮青,何利榮.基于ARToolKit場景變化的增強現實的研究[J].微電子學與計算機,2015,32(3):113-116.
[10] Wang H,Qin J,Zhang F.A new interaction method for augmented reality based on ARToolKit[C]//International Congress on Image and Signal Processing.IEEE,2015.
[11] 徐敏,童強,陳棟才,等.基于ARTooIKit的增強現實課件的設計與制作[J].現代計算機:專業版,2015(17).
[12] 徐珩.基于模板匹配跟蹤算法的研究與改進[D].昆明理工大學,2015.
[13] Rublee E,Rabaud V,Konolige K,et al.ORB:An efficient alternative to SIFT or SURF[C]//International Conference on Computer Vision.IEEE Computer Society,2011:2564-2571.
[14] Delalandre M,Iwata M,Kise K.Fast and Optimal Binary Template Matching Application to Manga Copyright Protection[C]//Iapr International Workshop on Document Analysis Systems,2014:298-303.
[15] 陳鵬,管濤.基于仿射重投影的增強現實三維注冊方法[J].計算機輔助設計與圖形學學報,2010,22(3):480-486.
[16] Chen T,Lin L,Liu L,et al.DISC:Deep Image Saliency Computing via Progressive Representation Learning[J].IEEE Transactions on Neural Networks & Learning Systems,2016,27(6):1135-1149.
ARTOOLKIT 3D REGISTRATION BASED ON DYNAMIC FEATURE TEMPLATE MATCHING
Lei Xiaomei Wu Zhongdong*Yong Jiu Jia Xiaohong
(CollegeofElectronicandInformationEngineering,LanzhouJiaotongUniversity,Lanzhou730070,Gansu,China)
Aiming at the effect of ARToolKit 3D registration on illumination, occlusion and rotation, this paper presents an ARToolKit 3D registration method based on dynamic feature template matching. First, the template image formed by the binary processing of one frame of video taken by the camera adopts the ORB algorithm to detect the feature points. Then, the dynamic feature template matching technology is used to match the feature templates. Finally, the 3D registration matrix is calculated to superimpose the virtual information into the real world. The virtual information generated by OpenGL is superimposed and simulated, and compare this method with the ARToolKit registration method. The simulation results show that the dynamic template matching algorithm has high real-time and marker recognition rate under the condition of complex environment, and the ARToolKit registration based on the dynamic feature template matching has good stability and robustness.
ARToolKit ORB algorithm 3D registration Feature template matching Marker
2016-07-18。國家自然科學基金項目(61162016,61562057);甘肅省高校基本科研業務費基金項目(213056)。雷曉妹,碩士生,主研領域:增強現實,密碼學。伍忠東,教授。雍玖,碩士生。加小紅,碩士生。
TP391.9
A
10.3969/j.issn.1000-386x.2017.07.020