《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 一種基于SURF與ARToolkit的增強(qiáng)現(xiàn)實(shí)設(shè)計(jì)
一種基于SURF與ARToolkit的增強(qiáng)現(xiàn)實(shí)設(shè)計(jì)
來源:電子技術(shù)應(yīng)用2012年第10期
陳榮軍1,2, 朱雄泳2, 譚洪舟2, 陳奇彥1
1. 中山大學(xué) 南方學(xué)院, 廣東 廣州 510970; 2. 中山大學(xué) 信息科學(xué)與技術(shù)學(xué)院, 廣東 廣州510006
摘要: 為了解決旅客在國外旅游時(shí)由于語言不通,無法實(shí)時(shí)了解日常遇到的路牌、餐牌等信息的問題,基于ARToolkit和 SURF算法,提出一種設(shè)計(jì)圖文解說增強(qiáng)現(xiàn)實(shí)功能開發(fā)方法。經(jīng)過實(shí)驗(yàn)測(cè)試,成功實(shí)現(xiàn)了對(duì)名畫的圖文解說,驗(yàn)證了該方法的有效性。該方法使用方便,具有較高的應(yīng)用和推廣價(jià)值。
中圖分類號(hào): TP391.9
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)10-0116-03
Design of augmented reality based on SURF and ARToolkit
Chen Rongjun1,2,Zhu Xiongyong2, Tan Hongzhou2, Chen Qiyan1
1. Nanfang College, Sun Yat-sen University, Guangzhou 510970, China; 2. School of Information Science and Technology, Sun Yat-sen University, Guangzhou 510006, China
Abstract: In order to solve the travelers' problems when traveling abroad, that they can not understand the daily information in real time such as road signs, menus and other information, The paper proposed and designed a new development approach of explanation picture with text based augmented reality function, based on the ARToolkit and the SURF algorithm. After the experiment tests , it has realized the function explained a famous painting with text successfully and verified the effectiveness of the method which is convenient to use and has a high application and promotion of value.
Key words : SURF; ARToolkit; explanation picture with text; augmented reality

    增強(qiáng)現(xiàn)實(shí)AR(Augmented Reality)是將計(jì)算機(jī)產(chǎn)生的虛擬物體或信息與真實(shí)環(huán)境進(jìn)行融合,借以增強(qiáng)或擴(kuò)充現(xiàn)實(shí)景象的技術(shù)[1]。增強(qiáng)現(xiàn)實(shí)是虛擬現(xiàn)實(shí)技術(shù)VR(Virtual Reality) 發(fā)展的一個(gè)重要分支,也是近年來的一個(gè)研究熱點(diǎn)[2-4]。隨著科學(xué)技術(shù)的發(fā)展,增強(qiáng)現(xiàn)實(shí)技術(shù)不斷完善的同時(shí),增強(qiáng)現(xiàn)實(shí)設(shè)備的價(jià)格也在不斷下降, 推動(dòng)了增強(qiáng)現(xiàn)實(shí)技術(shù)在醫(yī)療、制造、維修、機(jī)器人動(dòng)作路徑規(guī)劃、娛樂、軍事、旅游等領(lǐng)域的發(fā)展和應(yīng)用。特別是近年來平板電腦、智能手機(jī)的迅速發(fā)展,將AR系統(tǒng)與便攜式計(jì)算機(jī)相結(jié)合,使用戶可以在戶外真實(shí)環(huán)境中隨意走動(dòng),轉(zhuǎn)換視點(diǎn),大大增加了AR的應(yīng)用范圍。

     隨著經(jīng)濟(jì)的不斷發(fā)展,出國旅游成為人們?cè)鲩L(zhǎng)自身見識(shí)、了解世界的重要方法。但由于各國使用語言和文字的不同,使游客面對(duì)旅游地很多日常的信息都無法了解,為了解決這個(gè)問題,本文提出一種利用增強(qiáng)現(xiàn)實(shí)技術(shù)實(shí)現(xiàn)圖文解說功能的方法,針對(duì)旅客經(jīng)常看見的路牌、名畫、餐牌、標(biāo)志等現(xiàn)實(shí)事物以游客熟悉的文字進(jìn)行解說,可以真正地讓游客體會(huì)到賓至如歸的感覺。
