摘 要:隨著多媒體技術(shù)的飛速發(fā)展,多媒體計算機輔助教學(xué)被廣泛應(yīng)用于教學(xué)實踐中。幾乎所有的高校甚至中小學(xué)都采用這種教學(xué)模式來完成教學(xué)的最重要環(huán)節(jié)。本文將體感交互系統(tǒng)巧妙地應(yīng)用于多媒體教學(xué),利用kinect強大的骨骼跟蹤功能,實現(xiàn)通過肢體動作對幻燈片的播放控制,給教學(xué)方式帶來莫大的方便,同時使課堂氣氛活潑,趣味生動。
關(guān)鍵詞:體感交互;多媒體教學(xué);kinect;骨骼跟蹤
中圖分類號:TG95;TP391.9
自20世紀90年代以來,多媒體技術(shù)迅速興起,蓬勃發(fā)展,帶來了教育技術(shù)的革新與進步,多媒體計算機輔助教學(xué),簡稱CAI被廣泛應(yīng)用于教學(xué)實踐中。幾乎所有的高校甚至中小學(xué)都采用這種教學(xué)模式來完成教學(xué)的最重要環(huán)節(jié)。一般而言,教師是通過鼠標或者激光筆來完成對PPT的播放實施控制,就拿普遍應(yīng)用的鼠標來說,要求教師只是局限于講臺這個固定的空間,不能夠靈活的在教室里給學(xué)生更加生動的展示所要表達的意圖,只能通過點擊操作。再者,對于激光筆,雖然在鼠標的基礎(chǔ)上增加了不少靈活性,但是受操作功能單一、易出故障等因素的影響也不能最大化的滿足實際教學(xué)的需求。但是隨著增強現(xiàn)實技術(shù)(Augmented Reality technology,簡稱AR技術(shù))的問世,我們可以設(shè)想如果把此高新技術(shù)應(yīng)用于多媒體教學(xué),一定會給教學(xué)帶來巨大便利。并且極大增強課堂的趣味性。
手勢中含有大量的交互信息而且符合人的認知習(xí)慣,使人們生活中一種自然而直觀的人際交流方式,隨著人機交互逐漸向以人為重心轉(zhuǎn)移,對手勢識別的研究成為人們研究的熱點。利用手勢識別實現(xiàn)人機交互,可以幫助教師更好的實現(xiàn)教學(xué)過程,實現(xiàn)人的認知空間和計算機計算空間之間的平滑過渡,改善人機交互的方式。近幾年kinect在AR(增強現(xiàn)實)技術(shù)發(fā)展中起到了首屈一指的作用。
1 AR技術(shù)應(yīng)用于教學(xué)的應(yīng)用價值有
1.1 形式新穎,能夠吸引學(xué)生的注意力。增強現(xiàn)實本身就是一項新的技術(shù),它通過計算機呈現(xiàn)多樣性的內(nèi)容,不但帶給學(xué)生極大樂趣,而且通過AR技術(shù)中虛實結(jié)合的交互,可以進一步激發(fā)學(xué)習(xí)者的學(xué)習(xí)動機。
1.2 有利于培養(yǎng)學(xué)習(xí)者的空間智能,增強學(xué)習(xí)者認識環(huán)境的能力和方向感。通過AR進行的學(xué)習(xí)過程在完全的三維環(huán)境下完成,能提升學(xué)生的空間理解能力,并且實現(xiàn)了部分教學(xué)內(nèi)容中抽象概念的完整表示(如立體幾何,磁感線,分子運動,力的表示等)。
1.3 學(xué)習(xí)過程中的交互性強。有助于提高學(xué)生動手實踐能力。AR本身對交互性的強調(diào),決定了基于AR技術(shù)輔助的學(xué)習(xí)具有更多的交互性,并且這種交互方式更加簡單直接,接近于自然地交互。
基于以上的應(yīng)用價值和實際教學(xué)環(huán)境,我們有以下的設(shè)計:控制ppt翻頁的手勢可以定義為右手向右揮動,PPT播放下一頁;左手向左揮動,PPT播放上一頁;右手高舉過頭頂,PPT自動開始播放;左手高舉過頭頂,PPT退出播放狀態(tài)。
2 系統(tǒng)設(shè)計方案
2.1 在Visual Studio 2010中新建一個WPF工程并命名,添加Kinect程序集引用。
2.2 添加Window_Loaded()和Window_Closed()函數(shù)。在Window_Loaded()中聲明kinectSensor對象并對其進行初始化設(shè)置,在Window_Closed函數(shù)中關(guān)閉Kinect設(shè)備。本實例用到了視頻數(shù)據(jù)和骨骼追蹤數(shù)據(jù),其中骨骼追蹤數(shù)據(jù)用來對演講者進行姿態(tài)捕捉,而視頻數(shù)據(jù)只是用來輔助測試姿勢識別的結(jié)果。
2.3 界面準備。在MainWindows.xaml文件的設(shè)計器中添加一個Image控件來顯示視頻信息,再添加3個Ellipse控件來顯示頭部、左手和右手3個點的位置。
2.4 添加kinectSensor_ColorFrameReady()事件處理函數(shù),用以顯示Kinect捕捉的視頻數(shù)據(jù)。
2.5 添加kinectSensor_SkeletonFrameReady()事件處理函數(shù),正確連接kinect之后,當(dāng)用戶站在kinect前并且kinect能夠正確識別人體并且捕捉到有效的骨骼數(shù)據(jù)后,將觸發(fā)該事件處理函數(shù),調(diào)用ProcessGesture()函數(shù)進行手勢的識別和判定。
2.6 ProcessGesture()函數(shù)負責(zé)識別演講者右手高舉過頭頂、右手向右揮動、左手向左揮動和左手高舉過頭頂?shù)氖謩?,并觸發(fā)幻燈片的播放、翻頁、退出播放等操作。識別這些手勢用到了3個骨骼點,分別是頭部節(jié)點、左手節(jié)點和右手節(jié)點。這里,先使用LINQ語句將這3個點從Skeleton集合中提取出來,然后利用這3個點的相對坐標信息判定演講者此時的手勢。若右手節(jié)點的x坐標值比頭部節(jié)點的x坐標值大0.45(這里的數(shù)據(jù)都是通過多次實驗總結(jié)積累的),則判定為右手向右揮動,此時System.Windows.Forms.SendKeys.Sendwait函數(shù)發(fā)送單擊右箭頭的操作,從而實現(xiàn)幻燈片向下翻頁;同理,若左手節(jié)點的x坐標值比頭部節(jié)點的x坐標值小0.45,則判定為左手向左揮動,從而觸發(fā)左箭頭的按鍵操作,幻燈片就會向上翻頁;若右手節(jié)點的y坐標值比頭部節(jié)點的y坐標值大0.4,則判定為右手高舉過頭頂,從而觸發(fā)鍵盤F5事件,幻燈片就會進入播放模式;同理,若左手節(jié)點的y坐標值比頭部節(jié)點的y坐標值大0.4,則判定為左手高舉過頭頂,從而觸發(fā)鍵盤Esc事件,幻燈片退出播放模式。
2.7 針對上文提到過的干擾手勢,我們利用深度數(shù)據(jù)來處理,添加_kinect_DepthFrameReady()函數(shù)來獲取用戶當(dāng)前的深度值,設(shè)置一個深度閾值0.2,如果用戶當(dāng)前的深度值小于深度閾值,說明用戶進入“近景”模式中,此模式中前面設(shè)計的幾種手勢均不會響應(yīng);如果用戶深度值大于深度閾值,表明用戶進入“演示”模式,可以正常利用已設(shè)計的手勢講演。
2.8 我們在WPF工程的文件設(shè)計器中添加負責(zé)捕捉頭、左和右手的位置的Ellipse控件。筆者這里設(shè)計的空間跟蹤為:當(dāng)右手向右揮動或左手向左揮動的時候,對應(yīng)于右手或左手的圓點會變大,顏色由藍色變?yōu)榧t色。
至此,我們的程序編輯結(jié)束,連接Kinect,運行程序。站在Kinect前方,可以在程序界面中看到標定頭部、左手和右手的圓點。右手向右揮動,對應(yīng)的圓點會變大,顏色由藍色變?yōu)榧t色;左手向左揮動,對應(yīng)的圓點也會變大,顏色由藍色變?yōu)榧t色。打開PPT,高舉右手過頭頂,PPT進入播放模式;站在Kinect前方,右手向右揮動,幻燈片會播放下一頁;左手向左揮動,幻燈片會播放上一頁;高舉左手過頭頂,PPT會退出播放模式。這樣,無需借助鼠標和鍵盤即可實現(xiàn)幻燈片的播放、切換、關(guān)閉等操作。
3 結(jié)束語
本設(shè)計巧妙地將人機交互技術(shù)應(yīng)用到多媒體教學(xué)中,給教學(xué)帶來便捷的同時,也讓課堂氣氛活潑,趣味生動。科學(xué)技術(shù)的發(fā)展勢必會給教育方式帶了巨大的變革,本文的設(shè)計方案正是對先進教育方式的一種有趣有意義的嘗試。
參考文獻:
[1]吳國斌,李斌,閆驥洲.Kinect人機交互開發(fā)實踐[M].北京:人民郵電出版社,2013,01.
[2]余濤.Kinect應(yīng)用開發(fā)實戰(zhàn)[M].北京:機械工業(yè)出版社,2012,11.
[3]申凱.增強現(xiàn)實系統(tǒng)中的手勢識別與交互研究[J].2007(04).
作者簡介:杜響紅(1992-),男,甘肅武山人,本科,研究方向:自動化。
作者單位:中央民族大學(xué)信息工程學(xué)院,北京 100081