專利名稱:一種基于手影識別的人機交互方式的制作方法
技術領域:
本發明涉及一種人機交互方式,特別是一種利用操作手影實現的新型的人機交互 方式。
背景技術:
1968年,鼠標由美國斯坦福研究所(SRI)發明出來,它的發明者是Doug Engelbart博士。鼠標的出現,使操作電腦變得簡單許多。Windows操作系統在全球范圍內 的推廣,使鼠標的應用范圍得到了充分擴展。鼠標具有良好的準確性和實時性,得到了電腦 操作者的普遍認可。上世紀60年代,模式識別技術迅速發展。它所研究的理論和方法在很多科學和技 術領域中得到了廣泛的重視,推動了人工智能技術及圖像處理、信號處理、計算機視覺、多 媒體技術等多種學科的發展,擴大了計算機應用的領域。模式識別技術的出現,賦予了計算 機部分模式識別的能力,人們利用這種技術開發出了許多有實用價值的系統,像文字和語 音識別、指紋識別、人臉識別等。同時,模式識別技術啟發了我們利用模式識別技術來識別不同的手勢以操作計 算機。本發明就是在這種想法下產生的。考慮到手影的特征比手勢簡單而更容易識別,本 發明以手影作為識別的目標。
發明內容
本發明要解決的技術問題提供一種基于手影識別的人機交互方式,即通過計算 機識別不同的操作手影實現人機交互。本發明采用的技術方案一種基于手影識別的人機交互方式,其特點在于本發明系統包括主機、攝像頭,投影儀、屏幕等硬件設備以及運行在主機上的圖 像采集模塊、圖像分析模塊、鼠標模擬模塊三個軟件模塊。系統運行流程如下主機把當前顯示的內容通過投影儀投影到屏幕上;用戶的操 作手勢在屏幕上投影出手影;攝像頭采集屏幕區域的圖像數據傳給主機;主機對視頻圖像 做分析處理,檢測包含操作語義的手影,針對手影模擬對應的鼠標操作,實現人機交互。其中,所述主機是該系統的核心部件之一,它同時和攝像頭以及投影儀相連;另 外,本系統的軟件也是運行于主機之上。所述攝像頭是本系統圖像數據的采集裝置,拍攝區域必須包含屏幕所在的區域, 它把采集到的圖像數據以幀為單位傳給主機,作為主機進行圖像分析的數據來源。所述投影儀負責把主機顯示器的當前顯示內容投影到屏幕上顯示出來。所述的圖像采集模塊完成圖像數據的采集。可以采用DirectSh0W技術提供的相 關接口構造Filter鏈路實現圖像數據采集。所述的圖像分析模塊,即利用OpenCV提供的目標檢測算法對攝像頭傳來的圖像 進行目標檢測。若檢測到手影,則確定其大小、類別和坐標。
所述的鼠標模擬模塊,即以手影的類別和坐標為參數,通過調用鼠標API實時地 在主機上模擬對應的操作。進一步地,所述的OpenCV提供的目標檢測算法,即采集大量的正確的手影圖像和 不包含手影的背景圖像作為正負樣本,訓練生成包含目標特征信息的分類器文件。程序初 始化時加載分類器文件。進行目標檢測時,計算圖像中任意矩形區域的特征值,把它與分類 器中的特征信息進行匹配,從而實現手影檢測。進一步地,所述的三種手影類別,即移動手影,點擊手影,拖拽手影,如附圖6所 示。進一步地,所述的手影大小,即檢測出的包含手影的矩形區域的像素寬和像素高。手影 的坐標,即以矩形區域中的某一點的像素坐標作為整個手影的坐標,例如以手影所在矩形 區域的中心點代表手影坐標。本發明與鼠標相比的優點在于1、用手勢來與計算機交互比操作鼠標更加形象生動。用一些有含義的手勢來表達 操作,使人機交互更加自然、協調,也更加符合人類的思維習慣。2、本系統也使人機交互更加簡單易學。因為人從出生開始就會靈活地使用自己的 雙手,因此,教人們學會使用幾個手勢自然要比學會使用鼠標容易得多。3、人機交互的空間范圍不再受限于鼠標線的長度。
圖1為一種基于手影識別的人機交互方式的系統結構示意圖;圖2為一種基于手影識別的人機交互方式的程序流程圖;圖3為一種基于手影識別的人機交互方式的軟件結構圖;圖4為Filter鏈路示意圖;圖5為圖像分析工作流程圖;圖6為三種操作手影示例圖。
具體實施例方式下面結合附圖及具體實施例對本發明進行詳細說明。如圖1所示,本系統硬件設備包括主機,攝像頭,投影儀以及屏幕。主機把當前顯 示的內容通過投影儀投影到屏幕上;人手在屏幕上投影出不同的操作手影;攝像頭采集屏 幕所在區域圖像并傳送給主機;主機對圖像做分析處理,檢測其中的手影,最后根據手影的 語義模擬相應的鼠標操作實現人機交互。如圖2所示,是一種基于手影識別的人機交互方式的程序流程圖。步驟2-1,提取圖像數據,此步驟是由圖像采集模塊完成的,采用DirectShow技術 實現。步驟2-2,圖像分析,即利用OpenCV提供的目標檢測算法,對攝像頭傳來的圖像數 據進行分析處理,檢測當前圖像中是否存在三種手影之一。步驟2-3,判斷是否檢測到手影;若沒有檢測到,直接跳到步驟2-5。步驟2-4,模擬鼠標操作,即以檢測出的手影的類別和坐標為參數,通過調用鼠標 API實時地在主機上模擬對應的操作。
步驟2-5,檢查結束標志,若為true,則程序退出;否則,跳到步驟2-1繼續運行。如圖3所示,是一種基于手影識別的人機交互方式的軟件結構圖。本系統分為三層。最底層的數據層控制攝像頭,采集圖像數據;識別層是本系統最 關鍵的部分,分為兩部分1、特征提取通過訓練樣本數據生成分類器,2、特征匹配利用分類 器中的特征信息進行手影檢測;交互層根據識別層的結果解析操作語義,并調用鼠標API 模擬相應的鼠標操作。如圖4所示,是FiIter鏈路示意圖。所述的Filter鏈路是利用DirectShow提供的接口,定義三個Filter構成一條連 通的Filter鏈路。圖像數據在Filter鏈路中流動,截取并保存這些數據完成圖像數據的 采集。其中,三個Filter分別是Source Filter,由攝像頭構成;Transform Filter,是一 個SampleGrabber Filter,利用它的GetCurrentBufferO獲取圖像數據,每調用一次這個 函數,就能獲得當前的一幀圖像;最后的Render Filter是一個Null Render Filter,它只 是簡單的丟棄圖像數據,不做任何處理。這三個Filter都需要添加到圖表管理器中。然后 使用DirectShow中的智能連接技術把三個Filter連接成一條暢通的數據通道。如圖5所示,是圖像分析工作流程圖。值得說明的是,為了使本系統在進行圖像分析的同時用戶還能操作本系統,圖像 分析在子線程中進行。步驟5-1,移動手影檢測,利用移動手影分類器中的特征數據與圖像中的待檢測區 域進行特征匹配;步驟5-2,若存在移動手影,則直接跳到步驟5-7 ;否則,轉到下一步;步驟5-3,點擊手影檢測,利用點擊手影分類器中的特征數據與圖像中的待檢測區 域進行特征匹配;步驟5-4,若存在點擊手影,則直接跳到步驟5-7 ;否則,轉到下一步;步驟5-5,拖拽手影檢測,利用拖拽手影分類器中的特征數據與圖像中的待檢測區 域進行特征匹配;步驟5-6,若不存在拖拽手影,則圖像分析過程結束;否則,轉到下一步;步驟5-7,根據檢測結果,計算模擬鼠標操作的坐標。如圖6所示,是三種操作手影示意圖。
權利要求
一種基于手影識別的人機交互方法,主要包括基于鼠標模擬的人機交互功能;其特征在于,人機交互通過識別包含操作語義的手影而非操作鼠標實現。
2.根據權利要求1所述的方法,其特征在于手影識別功能包括三個步驟圖像采集、 圖像分析、鼠標模擬。
3.根據權利要求2所述的方法,其特征在于所述圖像采集步驟采集操作區域的實時 圖像數據,供圖像分析步驟分析。
4 根據權利要求2所述的方法,其特征在于所述圖像分析步驟檢測圖像采集步驟采 集的圖像中包含的所述包括操作語義的手影。
5.根據權利要求2所述的方法,其特征在于所述鼠標模擬步驟根據圖像分析步驟的 檢測結果,解析操作語義并模擬相關鼠標操作實現人機交互。
6.根據權利要求3所述的方法,其特征在于所述操作區域為完成所述圖像采集步驟 的圖像采集設備所能夠覆蓋的區域。
7.一種基于手影識別的人機交互系統,主要包括基于鼠標模擬的人機交互功能,所述 系統通過識別包含操作語義的手影而非操作鼠標實現;其特征在于手影識別功能包括三 個模塊圖像采集模塊、圖像分析模塊、鼠標模擬模塊。
8.根據權利要求7所述的系統,其特征在于所述圖像采集模塊采集操作區域的實時 圖像數據,供圖像分析模塊分析。
9.根據權利要求7所述的系統,其特征在于所述圖像分析模塊檢測圖像采集模塊采 集的圖像中包含的所述包括操作語義的手影。
10.根據權利要求7所述的系統,其特征在于所述鼠標模擬模塊根據圖像分析模塊的 檢測結果,解析操作語義并模擬相關鼠標操作實現人機交互。
11.根據權利要求8所述的系統,其特征在于所述操作區域為所述圖像采集模塊所能 夠覆蓋的區域。
全文摘要
一種基于手影識別的人機交互方式,是一種非傳統的人機交互方式,即通過主機識別不同的手影形態實現人機交互的功能。主機從攝像頭獲得可能包含手影的圖像數據,然后利用手影識別技術對圖像數據進行分析,若從圖像中檢測到手影,則按照手影的語義模擬實現相應的鼠標操作。本發明可以使操作者從鼠標的范圍限制中解脫出來,通過不同手影形態操作主機,與其進行交互。
文檔編號G06F3/01GK101923433SQ20101025620
公開日2010年12月22日 申請日期2010年8月17日 優先權日2010年8月17日
發明者李超, 熊璋, 郭信誼, 顏釗 申請人:北京航空航天大學