邢海風
摘要:學習分析技術(shù)已經(jīng)廣泛運用于課堂教學各個層面,手勢計算緊密聯(lián)系實踐教學環(huán)節(jié)。運用學習分析技術(shù),準確把握學習者的學習狀態(tài),搭建了基于Kinect的3D手勢計算環(huán)境,對人手的復雜運動形態(tài)進行捕捉、分割、追蹤與識別,并與實際進行對比驗證。闡述了3D手勢計算的內(nèi)涵與特征,論證了其應用于教育的理論與實踐基礎(chǔ),為進一步改進課堂教學策略,推動理論知識與教學實踐相融合提出了建議。
關(guān)鍵詞:手勢計算;學習分析技術(shù);教學實踐
DOIDOI:10.11907/rjdk.172940
中圖分類號:G434
文獻標識碼:A 文章編號:1672-7800(2018)008-0219-04
英文摘要Abstract:Current, learning analytics technology has been widely used in all aspects of classroom teaching. Gestures computing is closely connected with teaching links. First of all, this paper expounds the connotation and characteristics of 3D gesture to computing and demonstrates its application in the education theory and practice. By the application of the learning analytics technology to accurately grasp the status in the field of learning, we set up a computing environment based on the 3D gesture from Kinect to capture, segmentate, track and identify the complex movement forms of a man's hand, and the actual results were compared with reality. The strategies of how to further improve classroom teaching are also proposed to promote integration of theory with teaching practice.
英文關(guān)鍵詞Key Words:3D gesture-based computing;learning analytics technology;teaching practical
0 引言
學習分析技術(shù)在教學領(lǐng)域的作用日漸突出,特別是對實踐教學環(huán)節(jié)中的一些數(shù)據(jù)分析更為清晰,能更多視角地反饋教學質(zhì)量,有效實施教學活動的預警與監(jiān)控,能為分層次教學建立精準的個性化服務模型。
2011年“學習分析與知識國際學術(shù)會議”,第一次提出以學習數(shù)據(jù)的測量、收集、分析及報告為依據(jù),解析與改善學習環(huán)境。目前,學習分析已成為炙手可熱的研究領(lǐng)域,掀起了教育信息化新浪潮[1]。
1 學習分析技術(shù)相關(guān)概念
學習分析技術(shù)是指以提高學習效果和質(zhì)量為目標,對學習系統(tǒng)中分析與處理后的海量數(shù)據(jù)進行解讀,實現(xiàn)數(shù)據(jù)可視化,獲得學習狀態(tài)的預測和教學過程的干預。學習分析技術(shù)不僅將優(yōu)化教學資源,改進教學質(zhì)量,而且為優(yōu)化教學管理、改善教學環(huán)境提供了精準數(shù)據(jù)支持,正如喬納森[2]所言:“技術(shù)的發(fā)展刺激了研究者和教育實踐者去拓展學習的概念和開展學習環(huán)境的設計?!?/p>
2 手勢計算相關(guān)概念
Dan Saffer[3]將手勢定義為“在不借助任何輸入設備的情況下,能被數(shù)字化系統(tǒng)感知并反饋的任意身體運動”。手勢是一種符合人類日常習慣的交互手段,現(xiàn)實生活中的交流通常會輔以手勢來表達特定的情感或傳遞某些信息[4]。3D手勢計算起初用于虛擬現(xiàn)實環(huán)境下用戶與三維對象的互動,典型的交互任務包括導航、選擇、操控以及系統(tǒng)控制[5]。
手勢計算(Gesture-Based Computing,也稱基于手勢的計算),屬于自然用戶界面領(lǐng)域的研究課題,強調(diào)用戶使用自己的身體直接作為輸入設備,具體指“通過指尖、人手、手臂以及身體等的運動與計算機發(fā)生的自然交互”[6]。
2.1 手勢計算技術(shù)模型
3D手勢計算起初用于虛擬現(xiàn)實環(huán)境下用戶與三維對象的互動,典型的交互任務包括導航、選擇、操控以及系統(tǒng)控制[7],3D手勢計算建立了自由手勢的完整規(guī)則[8]。手勢計算有多種技術(shù)模型,隱馬爾科夫HMM技術(shù)較為成功的案例是微軟的Kinect捕捉用戶的動作游戲平臺。隱馬爾科夫HMM模型將采樣與參考模型集的似然度比較,判斷最大值從而確定實驗樣本的類別。
用戶的動態(tài)手勢識別,先根據(jù)Kinect捕捉掌心運行軌跡,再以其切線角度為坐標,采用隱馬爾科夫模型對動態(tài)手勢進行有效采集。隱馬爾可夫模型非常適合描述序列模型,尤其適合上下文相關(guān)場合[9]。
2.2 手勢計算基本原理
手勢計算在實踐教學環(huán)節(jié)的應用是一項新探索。學習者之所以能通過3D手勢計算理解認知領(lǐng)域涉及的復雜內(nèi)容,潛在機制就是借助身體經(jīng)驗的實體表征,擴展大腦對這些抽象知識的概念圖示[10]。系統(tǒng)設計幾個關(guān)鍵點如下:
2.2.1 手勢捕捉
系統(tǒng)使用Kinect for Windows作為手勢捕捉工具,與Kinect for XBOX版本相比,它的near mode模式在0.4~0.8m內(nèi)仍可獲得穩(wěn)定的深度圖像,滿足用戶手勢軌跡要求。此外,Kinect搭配了追焦技術(shù),底座馬達會隨人手位置的移動而適當轉(zhuǎn)動。當手勢運動時,Kinect機身上的3個鏡頭同時工作,減少光照不佳、變化強烈因素的干擾,并借助SDK的核心NUI API實現(xiàn)彩色圖像和深度圖像的捕捉。
(1)中間鏡頭是一個常見的RGB Camera,即通常所說的彩色攝像頭,它以30ftps的速度捕捉分辨率為640×480的彩色圖像,這些圖像以Kinect SDK自定義的PlanerImage格式存儲。系統(tǒng)運用Kinect SDK存儲的大量訓練數(shù)據(jù),通過彩色圖像估算身體各部分所處位置,判定目標用戶身份,并確保不會出現(xiàn)因衣著、人物、造型不同而產(chǎn)生的錯誤。
(2)左右兩邊分別為IR projector(紅外線發(fā)射器)和IR Camera(紅外線CMOS攝像頭),共同構(gòu)成3D Depth Sensor(3D深度傳感器)。IR projector發(fā)出紅外線并均勻地投射到整個Kinect的可視范圍內(nèi),IR Camera接收反射光線獲得圖像的一個“深度場”,這個過程模擬人眼立體成像過程,兩個攝像頭以30ftps的速度相互配合捕捉用戶動作,記錄身體各部分的三維數(shù)據(jù),以用戶面對方向為基準,X、Y、Z的軸向指示如圖1所示。X軸正軸向右,Y軸正軸向上,Z軸正軸指向Kinect sensor,Z軸信息代表人與Kinect鏡頭的距離。Kinect SDK對這組攝像頭獲取的三維數(shù)據(jù)進行計算,處理后產(chǎn)生深度圖像,用于手勢分割階段獲取用戶雙手的動作信息。深度圖像本質(zhì)是一個256灰階的單色圖,通過黑白光譜方式表示人與Kinect的距離:純黑代表無窮遠,純白代表無窮近,黑白間的灰色對應人手各部分到Kinect的真實距離。
2.2.2 手勢分割
手勢分割指消除背景噪音的干擾,將待檢測的身體部位從背景圖像中提取出來,手勢分割的好壞直接影響到后續(xù)識別效果。由于本系統(tǒng)需要分割出手指的精確信息以識別出手指的軌跡,故將人手定義為前景,人臉、衣物等部分定義為背景,具體步驟如圖2所示。
(1)手形分割。根據(jù)Kinect之前捕獲的深度圖像,對人手與背景的像素點進行不同標記,人手的標記索引號為PlayerIndex。Kinect SDK已經(jīng)具備了骨骼識別功能,即提供左右手關(guān)節(jié)點的三維位置,當PlayerIndex>0時,代表該像素點屬于人手部分,完成了手形分割。
(2)手部輪廓分割。對得到的手形區(qū)域進行細致分割,目的是識別手部輪廓,方法是以用戶的右手為對象,設置特定的顏色閾值,在深度圖上進行逐點遍歷,當深度圖像上兩個相鄰像素點的顏色值居于閾值兩側(cè)且差別較大時,這兩個像素點的中間便是手形輪廓。
(3)指尖分割。將得到的手形輪廓上的點存儲到數(shù)組中,用K-curvature算法計算任意一點的近似曲率,即對任意輪廓上的J點point(J),計算point(J)和point(J-K)之間的向量與point(J)和point(J+K)之間向量的夾角。若輪廓線上某點的曲率過大時,代表該點是尖峰點,即手指指尖。
2.2.3 手勢追蹤
由于手勢是一個動態(tài)的過程,相鄰兩幀圖像中手勢的位置表現(xiàn)出一定的鄰近性,因此在分割出某一幀圖像中的手勢時,需要借助手勢追蹤過程:①對右手進行持續(xù)定位;②精確預測下一幀圖像中手的位置,以有效降低重復手勢分割所帶來的數(shù)據(jù)計算量。手勢追蹤階段經(jīng)“匹配—修正—預測”這一循環(huán)實現(xiàn):首先采取系統(tǒng)中已有的手勢特征參數(shù)匹配求解當前圖像中手勢的位置,也就是運用之前一幀手勢分割結(jié)果計算運動指尖的當前區(qū)域,然后用獲取的最新手勢信息對系統(tǒng)中的手勢特征參數(shù)進行修正并實時更新,最后根據(jù)系統(tǒng)參數(shù)預測下一幀圖像中手勢的位置。當一輪循環(huán)結(jié)束后,預測結(jié)果傳送至下一幀圖像的匹配過程,開始新一輪手勢追蹤。
三維空間中手勢追蹤實質(zhì)是對右手所勾畫的軌跡進行實時監(jiān)測,軌跡所代表的動態(tài)手勢即為手指運動軌跡。
2.2.4 手勢識別
手勢識別是計算機理解人類手勢從而完成一系列交互體驗的過程。Kinect是使用CMOS紅外感應器采集用戶骨骼圖像與全鏡頭下的深度圖像、結(jié)構(gòu)光與光源定標為Kinect的核心技術(shù)。結(jié)構(gòu)光技術(shù)為獲得對象3D坐標,使用激光散斑(Laser Speckle)在整個對象照射,光源射出具有三維z軸深度的“體編碼”。當激光發(fā)射到相對粗糙的手指表面時形成高度隨機的衍射散斑點,由于距離不同,圖像位于空間散斑點也不相同,這為整個空間賦上標記,從而確保任何物體進入到照射空間并發(fā)生位移時,都能記錄物體的位置信息。Kinect光源定標技術(shù)則強調(diào)測量之前對原始空間中散斑圖案記錄進行光源定標。假定用戶的位移距離攝像頭0.4~0.8m,則每隔50mm取一個參考平面,定標后存儲30幅散斑圖像,測量過程中拍攝一張待測場景散斑圖案,然后將此圖按照時間順序與之前定標存儲的30幅圖像逐一做關(guān)系運算,由此獲取30幅相關(guān)圖像。空間中物體位置在相關(guān)圖像上出現(xiàn)峰值,將這些峰值層層疊加,經(jīng)差值運算后得到全場景三維形狀。
識別算法包括特征提取、手勢建模、分析識別3個步驟,如圖3所示。
(1)通過特征提取算法提取出手勢的4個基本屬性,即運動、形狀、位置和方向,并將這些屬性轉(zhuǎn)化為對應的數(shù)學矢量x1、x2、x3、x4存儲在計算機中。
(2)將上述4個矢量分別由適當且有效的數(shù)學模型予以描述,該模型同時包含手勢的空間屬性和時間特征,即完成由xi到f(xi)的映射,此過程稱為手勢建模,是通過模型化方法將特征矢量轉(zhuǎn)化為計算機可以處理的數(shù)據(jù)。
(3)通過機器學習或模式識別方法,將步驟(2)建立的模型與動態(tài)字庫D(x)進行匹配,匹配程度最高的c(x)作為該用戶的手勢識別結(jié)果,最后將函數(shù)c(x)表征的信息X識別出來,完成對手勢含義的理解。
2.2.5 應用顯示
本系統(tǒng)使用OpenGL這一圖形程序接口進行漢字的應用顯示,把數(shù)據(jù)描述的手勢識別結(jié)果轉(zhuǎn)換成二維圖像并予以呈現(xiàn)。OpenGL全稱為Open Graphics Library,即開放圖形數(shù)據(jù)庫,適用于多種操作系統(tǒng)和硬件平臺,并具有易于編程開發(fā)和高度的可重用性特點,基于OpenGL開發(fā)的應用程序便于在不同平臺間移植。
在OpenGL下顯示用戶手勢運動過程是:①運用C++編程語言作為開發(fā)環(huán)境,在系統(tǒng)內(nèi)部建立字體的設備場景(MDC)。由于本系統(tǒng)目的是顯示出只有黑白灰三類色彩的手勢,故在設備場景中將文字設置為單色位圖而非RGB圖;②調(diào)用OpenGL庫中的3類函數(shù)實現(xiàn)文字的繪制和顯示,分別是以“gl”為前綴的核心函數(shù),以“glu”為前綴的實用函數(shù)和以“aux”為前綴的編程輔助函數(shù)。在此主要使用繪制函數(shù)“void CGLFONT::Print(int x,int y,LPCTSTR lpszText)”,將手勢識別的數(shù)據(jù)結(jié)果轉(zhuǎn)換為計算機可識別的函數(shù)形式,其中x,y用于定位漢字顯示位置,lpszText為要實現(xiàn)的漢字,之后使用平面位圖顯示函數(shù)glBitmap(…)將繪制的結(jié)果顯示;③為獲得平滑的顯示效果,避免因大量數(shù)據(jù)計算造成的屏幕閃爍,使用OpenGL的雙緩沖技術(shù),將繪圖命令置于屏幕外的緩沖區(qū)中執(zhí)行。在這個緩沖區(qū)中存放著每個像素的信息,當有新像素需要顯示時,迅速將顯示結(jié)果交換到可視化窗口視圖上。
3 實踐教學中的學習分析技術(shù)
大數(shù)據(jù)技術(shù)應用于教育過程中,學習分析把采集、轉(zhuǎn)存、建模、分析與數(shù)據(jù)可視化的各項指標和特征匯總起來。在各項指標體系中,存在數(shù)據(jù)采集、數(shù)據(jù)捕獲、網(wǎng)頁開發(fā)、圖像識別等不同工作,大數(shù)據(jù)異構(gòu)存儲、語義識別、數(shù)據(jù)結(jié)構(gòu)優(yōu)化等困難亟待解決,尤其是構(gòu)造不同種類的分析問題模型與差異化數(shù)據(jù)粒度分析等,對今后研究提出了更多挑戰(zhàn)。數(shù)據(jù)挖掘、數(shù)據(jù)統(tǒng)計等課堂教學存在不少困難,需要使用學習分析工具開發(fā)能應用于課堂的操作系統(tǒng)平臺。
學習分析過程中,教師對學習分析工具的應用是優(yōu)化教學的有效途徑,用戶對使用的系統(tǒng)接受度取決于適用性與易用性。通過Kinect設計基于現(xiàn)場操作的手勢計算系統(tǒng),為未來課堂提供了一套符合實踐教學需要的教學模型,為構(gòu)建一種行之有效的課堂模式與新的教學手段開拓了一條新思路,信息技術(shù)在教學演示與實驗領(lǐng)域的應用前景廣闊。
參考文獻:
[1] 吳永和,曹盼,邢萬里,等.學習分析技術(shù)的發(fā)展和挑戰(zhàn)——第四屆學習分析與知識國際會議評析[J].開放教育研究,2012(12):72-80.
[2] JONASSE D H ,LAND M S.Theoretical foundations of learning environments[M].Lawrence Erlbaum Associates,Inc,2002.
[3] SAFFER D.Designing gestural interfaces[M].O′Reilly,2008.
[4] 葉海智,劉駿飛,王春麗,等.3D手勢計算支持的教學應用研究[J].遠程教育雜志,2017(1):45-51.
[5] SALMAN CHEEMA,MICHAEL HOFFMAN,JOSEPH J LA VIOLA JR.3D Gesture classification with linear acceleration and angular velocity sensing devices for video games[J].Entertainment Computing,2013 (4):11-24.
[6] THE NEW MEDIA CONSORTIUM.The 2010 Higher Ed Edition of the annual NMC horizon report [EB/OL].http://www.nmc.org/publication/nmc-horizon-report-2010-higher-ed-edition/,2010-3-10.
[7] SALMAN CHEEMA, MICHAEL HOFFMAN, JOSEPH J. 3D Gesture classification with linear acceleration and angular velocity sensing devices for video games[J].Entertainment Computing,2013 (4):11-24.
[8] CAPUTO M,DENKER K,DUMS B,et al.3D Hand gesture recognition based on sensor fusion of commodity hardware[J].Mensch & Computer,2012 (12):293-302.
[9] DUDA R O,HART P E,STORK D G.模式分類[M].第2版.北京:機械工業(yè)出版社,2003.
[10] SMITH C J P,MARTIN T.Mind your body: learning mathematics through Physical Action[C].Annual Conference of the American Educational Research Association,2012.
(責任編輯:杜能鋼)