林明超++王新++董祥美++王海鳳
摘要:
自然用戶界面NUI的清晰、簡潔、智能化的方式讓用戶體驗更加直觀,更為人性化?;谧匀挥脩艚缑娴膽迷O備層出不窮,手勢識別這種操作技術占據(jù)了重要的位置。隨著虛擬現(xiàn)實技術快速發(fā)展,人們的辦公方式也發(fā)生了很大的變化。在幻燈片演示方面,傳統(tǒng)的方式顯得呆板,不能讓人們自由使用動作。因此,文中提出一種使用手勢來代替鼠標輸入的方法,使用Leap Motion 控制器。經(jīng)過試驗,計算機的反應速度快,并能準確地辨別出有效手勢,能夠對幻燈片進行操作。
關鍵詞:
手勢識別; 人機交互; Leap Motion控制器; 自然用戶界面
中圖分類號: TP 11文獻標志碼: Adoi: 10.3969/j.issn.10055630.2015.05.004
引言
人機交互(humancomputer interaction)是指通過計算機輸入設備、輸出設備使人與計算機能夠相互交流的過程。在過去,人機交互的主要輸入設備為鼠標與鍵盤。如今,隨著計算機硬件,模式識別,人工智能等研究的快速發(fā)展,已經(jīng)可以通過身體追蹤、手勢、多點觸摸手勢,聲音識別、面部識別和虛擬現(xiàn)實技術等技術與計算機交互。支持這些技術的設備,包括Kinect、智能手套、麥克風、2D攝像頭、太空鏡、iPad等類似設備[3]。
近幾年,在人機交互領域,使用人的自然感應來代替計算機硬件的輸入已經(jīng)越來越流行了。例如,使用手勢識別來玩視頻游戲,比如使用Leap Motion控制器來玩水果忍者。另外,利用Leap Motion控制機器人手臂幫助有需要的人們,特別是殘疾人。這些應用都使用了自然用戶界面(NUI)這一相同概念。NUI是一種新的操作方式,可使用戶用手勢和聲音來操縱電腦或其他機器。
如今在越來越多的會議,報告者使用PPT來展示他們的內容。但是人們依然使用鼠標或Kinect作為控制PowerPoint演示文稿的方式[6]。雖然至今,3D形式的展示技術依然處于一個研究狀態(tài)。為了促進這種發(fā)展,本文提出了一種使用Leap Motion確定手勢動作的一種方法。將這種方法與NUI技術結合,可以使用手勢作為PPT展示的控制方法。
1Leap Motion 控制器原理
Leap Motion控制器能夠能檢測和追蹤手、手指、類似于手指的物體,提供離散的位置和運動。它的工作速度為120幀/秒。Leap Motion的檢測范圍為設備上的一個倒置的金字塔,塔尖在設備中心。Leap Motion的可工作范圍大約在設備前方25~600 mm。有研究人員在工業(yè)機器人上設計一個測量設置,可以測量Leap Motion控制器的手勢和動作檢測能力的精度和穩(wěn)定性[7]。靜態(tài)場景下的精度測量分析的結果,一個設定的3D位置與測量得到的位置之間的偏差小于0.2 mm。動態(tài)場景下的精度測量分析的總體平均精度為0.7 mm。雖然不能達到理論精度0.01 mm,但是對于手勢應用界面來說仍是很高的精確度。
Leap Motion的原理圖如圖1所示。
Leap Motion控制器由3個IR(紅外光)發(fā)射器和2個IR相機組成。首先IR發(fā)射器發(fā)出紅外光,當紅外光遇到障礙物后會反射,此時攝像頭接受反射的紅外光,通過算法對接收回的信息進行處理。它使用復雜的數(shù)學方法計算出位置數(shù)據(jù)和角度等數(shù)據(jù)信息。所用到的幀信息包括手(所有的手),有端點的(手指和有段點的工具),手指(所有的手指),手勢(所有手勢的開始、結束)。
Leap Motion控制器提供了一個右手系的笛卡爾坐標(如圖2所示)。它的位置值可以精確到微米級別。X軸和Z軸在水平面,Y軸垂直水平面,方向朝上。當Leap Motion追蹤手的數(shù)據(jù)時,它的數(shù)據(jù)會發(fā)到數(shù)據(jù)幀內,憑借運動方向朝向,可以明確輸入手勢的定義,文中將利用手的運動朝向來定義部分手勢。
2PPT控制方法
手勢輸入模型會判斷輸入的手勢是否為定義的手勢。手勢定義靈活多變,并且符合人的生活經(jīng)驗,即使從沒有使用過的人也能憑借生活經(jīng)驗很快掌握。這種手勢設定使人與計算機之間的交互更加自然,降低人們對適應新產(chǎn)品的難度和時間。設計方法基于以上的思想,控制功能如表1所示。
手勢可以根據(jù)運動方向定義為,向左或向右。輸入的手勢速度必須要大于預設的值,才能被Leap Motion識別,然后判斷為該執(zhí)行什么指示。根據(jù)人的習慣,幻燈片是按順序排列,所以人們習慣于將向右的運動手勢作為下一步的指令。向左代表返回,即上一步的指令。文中還提供了順時針畫圈的功能使人們能作為放映幻燈片的指令,逆時針畫圈作為取消放映的功能。
2.1Leap Motion 鼠標移動模擬
當使用Leap作為控制器時,首先涉及到的就是如何使用它與計算機交互。第一步必然是使用手指的移動來代替鼠標的移動,必須調整Leap的坐標系空間與計算機屏幕的坐標空間相適應。文中使用Leap 提供的Interaction Box類,這個類提供了規(guī)范化Leap的坐標系空間位置到屏幕的坐標空間的函數(shù)??蓺w一化的Leap空間中手指的維度坐標,以獲得在應用坐標里的點。操作人員第一最長的手指為輸入,最后使用SetCursorPos函數(shù)即可獲得模擬鼠標移動的效果。代碼如下:
Frame frame=leap.Frame();
Finger finger=frame.Fingers.Frontmost;
Vector stabilizedPosition=finger.StabilizedTipPosition;
InteractionBox iBox=leap.Frame().InteractionBox;
Vector normalizedPosition=iBox.NormalizePoint(stabilizedPosition);
float x=normalizedPosition.x*windowWidth;
float y=windowHeight-normalizedPosition.y*windowHeight;
SetCursorPos ((int) tx,(int)ty).
2.2Leap Motion 鼠標功能模擬
提出的方法支持鼠標控制,使用Leap Motion 控制器作為前端的設備來模擬鼠標控制。Leap Motion定義了一個自適應的觸摸表面(如圖3所示),你可以用它來協(xié)調互動應用程序的2D元素。這種平面取向大致平行于XY平面,可與使用者的手指和手的位置交互。當使用者的手或工具向前運動時,Leap 將會判斷向前的指向性物體是否靠近或觸摸這個模擬界面。這種情形根據(jù)相對于模擬界面的距離定義為距離(1,-1),即觸摸界面和非觸摸界面。
如圖4所示,
當使用者的左手在Leap上運動時,其觸摸距離的數(shù)值。由于Leap十分靈敏,所以將其判斷距離加0.8,這樣不會造成誤點,如此當觸摸距離為-0.8時,手指才剛接近觸摸界面,所以使用者必須做出明顯的觸摸動作,才能被判定為觸摸。
2.3PPT的上一步和下一步功能
上一步和下一步功能是PPT演示中十分重要的一項功能。使用手的向左移動來代表上一項,使用手的向右移動來代表下一項,如圖5所示。當手的移動速度超過所設的閾值,手勢的輸入有效。使用手的手指的平均速度代表手指的移動方向。這種方法簡明有效,符合人的自然認識。
2.4放映和退出幻燈片
自然用戶界面提供清晰、簡潔、智能化的管理界面和操作方式,所以當打開PPT后十分需求全屏化功能。使用畫圈手勢代表PPT的全屏化輸入和退出,如圖6所示。當順時針畫圈代表全屏化PPT,當逆時針畫圈時,代表退出全屏化。使用Leap的畫圈手勢,由于順時針和逆時針的法向量的不同,所以法向量與手指之間角度θ不同,可以設置當θ<90°時為順時針旋轉,當θ>90°時為逆時針旋轉。若最小識別半徑較小,使用者不經(jīng)意的轉圈就可能觸發(fā)指令,所以設置較大的最小識別半徑,設置最小識別半徑為75 mm。經(jīng)過測試,必須畫大的圓才能觸發(fā)指令,不會造成錯誤輸入。
3成果展示
如圖7所示,使用者通過在Leap Motion上方運動控制PPT。所有控制手勢的功能如上文所述。
軟件和硬件開發(fā)環(huán)境如下:
軟件環(huán)境主要包括:Windows 7版本操作系統(tǒng),Leap Motion develop Kit 2.20 for windows 是Leap 所發(fā)布的開發(fā)工具包,主要提供Leap的驅動程序和函數(shù)。本文使用OFFICE 2013 版本的PowerPoint演示文稿。開發(fā)的編譯器為Visual studio 2013,使用C#語言。
硬件包括:PC,Leap Motion控制器。
手勢操作測試中,使用了Leap Motion控制器測試了上述的方法。首先打開一個PowerPoint演示文稿,使用鼠標模擬按鍵點擊幻燈片放映,使用向右或向左手勢控制幻燈片,使用鼠標移動到重點部分進行指示,在幻燈片中途使用逆時針手勢退出幻燈片放映。
試驗結果顯示在使用過程中能辨認出有效的手勢。各手勢設置的識別閾值合理,沒有因為Leap Motion的高精度的識別度而出現(xiàn)錯誤的識別。
4結論
本文展示了PowerPoint演示文稿基于自然用戶界面(NUI)的控制方法。通過一個試驗性的實驗,發(fā)現(xiàn)了使用Leap 來定義手勢,然后替代鼠標的功能。這種新方法的關鍵處在于應用人的感覺作為鼠標功能的代替。人們可以使用一種自然的方法來演示PPT。一些簡單、有效的手勢能與計算機實時交互。實驗結果顯示這種方法很穩(wěn)定,能夠幫助人們使用手勢控制PPT的演示。
自然用戶界面增加了人們使用機器的感受,它的應用將會被使用在各個領域。如果與虛擬現(xiàn)實技術、語音導航結合,人們將能立體展示自己的產(chǎn)品。本文方法的應用在這種展示方法上將是一個完美的結合。
參考文獻:
[1]MOHANDAS M,ALIYU S,DERICHE M.Arabic sign language recognition using the leap motion controller[C]∥2014 IEEE 23rd International Symposium on Industrial Electronics (ISIE).Istanbul:IEEE,2014:960965.
[2]全星慧,牟海維,呂秀麗,等.基于PCA與貝葉斯決策的人臉識別算法[J].光學儀器,2014,36(2):122125.
[3]LIU H Z,XI Y L,SONG W,et al.Gesturebased NUI application for realtime path modification[C]∥2013 IEEE 11th International Conference on Dependable,Autonomic and Secure Computing(DASC).Chengdu:IEEE,2013:446449.
BASSILY D,GEORGOULAS C,GVTTLER J,et al.Intuitive and adaptive robotic arm manipulation using the leap motion controller[C]∥Proceedings of ISR/Robotic 2014; 41st Internatimal Symposium on Robotics Munich.Germany:VDE,2014:17.
[5]黃康泉,陳壁金,鄭博,等.Kinect 在視頻會議系統(tǒng)中的應用[J].廣西大學學報:自然科學版,2011,36(增刊Ⅰ):308313.
[6]陳靜,陳澤宇,王敏娟,等.基于Kinect 的體感技術在教學領域中的應用∥第五屆教育教學改革與管理工程學術年會.重慶:全國教育教學改革與管理工程組委會,2012.
[7]WEICHERT F,BACHMANN D,RUDAK B,et al.Analysis of the accuracy and robustness of the leap motion controller[J].Sensors,2013,13(5):63806393.
(編輯:張磊)