專利名稱:姿勢狀態(tài)分類的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及交互系統(tǒng),更具體地,涉及姿勢狀態(tài)分類。
背景技術(shù):
無控制器交互系統(tǒng),例如游戲系統(tǒng)可以至少部分由自然運(yùn)動控制。在一些例子中, 這樣的系統(tǒng)可采用深度傳感器或者其他合適的傳感器來估計(jì)用戶的運(yùn)動并將估計(jì)的運(yùn)動轉(zhuǎn)換為對系統(tǒng)的控制臺的命令。然而,在估計(jì)用戶的運(yùn)動時(shí),這些系統(tǒng)只能估計(jì)用戶的主要關(guān)節(jié),例如骨架估計(jì),并且缺乏檢測細(xì)微姿勢的能力。
發(fā)明內(nèi)容
因此,在此披露涉及用戶的身體部位的姿勢估計(jì)的各實(shí)施例。例如,在一個披露的實(shí)施例中,從傳感器接收圖像,其中此圖像至少包括用戶圖像中含有此身體部位的一部分。 從圖像中估計(jì)用戶的骨架信息,至少部分地基于骨架信息來識別與此身體部位對應(yīng)的圖像區(qū)域,提取此區(qū)域的形狀描述符,并根據(jù)訓(xùn)練數(shù)據(jù)分類此形狀描述符以估計(jì)此身體部位的姿勢。隨后可基于所估計(jì)的身體部位的姿勢來輸出響應(yīng)。提供本概述以便以簡化形式介紹將在以下的詳細(xì)描述中進(jìn)一步描述的一些概念。 本概述并不旨在標(biāo)識出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于限定所要求保護(hù)的主題的范圍。此外,所要求保護(hù)的主題不限于解決在本發(fā)明的任一部分中提及的任何或所有缺點(diǎn)的實(shí)現(xiàn)。
圖I示出用戶使用由深度攝像機(jī)捕捉的自然運(yùn)動來與無控制器游戲系統(tǒng)的一實(shí)施例交互的示意圖。圖2示出根據(jù)本發(fā)明一實(shí)施例的確定用戶的手部狀態(tài)的示例性方法。圖3例示根據(jù)本發(fā)明一實(shí)施例的確定用戶的手部狀態(tài)的示例性方法。圖4示意性示出根據(jù)本發(fā)明的一實(shí)施例的計(jì)算系統(tǒng)。
具體實(shí)施例方式無控制器交互系統(tǒng),例如圖I的10所示的游戲系統(tǒng)可采用捕捉設(shè)備12,例如深度攝像機(jī)或其他合適的傳感器來估計(jì)用戶14的運(yùn)動。可以用各種不同方式估計(jì)用戶14的運(yùn)動。在一示例性方式中,可采用骨架映射來從用戶圖像中估計(jì)一個或多個關(guān)節(jié)位置。可將所估計(jì)的用戶運(yùn)動轉(zhuǎn)換成對系統(tǒng)的控制臺16的命令。在某些示例中,這樣的命令可允許用戶與在顯示設(shè)備20上的18處顯示的游戲進(jìn)行交互。例如,當(dāng)用戶14與對象,例如顯示在顯示設(shè)備20上的對象26交互時(shí),可在顯示設(shè)備20上顯示用戶14的圖像28。但是運(yùn)動估計(jì)例程,例如骨架映射可能缺乏檢測用戶的細(xì)微姿勢的能力。舉例來說,這些運(yùn)動估計(jì)例程可能缺乏檢測和/或辨別用戶的細(xì)微手部姿勢的能力,例如在圖I的22和24處分別示出的用戶張開和閉合手部這樣的細(xì)微手部姿勢。因此下面描述的系統(tǒng)和方法將涉及用戶手部狀態(tài)的確定。舉例來說,閉合或張開手部的動作可被這樣的系統(tǒng)使用,用于觸發(fā)諸如選擇動作、參與動作、或抓握及拖曳屏幕上的對象(例如對象26)的動作之類的事件,這些動作在使用控制器時(shí)將對應(yīng)于按下按鈕。這些經(jīng)過提煉的無控制器交互可用作基于手部揮舞或回旋的替換,后者可能是非直觀或麻煩的。通過此處以下描述的用戶手部狀態(tài)的確定,用戶與系統(tǒng)的交互可以更多、更簡單,且可以向用戶呈現(xiàn)更直觀的界面。圖2示出根據(jù)本發(fā)明一實(shí)施例的確定用戶手部狀態(tài)的示例性方法200,圖3例示根據(jù)本發(fā)明一實(shí)施例的確定用戶手部狀態(tài)的示例性方法,例如方法200的各種步驟。由于圖 3包括圖2的各步驟的示意圖例,以下將結(jié)合圖2和圖3 —起描述。在202,方法200從捕捉設(shè)備,例如圖I所示的捕捉設(shè)備12接收深度圖像。捕捉設(shè)備可以是捕捉三維圖像數(shù)據(jù)的任意合適設(shè)備,例如深度攝像機(jī)。捕捉設(shè)備捕捉的深度圖像包括用戶圖像中的至少一部分,這一部分包含手部。舉例來說,如圖I所示,用戶14可以和計(jì)算系統(tǒng)10交互,計(jì)算系統(tǒng)10通過捕捉設(shè)備12捕捉用戶的圖像。圖3中的302例示用戶一部分的深度圖像。深度圖像中的每一像素包含深度信息, 例如圖3中例示的灰度梯度。舉例來說,在302,如用戶左手的更黑區(qū)域指示的那樣,左手比右手更靠近捕捉設(shè)備。捕捉設(shè)備或深度攝像機(jī)捕捉觀察場景內(nèi)的用戶。如下所述,用戶的深度圖像可被用來確定用戶的各區(qū)域的距離信息、用戶的尺寸信息、曲線和用戶的骨架信息。在204,方法200包括從步驟202所獲得的深度圖像中,估計(jì)用戶的骨架信息以獲得虛擬骨架。舉例來說,在圖3中示出從302所示的用戶深度圖像中估計(jì)的虛擬骨架304。 可以從302的深度圖像導(dǎo)出虛擬骨架304從而提供用戶(例如用戶14)的機(jī)器可讀表示。 可以用任何合適方式來從深度圖像中導(dǎo)出虛擬骨架304。在某些實(shí)施例中,可以對深度圖像應(yīng)用一種或多種骨架適應(yīng)算法。應(yīng)理解可以使用任意合適的骨架建模技術(shù)。虛擬骨架304可包括多個關(guān)節(jié),每一關(guān)節(jié)對應(yīng)用戶的一個部位。為清楚理解,圖 3的例示是經(jīng)過簡化的。根據(jù)本發(fā)明的虛擬骨架可包括任意合適數(shù)量的關(guān)節(jié),每一關(guān)節(jié)可以幾乎任意數(shù)量的參數(shù)相關(guān)聯(lián)(例如,三維關(guān)節(jié)位置、關(guān)節(jié)旋轉(zhuǎn)、對應(yīng)身體部位的部位姿勢等)。應(yīng)理解虛擬骨架可采取數(shù)據(jù)結(jié)構(gòu)的形式,其包括用于多個骨架關(guān)節(jié)中的每個關(guān)節(jié)的一個或多個參數(shù)(例如,包含每一關(guān)節(jié)的X坐標(biāo)、y坐標(biāo)、z坐標(biāo)和旋轉(zhuǎn)的關(guān)節(jié)矩陣)。在某些實(shí)施例中,可使用其他類型的虛擬骨架(例如線框、形狀描述符集合等)。如前所述,已有的從深度圖像進(jìn)行的運(yùn)動估計(jì),例如上述的骨架估計(jì),可能缺少檢測用戶的細(xì)微姿勢的能力。舉例來說,這些運(yùn)動估計(jì)例程可能缺乏檢測和/或辨別用戶的細(xì)微手部姿勢的能力,例如在圖I的22和24處分別示出的用戶張開和閉合手部這樣的細(xì)微手部姿勢。另外,在更深處的深度圖像分辨率有限,與不同年齡和/或體型的用戶之間的手部尺寸變化、手部相對于捕捉設(shè)備的方位變化結(jié)合在一起,可能增加檢測和分類經(jīng)過提煉的姿勢,例如張開和閉合手部的難度。但是所估計(jì)的這一骨架可用于估計(jì)用戶的各種其他物理特征。舉例來說,骨架數(shù)據(jù)可用于估計(jì)用戶身體和/或身體部位尺寸、一個或多個用戶身體部位相對于彼此和/或捕捉設(shè)備的方位、一個或多個用戶身體部位相對于捕捉設(shè)備的深度,等等。如以下描述的, 隨后可利用用戶物理特征的這些估計(jì),在檢測和分類用戶的手部狀態(tài)時(shí)進(jìn)行標(biāo)準(zhǔn)化和減少差異。在206,方法200包括分割用戶的單手或手。在某些示例中,除手之外,方法200可另外包括分割一個或多個身體區(qū)域。分割用戶的手部包括識別深度圖像中對應(yīng)于手部的區(qū)域,其中識別至少是部分基于步驟204中所獲得的骨架信息。同樣地,可以使用與下述類似的方式來識別用戶身體的任何區(qū)域。在306,圖3例示根據(jù)所估計(jì)的骨架304將用戶的深度圖像分割成由不同陰影表示的不同區(qū)域的示例。特別是,圖3示出所定位的手部區(qū)域308,其對應(yīng)用戶舉起的右手??梢杂酶鞣N方式來分割或定位手部或身體區(qū)域,并可基于上文描述的骨架估計(jì)中識別的選擇關(guān)節(jié)。作為一示例,深度圖像中的手部檢測和定位可以是基于所估計(jì)的骨架中估計(jì)的手腕和/或手末端關(guān)節(jié)。舉例來說,在某些實(shí)施例中,深度圖像中的手部分割可以是使用以下步驟執(zhí)行對手部關(guān)節(jié)周圍的深度圖像使用拓?fù)渌阉鳎ㄎ簧疃葓D像中附近的局部極值作為指尖的候選,通過考慮從所估計(jì)的骨架中確定的身體尺寸縮放因子以及邊界識別的深度不連續(xù)性來分割手部的其他部分。作為另一示例,可采用泛色填充法來鑒別深度圖像中與用戶手部對應(yīng)的區(qū)域。在泛色填充法中,可以從初始點(diǎn)和初始方向開始搜索深度圖像,例如初始點(diǎn)可以是腕關(guān)節(jié),初始方向可以是從肘部到腕關(guān)節(jié)的方向??苫谠诔跏挤较蛏系耐队皝淼鎯ι疃葓D像中的鄰近像素,作為對遠(yuǎn)離肘部且朝向手末端的點(diǎn)賦予偏好的方式,而可使用深度一致性約束,例如深度不連續(xù)性來識別深度圖像中用戶手部的邊界或極值。在某些示例中,例如可使用閾值距離值,基于固定值或按比例地基于用戶估計(jì)尺寸同時(shí)在初始方向的正向和反向上限制深度圖搜索。作為另一示例,可使用根據(jù)骨架關(guān)節(jié)(例如腕或手末端關(guān)節(jié))放置的邊界圓或其他合適的邊界形狀來包含深度圖像中的所有像素,直到深度不連續(xù)。例如,可將窗口劃過邊界圓以識別深度不連續(xù),這可用于在深度圖像的手部區(qū)域中建立邊界。在某些方法中,當(dāng)用戶向外舉起手或?qū)⑹峙e過軀干時(shí)可執(zhí)行手部區(qū)域分割。這樣, 由于手部區(qū)域更容易和身體區(qū)分,因此深度圖像中的手部區(qū)域識別會較不模糊。應(yīng)理解上述的示例性手部分割的例子是作為舉例目的提出,并不旨在限制本發(fā)明的范圍。通常,任何手部或身體部位分割方法都可單獨(dú)使用,彼此結(jié)合使用,和/或與上述的一種示例性方法結(jié)合使用。繼續(xù)圖2的方法200,在208,方法200包括提取區(qū)域,例如在206中識別的深度圖像中與手部對應(yīng)的區(qū)域的形狀描述符。在步驟208提取的形狀描述符可以是手部區(qū)域的任意合適的表示,其用于例如基于下述的訓(xùn)練數(shù)據(jù)來分類手部區(qū)域。在某些實(shí)施例中,形狀描述符可以是用于編纂或描述手部區(qū)域形狀的矢量或數(shù)字集合。在某些示例中,形狀描述符可以是相對于一個或多個變換,例如一致(平移、旋轉(zhuǎn)、映像等)、等距、深度改變等保持不變。例如,可以用這樣一種方式提取形狀描述符,使之對手部相對于捕捉設(shè)備或傳感器的方位或位置保持不變。還可使形狀描述符相對于映像不變,在這一情況下,不區(qū)分左手和右手。此外,如果形狀描述符不是相對于映像不變的,則它一直需要被通過左右翻轉(zhuǎn)輸入圖像來進(jìn)行鏡像,從而使每一只手的訓(xùn)練數(shù)據(jù)量加倍。此外, 形狀描述符可被基于估計(jì)的身體尺寸標(biāo)準(zhǔn)化,從而相對于不同用戶之間的身體和或手部差異保持基本不變。另選地,可預(yù)先執(zhí)行校準(zhǔn)步驟,其中預(yù)估計(jì)個人尺寸,在這種情況下,描述符不必是尺寸不變的。作為形狀描述符提取的一個示例,可構(gòu)建在步驟206中識別的手部區(qū)域中與手部區(qū)域質(zhì)心的距離柱狀圖。例如,這一柱狀圖可包括15個柱,其中每個柱包括手部區(qū)域中到質(zhì)心的距離在特定距離范圍內(nèi)的點(diǎn)的數(shù)量,這一特定距離范圍與這個柱關(guān)聯(lián)。例如,這一柱狀圖中的第一個柱可包括手部區(qū)域中到質(zhì)心的距離在O和O. 40厘米之間的點(diǎn)的數(shù)量,第二個柱包括手部區(qū)域中到質(zhì)心的距離在O. 4和O. 80厘米之間的點(diǎn)的數(shù)量,以此類推。這樣, 可構(gòu)建一個矢量來編纂手部的形狀。這些矢量例如還可根據(jù)估計(jì)的身體尺寸被標(biāo)準(zhǔn)化。在另一示例性方法中,可基于手部區(qū)域中的點(diǎn)到關(guān)節(jié)的距離和/或角度、來自用戶的估計(jì)骨架(例如肘關(guān)節(jié)、腕關(guān)節(jié))的骨節(jié)或手掌平面等來構(gòu)建柱狀圖。形狀描述符的另一示例是傅里葉描述符。傅里葉描述符的構(gòu)建包括編纂手部區(qū)域的輪廓,例如通過將手部區(qū)域中從每一像素到手部區(qū)域的周界的距離對照手部邊界的橢圓匹配的半徑繪圖,然后在圖上執(zhí)行傅里葉變換。此外,可相對于所估計(jì)的身體尺寸標(biāo)準(zhǔn)化這些描述符。這些描述符可以是相對于平移、縮放和轉(zhuǎn)換不變的。構(gòu)建形狀描述符的另一示例包括確定手部的凸性,例如通過確定手部區(qū)域的輪廓中一個區(qū)域相對于手部區(qū)域的凸包的比例。應(yīng)理解,上述的這些示例性描述符本質(zhì)上是示例性的,并非旨在限制本發(fā)明的范圍。通常,手部區(qū)域的任意合適形狀描述符都可單獨(dú)使用,或彼此結(jié)合使用,和/或與上述的一種示例性方法結(jié)合使用。例如,諸如上述的柱狀圖或矢量的形狀描述符可以混合并匹配、結(jié)合、和/或連接到更大的矢量中,等等。這可允許識別那些不能夠通過孤立地查看它們來識別的新圖案。繼續(xù)方法200,在210,方法200包括分類手部的狀態(tài)。例如,可根據(jù)訓(xùn)練數(shù)據(jù)對在步驟208提取的形狀描述符進(jìn)行分類以估計(jì)手部的狀態(tài)。舉例來說,如圖3的310處所例示,手部可被分類為張開或閉合。在某些示例中,訓(xùn)練數(shù)據(jù)可包括經(jīng)過標(biāo)注的各種手部狀態(tài)的深度圖像示例。訓(xùn)練數(shù)據(jù)可以是真實(shí)的或合成生成的,描繪不同身體尺寸和手臂方位的全部或上身3D模型以及不同的連貫手部姿勢,這些不同的連貫手部姿勢是基于運(yùn)動捕捉或手工設(shè)計(jì)的手部姿勢??山档秃铣蓤D像的質(zhì)量以模擬有噪聲的真實(shí)圖像。在某些示例中,在分類步驟210中使用的訓(xùn)練數(shù)據(jù)可以是基于預(yù)先確定的手部示例集合。可以對照手部區(qū)域的形狀描述符比較各個手部狀態(tài),根據(jù)各個手部狀態(tài)來分組或標(biāo)注手部示例。在某些示例中,可使用不同的元數(shù)據(jù)來劃分訓(xùn)練數(shù)據(jù)。例如,訓(xùn)練數(shù)據(jù)可包括多個手部狀態(tài)示例并例如根據(jù)以下的一個或多個進(jìn)行劃分手的側(cè)向(例如左或右),手的方位 (例如低手臂角度或低手臂方位),深度,和/或用戶的身體尺寸。將這些訓(xùn)練手部示例劃分為單獨(dú)的子集可降低每一部分中手部形狀的變化性,這使得手部狀態(tài)的整體分類更準(zhǔn)確。另外在某些示例中,訓(xùn)練數(shù)據(jù)可以是特定于個別應(yīng)用程序的。也就是說,訓(xùn)練數(shù)據(jù)可依賴于在給定應(yīng)用程序中的期望動作,例如游戲中的期望活動等。此外在某些示例中,訓(xùn)練數(shù)據(jù)可以是用戶特定的。例如,應(yīng)用程序或游戲可包括訓(xùn)練模塊,其中用戶執(zhí)行一個或多個訓(xùn)練練習(xí)以校準(zhǔn)訓(xùn)練數(shù)據(jù)。例如,用戶可作出一系列張開或閉合手的姿勢以建立訓(xùn)練數(shù)據(jù)集,訓(xùn)練數(shù)據(jù)集用于在與系統(tǒng)的后續(xù)交互期間估計(jì)用戶手部狀態(tài)。
可以各種方式給予訓(xùn)練示例來執(zhí)行用戶手部分類。例如,可在分類中采用各種機(jī)器學(xué)習(xí)技術(shù)。非限制性示例包括支持矢量機(jī)訓(xùn)練、回歸、近鄰取樣、(未)監(jiān)督聚類等等。如上所述,這些分類技術(shù)可使用各種手部狀態(tài)的標(biāo)注深度圖像示例,用于預(yù)測所觀察的手部是多個狀態(tài)之一的可能性。另外,可以在分類步驟期間或之后向分類添加置信度。例如,可以根據(jù)訓(xùn)練數(shù)據(jù)或通過將S函數(shù)或其他合適的誤差函數(shù)適配到分類步驟的輸出,來將置信區(qū)間賦予所估計(jì)的手部狀態(tài)。作為分類手部狀態(tài)的簡單、非限制性示例,有兩種可能的手部狀態(tài),張開或閉合, 例如圖3的310處所示。在這一示例中,訓(xùn)練數(shù)據(jù)可包括兩種標(biāo)注手部集合表示張開或近似張開的手部狀態(tài)的手部示例的第一集合和表示閉合或近似閉合的手部狀態(tài)的手部示例的第二集合。這樣,當(dāng)給定識別的手部區(qū)域的提取的形狀描述符時(shí),可以將識別的手部區(qū)域的提取的形狀描述符與第一(張開)和第二(閉合)手部集合的手部示例比較以確定識別的手部區(qū)域落入每一集合的可能性。隨后可根據(jù)更高的可能性估計(jì)出手部的狀態(tài)。例如,如圖3的310處所示,識別的手部區(qū)域被確定為有更高的可能性是張開的, 從而被如此分類。另外在某些示例中,被確定的識別的手部為特定手部狀態(tài)的可能性可以用來建立手部狀態(tài)估計(jì)的置信區(qū)間??刹捎酶鞣N分類后濾波步驟來提高手部狀態(tài)估計(jì)的準(zhǔn)確性。因此方法200在211 可包括濾波步驟。例如,可對預(yù)測的連續(xù)深度圖像幀之間的手部狀態(tài)應(yīng)用時(shí)間一致性濾波, 如低通濾波步驟,以平滑預(yù)測并減少時(shí)間抖動,例如由虛假手部運(yùn)動、傳感器噪聲、或偶然分類錯誤引起的時(shí)間抖動。也就是說,可執(zhí)行根據(jù)來自捕捉設(shè)備或傳感器的多個深度圖像的用戶手部的多個狀態(tài)的估計(jì),以及執(zhí)行多個估計(jì)的時(shí)間濾波以估計(jì)手部狀態(tài)。此外,在某些示例中,分類結(jié)果可以偏向一個狀態(tài)或另一狀態(tài)(例如偏向張開或閉合手),因?yàn)槟承?yīng)用程序可能比其他應(yīng)用程序?qū)μ摷僬?在一個方向或另一方向)更敏感。繼續(xù)方法200,方法200在212包括基于所估計(jì)的手部狀態(tài)輸出響應(yīng)。例如可輸出命令給計(jì)算系統(tǒng)的控制臺,例如計(jì)算系統(tǒng)10的控制臺16。作為另一示例,可輸出響應(yīng)給顯示設(shè)備,例如顯示設(shè)備20。這樣,估計(jì)的用戶運(yùn)動,包括估計(jì)的手部狀態(tài)可被轉(zhuǎn)換成給系統(tǒng) 10的控制臺16的命令,從而用戶可以如上述般與系統(tǒng)交互。此外,可執(zhí)行上述的方法或過程以確定用戶身體任何部位的狀態(tài)估計(jì),例如嘴巴、眼睛等。例如,可以使用上述的方法估計(jì)用戶身體部位的姿勢。此處描述的方法和過程可以結(jié)合到各種不同類型的計(jì)算系統(tǒng)。上述的計(jì)算系統(tǒng)10 是非限制性的示例系統(tǒng),其包括游戲控制臺16、顯示設(shè)備20、以及捕捉設(shè)備12。作為另一更通用的示例,圖4示意性地示出可執(zhí)行此處描述方法和過程中的一個或多個的計(jì)算系統(tǒng) 400。計(jì)算系統(tǒng)400可采用各種不同形式,包括但不限于,游戲控制臺、個人計(jì)算系統(tǒng)、以及音頻/視覺劇場、以及其它。計(jì)算系統(tǒng)400可包括邏輯子系統(tǒng)402、在操作上連接到邏輯子系統(tǒng)的數(shù)據(jù)保存子系統(tǒng)404、顯示子系統(tǒng)406、和/或捕捉設(shè)備408。計(jì)算系統(tǒng)可任選地包括未示出于圖4中的組件,并且/或者示出于圖4中的某些組件可以是未被整合到計(jì)算系統(tǒng)中的周邊組件。此外,計(jì)算系統(tǒng)400可以是網(wǎng)絡(luò),例如局域網(wǎng)或廣域網(wǎng)的一部分。邏輯子系統(tǒng)402可包括被配置成執(zhí)行一個或多個指令的一個或多個物理設(shè)備。例如,邏輯子系統(tǒng)402可被配置成執(zhí)行一個或多個指令,該一個或多個指令是一個或多個程序、例程、對象、組件、數(shù)據(jù)結(jié)構(gòu)、或其它邏輯構(gòu)造的一部分??蓪?shí)現(xiàn)此類指令以執(zhí)行任務(wù)、實(shí)現(xiàn)數(shù)據(jù)類型、變換一個或多個設(shè)備的狀態(tài)、或以其它方式得到所需結(jié)果。邏輯子系統(tǒng)可包括被配置成執(zhí)行軟件指令的一個或多個處理器。另外或另選地,邏輯子系統(tǒng)402可包括被配置成執(zhí)行硬件或固件指令的一個或多個硬件或固件邏輯機(jī)器。邏輯子系統(tǒng)402可任選地包括分布在兩個或多個設(shè)備上的獨(dú)立組件,這些獨(dú)立組件在某些實(shí)施例中可遠(yuǎn)程放置。數(shù)據(jù)保存子系統(tǒng)404可包括一個或多個物理設(shè)備,該一個或多個設(shè)備被配置成保存可由邏輯子系統(tǒng)執(zhí)行以實(shí)現(xiàn)此處所述的方法和過程的數(shù)據(jù)和/或指令。在實(shí)現(xiàn)了此類方法和過程時(shí),可變換數(shù)據(jù)保存子系統(tǒng)404的狀態(tài)(例如,保存不同數(shù)據(jù))。數(shù)據(jù)保存子系統(tǒng) 404可包括可移動介質(zhì)和/或內(nèi)建設(shè)備。數(shù)據(jù)保存子系統(tǒng)704可包括光存儲設(shè)備、半導(dǎo)體存儲和儲存設(shè)備(例如RAM、EEPR0M,閃存等)、和/或磁儲存設(shè)備,以及其它。數(shù)據(jù)保存子系統(tǒng)404可以包括帶有以下各項(xiàng)特征中的一個或多個的設(shè)備易失性、非易失性、動態(tài)、靜態(tài)、 讀/寫、只讀、隨機(jī)存取、順序存取、位置可尋址、文件可尋址、以及內(nèi)容可尋址。在某些實(shí)施例中,可將邏輯子系統(tǒng)402和數(shù)據(jù)保存子系統(tǒng)404集成到一個或多個常見設(shè)備中,如專用集成電路或片上系統(tǒng)。圖4還示出使用計(jì)算機(jī)可讀可移動儲存介質(zhì)416形式,例如DVD、⑶、軟盤、和/或磁帶驅(qū)動器的數(shù)據(jù)保存子系統(tǒng)的一方面,該方面可用于存儲和/或傳送可執(zhí)行以實(shí)現(xiàn)此處所述的方法和過程的數(shù)據(jù)和/或指令。顯示子系統(tǒng)406可用于呈現(xiàn)由數(shù)據(jù)保存子系統(tǒng)404保存的數(shù)據(jù)的可視表示。由于此處所描述的方法和過程改變了由數(shù)據(jù)保存子系統(tǒng)保持的數(shù)據(jù),并由此轉(zhuǎn)變了數(shù)據(jù)保存子系統(tǒng)的狀態(tài),可類似地轉(zhuǎn)變顯示子系統(tǒng)406的狀態(tài)以可視地表示底層數(shù)據(jù)中的改變。顯示子系統(tǒng)406可包括使用幾乎任何類型的技術(shù)的一個或多個顯示設(shè)備??蓪⒋祟愶@示設(shè)備與邏輯子系統(tǒng)402和/或數(shù)據(jù)保存子系統(tǒng)404 —起組合在共享封裝中,或此類顯示設(shè)備可以是外圍顯示設(shè)備。計(jì)算系統(tǒng)400還包括被配置成獲得一個或多個目標(biāo)和/或場景的深度圖像的捕捉設(shè)備408。捕捉設(shè)備408可被配置成通過任何合適的技術(shù)(例如飛行時(shí)間、結(jié)構(gòu)化光、立體圖像等)捕捉具有深度信息的視頻。這樣,捕捉設(shè)備408可包括深度攝像機(jī)、視頻攝像機(jī)、 立體攝像機(jī)、和/或其他合適的捕捉設(shè)備。例如,在飛行時(shí)間分析中,捕捉設(shè)備408可發(fā)射紅外光到場景,隨后使用傳感器檢測來自場景表面的反向散射光。在某些情形中,可以使用脈沖式紅外光,其中可以測量出射光脈沖和相應(yīng)的入射光脈沖之間的時(shí)間差并將其用于確定從捕捉設(shè)備到場景中的特定位置的物理距離。在某些情形中,可比較向外的光波的相位和向內(nèi)的光波的相位以確定相位偏移,相位偏移可用于確定從捕捉設(shè)備到場景中的特定位置的物理距離。在另一示例中,可使用飛行時(shí)間分析,通過經(jīng)由例如快門式光脈沖成像的技術(shù)來分析反射光束隨時(shí)間的強(qiáng)度變化以間接地確定從捕捉設(shè)備到場景中的特定位置的物理距離。在另一示例中,捕捉設(shè)備408可利用結(jié)構(gòu)化光分析來捕捉深度信息。在這一分析中,圖案化光(例如,被顯示為諸如網(wǎng)格圖案或條紋圖案等已知圖案的光)可被投影到場景上。在場景的表面上,圖案成為變形的,而圖案的這一變形可被研究以確定從捕捉設(shè)備到場景中的特定位置的物理距離。
在另一示例中,捕捉設(shè)備可包括兩個或更多物理上分離的攝像機(jī),它們從不同角度觀察場景以獲得可視立體數(shù)據(jù)。在這些情形中,可分解可視立體數(shù)據(jù)以生成深度圖像。在其他實(shí)施例中,捕捉設(shè)備408可利用其他技術(shù)測量和/或計(jì)算深度值。在某些實(shí)施例中,可將兩個或更多攝像機(jī)整合到一個集成捕捉設(shè)備中。例如,可將深度攝像機(jī)和視頻攝像機(jī)(例如RGB視頻攝像機(jī))整合到共同的捕捉設(shè)備中。在某些實(shí)施例中,可協(xié)同使用兩個或更多單獨(dú)的捕捉設(shè)備。例如,可使用深度攝像機(jī)和分離的視頻攝像機(jī)。當(dāng)使用視頻攝像機(jī)時(shí),它可用于提供目標(biāo)追蹤數(shù)據(jù)、確認(rèn)數(shù)據(jù)以用于場景分析、圖像捕捉、臉部識別、高精度手指(或其他小特征)追蹤、光感應(yīng)、和或其他功能的錯誤修正。在某些實(shí)施例中,可將兩個或更多深度和/或RGB攝像機(jī)放置在主題的不同側(cè)面以獲得此主題的更完整3D模型,或進(jìn)一步改善手部周圍觀察的分辨率。在其他實(shí)施例中,可使用單個攝像機(jī)以例如獲得RGB圖像,且可基于顏色,例如手部的顏色來分割圖像。應(yīng)理解可由一個或多個捕捉設(shè)備的邏輯機(jī)器來執(zhí)行至少某些深度分析操作。捕捉設(shè)備可包括被配置為執(zhí)行一個或多個深度分析功能的一個或多個板上處理單元。捕捉設(shè)備可包括固件以幫助更新這樣的板上處理邏輯。例如,計(jì)算系統(tǒng)400還可包括被配置成執(zhí)行一個或多個指令的各種子系統(tǒng),該一個或多個指令是一個或多個程序、例程、對象、組件、數(shù)據(jù)結(jié)構(gòu)、或其它邏輯構(gòu)造的一部分。 這樣的子系統(tǒng)可以在操作上連接到邏輯子系統(tǒng)402和/或數(shù)據(jù)保存子系統(tǒng)404。在某些示例中,這些子系統(tǒng)可被實(shí)現(xiàn)為儲存在可移動或不可移動的計(jì)算機(jī)可讀儲存介質(zhì)上的軟件。例如,計(jì)算系統(tǒng)400可包括被配置為識別深度圖像中與手部對應(yīng)的區(qū)域的圖像分割子系統(tǒng)410,這一識別至少部分地基于骨架信息。計(jì)算系統(tǒng)400可另包括描述符提取子系統(tǒng)412,其被配置為提取被圖像分割子系統(tǒng)410識別的區(qū)域的形狀描述符。計(jì)算系統(tǒng)400 還可包括分類器子系統(tǒng)414,其被配置為基于訓(xùn)練數(shù)據(jù)分類形狀描述符以估計(jì)手部狀態(tài)。應(yīng)該理解,此處所述的配置和/或方法在本質(zhì)上示例性的,且這些具體實(shí)施例或示例不應(yīng)視為限制性的,因?yàn)榭赡艽嬖谠S多種變體。此處所述的具體例程或方法可表示任何數(shù)量的處理策略中的一個或多個。由此,所示出的各個動作可以按所示順序執(zhí)行、按其他順序執(zhí)行、并行地執(zhí)行、或者在某些情況下省略。同樣,可以改變上述過程的次序。應(yīng)理解,在此描述的檢測張開和閉合手部的示例本質(zhì)上是示例性的,并非旨在限制本發(fā)明的范圍。在此描述的方法和系統(tǒng)可被應(yīng)用于估計(jì)深度圖像中的各種提煉的姿勢。 例如,可使用在此描述的系統(tǒng)和方法來估計(jì)各種其他手部輪廓。非限制性示例包括拳頭姿勢、張開的手掌姿勢、手指指點(diǎn)等。本發(fā)明的主題包括各種過程、系統(tǒng)和配置的所有新穎和非顯而易見的組合和子組合、和此處所公開的其它特征、功能、動作、和/或特性、以及其任何和全部等效物。
權(quán)利要求
1.用于估計(jì)用戶身體部位的姿勢的方法(200),包括從傳感器(12)接收(202)圖像(28),所述圖像(28)包括用戶(14)的圖像中的至少一部分,所述至少一部分含有所述身體部位;從所述圖像(28)估計(jì)(204)所述用戶(14)的骨架信息;識別(206)所述圖像(28)中對應(yīng)于所述身體部位的區(qū)域(308),所述識別至少部分地基于所述骨架信息;提取(208)所述區(qū)域(308)的形狀描述符;基于訓(xùn)練數(shù)據(jù)分類(210)所述形狀描述符來估計(jì)所述身體部位的姿勢;以及根據(jù)所估計(jì)的身體部位的姿勢輸出(212)響應(yīng)。
2.如權(quán)利要求I所述的方法,還包括根據(jù)所述骨架信息中各關(guān)節(jié)之間的至少一段距離來估計(jì)身體尺寸縮放因子,并根據(jù)所述身體尺寸縮放因子標(biāo)準(zhǔn)化所述形狀描述符。
3.如權(quán)利要求2所述的方法,其中識別所述圖像中對應(yīng)于所述身體部位的區(qū)域包括使用基于所述身體尺寸縮放因子的地形搜索。
4.如權(quán)利要求I所述的方法,其中識別所述圖像中對應(yīng)于所述身體部位的區(qū)域是至少部分地基于泛色填充法。
5.如權(quán)利要求I所述的方法,其中所述身體部位是手,且估計(jì)所述身體部位的姿勢包括估計(jì)手是張開或是閉合。
6.如權(quán)利要求I所述的方法,還包括根據(jù)來自所述傳感器的多個圖像來估計(jì)所述身體部位的多個姿勢,并且執(zhí)行多個估計(jì)的時(shí)間濾波以估計(jì)所述身體部位的估計(jì)姿勢。
7.如權(quán)利要求I所述的方法,還包括向所述身體部位的估計(jì)姿勢分配置信區(qū)間。
8.如權(quán)利要求I所述的方法,其中基于訓(xùn)練數(shù)據(jù)分類所述形狀描述符來估計(jì)所述身體部位的姿勢是基于至少一種機(jī)器學(xué)習(xí)技術(shù)。
9.如權(quán)利要求I所述的方法,其中所述身體部位是手,且所述訓(xùn)練數(shù)據(jù)基于元數(shù)據(jù)來劃分,所述元數(shù)據(jù)包括以下至少之一手的方位、低手臂角度、低手臂方位、深度、以及用戶的身體尺寸。
10.一種包括儲存于其上的指令的計(jì)算機(jī)可讀儲存介質(zhì),所述指令可被計(jì)算設(shè)備 (400)執(zhí)行以從深度攝像機(jī)(12)接收(202)深度圖像(28),所述深度圖像(28)包括用戶(14)的圖像中的至少一部分,所述至少一部分含有手;從所述深度圖像(28)估計(jì)(204)所述用戶(14)的骨架信息;識別(206)所述深度圖像(28)中對應(yīng)于所述手的區(qū)域(308),所述識別至少部分地基于所述骨架信息;提取(208)所述區(qū)域(308)的形狀描述符;基于訓(xùn)練數(shù)據(jù)分類(210)所述形狀描述符來估計(jì)所述手的姿勢,其中所述訓(xùn)練數(shù)據(jù)是基于元數(shù)據(jù)來劃分,所述元數(shù)據(jù)包括以下至少之一手的方位、深度、以及用戶的身體尺寸; 以及基于所估計(jì)的手的估計(jì)狀態(tài)輸出(212)響應(yīng)。
全文摘要
披露了姿勢狀態(tài)識別以及估計(jì)用戶身體部位姿勢的系統(tǒng)和方法。在一個披露的實(shí)施例中,從傳感器接收圖像,其中此圖像至少包括用戶圖像中含有此身體部位的一部分。從圖像中估計(jì)用戶的骨架信息,至少部分地基于骨架信息來識別與此身體部位對應(yīng)的圖像區(qū)域,提取此區(qū)域的形狀描述符,并根據(jù)訓(xùn)練數(shù)據(jù)分類此形狀描述符以估計(jì)此身體部位的姿勢。
文檔編號G06K9/00GK102591459SQ201110447930
公開日2012年7月18日 申請日期2011年12月28日 優(yōu)先權(quán)日2010年12月28日
發(fā)明者A·A-A·基普曼, A·巴蘭, J·肖頓, M·西迪基, O·M·C·威廉姆斯, R·M·蓋斯 申請人:微軟公司