專利名稱:姿勢(shì)檢測(cè)和識(shí)別的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及姿勢(shì)檢測(cè)和識(shí)別。
背景技術(shù):
基于姿勢(shì)的交互技術(shù)提供了用戶與計(jì)算設(shè)備交互的直觀而自然的方式。許多設(shè)備和系統(tǒng)為用戶提供使用簡(jiǎn)單的、易檢測(cè)的姿勢(shì)(諸如在觸敏屏上的捏合或滑動(dòng))來進(jìn)行交互的能力。這種基于姿勢(shì)的交互能夠極大地提升用戶體驗(yàn)。然而,為了支持更加豐富或更加不同的姿勢(shì),精確檢測(cè)和識(shí)別姿勢(shì)的計(jì)算復(fù)雜度能夠顯著増加。例如,隨著姿勢(shì)的數(shù)量和/或復(fù)雜度的増加,檢測(cè)姿勢(shì)所涉及的計(jì)算復(fù)雜度可能導(dǎo)致所執(zhí)行的姿勢(shì)和計(jì)算設(shè)備進(jìn)行動(dòng)作之間的可注意到的滯后。在一些應(yīng)用(諸如游戲)的情況下,這種滯后可能負(fù)面影響用戶體驗(yàn)。 此外,隨著基于姿勢(shì)的用戶交互的使用變得越來越常見,越來越多祥的用戶用這種方式進(jìn)行交互。例如,執(zhí)行姿勢(shì)的用戶來自更廣的年齡范圍,并具有不同的經(jīng)驗(yàn)水平。這意味著,不同用戶可能非常不同地執(zhí)行相同的姿勢(shì),從而對(duì)姿勢(shì)識(shí)別技術(shù)要產(chǎn)生一致而精確的檢測(cè)帶來挑戰(zhàn)。此外,對(duì)自然用戶界面的使用變得越來越廣泛,其中用戶使用例如基于相機(jī)的輸入或用于跟蹤用戶身體部位的移動(dòng)的設(shè)備來更直觀地與計(jì)算設(shè)備交互。這種自然用戶界面使得姿勢(shì)的輸入比例如在觸敏屏上執(zhí)行的姿勢(shì)更加“自由”(即,約束更少)。這帶來了姿勢(shì)的更多的自由度和變化度,從而進(jìn)一步增加了姿勢(shì)識(shí)別技術(shù)的需要。以下描述的各實(shí)施例不限于解決已知姿勢(shì)識(shí)別技術(shù)的缺點(diǎn)中的任ー個(gè)或全部的實(shí)現(xiàn)。
發(fā)明內(nèi)容
下面呈現(xiàn)了本發(fā)明的簡(jiǎn)要概述,以便向讀者提供基本理解。本發(fā)明內(nèi)容不是本發(fā)明的詳盡概述,并且不標(biāo)識(shí)本發(fā)明的關(guān)鍵/重要元素,也不描述本發(fā)明的范圍。其唯一的目的是以簡(jiǎn)化形式呈現(xiàn)此處所公開的精選概念,作為稍后呈現(xiàn)的更詳細(xì)的描述的序言。描述了ー種姿勢(shì)檢測(cè)和識(shí)別技木。在一個(gè)示例中,接收與執(zhí)行姿勢(shì)的用戶的運(yùn)動(dòng)有關(guān)的數(shù)據(jù)項(xiàng)的序列。對(duì)照預(yù)先學(xué)習(xí)的門限值測(cè)試從該序列中選出的數(shù)據(jù)項(xiàng)集合,以確定該序列表示某個(gè)姿勢(shì)的概率。如果該概率大于預(yù)定值,則檢測(cè)到該姿勢(shì),并執(zhí)行動(dòng)作。在示例中,這些測(cè)試是由經(jīng)訓(xùn)練的決策樹分類器執(zhí)行的。在另ー示例中,可將數(shù)據(jù)項(xiàng)的序列與預(yù)先學(xué)習(xí)的模板進(jìn)行比較,并確定它們之間的相似度。如果模板的相似度超過門限,則更新與與該模板相關(guān)聯(lián)的姿勢(shì)的未來時(shí)間相關(guān)聯(lián)的可能性值。然后,當(dāng)達(dá)到該未來時(shí)間時(shí),如果該可能性值大于預(yù)定義值,則檢測(cè)到該姿勢(shì)。通過結(jié)合附圖參考以下具體實(shí)施方式
,可更易于領(lǐng)會(huì)并更好地理解許多附帶特征。
根據(jù)附圖閱讀以下具體實(shí)施方式
,將更好地理解本發(fā)明,在附圖中圖I示出了用于控制計(jì)算機(jī)游戲的示例性的基于相機(jī)的控制系統(tǒng);圖2示出了圖像捕捉設(shè)備的示意圖;圖3示出了移動(dòng)設(shè)備的示意圖;圖4示出了用于訓(xùn)練決策樹林以識(shí)別姿勢(shì)的過程的流程圖;圖5示出了隨機(jī)決策樹林的示例部分; 圖6示出了對(duì)數(shù)據(jù)序列的示例門限測(cè)試;圖7示出了使用包括圖6的測(cè)試的決策樹的示例姿勢(shì)識(shí)別計(jì)算;圖8示出了用于使用經(jīng)訓(xùn)練的決策樹林來識(shí)別姿勢(shì)的過程的流程圖;圖9示出了用于使用經(jīng)訓(xùn)練的邏輯斯蒂(logistic)模型來識(shí)別姿勢(shì)的過程的流程圖;圖10示出了使用經(jīng)訓(xùn)練的邏輯斯蒂模型的示例姿勢(shì)識(shí)別計(jì)算;以及圖11示出可在其中實(shí)現(xiàn)姿勢(shì)識(shí)別技術(shù)的各實(shí)施例的示例性的基于計(jì)算的設(shè)備。在各個(gè)附圖中使用相同的附圖標(biāo)記來指代相同的部件。
具體實(shí)施例方式下面結(jié)合附圖提供的具體實(shí)施方式
g在作為本發(fā)明示例的描述,并不g在表示可以構(gòu)建或使用本發(fā)明示例的唯一形式。本描述闡述了本發(fā)明示例的功能,以及用于構(gòu)建和操作本發(fā)明示例的步驟的序列。然而,可以通過不同的示例來實(shí)現(xiàn)相同或等效功能和序列。雖然在本文中將本發(fā)明的示例描述并示出為在游戲系統(tǒng)或移動(dòng)通信設(shè)備中實(shí)現(xiàn),但是它們只是作為示例而非限制來提供的。本領(lǐng)域的技術(shù)人員將理解,本示例適于在各種不同類型的計(jì)算系統(tǒng)中應(yīng)用。本文描述了ー種姿勢(shì)識(shí)別技術(shù),該技術(shù)允許用在計(jì)算上高效的方式、以低等待時(shí)間檢測(cè)并識(shí)別用戶姿勢(shì)。這些姿勢(shì)識(shí)別技術(shù)可被應(yīng)用于自然用戶接ロ。例如,圖I和圖2示出了其中能夠用由相機(jī)捕捉的用戶姿勢(shì)來控制計(jì)算設(shè)備(諸如游戲設(shè)備)的示例,而圖3示出了其中能用運(yùn)動(dòng)和/或定向傳感器檢測(cè)的用戶姿勢(shì)來控制手持設(shè)備的示例。首先參考圖1,圖I示出了用于控制計(jì)算機(jī)游戲的示例性的基于相機(jī)的控制系統(tǒng)100。圖I示出了在該所示示例中用戶102正在玩拳擊游戲。在一些示例中,基于相機(jī)的控制系統(tǒng)100可被用于確定身體姿態(tài)、綁定、識(shí)別、分析、跟蹤、關(guān)聯(lián)至人類目標(biāo)、提供反饋、和/或適應(yīng)于諸如用戶102這樣的人類目標(biāo)的各方面,等等?;谙鄼C(jī)的控制系統(tǒng)100包括計(jì)算設(shè)備104。計(jì)算設(shè)備104可以是通用計(jì)算機(jī)、游戲系統(tǒng)或控制臺(tái)、或?qū)S脠D像處理設(shè)備。計(jì)算設(shè)備104可包括硬件組件和/或軟件組件,以使計(jì)算設(shè)備104可用于執(zhí)行諸如游戲應(yīng)用和/或非游戲應(yīng)用等應(yīng)用。后文參考圖11討論了計(jì)算設(shè)備104的結(jié)構(gòu)?;谙鄼C(jī)的控制系統(tǒng)100進(jìn)ー步包括捕捉設(shè)備106。捕捉設(shè)備106可以是例如圖像傳感器或檢測(cè)器,該圖像傳感器或檢測(cè)器可用于在視覺上監(jiān)視ー個(gè)或多個(gè)用戶(諸如用戶102),以使得可以捕捉、分析、處理、及跟蹤ー個(gè)或多個(gè)用戶所執(zhí)行的姿勢(shì)以執(zhí)行游戲或應(yīng)用內(nèi)的ー個(gè)或多個(gè)控制或動(dòng)作,如將在下面更詳細(xì)地描述的。
基于相機(jī)的控制系統(tǒng)100可進(jìn)ー步包括連接到計(jì)算設(shè)備104的顯示設(shè)備108。該計(jì)算設(shè)備可以是可向用戶102提供游戲或應(yīng)用視覺(和可任選的音頻)的電視機(jī)、監(jiān)視器、高清電視機(jī)(HDTV)等。在操作中,可以使用捕捉設(shè)備106跟蹤用戶102以使得用戶102的位置、移動(dòng)和大小可以被計(jì)算設(shè)備104(和/或捕捉設(shè)備106)解釋為可用于影響由計(jì)算設(shè)備104執(zhí)行的應(yīng)用的控制。結(jié)果,用戶102能夠移動(dòng)他或她的身體以控制所執(zhí)行的游戲或應(yīng)用。在圖I的說明性示例中,計(jì)算設(shè)備104上執(zhí)行的應(yīng)用是用戶102正在玩的拳擊游戲。在本示例中,計(jì)算設(shè)備104控制顯示設(shè)備108來向用戶102提供拳擊對(duì)手的視覺表示。計(jì)算設(shè)備104還控制顯示設(shè)備108來提供用戶102可用他或她的移動(dòng)來控制的用戶化身的視覺表示。例如,計(jì)算設(shè)備104可包括身體姿態(tài)估算器,該估算器被安排為識(shí)別并跟蹤用戶的不同身體部位,并將這些部位映射到化身上。用這種方式,化身復(fù)制用戶102的移動(dòng),以使得如果用戶102例如在物理空間中揮拳,則這會(huì)致使該用戶化身在游戲空間中揮拳。
然而,僅在游戲空間中復(fù)制用戶移動(dòng)限制了用戶和游戲之間的交互的類型和復(fù)雜度。例如,許多游戲內(nèi)控制是瞬間的動(dòng)作或命令,在傳統(tǒng)游戲系統(tǒng)中,這些動(dòng)作或命令可以使用按鈕按下來觸發(fā)。這些動(dòng)作或命令的示例包括諸如揮拳、射擊、換武器、投擲、踢、跳、和/或下蹲。通過識(shí)別出用戶正在執(zhí)行這些動(dòng)作之一井且觸發(fā)相應(yīng)的游戲內(nèi)動(dòng)作,而不是僅復(fù)制用戶的移動(dòng),在許多應(yīng)用中可以更可靠地控制這些動(dòng)作或命令。計(jì)算設(shè)備(諸如游戲系統(tǒng))的控制還包括控制化身以外的許多動(dòng)作的輸入。例如,命令被用于控制菜單的選擇、后退/退出、打開或關(guān)閉系統(tǒng)、暫停、保存游戲、與朋友通信等。此外,控制被用干與游戲之外的應(yīng)用進(jìn)行交互,例如以輸入文本、選擇圖標(biāo)或菜單項(xiàng)、控制媒體回放、瀏覽網(wǎng)站或操作操作系統(tǒng)或應(yīng)用的任何其他可控方面。這些命令和動(dòng)作不能僅通過反映用戶的移動(dòng)來控制。而是,更高層次的處理分析這些移動(dòng)以檢測(cè)用戶是否正在執(zhí)行與這些命令或動(dòng)作之一相對(duì)應(yīng)的姿勢(shì)。如果姿勢(shì)被識(shí)另IJ,則可執(zhí)行相應(yīng)的動(dòng)作或命令。然而,在姿勢(shì)檢測(cè)的速度和準(zhǔn)確性方面,對(duì)姿勢(shì)識(shí)別系統(tǒng)施加了要求。如果存在滯后或等待時(shí)間,則這影響計(jì)算設(shè)備的可用性。類似地,如果姿勢(shì)被不準(zhǔn)確地檢測(cè),則這也會(huì)對(duì)用戶體驗(yàn)帶來負(fù)面影響。下面描述ー種允許對(duì)姿勢(shì)進(jìn)行快速、準(zhǔn)確的檢測(cè)和識(shí)別的姿勢(shì)識(shí)別技木?,F(xiàn)在參考圖2,圖2示出了可在圖I的基于相機(jī)的控制系統(tǒng)100中使用的捕捉設(shè)備106的示意圖。在圖2的示例中,捕捉設(shè)備106被配置為捕捉具有深度信息的視頻圖像。這種捕捉設(shè)備可被稱為深度相機(jī)。深度信息可以是包括深度值的深度圖像的形式,即深度值是與深度圖像的每個(gè)圖像元素相關(guān)聯(lián)的值,該值和該深度相機(jī)和位于該圖像元素處的項(xiàng)目或物體之間的距離有夫。注意,術(shù)語“圖像元素”用于指代像素、像素組、體素(voxel)、或圖像的其他更高層次的分量。深度信息可以使用任何合適的技術(shù)獲得,包括例如飛行時(shí)間、結(jié)構(gòu)化光、立體圖像等。在一些示例中,捕捉設(shè)備106可將深度信息組織為“Z層”,或可垂直于從深度相機(jī)沿其視線延伸的Z軸的層。如圖2所示,捕捉設(shè)備106包括至少ー個(gè)成像傳感器200。在圖2所示的示例中,成像傳感器200包括被安排為捕捉場(chǎng)景的深度圖像的深度相機(jī)202。所捕捉的深度圖像可包括所捕捉的場(chǎng)景的兩維(2-D)區(qū)域,其中該2-D區(qū)域中的每個(gè)圖像元素表示一深度值,諸如所捕捉的場(chǎng)景中的物體離深度相機(jī)202的長(zhǎng)度或距離。該捕捉設(shè)備還可包括被安排為以可由深度相機(jī)202查明深度信息的方式來照亮該場(chǎng)景的發(fā)射器204。例如,在深度相機(jī)202是紅外(IR)飛行時(shí)間相機(jī)的情況下,發(fā)射器204將IR光發(fā)射到該場(chǎng)景上,并且深度相機(jī)202被安排為檢測(cè)從該場(chǎng)景中的ー個(gè)或多個(gè)目標(biāo)和物體的表面反向散射的光。在ー些不例中,可以從發(fā)射器204發(fā)出脈沖紅外光,使得外出光脈沖與對(duì)應(yīng)的傳入光脈沖之間的時(shí)間可由深度相機(jī)來檢測(cè)和測(cè)量,并被用來確定從捕捉設(shè)備106到該場(chǎng)景中的目標(biāo)或物體上的位置的物理距離。另外,在一些示例中,可將來自發(fā)射器204的出射光波的相位與深度相機(jī)202處的入射光波的相位進(jìn)行比較來確定相移。該相移然后可以用于確定從捕獲設(shè)備106到目標(biāo)或物體上的一位置的物理距離。在未來示例中,可使用飛行時(shí)間分析,通過經(jīng)由包括例如快門式光脈沖成像的各種技術(shù)來分析反射光束隨時(shí)間的強(qiáng)度以間接地確定從捕捉設(shè)備106到目標(biāo)或物體上的一位置的物理距離。在另ー示例中,捕捉設(shè)備106可使用結(jié)構(gòu)化光來捕捉深度信息。在這種技術(shù)中,可使用發(fā)射器204將圖案化光(例如,顯示為諸如斑點(diǎn)、網(wǎng)格、或條形圖案等已知圖案的光,它 也可隨時(shí)間變化)投影到場(chǎng)景上。在照到場(chǎng)景中的一個(gè)或多個(gè)目標(biāo)或物體的表面上以后,圖案變形。這種圖案變形可由深度相機(jī)202捕捉然后被分析以確定從捕捉設(shè)備106到該場(chǎng)景中的目標(biāo)或物體上的一位置的物理距離。在另ー示例中,深度相機(jī)202可以是從不同角度查看場(chǎng)景的兩個(gè)或更多個(gè)物理上分開的相機(jī)的形式,以便獲得能被解析以生成深度信息的視覺立體數(shù)據(jù)。在此情況下,發(fā)射器204可被用來照亮場(chǎng)景,或可被省略。在一些示例中,除了深度相機(jī)202之外或作為對(duì)深度相機(jī)202替換,捕捉設(shè)備106可包括被稱為RGB相機(jī)206的常規(guī)視頻相機(jī)。RGB相機(jī)206被安排為在可見光頻率捕捉場(chǎng)景的圖像序列,井能因此提供可用于擴(kuò)充深度圖像的圖像。在一些示例中,可以使用RGB相機(jī)206而不是深度相機(jī)202。捕捉設(shè)備106還可以可任選地包括話筒207或話筒陣列(其可以是有向的和/或可轉(zhuǎn)向的),該話筒或話筒陣列被安排為捕捉聲音信息(諸如來自該用戶的語音輸入)并且可以用于語音識(shí)別。圖2中示出的捕捉設(shè)備106進(jìn)ー步包括至少ー個(gè)處理器208,處理器208與圖像傳感器200 (即,圖2的示例中的深度相機(jī)202和RGB相機(jī)206)、發(fā)射器204、和話筒207通信。處理器208可以是通用微處理器、或?qū)S眯盘?hào)/圖像處理器。處理器208被安排為執(zhí)行指令以控制成像傳感器200、發(fā)射器204和話筒207以捕捉深度圖像、RGB圖像和/或語音信號(hào)。處理器208也可以可任選地被安排為對(duì)這些圖像和信號(hào)執(zhí)行處理,如后文更詳細(xì)地概述的。圖2中示出的捕捉設(shè)備106進(jìn)ー步包括存儲(chǔ)器210,存儲(chǔ)器210被安排為存儲(chǔ)由處理器208執(zhí)行的指令、深度相機(jī)202或RGB相機(jī)206捕捉到的圖像或圖像的幀、或任何其他合適的信息、圖像等。在一些示例中,存儲(chǔ)器210可包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、高速緩存、閃存、硬盤、或任何其他合適的存儲(chǔ)組件。存儲(chǔ)器210可以是與處理器208通信的分開的組件,或者可被集成到處理器208中。捕捉設(shè)備106還包括與處理器208通信并被安排為經(jīng)由通信鏈路向計(jì)算設(shè)備104提供數(shù)據(jù)的輸出接ロ 212。該通信鏈路可以是例如有線連接(諸如USB、火線、以太網(wǎng)或類似連接)和/或無線連接(諸如WiFi、藍(lán)牙或類似連接)。在其他示例中,輸出接ロ 212可與ー個(gè)或多個(gè)通信網(wǎng)絡(luò)(諸如因特網(wǎng))界接并經(jīng)由這些網(wǎng)絡(luò)向計(jì)算設(shè)備104提供數(shù)據(jù)。計(jì)算設(shè)備104執(zhí)行與基于相機(jī)的姿勢(shì)識(shí)別有關(guān)的多個(gè)功能,諸如可任選的身體姿態(tài)估算器214和姿勢(shì)識(shí)別引擎216,如下面更詳細(xì)地描述的。身體姿態(tài)估算器214被安排為使用計(jì)算機(jī)視覺技術(shù)來檢測(cè)和跟蹤該用戶的不同身體部位。身體姿態(tài)估算器214可向姿勢(shì)識(shí)別引擎提供與用戶的身體姿態(tài)有關(guān)的數(shù)據(jù)的時(shí)間系列形式的輸出。這可以是該用戶的完全跟蹤的骨架模型的形式,或者是該用戶的可見身體部位的更粗略標(biāo)識(shí)。例如,這些時(shí)間系列序列可包括與用戶的至少兩個(gè)身體部位之間的隨時(shí)間變化的角度、用戶的至少兩個(gè)身體部位之間的角度的變化率、用戶的至少ー個(gè)身體部位的運(yùn)動(dòng)速度、或其組合有關(guān)的數(shù)據(jù)。不同類型的數(shù)據(jù)(某些身體部位之間的角度、速度等)被稱為“特征”。在其他示例中,身體姿態(tài)估算器214可從隨時(shí)間改變的用戶姿態(tài)推導(dǎo)出其他用戶序列(即,其他特征)。在進(jìn)一歩示例中,姿勢(shì)識(shí)別引擎216可利用除身體姿態(tài)估算器以外的不同來源推導(dǎo)輸入(S卩,特征)。還可在計(jì)算設(shè)備104上執(zhí)行應(yīng)用軟件218并使用所述姿勢(shì)來控制該應(yīng)用軟件?,F(xiàn)在參考圖3,圖3示出了可由姿勢(shì)控制的示例手持或移動(dòng)設(shè)備300。在一個(gè)示例中,圖3的移動(dòng)設(shè)備可以是移動(dòng)電話或其他移動(dòng)計(jì)算或通信設(shè)備。與這種移動(dòng)設(shè)備的交互 涉及命令的使用,諸如,例如,導(dǎo)航到實(shí)體的聯(lián)系人細(xì)節(jié)、啟動(dòng)應(yīng)用、呼叫某人、將設(shè)備置于不同的工作模式(靜音、振動(dòng)、戶外等)、回答呼叫和許多其他命令。本文描述的姿勢(shì)識(shí)別技術(shù)允許用戶通過基于運(yùn)動(dòng)的姿勢(shì)做出這些命令。換言之,用戶能夠通過以某種方式移動(dòng)移動(dòng)設(shè)備300來控制該移動(dòng)設(shè)備。移動(dòng)設(shè)備300包括提供與移動(dòng)設(shè)備300的運(yùn)動(dòng)、定向和/或位置有關(guān)的信息的一個(gè)或多個(gè)傳感器。在圖3的示例中,移動(dòng)設(shè)備300包括加速度計(jì)302、陀螺儀304、慣性測(cè)量單元(MU) 306、和羅盤308,其中加速度計(jì)302測(cè)量該設(shè)備在一個(gè)或多個(gè)軸上的適當(dāng)?shù)募铀俣?,陀螺儀304能確定該移動(dòng)設(shè)備的定向,IMU 306能測(cè)量加速度和定向兩者,羅盤308能測(cè)量該移動(dòng)設(shè)備的方向。在其他示例中,移動(dòng)設(shè)備300能包括這些傳感器中的ー個(gè)或多個(gè)的任何組合。所述傳感器向計(jì)算設(shè)備104提供與該移動(dòng)設(shè)備隨時(shí)間的運(yùn)動(dòng)或定向有關(guān)的數(shù)據(jù)項(xiàng)的序列形式的信息。注意,計(jì)算設(shè)備104可被集成到移動(dòng)設(shè)備300中,或在其他示例中,可位于遠(yuǎn)程位置處。計(jì)算設(shè)備104執(zhí)行姿勢(shì)識(shí)別引擎216,引擎216被安排為解釋關(guān)于該移動(dòng)設(shè)備的運(yùn)動(dòng)和/或定向(即,特征)的信息并識(shí)別用戶做出的姿勢(shì)。來自姿勢(shì)識(shí)別引擎216的命令控制在計(jì)算設(shè)備104上執(zhí)行的應(yīng)用軟件218,諸如上面提到的那些。移動(dòng)設(shè)備300還可以包括顯示設(shè)備310,諸如用于向用戶顯示信息的屏幕,而且還包括ー個(gè)或多個(gè)輸入設(shè)備312,諸如觸摸傳感器或按鈕。下面描述了用于在諸如上面描述的那些場(chǎng)景中檢測(cè)和識(shí)別可被應(yīng)用給自然用戶界面的姿勢(shì)的兩種技術(shù)。注意,除了上面描述的基于相機(jī)的和基于運(yùn)動(dòng)的示例外,這些姿勢(shì)識(shí)別技術(shù)還可在許多其他場(chǎng)景中應(yīng)用。參考圖4到圖8描述的第一種技術(shù)是基于機(jī)器學(xué)習(xí)分類器的使用的。參考圖9和圖10描述的第二種技術(shù)是基于經(jīng)訓(xùn)練的邏輯斯蒂模型的。如同提到過的,本文描述的第一種姿勢(shì)識(shí)別技術(shù)利用機(jī)器學(xué)習(xí)分類器來對(duì)姿勢(shì)進(jìn)行分類并相應(yīng)地對(duì)其動(dòng)作。本文使用的機(jī)器學(xué)習(xí)分類器是隨機(jī)決策樹林。然而,在其他示例中,還可以使用另選的分類器(諸如支持向量機(jī)、增強(qiáng)(boosting))。在進(jìn)ー步示例中,可以使用單個(gè)經(jīng)訓(xùn)練的決策樹(這等同于下面的解釋中的僅具有ー棵樹的樹林),而不是使用決策樹林。在下面的描述中,首先參考圖4到圖6討論了訓(xùn)練用于機(jī)器學(xué)習(xí)算法的決策樹林的過程,其次參考圖7和圖8討論了使用經(jīng)訓(xùn)練的決策樹來使用經(jīng)訓(xùn)練的算法來對(duì)姿勢(shì)進(jìn)行分類(識(shí)別)的過程。該決策樹是使用ー組經(jīng)注釋的訓(xùn)練序列來訓(xùn)練的。經(jīng)注釋的訓(xùn)練序列包括與在姿勢(shì)識(shí)別技術(shù)的操作期間看到的那些相對(duì)應(yīng)的數(shù)據(jù)項(xiàng)的序列。然而,對(duì)訓(xùn)練序列進(jìn)行注釋以對(duì)每個(gè)數(shù)據(jù)項(xiàng)進(jìn)行分類。數(shù)據(jù)項(xiàng)的序列可以描述可由姿勢(shì)識(shí)別技術(shù)解釋的各個(gè)不同特征。例如,這些特征包括但不限于 從身體姿態(tài)估算器推導(dǎo)出的兩個(gè)或更多個(gè)身體部位之間的角度; 從身體姿態(tài)估算器推導(dǎo)出的兩個(gè)或更多個(gè)身體部位之間 的角度的變化率;·使用身體姿態(tài)估算器跟蹤的ー個(gè)或多個(gè)身體部位的速度; 移動(dòng)設(shè)備的慣性、加速度或定向; 來自話筒或語音識(shí)別器的語音信號(hào); 原始深度圖像特征(即,不是來自身體姿態(tài)估算器的),諸如深度上的光學(xué)流和/或所跟蹤的特征點(diǎn)的速度; 原始RGB圖像特征,諸如該RGB圖像中的光學(xué)流的統(tǒng)計(jì)數(shù)據(jù); 基干與原始深度圖像結(jié)合的身體姿態(tài)估算器輸出的特征,諸如身體部位概率的時(shí)間導(dǎo)數(shù);或 這些特征的任何組合。每個(gè)姿勢(shì)具有一個(gè)或多個(gè)時(shí)間點(diǎn),在該時(shí)間點(diǎn)處觸發(fā)該姿勢(shì)與其有關(guān)的命令或動(dòng)作。這被稱為該姿勢(shì)的“動(dòng)作點(diǎn)”,且表示該姿勢(shì)運(yùn)動(dòng)的末端(或姿勢(shì)運(yùn)動(dòng)期間的可標(biāo)識(shí)點(diǎn))(例如,揮拳姿勢(shì)的頂點(diǎn))。在姿勢(shì)的動(dòng)作點(diǎn)處的數(shù)據(jù)項(xiàng)及其時(shí)間歷史被分類為屬于該姿勢(shì),并且所有其他數(shù)據(jù)項(xiàng)被分類為“背景”。該組經(jīng)訓(xùn)練的序列可包括與多個(gè)不同姿勢(shì)有關(guān)的序列,并且可包括與不同的測(cè)量或測(cè)量組合(例如,角度、速度、加速度等)有關(guān)的數(shù)據(jù)序列。在一些示例中,訓(xùn)練序列可能被隨機(jī)地時(shí)間翹曲或適應(yīng)該特征(例如,將來自身體姿態(tài)估算器的基于骨架的特征重新目標(biāo)化到不同大小的骨架)擾亂。圖4示出了用于訓(xùn)練決策樹林以識(shí)別姿勢(shì)的過程的流程圖。首先,接收該組經(jīng)注釋的訓(xùn)練序列402,并且選擇要在隨機(jī)決策樹林中使用的決策樹的數(shù)量404。隨機(jī)決策樹林是決定性決策樹的集合。決策樹可以在分類算法中使用,但是可能遭受過擬合,過擬合導(dǎo)致不良的概括(generalization)。然而,許多經(jīng)隨機(jī)訓(xùn)練的決策樹的全體(隨機(jī)樹林)產(chǎn)生改進(jìn)的概括。在訓(xùn)練過程期間,樹的數(shù)量是固定的。在一個(gè)示例中,樹的數(shù)量是十個(gè),然而也可以使用其他值。下面的注釋被用于描述用于姿勢(shì)識(shí)別的訓(xùn)練過程。樹林由被表示為Ψ1;...,Ψ ; , Ψτ的T個(gè)樹構(gòu)成,其中t索引每個(gè)樹。圖5示出了示例隨機(jī)決策樹林。圖5的說明性決策樹林包括三個(gè)決策樹第一樹500 (表示為樹W1);第ニ樹502 (表示為樹Ψ2);以及第三樹504 (表示為樹Ψ3)。每個(gè)決策樹包括根節(jié)點(diǎn)(例如,第一決策樹500的根節(jié)點(diǎn)506)、多個(gè)被稱為分割節(jié)點(diǎn)(例如,第一決策樹500的分割節(jié)點(diǎn)508)的內(nèi)部節(jié)點(diǎn)、以及多個(gè)葉節(jié)點(diǎn)(例如,第一決策樹500的葉節(jié)點(diǎn)510)。在操作中,每個(gè)樹的每個(gè)根和分割節(jié)點(diǎn)對(duì)輸入數(shù)據(jù)執(zhí)行ニ進(jìn)制測(cè)試并基于其結(jié)果來將數(shù)據(jù)導(dǎo)向左側(cè)或右側(cè)的子節(jié)點(diǎn)。葉節(jié)點(diǎn)不執(zhí)行任何動(dòng)作;它們僅存儲(chǔ)概率分布(例如,圖5的第一決策樹500的一葉節(jié)點(diǎn)的示例概率分布512),如后文所述的。現(xiàn)在參考圖4的剰余部分來描述選擇每個(gè)分割節(jié)點(diǎn)所使用的參數(shù)的方式以及如何計(jì)算葉節(jié)點(diǎn)概率。從該決策樹林中選擇決策樹(例如,第一決策樹500) 406,并且根節(jié)點(diǎn)506被選擇408。然后選擇來自該訓(xùn)練集合的所有經(jīng)注釋的序列。該訓(xùn)練集合中的序列中的每個(gè)數(shù)據(jù)項(xiàng)(及其相關(guān)聯(lián)的時(shí)間歷史)x與已知類標(biāo)記(用YOO表示)相關(guān)聯(lián)。因此,例如,Y(x)指示數(shù)據(jù)項(xiàng)X是否與揮拳、踢、跳、射擊、呼叫、選擇、回答、退出或背景的姿勢(shì)類的動(dòng)作點(diǎn)有關(guān),其中背景類標(biāo)記指示數(shù)據(jù)項(xiàng)X不與已定義的姿勢(shì)動(dòng)作點(diǎn)有夫。然后生成測(cè)試參數(shù)的隨機(jī)集合以供在根節(jié)點(diǎn)506處執(zhí)行的ニ進(jìn)制測(cè)試使用410。在一個(gè)示例中,該ニ進(jìn)制測(cè)試的形式是I >f(x;0) > τ,以使得f (X ; θ )是被應(yīng)用到該序列中的數(shù)據(jù)項(xiàng)X的函數(shù),該函數(shù)具有參數(shù)Θ,并且將該函數(shù)的輸出與門限值ξ和τ進(jìn) 行比較。如果f(x;0)的結(jié)果在ξ和τ之間的范圍內(nèi),則該ニ進(jìn)制測(cè)試的結(jié)果為真。否貝1J,該ニ進(jìn)制測(cè)試的結(jié)果為假。在其他示例中,可以只使用門限值I和τ中的ー個(gè),以使得如果f(x;e)的結(jié)果大于(或可另選地,小干)門限值則該ニ進(jìn)制測(cè)試的結(jié)果為真。在在此所述示例中,參數(shù)Θ定義該序列中的時(shí)間點(diǎn)從當(dāng)前數(shù)據(jù)項(xiàng)的偏移,以及可任選地在該偏移處從該序列讀取的特征的類型。后文參考圖6描述了示例函數(shù)f(x ; Θ )。在根節(jié)點(diǎn)或分割節(jié)點(diǎn)處執(zhí)行的ニ進(jìn)制測(cè)試的結(jié)果確定數(shù)據(jù)項(xiàng)被傳遞到哪個(gè)子節(jié)點(diǎn)。例如,如果ニ進(jìn)制測(cè)試的結(jié)果為真,則該數(shù)據(jù)項(xiàng)被傳遞到第一子節(jié)點(diǎn),而如果結(jié)果為假,則該數(shù)據(jù)項(xiàng)被傳遞到第二子節(jié)點(diǎn)。所生成的測(cè)試參數(shù)的隨機(jī)集合包括函數(shù)參數(shù)Θ的多個(gè)隨機(jī)值以及門限值ξ和τ。為了將隨機(jī)性注入到?jīng)Q策樹中并且減少計(jì)算,僅相對(duì)所有可能的參數(shù)的隨機(jī)采樣的子集 來優(yōu)化每個(gè)分割節(jié)點(diǎn)的函數(shù)參數(shù)Θ。例如,子集Θ的大小可以是五百。這是將隨機(jī)性注入到樹中,并且增加概括,同時(shí)避免所有可能測(cè)試上的計(jì)算密集捜索的有效而簡(jiǎn)單的方式。然后,將測(cè)試參數(shù)的每種組合應(yīng)用到訓(xùn)練集合中的每個(gè)數(shù)據(jù)項(xiàng)。換言之,對(duì)于每個(gè)訓(xùn)練序列中的每個(gè)經(jīng)注釋的數(shù)據(jù)項(xiàng),與I和τ的所有可用值相組合,ー個(gè)接ー個(gè)地嘗試Θ的所有可用值(即,QiG Θ)。對(duì)于每個(gè)組合,計(jì)算信息増益(也被稱為相對(duì)熵)。選擇使信息増益最大化的參數(shù)的組合(被表示為θ' ξ*和τ*) 414,并將其與當(dāng)前節(jié)點(diǎn)相關(guān)聯(lián)地存儲(chǔ)以供以后使用。作為對(duì)信息増益的另選,可以使用其他準(zhǔn)則,諸如Gini熵,或“雙ing(two-ing),,準(zhǔn)則。然后確定416用于最大化的信息増益的值是否小于門限。如果用于該信息増益的值小于門限,則這指示該樹的進(jìn)ー步擴(kuò)展不提供明顯的好處。這引起了異步樹,異步樹在沒有更多節(jié)點(diǎn)有用時(shí)自然停止生長(zhǎng)。在此情況下,將當(dāng)前節(jié)點(diǎn)設(shè)定418為葉節(jié)點(diǎn)。類似地,確定416該樹的當(dāng)前深度(即,在根節(jié)點(diǎn)和當(dāng)前節(jié)點(diǎn)之間有多少層節(jié)點(diǎn))。如果此值大于預(yù)定義的最大值,則將當(dāng)前節(jié)點(diǎn)設(shè)定418為葉節(jié)點(diǎn)。在一個(gè)示例中,可以將最大樹深度設(shè)定為15層,然而也可以使用其他值。如果用于最大化的信息増益的值大于或等于該門限而樹的深度小于最大值,則將當(dāng)前節(jié)點(diǎn)設(shè)定420為分割節(jié)點(diǎn)。在當(dāng)前節(jié)點(diǎn)是分割節(jié)點(diǎn)吋,它具有子節(jié)點(diǎn),并且該過程隨后移至訓(xùn)練這些子節(jié)點(diǎn)。在當(dāng)前節(jié)點(diǎn)處使用所述數(shù)據(jù)項(xiàng)的子集來訓(xùn)練每個(gè)子節(jié)點(diǎn)。使用使信息増益最大化的參數(shù)θ' ξ*和τ*來確定被發(fā)送至子節(jié)點(diǎn)的數(shù)據(jù)項(xiàng)的子集。在ニ進(jìn)制測(cè)試中使用這些參數(shù)并且在當(dāng)前節(jié)點(diǎn)處對(duì)所有數(shù)據(jù)項(xiàng)執(zhí)行422該ニ進(jìn)制測(cè)試。通過該ニ進(jìn)制測(cè)試的數(shù)據(jù)項(xiàng)形成被發(fā)送至第一子節(jié)點(diǎn)的第一子集,而沒有通過該ニ進(jìn)制測(cè)試的數(shù)據(jù)項(xiàng)形成被發(fā)送至第二子節(jié)點(diǎn)的第二子集。對(duì)于子節(jié)點(diǎn)中的每ー個(gè),對(duì)于針對(duì)相應(yīng)子節(jié)點(diǎn)的訓(xùn)練數(shù)據(jù)項(xiàng)的子集遞歸執(zhí)行424圖4的框410到422中所概括的過程。換言之,對(duì)于每個(gè)子節(jié)點(diǎn),生成410新的隨機(jī)測(cè)試參數(shù)并將其應(yīng)用412到數(shù)據(jù)項(xiàng)的相應(yīng)子集,選擇414最大化信息増益的參數(shù),并確定416節(jié)點(diǎn)的類型(分割節(jié)點(diǎn)還是葉節(jié)點(diǎn))。如果它是葉節(jié)點(diǎn),則當(dāng)前遞歸分支停止。如果它是分割節(jié)點(diǎn),則執(zhí)行422 ニ進(jìn)制測(cè)試以確定數(shù)據(jù)項(xiàng)的更多子集并且另一遞歸分支開始。因此,這個(gè)過 程以遞歸方式遍歷樹,從而訓(xùn)練姆個(gè)節(jié)點(diǎn),直到在姆個(gè)分支到達(dá)葉節(jié)點(diǎn)。當(dāng)?shù)竭_(dá)葉節(jié)點(diǎn)時(shí),該過程等待426,直到所有分支中的節(jié)點(diǎn)已被訓(xùn)練。注意,在其他示例中,可使用可另選的遞歸技術(shù)來獲得相同的功能。例如,ー種可另選技術(shù)是訓(xùn)練“寬度優(yōu)先”,其中樹的整個(gè)層次被一次訓(xùn)練,即,在每次迭代中樹的大小加倍。一旦該樹中的所有節(jié)點(diǎn)被訓(xùn)練以確定使在每個(gè)分割節(jié)點(diǎn)處的信息增益最大化的ニ進(jìn)制測(cè)試的參數(shù),并且葉節(jié)點(diǎn)已被選擇以終止每個(gè)分支,則該樹的所有葉節(jié)點(diǎn)的概率分布可被確定。這是通過對(duì)達(dá)到所述葉節(jié)點(diǎn)中的每ー個(gè)的訓(xùn)練數(shù)據(jù)項(xiàng)的類標(biāo)記進(jìn)行計(jì)數(shù)428來實(shí)現(xiàn)的。所有訓(xùn)練數(shù)據(jù)項(xiàng)在該樹的葉節(jié)點(diǎn)處停止。當(dāng)每個(gè)訓(xùn)練數(shù)據(jù)項(xiàng)具有與其相關(guān)聯(lián)的類標(biāo)記吋,每個(gè)類中的訓(xùn)練數(shù)據(jù)項(xiàng)的總數(shù)量可以在每個(gè)葉節(jié)點(diǎn)處被計(jì)數(shù)。從葉節(jié)點(diǎn)處的每個(gè)類中的訓(xùn)練數(shù)據(jù)項(xiàng)的數(shù)量和該葉節(jié)點(diǎn)處的訓(xùn)練數(shù)據(jù)項(xiàng)的總數(shù)量,可以生成430該葉節(jié)點(diǎn)處的類的概率分布。為了生成該分布,直方圖被歸一化。可任選地,可以對(duì)所有類增加小的先前計(jì)數(shù)以使得沒有類被分配零概率,這會(huì)改進(jìn)概括。圖5示出了葉節(jié)點(diǎn)510的示例概率分布512。該概率分布顯示了數(shù)據(jù)項(xiàng)的類c對(duì)照該葉節(jié)點(diǎn)處屬于該類的數(shù)據(jù)項(xiàng)的概率,該概率被表示為Aw(Ux) =の,其中It指示第t個(gè)樹的葉節(jié)點(diǎn)I。換言之,葉節(jié)點(diǎn)存儲(chǔ)被訓(xùn)練的類上的后驗(yàn)概率。因此這種概率分布能被用于確定到達(dá)該葉節(jié)點(diǎn)的數(shù)據(jù)項(xiàng)包括給定姿勢(shì)類的動(dòng)作點(diǎn)的可能性,如后文更詳細(xì)地描述的?;氐綀D4,一旦確定了該樹的葉節(jié)點(diǎn)的概率分布,則確定432該決策樹林中是否存在更多樹。如果存在,則選擇該決策樹林中的下ー個(gè)樹,并且該過程重復(fù)。如果該樹林中的所有樹均已被訓(xùn)練,而沒有其他樹剩下,則該訓(xùn)練過程完成且該過程終止434。因此,作為該訓(xùn)練過程的結(jié)果,使用訓(xùn)練序列訓(xùn)練了多個(gè)決策樹。每個(gè)樹包括存儲(chǔ)經(jīng)優(yōu)化的測(cè)試參數(shù)的多個(gè)分割節(jié)點(diǎn)以及存儲(chǔ)相關(guān)聯(lián)的概率分布的葉節(jié)點(diǎn)。由于參數(shù)是從在每個(gè)節(jié)點(diǎn)處使用的有限子集中隨機(jī)生成的,樹林中的樹彼此有區(qū)分(即,不同)。參考圖6示出了具有三個(gè)隨機(jī)測(cè)試參數(shù)集合的序列的形式ξ >f(x; θ) > τ的示例測(cè)試。圖6示出了在動(dòng)作點(diǎn)中完結(jié)的姿勢(shì)的示例序列。圖6的序列600被示出為具有特征值602(諸如關(guān)節(jié)角度、速度、慣性、深度/RGB圖像特征、音頻信號(hào)等中的ー個(gè)或多個(gè)),對(duì)照時(shí)間604,其中在當(dāng)前時(shí)間608處出現(xiàn)動(dòng)作點(diǎn)606。例如,如果序列600與揮拳姿勢(shì)有關(guān),則動(dòng)作點(diǎn)606處的數(shù)據(jù)項(xiàng)具有分類“揮拳”而所有其他數(shù)據(jù)項(xiàng)具有分類“背景”。注意,圖6的示例為了清楚僅示出了包括單個(gè)特征的值的序列,而在其他示例中,該序列可具有并行描述若干不同特征的數(shù)據(jù)項(xiàng),每個(gè)特征具有相關(guān)聯(lián)的特征值。在其中存在若干特征的示例中,節(jié)點(diǎn)處的參數(shù)Θ還可標(biāo)識(shí)要針對(duì)給定測(cè)試分析哪個(gè)特征,但這在圖6中沒有被示出。還要注意,該序列包括(在大多數(shù)示例中)底層連續(xù)信號(hào)的離散樣本。此夕卜,這些樣本可以不按照統(tǒng)ー的時(shí)間間隔接收。因此該序列可以使用內(nèi)插(例如,最近鄰居、線性、二次等),其具有對(duì)不同時(shí)間間隔的補(bǔ)償。在第一示例測(cè)試中,序列索引值Θ i 610已被隨機(jī)生成,該索引值對(duì)應(yīng)于沿該序列的ー時(shí)間點(diǎn)。這可被表示為從當(dāng)前時(shí)間608的偏移(在本示例中是動(dòng)作點(diǎn)606)。為了計(jì)算該序列的f OC1),找到由索引值Q1 610表示的時(shí)間實(shí)例處的該數(shù)據(jù)項(xiàng)的特征值。圖6還示出了一對(duì)隨機(jī)生成的門限I1 612和T1 614。門限I1 612和T1 614表示與索引值Q1 610相關(guān)聯(lián)的特征值門限。因此,當(dāng)索引值Q1 610處的數(shù)據(jù)項(xiàng)的特征值小于門限I1 612且大于門限T1 614時(shí),通過了測(cè)試ξ1> ·(χ;θ1) > T1(如圖6的示例中的情況)。在第二示例測(cè)試中,第二序列索引值θ2 616以及門限ξ2 618和τ 2 620已被隨機(jī)生成。如上,當(dāng)索引值θ2 616處的數(shù)據(jù)項(xiàng)的特征值在測(cè)試門限ξ2 618和τ 2 620之間 時(shí),序列600通過示例測(cè)試ξ2> ·(χ;θ2) > τ20類似地,在第三示例中,第三序列索引值θ 3 622以及門限ξ 3 624和T 3 626已被隨機(jī)生成。再次,當(dāng)索引值θ 3 622處的數(shù)據(jù)項(xiàng)的特征值在測(cè)試門限ξ 3 624和τ 3 626之間時(shí),序列600通過示例測(cè)試ξ 3 > f (χ ; Θ 3)
〉τ 3。如果這三個(gè)隨機(jī)生成的ニ進(jìn)制測(cè)試被用于決策樹中,則通過由所述參數(shù)限定的三個(gè)范圍的序列滿足所有三個(gè)ニ進(jìn)制測(cè)試,并且(在本示例中)可以具有很高的概率是與在動(dòng)作點(diǎn)606處出現(xiàn)的姿勢(shì)相同的姿勢(shì)。顯然,本示例僅示出了索引值和門限的大量可能組合中的ー些,并且僅是說明性的。盡管如此,這示出了可以如何通過考慮序列中的代表性或區(qū)別性的點(diǎn)是否在門限內(nèi)而捕捉序列之間的相似度。如果在上面描述的訓(xùn)練過程期間,算法是選擇圖6中示出的三組隨機(jī)參數(shù)以在決策樹的三個(gè)節(jié)點(diǎn)處使用,則這些參數(shù)可用于測(cè)試如圖7所示的序列。圖7示出了具有三個(gè)層次的決策樹,其使用圖6的示例測(cè)試。訓(xùn)練算法已選擇來自圖6的第一示例的第一組參數(shù)Θ ” ξ i和τ i作為在圖7的決策樹的根節(jié)點(diǎn)700處應(yīng)用的測(cè)試。如上所述,該訓(xùn)練算法選擇這個(gè)測(cè)試是因?yàn)樗哂杏?xùn)練圖像的最大信息増益。該序列的當(dāng)前數(shù)據(jù)項(xiàng)x(即,最新近接收的數(shù)據(jù)項(xiàng))被應(yīng)用到根節(jié)點(diǎn)700,并對(duì)此數(shù)據(jù)項(xiàng)執(zhí)行測(cè)試。如果使用圖6的序列600作為示例,則可以看出,在Q1處此項(xiàng)在門限I1和T1之間,因此測(cè)試的結(jié)果為真。如果對(duì)在Q1處在門限I1和h之外的序列執(zhí)行該測(cè)試,則結(jié)果將為假。因此,當(dāng)與姿勢(shì)有關(guān)的數(shù)據(jù)項(xiàng)的序列被應(yīng)用到圖7的經(jīng)訓(xùn)練決策樹時(shí),具有在Θ i處具有在門限I1和T1之間的值的(B卩,通過該ニ進(jìn)制測(cè)試的)數(shù)據(jù)項(xiàng)的序列被傳遞到子分割節(jié)點(diǎn)702,而沒有通過該ニ進(jìn)制測(cè)試的序列被傳遞到其他子節(jié)點(diǎn)。該訓(xùn)練算法已選擇來自圖6的第二示例的第二組測(cè)試參數(shù)Θ 2、ξ 2和τ 2作為在分割節(jié)點(diǎn)702處應(yīng)用的測(cè)試。如圖6所示,通過此測(cè)試的序列是在索引值θ2處在門限ξ2和T2之間通過的那些序列。因此,在只有通過與根節(jié)點(diǎn)700相關(guān)聯(lián)的ニ進(jìn)制測(cè)試的序列到達(dá)分割節(jié)點(diǎn)702的情況下,通過此測(cè)試的序列是既在Q1處在門限I1和T1之間又在θ2處在門限ξ2和T2之間通過的那些序列。通過該測(cè)試的序列被提供到分割節(jié)點(diǎn)704。該訓(xùn)練算法已選擇來自圖6的第三示例的第三組測(cè)試參數(shù)Θ 3、ξ 3和τ 3作為在分割節(jié)點(diǎn)704處應(yīng)用的測(cè)試。圖6示出了只有具有在93處在ξ3和T3之間的特征值的那些序列通過此測(cè)試。只有通過根節(jié)點(diǎn)700和分割節(jié)點(diǎn)702處的測(cè)試的序列到達(dá)分割節(jié)點(diǎn)704,所以通過分割節(jié)點(diǎn)704處的測(cè)試的序列是落在圖6中示出的門限的每ー個(gè)之間的那些序列(諸如圖6的示例序列600)。通過分割節(jié)點(diǎn)704處的測(cè)試的序列被提供給葉節(jié)點(diǎn)706。葉節(jié)點(diǎn)706存儲(chǔ)不同姿勢(shì)類的概率分布708。在本示例中,該概率分布指示到達(dá)此葉節(jié)點(diǎn)706的數(shù)據(jù)項(xiàng)是與揮拳姿勢(shì)的動(dòng)作點(diǎn)相對(duì)應(yīng)的數(shù)據(jù)項(xiàng)的高概率710。要理解,學(xué)習(xí)算法可以任意地對(duì)這些測(cè)試進(jìn)行排序,而所評(píng)估的特征不必是按照時(shí)間次序的。在上面描述的圖6和圖7的示例中,當(dāng)被測(cè)試的序列包含足夠多的數(shù)據(jù)項(xiàng)以進(jìn)行所討論的測(cè)試時(shí),這些測(cè)試中的每ー個(gè)均能夠被執(zhí)行。然而,在一些情況下,樹可以被訓(xùn)練以使得在不能被應(yīng)用到某個(gè)序列的節(jié)點(diǎn)中使用測(cè)試。例如,如果被測(cè)試的序列具有數(shù)量少的數(shù)據(jù)項(xiàng),則使用與從當(dāng)前數(shù)據(jù)項(xiàng)回溯到過去的時(shí)間相對(duì)應(yīng)的索引值Θ并且所述索引值大于數(shù)據(jù)項(xiàng)的數(shù)目的測(cè)試不能被執(zhí)行。在這種情況下,不執(zhí)行測(cè)試,并且向兩個(gè)子節(jié)點(diǎn)均發(fā)送當(dāng)前數(shù)據(jù)項(xiàng),以使得該樹中較低處的更多測(cè)試還能夠用于獲得結(jié)果。該結(jié)果可以通過利 用所到達(dá)的所有葉節(jié)點(diǎn)來獲得。在一可另選的示例中,為了避免對(duì)短序列的測(cè)試,可定義最大特征時(shí)間窗ロ(例如,I秒的時(shí)間窗ロ),并且直到獲得足夠的讀數(shù)才執(zhí)行分類(例如,該序列的第一秒被忽略)。顯然,圖6和圖7提供了簡(jiǎn)化示例,并且在實(shí)踐中經(jīng)訓(xùn)練的決策樹可具有多得多的層次(并因此沿該序列計(jì)入多得多的采樣點(diǎn))。此外,在實(shí)踐中,在樹林中使用許多決策樹,并且將結(jié)果相組合以増加準(zhǔn)確度,如下面參考圖8概述的。圖8示出了用于使用已如上文所述訓(xùn)練過的決策樹林來標(biāo)識(shí)先前未見的序列中的特征的過程的流程圖。首先,在姿勢(shì)識(shí)別算法處接收800新數(shù)據(jù)項(xiàng)。該算法的目標(biāo)是將該新數(shù)據(jù)項(xiàng)分類為指定姿勢(shì)的動(dòng)作點(diǎn)或背景。通過從該新數(shù)據(jù)項(xiàng)和存儲(chǔ)設(shè)備處已存儲(chǔ)的多個(gè)先前接收的數(shù)據(jù)項(xiàng)形成時(shí)間系列,來生成802序列。要生成的序列的長(zhǎng)度可被預(yù)定義。在一個(gè)示例中,該算法可被安排為生成30個(gè)數(shù)據(jù)項(xiàng)的序列,然而可以使用任何適當(dāng)?shù)闹?。在一些示例中,?dāng)沒有足夠的先前數(shù)據(jù)項(xiàng)已被接收時(shí),該序列可以更短。該序列可以被稱為“未見”的,以將其與具有已被手工分類的數(shù)據(jù)項(xiàng)的訓(xùn)練圖像相區(qū)分。注意,如同上面提到的,ー些示例可以利用基于并發(fā)地形成的多個(gè)特征的序列。例如,序列可包括描述用戶的關(guān)節(jié)間的角度以及用戶的身體部位的速度兩者的數(shù)據(jù)項(xiàng)。在這樣的示例中,在該樹的每個(gè)節(jié)點(diǎn)處的測(cè)試參數(shù)Θ指定要對(duì)照門限測(cè)試哪個(gè)特征。選擇804來自該決策樹林的經(jīng)訓(xùn)練的決策樹。推動(dòng)806該新數(shù)據(jù)項(xiàng)及其相關(guān)聯(lián)序列通過所選擇的決策樹(按照類似于上面參考圖6所描述的方式),以使得在ー節(jié)點(diǎn)處對(duì)照該經(jīng)訓(xùn)練的參數(shù)進(jìn)行測(cè)試,然后取決于該測(cè)試的結(jié)果而將其傳遞到適當(dāng)?shù)淖樱⑶以撨^程重復(fù)直到該新數(shù)據(jù)項(xiàng)到達(dá)葉節(jié)點(diǎn)。一旦該新數(shù)據(jù)項(xiàng)到達(dá)葉節(jié)點(diǎn),則為該新數(shù)據(jù)項(xiàng)存儲(chǔ)808與此葉節(jié)點(diǎn)相關(guān)聯(lián)的概率分布。如果確定810該樹林中存在更多決策樹,則選擇804新決策樹,推動(dòng)806該新數(shù)據(jù)項(xiàng)通過該樹并存儲(chǔ)808概率分布。重復(fù)此過程,直到對(duì)于該樹林中的所有決策樹都執(zhí)行了該過程。注意,用于推動(dòng)新數(shù)據(jù)項(xiàng)通過決策樹林中的多個(gè)樹的過程還可以并行執(zhí)行,而不是如圖8所示按序列執(zhí)行。一旦已推動(dòng)該新數(shù)據(jù)項(xiàng)及其序列通過該決策樹林中的所有樹,則為該新數(shù)據(jù)項(xiàng)存儲(chǔ)了多個(gè)姿勢(shì)分類概率分布(每個(gè)樹至少ー個(gè))。然后聚集812這些概率分布以形成該新數(shù)據(jù)項(xiàng)的總概率分布。在一個(gè)示例中,總概率分布是來自該T個(gè)不同決策樹的所有個(gè)體概率分布的平均值。這由下式給出i3(7(x) = c) = ^^(x)(7(x) = c)注意,也可以使用除了求平均以外的組合樹后驗(yàn)概率的可另選的方法,諸如將這些概率相乗??扇芜x地,可以執(zhí)行對(duì)個(gè)體概率分布之間的可變性的分析(圖8未示出)。這樣的分析能夠提供與總概率分布的不確定度有關(guān)的信息。在一個(gè)示例中,可確定標(biāo)準(zhǔn)偏差,作為可變性的度量。一旦找到了新數(shù)據(jù)項(xiàng)的總概率分布,則將每個(gè)分類的概率與和與每個(gè)分類相關(guān)聯(lián)的門限值進(jìn)行比較814。在一個(gè)示例中,可為每個(gè)姿勢(shì)分類設(shè)定不同的門限。如果確定816每個(gè)分類的概率不大于其相關(guān)聯(lián)門限值,或指示該新數(shù)據(jù)項(xiàng)具有“背景”分類,則該過程等待接收下ー個(gè)新數(shù)據(jù)項(xiàng),并重復(fù)。然而,如果確定816 —分類的概率大于其相關(guān)聯(lián)的門限值并指示該新數(shù)據(jù)項(xiàng)不是“背景”,則這指示該新數(shù)據(jù)項(xiàng)與一姿勢(shì)的動(dòng)作點(diǎn)相對(duì)應(yīng)。檢測(cè)818與分類c相對(duì)應(yīng)的姿勢(shì),并且執(zhí)行820與此姿勢(shì)相關(guān)聯(lián)的功能、命令或動(dòng)作,如同上面描述的。因此,上述姿勢(shì)識(shí)別算法允許通過利用該序列中的先前接收的數(shù)據(jù)項(xiàng)的信息而將與特征有關(guān)的新接收的、未見的數(shù)據(jù)項(xiàng)分類為姿勢(shì)的動(dòng)作點(diǎn)。隨機(jī)決策樹林提供用于訓(xùn)練分類器并將測(cè)試應(yīng)用到先前接收的數(shù)據(jù)項(xiàng)的有用技術(shù)。盡管用于訓(xùn)練該決策樹的處理相對(duì)復(fù)雜,然而為了分類新數(shù)據(jù)項(xiàng)而執(zhí)行的評(píng)估在處理方面相對(duì)輕量,并且可以被快速執(zhí)行以最小化識(shí)別滯后。如果需要,通過訓(xùn)練決策樹然后將經(jīng)優(yōu)化的測(cè)試硬編碼到ー組指令中,可以進(jìn)ー步減小識(shí)別滯后。例如,經(jīng)訓(xùn)練的決策樹所執(zhí)行的測(cè)試可以被寫出為C程序,然后由處理器編譯。該編譯針對(duì)所使用的處理器優(yōu)化該C程序,并且使得決策樹分類執(zhí)行起來很快?,F(xiàn)在參考圖9和圖10,它們示出了用于數(shù)據(jù)項(xiàng)(諸如上面描述的那些)的序列識(shí)別特征的可另選的技術(shù)。此技術(shù)是基于經(jīng)訓(xùn)練的邏輯斯蒂模型的。首先描述該技術(shù)的操作,然后描述該模型的訓(xùn)練。在一個(gè)示例中,所使用的模型是下面的對(duì)數(shù)-線性(log-linear)邏輯斯蒂模型込⑴=77I—~W\Y
l + exp(-wg 中”+1): "其中X(t_w+1):t是具有從當(dāng)前時(shí)間t向后延伸長(zhǎng)度W的數(shù)據(jù)項(xiàng)的序列(類似于上面參考決策樹林示例所描述的那個(gè)),Φ (x(t-w+i)t)是用于測(cè)試該序列的特征函數(shù)(在下面更詳細(xì)地描述),而ロ8(0是來自時(shí)間t的數(shù)據(jù)項(xiàng)是姿勢(shì)g的動(dòng)作點(diǎn)的概率。通過學(xué)習(xí)適當(dāng)?shù)臋?quán)重,這些特征可被加權(quán)并組合以產(chǎn)生總的姿勢(shì)概率。參考圖9描述在使用此模型時(shí)本技術(shù)的操作。首先,在姿勢(shì)識(shí)別算法處接收900新數(shù)據(jù)項(xiàng)。通過從該新數(shù)據(jù)項(xiàng)和存儲(chǔ)設(shè)備處已存儲(chǔ)的多個(gè)先前接收的數(shù)據(jù)項(xiàng)形成時(shí)間系列,來生成902序列。該序列的長(zhǎng)度被表示為W,如上所述。
例如,參考圖10,示出了說明性序列1000,其包括在當(dāng)前時(shí)間1002處接收的新數(shù)據(jù)項(xiàng)和多個(gè)先前接收的數(shù)據(jù)項(xiàng),每個(gè)數(shù)據(jù)項(xiàng)具有特征值。注意,圖10的示例僅示出了該序列中的單個(gè)類型的特征,然而在其他示例中,該序列可包括多個(gè)不同特征。然后將測(cè)試特征函數(shù)Φ (x(t-w+i)t)應(yīng)用到該序列。在本示例中,此測(cè)試包括將所生成的序列與ー組預(yù)定義的已存儲(chǔ)模板906進(jìn)行比較904,該模板先前已在訓(xùn)練過程中被選擇以提供姿勢(shì)的指示性示例(也在圖10中示出)。確定該序列和所存儲(chǔ)的模板中的每ー個(gè)之間的類似度的測(cè)量。在一個(gè)示例中,所使用的類似度的測(cè)量是該模板和該序列之間的歐幾里德距離。然后通過確定908該類似度是否大于預(yù)定義門限值來找到該測(cè)試的結(jié)果。更正式而言,這些模板中的每ー個(gè)具有與其相關(guān)的ー組參數(shù)。例如,每個(gè)模板可包括參數(shù)ω、Α、Μ、Γ、υ和Wf,其中ω定義該模板序列的長(zhǎng)度,A定義要測(cè)試的特征,M是模板模式本身,r是用于確定908該模板是否與該序列足夠類似的門限值,υ是到權(quán)重或投票要投射的未來的距離(下面更詳細(xì)地描述),而Wf是與該模板相關(guān)聯(lián)的權(quán)重。然后給定模板f的測(cè)試特征函數(shù)Φ (x(t-ff+1):t)的結(jié)果由下式給出
權(quán)利要求
1.一種計(jì)算機(jī)實(shí)現(xiàn)的姿勢(shì)檢測(cè)方法,包括 在處理器(1102)處,接收與執(zhí)行姿勢(shì)的用戶(102)的運(yùn)動(dòng)有關(guān)的數(shù)據(jù)項(xiàng)的序列(600); 將來自所述序列¢00)的多個(gè)所選擇的數(shù)據(jù)項(xiàng)對(duì)照預(yù)定義門限值進(jìn)行測(cè)試以確定所述序列(600)表示姿勢(shì)的概率;以及 如果所述概率大于預(yù)定值則檢測(cè)到所述姿勢(shì)。
2.如權(quán)利要求I所述的方法,其特征在于,還包括響應(yīng)于檢測(cè)到所述姿勢(shì)執(zhí)行命令的步驟。
3.如權(quán)利要求I或2所述的方法,其特征在于,所述序列(600)中的數(shù)據(jù)項(xiàng)表示以下各項(xiàng)中的至少ー個(gè) i)所述用戶(102)的至少兩個(gè)身體部位之間的角度; )所述用戶(102)的至少兩個(gè)身體部位之間的角度的變化率; iii)所述用戶(102)的至少ー個(gè)身體部位的運(yùn)動(dòng)速度; iv)從所述用戶的深度圖像推導(dǎo)出的特征; V)從所述用戶的RGB圖像推導(dǎo)出的特征; vi)來自所述用戶的語音信號(hào); vii)移動(dòng)設(shè)備(300)的慣性; viii)移動(dòng)設(shè)備(300)的速度; ix)移動(dòng)設(shè)備(300)的定向;以及 X)移動(dòng)設(shè)備(300)的位置。
4.如權(quán)利要求I、2或3所述的方法,其特征在于,測(cè)試的步驟包括將所述序列應(yīng)用到經(jīng)訓(xùn)練的決策樹(500)。
5.如權(quán)利要求4所述的方法,其特征在干,將所述序列應(yīng)用到經(jīng)訓(xùn)練的決策樹(500)的步驟包括使所述序列通過所述樹中的多個(gè)節(jié)點(diǎn),直到到達(dá)所述樹中的葉節(jié)點(diǎn)(510),且其中所述序列表示姿勢(shì)的概率取決于所述決策樹中到達(dá)的所述葉節(jié)點(diǎn)(510)而確定。
6.如權(quán)利要求5所述的方法,其特征在于,所述決策樹(500)的每個(gè)節(jié)點(diǎn)與索引值以及所述預(yù)定義門限值中的至少ー個(gè)相關(guān)聯(lián),并且將所述序列(600)應(yīng)用到經(jīng)訓(xùn)練的決策樹(500)的步驟包括在每個(gè)節(jié)點(diǎn)處,將所述序列¢00)中位于所述索引值處的數(shù)據(jù)項(xiàng)與所述預(yù)定義門限值中的所述至少ー個(gè)相比較以確定要將所述序列發(fā)送到的后續(xù)節(jié)點(diǎn)。
7.如權(quán)利要求5或6所述的方法,其特征在于,測(cè)試的步驟還包括將所述序列(600)應(yīng)用到至少ー個(gè)進(jìn)ー步的、有區(qū)分的經(jīng)訓(xùn)練的決策樹(502),以及通過對(duì)來自所述經(jīng)訓(xùn)練的決策樹中的每ー個(gè)的概率求平均來確定所述序列表示所述姿勢(shì)的概率。
8.如權(quán)利要求4到7中的任一項(xiàng)所述的方法,其特征在干,還包括在接收所述序列(600)之前訓(xùn)練所述決策樹(500)的步驟,其中訓(xùn)練所述決策樹的步驟包括 選擇所述決策樹的節(jié)點(diǎn); 選擇至少ー個(gè)經(jīng)注釋的訓(xùn)練序列; 生成多個(gè)隨機(jī)索引值和隨機(jī)門限值; 將來自位于所述隨機(jī)索引值中的每ー個(gè)處的所述經(jīng)注釋的序列的數(shù)據(jù)項(xiàng)與所述隨機(jī)門限值中的每ー個(gè)相比較以獲得多個(gè)結(jié)果;依據(jù)所述多個(gè)結(jié)果,為所述節(jié)點(diǎn)選擇選中的索引值和至少ー個(gè)選中的門限值;以及將與所述節(jié)點(diǎn)相關(guān)聯(lián)的所述選中的索引值和所述至少一個(gè)選中的門限值存儲(chǔ)在存儲(chǔ)設(shè)備處。
9.如權(quán)利要求8所述的方法,其特征在干,選擇選中的索引值和至少ー個(gè)選中的門限值的步驟包括確定所述多個(gè)結(jié)果中的每ー個(gè)的信息増益,并且選擇與具有最大信息増益的結(jié)果相關(guān)聯(lián)的選中的索引值和至少ー個(gè)選中的門限值。
10.ー種姿勢(shì)識(shí)別系統(tǒng),包括 被安排為接收用戶(102)的深度圖像的序列的用戶接ロ(1104); 被安排為存儲(chǔ)包括多個(gè)有區(qū)分的經(jīng)訓(xùn)練的決策樹的隨機(jī)決策樹林的存儲(chǔ)器(1110);以及 處理器(1102),所述處理器被安排為從所述深度圖像生成與所述用戶(102)的運(yùn)動(dòng)有關(guān)的數(shù)據(jù)項(xiàng)的序列¢00);將所述數(shù)據(jù)項(xiàng)的序列(600)應(yīng)用到所述經(jīng)訓(xùn)練的決策樹中的每ー個(gè)以獲得所述序列表示多個(gè)預(yù)定義姿勢(shì)中的ー個(gè)的多個(gè)概率;聚集來自所述經(jīng)訓(xùn)練的決策樹中的每ー個(gè)的概率;以及如果所述姿勢(shì)的聚集的概率大于預(yù)定值,則執(zhí)行與所檢測(cè)到的姿勢(shì)相關(guān)聯(lián)的命令。
全文摘要
本發(fā)明涉及姿勢(shì)檢測(cè)和識(shí)別。描述了一種姿勢(shì)檢測(cè)和識(shí)別技術(shù)。在一個(gè)示例中,接收與執(zhí)行姿勢(shì)的用戶的運(yùn)動(dòng)有關(guān)的數(shù)據(jù)項(xiàng)的序列。對(duì)照預(yù)先學(xué)習(xí)的門限值測(cè)試從該序列中選出的數(shù)據(jù)項(xiàng)集合,以確定該序列表示某個(gè)姿勢(shì)的概率。如果該概率大于預(yù)定值,則檢測(cè)到該姿勢(shì),并執(zhí)行動(dòng)作。在示例中,這些測(cè)試是由經(jīng)訓(xùn)練的決策樹分類器執(zhí)行的。在另一示例中,可將數(shù)據(jù)項(xiàng)的序列與預(yù)先學(xué)習(xí)的模板進(jìn)行比較,并確定它們之間的相似度。如果模板的相似度超過門限,則更新與與該模板相關(guān)聯(lián)的姿勢(shì)的未來時(shí)間相關(guān)聯(lián)的可能性值。然后,當(dāng)達(dá)到該未來時(shí)間時(shí),如果該可能性值大于預(yù)定義值,則檢測(cè)到該姿勢(shì)。
文檔編號(hào)G06F3/01GK102693007SQ201210052880
公開日2012年9月26日 申請(qǐng)日期2012年3月2日 優(yōu)先權(quán)日2011年3月4日
發(fā)明者J·D·J·肖頓, P·科利, S·諾沃辛 申請(qǐng)人:微軟公司