1 SURFARToolkit
1.1 OpenCV中SURF算法的相關(guān)函數(shù)

    OpenCV[5](Open Source Computer Vision Library)是一種用于數(shù)字圖像處理和計(jì)算機(jī)視覺的函數(shù)庫,由Intel微處理器研究實(shí)驗(yàn)室(Intel Microprocessor Research Lab)的視覺交互組(The Visual Inter activity Group)開發(fā)。OpenCV由一系列C函數(shù)和少量C++類構(gòu)成,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。SURF(Speeded Up Robust Features)算法是SIFT(Scale Invariant Feature Transform)算法的加速版,OpenCV的SURF算法在適中的條件下完成兩幅圖像中物體的匹配,基本實(shí)現(xiàn)了實(shí)時(shí)處理。SURF特征提取算法的流程主要包括三部分:特征點(diǎn)檢測(cè)、特征點(diǎn)描述和特征點(diǎn)匹配。
1.1.1 特征點(diǎn)檢測(cè)
    特征點(diǎn)的檢測(cè)[6]是基于尺度空間理論,使用Hessian矩陣的行列式作為判別式來尋找局部極大值。尺度為σ的圖像某點(diǎn)處的Hessian矩陣定義為:

1.1.2 特征點(diǎn)描述
  SURF特征點(diǎn)描述[6]采用Haar小波作為特征描述子,Harr特征最大的特點(diǎn)是速度快、能減少計(jì)算時(shí)間且增加魯棒性。SURF描述符的構(gòu)造分為主方向分配和生成特征向量?jī)刹糠?且都是在特征點(diǎn)所在的尺度σ上進(jìn)行的。以特征點(diǎn)為圓心,計(jì)算半徑為6σ圓內(nèi),x和y方向上的Haar小波響應(yīng)系數(shù);在60°的扇形區(qū)域內(nèi),求x和y方向上的系數(shù)之和, 以此構(gòu)建一個(gè)新向量。轉(zhuǎn)動(dòng)扇形遍歷整個(gè)圓,選擇最長(zhǎng)向量的方向?yàn)橹鞣较颉?br/>1.1.3 特征點(diǎn)匹配
  特征點(diǎn)匹配[6]就是在高維向量空間中尋找最相似的特征向量,而在大量的數(shù)據(jù)中尋找最近鄰是一個(gè)復(fù)雜繁瑣的計(jì)算過程。SURF算法在構(gòu)造特征描述符時(shí),對(duì)每個(gè)特征點(diǎn)都會(huì)添加Laplacian標(biāo)識(shí)符。由Hessian矩陣的跡的值定義,若Hessian矩陣的跡大于0,則該標(biāo)識(shí)符為1,否則為-1。該標(biāo)識(shí)符用于區(qū)分暗背景上的亮斑和亮背景上的暗斑,只有相同類型的特征點(diǎn)才能互為匹配。由此只需對(duì)相同類型數(shù)據(jù)進(jìn)行比較,既能獲得較精確的匹配結(jié)果,又降低了計(jì)算量。
    OpenCV函數(shù)庫提供了CvSURFParams()函數(shù)和cvExtractSURF()函數(shù)來實(shí)現(xiàn)SURF算法。
