徐敏,童強,陳棟才,向康琴
(湖北師范學院計算機科學與技術學院,黃石 435002)
基于ARToolKit的增強現實課件的設計與制作
徐敏,童強,陳棟才,向康琴
(湖北師范學院計算機科學與技術學院,黃石435002)
增強現實(Augmented Reality,AR)是由虛擬現實(Virtual Reality,VR)發展出來的研究領域,是一種將計算機產生的虛擬物體與真實環境進行合成并對景象加以增強或擴充的技術。Azuma給出的增強現實的定義是:虛實結合;實時互動;三維注冊[1],在同一環境下實現虛擬物體與周圍真實環境的結合效果,實現人與虛擬物體的交互操作。隨著AR技術的發展,它已經可以廣泛應用到軍事、醫療、建筑、教育、工程、影視等領域。在教育領域AR技術可以用于虛擬交互、電子書出版、課件等多個方面。Shelton和Hedley采用AR技術進行九大行星的教學實驗,他們發現通過使用AR技術,可以使教師僅用較少的教學材料就可以進行教學活動,并且在學生的學習過程中比較容易形成互動,讓學生更容易理解學習內容[2]。例如:立體幾何、磁感線、物體運動、力的表示、分子運動、天體運動等。傳統的多媒體課件雖然也能高效地展示知識,但相比融合了增強現實技術的課件缺乏實時互動的功能,不能完整表示部分教學內容中的抽象概念。增強現實技術的課件不僅保留了傳統多媒體課件該有的靜態展示效果,更融入了相關文字所對應的虛擬場景,將理論與實踐結合,達到了事半功倍的教學效果。美國新媒體協會在2010、2011年的Horizon報告中,均將其列入2-3年內會在教育中得到廣泛應用的技術[3-4]。
增強現實課件的工作原理如圖1所示:上課時,增強現實應用程序利用攝像頭獲取教師使用的識別標識上的特征信息,一旦成功識別出標識,程序計算出該標識的位置和姿態信息,同時根據預先置文件在找到與之匹配的有關虛擬教學模型,經過軟件程序處理后,根據標識的坐標信息,在顯示設備輸出。視覺效果上虛擬的教學模型或者多媒體素材,完全融合在真實的場景中,就像教師真的拿著一個教學模型。利用這種課件,教師只需要攜帶一些標識卡片,就可以生動地進行事實動態地講解各種教學內容,例如在手上展示地球,展示各種生物等。
增強現實開發工具有許多種,本文選擇了可以免費使用的增強現實開發工具ARToolKit[5]。ARToolKit最初是由日本的加藤博一博士與美國華盛頓大學聯合開發的增強現實系統二次開發工具,是一套基于C和C++的增強現實系統開發包,支持不同的操作系統,如Windows、Linux、Mac OS X等,可以幫助開發人員方便地開發增強現實應用程序。ARToolKit后續的發展得到華盛頓大學HCI實驗室和新西蘭坎特伯雷大學的大力支持。ARToolKit成為廣泛使用的增強現實研究工具。

圖1 增強現實課件的工作原理圖
開發一個ARToolKit的應用,必須熟悉它的基本框架及其每個框架內所調用的函數,它主要包括三個階段:初始化、主循環、關閉。
(1)初始化:開始視頻捕捉;讀取面板庫以及攝像機特性參數;相關的函數包括:arVideoOpen(),arVideoInqSize(),arParamLoad(),arInitCparam(),arParamChange Size()。
(2)工作循環:抓取一幀輸入視頻;探測矩形邊框標識;獲取標識后計算攝像頭—標識的位置轉移矩陣,記憶標識參數;計算標識—模型的坐標映射關系,匹配虛擬物體,最終虛擬物體疊加在真實場景中輸出。主要相關函數包括:循環框架模型argMainLoop()、OpenGL的循環框架模型glutMainLoop()、尋找正確的Marker模板的函數arDetectMarker()。
(3)關閉視頻,釋放資源。相關函數包括:arVideo-CapStop()、arVideoClose()、argCleanup()等。
基于ARToolKit的增強現實課件的設計和實現,按照從標識(Marker)的設計與制作、虛擬物體模型的設計與制作,再到利用ARToolKit進行增強現實應用程序編程,最后課件課堂完成增強現實效果展示,可以分為四個關鍵步驟實現:
①標識的設計制作和參數編輯;
②3D模型素材的設計制作和參數設置;
③利用ARToolKit開發包設計增強現實應用程序;
④教學實踐演示。
(1)標識的設計與制作
制作標識(Marker)的目的是按照跟蹤引擎的需要特制的一個標記圖形,ARToolKit增強現實應用程序根據這個標記分析和計算它的圖形信息,并通過它來計算三維模型要顯示的位置和狀態。這個圖形標記需要包含黑色邊框和內部的圖形,為了方便使用和便于應用程序識別,可以采用在框中加漢字的方式。圖2是一個標識的例子。

