一種基于Kinect的人機(jī)交互系統(tǒng)的制作方法
【專利說明】
[0001]技術(shù)領(lǐng)域:
本發(fā)明涉及人機(jī)交互領(lǐng)域,具體涉及一種基于Kinect的人機(jī)交互系統(tǒng)。
[0002]【背景技術(shù)】:
2010年,微軟公司推出了用于XBOX游戲機(jī)的Kinect感應(yīng)設(shè)備,可以通過影像辨識(shí)出人體及其動(dòng)作,使玩家通過自己的肢體來控制游戲。Kinect帶來的是一種革命性的交互方式,因此微軟在2012年推出了 Kinect for Windows設(shè)備,并配套發(fā)布了 SDK開發(fā)工具,使PC平臺(tái)上可以開發(fā)出使用Kinect進(jìn)行交互的應(yīng)用程序。
[0003]然而,現(xiàn)存的大量計(jì)算機(jī)應(yīng)用程序,如果要結(jié)合Kinect的推出,而支持使用Kinect的交互方式,軟件的重新開發(fā)工作量是很大的,這也是現(xiàn)今使用Kinect進(jìn)行交互的應(yīng)用程序仍然偏少的主要原因。現(xiàn)今Kinect仍然帶有一種玩具的色彩,在交互方面的普及程度較低,與軟件支持未能盡快跟上有很大關(guān)系。
[0004]
【發(fā)明內(nèi)容】
:
本發(fā)明的目的是提供一種基于Kinect的人機(jī)交互系統(tǒng),它能拓展Kinect的應(yīng)用領(lǐng)域,使Kinect提供的交互方式與現(xiàn)有的計(jì)算機(jī)應(yīng)用能有效結(jié)合起來。
[0005]為了解決【背景技術(shù)】所存在的問題,本發(fā)明是采用以下技術(shù)方案:它包含主界面、配置管理模塊、輸入映射模塊、姿勢管理界面、姿勢管理模塊、姿勢定義模塊,姿勢定義模塊,定義了人體姿勢數(shù)據(jù),一個(gè)姿勢由若干條姿勢規(guī)則構(gòu)成,姿勢規(guī)則包含規(guī)則類別、涉及的關(guān)節(jié)點(diǎn)與閾值范圍,姿勢規(guī)則中的所述規(guī)則類別,包括X距離、Y距離、Z距離、總距離與夾角五種,姿勢規(guī)則中涉及的關(guān)節(jié)點(diǎn)范圍為Kinect SDK提供的20個(gè)關(guān)節(jié)點(diǎn);涉及的關(guān)節(jié)點(diǎn)的數(shù)目,在規(guī)則類別為夾角時(shí)為3個(gè),否則可以是1-2個(gè)。
[0006]所述的姿勢規(guī)則涉及I個(gè)關(guān)節(jié)時(shí),規(guī)則含義為:用戶的該關(guān)節(jié)的當(dāng)前位置與初始位置之間的距離,處在閾值范圍內(nèi);姿勢規(guī)則涉及2個(gè)關(guān)節(jié)時(shí),規(guī)則含義為:用戶的兩個(gè)關(guān)節(jié)之間距離,在規(guī)則類別所標(biāo)示的方向上,處在閾值范圍內(nèi)。
[0007]所述的姿勢規(guī)則當(dāng)且僅當(dāng)規(guī)則類別為夾角時(shí)涉及3個(gè)關(guān)節(jié),規(guī)則含義為:關(guān)節(jié)I到關(guān)節(jié)2連線,與關(guān)節(jié)2到關(guān)節(jié)3連線的夾角,處在閾值范圍內(nèi)。
[0008]所述的姿勢管理模塊包括姿勢的新建、編輯、保存、讀取、刪除、測試功能。
[0009]所述的輸入映射模塊,將用戶姿勢與計(jì)算機(jī)的輸入命令進(jìn)行一一對(duì)應(yīng),從而使用姿勢與計(jì)算機(jī)進(jìn)行交互。
[0010]所述的配置管理模塊,將若干輸入映射作為一個(gè)系統(tǒng)配置文件,進(jìn)行新建、修改、保存、讀取、刪除等管理操作。
[0011]本發(fā)明的操作方法為:當(dāng)用戶需要使用Kinect操作特定的應(yīng)用程序時(shí),先自行定義好該應(yīng)用程序?qū)?yīng)的操作姿勢集合,并使用姿勢管理模塊將姿勢數(shù)據(jù)錄入系統(tǒng),然后通過輸入映射模塊進(jìn)行操作,并將該操作姿勢集合通過配置管理模塊進(jìn)行管理。
[0012]姿勢管理模塊中姿勢測試的流程為:當(dāng)用戶開啟姿勢測試時(shí),首先停用姿勢編輯功能,并保存當(dāng)前用戶所編輯的姿勢數(shù)據(jù);然后啟動(dòng)Kinect開始識(shí)別,當(dāng)Kinect前有人做出啟動(dòng)姿勢時(shí),Kinect跟蹤該人的姿勢,并顯示已跟蹤用戶的提示標(biāo)志;當(dāng)該人的姿勢與所編輯的姿勢吻合時(shí),顯示姿勢識(shí)別成功的提示標(biāo)志;當(dāng)用戶終止姿勢測試時(shí),恢復(fù)姿勢編輯功能。
[0013]姿勢映射與識(shí)別的流程為:當(dāng)用戶開啟姿勢映射時(shí),啟動(dòng)Kinect開始識(shí)別,當(dāng)Kinect前有人做出啟動(dòng)姿勢時(shí),Kinect跟蹤該人的姿勢;將人的姿勢與姿勢映射列表中的姿勢逐一比對(duì),并檢測每個(gè)姿勢是否從無到有或從有到無,發(fā)送按下或彈起相應(yīng)按鍵的命令。
[0014]本發(fā)明能拓展Kinect的應(yīng)用領(lǐng)域,使Kinect提供的交互方式與現(xiàn)有的計(jì)算機(jī)應(yīng)用能有效結(jié)合起來。
[0015]【附圖說明】:
圖1為本發(fā)明的整體結(jié)構(gòu)框圖,
圖2為本發(fā)明中姿勢管理模塊的結(jié)構(gòu)框圖。
[0016]【具體實(shí)施方式】:
參照?qǐng)D1,本【具體實(shí)施方式】采用以下技術(shù)方案:它包含主界面、配置管理模塊、輸入映射模塊、姿勢管理界面、姿勢管理模塊、姿勢定義模塊,姿勢定義模塊,定義了人體姿勢數(shù)據(jù),一個(gè)姿勢由若干條姿勢規(guī)則構(gòu)成,姿勢規(guī)則包含規(guī)則類別、涉及的關(guān)節(jié)點(diǎn)與閾值范圍,姿勢規(guī)則中的所述規(guī)則類別,包括X距離、Y距離、Z距離、總距離與夾角五種,姿勢規(guī)則中涉及的關(guān)節(jié)點(diǎn)范圍為Kinect SDK提供的20個(gè)關(guān)節(jié)點(diǎn);涉及的關(guān)節(jié)點(diǎn)的數(shù)目,在規(guī)則類別為夾角時(shí)為3個(gè),否則可以是1-2個(gè)。
[0017]所述的姿勢規(guī)則涉及I個(gè)關(guān)節(jié)時(shí),規(guī)則含義為:用戶的該關(guān)節(jié)的當(dāng)前位置與初始位置之間的距離,處在閾值范圍內(nèi);姿勢規(guī)則涉及2個(gè)關(guān)節(jié)時(shí),規(guī)則含義為:用戶的兩個(gè)關(guān)節(jié)之間距離,在規(guī)則類別所標(biāo)示的方向上,處在閾值范圍內(nèi)。
[0018]所述的姿勢規(guī)則當(dāng)且僅當(dāng)規(guī)則類別為夾角時(shí)涉及3個(gè)關(guān)節(jié),規(guī)則含義為:關(guān)節(jié)I到關(guān)節(jié)2連線,與關(guān)節(jié)2到關(guān)節(jié)3連線的夾角,處在閾值范圍內(nèi)。
[0019]參照?qǐng)D2,所述的姿勢管理模塊包括姿勢的新建、編輯、保存、讀取、刪除、測試功會(huì)K。
[0020]所述的輸入映射模塊,將用戶姿勢與計(jì)算機(jī)的輸入命令進(jìn)行一一對(duì)應(yīng),從而使用姿勢與計(jì)算機(jī)進(jìn)行交互。
[0021]所述的配置管理模塊,將若干輸入映射作為一個(gè)系統(tǒng)配置文件,進(jìn)行新建、修改、保存、讀取、刪除等管理操作。
[0022]姿勢定義模塊定義了用戶用于交互控制計(jì)算機(jī)所使用的姿勢的內(nèi)容以及存儲(chǔ)方式;姿勢管理模塊使用戶可以方便直觀地增加、刪除、修改所使用的姿勢;輸入映射模塊對(duì)用戶的姿勢進(jìn)行識(shí)別,并發(fā)送對(duì)應(yīng)輸入信號(hào)到目標(biāo)計(jì)算機(jī);配置管理模塊管理系統(tǒng)所使用的交互配置,即姿勢與輸入的對(duì)應(yīng)關(guān)系,輸入映射模塊與配置管理模塊為系統(tǒng)的主界面提供支持,用戶在維護(hù)交互姿勢時(shí)啟動(dòng)姿勢管理界面,調(diào)用姿勢管理模塊;主界面包含新建、打開、保存配置的選項(xiàng);在配置管理模塊中,可以新建、修改、刪除姿勢映射,還可以在姿勢映射上選擇編輯功能,進(jìn)入姿勢管理界面。
[0023]所述的姿勢定義模塊采用如下技術(shù)方案:
(I)人體的姿勢由若干姿勢規(guī)則構(gòu)成,所述姿勢規(guī)則包括規(guī)則類別、涉及關(guān)節(jié)點(diǎn)、閾值范圍; (2)規(guī)則類別包括X距離、Y距離、Z距離、總距離、夾角共五種;
(3)規(guī)則涉及的關(guān)節(jié)點(diǎn)范圍為KinectSDK提供的20個(gè)關(guān)節(jié)點(diǎn),分別為髖中央、脊柱、頸部、頭部、左肩、左財(cái)、左腕、左手、右肩、右財(cái)、右腕、右手、左膀、左膝、左踩、左腳、右膀、右膝、右踝、右腳;
(4)當(dāng)規(guī)則類別為夾角時(shí),規(guī)則涉及3個(gè)關(guān)節(jié)點(diǎn);否則,規(guī)則涉及的關(guān)節(jié)點(diǎn)可以是I個(gè)或2個(gè);
(5)當(dāng)規(guī)則涉及I個(gè)關(guān)節(jié)點(diǎn)時(shí),規(guī)則的含義為:用戶所述關(guān)節(jié)點(diǎn)的當(dāng)前位置,與該關(guān)節(jié)點(diǎn)的初始位置的距離,處在閾值范圍內(nèi);
(6)當(dāng)規(guī)則涉及2個(gè)關(guān)節(jié)點(diǎn)時(shí),規(guī)則的含義為:用戶的所述兩個(gè)關(guān)節(jié)點(diǎn)的當(dāng)前位置之間的距離,處在閾值范圍內(nèi);
(7)當(dāng)規(guī)則為夾角規(guī)則,涉及3個(gè)關(guān)節(jié)點(diǎn),規(guī)則的含義為:用戶的第一關(guān)節(jié)點(diǎn)與第二關(guān)節(jié)點(diǎn)連線,與第二關(guān)節(jié)點(diǎn)與第三關(guān)節(jié)點(diǎn)連線的夾角,處在閾值范圍內(nèi)。
[0024]所述的姿勢管理模塊采用如下技術(shù)方案:
Ca)姿勢管理的界面功能包括姿勢規(guī)則的添加、編輯、刪除,以及姿勢數(shù)據(jù)的測試、保存與讀??;
(b)姿勢規(guī)則涉及的關(guān)節(jié)點(diǎn)范圍為KinectSDK提供的20個(gè)關(guān)節(jié)點(diǎn),在姿勢管理界面中,顯示關(guān)節(jié)點(diǎn)的名稱供用戶選擇;
(c)用戶可以在編輯姿勢后、保存姿勢前,進(jìn)行姿勢的測試,進(jìn)行姿勢測試時(shí),啟動(dòng)Kinect進(jìn)行用戶識(shí)別,當(dāng)用戶做出特定啟動(dòng)姿勢時(shí),跟蹤該用戶,然后用戶可試做該姿勢,姿勢正確與否顯示在界面上,通過測試姿勢功能,用戶能通過自身反饋設(shè)計(jì)出更自然的姿勢。
[0025]姿勢管理模塊在用戶在主界面中,選擇姿勢編輯時(shí)啟動(dòng),啟動(dòng)時(shí)調(diào)入并顯示該姿勢的數(shù)據(jù),用戶可以對(duì)姿勢規(guī)則進(jìn)行添加、修