1.2 ARToolkit
    ARToolKit是由日本廣島城市大學(xué)與美國華盛頓大學(xué)聯(lián)合開發(fā)的增強(qiáng)現(xiàn)實(shí)系統(tǒng)二次開發(fā)工具。利用計(jì)算機(jī)視覺技術(shù)計(jì)算觀察者相對(duì)于已知標(biāo)識(shí)的位置和姿態(tài)的視點(diǎn),支持將Direct3D、OpenGL圖形和VRML場(chǎng)景合并到視頻流中,同時(shí)支持顯示器和頭盔顯示器等多種顯示設(shè)備。其實(shí)時(shí)、精確的三維注冊(cè)功能可使工程人員非常方便、快捷地開發(fā)增強(qiáng)現(xiàn)實(shí)應(yīng)用系統(tǒng)[7]。
    ARToolKit包含了跟蹤庫及其完整源代碼,開發(fā)者可以根據(jù)平臺(tái)的不同調(diào)整接口,也可以自己設(shè)計(jì)跟蹤算法代替跟蹤庫。
    ARToolKit工作流程為[8]:(1)進(jìn)行標(biāo)識(shí)檢測(cè),即根據(jù)用戶設(shè)定的閾值將攝像機(jī)采集到的一幀彩色圖像轉(zhuǎn)換成一幅二值黑白圖像; (2)對(duì)該二值圖像進(jìn)行連通域分析,找出其中所有的四邊形區(qū)域作為候選匹配區(qū)域,將每一候選區(qū)域與系統(tǒng)模板庫中的模板進(jìn)行匹配。如果匹配成功,則ARToolKit認(rèn)為找到了一個(gè)標(biāo)識(shí),利用該標(biāo)識(shí)區(qū)域的變形來計(jì)算攝像機(jī)相對(duì)于已知標(biāo)識(shí)的位置和姿態(tài);(3)根據(jù)得到的變換矩陣實(shí)現(xiàn)虛實(shí)之間的注冊(cè)。
2 圖文解說增強(qiáng)現(xiàn)實(shí)的設(shè)計(jì)
2.1設(shè)計(jì)環(huán)境

    本文所設(shè)計(jì)的圖文解說增強(qiáng)現(xiàn)實(shí)以Windows XP系統(tǒng)為平臺(tái),以VC++ 6.0為開發(fā)環(huán)境,安裝了OpenCV庫和ARToolkit二次開發(fā)包,視頻攝取采用一個(gè)支持USB2.0的CCD攝像頭。
2.2 設(shè)計(jì)流程
    圖文解說增強(qiáng)現(xiàn)實(shí)設(shè)計(jì)流程包括:讀取模板圖片、計(jì)算模板圖片的特征點(diǎn),攝像頭攝入一幀,進(jìn)行圖片灰度化,計(jì)算SUPF特征點(diǎn),求出與模版圖匹配的圖像區(qū)域,計(jì)算所要疊加模型的變換矩陣,對(duì)攝入幀RGB轉(zhuǎn)RGBA、疊加模型及顯示一幀輸出圖像。如圖1所示。

2.3 模塊設(shè)計(jì)
2.3.1計(jì)算模板圖片的特征點(diǎn)

    計(jì)算出模板圖片的特征點(diǎn)是整個(gè)流程的第一步。只有計(jì)算出這些特征點(diǎn),才可以將模板圖片的特征點(diǎn)與攝像頭實(shí)時(shí)采集的圖像的特征點(diǎn)作圖像匹配。這里用cvLoadImage函數(shù)以灰度圖的形式讀入模板圖片,用cvSURFParams函數(shù)設(shè)定SURF算法的初始參數(shù),用cvExtractSURF提取模板圖片的SURF特征。
2.3.2 攝像
    本文使用OpenCV函數(shù)庫打開攝像頭并捕捉圖像流來實(shí)現(xiàn)圖文解說。用cvCreateCameraCapture函數(shù)讀入攝像頭圖像,并將其內(nèi)容的變量地址返回一個(gè)cvCapture*類型的變量。cvQueryFrame函數(shù)的參數(shù)為cvCapture結(jié)構(gòu)的指針。用來將下一幀視頻文件載入內(nèi)存(實(shí)際是填充或更新cvCapture結(jié)構(gòu)中),返回一個(gè)對(duì)應(yīng)當(dāng)前幀的指針。
    關(guān)鍵代碼如下:
    //初始化部分 
    cvCapture* m_Video;
    IplImage *newFrame;
    if (!m_Video)
        m_Video=cvCreateCameraCapture(0);
    if (!m_Video)
    {
        printf("無法打開攝像頭");
        return 0;
    }
    //循環(huán)部分
    static void mainLoop(void){
          newFrame=cvQueryFrame(m_Video);
          //.......
    }
