人機(jī)交互多媒體教學(xué)系統(tǒng)淺析
王濤
(西安航空學(xué)院 現(xiàn)代教育技術(shù)中心,陜西 西安 710077)
摘要:在傳統(tǒng)的多媒體教學(xué)中,教師對PPT的播放幾乎都通過鼠標(biāo)和鍵盤的操作來完成,如此在某種程度上增加了學(xué)生和教師之間的距離感,減少了師生之間的交流,降低了互動(dòng)性。隨著人機(jī)交互技術(shù)的提出和應(yīng)用,特別是kinect設(shè)備的出現(xiàn),完美地解決了這些弊端,在kinect設(shè)備上通過編碼來控制PPT的自動(dòng)播放,以實(shí)現(xiàn)人機(jī)交互。
關(guān)鍵詞:多媒體教學(xué);人機(jī)交互技術(shù);kinect設(shè)備
收稿日期:2014-11-30
作者簡介:王濤(1984-),男,陜西西安人,助教,從事計(jì)算機(jī)圖形圖像處理和游戲開發(fā)方面的研究。
中圖分類號:TP311.52文獻(xiàn)標(biāo)識碼:A
0引言
隨著計(jì)算機(jī)時(shí)代的到來,人們的工作、生活和學(xué)習(xí)越來越離不開電腦。傳統(tǒng)意義上人和計(jì)算機(jī)的交互是通過輸入和輸出設(shè)備來完成,如鼠標(biāo)、鍵盤、手柄和觸摸屏等。到目前為止則已經(jīng)可通過體感傳感器來交互,如在《鋼鐵俠》系列電影中主人公通過手勢和動(dòng)作可對電腦設(shè)備進(jìn)行一些系列的操作。體感交互技術(shù)是目前人機(jī)交互技術(shù)中最為前沿和熱門的領(lǐng)域之一,其中以基于微軟kinect的應(yīng)用開發(fā)最為廣泛[1]。在傳統(tǒng)的多媒體教學(xué)中,老師對PPT和視頻的播放都通過鼠標(biāo)和鍵盤的操作來完成,有的則使用PPT翻頁筆(如藍(lán)牙筆)。由于鼠標(biāo)、鍵盤與講臺(tái)綁在一起,這就將教師限制在講臺(tái)之上,如此在某種程度上增加了學(xué)生和教師之間的距離感,減少了師生之間的交流,降低教學(xué)過程中的互動(dòng)性[2],從而影響教學(xué)質(zhì)量。遙控設(shè)備雖提供了一種方便可靠的方法,但是受到硬件的限制,其功能只限于切換幻燈片。而基于kinect的人機(jī)交互則可完美地解決以上缺點(diǎn)。
1人機(jī)交互多媒體教學(xué)系統(tǒng)的設(shè)計(jì)
在多媒體教學(xué)中較多地使用PPT的播放。針對PPT的播放,本系統(tǒng)通過手勢交互或語音交互來完成相關(guān)功能。使用visual studio的WPF框架進(jìn)行編寫[3],整個(gè)交互系統(tǒng)的流程如圖1所示。
首先,完成Kinect的初始化工作并啟動(dòng)設(shè)備,然后獲取骨骼和語音數(shù)據(jù);其次,在空間位置中持續(xù)追蹤操作者的動(dòng)作,并根據(jù)其產(chǎn)生數(shù)據(jù)來判斷PPT的相應(yīng)播放。當(dāng)需要結(jié)束PPT的放映時(shí),通過動(dòng)作來終止。
圖1 人機(jī)交互系統(tǒng)的流程
PPT播放功能的實(shí)現(xiàn)大體分為:人體動(dòng)作、Windows API函數(shù)的調(diào)用、發(fā)送和語音的相關(guān)判斷。
1.1系統(tǒng)采用的人體動(dòng)作
①右手抬起到頭頂控制PPT下翻頁,判斷條件為HandRight.Position.y < head.position.y+0.35m;
②左手抬起到頭頂控制PPT上翻頁,判斷條件為HandLeft.Position.y< head.position.y+0.35m;
③雙手舉起時(shí)控制結(jié)束PPT放映,判斷條件為:(HandRight.Position.y-ShouderRight.y > 0.35m)&&(HandLeft.Position.y-ShouderLeft.y >0.35m)。
考慮到使用kinect提供的骨骼數(shù)據(jù)流,用幀與幀之間數(shù)據(jù)比較的方法,檢測一定時(shí)間內(nèi)相對運(yùn)動(dòng)的幅度以及次數(shù)。為取得較好的效果,本文采用對30幀/秒骨骼數(shù)據(jù)進(jìn)行記錄,檢測左、右手的x、y方向位置變動(dòng),設(shè)定35cm的范圍內(nèi)則認(rèn)為發(fā)生了相關(guān)動(dòng)作。識別出左、右手動(dòng)作發(fā)生之后,根據(jù)相應(yīng)判斷來調(diào)用windows API函數(shù)分別模擬鼠標(biāo)左鍵的點(diǎn)擊、鍵盤的游標(biāo)控制鍵區(qū)“↑”以及發(fā)送windows消息關(guān)閉PPT。
1.2Windows API函數(shù)的調(diào)用發(fā)送
相應(yīng)的Windows API函數(shù),通過發(fā)送消息到PowerPoint窗口來實(shí)現(xiàn)操作。具體如下:
①鼠標(biāo)左鍵的按下操作。可模擬向窗口發(fā)送數(shù)據(jù),通過調(diào)用函數(shù)SetWindowPos來設(shè)置窗口位置,SetCursorPos來設(shè)置鼠標(biāo)位置,mouse_event(0x0002, 0, 0, 0, 0)模擬鼠標(biāo)按下操作,mouse_event(0x0004, 0, 0, 0, 0)模擬鼠標(biāo)放開操作。
②鍵盤光標(biāo)鍵的操作,用SendKeys.Send("{DOWN_ARROW}")模擬鍵盤輸入“↓”, SendKeys.Send("{UP_ARROW}")模擬鍵盤輸入“↑”。
1.3聲音的控制
語音識別是自然人機(jī)交互很重要的一個(gè)方面。Microsoft Speech SDK v11.0作為Kinect SDK v1.5的組件被安裝,包含一個(gè)自定義的聲學(xué)模型。Kinect SDK 利用Microsoft.Speech API的最新聲學(xué)算法,應(yīng)用程序可以進(jìn)行語音識別和語音控制。同樣在啟動(dòng)Kinect設(shè)備后,初始化音頻數(shù)據(jù)流并注冊語音識別引擎,用于語音播放PPT,可以在SpeechRecognized事件中判斷語音內(nèi)容是“cursor down”、“cursor up”和“PowerPoint exit”。目前還不支持中文語音識別。根據(jù)具體語音內(nèi)容的不同設(shè)置不同邏輯變量,然后再根據(jù)邏輯變量值來調(diào)用Windows API函數(shù)來對PPT進(jìn)行相應(yīng)操作。
2人機(jī)交互多媒體教學(xué)系統(tǒng)相關(guān)方法和參數(shù)意義
2.1C#下調(diào)用Windows API方法[4]
用C#調(diào)用Windows API向指定窗口發(fā)送按鍵消息的方法流程:
①調(diào)用Windows API。先引入命名空間using System.Runtime.InteropServices;然后引用需要使用的方法,格式為[DllImport(“DLL文件”)]方法的聲明;
②找到目標(biāo)窗口,先根據(jù)窗口的標(biāo)題得到句柄,然后遍歷所有窗口得到句柄;
③向指定的窗口輸入數(shù)據(jù),利用發(fā)送消息API(SendMessage)向窗口發(fā)送數(shù)據(jù)或利用鼠標(biāo)和鍵盤模擬向窗口發(fā)送數(shù)據(jù)。
2.2鼠標(biāo)左鍵操作的相關(guān)參數(shù)
dwFlags常數(shù)意義:const int MOUSEEVENTF_LEFTDOWN=0x0002模擬鼠標(biāo)左鍵按下,const int MOUSEEVENTF_LEFTUP = 0x0004,模擬鼠標(biāo)左鍵抬起;鍵盤按下和彈起的參數(shù)bVk的常數(shù)為: const int WM_KEYDOWN = 0X100和private const int WM_KEYUP = 0X101。
2.3一個(gè)簡單kinect設(shè)備編程的模型步驟[5]
①在MainWindow.xaml.cs文件中定義一個(gè)KinectSensor的私有成語變量;
②編寫startkinect()方法,包括各種數(shù)據(jù)流的格式;
③初始化選項(xiàng)后,進(jìn)行彩色圖像、深度圖像、骨骼跟蹤同步事件的注冊;
④完成彩色視頻流、深度數(shù)據(jù)和骨骼跟蹤事件處理的相應(yīng)代碼;
⑤在程序的開始和結(jié)束注意Kinect設(shè)備關(guān)停操作即可。
在PPT播放時(shí),為避免多次重復(fù)發(fā)送鍵盤事件,本文采用邏輯控制變量來每次判斷操作的動(dòng)作,保證一次動(dòng)作只發(fā)送一次消息事件,如此來增加操作的準(zhǔn)確性。
3人機(jī)交互系統(tǒng)的結(jié)果和搭建環(huán)境所需設(shè)備
3.1人機(jī)交互測試的結(jié)果(見表1)
表1 測試結(jié)果統(tǒng)計(jì)
本程序用Microsoft Visual studio 2012的WPF框架編寫,使用語言為C#,整個(gè)工程視圖見圖2。
3.2搭建環(huán)境的設(shè)備
硬件需求:電腦主機(jī)CPU雙核,2.66GHZ以上;顯卡要支持Microsoft DirectX 9.0c;內(nèi)存需要2G以上;一臺(tái)Kinect for Windows開發(fā)版設(shè)備;一根專用的電源適配器。
軟件需求:Windows 7以上操作系統(tǒng);Microsoft Visual studio 2012以上版本;Microsoft .NET Framework 4.5以上;Kinect for Windows SDK 1.8[6]。
圖2 PPT播放程序
4人機(jī)交互發(fā)展趨勢
隨著微軟第2代Kinect for Windows和Kinect for Windows SDK 2.0正式版發(fā)布,將進(jìn)一步在科研工作者和開發(fā)者社區(qū)中掀起一波創(chuàng)新熱潮,目前kinect已經(jīng)在各大領(lǐng)域大顯身手[7],在娛樂、游戲方面,各種人機(jī)交互的體感游戲不斷出現(xiàn)和更新,如隔空切水果、激情世界杯、俄羅斯方塊以及一些大型的、操作簡單的游戲,使人們充分體驗(yàn)了游戲帶來的樂趣;在中國傳統(tǒng)文化方面,有完全利用骨骼元素將紙片人串起,表現(xiàn)豐富的皮影戲、通過手勢在人面部滑動(dòng)而改變臉譜的川劇變臉以及無繩的虛擬放風(fēng)箏等;在機(jī)械控制領(lǐng)域,用戶可通過體感實(shí)現(xiàn)虛擬3D空間中的機(jī)箱安裝、查看、旋轉(zhuǎn)、縮放、配線及移除等操作和徒手控制直升機(jī)等;在醫(yī)療領(lǐng)域,手術(shù)中醫(yī)生僅用動(dòng)作即可控制醫(yī)療影像的播放、快進(jìn)和暫停等,實(shí)現(xiàn)了方便快捷且無菌的操作;在輔助工具方面,也得到了長足的應(yīng)用[8]??梢哉fkinect是一種革新的理念和技術(shù),隨著科技不斷發(fā)展它會(huì)不斷出現(xiàn)在我們的生活中。
5結(jié)語
在大學(xué)課堂中,多媒體教學(xué)的比重越來越大,而多媒體教學(xué)中PPT課件的應(yīng)用最為廣泛,傳統(tǒng)鼠標(biāo)、鍵盤和藍(lán)牙筆對PPT的操作弊端越來越凸顯,本文通過Kinect手勢和聲音控制PPT,經(jīng)過試驗(yàn)得到很好的效果。
在今后的研究中,首先對該系統(tǒng)的算法進(jìn)行優(yōu)化處理以達(dá)到最佳的性能;其次多媒體教學(xué)中還存在少量的文件打開、視頻播放和word的操作等,后續(xù)可為該系統(tǒng)增加這些方面的功能。
參考文獻(xiàn)
[1] 朱明茗,景紅.基于Kinect的PPT控制系統(tǒng)研究[J].中國教育信息化,2014(9):80-82.
[2] 馬建榮,章蘇靜.基于體感技術(shù)的親子互動(dòng)游戲設(shè)計(jì)與實(shí)現(xiàn)[J].中國電化教育,2012(9):85-88.
[3] 鮑峰,盧稼奇,黎楚秦.基于Kinect的人機(jī)交互演示系統(tǒng)[J].計(jì)算機(jī)與現(xiàn)代化,2013(10):46-50.
[4] (美)Matthew MacDonald.WPF編程寶典-C#2010版[M]. 王德才,譯.北京:清華大學(xué)出版社,2011: 21-200.
[5] 微軟.KinectforWindowsSDK開發(fā)入門.[213-03-30]http://www.cnblogs.com/yangecnu/archive/2012/03/30/2425766.html.
[6] 李健,路飛,田國會(huì),等.基于Kinect的PPT全自動(dòng)控制系統(tǒng)研究[J].計(jì)算機(jī)工程與應(yīng)用,2013,49(17) :133-138.
[7] 吳國斌,李斌,閻驥洲.人機(jī)交互開發(fā)實(shí)踐[M].北京:人民郵電出版社,2012:4-9.
[8] 余濤.Kinect用開發(fā)實(shí)踐用最自然的方式與機(jī)器對話[M].北京:機(jī)械工業(yè)出版社,2013:185-188.
[責(zé)任編輯、校對:梁春燕]
On Human-computer Interactive Multimedia Teaching System
WANGTao
(Modern Education Technological Center, Xi'an Aeronautical University, Xi'an 710077, China)
Abstract:In the traditional multimedia teaching, teachers play PPT almost completely through mouse and keyboard, so to some extent, this increases the distance between students and teachers, reduces the communication between teachers and students, and lowers their interactivities. The creation and application of human-computer interaction technology, especially kinect equipment, completely solved these shortcomings. PPT is played automatically through codes on kinect equipment so as to realize human-computer interaction.
Key words:multimedia teaching; human-computer interaction; kinect equipment