一種基于Kinect的公共信息終端的制作方法
【專利說明】
[0001]技術領域:
本發明涉及人機交互領域,具體涉及一種基于Kinect的公共信息終端。
[0002]【背景技術】:
在城市信息化建設的過程中,公共信息終端扮演著重要的角色,人們隨時隨地查詢特定種類信息的需求,促成了公共信息終端的產生與發展。但是目前的公共信息終端還存在操作不便、容易損壞、共享性不好等問題。如能設計一種新的公共信息終端,有效解決此類問題,將對信息化建設起到重要作用。
[0003]最初的公共信息終端,采用特定配置的計算機來實現。這種公共信息終端直接使用計算機界面,與用戶存在隔閡,不熟悉計算機操作的人使用上存在困難;并且查詢不同的信息需要不同的軟件,由于計算機軟件的復雜性,軟件故障率較高,時常會出現軟件故障,需要專業人員介入維護。
[0004]隨著觸摸屏技術的發展與普及,出現了基于觸摸屏的公共信息終端,并廣泛應用。觸摸屏公共信息終端與計算機終端相比,操作相對方便,并且由于軟件的嵌入化、專業化,軟件故障率也有所降低。但其不足之處是硬件故障率較高,觸摸屏在過多或不適當的觸摸,以及環境干擾下,容易出現靈敏度與準確度下降,或者劃傷導致的硬件故障,從而仍然需要專業人員介入維護,維護成本較高。
[0005]并且,以上兩種傳統的公共信息終端都存在兩個共同問題:一是共享性差,不便多人使用。二是此類接觸式公共設備由不確定的人反復接觸,衛生成為用戶所擔憂的問題之一,并且制約了這種設備在某些對衛生要求高的場合的應用。
[0006]
【發明內容】
:
本發明的目的是提供一種基于Kinect的公共信息終端,它解決基于觸摸屏的公共信息終端共享性差、維護成本高、衛生條件差的問題。
[0007]為了解決【背景技術】所存在的問題,本發明是采用以下技術方案:它包括Kinect感應設備a、顯示屏b和后臺專用計算機c,Kinect感應設備a和顯示屏b均與后臺專用計算機c連接,后臺專用計算機c內設置有交互系統d。
[0008]所述Kinect感應設備a將感應到的圖像以及粗略的人體識別信息發送到交互系統cL
[0009]所述后臺專用計算機c內安裝有包含公共信息服務的交互系統d,該系統包括人體識別模塊1、骨骼跟蹤模塊2以及交互界面模塊3,人體識別模塊I與骨骼跟蹤模塊2連接,骨骼跟蹤模塊2與交互界面模塊3連接。
[0010]所述人體識別模塊I處理Kinect感應設備a得到的粗略人體信息,判斷是否有人與終端進行交互;所述骨骼跟蹤模塊2當用戶處于交互狀態時,識別與跟蹤人體姿態;所述交互界面模塊3接受骨骼跟蹤模塊2的交互信息,實現信息查詢、切換等功能,并在顯示屏b上顯示。
[0011]本發明具有以下有益效果:Kinect感應設備可以識別6個人,解決了共享問題;Kinect感應設備采用非接觸感應,很大程度上解決了衛生問題;Kinect感應設備非接觸感應的機制也更不易出現故障,只要注意不要受強烈震動以及日常保潔即可,維護成本也相對較低。
[0012]【附圖說明】:
圖1為本發明的結構框圖,
圖2為本發明的流程圖。
[0013]【具體實施方式】:
參照圖1,本【具體實施方式】采用以下技術方案:它包括Kinect感應設備a、顯示屏b和后臺專用計算機c,Kinect感應設備a和顯示屏b均與后臺專用計算機c連接,后臺專用計算機c內設置有交互系統d。
[0014]所述Kinect感應設備a將感應到的圖像以及粗略的人體識別信息發送到交互系統cL
[0015]所述后臺專用計算機c內安裝有包含公共信息服務的交互系統d,該系統包括人體識別模塊1、骨骼跟蹤模塊2以及交互界面模塊3,人體識別模塊I與骨骼跟蹤模塊2連接,骨骼跟蹤模塊2與交互界面模塊3連接。
[0016]所述人體識別模塊I處理Kinect感應設備a得到的粗略人體信息,判斷是否有人與終端進行交互;所述骨骼跟蹤模塊2當用戶處于交互狀態時,識別與跟蹤人體姿態;所述交互界面模塊3接受骨骼跟蹤模塊2的交互信息,實現信息查詢、切換等功能,并在顯示屏b上顯示。
[0017]參照圖2,所述人體識別模塊I分為以下步驟:
步驟A,讀取Kinect感應設備a提供的帶有粗略人體劃分的深度圖像;
步驟B,對人體深度信息進行去噪與統計;
步驟C,識別啟動交互的人體,并將其傳遞到骨骼跟蹤模塊。
[0018]Kinect感應設備a提供的深度圖像,本身已經經過了粗略的人體分割,每個像素都帶有玩家索引信息。玩家索引為O表示該像素不是人體,1-6代表不同的人體。該人體分割是較為粗略的,會將人體邊緣一些背景像素劃分到人體范圍中。在所述步驟A中,讀取Kinect感應設備a的深度圖像,并根據Kinect感應設備a的人體分割,將不同人體的深度圖像分離。
[0019]在所述步驟B中,首先對每個人體深度圖像進行形態學腐蝕操作,以去除邊緣的錯誤劃分像素。然后,統計每個人體像素的平均位置與平均深度值,以及最小深度值及其所處位置。
[0020]在所述步驟C中,根據步驟B中的統計信息,識別是否有人體處于啟動交互狀態。用戶以慣用手向前伸出的姿態,表示開始與終端進行交互。為識別這一姿態,首先判斷人體的最小深度值,與平均深度值之間的差值,如超過一定閾值,判斷可能為手前伸姿態,進入下一步;然后判斷最小深度值所處位置,如在人體平均位置的右側偏上,則判斷為右手向前伸出,將該人體傳給骨骼跟蹤模塊,并保存交互手為右手;如在人體平均位置的左側偏上,則判斷為左手向前伸出,將該人體傳給骨骼跟蹤模塊,并保存交互手為左手;如在其它位置,則判斷不是手部向前伸出姿態,不傳遞該人體到骨骼跟蹤模塊。
[0021]所述骨骼跟蹤模塊2,分為以下步驟:
步驟I,提取用戶雙手的位置; 步驟II,將交互手的位置與狀態在屏幕上顯示;
步驟III,根據雙手位置與用戶姿態,調用交互界面模塊執行相應動作。
[0022]在所述步驟I中,讀取Kinect感應設備a獲得的用戶的骨骼數據,得到用戶雙手的物理位置。如用戶的交互手已經持續處于不可見狀態達到預設時間閾值,則判斷用戶退出交互。
[0023]在所述步驟II中,將用戶的交互手位置通過線性變換,映射到交互界面上的位置,并在交互界面上顯示手勢光標。
[0024]在所述步驟III中,由用戶的雙手位置,可能還包括骨骼數據所確定的