2.3.3灰度化
    計(jì)算特征點(diǎn)前,需要對(duì)原始圖像進(jìn)行灰度化處理。這是因?yàn)镺penCV中計(jì)算SURF特征的函數(shù)是相對(duì)灰度圖進(jìn)行操作。一張 RGB 圖像是由 R(紅色)、G(綠色)和B(藍(lán)色)三種顏色分量所組成,其中R=G=B的值為灰度值,而灰度是將三種顏色分量轉(zhuǎn)換成亮度值介于0~255之間的灰色,其中0代表最暗的黑色,255代表最亮的白色。灰度值Y與RGB間的關(guān)系為:
    Y=0.299R+0.587G+0.114B                (3)
    OpenCV中的cvCvtColor函數(shù)可以按式(3)將RGB圖像轉(zhuǎn)為灰度圖。
2.4 計(jì)算被識(shí)別圖片的特征點(diǎn)
    用OpenCV中的cvExtractSURF函數(shù)計(jì)算被識(shí)別圖片的特征點(diǎn)。
2.5 計(jì)算模型的變換矩陣

 


    ARToolkit中的arGetTransMatCont函數(shù)可以計(jì)算模型的變換矩陣。若使用這個(gè)函數(shù),需要先計(jì)算出標(biāo)識(shí)圖像的邊緣所在直線的位置,作為arGetTransMatCont函數(shù)的輸入?yún)?shù)。ARToolkit中以直線方程的標(biāo)準(zhǔn)式ax+by+c=0來表示一條直線,其中,a、b、c為常數(shù)。通過locatePlanarObject函數(shù)計(jì)算出標(biāo)識(shí)圖像的四角坐標(biāo),然后用這4個(gè)點(diǎn)求出標(biāo)識(shí)圖像的邊緣所在直線。具體計(jì)算方法如下:    將直線方程兩點(diǎn)式:■=■化為標(biāo)準(zhǔn)式,得到:
 
2.6 圖像轉(zhuǎn)換與顯示
    OpenCV使用的是RGB三通道圖像,而ARToolkit使用的是RGBA四通道圖像。因此需要將RGB圖像轉(zhuǎn)換為RGBA圖像后,才可以使用ARToolkit中的相關(guān)函數(shù)顯示。具體操作方法:先用cvSplit函數(shù)將圖片分成R、G、B三個(gè)通道,再創(chuàng)建一個(gè)A通道,通過cvMerge將它們合并起來轉(zhuǎn)換成RGBA圖像,然后調(diào)用argDispImage函數(shù)顯示這個(gè)圖像。
2.7 疊加模型
    OpenGL函數(shù)庫的工作主要是疊加模型。用OpenGL加載模型之前需要用argConvGlpara函數(shù)將ARToolkit的轉(zhuǎn)換矩陣變成OpenGL能夠使用的形式。加載模型之后,需要用argSwapBuffers函數(shù)將緩沖區(qū)的圖像顯示到屏幕上面。
3 實(shí)例測(cè)試
    依據(jù)本文設(shè)計(jì)方法為到法國旅游的中國人設(shè)計(jì)了一個(gè)圖文解說增強(qiáng)現(xiàn)實(shí)功能軟件。當(dāng)游客用攝像頭拍攝如圖2所示的法國名畫時(shí),系統(tǒng)會(huì)在拍攝畫面的周圍自動(dòng)實(shí)時(shí)疊加與該名畫相關(guān)的中文解說信息,實(shí)現(xiàn)虛實(shí)疊加,讓游客對(duì)名畫有更詳細(xì)的了解。經(jīng)過測(cè)試,系統(tǒng)應(yīng)用功能穩(wěn)定,準(zhǔn)確完成位置正確的圖形疊加,實(shí)現(xiàn)圖文解說增強(qiáng)現(xiàn)實(shí)功能,如圖3所示。

    本文提出一種基于SURF算法和ARToolkit的圖文解說增強(qiáng)現(xiàn)實(shí)應(yīng)用方法,不僅豐富了增強(qiáng)現(xiàn)實(shí)技術(shù)的應(yīng)用方向,而且對(duì)旅游產(chǎn)業(yè)的自動(dòng)圖文解說技術(shù)發(fā)展具有應(yīng)用推廣意義。但研究只是做了一些基本的探索,要真正實(shí)現(xiàn)針對(duì)游客的圖文解說應(yīng)用,還需解決程序移植Android系統(tǒng)、視聯(lián)網(wǎng)搜索等問題。相信在科研人員不斷的努力下,這樣的功能一定可以得到更好的實(shí)現(xiàn)和應(yīng)用。
