Kinect作為一種自然人機交互的體感外設,它很可能和鼠標、鍵盤、攝像頭一起,成為新的普遍意義上的人機交互工具。首先簡介了人機交互與計算機應用的發(fā)展規(guī)律;然后從社會和技術的角度分析了基于Kinect的互動應用的優(yōu)點,最后就基于Kinect的《互動應用開發(fā)》課程的教學內(nèi)容及理論和實驗教學方法進行了探索。
互動應用自然人機交互課程開發(fā)游戲設計 一、前言
隨著計算機性能的不斷提高和傳感器技術的飛速發(fā)展,人機交互技術正逐步進入實際應用。隨著傳感器網(wǎng)絡的逐步普及,人與計算機之間交互方式越來越自然,用戶與計算機生成的虛擬世界之間的互動體驗越來越接近人類之間的互動體驗。特別是微軟公司的Kinect的面世,極有可能加快這一趨勢。本文將對基于Kinect的“互動應用開發(fā)”引入課堂教學進行探討。
二、開設“互動應用開發(fā)”課程的必要性
人機交互技術的發(fā)展和計算機應用的普及是相輔相成的。在鼠標和圖形界面廣泛使用前,計算機主要在實驗室使用;20世紀八九十年代,鼠標、圖形界面的使用極大地提高了交互效率,推動了個人電腦的普及,把計算機帶入個人計算機時代。近年來,計算機處理速度、存儲容量的大幅提高,傳感器技術的進步和普及,網(wǎng)絡帶寬的成倍增加,新一代自然人機交互的推廣,將進一步拓展計算機的使用領域,為基于自然人機交互方式的“互動應用”提供了廣泛的市場需求和應用前景,所以為了讓學生掌握與時代發(fā)展相適應的開發(fā)技術,有必要開設基于自然人機交互的互動應用開發(fā)類的課程。
2010年11月,微軟推出了與Xbox相結(jié)合的體感外設Kinect。這款集彩色攝像頭、深度傳感器和麥克風陣列的產(chǎn)品推出之后,便創(chuàng)下了一項新的吉尼斯世界紀錄,成為銷售最快的店則設備。從2010年11月4日到2011年1月3日,60天內(nèi)共售出800萬臺。價值150美元的高科技組件的推出,立即吸引了全球眾多的“Kinect黑客”的注意,在Kinect推出不久,OpenKinect開源社區(qū)和PrimeSense公司便發(fā)布了Kinect的電腦軟件驅(qū)動。2011年6月17日,微軟公司發(fā)布了官方的基于Windows的Kinect軟件開發(fā)工具包測試版(Kinect for Windows SDK beta)。這極大地促進了Kinect在計算機上的應用。虛擬試衣、虛擬實驗、三維重建等各種創(chuàng)意應用被不斷開發(fā)出來。
與傳統(tǒng)的人機交互設備鼠標鍵盤不同,借助Kinect,用戶進入需要用身體動作就可以直接控制計算機,Kinect很可能和鍵盤、鼠標成為新一代標準人機交互設備。所以開設基于Kinect的人機“互動應用開發(fā)”課程,符合時代發(fā)展潮流和人機交互技術的發(fā)展趨勢,為了學生能夠走到時代前沿,盡早掌握自然人機互動應用開發(fā)具有積極意義。
另外,開設“互動應用開發(fā)”課程,還具有更為深遠的社會學意義。目前,手機游戲也好,電腦游戲也罷,多數(shù)游戲在游戲過程中,只要求玩家通過手指的運動來控制游戲,這樣長時間保持坐姿,只有手指運動較多,不僅不利于健康,而且還可能導致近視,手指類疾病等。如果通過自然人機交互進行游戲,則有助于比避免游戲的不利因素,更好的發(fā)揮游戲的娛樂消遣功能,通過設計開發(fā)設計良好的應用,甚至能做到有助于鍛煉身體、保持身心將康的目標。
綜上,不論從互動應用的社會需求方面,還是從改變目前視頻游戲的弊端的角度出發(fā),“互動應用開發(fā)”這門有著廣泛的社會需求,而且一旦推廣開來,有利于增強人們利用游戲進行休閑娛樂、加強運動、鍛煉身體的意識,因此這門課的開設具有重要意義。
三、課程的總體設計
本課程的目標定位是讓學生熟悉自然人機交互,掌握利用Kinect進行互動應用開的技能。課程內(nèi)容涉及人機交互、程序開發(fā)和互動應用三個主要方面。Kinect支持多種開發(fā)語言,C++、C#、Matlab等,本課程講述過程主要以C#作為開發(fā)語言。教學內(nèi)容分以下7講:
第1講:自然人機交互的理論及設備。主要講述人機交互的發(fā)展概況,人機界面的設計方法,自然人機交互的概念,自然人機交互的主要特點等。
第2講:Kinect簡介及開發(fā)環(huán)境配置。講述Kinect的結(jié)構和工作原理,以Win7下C#開發(fā)為例,所需Win7版本的具體要求,.NET Framework 4.0和VisualStudio 2010的安裝,Kinect驅(qū)動的安裝。通過運行SDK示例程序,讓學生熟悉Kinect的主要功能和。
第3講:基于Kinect深度圖在摳圖中的應用。本講的主要目的是學習如何利用DepthImageStream接口獲取深度傳感器的深度圖,并利用深度圖對通過ColorImageSteam獲取的彩色圖進行摳圖。然后比較基于深度圖的摳圖和傳統(tǒng)的基于藍幕摳圖在效率、效果等方面的異同。
第4講:基于Kinect的肢體運動游戲。Kinect體感器的核心就是骨架追蹤。Kinect能同時獲取2個人,每個人21個關節(jié)點信息。本講講述如何利用SkeletonStream獲取骨架數(shù)據(jù),以及Shape Game示例程序的工作原理。
第5講:Kinect語言識別及其應用。在Kinect的下方有一組4個獨立的水平分布的麥克風。它們捕獲相同的音頻信號。Kinect的語音識別可分為特定命令識別和對自由語音識別兩類。由于Kinect的特性,自由語音識別用途不大。命令識別則是限制詞匯的范圍進行識別。所以主要講述命令識別的用法。
第6講:基于FAAST的Kinect應用開發(fā)。FAAST是美國南加州大學創(chuàng)新科技研究所開發(fā)的靈敏動作與清晰骨骼工具包。通過FAAST可以把Kinect獲取的骨架信息識別為身體左傾、右手放下、揮手等24個動作,方便應用的開發(fā)。本講利用Kinect和Worldviz的vizard相結(jié)合,以開發(fā)一個康復訓練應用為例,講述FAAST的使用方法。
第7講:基于Kinect的虛擬現(xiàn)實展示控制技術。本講綜合命令語音識別、FAAST和三維繪制機制,實現(xiàn)一個利用Kinect控制的虛擬展示應用。
四、實踐教學的設計
由于本課程主要講述的是基于Kinect的互動應用開發(fā),主要的交互方式都是通過Kinect傳感器來實現(xiàn)了,所以熟練掌握Kinect的配置,音頻、彩色圖像、深度圖、骨架信息的獲取何使用。除此之外,還必須熟悉相關應用的專業(yè)知識,如語音識別、計算機圖形學、模式識別、人機交互等。這些知識的掌握和利用Kinect進行互動應用開發(fā)能力的提高都離不開編程實踐,所以本課程必須充分重視實踐教學環(huán)節(jié)。
根據(jù)該課程的特點和開設此課程的目標,我們明確了本課程實踐環(huán)節(jié)的設計思想:以能力為本位,以鞏固所學知識和提高互動應用開發(fā)能力為宗旨,依照學習知識、應用實踐、綜合創(chuàng)新的能力培養(yǎng)規(guī)律,循序漸進地方式展開。本課程的實踐環(huán)節(jié)由課堂練習、課內(nèi)實驗和課外實踐三個環(huán)節(jié)組成。根據(jù)實踐需要達到的目的不同,實踐內(nèi)容分為基本型、綜合型和創(chuàng)新型三個層次。基本型的實踐內(nèi)容主要分布在課堂練習和課內(nèi)實驗兩個環(huán)節(jié),以鞏固課堂所學為主要目標;綜合型的實踐內(nèi)容安排在課內(nèi)實驗和課外實踐中進行,主要是為了把多個章節(jié)的內(nèi)容進行綜合消化吸收;創(chuàng)新型的內(nèi)容全部安排在課外實踐環(huán)節(jié),達到充分發(fā)揮學生的主觀能動性,創(chuàng)造性地應用課程內(nèi)容,開發(fā)出一個小型應用為目的。
課堂練習的主要目的是實踐課堂所講內(nèi)容、加強對所講內(nèi)容的掌握,在教師講述或演示后,學生當場練習,即學即練,強化理解,加深記憶。課堂練習的內(nèi)容與課堂教學的內(nèi)容相一致,不再贅述。為了提高課堂練習的效率,對練習的內(nèi)容進行必要的分解,使學生練習過程步驟化,做到每一步都有明確的目標,這樣有助于提高學生練習過程中獲得的成就感,達到較好的教學效果。
課內(nèi)實驗的主要目的是鞏固課堂所學內(nèi)容,并對階段內(nèi)容進行綜合應用,強調(diào)鞏固基礎,促進綜合,鼓勵創(chuàng)新。課內(nèi)實驗的內(nèi)容層次主要為綜合型實驗和部分創(chuàng)新型實驗,在實驗形式上,采取必做部分與選作部分相結(jié)合,實驗指導步驟化,難度逐步遞進,以適應不同水平的學生,難度較低的部分為比作部分,難度較高的步驟可以選作。根據(jù)以上原則,我們設計了4個課內(nèi)實驗,分別是基于深度扣圖的虛擬演播室、赤手拼圖游戲、音控玩偶和魔鏡,四個實驗的自由度逐漸加大,學生的發(fā)揮余地也越大。
課外實踐是為了充分發(fā)揮學生的想象空間和主觀能動性,把學生分為若跟個小組,每個小組采用大腦風暴等形式創(chuàng)造性地提出本小組的Kinect創(chuàng)意項目,然后逐步細化,直到最后完成開發(fā)出來,為一個完整的互動應用。創(chuàng)新型實驗主要體現(xiàn)在課外實踐中,所以在課外實踐項目中,鼓勵學生使用不同系統(tǒng)平臺和開發(fā)語言,探索Kinect在不同行業(yè)中的應用。
五、教學設計與考核評價
由于“互動應用開發(fā)”這門課理論與實踐緊密結(jié)合,所以采用理論教學和現(xiàn)場教學相結(jié)合的方式,根據(jù)理論內(nèi)容和實踐內(nèi)容多少,靈活分配課堂時間。對于案例中應用到的理論,可以采用先簡單介紹理論,然后案例教學,最后再提升理論的方式進行。
在課時安排上,采用緊湊方式進行安排,不是從學期初一直上到學期末,而是集中安排在8周的時間內(nèi),每周半天,這樣學時相對集中,有利于課內(nèi)練習和課內(nèi)實驗的開展。
在考核方式上,教學評價采取多元化考核方式,過程評價和結(jié)果評價相結(jié)合,階段考核和期末考核相結(jié)合,單項成績和綜合成績相結(jié)合,自我評價、彼此評價和教師評價相結(jié)合,做到過程和結(jié)果兼顧,進步和水平相統(tǒng)一,做到通過考核促進教學,達到著實提高學生能力的教學目的。
六、總結(jié)
本文首先介紹開設“互動應用開發(fā)”課程的背景,并對開設基于Kinect的“互動應用開發(fā)”課程的意義進行了分析。然后對課程內(nèi)容的設置和教學考核的設計進行了探討。希望能夠?qū)︻愃普n程的教學和建設有所促進,由于課程的內(nèi)容新,開課時間短,肯定還存在諸多值得商榷和改進的地方。
參考文獻:
[1]張荻. Kinect應用領域的探討[J].物流工程與管理,2012,(6), 39-41
[2]何貝,王貴錦,林行剛.結(jié)合Kinect深度圖的快速視頻摳圖算法[J].清華大學學報(自然科學版),2012,52(4):561-565.570
[3]E. Suma, B. Lange, A. Rizzo, D. Krum, and M. Bolas.FAAST: The Flexible Action and Articulated Skeleton Toolkit, Proceedings of IEEE Virtual Reality[C].2011. 247-248
[4]劉鑫,許華榮,胡占義.基于GPU和Kinect的快速物體重建[J].自動化學報,2012,38(8):1288-1297
[5]錢鶴慶.應用Kinect與手勢識別的增強現(xiàn)實教育輔助系統(tǒng).上海交通大學, 2011
[6]羅元,謝彧,張毅.基于Kinect傳感器的智能輪椅手勢控制系統(tǒng)的設計與實現(xiàn)[J].機器人,2012,34(1):111-113.119
[7]黃康泉,陳壁金,鄭博,徐芝琦.Kinect在視頻會議系統(tǒng)中的應用[J].廣西大學學報(自然科學版),2011,36(s1):308-311