用于姿勢識別的部位和狀態檢測的制作方法
【專利說明】用于姿勢識別的部位和狀態檢測
[0001] Μ?
[0002] 用于人機交互、計算機游戲和其它應用的姿勢識別難以達到準確和實時。許多姿 勢,諸如那些用人手作出的,是細節的并且難以互相區分。同樣,用于捕捉姿勢的圖像的設 備可能是嘈雜和易于出錯的。
[0003] -些先前的方法已經在游戲玩家的圖像中標識了身體各部位并隨后,在分開的階 段,使用身體各部位計算身體各部位的3D空間坐標以形成玩家的骨架模型。該方法可能是 計算密集的并且可能易于出錯,其中身體部位標識不穩健。例如,當發生身體部位遮擋時, 其中非尋常的關節角發生或歸因于身體大小和形狀改變。
[0004] 其它先前的方法通過縮放和旋轉圖像來匹配所存儲的對象模板來使用模板匹配。 這些類型的方法涉及大的計算能力和存儲容量。
[0005] 以下描述的各實施例不限于解決已知姿勢識別系統的缺點中的任一個或全部的 實現。
【發明內容】
[0006] 下面呈現了本發明的簡要概述,以便向讀者提供基本理解。本概述不是本公開的 窮盡概覽,并且不標識本發明的關鍵/重要元素或描述本說明書的范圍。其唯一的目的是 以簡化形式呈現此處所公開的精選概念,作為稍后呈現的更詳細的描述的序言。
[0007] 用于姿勢識別的部位和狀態檢測對人機交互、計算機游戲,和實時識別姿勢的其 它應用是有用的。在各種實施例中,使用決策森林分類器以部位和狀態標記兩者來給輸入 圖像的圖像元素加標記,其中部位標記標識可變形對象的組件(諸如指尖、手掌、手腕、唇、 筆記本電腦蓋),并且其中狀態標記標識可變形對象的配置(諸如打開、關閉、上、下、張開、 握緊)。在各實施例中,部位標記被用于計算身體各部位的重心,且部位標記、重心和狀態標 記被用于實時或接近實時地識別姿勢。
[0008] 通過結合附圖參考以下詳細描述,可易于領會并更好地理解許多附帶特征。
[0009] 附圖簡沐
[0010] 根據附圖閱讀以下【具體實施方式】,將更好地理解本發明,在附圖中:
[0011] 圖1是使用傳統鍵盤輸入、空中姿勢和鍵盤上姿勢來操作桌面計算系統的用戶的 示意圖;
[0012] 圖2是圖1的捕捉系統和計算設備的示意圖;
[0013] 圖3是姿勢識別的方法的流程圖;
[0014] 圖4是生成訓練數據的裝置的示意圖;
[0015] 圖5是隨機決策森林的示意圖;
[0016] 圖6是存儲在隨機決策樹的葉節點處的概率分布的示意圖;
[0017] 圖7是存儲在隨機決策樹的葉節點處的兩個概率分布的示意圖;
[0018] 圖8是用于分類部位和狀態的第一第二階段隨機決策森林的示意圖;
[0019] 圖9是在測試時使用經訓練的隨機決策森林的方法的流程圖;
[0020] 圖10是訓練隨機決策森林的方法的流程圖;
[0021] 圖11示出可在其中實現姿勢識別系統的實施例的示例性的基于計算的設備。
[0022] 在各個附圖中使用相同的附圖標記來指代相同的部件。
【具體實施方式】
[0023] 下面結合附圖提供的詳細描述旨在作為本發明示例的描述,并不旨在表示可以構 建或使用本發明示例的唯一形式。本描述闡述了本發明示例的功能,以及用于構建和操作 本發明示例的步驟的序列。然而,可以通過不同的示例來實現相同或等效功能和序列。
[0024] 雖然在本文中將本發明的示例描述并示出為用于人手的部位和狀態識別系統中 實現,但所描述的系統只是作為示例而非限制來提供的。本領域的技術人員將會理解,本 示例適于應用于各種不同類型的部位和狀態識別系統,包括但不限于完全身體姿勢識別系 統、手和臂姿勢識別系統、面部姿勢識別系統和用于識別關節連接的對象、可變形對象或靜 態對象的部位和狀態的系統。做出要被識別的姿勢的實體可以是人、動物、植物或其它對象 (可以是或者不是活的),諸如膝上計算機。
[0025] 描述了部位和狀態識別系統,其包括被訓練來針對部位和狀態兩者分類圖像的圖 像元素的隨機決策森林。例如,人手和前臂的深度圖像的實況視頻饋送被實時處理,以檢測 諸如指尖、手掌、手腕、前臂的各部位,并且還檢測諸如握緊、張開、上、下的狀態。在一些示 例中,部位和狀態標記被經訓練的森林同時分派。這可被用作姿勢識別系統的一部分,用于 控制基于計算的設備,如現在參照圖1描述的。然而,這是一個示例;部位和狀態識別功能 可被用于其它類型的姿勢識別或者用于識別可改變配置的對象(諸如膝上計算機)或靜態 對象(可改變它們相對于視點的朝向)的部位和狀態。
[0026] 首先參考圖1,圖1示出了用于控制基于計算的設備102的示例控制系統100。在 此示例中,控制系統100允許基于計算的設備102由傳統輸入設備(例如鼠標和鍵盤)和 手部姿勢控制。所支持的手部姿勢可以是觸摸手部姿勢、空中姿勢或其組合。"觸摸手部姿 勢"可以是一只或多只手在與表面接觸時的任何預定義的移動。表面可以包括或不包括觸 摸傳感器。"空中姿勢"可以是一只或多只手在空中時(一只或多只手沒有接觸表面)的任 何預定義的移動。
[0027] 通過整合控制的兩個模式,用戶以便于使用的方式體驗了每種控制模式的益處。 具體而言,許多基于計算的設備102的行為被調整到傳統輸入(例如,鼠標和鍵盤),特別是 那些需要廣泛的創作、編輯或細化的操縱,諸如文檔撰寫、編碼、創建演示或圖形設計任務。 然而,存在這些任務的各元素,諸如模式轉換、窗口和任務管理、菜單選擇和特定類型的導 航,它們被卸載到快捷方式和輔助按鍵或上下文菜單(可使用諸如觸摸手部姿勢和/或空 中手部姿勢的其它控制方式更容易地實現)。
[0028] 圖1所示的基于計算的設備102是傳統的桌面計算機,具有分開的處理器組件104 和顯示屏106 ;然而,在此描述的方法和系統同樣可以應用到處理器組件104和顯示屏106 為集成的(諸如膝上計算機或平板計算機)基于計算的設備102。
[0029] 控制系統100還包括諸如鍵盤的輸入設備108,其與基于計算的設備通信以允許 用戶通過傳統方式控制基于計算的設備102 ;捕捉設備110 (例如,輸入設備108),用于檢測 用戶手部相對于環境中的參照物的位置和移動;以及用于解釋從捕捉設備110獲得的信息 以控制基于計算的設備102的軟件(未示出)。在一些示例中,用于解釋來自捕捉設備110 的信息的軟件的至少一部分被集成到捕捉設備110。在其它示例中,軟件被集成或加載到基 于計算的設備102。在其它示例中,軟件位于與基于計算的設備102諸如通過因特網進行通 信的另一個實體處。
[0030] 在圖1中,捕捉設備110安裝在上方并向下指著用戶的工作表面112。然而,在其 它示例中,捕捉設備110可被安裝在參照物(例如,鍵盤)或環境中的另一個合適的對象之 中或之上。
[0031] 在操作中,可以使用捕捉設備110相對于參照物(例如,鍵盤)跟蹤用戶的手,以 使得用戶手的位置和移動可以被基于計算的設備1〇2(和/或捕捉設備110)解釋為可用于 控制由基于計算的設備102執行的應用的觸摸手部姿勢和/或空中手部姿勢。結果,除了 能夠通過傳統的輸入(例如,鍵盤和鼠標)來控制基于計算的設備102之外,用戶可通過以 預定義的方式或模式在參照物(例如,鍵盤)上或上方移動他或她的手來控制基于計算的 設備102。
[0032] 因此,圖1的控制系統100能夠識別在參照物(例如,鍵盤)上和圍繞參照物的觸 摸以及在參照物上方的空中姿勢。
[0033] 現在參考圖2,示出了可在圖1的控制系統100中使用的捕捉設備110的示意圖。 圖2中的捕捉設備110的位置只是一個示例。可使用捕捉設備的其它位置,諸如在桌面上 向上看或其它位置。捕捉設備110包括至少一個用于捕捉用戶的手的圖像流的成像傳感器 202。成像傳感器202可以是任何深度相機、RGB相機、捕捉或產生輪廓圖像的成像傳感器 中的一個或多個,其中輪廓圖像描繪對象的外形。成像傳感器202可以是被安排成捕捉場 景的深度信息的深度相機。深度信息可以是包括深度值的深度圖像的形式,即深度值是與 深度圖像的每個圖像元素相關聯的值,該值和該深度相機和由該圖像元素描繪的項目或物 體之間的距離有關。
[0034] 深度信息可以使用任何合適的技術獲得,包括例如飛行時間、結構化光、立體圖像 等。
[0035]