參考文獻(xiàn)
[1] 沈克,彭太樂.基于SURF的增強(qiáng)現(xiàn)實(shí)標(biāo)識(shí)物跟蹤注冊(cè)[J]. 計(jì)算機(jī)工程, 2010,36(13):254-256.
[2] CRYSTIAN W M, LIMA L J P, TEICHRIEB V, et al. Geometric modifications applied to real elements in augmented reality[C].2011 13th Symposium on Virtual Reality, SVR 2011, 2011:96-101.
[3] FANG H C,ONG S K,NEE A Y C.Interactive robot trajectory planning and simulation using Augmented Reality[J].Robotics and Computer-Integrated Manufacturing,2011,2(28):227-237.
[4] SEUNG P J. AR-Room: a rapid prototyping framework for augmented reality applications[J]. Multimedia Tools and Applications,2011,3(55):725-746.
[5] 黎松,平西建,丁益洪. 開放源代碼的計(jì)算機(jī)視覺類庫OpenCv的應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件, 2005,22(8):134-136.
[6] 劉奇, 何明一.基于SURF特征匹配的圖像拼接算法[J]. 測(cè)控技術(shù),2010,29(10):27-31.
[7] 劉秀坤,郭貴洲.基于ARToolKit的戶外增強(qiáng)現(xiàn)實(shí)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J].測(cè)繪科學(xué), 2009(34):164-165,185.
[8] 常勇, 薛立明. 基于改進(jìn)的ARToolKit的戶外增強(qiáng)現(xiàn)實(shí)系統(tǒng)構(gòu)建研究[J].系統(tǒng)仿真學(xué)報(bào),2009(08):2273-2276.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲一区视频| 久久久久久综合| 久久狠狠亚洲综合| 亚洲视频观看| 99精品国产高清一区二区| 亚洲国产经典视频| 国产专区一区| 国产亚洲精品aa午夜观看| 国产精品久久久久久久久久妞妞 | 国内精品久久久久影院薰衣草 | 国产欧美日韩亚洲一区二区三区| 国产精品九九久久久久久久| 欧美视频在线观看免费| 欧美日韩亚洲不卡| 欧美午夜大胆人体| 国产精品hd| 国产精品日韩精品欧美在线 | 精品成人在线观看| 黄色成人在线观看| 在线观看日韩av| 亚洲成色www8888| 亚洲国产天堂久久综合网| 亚洲国产专区| 亚洲精品中文字幕在线| 99视频精品免费观看| 亚洲视频精选| 欧美一级欧美一级在线播放| 欧美在线一二三区| 最新国产成人av网站网址麻豆| 亚洲国产精品久久人人爱蜜臀| 91久久在线观看| 一区二区精品在线| 午夜激情综合网| 久久国产一二区| 免费一级欧美片在线播放| 欧美激情视频一区二区三区不卡| 欧美日韩网址| 国产日韩av高清| 亚洲高清视频在线观看| 99pao成人国产永久免费视频| 亚洲一区日韩在线| 欧美资源在线| 日韩亚洲欧美成人一区| 亚洲一区二区三区视频| 久久精品盗摄| 美女视频网站黄色亚洲| 欧美日韩亚洲一区二区三区在线| 国产精品系列在线| 国产一区二区三区久久 | 久久国产精品一区二区| 老司机午夜精品| 欧美日韩亚洲一区三区| 国产日韩在线视频| 亚洲国产高清在线| 亚洲一区二区精品在线| 久久精品视频在线| 在线亚洲欧美| 久久精品一区二区| 欧美精品自拍| 国产欧美精品在线| 亚洲欧洲一二三| 亚洲欧美日韩综合国产aⅴ| 亚洲国产日韩在线一区模特| 亚洲一区二区三区在线看| 久久久在线视频| 欧美色图首页| 黄色日韩网站视频| 亚洲天堂第二页| 亚洲激情在线观看| 欧美亚洲视频| 欧美片第一页| 国产字幕视频一区二区| 一区二区高清视频| 91久久国产自产拍夜夜嗨| 亚洲欧美国产精品专区久久| 欧美r片在线| 国产午夜精品一区理论片飘花| 亚洲人成网站在线观看播放| 欧美一区二区三区婷婷月色 | 99在线精品视频在线观看| 久久精品国产欧美激情| 欧美视频第二页| 亚洲国产精品久久久| 午夜免费在线观看精品视频| 中文一区字幕| 欧美成人免费大片| 国产真实乱偷精品视频免| 一本色道久久综合| 亚洲精品一区二区三区99| 久久精品国产免费看久久精品| 国产精品magnet| 亚洲区中文字幕| 亚洲第一精品夜夜躁人人躁 | 欧美福利在线观看| 国产午夜精品一区二区三区欧美 | 午夜精品影院| 亚洲一线二线三线久久久| 欧美激情综合网| 狠久久av成人天堂| 午夜国产欧美理论在线播放| 亚洲一区免费视频| 欧美日韩精品欧美日韩精品| 亚洲大片精品永久免费| 久久www成人_看片免费不卡| 午夜精品久久一牛影视| 欧美色网一区二区| 99riav1国产精品视频| 99国产精品久久久| 欧美激情 亚洲a∨综合| 在线精品视频一区二区| 亚洲第一区在线观看| 久久一区二区三区av| 狠狠色丁香久久婷婷综合丁香 | 国内精品视频在线观看| 亚洲欧美日本伦理| 午夜宅男欧美| 国产精品伦一区| 亚洲一级影院| 亚洲欧美日韩一区在线| 国产精品久久久久久久久久直播 | 欧美一区影院| 国产精品一区二区久久| 亚洲伊人网站| 性色av一区二区怡红| 国产精品久久久久国产a级| 一区二区免费在线观看| 在线亚洲欧美| 国产精品久久网站| 亚洲网站在线观看| 午夜视频久久久| 国产精品中文字幕欧美| 午夜在线精品| 久久久久五月天| 伊人久久婷婷色综合98网| 亚洲黄网站黄| 欧美精品久久天天躁| 亚洲精品影院在线观看| 亚洲午夜一级| 国产精品久久77777| 亚洲欧美日韩国产成人| 久久av二区| 极品尤物av久久免费看| 亚洲精品一二区| 国产精品theporn88| 亚洲欧美日韩在线观看a三区| 久久久无码精品亚洲日韩按摩| 在线日韩欧美视频| 中日韩视频在线观看| 国产精品毛片| 久久国产免费看| 欧美高清在线视频观看不卡| 在线视频精品| 久久精品国产免费| 亚洲高清av| 亚洲无线视频| 国产亚洲精品v| 日韩视频在线观看| 国产精品videosex极品| 性欧美长视频| 欧美高清在线| 亚洲综合第一页| 老司机亚洲精品| 一本色道久久99精品综合| 久久国产福利国产秒拍| 在线看成人片| 午夜国产一区| 亚洲福利视频网| 亚洲免费在线视频| 极品日韩av| 亚洲欧美成人| 精品成人国产在线观看男人呻吟| 中文在线一区| 韩国av一区二区| 亚洲天堂第二页| 韩国女主播一区二区三区| 一二三区精品福利视频| 国产视频精品va久久久久久| 日韩网站免费观看| 国产乱子伦一区二区三区国色天香| 亚洲国产一区二区三区青草影视| 欧美视频日韩视频| 亚洲高清不卡一区| 国产精品久久久久久久第一福利 | 亚洲精品久久久久中文字幕欢迎你 | 亚洲国产一二三| 国产精品视频福利| 亚洲精品一区二| 国产亚洲精品bt天堂精选| 亚洲天堂av高清| 在线看国产日韩| 久久国产欧美| 一区二区三区视频在线| 久久久久国产精品一区| 99精品久久免费看蜜臀剧情介绍| 久久天天综合| 亚洲欧美精品| 欧美视频免费在线观看| 亚洲精品国久久99热| 国产亚洲人成网站在线观看| 亚洲一级二级|