本發(fā)明涉及一種菜單交互設(shè)計方案,適用于面向kinect體感交互式大屏幕的命令選擇。
背景技術(shù):
基于kinect的體感交互式大屏幕有著廣泛的應(yīng)用場景,例如用于家庭游戲娛樂、展覽館里觀眾的互動展示等。體感檢測設(shè)備kinect可檢測用戶的身體骨骼數(shù)據(jù),進而識別其身體姿態(tài)動作,以便支持用戶使用身體作為輸入工具操控大屏幕。體感交互式大屏幕的最顯著特點在于它不要求用戶穿戴或者手持任何設(shè)備,因此用戶能夠快速啟動交互過程、執(zhí)行人機交互任務(wù)。
菜單命令選擇是同大屏幕交互的必要步驟。目前針對kinect大屏幕的菜單界面設(shè)計往往基于桌面交互設(shè)備中的設(shè)計范式。普遍方案是將手掌模擬成鼠標(biāo),手掌在空間的位置映射成屏幕的光標(biāo)坐標(biāo)。移動手掌可以相應(yīng)移動光標(biāo),進而選擇菜單項。菜單界面的設(shè)計形式有:1)線性菜單。該設(shè)計基于主流的桌面菜單設(shè)計模式,菜單項的排列成線性。如果選擇菜單項,則需要移動光標(biāo)并在目標(biāo)選項上停留一段時間以進行選擇確定;2)扇形菜單?;拘问绞菍A等分為八個扇形,每一個等分扇形對應(yīng)一個菜單項。選擇菜單項,則需要將手掌對應(yīng)光標(biāo)從圓心出發(fā)向圓的弧滑動。當(dāng)滑動距離超過某一閾值,則選定該菜單項。
以上技術(shù)是將手掌模擬成鼠標(biāo),因此執(zhí)行他們需要手掌進行較高精度的定位或者移動,以便選擇菜單項。但是,由于缺乏依托,在空中進行手臂和手掌的精準(zhǔn)運動是一項較為疲勞和困難的任務(wù),因此造成交互效率低下。鑒于體感交互式大屏幕的廣泛應(yīng)用,有必要設(shè)計更符合人因工程學(xué)的菜單交互方式。
技術(shù)實現(xiàn)要素:
發(fā)明目的:針對目前kinect體感交互大屏幕中菜單交互效率低下的問題,本發(fā)明基于人因工程學(xué)提出了一種屏幕菜單體感交互方案,以克服目前菜單交互技術(shù)的局限。
技術(shù)方案:
基于kinect的屏幕菜單體感交互方法,包括步驟:
(1)菜單等待激活,用戶通過姿勢與屏幕進行交互,屏幕判斷用戶的姿勢是否為激活姿勢,若是,則顯示菜單,等待后續(xù)輸入命令;若否,則菜單繼續(xù)等待激活;
(2)用戶通過姿勢進行菜單選擇命令,屏幕對用戶姿勢進行確認(rèn);若存在次級菜單,則更新菜單界面;若無次級菜單,則執(zhí)行菜單命令;
(3)用戶通過姿勢選擇退出菜單,屏幕判斷是否為菜單退出命令,若是,則退出菜單;否則繼續(xù)等待后續(xù)輸入命令。
所述步驟(1)屏幕判斷用戶的姿勢是否為激活姿勢具體為:
判斷用戶姿勢中肩關(guān)節(jié)、肘關(guān)節(jié)和腕關(guān)節(jié)構(gòu)成的三角形是否為銳角三角形,若是,則表明當(dāng)前姿勢為激活姿勢。
所述菜單為圓形,并將其等分為八份,每一份對應(yīng)一個菜單項;所述步驟(2)中屏幕確認(rèn)用戶姿勢具體為:通過手臂角度判斷用戶手臂是否在所要選擇的菜單命令的菜單項內(nèi),其中手臂角度是計算水平線到肩關(guān)節(jié)和腕關(guān)節(jié)連線的夾角;手臂需在菜單項內(nèi)停留500ms至1000ms以確定選擇。
所述步驟(3)中屏幕判斷用戶姿勢是否為菜單退出命令具體為:計算兩個手臂肩關(guān)節(jié)、肘關(guān)節(jié)和腕關(guān)節(jié)對應(yīng)的角度是否大于150°,如果大于,則表示用戶姿勢為菜單退出命令。
有益效果:1)本發(fā)明易于用戶學(xué)習(xí)。菜單界面激活姿勢和菜單項選擇姿勢的設(shè)計都基于用戶生活中常用動作,因此用戶在經(jīng)過短暫學(xué)習(xí)后即可熟練使用;2)菜單交互設(shè)計基于人體運動感知原理,易于用戶交互使用。人機交互中,高度視覺注意的交互動作(例如精確點擊、滑動)往往導(dǎo)致長的任務(wù)時間和高的錯誤率。本發(fā)明技術(shù)不要求用戶在空中進行精確的點擊和滑動操作,而只是憑借手臂和身體姿勢進行菜單命令選擇。選擇過程中,用戶在無需高度視覺注意的情況下,能夠大概感知手臂與身體的角度。例如,用戶向左或者向右伸出手臂,能夠輕松將手臂與身體大致形成90°。這種基于人體運動感知的交互方式不要求高度視覺注意,因此能夠產(chǎn)生較好的交互表現(xiàn);3)本發(fā)明針對的是體感交互大屏幕,目前常見的體感交互設(shè)備可滿足技術(shù)實現(xiàn)要求(即檢測到身體骨骼數(shù)據(jù)),無需其他設(shè)備,因此技術(shù)發(fā)明經(jīng)濟實用;4)本發(fā)明軟件設(shè)計簡單,不包含復(fù)雜的算法,便于實現(xiàn)和移植,因此設(shè)計方案應(yīng)用范圍廣。
附圖說明
圖1為本發(fā)明的菜單界面激活方式示意圖;
其中,(a)界面激活姿勢;(b)激活姿勢檢測示意圖,實線為體感設(shè)備所檢測的骨骼數(shù)據(jù),虛線為所畫連線;(c)界面退出姿勢。
圖2為本發(fā)明的菜單命令選擇方式示意圖;
其中,(a)手臂擺動進行菜單選定;(b)手臂角度計算,其中實線為體感設(shè)備所檢測的骨骼數(shù)據(jù),虛線為所畫連線;(c)在屏幕上的菜單界面,加粗線段和虛直線為示例所用。
圖3為本發(fā)明的體感交互流程圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明作更進一步的說明。
本發(fā)明所采用的技術(shù)方案包含三部分。
第一,菜單界面激活方式。如圖1所示,本發(fā)明采用“隱式”菜單方式,即菜單在通常狀態(tài)下不可見,只有用戶需要選擇命令才被激活呈現(xiàn)出來。這種“隱式”菜單的優(yōu)點在于它處于非激活狀態(tài)下不會占據(jù)屏幕空間。本發(fā)明設(shè)計了如下“隱式”菜單激活機制。如圖1(a)所示,用戶雙手叉腰,即表示該激活機制。本發(fā)明選擇此姿勢有兩個原因:1)該姿勢是日常生活中較為常用的姿勢,便于用戶記憶和執(zhí)行;2)該姿勢在已有體感交互中應(yīng)用較少,不會與其他交互方式?jīng)_突,因此可以作為一種可用的菜單界面激活方式。本發(fā)明設(shè)計了一種簡單的算法來判斷雙手叉腰的動作。如圖1(b)所示,當(dāng)用戶雙手叉腰時,肩關(guān)節(jié)、肘關(guān)節(jié)和腕關(guān)節(jié)構(gòu)成的三角形(左手對應(yīng)△b1a1c1,右手對應(yīng)△b2a2c2)為銳角三角形,則表明當(dāng)前姿勢為雙手叉腰姿勢。
第二,菜單命令選擇方式。如圖2所示,在激活菜單界面后,本發(fā)明設(shè)計了一種策略便于用戶選擇菜單命令,包括兩塊設(shè)計。其一是菜單界面設(shè)計。該設(shè)計借鑒背景技術(shù)中介紹的扇形菜單,將設(shè)計菜單為圓形,并將其等分為八份,每一份為45°,對應(yīng)一個菜單項。菜單項的最上方菜單角度(如圖2(c)∠abo所示)被中垂線平分,其它菜單項則依次排列。其二是和上述菜單項的交互設(shè)計。用戶為了選定屏幕中某一菜單項,一個手臂保持激活菜單策略所用姿勢,另一手臂伸直移動到目標(biāo)菜單項對應(yīng)的角度范圍內(nèi),并停留500ms至1000ms即可。通過計算水平線到肩關(guān)節(jié)和腕關(guān)節(jié)連線的夾角(如圖2(b)所示,直線ce到水平線的夾角θ),來判斷手臂在哪個菜單項對應(yīng)的角度內(nèi)。對于正上方(如圖2(c)∠abo表示)和正下方菜單項(如圖2(c)∠abo的向下相對角度),任何一只手臂都可以進行選擇。如果存在多級菜單選擇,則在當(dāng)前菜單選定后,用戶可繼續(xù)重復(fù)該菜單項的交互動作進行下級菜單選擇。
第三,菜單界面退出方式。當(dāng)用戶將兩個手垂直放下時(圖1(c)),即退出菜單界面。本發(fā)明設(shè)計了一個簡單的算法來判斷手臂下垂姿勢:即計算兩個手臂肩關(guān)節(jié)、肘關(guān)節(jié)和腕關(guān)節(jié)對應(yīng)的∠b3a3c3和∠b4a4c4是否大于150°,如果大于,則表示手臂垂直放下。
圖3為本發(fā)明的體感交互流程圖。如圖3所示,初始狀態(tài)為菜單等待激活狀態(tài)。如果檢測到激活姿勢,菜單則被激活,顯示菜單,等待后續(xù)輸入命令。后續(xù)輸入命令有三種情況。第一是菜單退出命令,這種情況下系統(tǒng)回到初始狀態(tài)。第二是菜單選擇命令,系統(tǒng)根據(jù)用戶的姿勢進行菜單命令選擇。此階段如果有次級菜單,則更新菜單并等待輸入姿勢狀態(tài)。如果沒有次級菜單,則執(zhí)行命令同時菜單進入初始狀態(tài)。第三是其他命令,系統(tǒng)不響應(yīng),仍然處于菜單顯示并等待后續(xù)輸入命令狀態(tài)。
以上所述菜單設(shè)計以及姿勢檢測方法僅為本發(fā)明的較佳實施例,凡依本發(fā)明申請專利范圍所做的菜單設(shè)計和輸入姿勢均等變化與修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。