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