專利名稱:基于深度攝像頭的菜單控制方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及人機(jī)交互技術(shù)領(lǐng)域,特別是涉及一種基于深度攝像頭的菜單控制方法及系統(tǒng)。
背景技術(shù):
人機(jī)交互(Human-Computer Interaction, HCI),是指人與計(jì)算機(jī)之間使用某種對(duì)話語言,以一定的交互方式,為完成確定任務(wù)的人與計(jì)算機(jī)之間的信息交換過程。鼠標(biāo)和鍵盤等是傳統(tǒng)的人機(jī)交互設(shè)備,近年來出現(xiàn)了諸如觸控控制、聲音控制、手勢(shì)控制等各種新型的人機(jī)交互方式,在用戶體驗(yàn)的自然性和友好性等方面進(jìn)行改進(jìn)。特別是以手勢(shì)控制為代表的非接觸式人機(jī)交互方式,通過各類傳感設(shè)備,實(shí)時(shí)地或在較短時(shí)間內(nèi)完成對(duì)手部動(dòng)作的識(shí)別過程,并轉(zhuǎn)化為計(jì)算機(jī)等宿主設(shè)備能夠識(shí)別的命令,是目前非常流行的一種人機(jī)交互方式。隨著深度攝像頭的出現(xiàn),尤其是微軟XBOX所使用的Kinect深度攝像頭的出現(xiàn),并且伴隨著基于計(jì)算機(jī)視覺技術(shù)的人機(jī)交互技術(shù)的發(fā)展,目前基于深度攝像頭的人機(jī)控制系統(tǒng)越來越多,為此,在這方面的研究也逐漸增多。由于深度攝像頭在目標(biāo)分割、目標(biāo)跟蹤等方面具有很強(qiáng)的靈活性,因此深度攝像頭的出現(xiàn),為基于計(jì)算機(jī)視覺的人機(jī)交互,提供了很大便利。目前,基于深度攝像頭的人機(jī)互動(dòng)控制系統(tǒng),通常采用以下兩種方式進(jìn)行系統(tǒng)控制:第一種,基于動(dòng)作識(shí)別的系統(tǒng)控制方式。通過采用不同的動(dòng)作,如手勢(shì)、身體姿態(tài),解析為系統(tǒng)不同的控制指令,從而對(duì)不同系統(tǒng)進(jìn)行控制,此種方式由于需要將用戶不同的動(dòng)作解析成系統(tǒng)不同的控制指令,當(dāng)系統(tǒng)需要多種控制方式時(shí),需要用戶記憶多種動(dòng)作;當(dāng)需要長時(shí)間進(jìn)行系統(tǒng)操作時(shí),用戶容易疲勞;相同的動(dòng)作要求,如拍手,但是不同的用戶很可能會(huì)有不同的姿態(tài),從而可能導(dǎo)致系統(tǒng)產(chǎn)生誤操作。第二種,基于熱感應(yīng)區(qū)的系統(tǒng)控制方式。往往預(yù)先將屏幕劃分成不同的熱感應(yīng)區(qū),當(dāng)手部在不同的感應(yīng)區(qū)中懸停一定的時(shí)間,即相應(yīng)的感應(yīng)區(qū)就被選中,系統(tǒng)執(zhí)行相應(yīng)的控制,完成相應(yīng)操作。對(duì)于這種控制方式,當(dāng)系統(tǒng)需要控制的菜單較多,屏幕感應(yīng)區(qū)相對(duì)面積較小時(shí),或者采用分層的方式,用戶需要進(jìn)行多次控制,從而使用戶操控的時(shí)間過長,容易疲勞。如果預(yù)先劃分的感應(yīng)區(qū)過多,用戶手的位置和屏幕感應(yīng)區(qū)之間的對(duì)應(yīng)關(guān)系不容易把握,并且手部的移動(dòng)位移和屏幕鼠標(biāo)的移動(dòng)位移之間的對(duì)應(yīng)關(guān)系不容意把握,從而容易造成誤操作,而且,用戶需要較長時(shí)間的訓(xùn)練才能夠掌握。
發(fā) 明內(nèi)容基于上述問題,本發(fā)明提供了一種基于深度攝像頭的菜單控制方法及系統(tǒng),避免了用戶動(dòng)作記憶以及感應(yīng)區(qū)劃分的問題,只需要用戶的控制部位在深度攝像頭的控制區(qū)域內(nèi)的任意位置處懸停一定時(shí)間,隨時(shí)都可以生成相應(yīng)的控制菜單,進(jìn)而進(jìn)行選擇控制等操作,從而大大簡化了非觸控的系統(tǒng)控制。
本發(fā)明提供的基于深度攝像頭的菜單控制方法,用于在人機(jī)交互系統(tǒng)中進(jìn)行菜單的選擇控制,包括以下步驟:獲取用戶區(qū)域內(nèi)的圖像深度信息;根據(jù)獲取的所述圖像深度信息確認(rèn)控制部位,并對(duì)所述控制部位進(jìn)行跟蹤識(shí)別;根據(jù)所述控制部位在深度攝像頭的視場(chǎng)范圍內(nèi)任意位置處的移動(dòng)狀態(tài),生成并選中相應(yīng)的菜單;執(zhí)行選中的菜單指令。在其中一個(gè)實(shí)施例中,所述根據(jù)控制部位在深度攝像頭的視場(chǎng)范圍內(nèi)任意位置處的移動(dòng)狀態(tài),生成并選中相應(yīng)的菜單,包括如下步驟:打開菜單控制界面;當(dāng)控制部位移動(dòng)至深度攝像頭的視場(chǎng)范圍內(nèi)時(shí),判斷所述控制部位在所述視場(chǎng)范圍內(nèi)任意位置處的懸停時(shí)間是否大于預(yù)設(shè)的第一閾值時(shí)間;若判斷所述控 制部位在所述視場(chǎng)范圍內(nèi)的相應(yīng)位置處懸停時(shí)間大于預(yù)設(shè)的第一閾值時(shí)間,則生成菜單列表;將生成的所述菜單列表顯示在當(dāng)前所述控制部位在屏幕上的映射位置處,并在屏幕上所述菜單列表所在位置的預(yù)設(shè)范圍內(nèi),生成菜單列表感應(yīng)區(qū)以及相應(yīng)的菜單感應(yīng)區(qū);當(dāng)所述控制部位移動(dòng)至所述菜單列表中的相應(yīng)的菜單感應(yīng)區(qū)時(shí),判斷所述控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間是否大于預(yù)設(shè)的第二閾值時(shí)間;若判斷所述控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間大于預(yù)設(shè)的第二閾值時(shí)間,則選中所述菜單。在其中一個(gè)實(shí)施例中,在判斷所述控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間是否大于預(yù)設(shè)的第二閾值時(shí)間后,還包括如下步驟:若判斷所述控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間小于或者等于所述預(yù)設(shè)的第二閾值時(shí)間,則進(jìn)一步判斷所述控制部位是否在所述菜單列表感應(yīng)區(qū)內(nèi);若判斷所述控制部位在所述菜單列表感應(yīng)區(qū)內(nèi),則保持所述菜單列表;若判斷所述控制部位移動(dòng)至所述菜單列表感應(yīng)區(qū)外,則關(guān)閉所述菜單列表。在其中一個(gè)實(shí)施例中,所述若控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間大于預(yù)設(shè)的第二閾值時(shí)間,則選中所述菜單之后,還包括以下步驟:生成子菜單列表;將生成的所述子菜單列表顯示在當(dāng)前所述控制部位在屏幕上的映射位置處,并在屏幕上所述子菜單列表所在位置的預(yù)設(shè)范圍內(nèi),生成子菜單列表感應(yīng)區(qū)以及相應(yīng)的子菜單感應(yīng)區(qū);當(dāng)所述控制部位移動(dòng)至所述子菜單列表中的相應(yīng)的子菜單感應(yīng)區(qū)時(shí),判斷所述控制部位在所述相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間是否大于預(yù)設(shè)的第三閾值時(shí)間;若所述控制部位在所述相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間大于預(yù)設(shè)的第三閾值時(shí)間,則選中所述子菜單。在其中一個(gè)實(shí)施例中,所述判斷控制部位在相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間是否大于所述預(yù)設(shè)的第三閾值時(shí)間后,還包括以下步驟:若判斷所述控制部位在相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間小于或者等于所述預(yù)設(shè)的第三閾值時(shí)間,則進(jìn)一步判斷所述控制部位是否在所述子菜單列表感應(yīng)區(qū)內(nèi);若判斷所述控制部位在所述子菜單列表感應(yīng)區(qū)內(nèi),則保持所述子菜單列表;若判斷所述控制部位移動(dòng)至所述子菜單列表感應(yīng)區(qū)外,則關(guān)閉所述子菜單列表。在其中一個(gè)實(shí)施例中,所述獲取用戶區(qū)域內(nèi)的圖像深度信息之后,還包括如下步驟:根據(jù)獲取的所述用戶區(qū)域內(nèi)的圖像深度信息,提取控制用戶信息。在其中一個(gè)實(shí)施例中,所述控制部位包括但不限于用戶的手指、手掌、頭部以及軀干。相應(yīng)的,本發(fā)明提供的基于深度攝像頭的菜單控制系統(tǒng),用于在人機(jī)交互系統(tǒng)中進(jìn)行菜單的選擇控制,包括用戶端、深度信息獲取裝置以及云臺(tái)控制服務(wù)器;所述深度信息采集 裝置,用于獲取用戶區(qū)域內(nèi)的圖像深度信息;所述云臺(tái)控制服務(wù)器包括跟蹤模塊、菜單控制模塊以及執(zhí)行模塊,其中:所述跟蹤模塊,用于根據(jù)獲取的所述圖像深度信息確認(rèn)控制部位,并對(duì)所述控制部位進(jìn)行跟蹤識(shí)別;所述菜單控制模塊,用于根據(jù)所述控制部位在深度攝像頭的視場(chǎng)范圍內(nèi)任意位置處的移動(dòng)狀態(tài),生成并選中相應(yīng)的菜單;所述執(zhí)行模塊,用于執(zhí)行選中的菜單指令。在其中一個(gè)實(shí)施例中,所述菜單控制模塊,包括啟動(dòng)模塊、判斷模塊、菜單列表生成模塊、菜單顯示模塊、菜單預(yù)選模塊、菜單選中模塊,其中:所述啟動(dòng)模塊,用于打開菜單控制界面;所述判斷模塊,用于當(dāng)控制部位移動(dòng)至深度攝像頭的視場(chǎng)范圍內(nèi)時(shí),判斷所述控制部位在所述視場(chǎng)范圍內(nèi)任意位置處的懸停時(shí)間是否大于預(yù)設(shè)的第一閾值時(shí)間;所述菜單列表生成模塊,用于在判斷所述控制部位在所述視場(chǎng)范圍內(nèi)的相應(yīng)位置處懸停時(shí)間大于預(yù)設(shè)的第一閾值時(shí)間后,生成菜單列表;所述菜單顯示模塊,用于將生成的所述菜單列表顯示在當(dāng)前所述控制部位在屏幕上的映射位置處,并在屏幕上所述菜單列表所在位置的預(yù)設(shè)范圍內(nèi),生成菜單列表感應(yīng)區(qū)以及相應(yīng)的菜單感應(yīng)區(qū);所述菜單預(yù)選模塊包括第一判斷子模塊,所述第一判斷子模塊用于當(dāng)所述控制部位移動(dòng)至所述菜單列表中的相應(yīng)的菜單感應(yīng)區(qū)時(shí),判斷所述控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間是否大于預(yù)設(shè)的第二閾值時(shí)間;所述菜單選中模塊包括菜單選中子模塊,所述菜單選中子模塊用于在判斷所述控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間大于預(yù)設(shè)的第二閾值時(shí)間后,選中所述菜單。在其中一個(gè)實(shí)施例中,所述菜單預(yù)選模塊還包括第二判斷子模塊、菜單列表保持子模塊以及菜單列表關(guān)閉子模塊,其中:所述第二判斷子模塊,用于在判斷所述控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間小于或者等于所述預(yù)設(shè)的第二閾值時(shí)間后,進(jìn)一步判斷所述控制部位是否在所述子菜單列表感應(yīng)區(qū)內(nèi);所述菜單列表保持子模塊,用于在判斷所述控制部位在所述菜單列表感應(yīng)區(qū)內(nèi)后,保持所述采單列表;
所述菜單列表關(guān)閉子模塊,用于在判斷所述控制部位移動(dòng)至所述菜單列表感應(yīng)區(qū)外后,關(guān)閉所述菜單列表。在其中一個(gè)實(shí)施例中,所述菜單選中模塊還包括子菜單控制模塊;所述子菜單控制模塊包括子菜單列表生成模塊、子菜單顯示模塊、子菜單預(yù)選模塊以及子菜單選中模塊,其中:所述子菜單列表生成模塊,用于生成子菜單列表;所述子菜單顯示模塊,用于將生成的所述子菜單列表顯示在當(dāng)前所述控制部位在屏幕上的映射位置處,并在屏幕上所述子菜單列表所在位置的預(yù)設(shè)范圍內(nèi),生成子菜單列表感應(yīng)區(qū)以及相應(yīng)的子菜單感應(yīng)區(qū);所述子菜單預(yù)選模塊包括第三判斷子模塊,所述第三判斷子模塊用于當(dāng)所述控制部位移動(dòng)至所述子菜單列表中的相應(yīng)的子菜單感應(yīng)區(qū)時(shí),判斷所述控制部位在所述相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間是否大于預(yù)設(shè)的第三閾值時(shí)間;所述子菜單選中模塊,用于在所述控制部位在所述相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間大于預(yù)設(shè)的第三閾值時(shí)間后,選中所述子菜單。在其中一個(gè)實(shí)施例中,所述子菜單預(yù)選模塊還包括第四判斷子模塊、子菜單列表保持子模塊以及子菜單列表關(guān)閉子模塊;所述第四判斷子模塊,用于在判斷所述控制部位在所述相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間小于或者等于所述預(yù)設(shè)的第三閾值時(shí)間后,進(jìn)一步判斷所述控制部位是否在所述子菜單列表感應(yīng)區(qū)內(nèi);所述子菜單列表保持子模塊,用于在判斷所述控制部位在所述子菜單列表感應(yīng)區(qū)內(nèi)后,保持所述子菜單列表;所述子菜單列表關(guān)閉子模塊,用于在判斷所述控制部位移動(dòng)至所述子菜單列表感應(yīng)區(qū)外后,關(guān)閉所述子菜單列表。在其中一個(gè)實(shí)施例中,所述基于深度攝像頭的菜單控制系統(tǒng)還包括用戶提取模塊:所述用戶提取模塊,用于根據(jù)獲取的所述用戶區(qū)域內(nèi)的圖像深度信息,提取控制用戶信息。在其中一個(gè)實(shí)施例中,所述控制部位包括但不限于用戶的手指、手掌、頭部以及軀干。本發(fā)明的有益效果:本發(fā)明提供的基于深度攝像頭的菜單控制方法及系統(tǒng),其中方法包括:獲取用戶區(qū)域內(nèi)的圖像深度信息;根據(jù)獲取的所述圖像深度信息確認(rèn)控制部位,并對(duì)所述控制部位進(jìn)行跟蹤識(shí)別;根據(jù)所述控制部位在深度攝像頭的視場(chǎng)范圍內(nèi)任意位置處的移動(dòng)狀態(tài),生成并選中相應(yīng)的菜單;執(zhí)行選中的菜單指令。具體采用了一種在深度攝像頭的視場(chǎng)范圍內(nèi)控制部位懸停、菜單生成,控制部位微移至預(yù)選菜單,進(jìn)而懸停一定時(shí)間、菜單選中,系統(tǒng)執(zhí)行相應(yīng)的控制指令的菜單控制方法。通過上述方法及系統(tǒng),實(shí)現(xiàn)了只要用戶的控制部位在深度攝像頭的視場(chǎng)范圍內(nèi)懸停一定時(shí)間,屏幕上的任意位置都可以生成相應(yīng)的控制菜單,進(jìn)而進(jìn)行選擇控制等操作,避免了傳統(tǒng)方式中的用戶動(dòng)作記憶以及預(yù)先劃分屏幕感應(yīng)區(qū)所帶來的不便,從而大大簡化了非觸控的系統(tǒng)控制。
圖1為本發(fā)明基于深度攝像頭的菜單控制方法的一個(gè)實(shí)施例的流程示意圖;圖2為圖1所示的本發(fā)明基于深度攝像頭的菜單控制方法的實(shí)施例中的根據(jù)控制部位在深度攝像頭的視場(chǎng)范圍內(nèi)任意位置處的移動(dòng)狀態(tài),生成并選中相應(yīng)的菜單的具體流程不意圖;圖3為圖2所示的本發(fā)明基于深度攝像頭的菜單控制方法的實(shí)施例中的選中菜單之后的流程圖;圖4為本發(fā)明基于深度攝像頭的菜單控制系統(tǒng)的一個(gè)實(shí)施例的系統(tǒng)結(jié)構(gòu)示意圖;圖5為圖4所示的本發(fā)明基于深度攝像頭的菜單控制系統(tǒng)的實(shí)施例中的菜單控制模塊的結(jié)構(gòu)示意圖;圖6為本發(fā)明基于深度攝像頭的菜單控制方法及系統(tǒng)的一個(gè)實(shí)施例的示意圖;圖7為圖6中所示的本發(fā)明基于深度攝像頭的菜單控制方法及系統(tǒng)的實(shí)施例的使用狀態(tài)不意圖;圖8為圖7中所示的本發(fā)明基于深度攝像頭的菜單控制方法及系統(tǒng)的實(shí)施例中的菜單列表生成示意圖;圖9為圖7中所示的本發(fā)明基于深度攝像頭的菜單控制方法及系統(tǒng)的實(shí)施例中的菜單選中示意圖;圖10為圖7中所示的本發(fā)明基于深度攝像頭的菜單控制方法及系統(tǒng)的實(shí)施例中的菜單選中后子菜單列表生成示意圖。
具體實(shí)施例方式下面結(jié)合說明書附圖,對(duì)本發(fā)明實(shí)施例中的基于深度攝像頭的菜單控制方法及系統(tǒng)的具體實(shí)施方式
進(jìn)行說明。本發(fā)明提供的基于深度攝像頭的菜單控制方法,用于在人機(jī)交互系統(tǒng)中進(jìn)行菜單的選擇控制,如圖1所示,包括以下步驟:S100、獲取用戶區(qū)域內(nèi)的圖像深度信息;利用深度信息獲取裝置,獲取用戶區(qū)域內(nèi)的圖像深度信息。本設(shè)計(jì)中優(yōu)選深度攝像頭kinect,即微軟發(fā)布的XB0X360體感周邊外設(shè)。S200、根據(jù)獲取的所述圖像深度信息確認(rèn)控制部位,并對(duì)所述控制部位進(jìn)行跟蹤識(shí)別;對(duì)控制部位進(jìn)行識(shí)別跟蹤采用現(xiàn)有技術(shù)實(shí)現(xiàn),本領(lǐng)域技術(shù)人員應(yīng)該可以理解,此處不做詳細(xì)說明。S300、根據(jù)所述控制部位在深度攝像頭的視場(chǎng)范圍內(nèi)任意位置處的移動(dòng)狀態(tài),生成并選中相應(yīng)的菜單;換句話說,本發(fā)明實(shí)施例提供的方法不需要提前劃分屏幕感應(yīng)區(qū),也不需要用戶記憶各種不同的手勢(shì),只要用戶的控制部位,其中包括手部,在深度攝像頭的控制區(qū)域內(nèi),隨時(shí)都可以生成相應(yīng)的控制菜單,從而可以進(jìn)行選擇控制等操作,從而大大簡化了非觸控的系統(tǒng)控制。 所述生成菜單是一種現(xiàn)有技術(shù),其根據(jù)相應(yīng)的內(nèi)容而生成,因此,在本發(fā)明實(shí)施例中,不再詳細(xì)描述。S400、執(zhí)行選中的菜單指令。較佳地,作為一種可實(shí)施方式,所述根據(jù)控制部位在深度攝像頭的視場(chǎng)范圍內(nèi)任意位置處的移動(dòng)狀態(tài),生成并選中相應(yīng)的菜單,如圖2所示,包括如下步驟:S310、打開菜單控制界面;S320、當(dāng)控制部位移動(dòng)至深度攝像頭的視場(chǎng)范圍內(nèi)時(shí),判斷所述控制部位在所述視場(chǎng)范圍內(nèi)任意位置處的懸停時(shí)間是否大于預(yù)設(shè)的第一閾值時(shí)間;若判斷所述控制部位在所述視場(chǎng)范圍內(nèi)任意位置處的懸停時(shí)間均小于或者等于預(yù)設(shè)的第一閾值時(shí)間,則返回步驟S200,繼續(xù)跟蹤所述控制部位。S330、若判斷所述控制部位在所述視場(chǎng)范圍內(nèi)的相應(yīng)位置處懸停時(shí)間大于預(yù)設(shè)的第一閾值時(shí)間,則生成菜單列表;S340、將生成的所述菜單列表顯示在當(dāng)前所述控制部位在屏幕上的映射位置處,并在屏幕上所述菜單列表所在位置的預(yù)設(shè)范圍內(nèi),生成菜單列表感應(yīng)區(qū)以及相應(yīng)的菜單感應(yīng)區(qū);需要說明的是,本發(fā)明實(shí)施例中根據(jù)屏幕上的菜單列表及菜單位置生成相應(yīng)的感應(yīng)區(qū)的技術(shù),為現(xiàn)有技術(shù),本領(lǐng)域技術(shù)人員應(yīng)該可以理解,此處不做過多說明。S350、當(dāng)所述控制部位移動(dòng)至所述菜單列表中的相應(yīng)的菜單感應(yīng)區(qū)時(shí),判斷所述控制部位在所述相應(yīng)的 菜單感應(yīng)區(qū)懸停時(shí)間是否大于預(yù)設(shè)的第二閾值時(shí)間;S360、若判斷所述控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間大于預(yù)設(shè)的第二閾值時(shí)間,則選中所述菜單。較佳地,作為一種可實(shí)施方式,在步驟S350,判斷所述控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間是否大于預(yù)設(shè)的第二閾值時(shí)間后,還包括如下步驟:S351、若判斷所述控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間小于或者等于所述預(yù)設(shè)的第二閾值時(shí)間,則進(jìn)一步判斷所述控制部位是否在所述菜單列表感應(yīng)區(qū)內(nèi);S352、若判斷所述控制部位在所述菜單列表感應(yīng)區(qū)內(nèi),則保持所述菜單列表。S353、若判斷所述控制部位移動(dòng)至所述菜單列表感應(yīng)區(qū)外,則關(guān)閉所述菜單列表,返回步驟S200,繼續(xù)跟蹤所述控制部位。作為一種可實(shí)施方式,為了便于操作,本發(fā)明實(shí)施例中,優(yōu)選用戶的手部為控制部位。為了更清楚的說明本發(fā)明提供的技術(shù)方案,對(duì)上述具體實(shí)施方式
說明如下:以用戶的手部作為控制部位為例;首先,通過深度攝像頭獲取t時(shí)刻的深度圖像幀It,其中時(shí)刻t單位可以是圖像幀,即第t幀圖像It。然后,利用既有算法識(shí)別用戶的手部。當(dāng)對(duì)手部進(jìn)行實(shí)時(shí)跟蹤,t時(shí)刻手部在圖像It中的位置外包圓的圓心位置記作Dt,手部在圖像It中外包圓半徑記作st,單位為像素。進(jìn)行菜單列表生成判斷:計(jì)算時(shí)間區(qū)間(t,t+T)內(nèi),手部最大移動(dòng)的距離SDt,單位是像素,其中參數(shù)T的單位可以用圖像幀,T的取值可以是幾秒之內(nèi)系統(tǒng)所處理的圖像幀總數(shù);SDt = InaxCafe(Z)1.-Dj)) Uj e(r,r + T)
菜單列表生成規(guī)則Βτ,當(dāng)Βτ=1,則生成菜單列表,反之不生成菜單列表;
「 πΛ if D < ST其中ST是閾值,單位是像素,閾值ST可以是固定閾值,如ST=IO ;閾值ST也可以是軟閾值,即跟手部外包圓半徑St具有一定的函數(shù)相關(guān)。當(dāng)Bt=I生成菜單列表,所生成菜單列表的區(qū)域記作MD,單位為像素。菜單選中判斷:當(dāng)菜單列表Mi生成,并且第i個(gè)菜單的感應(yīng)區(qū)域?yàn)镸i,手部移動(dòng)到菜單i的感應(yīng)區(qū)Mi,并且懸浮一定時(shí)間P,單位是秒;如P=3,即手部在菜單上懸浮超過3秒鐘,相應(yīng)的菜單即被選中;當(dāng)手部位置Dt不在菜單區(qū)域MD內(nèi),所生產(chǎn)的菜單將關(guān)閉。如果所選中的菜單含有子菜單,則生成子菜單列表;如果所選中的菜單不含有子菜單,則按照所選中的菜單命令執(zhí)行相應(yīng)操作。較佳地,作為一種可實(shí)施方式,所述若判斷控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間大于預(yù)設(shè)的第二閾值時(shí)間,則選中所述菜單之后,如圖3所示,還包括以下步驟:S361、生成子菜單列表;S362、將生成的所述子菜單列表顯示在當(dāng)前所述控制部位在屏幕上的映射位置處,并在屏幕上所述子菜單列表所在位置的預(yù)設(shè)范圍內(nèi),生成子菜單列表感應(yīng)區(qū)以及相應(yīng)的子菜單感應(yīng)區(qū);S363、當(dāng)所述控制部位移動(dòng)至所述子菜單列表中的相應(yīng)的子菜單感應(yīng)區(qū)時(shí),判斷所述控制部位在所述相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間是否大于預(yù)設(shè)的第三閾值時(shí)間;S364、若所 述控制部位在所述相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間大于預(yù)設(shè)的第三閾值時(shí)間,則選中所述子菜單。較佳地,作為一種可實(shí)施方式,所述判斷控制部位在相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間是否大于所述預(yù)設(shè)的第三閾值時(shí)間后,還包括以下步驟:S365、若判斷所述控制部位在相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間小于或者等于所述預(yù)設(shè)的第三閾值時(shí)間,則進(jìn)一步判斷所述控制部位是否在所述子菜單列表感應(yīng)區(qū)內(nèi);S366、若判斷所述控制部位在所述子菜單列表感應(yīng)區(qū)內(nèi),則保持所述子菜單列表;S367、若判斷所述控制部位移動(dòng)至所述子菜單列表感應(yīng)區(qū)外,則關(guān)閉所述子菜單列表,繼續(xù)跟蹤所述控制部位。在實(shí)際運(yùn)用中,上述方法中的第一閾值時(shí)間、第二閾值時(shí)間以及第三閾值時(shí)間可根據(jù)用戶習(xí)慣預(yù)先設(shè)定,可設(shè)定為不同,也可設(shè)定為相同。較佳地,作為一種可實(shí)施方式,所述第一閾值時(shí)間、所述第二閾值時(shí)間以及所述第三閾值時(shí)間相同,方便用戶操作。較佳地,作為一種可實(shí)施方式,所述獲取用戶區(qū)域內(nèi)的圖像深度信息之后,還包括如下步驟:S110、根據(jù)獲取的所述用戶區(qū)域內(nèi)的圖像深度信息,提取控制用戶信息。主要是從深度攝像頭中提取用戶,從而在深度攝像頭中存在多個(gè)目標(biāo)時(shí),能夠明確控制用戶,可以根據(jù)多個(gè)目標(biāo)距離攝像頭的遠(yuǎn)近進(jìn)行用戶識(shí)別。如果深度攝像頭中只存在一個(gè)用戶目標(biāo),則不需要此步驟。
較佳地,作為一種可實(shí)施方式,所述控制部位包括但不限于用戶的手指、手掌、頭部以及軀干。本發(fā)明實(shí)施例提供的基于深度攝像頭的菜單控制方法,其實(shí)質(zhì)是利用深度攝像頭采集并處理圖像深度信息,通過控制部位懸停、菜單生成,控制部位微移至預(yù)選菜單,再懸停一定時(shí)間、菜單選中這樣的一種簡單的菜單生成及選中方式,實(shí)現(xiàn)了只要用戶的控制部位在深度攝像頭的視場(chǎng)范圍內(nèi)懸停一定時(shí)間,屏幕上的任意位置都可以生成相應(yīng)的控制菜單,進(jìn)而進(jìn)行選擇控制等操作,大大簡化了非觸控的系統(tǒng)控制。為了更加形象的說明本發(fā)明實(shí)施例提供的基于深度攝像頭的菜單控制方法的實(shí)現(xiàn)過程,下面以一個(gè)簡單的實(shí)施例對(duì)上述方法進(jìn)行舉例說明:如圖6所示,Rl為用戶的手部,也是系統(tǒng)的控制部位;R2為連接云臺(tái)控制服務(wù)器連接的顯示屏;R3為深度攝像頭。如圖7所示,顯示屏R2上的實(shí)心小圓代表用戶的手部Rl在顯示屏上的映射位置;顯示屏R2上的空心大圓代表用戶的手部Rl在顯示屏上的映射位置允許波動(dòng)的范圍。即手部在顯示屏R2上的映射位置在空心大圓的范圍內(nèi)波動(dòng),均默認(rèn)為其映射位置在實(shí)心小圓處。
·
當(dāng)用戶的手部Rl在深度攝像頭的視場(chǎng)內(nèi)懸停時(shí)間大于預(yù)設(shè)的第一閾值時(shí)間后,即手部Rl在顯示屏R2上的映射位置在顯示屏上的空心大圓范圍內(nèi)停留時(shí)間大于預(yù)設(shè)的第一閾值時(shí)間后,則生成菜單列表,并顯示在顯示屏R2上手部Rl所對(duì)應(yīng)的屏幕周邊。隨著菜單列表的生成并在顯示屏R2上顯示,顯示屏R2上菜單列表感應(yīng)區(qū)和相應(yīng)的菜單感應(yīng)區(qū)也相應(yīng)地生成。如圖8所示,顯示屏R2上出現(xiàn)了菜單Cl、菜單C2、菜單C3、菜單C4以及菜單C5組成的菜單列表。所述菜單列表的排列方式不做限定,可根據(jù)具體的菜單數(shù)目及顯示屏大小進(jìn)行合理布局,可設(shè)置為列表式或者環(huán)繞式等。較佳地,選擇如圖中所示的環(huán)繞式,節(jié)省屏幕顯示空間。在生成菜單列表之后,用戶只需要將手部微移至所要選擇的菜單處,如圖9所示,即手部在顯示屏R2上的映射位置移動(dòng)至顯示屏R2上所顯示的菜單C4處,懸停時(shí)間大于預(yù)設(shè)的第二閾值時(shí)間,即可選中菜單C4。若菜單C4沒有子菜單,則執(zhí)行菜單C4所代表的控制命令。若菜單C4有子菜單,分別為C41、C42、C43、C44,如圖10所示,則生成子菜單列表,并顯示在菜單C4的周圍或附近。同理,進(jìn)行菜單選擇。相應(yīng)的,本發(fā)明提供的基于深度攝像頭的菜單控制系統(tǒng),用于在人機(jī)交互系統(tǒng)中進(jìn)行菜單的選擇控制,如圖4所示,包括用戶端1、深度信息獲取裝置2以及云臺(tái)控制服務(wù)器3 ;所述深度信息采集裝置2,用于獲取用戶區(qū)域內(nèi)的圖像深度信息;所述深度信息采集裝置,優(yōu)選深度攝像頭,如深度攝像頭kinect (微軟發(fā)布的XB0X360體感周邊外設(shè)的名稱)。深度攝像頭將采集到的用戶區(qū)域內(nèi)的圖像深度信息發(fā)送給云臺(tái)控制服務(wù)器進(jìn)控制。所述云臺(tái)控制服務(wù)器3包括跟蹤模塊4、菜單控制模塊5以及執(zhí)行模塊6,其中:所述跟蹤模塊4,用于根據(jù)獲取的所述圖像深度信息確認(rèn)控制部位,并對(duì)所述控制部位進(jìn)行跟蹤識(shí)別;
對(duì)控制部位進(jìn)行識(shí)別跟蹤采用現(xiàn)有技術(shù)實(shí)現(xiàn),本領(lǐng)域技術(shù)人員應(yīng)該可以理解,此處不做詳細(xì)說明。所述菜單控制模塊5,用于根據(jù)所述控制部位在深度攝像頭的視場(chǎng)范圍內(nèi)任意位置處的移動(dòng)狀態(tài),生成并選中相應(yīng)的菜單;換句話說,本發(fā)明實(shí)施例提供的方法不需要提前劃分屏幕感應(yīng)區(qū),也不需要用戶記憶各種不同的手勢(shì),只要用戶的控制部位,其中包括手部,在深度攝像頭的控制區(qū)域內(nèi),隨時(shí)都可以生成相應(yīng)的控制菜單,從而可以進(jìn)行選擇控制等操作,從而大大簡化了非觸控的系統(tǒng)控制。所述生成菜單是一種現(xiàn)有技術(shù),其根據(jù)相應(yīng)的內(nèi)容而生成,因此,在本發(fā)明實(shí)施例中,不再詳細(xì)描述。所述執(zhí)行模塊6,用于執(zhí)行選中的菜單指令。較佳地,作為一種可實(shí)施方式,所述菜單控制模塊5,包括啟動(dòng)模塊51、判斷模塊52、菜單列表生成模塊53、菜單顯不模塊54、菜單預(yù)選模塊55、菜單選中模塊56,如圖5所示,其中:
所述啟動(dòng)模塊51,用于打開菜單控制界面;所述判斷模塊52,用于當(dāng)控制部位移動(dòng)至深度攝像頭的視場(chǎng)范圍內(nèi)時(shí),判斷所述控制部位在所述視場(chǎng)范圍內(nèi)任意位置處的懸停時(shí)間是否大于預(yù)設(shè)的第一閾值時(shí)間;若判斷所述控制部位在所述視場(chǎng)范圍內(nèi)任意位置處的懸停時(shí)間均小于或者等于預(yù)設(shè)的第一閾值時(shí)間,則由所述跟蹤模塊繼續(xù)跟蹤所述控制部位。所述菜單列表生成模塊53,用于在判斷所述控制部位在所述視場(chǎng)范圍內(nèi)的相應(yīng)位置處懸停時(shí)間大于預(yù)設(shè)的第一閾值時(shí)間后,生成菜單列表;所述菜單顯示模塊54,用于將生成的所述菜單列表顯示在當(dāng)前所述控制部位在屏幕上的映射位置處,并在屏幕上所述菜單列表所在位置的預(yù)設(shè)范圍內(nèi),生成菜單列表感應(yīng)區(qū)以及相應(yīng)的菜單感應(yīng)區(qū);需要說明的是,本發(fā)明實(shí)施例中根據(jù)屏幕上的菜單列表及菜單位置生成相應(yīng)的感應(yīng)區(qū)的技術(shù),為現(xiàn)有技術(shù),本領(lǐng)域技術(shù)人員應(yīng)該可以理解,此處不做過多說明。所述菜單預(yù)選模塊55包括第一判斷子模塊551,所述第一判斷子模塊用于當(dāng)所述控制部位移動(dòng)至所述菜單列表中的相應(yīng)的菜單感應(yīng)區(qū)時(shí),判斷所述控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間是否大于預(yù)設(shè)的第二閾值時(shí)間;所述菜單選中模塊56包括菜單選中子模塊561,所述菜單選中子模塊用于在判斷所述控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間大于預(yù)設(shè)的第二閾值時(shí)間后,選中所述菜單。較佳地,作為一種可實(shí)施方式,所述菜單預(yù)選模塊55還包括第二判斷子模塊552、菜單列表保持子模塊553以及菜單列表關(guān)閉子模塊554,其中:所述第二判斷子模塊552,用于在判斷所述控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間小于或者等于所述預(yù)設(shè)的第二閾值時(shí)間后,進(jìn)一步判斷所述控制部位是否在所述子菜單列表感應(yīng)區(qū)內(nèi);所述菜單列表保持子模塊553,用于在判斷所述控制部位在所述菜單列表感應(yīng)區(qū)內(nèi)后,保持所述菜單列表。
所述菜單列表關(guān)閉子模塊554,用于在判斷所述控制部位移動(dòng)至所述菜單列表感應(yīng)區(qū)外后,關(guān)閉所述菜單列表。所述菜單列表關(guān)閉子模塊關(guān)閉所述生成的菜單列表之后,由跟蹤模塊繼續(xù)跟蹤所述控制部位。較佳地,作為一種可實(shí)施方式,所述菜單選中模塊56還包括子菜單控制模塊7 ;所述子菜單控制模塊7包括子菜單列表生成模塊71、子菜單顯示模塊72、子菜單預(yù)選模塊73以及子菜單選中模塊74,其中:所述子菜單列表生成模塊71,用于生成子菜單列表;所述子菜單顯示模塊72,用于將生成的所述子菜單列表顯示在當(dāng)前所述控制部位在屏幕上的映射位置處,并在屏幕上所述子菜單列表所在位置的預(yù)設(shè)范圍內(nèi),生成子菜單列表感應(yīng)區(qū)以及相應(yīng)的子菜單感應(yīng)區(qū);所述子菜單預(yù)選模塊73包括第三判斷子模塊,所述第三判斷子模塊用于當(dāng)所述控制部位移動(dòng)至所述子菜單列表中的相應(yīng)的子菜單感應(yīng)區(qū)時(shí),判斷所述控制部位在所述相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間是否大于預(yù)設(shè)的第三閾值時(shí)間;所述子菜單選中模塊74,用于在所述控制部位在所述相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間大于預(yù)設(shè)的第三閾值時(shí)間后,選中所述子菜單。較佳地,作為一種可實(shí)施方式,所述子菜單預(yù)選模塊73還包括第四判斷子模塊、子菜單列表保持子模塊以及子菜單列表關(guān)閉子模塊;所述第四判斷子模塊,用于在判斷所述控制部位在所述相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間小于或者等于所述預(yù)設(shè)的 第三閾值時(shí)間后,進(jìn)一步判斷所述控制部位是否在所述子菜單列表感應(yīng)區(qū)內(nèi);所述子菜單列表保持子模塊,用于在判斷所述控制部位在所述子菜單列表感應(yīng)區(qū)內(nèi)后,保持所述子菜單列表;所述子菜單列表關(guān)閉子模塊,用于在判斷所述控制部位移動(dòng)至所述子菜單列表感應(yīng)區(qū)外后,關(guān)閉所述子菜單列表。所述子菜單列表關(guān)閉子模塊關(guān)閉所述生成的子菜單列表之后,由跟蹤模塊繼續(xù)跟蹤所述控制部位。在實(shí)際運(yùn)用中,上述方法中的第一閾值時(shí)間、第二閾值時(shí)間以及第三閾值時(shí)間可根據(jù)用戶習(xí)慣預(yù)先設(shè)定,可設(shè)定為不同,也可設(shè)定為相同。較佳地,作為一種可實(shí)施方式,所述第一閾值時(shí)間、所述第二閾值時(shí)間以及所述第三閾值時(shí)間相同,方便用戶操作。較佳地,作為一種可實(shí)施方式,所述基于深度攝像頭的菜單控制系統(tǒng)還包括用戶提取t吳塊:所述用戶提取模塊,用于根據(jù)獲取的所述用戶區(qū)域內(nèi)的圖像深度信息,提取控制用戶信息。需要說明的是,所述用戶提取模塊主要用于從深度攝像頭中提取用戶,從而在深度攝像頭中存在多個(gè)目標(biāo)時(shí),能夠明確控制用戶,可以根據(jù)多個(gè)目標(biāo)距離攝像頭的遠(yuǎn)近進(jìn)行用戶識(shí)別。如果深度攝像頭中只存在一個(gè)目標(biāo),則不需要此模塊。較佳地,作為一種可實(shí)施方式,所述控制部位包括但不限于用戶的手指、手掌、頭部以及軀干。作為一種可實(shí)施方式,為了便于操作,本發(fā)明實(shí)施例中,優(yōu)選用戶的手部為控制部位。為了更清楚的說明本發(fā)明提供的技術(shù)方案,對(duì)上述具體實(shí)施方式
說明如下:以用戶的手部作為控制部位為例;首先,通過深度攝像頭獲取t時(shí)刻的深度圖像幀It,其中時(shí)刻t單位可以是圖像幀,即第t幀圖像It。然后,利用既有算法識(shí)別用戶的手部。跟蹤模塊當(dāng)對(duì)手部進(jìn)行實(shí)時(shí)跟蹤,t時(shí)刻手部在圖像It中的位置外包圓的圓心位置記作Dt,手部在圖像It中外包圓 半徑記作St,單位為像素。菜單控制模塊進(jìn)行菜單列表生成判斷:計(jì)算時(shí)間區(qū)間(t,t+T)內(nèi),手部最大移動(dòng)的距離SDt,單位是像素,其中參數(shù)T的單位可以用圖像幀,T的取值可以是幾秒之內(nèi)系統(tǒng)所處理的圖像幀總數(shù);= IiiaxCafe(Z)1-Di)) i, j e (tj + T)菜單列表生產(chǎn)規(guī)則Βτ,當(dāng)Bt=I,則生成菜單列表,反之不生成菜單列表;
,1 If D.< ST-其中ST是閾值,單位是像素,閾值ST可以是固定閾值,如ST=IO ;閾值ST也可以是軟閾值,即跟手部外包圓半徑St具有一定的函數(shù)相關(guān)。當(dāng)Bt=I生成菜單列表,所生成菜單列表的區(qū)域記作MD,單位為像素。菜單控制模塊進(jìn)行菜單選中判斷:當(dāng)菜單列表Mi生成,并且第i個(gè)菜單的感應(yīng)區(qū)域?yàn)镸i,手部移動(dòng)到菜單i的感應(yīng)區(qū)Mi,并且懸浮一定時(shí)間P,單位是秒;如P=3,即手部在菜單上懸浮超過3秒鐘,相應(yīng)的菜單即被選中;當(dāng)手部位置Dt不在菜單區(qū)域MD內(nèi),菜單列表關(guān)閉子模塊將所生產(chǎn)的菜單列表關(guān)閉,屏幕上的菜單消失。如果所選中的菜單含有子菜單,則由子菜單控制模塊,生成子菜單列表并進(jìn)行后續(xù)操作;如果所選中的菜單不含有子菜單,則按照所選中的菜單命令執(zhí)行相應(yīng)操作。為了更加形象的說明本發(fā)明實(shí)施例提供的基于深度攝像頭的菜單控制系統(tǒng)的實(shí)現(xiàn)過程,下面以一個(gè)簡單的實(shí)施例進(jìn)行舉例說明:如圖6所示,Rl為用戶的手部,也是系統(tǒng)的控制部位;R2為連接云臺(tái)控制服務(wù)器連接的顯示屏;R3為深度攝像頭。如圖7所示,顯示屏R2上的實(shí)心小圓代表用戶的手部Rl在顯示屏上的映射位置;顯示屏R2上的空心大圓代表用戶的手部Rl在顯示屏上的映射位置允許波動(dòng)的范圍。即手部在顯示屏上的映射位置在空心大圓的范圍內(nèi)波動(dòng),均默認(rèn)為其映射位置在實(shí)心小圓處。當(dāng)用戶的手部Rl在深度攝像頭的視場(chǎng)內(nèi)懸停時(shí)間大于預(yù)設(shè)的第一閾值時(shí)間后,即手部Rl在顯示屏上的映射位置在顯示屏上的空心大圓范圍內(nèi)停留時(shí)間大于預(yù)設(shè)的第一閾值時(shí)間后,則生成菜單列表,并顯示在顯示屏上手部Rl所對(duì)應(yīng)的屏幕周邊。隨著菜單列表的生成并在顯示屏上顯示,顯示屏上菜單列表感應(yīng)區(qū)和相應(yīng)的菜單感應(yīng)區(qū)也相應(yīng)地生成。如圖8所示,顯示屏R2上出現(xiàn)了菜單Cl、菜單C2、菜單C3、菜單C4以及菜單C5組成的菜單列表。所述菜單列表的排列方式不做限定,可根據(jù)具體的菜單數(shù)目及顯示屏大小進(jìn)行合理布局,可設(shè)置為列表式或者環(huán)繞式等。較佳地,選擇如圖中所示的環(huán)繞式,節(jié)省屏幕顯示空間。在生成菜單列表之后,用戶只需要將手部微移至所要選擇的菜單處,如圖9所示,即手部在顯示屏R2上的映射位置移動(dòng)至顯示屏R2上所顯示的菜單C4處,懸停時(shí)間大于預(yù)設(shè)的第二閾值時(shí)間,即可選中菜單C4。若菜單C4沒有子菜單,則執(zhí)行菜單C4所代表的控制命令。若菜單C4有子菜單,分別為C41、C42、C43、C44,如圖10所示,則生成子菜單列表,并顯示在菜單C4的周圍或附近。同理,進(jìn)行子菜單選擇。本發(fā)明實(shí)施例提供的基于深度攝像頭的菜單控制系統(tǒng),其實(shí)質(zhì)是利用深度攝像頭采集并處理圖像深度信息,并配合云臺(tái)控制服務(wù)器,實(shí)現(xiàn)了控制部位懸停、菜單生成,控制部位微移至預(yù)選菜單,再懸 停一定時(shí)間、菜單選中這樣的一種簡單的菜單生成及選中方式。通過上述系統(tǒng),只要用戶的控制部位在深度攝像頭的視場(chǎng)范圍內(nèi)懸停一定時(shí)間,顯示裝置屏幕上的任意位置都可以生成相應(yīng)的控制菜單,進(jìn)而進(jìn)行選擇控制等操作,大大簡化了非觸控的系統(tǒng)控制。以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種基于深度攝像頭的菜單控制方法,用于在人機(jī)交互系統(tǒng)中進(jìn)行菜單的選擇控制,其特征在于,包括以下步驟: 獲取用戶區(qū)域內(nèi)的圖像深度信息; 根據(jù)獲取的所述圖像深度信息確認(rèn)控制部位,并對(duì)所述控制部位進(jìn)行跟蹤識(shí)別; 根據(jù)所述控制部位在深度攝像頭的視場(chǎng)范圍內(nèi)任意位置處的移動(dòng)狀態(tài),生成并選中相應(yīng)的菜單; 執(zhí)行選中的菜單指令。
2.根據(jù)權(quán)利要求1所述的基于深度攝像頭的菜單控制方法,其特征在于,所述根據(jù)控制部位在深度攝像頭的視場(chǎng)范圍內(nèi)任意位置處的移動(dòng)狀態(tài),生成并選中相應(yīng)的菜單,包括如下步驟: 打開菜單控制界面; 當(dāng)控制部位移動(dòng)至深度攝像頭的視場(chǎng)范圍內(nèi)時(shí),判斷所述控制部位在所述視場(chǎng)范圍內(nèi)任意位置處的懸停時(shí)間是否大于預(yù)設(shè)的第一閾值時(shí)間; 若判斷所述控制部位在所述視場(chǎng)范圍內(nèi)的相應(yīng)位置處懸停時(shí)間大于預(yù)設(shè)的第一閾值時(shí)間,則生成菜單列表; 將生成的所述菜單列表顯示在當(dāng)前所述控制部位在屏幕上的映射位置處,并在屏幕上所述菜單列表所在位置的預(yù)設(shè)范圍內(nèi),生成菜單列表感應(yīng)區(qū)以及相應(yīng)的菜單感應(yīng)區(qū); 當(dāng)所述控制部位移動(dòng)至所述菜單列表中的相應(yīng)的菜單感應(yīng)區(qū)時(shí),判斷所述控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間是否大于預(yù)設(shè)的第二閾值時(shí)間; 若判斷所述控制部位 在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間大于預(yù)設(shè)的第二閾值時(shí)間,則選中所述菜單。
3.根據(jù)權(quán)利要求2所述的基于深度攝像頭的菜單控制方法,其特征在于,在判斷所述控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間是否大于預(yù)設(shè)的第二閾值時(shí)間后,還包括如下步驟: 若判斷所述控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間小于或者等于所述預(yù)設(shè)的第二閾值時(shí)間,則進(jìn)一步判斷所述控制部位是否在所述菜單列表感應(yīng)區(qū)內(nèi); 若判斷所述控制部位在所述菜單列表感應(yīng)區(qū)內(nèi),則保持所述菜單列表; 若判斷所述控制部位移動(dòng)至所述菜單列表感應(yīng)區(qū)外,則關(guān)閉所述菜單列表。
4.根據(jù)權(quán)利要求2所述的基于深度攝像頭的菜單控制方法,其特征在于,所述若控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間大于預(yù)設(shè)的第二閾值時(shí)間,則選中所述菜單之后,還包括以下步驟: 生成子菜單列表; 將生成的所述子菜單列表顯示在當(dāng)前所述控制部位在屏幕上的映射位置處,并在屏幕上所述子菜單列表所在位置的預(yù)設(shè)范圍內(nèi),生成子菜單列表感應(yīng)區(qū)以及相應(yīng)的子菜單感應(yīng)區(qū); 當(dāng)所述控制部位移動(dòng)至所述子菜單列表中的相應(yīng)的子菜單感應(yīng)區(qū)時(shí),判斷所述控制部位在所述相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間是否大于預(yù)設(shè)的第三閾值時(shí)間; 若所述控制部位在所述相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間大于預(yù)設(shè)的第三閾值時(shí)間,則選中所述子菜單。
5.根據(jù)權(quán)利要求4所述的基于深度攝像頭的菜單控制方法,其特征在于,在判斷所述控制部位在相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間是否大于所述預(yù)設(shè)的第三閾值時(shí)間后,還包括以下步驟: 若判斷所述控制部位在相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間小于或者等于所述預(yù)設(shè)的第三閾值時(shí)間,則進(jìn)一步判斷所述控制部位是否在所述子菜單列表感應(yīng)區(qū)內(nèi); 若判斷所述控制部位在所述子菜單列表感應(yīng)區(qū)內(nèi),則保持所述子菜單列表; 若判斷所述控制部位移動(dòng)至所述子菜單列表感應(yīng)區(qū)外,則關(guān)閉所述子菜單列表。
6.根據(jù)權(quán)利要求1所述的基于深度攝像頭的菜單控制方法,其特征在于,所述獲取用戶區(qū)域內(nèi)的圖像深度信息之后,還包括如下步驟: 根據(jù)獲取的所述用戶區(qū)域內(nèi)的圖像深度信息,提取控制用戶信息。
7.根據(jù)權(quán)利要求1至5任一項(xiàng)所述的基于深度攝像頭的菜單控制方法,其特征在于,所述控制部位包括但不限于用戶的手指、手掌、頭部以及軀干。
8.一種基于深度攝像頭的菜單控制系統(tǒng),用于在人機(jī)交互系統(tǒng)中進(jìn)行菜單的選擇控制,其特征在于,包括用戶端、深度信息獲取裝置以及云臺(tái)控制服務(wù)器; 所述深度信息采集裝置,用于獲取用戶區(qū)域內(nèi)的圖像深度信息; 所述云臺(tái)控制服務(wù)器包括跟蹤模塊、菜單控制模塊以及執(zhí)行模塊,其中: 所述跟蹤模塊,用于根據(jù)獲取的所述圖像深度信息確認(rèn)控制部位,并對(duì)所述控制部位進(jìn)行跟蹤識(shí)別; 所述菜單控制模塊,用于 根據(jù)所述控制部位在深度攝像頭的視場(chǎng)范圍內(nèi)任意位置處的移動(dòng)狀態(tài),生成并選中相應(yīng)的菜單; 所述執(zhí)行模塊,用于執(zhí)行選中的菜單指令。
9.根據(jù)權(quán)利要求8所述的基于深度攝像頭的菜單控制系統(tǒng),其特征在于,所述菜單控制模塊,包括啟動(dòng)模塊、判斷模塊、菜單列表生成模塊、菜單顯示模塊、菜單預(yù)選模塊、菜單選中模塊,其中: 所述啟動(dòng)模塊,用于打開菜單控制界面; 所述判斷模塊,用于當(dāng)控制部位移動(dòng)至深度攝像頭的視場(chǎng)范圍內(nèi)時(shí),判斷所述控制部位在所述視場(chǎng)范圍內(nèi)任意位置處的懸停時(shí)間是否大于預(yù)設(shè)的第一閾值時(shí)間; 所述菜單列表生成模塊,用于在判斷所述控制部位在所述視場(chǎng)范圍內(nèi)的相應(yīng)位置處懸停時(shí)間大于預(yù)設(shè)的第一閾值時(shí)間后,生成菜單列表; 所述菜單顯示模塊,用于將生成的所述菜單列表顯示在當(dāng)前所述控制部位在屏幕上的映射位置處,并在屏幕上所述菜單列表所在位置的預(yù)設(shè)范圍內(nèi),生成菜單列表感應(yīng)區(qū)以及相應(yīng)的菜單感應(yīng)區(qū); 所述菜單預(yù)選模塊包括第一判斷子模塊,所述第一判斷子模塊用于當(dāng)所述控制部位移動(dòng)至所述菜單列表中的相應(yīng)的菜單感應(yīng)區(qū)時(shí),判斷所述控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間是否大于預(yù)設(shè)的第二閾值時(shí)間; 所述菜單選中模塊包括菜單選中子模塊,所述菜單選中子模塊用于在判斷所述控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間大于預(yù)設(shè)的第二閾值時(shí)間后,選中所述菜單。
10.根據(jù)權(quán)利要求9所述的基于深度攝像頭的菜單控制系統(tǒng),其特征在于,所述菜單預(yù)選模塊還包括第二判斷子模塊、菜單列表保持子模塊以及菜單列表關(guān)閉子模塊,其中:所述第二判斷子模塊,用于在判斷所述控制部位在所述相應(yīng)的菜單感應(yīng)區(qū)懸停時(shí)間小于或者等于所述預(yù)設(shè)的第二閾值時(shí)間后,進(jìn)一步判斷所述控制部位是否在所述子菜單列表感應(yīng)區(qū)內(nèi); 所述菜單列表保持子模塊,用于在判斷所述控制部位在所述菜單列表感應(yīng)區(qū)內(nèi)后,保持所述菜單列表; 所述菜單列表關(guān)閉子模塊,用于在判斷所述控制部位移動(dòng)至所述菜單列表感應(yīng)區(qū)外后,關(guān)閉所述菜單列表。
11.根據(jù)權(quán)利要求9所述的基于深度攝像頭的菜單控制系統(tǒng),其特征在于,所述菜單選中模塊還包括子菜單控制模塊; 所述子菜單控制模塊包括子菜單列表生成模塊、子菜單顯示模塊、子菜單預(yù)選模塊以及子菜單選中模塊,其中: 所述子菜單列表生成模塊,用于生成子菜單列表; 所述子菜單顯示模塊,用于將生成的所述子菜單列表顯示在當(dāng)前所述控制部位在屏幕上的映射位置處,并在屏幕上所述子菜單列表所在位置的預(yù)設(shè)范圍內(nèi),生成子菜單列表感應(yīng)區(qū)以及相應(yīng)的子菜單感應(yīng)區(qū); 所述子菜單預(yù)選模塊包括第三判斷子模塊,所述第三判斷子模塊用于當(dāng)所述控制部位移動(dòng)至所述子菜單列表中的相應(yīng)的子菜單感應(yīng)區(qū)時(shí),判斷所述控制部位在所述相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間是否大于預(yù)設(shè)的第三閾值時(shí)間; 所述子菜單選中模塊,用于在所述控制部位在所述相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間大于預(yù)設(shè)的第三閾值時(shí)間后,選中所述子菜單。
12.根據(jù)權(quán)利要求11所述的基于深度攝像頭的菜單控制系統(tǒng),其特征在于,所述子菜單預(yù)選模塊還包括第四判斷子模塊、子菜單列表保持子模塊以及子菜單列表關(guān)閉子模塊; 所述第四判斷子模塊,用于在判斷所述控制部位在所述相應(yīng)的子菜單感應(yīng)區(qū)懸停時(shí)間小于或者等于所述預(yù)設(shè)的第三閾值時(shí)間后,進(jìn)一步判斷所述控制部位是否在所述子菜單列表感應(yīng)區(qū)內(nèi); 所述子菜單列表保持子模塊,用于在判斷所述控制部位在所述子菜單列表感應(yīng)區(qū)內(nèi)后,保持所述子菜單列表; 所述子菜單列表關(guān)閉子模塊,用于在判斷所述控制部位移動(dòng)至所述子菜單列表感應(yīng)區(qū)外后,關(guān)閉所述子菜單列表。
13.根據(jù)權(quán)利要求8所述的基于深度攝像頭的菜單控制系統(tǒng),其特征在于,還包括用戶提取t吳塊: 所述用戶提取模塊,用于根據(jù)獲取的所述用戶區(qū)域內(nèi)的圖像深度信息,提取控制用戶信息。
14.根據(jù)權(quán)利要求8至12任一項(xiàng)所述的基于深度攝像頭的菜單控制系統(tǒng),其特征在于,所述控制部位包括但不限于用戶的手指、手掌、頭部以及軀干。
全文摘要
本發(fā)明公開了一種基于深度攝像頭的菜單控制方法及系統(tǒng),用于在人機(jī)交互系統(tǒng)中進(jìn)行菜單的選擇控制,其中方法包括獲取用戶區(qū)域內(nèi)的圖像深度信息;根據(jù)獲取的所述圖像深度信息確認(rèn)控制部位,并對(duì)所述控制部位進(jìn)行跟蹤識(shí)別;根據(jù)所述控制部位在深度攝像頭的視場(chǎng)范圍內(nèi)任意位置處的移動(dòng)狀態(tài),生成并選中相應(yīng)的菜單;執(zhí)行選中的菜單指令。本發(fā)明提供的基于深度攝像頭的菜單控制方法及系統(tǒng),避免了用戶動(dòng)作記憶以及感應(yīng)區(qū)劃分的問題,只需要用戶的控制部位在深度攝像頭的控制區(qū)域內(nèi)的任意位置處懸停一定時(shí)間,隨時(shí)都可以生成相應(yīng)的控制菜單,進(jìn)而進(jìn)行選擇控制等操作,從而大大簡化了非觸控的系統(tǒng)控制。
文檔編號(hào)G06F3/0482GK103218124SQ20131012757
公開日2013年7月24日 申請(qǐng)日期2013年4月12日 優(yōu)先權(quán)日2013年4月12日
發(fā)明者安國成, 羅志強(qiáng), 李洪研, 劉玉進(jìn) 申請(qǐng)人:北京國鐵華晨通信信息技術(shù)有限公司