圖2 一個帶有漢字信息的標識
通過平面圖像編輯器制作便于識別的平面標識圖,本文使用Adobe illustrator軟件,按照一下步驟制作標識:
①打開Adobe illustrator矢量圖形軟件,把blank Patt.gif(只有邊框的空圖片)導入到軟件中。②新增圖層2,選中該圖層并在中間白色空間處建立自己的文字圖塊或繪制圖形。輸入字母或漢字,設置對應字號、字體大小以及字寬等,或者繪制對應的簡單圖形并填充顏色。③保存Marker設計,選擇PDF的存儲類型。把保存Illustrator編輯能力的選項打勾,這樣方便日后可再用Illustrator進行下一步修改,儲存。④再用上述同樣的方法設計其他的Marker,然后打印出Marker。
(2)訓練標識及標識參數設定
為了ARToolKit應用程序能夠有效識別標識,實現增強現實效果,要先訓練系統能夠識別標識,也就是讓系統認識制作的標記。
①打開ARToolKit自帶的mk_pattd程序,按照系統提示輸入一個攝像機的參數文件夾名字路徑,例如Datacamera_para.dat。程序會打開另一個視頻窗口,此時應該轉動攝像頭對準前面打印出Marker直至視頻圖像中的方塊紅綠框,單擊鼠標左鍵。②輸入一個標識文件名,例如patt.bird,此時,文件夾里面會生成一個patt.bird文件,patt.bird文件存儲了該標識(Marker)的特征信息,用于后續增強現實應用程序對標識的識別和匹配。③只需要用攝像頭對著不同的標識重復以上步驟,就可以為每種標識創建對應的標識文件。
為了在增強現實程序中實現不同的標識對應不同的模型對象,還需要預先在一個文本文件object_data中對匹配的模型和標識進行參數設置,在object_data文件中,每個標識都按一定結構詳細說明,內容包括:名字、模板識別文件名、跟蹤模板的寬度、跟蹤模板的中心。下面這個例子中設置了模型文件bird.dat和標識文件patt.bird的對應關系。

(3)3D模型的設計與制作
3D模型的來源主要有兩種途徑,一種是下載開源的3D模型,這在網絡上可以找到很多資源;另一種是選用3DSMax或VRMLPad等編輯器制作或者加工相應的三維模型,3D模型的格式有很多中,用ARToolKit開發的應用中一般將虛擬物體存儲為儲存*.wrl的格式。圖3是在3DSMax中和VRMLPad中編輯黃雀模型的示意圖。

圖3 利用3DSMax中和VRMLPad制作三維模型
制作好的wrl文件放在..Wrl文件夾下,并為每一個虛擬物創建對應的.dat文件,此文件的作用是,在增強現實調用wrl模型文件的時候,提供wrl模型文件的基本信息,還可以通過調整參數,對虛擬模型的wrl文件進行位移、旋轉、縮放的設定,而不必在三維軟件進行調整。例如Bird.dat文件內容如下:

(4)增強現實應用程序設計
ARToolKit開發包,將增強現實應用開發中最困難的一些部分,如探測標識、計算攝像頭轉移矩陣、三維注冊等功能實現了函數封裝,同時ARToolKit開發包還提供了豐富的實例,使普通開發者在其基本框架上,能夠非便、快捷地開發增強現實應用系統。本文增強現實應用程序流程圖如圖4所示。

