廖瑞華,李勇帆
(湖南第一師范學院 信息科學與工程系,湖南 長沙 410205)
基于情感計算和Web3D技術的虛擬學習環境實現的關鍵技術研究*
廖瑞華,李勇帆
(湖南第一師范學院 信息科學與工程系,湖南 長沙 410205)
采用情感計算和Web3D技術創建具有交互性、沉浸感的虛擬學習環境,能夠更好地發揮網絡遠程教育的優勢,能有效地提高學習者的網絡在線學習效果。本文在簡要介紹虛擬學習環境的結構特性的基礎上,分析了其實現過程中所涉及的主要技術,包括情感計算技術中的人臉表情識別以及Web3D技術中的VRML建模語言,并進一步探討了實現的具體方法。
虛擬學習環境;情感計算;Web3D技術;人臉表情識別
虛擬學習環境就是利用計算機技術、通信技術、仿真技術、人工智能技術等進行雙向交互式學習的一種模式。[1]虛擬學習環境概念,最早在1989年由美國的William Wolf教授提出,用來描述一個計算機網絡化的虛擬環境。虛擬學習環境因其廣闊的應用前景,各國均在大力開發,已經取得了一些進展。例如,美國巴爾的摩(Baltimore)約翰霍普金斯大學化學工程系的卡爾威教授(Professor Michael Karweit)在電腦網絡上建立了一個“虛擬學習環境”,讓工程系的學生可以通過電腦網絡來進行學習,嘗試解決工程上遇到的各種問題;德國的漢諾威大學建立了虛擬自動化學習室。在國內,虛擬學習環境的建設也得到了很大的重視。目前,已有部分高校初步建立了虛擬學習室。
總之,以網絡為主要載體的虛擬學習環境,給用戶隨時獲取新知識提供了便捷和強有力的支持,以互聯網為核心的在線學習(E-learning)正在成為全球性的教育模式的潮流和趨勢。而本文基于當前遠程教育發展的要求,研究的主要目的就是以“以學習者為中心,學習者是認知的主體,是知識意義的主動建構者”的原則設計虛擬學習環境,充分重視學習者的情感與交互性,從而達到提高學習效率和人性化的目的。
1.情感計算的技術概述
情感計算就是通過計算機技術創建一種能感知、識別和理解人的情感,并能針對人的情感做出智能、靈敏、友好反應的一套計算方法。[2]通過對用戶情感的獲取、分析與識別,用戶的情感狀態便可被計算機所了解,在此基礎上,計算機做出合適反應以適應可能不斷變化著的用戶情感。因此,用戶的情感信息如何被計算機所識別、計算機如何對識別的情感信息做出最合適的反應則是情感計算技術的關鍵。
到目前為止,情感計算主要通過人臉表情識別、姿態肢體分析、語音分析等方式進行研究。由于人類的表情能實時地、明顯地反映情感的變化,人臉不同部位具有不同的表情作用。例如:眼睛對表達憂傷最直接,口部對表達快樂與厭惡最直接,而眼睛、嘴和前額對表達憤怒很直接。因此,本文研究的虛擬學習環境采用基于人臉表情識別技術進行用戶的情感計算。
人臉表情識別系統流程圖如圖1所示。其識別流程如下:(1)分析人臉面部圖像,建立人臉部件的組合模型,提取子目標圖像;(2)分析部件的形狀,對部件建立可變形模板;(3)對匹配進行分析,利用能量優化,通過模板匹配對目標進行特征提取,得到人臉表情的表情矢量,再與中性表情矢量相比較,達到識別人臉表情的目的。

