實(shí)時(shí)的連續(xù)交互學(xué)習(xí)及檢測的制作方法
【技術(shù)領(lǐng)域】
[0001]實(shí)施例整體上涉及對交互(例如,姿勢和語言輸入)進(jìn)行的基于計(jì)算機(jī)的檢測。更具體地,實(shí)施例涉及實(shí)時(shí)人機(jī)交互的連續(xù)學(xué)習(xí)和檢測。
【背景技術(shù)】
[0002]人體運(yùn)動(dòng)具有很多細(xì)微之處,這些細(xì)微之處使得難以對運(yùn)動(dòng)進(jìn)行建模,雖然在合理的時(shí)間框架中并非不可能。例如,由于在對給定姿勢進(jìn)行建模中可能要考慮空間和時(shí)間因素二者,因此,對于需要檢測其姿勢的群體在該姿勢被多快地執(zhí)行可能具有巨大的差異。將這些變動(dòng)考慮在建模中可能引入不確定性,這種不確定性可能降低姿勢檢測決策的準(zhǔn)確性。此外,傳統(tǒng)的檢測算法可能針對感興趣的姿勢的潛在起點(diǎn)和終點(diǎn)執(zhí)行耗時(shí)的搜索。這可能使性能減慢并且使緊接的(back-to-back)姿勢的檢測(例如,連續(xù)檢測)變得不可行。簡言之,對實(shí)時(shí)系統(tǒng)而言,常規(guī)姿勢學(xué)習(xí)和檢測系統(tǒng)的處理時(shí)間可能是過長的。
【附圖說明】
[0003]通過閱讀以下說明和所附的權(quán)利要求,以及通過參照以下附圖,實(shí)施例的各種優(yōu)點(diǎn)對本領(lǐng)域技術(shù)人員而言將變得顯而易見,在附圖中:
[0004]圖1是根據(jù)實(shí)施例的學(xué)習(xí)/訓(xùn)練序列的示例的框圖;
[0005]圖2是根據(jù)實(shí)施例的檢測序列的示例的框圖;
[0006]圖3是根據(jù)實(shí)施例的處理訓(xùn)練樣本的方法的示例的流程圖;
[0007]圖4是根據(jù)實(shí)施例的處理檢測樣本的方法的示例的流程圖;
[0008]圖5是根據(jù)實(shí)施例的計(jì)算設(shè)備的示例的框圖;
[0009]圖6是根據(jù)實(shí)施例的處理器的示例的框圖;以及
[0010]圖7是根據(jù)實(shí)施例的系統(tǒng)的示例的框圖。
【具體實(shí)施方式】
[0011]現(xiàn)轉(zhuǎn)向圖1,示出了針對多個(gè)訓(xùn)練樣本16(16a-16c)的訓(xùn)練序列10。在一個(gè)示例中,訓(xùn)練樣本16表示在一個(gè)或多個(gè)訓(xùn)練會(huì)話期間由例如圖像/深度傳感器等的傳感器14捕獲的姿勢樣本(例如,人體姿勢輸入)。在這樣的情況下,訓(xùn)練樣本16可以在訓(xùn)練會(huì)話期間從空間坐標(biāo)12 (例如,二維/2D、三維/3D、n維)中獲得,所述空間坐標(biāo)12與一個(gè)或多個(gè)對象(例如,人類、動(dòng)物、機(jī)器人、機(jī)器)的物理部件(例如,手、手指、虹膜等)的位置相對應(yīng)。
[0012]例如,訓(xùn)練樣本的第一集合16a可以與第一對象(例如,來自第一群體統(tǒng)計(jì)的個(gè)體)相對應(yīng),訓(xùn)練樣本的第二集合16b可以與第二對象(例如,來自第二群體統(tǒng)計(jì)的個(gè)體)相對應(yīng),訓(xùn)練樣本的第三集合16c可以與第三對象(例如,來自第三群體統(tǒng)計(jì)的個(gè)體)相對應(yīng)等。當(dāng)對象做出例如圓周形的手部運(yùn)動(dòng)等的特定的手部動(dòng)作時(shí),可以對該對象進(jìn)行可視化地監(jiān)測和/或記錄。
[0013]訓(xùn)練樣本16還可以表示語音樣本(例如,人類語言輸入),其中,傳感器14可以包括在訓(xùn)練會(huì)話期間設(shè)置于一個(gè)或多個(gè)對象的可聽范圍內(nèi)的麥克風(fēng)。在這樣的情況下,訓(xùn)練樣本16可以包括從語言輸入提取的音素?cái)?shù)據(jù)。其他類型的交互數(shù)據(jù)還可以用于訓(xùn)練樣本16。
[0014]訓(xùn)練樣本16可以經(jīng)歷聚類過程18,所述聚類過程18確定針對訓(xùn)練樣本16的群集集合20( “CO”到“C5”)??梢曰谀繕?biāo)分辨率來預(yù)先確定該群集集合20中的群集的數(shù)量。在這一點(diǎn)上,在設(shè)置群集的數(shù)量時(shí),可以在分辨率和處理速度之間進(jìn)行某些折衷。聚類過程18還可以確定與群集集合20相對應(yīng)的群集質(zhì)心集合22,其中,質(zhì)心集合22中的每一個(gè)質(zhì)心可以指示相對應(yīng)的群集的中心點(diǎn)。此外,可以將多個(gè)訓(xùn)練樣本16中的每一個(gè)訓(xùn)練樣本分配給群集質(zhì)心集合22中的質(zhì)心。由此,可以將空間坐標(biāo)12中的每一個(gè)分配給最近的質(zhì)心,以便于進(jìn)行所述分配。在一個(gè)示例中,聚類過程18使用k均值(k-means)聚類來確定訓(xùn)練樣本16的群集集合20和群集質(zhì)心集合22。
[0015]例如,k均值聚類可以提供:將質(zhì)心放置為盡可能遠(yuǎn)離另一個(gè),以及將屬于訓(xùn)練樣本16的每一個(gè)樣本與最近的質(zhì)心相關(guān)聯(lián)以獲取“早期編組(early groupage)”。當(dāng)沒有樣本未決時(shí),可以將k個(gè)新的質(zhì)心重新計(jì)算為由早期編組產(chǎn)生的群集的“重心(barycenter) ”。一旦已經(jīng)確定該k個(gè)新質(zhì)心,則新的綁定可以在訓(xùn)練樣本16和最近的新質(zhì)心之間完成。結(jié)果可以是一個(gè)循環(huán),在該循環(huán)中k個(gè)質(zhì)心逐步改變它們的位置,直到不再做出變化為止。如將要更加詳細(xì)討論的,每一個(gè)質(zhì)心可以由唯一的值來標(biāo)識,以在訓(xùn)練隱馬爾可夫模型(HMM)時(shí)使用。HMM通??梢园鄠€(gè)狀態(tài),其中每一個(gè)狀態(tài)具有相關(guān)聯(lián)的觀測概率分布,該觀測概率分布確定在時(shí)間上的特定時(shí)刻處以及每一對狀態(tài)處生成觀測的概率,并且具有相關(guān)聯(lián)的轉(zhuǎn)移概率。在一個(gè)示例中,可以使用諸如Baum-Welch算法等的算法和/或過程來訓(xùn)練HMM。
[0016]由此,所示出的聚類過程18將訓(xùn)練樣本16劃分為質(zhì)心順序列表24(24a_24c)。例如,質(zhì)心順序列表24中的第一列24a可以與訓(xùn)練樣本的第一集合16a相對應(yīng),第二列24b可以與訓(xùn)練樣本的第二集合16b相對應(yīng),第三列24c可以與訓(xùn)練樣本的第三集合16c相對應(yīng)等,其中,質(zhì)心順序列表24中的項(xiàng)可以包含質(zhì)心的唯一值/標(biāo)識符。特別注意的是,示出的質(zhì)心順序列表24包括順序重復(fù)質(zhì)心,例如,重復(fù)質(zhì)心26,其表示訓(xùn)練樣本16的時(shí)間維度(例如,取決于采樣率)。如將要更詳細(xì)地討論的,移除這樣的時(shí)間維度可以繼而消除時(shí)間變化性,并且使得能夠?qū)换ミM(jìn)行實(shí)時(shí)、連續(xù)的學(xué)習(xí)和檢測。
[0017]更特別地,質(zhì)心順序列表24可以經(jīng)受過濾過程28,過濾過程28從質(zhì)心順序列表24中移除諸如重復(fù)質(zhì)心26等的順序重復(fù)中心,以獲得精簡的質(zhì)心列表30(30a-30c)。因此,所示出的精簡的質(zhì)心列表24缺乏時(shí)間變化性。該精簡的質(zhì)心列表30可以隨后被供給HMM訓(xùn)練過程32,其基于精簡的質(zhì)心列表30來生成HMM參數(shù)的集合34。群集集合20可以具與有在HMM中的狀態(tài)的一對一映射。通過有效地使群集間轉(zhuǎn)移的優(yōu)先級高于群集內(nèi)轉(zhuǎn)移(例如,使CO — Cl的轉(zhuǎn)移的優(yōu)先級高于CO — CO轉(zhuǎn)移),這樣的方式可以創(chuàng)建具有增強(qiáng)的魯棒性的模型。如將更詳細(xì)地討論的,增強(qiáng)的魯棒性可以進(jìn)一步利于對交互進(jìn)行實(shí)時(shí)、連續(xù)的學(xué)習(xí)和檢測。
[0018]圖2示出了檢測序列36,在檢測序列36中,與空間坐標(biāo)38相關(guān)聯(lián)的多個(gè)檢測樣本40被供給到質(zhì)心分配過程42。因此,檢測樣本40可以表示在系統(tǒng)(例如,游戲系統(tǒng)、視頻會(huì)議系統(tǒng)、消息傳送系統(tǒng)、社交網(wǎng)絡(luò)系統(tǒng)等)的實(shí)時(shí)操作期間由傳感器46捕獲的姿勢樣本、語音樣本等。示出的質(zhì)心分配過程42基于在訓(xùn)練序列(例如,已經(jīng)討論過的訓(xùn)練序列10(圖1))中確定的相同群集和質(zhì)心布置來將檢測樣本40劃分為質(zhì)心順序列表44。質(zhì)心順序列表44因此可以具有時(shí)間維度,過濾過程28通過從質(zhì)心順序列表44中移除一個(gè)或多個(gè)順序重復(fù)質(zhì)心(例如,質(zhì)心48)來消除該時(shí)間維度。其結(jié)果是,可以獲取精簡的質(zhì)心列表50,其中,精簡的質(zhì)心列表50缺乏時(shí)間變化性。簡言之,移除重復(fù)質(zhì)心48可以保持從一個(gè)群集到另一個(gè)群集的轉(zhuǎn)移,同時(shí)消除對在特定的群集上持續(xù)時(shí)間的依賴性。
[0019]示出的檢測序列36還提供:使用精簡的質(zhì)心列表50來確定檢測樣本40與同訓(xùn)練會(huì)話相關(guān)聯(lián)的HMM參數(shù)的集合34之間的一個(gè)或多個(gè)匹配概率52。更特別地,可以將滑動(dòng)窗口 54應(yīng)用到精簡的質(zhì)心列表50來獲取用于前向算法58的候選列表56。例如,候選列表56中的第一項(xiàng)是,從右到左,“Cl、C5、C4、C3、C2、Cl”,其與所示出的示例中的滑動(dòng)窗口 54的最右端位置相對應(yīng)。類似地,候選列表56中的第二項(xiàng)是,從右到左,“C5、C4、C3、C2、Cl、CO”,其與所示出的示例中的滑動(dòng)窗口 54的下一位置相對應(yīng)。候選列表56中的每一項(xiàng)可以被經(jīng)受前向算法58,以便確定底層交互(例如,姿勢交互、語音交互)的匹配概率52。就此而言,候選項(xiàng)60可以產(chǎn)生相對高的匹配概率52。
[0020]特別要注意的是,所示出的滑動(dòng)窗口 54具有固定寬度,該固定寬度等于群集集合20的群集的數(shù)量(即六個(gè))以及HMM中的狀態(tài)數(shù)量。此外,群集集合20可以具有與HMM中的狀態(tài)的一對一映射。通過消除在大范圍樣本上進(jìn)行搜索以定位交互的起點(diǎn)和終點(diǎn)的任何需要,固定的窗口尺寸和一對一的映射可以提供提高的效率。此外,滑動(dòng)窗口可以使得能夠在不引起額外的計(jì)算開銷的情況下來對緊接的交互進(jìn)行連續(xù)檢測。
[0021]現(xiàn)在轉(zhuǎn)到圖3,示出了處理訓(xùn)練樣本的方法62。方法62可以在計(jì)算設(shè)備中被實(shí)現(xiàn)為固件和/或邏輯指令的集合,所述固件和/或邏輯指令的集合被存儲(chǔ)在機(jī)器或計(jì)算機(jī)可讀介質(zhì)(例如,隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可編程ROM(PROM)、閃速存儲(chǔ)器等)中;被存儲(chǔ)在可配置邏輯中,例如,可編程邏輯陣列(PLA)、現(xiàn)場可編程門陣列(FPGA)、復(fù)雜可編程邏輯器件(CPLD)中;使用電路技術(shù)被存儲(chǔ)在固定功能邏輯硬件中,例如,專用集成電路(ASIC)、互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)、或晶體管-晶體管邏輯(TTL)技術(shù)、或其任何組合。例如,用于實(shí)施方法62中示出的操作的計(jì)算機(jī)程序代碼可以以一種或多種編程語言的任何組合來編寫,所述一種或多種編程語言的任何組合包括諸如C++等的面向?qū)ο蟮木幊陶Z言,以及例如“C”編程語言的常規(guī)的流程化編程語言,或類似的編程語言。此外,可以使用上文提到的任何電路技術(shù)來實(shí)現(xiàn)方法62。
[0022]所示出的處理塊64提供:將多個(gè)訓(xùn)練樣本劃分為質(zhì)心順序列表。如已經(jīng)說明的,該訓(xùn)練樣本可以包括姿勢樣本、語音樣本等。因此,塊64可以涉及確定針對多個(gè)訓(xùn)練樣本的群集集合、確定與該群集集合相對應(yīng)的群集質(zhì)心集合、以及將多個(gè)訓(xùn)練樣本中的每一個(gè)訓(xùn)練樣本分配給群集質(zhì)心集合中的質(zhì)心。在塊