雍 玖,王陽萍,黨建武,雷曉妹
1.蘭州交通大學 計算機科學與技術國家級實驗教學示范中心,蘭州 730070
2.蘭州交通大學 軌道交通信息與控制國家級虛擬仿真實驗教學中心,蘭州 730070
3.甘肅省氣象信息與技術裝備保障中心,蘭州 730020
增強現(xiàn)實(Augmented Reality,AR)系統(tǒng)將虛擬世界的信息與真實世界相互疊加融合,使得AR技術已快速應用于工業(yè)、醫(yī)療、教育、旅游等領域[1]。例如Pavel等人[2]將AR 技術應用于工業(yè)中,來提高生產(chǎn)的效率并降低生產(chǎn)的誤差;Madhu 等人[3]將AR 技術應用于無人機中,使得展現(xiàn)內(nèi)容更加豐富。在增強現(xiàn)實系統(tǒng)實現(xiàn)過程中如何將虛擬信息準確無誤、實時坐標轉化、疊加顯示的三維注冊技術與AR 系統(tǒng)的性能和魯棒性有直接關系,是AR 系統(tǒng)是否注冊成功的關鍵點和難點[4]。目前AR系統(tǒng)實現(xiàn)虛擬信息與真實世界的疊加融合主要為基于視覺的三維跟蹤注冊方法[5-6],該策略注冊方法首先通過目標跟蹤算法對待注冊位置進行實時準確的跟蹤,然后利用特征提取算法提取出對待注冊位置的特征點,隨后依據(jù)計算機中村村的特征點模板與待注冊位置檢測的特征點進行匹配進行三維跟蹤注冊矩陣的求解,最后根據(jù)計算出的三維注冊矩陣完成虛擬物體的疊加,實現(xiàn)對真實世界的增強[7]。因此,AR系統(tǒng)三維跟蹤注冊的重點及難點是對待注冊位置穩(wěn)定的跟蹤和特征檢測,同時在AR系統(tǒng)進行三維跟蹤注冊過程中需要克服影響注冊效果的待注冊目標位置尺度變化、旋轉、長時跟蹤等復雜環(huán)境。
目前,在計算機視覺目標跟蹤領域,在對目標區(qū)域長時跟蹤時容易發(fā)生尺度變化、長時跟蹤等復雜環(huán)境下,對于AR系統(tǒng)三維跟蹤注冊時能夠實時準確的實現(xiàn)對待注冊位置的跟蹤具有一定的難度[5-6]。近年來以相關濾波為代表的目標跟蹤算法的研究發(fā)展迅速[8],該類算法可通過尋找最大響應確定AR系統(tǒng)待注冊的中心位置,在對待注冊目標位置跟蹤時速度性能表現(xiàn)優(yōu)異,但是相關濾波類目標跟蹤方法在對AR系統(tǒng)待注冊位置發(fā)生快速尺度變化和運動時其效果不太理想,并且相關濾波類算法更加注重短期(如100~500 幀)跟蹤結果的準確度,而AR系統(tǒng)三維注冊實際工作中通常需要做到對目標的長期跟蹤(如幾分鐘或十幾分鐘),其相比短期跟蹤,長期跟蹤更容易受目標形變、目標消失重現(xiàn)以及跟蹤速率的影響[9]。針對長時跟蹤問題,Kalal 等人[10-11]于2011 年提出了跟蹤-學習-檢測結合的TLD(Tracking-Learning-Detection)長時跟蹤算法,該算法將學習模塊的目標特征分類器進行更新,同時其分模塊的跟蹤策略使得TLD 算法在復雜條件下的跟蹤具有較好的效果[12],但TLD跟蹤算法跟蹤實時性表現(xiàn)較差,并且在目標形變較大和消失重檢測的情況下效果欠佳。2015年,Ma等人[13]結合目標上下文關系及尺度變換提出了相關濾波類LCT 長時跟蹤算法,但是該算法對目標遮擋和出視野等復雜情況下跟蹤精度不理想,導致AR系統(tǒng)的穩(wěn)定性和魯棒性較差。而對跟蹤的待注冊位置進行特征點提取時,常用的特征提取算法主要有SIFT(Scale Invariant Feature Transform)算法[14]、SURF(Speeded Up Robust Features)算法[15]以及ORB(Oriented FAST and Rotated BRIEF)算法等[16-17]。ORB 特征點提取算法相比SIFT 算法、SURF 算法在檢測實時性方面有較大提升,因此本文采用ORB 算法進行待注冊區(qū)域特征檢測[18]。
針對上述問題,本文基于改進TLD 算法對待注冊位置進行長時跟蹤,通過改進TLD算法跟蹤器、檢測器及學習器,利用待注冊區(qū)域可動態(tài)自適應調(diào)整跟蹤檢測策略,并通過縮小各目標的檢測器檢測范圍,排除畫面內(nèi)相似目標干擾的同時有效提高對AR系統(tǒng)待注冊區(qū)域的跟蹤速度;然后采用ORB 算法對跟蹤的待注冊位置進行特征點提取,并與計算機存儲的特征點模板進行匹配計算三維注冊矩陣,實現(xiàn)AR系統(tǒng)的構建。
TLD長時跟蹤算法主要框架有跟蹤器、學習器以及檢測器3個模塊組成,如圖1所示TLD算法中跟蹤器通過對待注冊位置的狀態(tài)來判別視頻序列每一幀的狀態(tài);檢測器通過對之前待注冊區(qū)域的分析來對跟蹤器進行糾正;學習器利用待注冊位置的變化預測構建待注冊目標位置模板庫,并更新檢測器和跟蹤器[10-11]。
圖1 TLD長時跟蹤算法架構
雖然TLD 算法半監(jiān)督學習的架構使其對AR 系統(tǒng)待注冊位置進行長時跟蹤時效果較為理想,但其跟蹤、檢測、學習的模式使得算法復雜度較高,并且在待注冊目標位置發(fā)生形變、消失時其檢測精度仍不太理想。
在對待注冊區(qū)域進行長時跟蹤時,可通過對檢測器檢測區(qū)域的縮小來減少影響跟蹤實時性的噪聲待注冊位置,具體如圖2所示。圖2(a)中檢測器只對與檢測區(qū)域有關聯(lián)的矩形框內(nèi)的待注冊位置目標進行處理,進而使得檢測器檢測時間大大減少。為了實時準確地得到檢測區(qū)域,對圖2(b)根據(jù)檢測器預測出一個較大范圍的待注冊區(qū)域,使得待注冊區(qū)域一直在檢測區(qū)域內(nèi)。
圖2 AR系統(tǒng)待注冊區(qū)域跟蹤檢測動態(tài)調(diào)整原理
圖3 改進TLD跟蹤及ORB檢測的注冊流程
改進TLD 與ORB 的AR 系統(tǒng)長時跟蹤注冊方法具體流程如圖3所示,首先對獲取的視頻預處理后通過利用待注冊區(qū)域動態(tài)自適應調(diào)整跟蹤檢測策略,根據(jù)預測的待注冊位置可能的范圍縮小,實現(xiàn)對待注冊目標位置的長時跟蹤精度和速度的提升;然后采用ORB 算法實時提取特征點,隨后通過特征匹配來計算三維注冊矩陣;最后將待注冊位置與OpenGL生成的虛擬物體注冊來完成對現(xiàn)實世界的增強。
針對TLD算法跟蹤實時性和準確度效果不理想問題,基于待注冊區(qū)域檢測動態(tài)調(diào)整的策略,并建立長時待注冊區(qū)域跟蹤目標模板庫,然后基于中值光流法對待注冊區(qū)域位置跟蹤,使得長時跟蹤算法TLD 能夠實時準確的對待注冊區(qū)域進行跟蹤。
改進TLD長時待注冊區(qū)域跟蹤算法的具體流程為:
步驟1跟蹤器通過上一幀的狀態(tài)預測輸入視頻幀的狀態(tài),第k幀第一次預測估計協(xié)方差方程為Pk0|k-1=,其中,單位陣為In,第k?1 幀最優(yōu)預測協(xié)方差矩陣為Pk-1|k-1,狀態(tài)向量在第k幀時刻的協(xié)方差矩陣為Qk0,第k幀第一次預測狀態(tài)為,其中第k?1 幀的最優(yōu)化預測狀態(tài)為
步驟2完成步驟1之后,對整個跟蹤系統(tǒng)基于TLD算法學習器觀測矩陣計算第一次預測更新的最優(yōu)卡爾曼增益為kk0=Pk0|k-1HT(HPk0|k-1HT+Rk0)-1,第一次協(xié)方差估計矩陣Pk0|k0=(I-Kk0H)Pk0|k-1,第 一 次 最 優(yōu) 預 測 狀 態(tài),若觀測向量記為zk,使得第一次觀測余量,則觀測向量為(lx,ly,vx,vy)T,其中橫坐標lx的速度為vx,縱坐標ly的速度為vy。
步驟3完成步驟1后,利用學習器進行二次矯正預測,由于要利用加速度對預測位置矯正,則控制矩陣,狀 態(tài) 預 測 量,矯正預測控制變量為G(xk0|k0-xk-1|k-1) ,而二次預測協(xié)方差矩陣為Pk|k0=
步驟4最后求解最優(yōu)預測向量,更新最終估計矩陣Pk|k=(I-Kk H)Pk|k0,并基于檢測器和動態(tài)調(diào)整策略計算矩形的檢測區(qū)域中心預測位置,其在k時刻的寬為,長為。其中,在第k時刻在縱坐標最優(yōu)速度的加速度為,橫坐標最優(yōu)速度的加速度為。
因此,利用卡爾曼濾波和前一幀待注冊目標位置預測出目標在當前幀的位置和坐標后確定檢測區(qū)域的中心位置,然后基于學習器預測待注冊位置的變化預測檢測區(qū)域及其子窗口,最后根據(jù)跟蹤器判斷對AR系統(tǒng)待注冊位置的跟蹤是否成功,若不成功則在檢測區(qū)域外進行檢測。
為了使得AR系統(tǒng)能夠在待注冊位置進行虛擬信息的疊加,需要提取待注冊位置的特征點,通過利用實時性表現(xiàn)較好、具備FAST 特征算法以及旋轉不變性[19]的ORB算法進行特征檢測。如圖4所示p為圓心,半徑為r的圓周上存在聯(lián)系的像素Ik,利用式(1)可判斷像素點p是否為角點:
其中,給定閾值t"=12,像素點p的灰度值為Ip。
圖4 FAST特征點檢測
通過引入尺度特性和灰度質心法[20]使提取的特征點具有方向。而ORB算法定義高斯核平滑處理后圖像塊p的二進制比較準則τ:
其中,p在像素點x=(u,v)處的灰度值為p(x),在y處的灰度值為p(y),同時選擇n取值為128、256、512 的(x,y)像素位置對,則有:
完成對待注冊目標位置的跟蹤和特征檢測后,需通過目標位置與虛擬信息的特征匹配來計算出三維投影矩陣間的關系,即三維注冊矩陣,然后根據(jù)三維注冊矩陣構造AR 系統(tǒng)。采用值越小表示相似度越高的Hamming距離來衡量匹配程度:
其中,Ham為兩個算子的Hamming 距離,兩個算子在第i位的值為ai和bi。此外,采用PERANSAC 算法[21]選擇匹配點,而對于三維注冊矩陣的計算,需確定攝像頭、虛擬信息、真實場景三者之間的三維坐標、相互轉換關系以及映射位置,進而得出變換矩陣,則存在坐標關系為:
其中,dx為像素在x軸的尺寸,dy為像素在y軸上的尺寸,(a0,b0)為u-v坐標系原點。采用平移向量M和旋轉矩陣N表達相機與世界坐標系關系,則存在:
其中,4×4 的矩陣為R,3×3 的旋轉矩陣為N。任一點P(Xc,Yc,Zc)的投影位置為,則有:
其中,F(xiàn)表示焦距。
通過上述變換關系可得點P 的世界坐標與投影坐標之間的對應關系為:
其中,ax=F/dx,ay=F/dy,T是3×4 的投影矩陣,u軸和v軸上的尺度因子為ax、ay。
在完成坐標系轉換之后,可計算攝像頭、虛擬信息、真實場景三者之間關系參數(shù)[7],進而實現(xiàn)對虛擬信息的疊加,在真實世界上查看完成虛擬信息的疊加后的場景。
通過選取出視覺跟蹤基準數(shù)據(jù)集[22]中超過3 000幀的2 組視頻序列數(shù)據(jù)(Car24、Doll),在表1 所示的軟硬件平臺下實驗,并將TLD 算法與改進TLD 算法在跟蹤精確度和效率進行方面比較,然后利用ORB 算法對待注冊目標位置進行特征檢測,最后通過檢測特征點和計算機存儲特征模板匹配實現(xiàn)AR系統(tǒng)注冊。
表1 實驗軟硬件平臺
在長時序列以及光照變化、尺度變化、內(nèi)外旋轉以及背景雜波等復雜環(huán)境下,對選取Car24和Doll兩組視頻序列仿真實驗。
3.1.1 復雜環(huán)境下的跟蹤結果
對選取的Car24 和Doll 數(shù)據(jù)視頻做序列實驗。表2 為視頻序列的主要挑戰(zhàn)以及幀數(shù),其中Car24 長時數(shù)據(jù)序列的主要挑戰(zhàn)為光照、尺度變化、背景雜波,Doll 長時數(shù)據(jù)序列的主要挑戰(zhàn)為尺度變化、內(nèi)旋轉、外旋轉。
表2 實驗中的測試視頻序列
對表1所示的2組數(shù)據(jù)在500幀、1 000幀、1 500幀、2 000 幀、2 500 幀、3 000 幀的長時跟蹤結果。實驗結果如圖5 所示,圖5 中對待注冊目標位置跟蹤在長序列中TLD 算法和改進TLD 算法表現(xiàn)均較好,但是改進TLD算法紅色跟蹤框在Car24數(shù)據(jù)集1 500幀以及Doll數(shù)據(jù)集2 500 幀和3 000 幀時相比TLD 算法,由于采用待注冊區(qū)域動態(tài)自適應調(diào)整跟蹤檢測策略有更優(yōu)秀的辨別處理能力,而TLD 算法可明顯地看出跟蹤的待注冊位置不準確,移出了目標位置,這主要是對TLD檢測器利用檢測區(qū)域動態(tài)自適應調(diào)整的方法進行了待注冊區(qū)域長時跟蹤優(yōu)化,并利用中值光流法跟蹤器以及多模板庫P-N學習器的跟蹤學習,提高含有相似目標復雜背景下待注冊區(qū)域目標跟蹤的精確度。
3.1.2 改進TLD算法的評估及分析
對改進TLD 算法的定量分析是OPE(One-Pass Evaluation)一次初始化來進行的,并且本文精確度和效率的相關定義為:
圖5 目標跟蹤實驗結果
(1)待注冊位置跟蹤精確度。采用準確位置與AR系統(tǒng)待注冊中心位置之間的平均歐氏距離,本文中精確度為預測位置在給定準確值的閾值θ內(nèi)的幀數(shù)占總幀數(shù)的比值,其中錯誤閾值θ=20px[22]。如圖6 所示為精確度評價結果,其中實線表示改進TLD 算法跟蹤精確度,虛線表示TLD 算法跟蹤精確度,Car24 和Doll 數(shù)據(jù)視頻序列采用TLD算法和改進TLD算法的平均精確度分別約為91%和86%。
圖6 改進TLD算法和TLD算法的OPE精確度結果
(2)待注冊位置跟蹤效率。對采用的2 組數(shù)據(jù),改進TLD算法和TLD算法平均運行速度在OPE的運行結果如圖7 所示,其中紅色表示改進TLD 算法跟蹤效率,綠色表示TLD算法跟蹤效率。
圖7 改進TLD算法和TLD算法平均運行速度對比結果
如圖6和圖7所示,在對選取Car24和Doll這2組視頻序列的定量分析中,改進TLD 算法由于采用了對待注冊目標位置跟蹤動態(tài)自適應調(diào)整的策略,并排除畫面內(nèi)相似目標的干擾問題,使得改進TLD 算法相比TLD 算法在OPE精確度方面提升約5%。在速率方面,改進TLD 算法由于縮小了檢測區(qū)域,使得跟蹤速度提升約2倍??傮w來說,改進TLD算法在保持TLD算法長時跟蹤和半監(jiān)督學習優(yōu)勢的同時,具有較高的精確度和速率。
通過將目標位置分別采用ORB 算法在閾值t"=12時進行特征點檢測,然后將圖8所示的電動機三維虛擬信息疊加在現(xiàn)實世界中來達到虛實結合的目地,在顯示器上將表2 所示的2 組視頻序列顯示,并采用本文注冊方法跟蹤的目標位置疊加虛擬信息,跟蹤注冊效果如圖9所示。
圖8 電動機三維模型
如圖9 所示的實驗結果中,在對表1 所示的標準數(shù)據(jù)集中Car24和Doll這2組長時數(shù)據(jù)序列的主要挑戰(zhàn)為光照、尺度變化、背景雜波、內(nèi)旋轉、外旋轉等復雜環(huán)境下,通過定量和定性分析可知本文注冊方法均能夠實現(xiàn)對跟蹤位置的跟蹤,然后可對跟蹤的待注冊位置采用ORB 算法進行特征檢測后,實現(xiàn)待注冊位置三維虛擬信息的疊加??傮w來說,基于改進TLD 長時跟蹤及ORB 特征檢測與匹配的AR 系統(tǒng)三維注冊方法具有更加廣泛的應用場景,并且在實時性和精確度方面表現(xiàn)更優(yōu)。
圖9 增強現(xiàn)實系統(tǒng)三維注冊效果
為了能夠實現(xiàn)對AR系統(tǒng)待注冊位置跟蹤目標長期跟蹤,并且能夠在待注冊區(qū)域光照變化、旋轉以及尺度變化等復雜背景情況下準確實時地疊加虛擬信息,提出改進TLD 跟蹤及ORB 檢測的增強現(xiàn)實長時注冊方法。通過改進TLD算法跟蹤器、檢測器及學習器,通過待注冊目標區(qū)域檢測可動態(tài)自適應調(diào)整策略,并通過縮小檢測器檢測范圍,利用檢測器排除噪聲待注冊位置干擾,降低待注冊目標位置長時跟蹤的時間;然后基于快速特征檢測ORB 算法特征點提取、匹配求解三維注冊矩陣實現(xiàn)對虛擬信息與現(xiàn)實世界的疊加融合。實驗結果表明,改進TLD 算法精確度提高約5%,速率提高約2 倍,ORB 算法能夠實時準確地檢測待注冊區(qū)域特征點,使得AR系統(tǒng)能夠實時準確地進行跟蹤注冊。下一步,擬對基于網(wǎng)絡的分布式AR系統(tǒng)進行研究。