失效狀態(tài)(見圖4狀態(tài)2)時(shí),菜單選項(xiàng)呈灰色。當(dāng)菜單處于開始選擇狀態(tài)(見圖4狀態(tài)3)時(shí),當(dāng)前被選擇的菜單項(xiàng)高亮顯示,可視反饋出當(dāng)前手臂伸展的位置信息。若用戶一直保持手臂當(dāng)前的向前伸展?fàn)顟B(tài)大于0.8秒,高亮的菜單項(xiàng)就會(huì)被選中。選擇完成之后,Stretching組件自動(dòng)消失。
[0049]與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果為:
[0050](I)提出不使用佩戴式傳感器,基于固定式的深度攝像機(jī),使用上臂伸展信息來進(jìn)行菜單命令選擇的方法,并且不影響手指精細(xì)動(dòng)作。
[0051](2)設(shè)計(jì)了 Stretching組件來執(zhí)行深度攝像機(jī)捕捉下的離散性和連續(xù)性的交互任務(wù)。通過安置在顯示屏幕上方的深度攝像機(jī)采集用戶上臂伸展信息,控制動(dòng)態(tài)光標(biāo)在一維形狀菜單(如線,圓)上不斷移動(dòng),進(jìn)行菜單命令選擇,通過該組件的不同選擇轉(zhuǎn)換為指令對(duì)大屏幕進(jìn)行控制。
[0052](3)提出了將手臂的伸展長(zhǎng)度與菜單選擇動(dòng)態(tài)光標(biāo)位置的線性映射方法,并給出了相應(yīng)的計(jì)算公式。
[0053](4)設(shè)計(jì)了基于手臂伸展位置變化的菜單選擇狀態(tài)轉(zhuǎn)換圖。
【附圖說明】
[0054]圖1為一位右手操作的用戶使用本發(fā)明在手臂伸展的同時(shí)進(jìn)行任務(wù)選擇示意圖。
[0055]圖2為用戶在圖1狀態(tài)下使用本發(fā)明示意圖;
[0056](a)矩形菜單,(b)圓形菜單。
[0057]圖3為用戶計(jì)算本發(fā)明中某個(gè)菜單項(xiàng)是否被選中的坐標(biāo)系。
[0058]圖4為本發(fā)明的狀態(tài)轉(zhuǎn)換圖。
[0059]圖5為動(dòng)態(tài)光標(biāo)的計(jì)算流程圖。
【具體實(shí)施方式】
[0060]為了使本技術(shù)領(lǐng)域的人員更好的理解本發(fā)明,下面結(jié)合附圖和實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明。
[0061]I)計(jì)算機(jī)通過深度相機(jī)獲取手心位置并計(jì)算用戶的手臂長(zhǎng)度信息L,
[0062]2)首先參照?qǐng)D3,圖3是實(shí)現(xiàn)動(dòng)態(tài)光標(biāo)的二維笛卡兒坐標(biāo)系原理圖,動(dòng)態(tài)光標(biāo)頭在坐標(biāo)的原點(diǎn),視點(diǎn)在光標(biāo)上z坐標(biāo)軸的正向無限處,動(dòng)態(tài)光標(biāo)是手臂向量在XY平面上的投影。動(dòng)態(tài)光標(biāo)形狀的計(jì)算可參考圖5,其步驟如下:
[0063]設(shè)定初始參數(shù),包含L,Y ;
[0064]所述設(shè)定初始參數(shù)其值需根據(jù)顯示屏的參數(shù)以及希望得到的效果來設(shè)定。
[0065]計(jì)算動(dòng)態(tài)光標(biāo)的位置,其詳細(xì)步驟如下:SCPosit1n = L/Y*CPosit1n ;其中CPosit1n為當(dāng)前手臂所在位置。
[0066]3)狀態(tài)轉(zhuǎn)換(見圖4):
[0067]見圖2,Stretching組件的由菜單項(xiàng)包圍的內(nèi)區(qū)域稱為中心區(qū)域(CenterReg1n)??偣灿兴姆N狀態(tài):
[0068]狀態(tài)1:菜單被激活。
[0069]狀態(tài)2:菜單失效。此時(shí)手臂處于向前水平伸展?fàn)顟B(tài),動(dòng)態(tài)光標(biāo)進(jìn)入了某個(gè)菜單項(xiàng)的范圍。
[0070]可由狀態(tài)I進(jìn)入狀態(tài)2,狀態(tài)轉(zhuǎn)移條件是:在動(dòng)態(tài)光標(biāo)處于狀態(tài)1,光標(biāo)擊中了某個(gè)菜單項(xiàng)的邊緣。
[0071]狀態(tài)3:菜單選擇開始。此時(shí)手臂處于向前水平伸展?fàn)顟B(tài),動(dòng)態(tài)光標(biāo)進(jìn)入中心區(qū)域的內(nèi)部。
[0072]可由狀態(tài)I進(jìn)入狀態(tài)3,狀態(tài)轉(zhuǎn)移條件是:在動(dòng)態(tài)光標(biāo)處于狀態(tài)I,此時(shí)手臂處于向前水平伸展?fàn)顟B(tài),動(dòng)態(tài)光標(biāo)完全位于中心區(qū)域的內(nèi)部。
[0073]可由狀態(tài)2進(jìn)入狀態(tài)3,狀態(tài)轉(zhuǎn)移條件是:在動(dòng)態(tài)光標(biāo)處于狀態(tài)2,此時(shí)手臂處于向前水平伸展?fàn)顟B(tài),動(dòng)態(tài)光標(biāo)重新進(jìn)入中心區(qū)域的內(nèi)部。
[0074]狀態(tài)4:菜單選擇完成。
[0075]可由狀態(tài)3進(jìn)入狀態(tài)4,狀態(tài)轉(zhuǎn)移條件是:在動(dòng)態(tài)光標(biāo)處于狀態(tài)3,此時(shí)手臂處于向前水平伸展?fàn)顟B(tài),光標(biāo)進(jìn)入了某個(gè)菜單項(xiàng)的范圍并保持在該菜單項(xiàng)區(qū)域內(nèi)部。
[0076]狀態(tài)轉(zhuǎn)換全過程:
[0077]1、動(dòng)態(tài)光標(biāo)處于狀態(tài)1,菜單被激活,中心處于手掌中心位置。光標(biāo)自動(dòng)跟隨手臂前后伸展運(yùn)動(dòng),知道用戶完成選擇活動(dòng)后消失。在此過程中,手臂與屏幕的距離信息決定了菜單的下一個(gè)狀態(tài)。
[0078]2、動(dòng)態(tài)光標(biāo)處于狀態(tài)I,動(dòng)態(tài)光標(biāo)整體位于本發(fā)明Stretching組件界面的中心區(qū)域內(nèi),狀態(tài)轉(zhuǎn)換至狀態(tài)3:開始準(zhǔn)備選擇狀態(tài)。在狀態(tài)3,用戶通過保持手臂當(dāng)前的向前伸展?fàn)顟B(tài)大于0.8秒來完成選擇任務(wù)。
[0079]3、動(dòng)態(tài)光標(biāo)處于狀態(tài)1,在用戶執(zhí)行選擇任務(wù)之前,動(dòng)態(tài)光標(biāo)已經(jīng)擊中了Stretching組件中的某個(gè)菜單項(xiàng)的邊緣,那么狀態(tài)轉(zhuǎn)換至狀態(tài)2,菜單失效。
[0080]4、若用戶想從狀態(tài)2轉(zhuǎn)移到狀態(tài)3,必須調(diào)整手臂與屏幕之間的距離,使得動(dòng)態(tài)光標(biāo)整體位于本發(fā)明Stretching組件界面的中心區(qū)域內(nèi)。
[0081]5、用戶當(dāng)前處于狀態(tài)3,此時(shí)只要使動(dòng)態(tài)光標(biāo)擊中本發(fā)明Stretching組件的某個(gè)菜單選項(xiàng)邊緣或進(jìn)入菜單選項(xiàng)區(qū)域,并保持0.8秒,即可完成某個(gè)菜單項(xiàng)的選擇活動(dòng)。
[0082]實(shí)施例
[0083]在運(yùn)行Stretching組件的軟件環(huán)境中,Stretching組件的后臺(tái)任務(wù)不斷與深度攝像機(jī)進(jìn)行通信,實(shí)時(shí)檢測(cè)用戶的手心位置,當(dāng)用戶的手臂處于自然下垂,手心位置位于肩關(guān)節(jié)以下時(shí),Stretching組件處于未激活狀態(tài)。在進(jìn)行圖片瀏覽操作時(shí),用戶在自然狀態(tài)下,將手抬起肩部高度左右的位置,此時(shí),Stretching組件激活并顯示一個(gè)含有“縮放、旋轉(zhuǎn)、返回上一級(jí)”三個(gè)選項(xiàng)的豎直方向菜單,光標(biāo)此時(shí)處在頂部菜單邊緣,沒有菜單選項(xiàng)被選中,此時(shí)手掌前推,則手臂的伸展長(zhǎng)度增加,光標(biāo)位置開始向下移動(dòng),從上到下依次經(jīng)過三個(gè)菜單選項(xiàng),當(dāng)手掌停止移動(dòng)時(shí)則光標(biāo)固定在某個(gè)菜單選項(xiàng)之上,若手掌位置保持0.8秒,則該選項(xiàng)菜單被選中,調(diào)用相應(yīng)的程序功能。當(dāng)光標(biāo)觸及最低端的菜單選項(xiàng)時(shí),即使手臂繼續(xù)前伸,光標(biāo)也不會(huì)移動(dòng)。當(dāng)手臂回收時(shí),則手臂的伸展長(zhǎng)度減少,則此時(shí)光標(biāo)從當(dāng)前位置由下至上移動(dòng),若觸及最頂端的菜單選項(xiàng),則光標(biāo)停止移動(dòng)。在Stretching組件菜單顯示時(shí),若手臂放下或選擇了 “返回上一級(jí)”選項(xiàng),則Stretching組件菜單消失。
【主權(quán)項(xiàng)】
1.一種利用上臂伸展信息進(jìn)行命令選擇的方法,其步驟為: 1)在控制器上創(chuàng)建一Stretching組件及該Stretching組件的菜單; 2)控制器通過顯示屏幕上的深度攝像機(jī)實(shí)時(shí)采集該用戶手心的三維空間位置,然后計(jì)算手心位置到該用戶身體平面的投影距離,得到該用戶的手臂伸展長(zhǎng)度并將其發(fā)送給Stretching 組件; 3)Stretching組件將該用戶的手臂伸展長(zhǎng)度轉(zhuǎn)換為屏幕上光標(biāo)在所述菜單上的顯示位置; 其中,手臂伸展長(zhǎng)度為零時(shí),光標(biāo)位于所述菜單的起點(diǎn); 4)用戶通過改變手臂伸展長(zhǎng)度控制光標(biāo)移動(dòng),當(dāng)光標(biāo)移動(dòng)到所述菜單上的一待選菜單項(xiàng)時(shí),保持手勢(shì)懸停時(shí)間大于設(shè)定時(shí)間,則該菜單項(xiàng)被選中。
2.如權(quán)利要求1所述的方法,其特征在于,所述Stretching組件根據(jù)公式SCPosit1n=L/Y*CPosit1n將該用戶的手臂伸展長(zhǎng)度轉(zhuǎn)換為屏幕上光標(biāo)在所述菜單上的顯示位置;其中,SCPosit1n為光標(biāo)的位置,CPosit1n為當(dāng)前手臂所在位置,屏幕的上下方向長(zhǎng)度為Y像素,L為該用戶的手臂伸展長(zhǎng)度。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述菜單為餅形菜單,光標(biāo)起點(diǎn)為餅形菜單的圓心,光標(biāo)在圓心到菜單外邊緣的范圍內(nèi)與手臂伸展長(zhǎng)度進(jìn)行映射。
4.如權(quán)利要求1或2所述的方法,其特征在于,所述菜單為豎直菜單或水平菜單,光標(biāo)起點(diǎn)為菜單的一端,光標(biāo)的位置在菜單長(zhǎng)度范圍內(nèi)與手臂伸展長(zhǎng)度進(jìn)行映射。
5.如權(quán)利要求1或2所述的方法,其特征在于,當(dāng)進(jìn)行圖片瀏覽操作時(shí),用戶抬起手向外推或向里收時(shí),Stretching組件自動(dòng)控制圖片相對(duì)應(yīng)地在屏幕上放大或縮小顯示。
6.如權(quán)利要求1或2所述的方法,其特征在于,所述菜單狀態(tài)包括:菜單被激活,菜單失效,菜單選擇開始和菜單選擇完成。
7.如權(quán)利要求6所述的方法,其特征在于,當(dāng)用戶將手臂抬起至肩部位置時(shí),菜單處于被激活狀態(tài);當(dāng)手臂處于向前水平伸展?fàn)顟B(tài),光標(biāo)位于某個(gè)菜單項(xiàng)的邊緣時(shí),菜單處于失效狀態(tài);當(dāng)手臂處于向前水平伸展?fàn)顟B(tài),光標(biāo)進(jìn)入所述菜單的中心區(qū)域時(shí),菜單處于選擇開始狀態(tài);當(dāng)手臂處于向前水平伸展?fàn)顟B(tài),光標(biāo)位于某個(gè)菜單項(xiàng)的邊緣并保持,則菜單處于選擇完成狀態(tài)。
【專利摘要】本發(fā)明公開了一種利用上臂伸展信息進(jìn)行命令選擇的方法。本方法為:1)在控制器上創(chuàng)建一Stretching組件及其菜單;2)控制器通過顯示屏幕上的深度攝像機(jī)實(shí)時(shí)采集該用戶手心的三維空間位置,然后計(jì)算手心位置到該用戶身體平面的投影距離,得到該用戶的手臂伸展長(zhǎng)度并將其發(fā)送給Stretching組件;3)該組件將該用戶的手臂伸展長(zhǎng)度轉(zhuǎn)換為屏幕上光標(biāo)在所述菜單上的顯示位置;4)用戶通過改變手臂伸展長(zhǎng)度控制光標(biāo)移動(dòng),當(dāng)光標(biāo)移動(dòng)到所述菜單上的一待選菜單項(xiàng)時(shí),保持手勢(shì)懸停時(shí)間大于設(shè)定時(shí)間,則該菜單項(xiàng)被選中。本發(fā)明不使用佩戴式傳感器,基于深度攝像機(jī),使用上臂伸展信息來進(jìn)行菜單命令選擇的方法,不影響手指精細(xì)動(dòng)作。
【IPC分類】G06F3-0487, G06F3-0484, G06F3-01
【公開號(hào)】CN104866096
【申請(qǐng)?zhí)枴緾N201510254390
【發(fā)明人】田豐, 劉杰, 王宏安
【申請(qǐng)人】中國(guó)科學(xué)院軟件研究所
【公開日】2015年8月26日
【申請(qǐng)日】2015年5月18日