2.Web3D技術概述
Web3D技術主要是針對于三維顯示技術的網絡應用而開發的,故決定了Web3D技術的主要特點就是使三維模型在網上進行三維交互演示。[4]在一般情況下,Web3D作品的視點(Viewpoint)是自由的,因此用Web3D技術開發的平面圖形與視頻作品有著一個很重要的區別,即不再只滿足于從一個固定的角度來展示作品。而且Web3D涉及計算機圖形學和多媒體通信的綜合應用,文件相對比較大,在普通窄帶網的傳輸速率下,客戶端要花費大量時間等待下載,因此,本文在研究過程中采取選擇合適的紋理貼圖。良好的貼圖不但能得到好的視覺效果,還可以簡化Web3D模型,減少多邊形的數目,提高虛擬學習環境的渲染速度。
此外,交互設計是Web3D技術的重要內容,具體涉及到以下三個方面:
(1)定位空間
空間定位采用三維坐標系,能夠識別虛擬學習環境中用戶的上方、下方、前部、后部、左邊和右邊,以實現3D效果。
(2)設計環境
設計環境要考慮到紋理、材質、背景、音效、光效等,還可以加入視頻等其他媒體。[5]
(3)三維交互
三維交互是Web3D技術的最重要環節,包括事件(Events)設計、行為(Action)設計,涉及到人機交互、鼠標等各種觸發事件以及動畫設計等。
目前,包括VRML在內的JAVA3D、CULT3D、VIEWPOINT等Web 3D技術在各個領域已經獲得了廣泛的應用。本文的研究應用VRML技術開發虛擬學習環境。VRML提供了許多預定義的節點,分為圖形節點和非圖形節點兩類。實現虛擬學習環境動態能力和交互性的基礎是VRML中的事件體系,事件和域組成節點,其中節點的取值由域的取值決定,也決定了靈境的當前狀態,節點接收外界消息、發送消息給外界都要通過事件來進行,節點通過事件入口(event In)接收事件,通過事件出口(event Out)發出事件,某一節點的事件入口和另一節點的事件出口之間用以實現事件的傳遞的通路稱作路由(route),由路由聯系起來的節點構成事件體系,用戶交互、環境改變、時間變化是事件產生的最初原因。事件產生后按照時序向路由目標節點發送,由目標節點處理,該處理可能會改變會產生其他事件,或改變節點的狀態,或改變虛擬學習環境圖的結構,從而為虛擬環境提供了動態性。 事件體系執行模型的概念圖如圖2所示。

