高智 虞錦東 劉嘉敏
摘 要:目前移動增強(qiáng)現(xiàn)實(shí)系統(tǒng),由于采用閾值法進(jìn)行圖像分割,當(dāng)標(biāo)識位置發(fā)生變化時(shí),不能較好的實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí);針對這一問題,根據(jù)系統(tǒng)的魯棒性,能夠確定視頻幀中的點(diǎn)對之間的關(guān)系不變,通過提取特征點(diǎn)對方法進(jìn)行圖像分割,進(jìn)而實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)。結(jié)果表明該方法在標(biāo)識位置變動時(shí),系統(tǒng)仍能很好實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí),驗(yàn)證了該方法的有效性與實(shí)時(shí)性,提高了增強(qiáng)現(xiàn)實(shí)系統(tǒng)的整體性能。
關(guān)鍵詞:增強(qiáng)現(xiàn)實(shí);魯棒性;特征點(diǎn)對
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A
1 引言(Introduction)
增強(qiáng)現(xiàn)實(shí)(Augmented Reality,簡稱AR)是一種將計(jì)算機(jī)生成的虛擬信息疊加到真實(shí)環(huán)境中,實(shí)現(xiàn)虛擬和現(xiàn)實(shí)的融合,達(dá)到增強(qiáng)現(xiàn)實(shí)環(huán)境效果的技術(shù)[1]。隨著移動平臺可用性能的提升,增強(qiáng)現(xiàn)實(shí)技術(shù)在終端平臺上得到了很大的發(fā)展[2]。AndAR是基于非常流行的ARToolKitPlus跟蹤器的增強(qiáng)現(xiàn)實(shí)框架[3]。其提供了面向?qū)ο蟮募僇ava API,隱藏了所有的本地庫調(diào)用。移動端一般采用基于人工標(biāo)識實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí),而標(biāo)識識別中圖像分割[4]對增強(qiáng)現(xiàn)實(shí)效果有決定的作用。目前在PC端通過ARToolKit結(jié)合其他工具開發(fā)增強(qiáng)現(xiàn)實(shí)系統(tǒng),文獻(xiàn)5利用ARToolKit設(shè)計(jì)一套能夠?qū)崟r(shí)展現(xiàn)三維物體的系統(tǒng),開發(fā)過程中通過閾值實(shí)現(xiàn)圖像分割,所以系統(tǒng)的實(shí)時(shí)性較好,但不能適應(yīng)場景的較大變化。文獻(xiàn)6中采用了一種基于計(jì)算機(jī)視覺的算法,檢測查找相關(guān)的標(biāo)識和特征點(diǎn),然后得到模型視圖矩陣,此方法在實(shí)時(shí)性、穩(wěn)定性方面效果良好,同樣不能適應(yīng)場景的較大變化。針對以上問題,本文對實(shí)時(shí)視頻序列中的圖像采用一種全新的方法實(shí)現(xiàn)三維注冊,當(dāng)標(biāo)識位置發(fā)生變化時(shí),也能準(zhǔn)確的進(jìn)行圖像分割,提高系統(tǒng)的整體性能。
2 關(guān)鍵技術(shù)與算法(The key technique and
algorithm)
2.1 AndAR的工作原理
AndAR通過計(jì)算機(jī)來判斷是否找到標(biāo)識(標(biāo)識物一般情況下都是黑色矩形框),及在標(biāo)識識別成功后計(jì)算虛擬物體所需疊加的位置。這里標(biāo)識采用人工標(biāo)識,目前人工標(biāo)識的識別方法主要分為兩種:基于圖像模板匹配的標(biāo)識識別和基于編碼特征的標(biāo)識識別[7]?;趫D像模板匹配的標(biāo)識具有可讀性,標(biāo)識本身帶有一定的信息。程序初始化時(shí)根據(jù)用戶判斷,設(shè)定一個(gè)固定的圖像分割閾值,此分割閾值在系統(tǒng)運(yùn)行過程中保持不變,通過此閾值對采集到的每一幀圖形進(jìn)行分割,找出此幀圖像中所有的四邊形區(qū)域作為候選匹配區(qū)域,然后將每一候選區(qū)域進(jìn)行模板匹配測試,如果達(dá)到匹配成功條件,則系統(tǒng)認(rèn)為找到了一個(gè)標(biāo)識,閾值的設(shè)定直接影響分割的效果,進(jìn)而影響能否實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)。即使采用動態(tài)閾值分割圖像,當(dāng)場景發(fā)生變化時(shí),以及在噪聲的干擾下無法得到最優(yōu)的分割閾值[8]等問題,也會影響匹配結(jié)果。
2.2 基于邊緣的分割方法
在AndAR增強(qiáng)現(xiàn)實(shí)系統(tǒng)中,因?yàn)闃?biāo)識物一般情況下都是黑色矩形框,和背景的灰度有相當(dāng)大的反差,由于這種設(shè)計(jì),它在攝像機(jī)上的投影圖像一般應(yīng)該是由一個(gè)較黑的物體疊加在一個(gè)相對較白的背景上形成的,根據(jù)這種特性采用閾值分割法能夠做到系統(tǒng)的實(shí)時(shí)性,但不能適應(yīng)場景較大變化。由于進(jìn)行此方法是確定合適的閾值,進(jìn)而提取興趣區(qū)域,最終目的是根據(jù)興趣區(qū)域的特性進(jìn)而進(jìn)行圖像分割。一般通過攝像頭獲取的視頻幀,是沒有深度信息的,可以求得黑色矩形框的直線方程提取興趣區(qū)域。四條邊的直線方程y=kx+b。這樣就能提取興趣區(qū)域,由平行四邊形的特性對邊斜率相同,需求得四個(gè)點(diǎn)坐標(biāo)和兩個(gè)斜率。
為計(jì)算興趣區(qū)域的直線方程,首先對攝像頭獲取的視頻幀進(jìn)行圖像二值化處理[9],然后采用橫向掃描的方式尋找興趣點(diǎn)。經(jīng)過掃描檢測,掃描線與黑色矩形邊框的位置關(guān)系呈現(xiàn)以下四種關(guān)系如圖1所示。
圖1 掃描線和興趣邊框的關(guān)系
Fig.1 Relationship between scan
line and interest border
當(dāng)掃描線找到黑色連續(xù)的區(qū)域,能夠確定連續(xù)區(qū)域左側(cè)點(diǎn)P1坐標(biāo)(如圖1所示),以及興趣區(qū)域的寬度d1,如圖1黑色線條所示,進(jìn)行如下處理:
(1)以P1點(diǎn)為圓心,并且以為d1半徑,以旋轉(zhuǎn)方向順時(shí)針方向進(jìn)行檢測(向量起點(diǎn)P1,方向水平,長度d1)。
(2)當(dāng)檢測半徑方向上首次出現(xiàn)與興趣區(qū)域灰度不一樣的點(diǎn)P'時(shí),計(jì)算P'到P1點(diǎn)的距離d0。若d0=d1,則執(zhí)行(3)。若d0≠d1,判斷方向若為順時(shí)針則執(zhí)行(1)方向改為逆時(shí)針,否則執(zhí)行(5)。
(3)以P'為起點(diǎn)橫向進(jìn)行區(qū)域檢測到長度d',判斷若d1=d',則執(zhí)行(4)。若d1≠d',則執(zhí)行(5)。
(4)可以得到興趣區(qū)域邊緣與檢測線的角度θ,以及旋轉(zhuǎn)方向(0表示順時(shí)針反向,1表示逆時(shí)針方向)。
(5)P1點(diǎn)不是目標(biāo)點(diǎn)繼續(xù)掃描檢測。
通過以上步驟就能判斷出掃描線與疑似興趣邊框的關(guān)系,并且能確定特征區(qū)域與掃描線的姿態(tài),θ=90°則是圖1(b)、順時(shí)針方向則是圖1(c)、逆時(shí)針方向則是圖1(d)。
通過上述步驟能夠得到多個(gè)疑似興趣點(diǎn),通過角度θ相同為依據(jù)進(jìn)行點(diǎn)對分組,理想情況下出現(xiàn)一種角度θ,若出現(xiàn)多個(gè)角度θ,按照出現(xiàn)點(diǎn)個(gè)數(shù)多于一個(gè)保留其他舍棄。下面要進(jìn)行縱向點(diǎn)的選取以及對橫向點(diǎn)的取舍,如圖2所示。
圖2 特征點(diǎn)選取
Fig.2 Feature selection
選取橫向掃描線上點(diǎn)對兩點(diǎn)P1P2中心坐標(biāo)點(diǎn)P0進(jìn)行縱向掃描,進(jìn)行上述處理,若不符合說明橫向點(diǎn)對不是目標(biāo)點(diǎn)對,若符合就能得到縱向兩點(diǎn)P3P4、興趣區(qū)域的寬度d3、d4以及角度。這樣就能的到興趣區(qū)域邊緣的直線方程。進(jìn)而提取興趣區(qū)域。這樣還不能做到將所有干擾點(diǎn)對排除。由于系統(tǒng)具有魯棒性的特點(diǎn),并且通過上述步驟可以得到P1P2點(diǎn)和P3P4點(diǎn)之間的距離分別為d12、d34。興趣點(diǎn)區(qū)域的寬度與興趣點(diǎn)之間的長度之間關(guān)系隨著場景變換不變,通過這種關(guān)系能夠進(jìn)一步確定目前的到點(diǎn)對是目標(biāo)所求。通過攝像頭獲取視頻幀是平面圖像,當(dāng)場景發(fā)生變化時(shí),黑色矩形框的位置變化如圖3所示。
圖3 矩形框的位置變化示意圖
Fig.3 Rectangle position figure
通過上圖可以發(fā)現(xiàn),當(dāng)場景變化時(shí),由于系統(tǒng)具有魯棒性,圖形的變化都呈現(xiàn)規(guī)律變化。通過這種變化可以確定橫向的點(diǎn)對,關(guān)系如式(1)。
d1/d3=d12/d34 (1)
上述步驟確定的特征點(diǎn)P1(x1,y1)P2(x2,y2)P3(x3,y3)P4(x4,y4),興趣區(qū)域?qū)挾萪以及邊框與掃描線的角度θ以及方向dir。如果θ=90°,興趣區(qū)域范圍為:f(x,y)={(x,y)|x1≤x≤x2,y3≤y≤y4}。若θ≠90°,興趣區(qū)域范圍為:
3 實(shí)現(xiàn)與測試(Experimental and test)
3.1 系統(tǒng)流程
首先通過手機(jī)攝像頭獲取真實(shí)場景的視頻幀,對視頻幀進(jìn)行預(yù)處理,通過上述方法獲得特征點(diǎn),計(jì)算直線方程,根據(jù)直線方程對視頻幀進(jìn)行圖像分割,提取目標(biāo)區(qū)域與模板庫進(jìn)行匹配,若匹配不成功繼續(xù)獲取視頻幀,重復(fù)上述過程。若匹配成功,則進(jìn)行標(biāo)識的變換矩陣的計(jì)算,然后在進(jìn)行三維模型渲染[10],將虛擬物體在屏幕上顯示。系統(tǒng)流程如圖4所示。
圖4 系統(tǒng)流程圖
Fig.4 System flow chart
3.2 測試與分析
本文基于AndAR系統(tǒng)框架進(jìn)行相應(yīng)的實(shí)驗(yàn),選取移動設(shè)備中興N909,操作系統(tǒng):AndroidOS4.1,CPU配置為高通曉龍Snapdragon MSM8625Q,854×480像素。程序使用Eclipse4.3編寫,使用OpenGL ES 2.0來渲染三維虛擬模型。
圖5(a)和(b)分別為采用閾值法[11]和本文方法得到的結(jié)果,標(biāo)識正對攝像頭時(shí)都能實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)的效果。當(dāng)標(biāo)識被水平放置時(shí),以瓶子為參照;圖6(a)為采用閾值法的結(jié)果,因標(biāo)識傾斜角度將大,不能將虛擬物體注冊在標(biāo)識上。圖6(b)為采用本文方法的結(jié)果,標(biāo)識旋轉(zhuǎn)(瓶子放置在桌面,標(biāo)識和瓶子的位置表示標(biāo)識變化)仍能虛擬物體注冊在標(biāo)識上。
圖5 標(biāo)識水平時(shí)兩種方法的效果
Fig.5 The effect of two methods for marking level
圖6 標(biāo)識旋轉(zhuǎn)后兩種方法的效果
Fig.6 The effect of two methods for marking rotation
從實(shí)驗(yàn)結(jié)果可以看出,當(dāng)人工標(biāo)識相對攝像頭的位置發(fā)生較大變化,采用閾值法無法實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí);而對實(shí)時(shí)視頻幀中的圖像采用本文方法進(jìn)行圖像分割,即使場景發(fā)生變化,能夠很好的跟蹤標(biāo)識,實(shí)驗(yàn)結(jié)果表明該法在場景發(fā)生較大變化時(shí)仍能實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)且實(shí)時(shí)性較好。
4 結(jié)論(Conclusion)
本文采用AndAR開發(fā)包增強(qiáng)現(xiàn)實(shí)系統(tǒng)中采用上述方法來計(jì)算實(shí)時(shí)視頻幀的特征點(diǎn)進(jìn)行圖像分割,當(dāng)場景發(fā)生變化時(shí),再識別標(biāo)識,進(jìn)而實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí),實(shí)驗(yàn)結(jié)果表明圖像分割能隨著場景變化做出適當(dāng)提取,同時(shí)能夠滿足增強(qiáng)現(xiàn)實(shí)系統(tǒng)的實(shí)時(shí)性要求,在一定程度上提高了整個(gè)系統(tǒng)的性能。
參考文獻(xiàn)(References)
[1] 朱森良,姚遠(yuǎn),蔣云良.增強(qiáng)現(xiàn)實(shí)綜述[J].中國圖象圖形學(xué)報(bào),
2004,9(7):767-771.
[2] 周國眾.移動增強(qiáng)現(xiàn)實(shí)關(guān)鍵技術(shù)及應(yīng)用[J].測繪與空間地理信
息,2012,35(9):140-144.
[3] D Wagner,D Schmalstieg."ARTooIKitPlus for Pose Tracking
on Mobile Devices".Computer Vision Winter Workshop 2007,
Austria,F(xiàn)ebruary 6-8,2007.
[4] 孫陽光,蔡志華.一種基于局部自適應(yīng)的女書字符圖像分割算
法[J].微電子學(xué)與計(jì)算機(jī),2014,31(3):142-145;149.
[5] 胡穎群,尹長春.基于ARToolKit的三維虛擬商品展示系統(tǒng)設(shè)
計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2012,29(8):259-261.
[6] 范利君,童小念.移動增強(qiáng)現(xiàn)實(shí)中視覺三維注冊方法的實(shí)現(xiàn)
[J].數(shù)字工程,2011,39(15):138-140.
[7] GANDYM,MACINTYREB.Designer's augmented reality
toolkit,ten years later:implications for new media authoring
tools.Proceedings of the 27th annual ACM symposium on User
interface software and technology,2014.
[8] 張新明,張玉珊,李振云.一種改進(jìn)的矩不變圖像分割方法[J].
廣西師范人學(xué)學(xué)報(bào):自然科學(xué)版,2011,29(2):185-190.
[9] 馬頌德,張正友.計(jì)算機(jī)視覺——計(jì)算理論與算法基礎(chǔ).北京:
科學(xué)出版社,1998.
[10] 官酩杰.基于OpenGL ES的移動平臺圖形渲染引擎研究與
實(shí)現(xiàn)[D].北京:北京交通大學(xué),2010:1-7.
[11] 李俊峰,張志彥.基于矩不變性的閾值選擇圖像分割算法研
究[J].計(jì)算機(jī)應(yīng)用與軟件,2013,30(12):170-172.
作者簡介:
高 智(1990-),男,碩士生.研究領(lǐng)域:計(jì)算機(jī)圖形學(xué)與虛擬
現(xiàn)實(shí).
虞錦東(1993-),男,碩士生.研究領(lǐng)域:計(jì)算機(jī)圖形學(xué)與虛擬
現(xiàn)實(shí).
劉嘉敏(1964-),女,博士,副教授.研究領(lǐng)域:布局優(yōu)化,計(jì)
算機(jī)圖形學(xué)與增強(qiáng)現(xiàn)實(shí).