圖4 增強現實課件應用程序實現流程圖
首先在初始化模塊依次完成了3個步驟:①初始化攝像頭:打開一個視頻源(攝像頭),獲取攝像頭窗口大小,加載攝像頭并獲取攝像頭精度,根據獲取的攝像頭精度參數修改攝像頭的相關設置,載入攝像頭的顯示參數;②用arLoadPatt()函數加載標識文件,該函數直接加載進程序要識別的標識的信息文件,并返回屬于該標識的特定ID號;③調用arVideoCapStart()函數啟動攝像頭。
主程序的循環工作的部分:①利用arlOdeoGetlmage函數采集一幀圖像;②利用arDetectMarker函數尋找視頻圖像中是否包含有特定的標識;③如果找到標識,例如圖2的黃雀,則調用arGetTransMat函數計算變換矩陣;④根據模型文件信息,調用標識對應的模型,正確顯示到實際場景。
主程序保持循環工作,直到遇到退出操作則程序關閉視頻捕捉,退出程序。
(5)增強顯示效果展示
將帶有黃雀標識的課件放在攝像頭下,啟動增強現實程序后,在顯示器或者投影儀上的顯示效果,如圖5所示。轉動標識可以呈現黃雀的各個方向的視圖,和在手中展示一個真實的黃雀標本一樣。
基于ARToolKit的增強現實課件把虛擬模型的具體表示與待學習的抽象表示相關聯,通過直觀展示虛擬模型的方式吸引學習者的求知興趣,實現了虛擬世界和真實世界的實時同步,讓學習者可以身臨其境的感知當中的內容,而且能夠突破空間、時間以及其他客觀因素的約束,感受到真實世界中無法親身經歷的體驗,整個學習過程不再枯燥單調、抽象,充滿趣味。

圖5 黃雀增強現實課件的顯示效果
后續工作中,準備在課件中增加更多的交互控制功能,在屏幕中展示相應的3D模型,并允許用戶控制模型的顯示比例、旋轉方向、移動位置等參數;基于增強現實技術的課件,不但可以加入三維模型,還可以加入其他多媒體元素,后續工作的一個方向是,制作更加生動的虛擬模型以及3D動畫等,使增強現實課件更生動、精彩。
[1]Azuma,R.T.A survey of augmented reality[J].Teleoperators and Virtual Environments,1997,6(4):355-385.
[2]Shelton B,Hedley N.Using augmented reality for teaching earth-sun relationships to undergraduate geography students[C].Augmented Reality Toolkit.The First IEEE International Workshop,2002.
[3]Johnson L,Levine A,Smith R,Stone S.The 2010 horizon report[M].Austin,Texas:The New Media Consortium,2010.
[4]Johnson L,Smith R,Willis H,Levine A,Haywood K.The 2010 horizon report[M].Austin,Texas:The New Media Consortium,2011.
[5]ARToolKit.http://www.hitl.washington.edu/ARToolKit/.2003
Augmented Reality;3D Model;ARToolKit;Courseware
Design and Production of Augmented Reality Courseware Based on ARToolKit
XU Min,TONG Qiang,CHEN Dong-cai,XIANG Kang-qin
(Department of Computer Science,Hubei Normal University,Huangshi 435002)
1007-1423(2015)25-0063-05
10.3969/j.issn.1007-1423.2015.25.017
徐敏(1990-),女,碩士研究生,研究方向為智能計算與人機交互
童強(1968-),男,碩士,副教授,碩士生導師,研究方向為增強現實、機器視覺、人機交互技術
陳棟才(1991-),男,湖北大冶人,本科,研究方向為增強現實應用技術
2015-06-16
2015-08-25
研究了基于ARToolKit的增強現實課件的實現原理和制作流程,結合一個動物課件實例,介紹標識制作、3D模型設計以及增強現實演示軟件編程以及課件展示等四個主要環節的實現過程,展示增強現實課件的演示效果。
增強現實;3D模型;ARToolKit開發包;課件
湖北省高等學校省級教學研究項目(No.2014367)、湖北省教育廳科技項目(No.B20132505)、國家級大學生創新訓練項目(No.201310513008)
向康琴(1991-),女,湖北黃梅人,本科,研究方向為增強現實應用技術
Studies the realization principle and production flow of the augmented reality courseware based on ARToolKit.Takes animal courseware as an example,introduces the process of realizing three main links,such as logo production,3D model design and augmented reality demonstration software programming and courseware display.Demonstrates the effect of the augmented reality courseware.