為使虛擬空間具有更強的復雜性,VRML可使用綁定指令,綁定指令描述的是如何將節點綁定在一起。兩個節點被綁定后,一個節點由路徑傳送給另一節點的信息稱為激發事件。當某一節點接收到一個事件時,它會根據節點的特征開始變化。通過對多個節點的綁定,用戶能創建更多路由,創建更復雜的路線,從而使空間更加具有動感。
1.情感識別功能的設計與實現
本文研究的情感識別原型主要包括:人臉區域定位:在輸入的圖像中尋找人臉區域;人臉的規范化(預處理):校正人臉在光線等方面的變化;特征提取:從人臉圖像中映射提取一組反映人臉表情特征的數值;特征匹配:將待識別人臉表情特征點與已知人臉表情特征點比較,得出相關信息。
(1)人臉區域定位
因為人臉皮膚建模是根據皮膚顏色來確定的,有可能把脖子等區域也包括進去,因此要定位出人臉區域,盡可能減少處理像素點,這樣可以節省計算時間。同時,人臉區域的定位也有助于眼睛、嘴巴的定位。本文在研究虛擬學習環境中的人臉區域定位算法采用了遞歸的方法,其算法主要是四大步驟:人臉數目初始化、人臉邊界區域初始化、人臉區域定位以及定位區域的標注。其主要代碼如下:
Void DIB:FaceLocate (HANDLE hDIB, CRect faceLocation[10],int&faceNum)
{
……
1)faceNum=0;//人臉數目初始化為0
2)for(int k=0;k<10;k++)//采用循環的方式設定10個區域點
{
//從上、下、左、右四個邊界的定義進行區域的初始化
faceLocation[k].bottom=-1;
faceLocation[k].top=height;
faceLocation[k].right=-1;
faceLocation[k].left=width;
}
3)for(int i=0;i for(int j=0;j {…… If(num!=0) {//遞歸計算 RecursiveLocateRect(lpData,wBytesPerLine,i,j,num,falceLocation[faceName]); faceNum++; ……} 4)lOffset=this->PixelOffset(j,faceLocation[i].left,wBytePerLine); //把有臉區域用綠色矩形標注 *(lpData+IOffset++)=0; *(lpData+IOffset++)=255; *(lpData+IOffset++)=0; ……} (2)光線補償 因為虛擬學習環境得到的人臉區域定位圖片可能會存在光線不平衡的情況,同時虛擬學習環境中要用到YcrCb色彩空間,所以有必要對人臉區域定位圖像進行光線補償。[6]本文研究的光線補償的思路是:把圖像中亮度最大的5%的像素提取出來,然后線性放大,使得這些像素的平均亮度達到255。根據求得的系數把整個圖像的亮度進行線性放大,具體來說就是調整圖像像素的RGB值。 (3)特征提取與匹配 人臉特征提取是提高人臉表情識別性能的關鍵問題。無論哪一種檢測方法都需要依賴人臉的特征。而特征匹配其實就是在人臉圖像提取的特征與表情之間建立一個聯系。本文研究的虛擬學習環境中的特征匹配采用的是表情“距離”特征匹配方式。 表情識別的特征矢量由六個特征參數組成,X=(X1,X2,X3,X4,X5,X6),其中X1表示兩眉間的距離;X2表示眉眼間的距離;X3表示眼上下邊界的距離;X4表示嘴高;X5表示嘴寬;X6表示嘴角到上唇最高位的距離。這樣的特征提取與匹配具有可擴充性和可延性,例如x1=(0,0,0,0,0,0)表示中性表情,而 x2=(0,0,0,1,1,-1)表示愉快的表情。 2.交互功能的設計與實現 在虛擬學習環境中,學習者和虛擬學習環境之間要進行必要的交互。動態交互是虛擬學習環境的重要特點,涉及到虛擬學習環境內各個實體對象本身的動態屬性以及操作過程的交互處理。簡單而言,實體對象的動態屬性包括位置的變化,如平移和旋轉等,以及動態的變化過程,比如根據學習者的不同操作,顯示風格各異的動畫等。虛擬學習環境的交互處理主要包括鍵盤輸入、鍵盤響應、點擊鼠標、拖動鼠標、實體的事件等,可以由VRML的script節點和傳感器節點來實現這些交互。 虛擬學習環境的交互功能流程如圖3表示。 此外,VRML文件最終是要在互聯網上進行發布的,所以采用VrmlPad來生成一個完整的可以進行網上發布的VRML文件。在虛擬學習場景中,三維模型的粗糙程度對學習效果有著直接影響,但精致的模型會使VRML過于龐大。因而采取以下一些措施對虛擬學習環境進行優化: (1)建模時要盡量考慮使用原語。 在進行VRML虛擬學習場景建模時,對于規則的三維物體,應當有效地使用原語。對于復雜的模型,可以考慮使用3DS MAX等工具進行建模,可使用其提供的一個模型優化器(Optimize Helper)減少總平面數。 (2)充分利用VRML語言自身因素進行優化。VRML語言提供了實例 (instance)、原型 (prototype)、細節層次(LOD)等基于語言自身的場景優化措施,可以加快客戶機虛擬學習渲染場景的速度。 (3)對復雜的場景進行分割或動態增刪節點。用Inline節點可以將復雜的VRML場景分成幾個較小的和較簡單的場景,另外,可以在組節點定義入事件addChildren和removeChildren,這樣可以實現動態修改虛擬學習場景的結構。 (4)可對VRML文件進行壓縮。VRML的源文件是ASCII類型的,其中許多不必要的回車符、空格符和TAB符。將這些字符去掉能使文件減小1/3,而且完全不影響執行。通常,可將VRML源文件壓縮到原先的10%~35%,可以顯著減少虛擬學習場景的傳輸時間。 當前網絡化教育系統已經進入了個性化發展時代,要求我們的虛擬學習系統能夠實現人性化交互教學、個性化因材施教,同時還要針對學習者的情感不同進行智能化調整。本文的研究對虛擬現實技術的應用以及提高遠程的教學效率均起到了有效的促進作用。 [1]蒲利君.論虛擬現實技術在教學中的應用[J].中國成人教育,2005(3):76-79. [2]惠曉鐘.以學習者為中心的虛擬現實交互學習環境[J].陜西國防工業職業技術學院學報,2006(3):42-44. [3]黃元芳,王代涵,王一哲.虛擬現實技術與VRML[J].武漢冶金管理干部學院學報,2003(2):183-186. [4]段鴻.一種虛擬人物的情感計算方法[J].計算機工程與應用,2007(11):211-214. [5]羅奇,萬力勇,吳彥文.情感計算在E-learning系統中的應用探索[J].開放教育研究,2006(3):9-11. [6]馬希榮,劉琳,桑婧.基于情感計算的E-learning系統建模[J].計算機科學,2005(8):28-33. TP391 A 1673-8454(2011)03-0082-04 1.全國教育科學 “十一五”規劃教育部重點課題 “基于情感計算和Web3D技術的在線學習模式研究”(編號:DCA090321);2.湖南省科技計劃項目“基于情感計算和Web3D的遠程教育虛擬實驗平臺的體系結構及其關鍵技術研究”(編號:2010GK3049)。 (編輯:金冉)
四、結論