專利名稱:用于姿勢(shì)識(shí)別的方法和系統(tǒng)的制作方法
用于姿勢(shì)識(shí)別的方法和系統(tǒng)關(guān)聯(lián) 申請(qǐng)的交叉引用本申請(qǐng)要求于2009年2月17日提交的,申請(qǐng)?zhí)枮?1/153,229,題為“用于姿勢(shì)識(shí)別的方法和系統(tǒng)”的美國臨時(shí)申請(qǐng)的優(yōu)先權(quán),該美國臨時(shí)申請(qǐng)的整體通過引用并入本申請(qǐng)。背景信息有很多種用于解釋計(jì)算機(jī)系統(tǒng)的玩家或用戶的動(dòng)作的技術(shù),于是玩家或用戶得以通過自然而直觀的界面來和計(jì)算機(jī)系統(tǒng)溝通。近來,這些界面在家庭娛樂及游戲市場(chǎng)上的應(yīng)用引起人們極大的興趣。其中比較值得注意的例如任天堂Wii的控制器以及Wii Fit的平衡板。任天堂控制器依賴于加速計(jì)并用三角測(cè)量來計(jì)算控制器的位置。作為一種替代方式,很多人機(jī)界面技術(shù)依賴于不同類型的攝像頭。基于攝像頭的界面系統(tǒng)的一個(gè)較早的例子是索尼的Eyetoy系統(tǒng),其中使用常見的彩色攝像頭來檢測(cè)大致的動(dòng)作并將其歸類為用戶完成的姿勢(shì)。在計(jì)算機(jī)電子游戲背景下,有幾個(gè)在設(shè)計(jì)姿勢(shì)識(shí)別系統(tǒng)時(shí)需要考慮的重要因素, 且其相對(duì)重要性取決于姿勢(shì)識(shí)別系統(tǒng)在游戲中是如何使用的。對(duì)該姿勢(shì)識(shí)別系統(tǒng)的一種應(yīng)用是允許用戶反饋,例如,一旦具體的姿勢(shì)被識(shí)別出來,可以播放預(yù)先存儲(chǔ)的動(dòng)畫序列來向用戶展現(xiàn)系統(tǒng)認(rèn)為他所做的是怎樣的。該姿勢(shì)識(shí)別系統(tǒng)的另一種應(yīng)用是作為游戲設(shè)定機(jī)制來記分,例如,增加記分,以及允許玩家進(jìn)入不同等級(jí)。因此,姿勢(shì)識(shí)別系統(tǒng)在游戲中的使用方式構(gòu)成了對(duì)該系統(tǒng)設(shè)計(jì)的不同限制。作為一個(gè)例子,如果該系統(tǒng)用來向用戶提供關(guān)于他所做動(dòng)作的反饋,那么將用戶作出姿勢(shì)與系統(tǒng)識(shí)別出同一姿勢(shì)之間的延遲最小化就很重要。如果該姿勢(shì)識(shí)別系統(tǒng)被用來計(jì)算玩家的得分,那么對(duì)系統(tǒng)延遲的敏感度就沒有這么重要。編號(hào)7,340,077的美國專利介紹了一種姿勢(shì)識(shí)別系統(tǒng),該系統(tǒng)獲得表示人的身體部分上的多個(gè)離散區(qū)域的深度的位置信息,然后使用這一信息來將姿勢(shì)歸類。根據(jù)該專利, 有一個(gè)確切的起始時(shí)間,其指定了何時(shí)開始存儲(chǔ)離散區(qū)域,還有一個(gè)確切的結(jié)束時(shí)間,其表示用戶已經(jīng)完成該姿勢(shì)。在確切地確定了起始與結(jié)束時(shí)間后,進(jìn)行與姿勢(shì)庫的比對(duì)。因此, 該方法就引入了一個(gè)固有的延遲。另外,數(shù)據(jù)采集直接在深度數(shù)據(jù)上完成。也即,只能從對(duì)應(yīng)于二元掩模上的值“1”的深度數(shù)據(jù)對(duì)數(shù)據(jù)點(diǎn)進(jìn)行采樣。從深度數(shù)據(jù)來對(duì)數(shù)據(jù)點(diǎn)進(jìn)行采樣帶來了一些限制。首先,深度數(shù)據(jù)本身一般是多噪的,這可能會(huì)給采樣值的質(zhì)量造成不利影響。其次,從深度數(shù)據(jù)來對(duì)數(shù)據(jù)點(diǎn)進(jìn)行采樣必然限于攝像頭的視野的領(lǐng)域。概要本發(fā)明涉及對(duì)玩家在深度攝像頭前作出的姿勢(shì)和動(dòng)作的識(shí)別,以及,在一個(gè)實(shí)施例中,使用這些姿勢(shì)來驅(qū)動(dòng)計(jì)算機(jī)電子游戲中的游戲設(shè)定。在本發(fā)明的接下來的概要中先定義若干術(shù)語如下。^MSM^M姿勢(shì)識(shí)別系統(tǒng)是,例如,識(shí)別和確定使用者在輸入設(shè)備前作出的預(yù)先確定的動(dòng)作的系統(tǒng)。例子包括對(duì)來自攝像頭的數(shù)據(jù)進(jìn)行解讀以識(shí)別出用戶攥起了手,或是解讀該數(shù)據(jù)以識(shí)別出一記左手直拳。M^SMi本發(fā)明可以使用來自生成3D數(shù)據(jù)的深度攝像頭的數(shù)據(jù)來進(jìn)行姿勢(shì)識(shí)另IJ。有若干種不同類型的深度攝像頭。其中有依賴飛行時(shí)間原理的攝像頭,或依賴結(jié)構(gòu)光技術(shù)的攝像頭,以及立體攝像頭。這些攝像頭可以生成具有固定像素分辨率的圖像,其中每個(gè)像素具有整數(shù)值,這些值對(duì)應(yīng)于攝像頭投射到該圖像的這一區(qū)域上的對(duì)象的距離。除此深度數(shù)據(jù)外,該深度攝像頭還可以以常見彩色攝像頭同樣的方式來生成色彩數(shù)據(jù),該數(shù)據(jù)可以與深度數(shù)據(jù)合并以用于處理。槿使用該深度數(shù)據(jù),可以容易地創(chuàng)建二元掩模。二元掩模是有著和原始圖像相同分辨率的圖像,但是二元掩模的所有像素均具有對(duì)應(yīng)于0或1的整數(shù)值。一般,所有像素都有閾值,在像素值低于閾值時(shí)在該二元掩模中接收0值,并在像素值高于閾值時(shí)在該二元掩模中接收1值。例如,在玩家站在深度攝像頭前面的情形下,二元掩模被生成(并因此計(jì)算出閾值),使得對(duì)應(yīng)于該玩家身體的像素為1,所有其它像素為0。于是該二元掩模有效地成為該用戶的如攝像頭所捕捉到的剪影。M置關(guān)節(jié)圖是彼此間以某種固定方式連接并被限制以某些方式運(yùn)動(dòng)的關(guān)節(jié)的集合,例如,人體骨骼。反向動(dòng)力學(xué)求解器反向動(dòng)力學(xué)(IK)求解器可以用于本發(fā)明。已知所需的關(guān)節(jié)圖的配置(例如,某些關(guān)節(jié)的位置),反向動(dòng)力學(xué)求解器計(jì)算圖中已知關(guān)節(jié)與其它關(guān)節(jié)之間的角度,這些角度決定所選關(guān)節(jié)的已知位置。例如,已知手腕與肩的位置,IK求解器可以計(jì)算肩關(guān)節(jié)與肘關(guān)節(jié)的角度來得到已知的腕、肩的位置,由此也有效地計(jì)算出了肘關(guān)節(jié)的位置。申請(qǐng)?zhí)枮?1/866,280,題為“用于姿勢(shì)分類的方法和系統(tǒng)”的美國專利申請(qǐng)中介紹了使用姿勢(shì)識(shí)別來驅(qū)動(dòng)游戲中的游戲設(shè)定的方法與系統(tǒng),其整體通過引用并入本申請(qǐng)。如下所述,該方法和系統(tǒng)可以用于本發(fā)明。在一個(gè)實(shí)施例中,美國專利申請(qǐng)11/866,280可用于IK求解器模型所生成的數(shù)據(jù)。在某一誤差界限內(nèi),人體的各部分可以由深度攝像頭所產(chǎn)生的數(shù)據(jù)來識(shí)別。在人體的各部分的位置在深度圖像上被識(shí)別出來以后,可以從該圖像中采樣出深度值,從而獲得每個(gè)身體部分的三維(3D)位置。(這一步驟稱為跟蹤模塊。)然后,姿勢(shì)識(shí)別系統(tǒng)可以被訓(xùn)練并用于這些與用戶身體上的點(diǎn)相對(duì)應(yīng)的那些3D位置。 在本發(fā)明中,對(duì)應(yīng)于身體上的各部分的3D位置可以映射到一個(gè)模型上。在實(shí)施例中,反向動(dòng)力學(xué)(IK)求解器用來將從深度圖像上獲得的數(shù)據(jù)點(diǎn)投射到人體關(guān)節(jié)能夠采取的可能配置上。IK求解器模型要作為限制來過濾數(shù)據(jù),從而使數(shù)據(jù)匹配于自然的人類動(dòng)作的模型框架之內(nèi)。使用IK求解器來過濾來自跟蹤模塊的數(shù)據(jù)有幾個(gè)重要的好處。首先,IK求解器模型有效地平滑了數(shù)據(jù),由此將攝像頭噪聲的影響降到最低。其次,取自跟蹤模塊的數(shù)據(jù)點(diǎn)需對(duì)應(yīng)于二元掩模上的值“1”的像素(也即,他們落在用戶的剪影上)。對(duì)于由IK求解器獲得的數(shù)據(jù)則沒有附加這樣的限制。舉一個(gè)具體的例子,玩家可能站得靠近攝像頭的視野邊緣。在這種情況下,當(dāng)他把手伸向旁邊時(shí),手臂末端就在攝像頭的視野之外了。盡管如此, IK求解器會(huì)計(jì)算出玩家的胳膊伸到了視野之外,并將他的手的位置復(fù)原。顯然,僅適用來自跟蹤模塊的數(shù)據(jù)是無法做到這點(diǎn)的。使用IK求解器的第三個(gè)好處在于應(yīng)對(duì)阻擋。例如,玩家的手經(jīng)常會(huì)擋住攝像頭視野而使攝像頭無法看到他的肘部。因此,不會(huì)從深度圖像中采樣出對(duì)應(yīng)于肘的數(shù)據(jù)(因此其位置未知)。但是,如果已知手和肩的位置,IK求解器模型還可以計(jì)算出肘的大致位置。本發(fā)明的另外一個(gè)部分就是姿勢(shì)分類方法。美國專利申請(qǐng)11/866,280中介紹的方法是關(guān)于姿勢(shì)是否作出的二元分類法。也即,這個(gè)方法產(chǎn)生關(guān)于姿勢(shì)是否作出的二元標(biāo)記,“是”或“否”。美國專利申請(qǐng)11/866,280中介紹的方法的特點(diǎn)是它必須等到姿勢(shì)完成才能決定姿勢(shì)庫中的任意姿勢(shì)是否被作出。一種作為替代方式的姿勢(shì)分類方法包括在本發(fā)明中。本發(fā)明中介紹的方法不再二元地確定姿勢(shì)是否已經(jīng)作出(“是”或“否”),而是逐幀地跟蹤正在作出的姿勢(shì),并在每一幀后指出正在作出的姿勢(shì)與姿勢(shì)庫中的已知姿勢(shì)的接近程度。
圖中示出 了姿勢(shì)識(shí)別系統(tǒng)與方法的例子。這些例子和圖是示例性的,而非限定性的。圖1示出了該姿勢(shì)識(shí)別系統(tǒng)的一個(gè)實(shí)施例的總體架構(gòu)的框圖100A。圖2描繪了根據(jù)本發(fā)明公開的一個(gè)實(shí)施例的用于從攝像頭獲取數(shù)據(jù)并處理該數(shù)據(jù)來獲得特征位置的示例過程200A的流程圖。圖3A描繪了示出根據(jù)本發(fā)明公開的一個(gè)實(shí)施例的用于構(gòu)建姿勢(shì)庫的示例性過程 300A的流程圖。圖3B描繪了示出根據(jù)本發(fā)明公開的一個(gè)實(shí)施例的使用動(dòng)作捕捉設(shè)備來創(chuàng)建姿勢(shì)庫的示例性過程300B的流程圖。圖3C描繪了示出根據(jù)本發(fā)明公開的一個(gè)實(shí)施例的使用彩色和深度圖像來創(chuàng)建姿勢(shì)庫的示例性過程300C的流程圖。圖4A描繪了示出根據(jù)本發(fā)明公開的一個(gè)實(shí)施例的用二元姿勢(shì)識(shí)別技術(shù)來確定所搜索的姿勢(shì)是否被作出的示例性過程400A的流程圖。圖4B為示出根據(jù)本發(fā)明公開的一個(gè)實(shí)施例的從一系列圖像所捕捉到的動(dòng)作中識(shí)別出姿勢(shì)的方法的過程400B的流程圖。圖5描繪了示出根據(jù)本發(fā)明公開的一個(gè)實(shí)施例的示例性過程500A的流程圖,該過程確認(rèn)玩家是否在一段時(shí)間內(nèi)(也即,一系列幀)作出特定姿勢(shì),并確定玩家作出提示動(dòng)作的精確程度。圖6為根據(jù)本發(fā)明公開的一個(gè)實(shí)施例的并入交互式程序中的姿勢(shì)分類系統(tǒng)的實(shí)施例的框圖600。圖7為根據(jù)本發(fā)明公開的一個(gè)實(shí)施例的并入到由多個(gè)玩家通過網(wǎng)絡(luò)訪問的互動(dòng)式程序中的姿勢(shì)分類系統(tǒng)的實(shí)施例的框圖700。詳細(xì)說明圖1示出了姿勢(shì)識(shí)別系統(tǒng)的一個(gè)實(shí)施例的整體架構(gòu)的框圖100A。圖像采集與數(shù)據(jù)預(yù)處理模塊200獲得來自攝像頭的數(shù)據(jù),并對(duì)其進(jìn)行處理,而后將經(jīng)處理的數(shù)據(jù)供給三個(gè)其它模塊,姿勢(shì)訓(xùn)練模塊300、二元姿勢(shì)識(shí)別模塊400和實(shí)時(shí)姿勢(shì)識(shí)別模塊500。在一個(gè)實(shí)施計(jì)算例中,姿勢(shì)訓(xùn)練模塊300根據(jù)供給到該模塊的數(shù)據(jù)來計(jì)算出最有效地描繪特定姿勢(shì)的特性的方式,以此來訓(xùn)練姿勢(shì)識(shí)別算法。在一個(gè)實(shí)施例中,姿勢(shì)訓(xùn)練模塊300作為離線任務(wù)運(yùn)行。以該數(shù)據(jù)為根據(jù)的由姿勢(shì)訓(xùn)練模塊300生成的姿勢(shì)的特性描述被發(fā)送到二元姿勢(shì)識(shí)別模塊400和實(shí)時(shí)姿勢(shì)識(shí)別模塊500。此外,來自圖像采集與數(shù)據(jù)預(yù)處理模塊200的數(shù)據(jù)也被發(fā)送到二元姿勢(shì)識(shí)別模塊400和實(shí)時(shí)姿勢(shì)識(shí)別模塊500。
圖2描繪了根據(jù)本發(fā)明公開的實(shí)施例的用于從攝像頭獲取數(shù)據(jù)并處理該數(shù)據(jù)來獲得特征位置的示例過程200A的流程圖。該系統(tǒng)的圖像采集與數(shù)據(jù)預(yù)處理模塊200執(zhí)行過程200A。在一個(gè)實(shí)施例中,這 些特征位置為關(guān)節(jié)位置。所獲得的特征位置被發(fā)送到模塊 300、400 和 500。在框210,模塊200獲得來自攝像頭的二維圖像數(shù)據(jù)。該數(shù)據(jù)既可以只是深度數(shù)據(jù),也可以是深度數(shù)據(jù)和色彩數(shù)據(jù)。在框220,模塊200處理來自攝像頭的數(shù)據(jù)。其可以只是深度圖像,或者其可以是深度圖像與色彩圖像相結(jié)合。圖像處理算法用于盡可能準(zhǔn)確地確定取自攝像頭的二維(2D) 圖像上的與被跟蹤的物體的各特征相對(duì)應(yīng)的點(diǎn)。如果對(duì)玩家的身體進(jìn)行跟蹤,這些特征可以包括玩家的頭、左右肩關(guān)節(jié)、左右肘關(guān)節(jié)、左右手、軀干、骨盆、左右膝關(guān)節(jié)。在感興趣的特征的位置在2D圖像上確定下來后,可以從該深度圖像中采樣出深度值來獲得每個(gè)特征的三維(3D)位置。在一個(gè)實(shí)施例中,這對(duì)應(yīng)于獲得每個(gè)感興趣的關(guān)節(jié)的3D位置(包括來自深度圖像的深度)。在框220中獲得的關(guān)節(jié)的3D位置在框330中投射到被跟蹤的物體的模型上??梢詫?shù)據(jù)映射到其上的模型有幾種不同類型。在一個(gè)實(shí)施例中,該模型可以為幾何形狀。例如,該模型可以是人的手的簡(jiǎn)單的幾何再現(xiàn),有手掌和五根手指。在一個(gè)實(shí)施例中,該模型是人的骨骼的再現(xiàn),通過使用反向動(dòng)力學(xué)(IK)求解器或其它限制系統(tǒng),其被限于僅顯示那些與自然的人體運(yùn)動(dòng)相一致的配置。在一個(gè)實(shí)施例中,IK求解器求解等式系統(tǒng),該系統(tǒng)對(duì)人體骨骼的關(guān)節(jié)的可能配置進(jìn)行建模,并作為對(duì)每個(gè)關(guān)節(jié)的運(yùn)動(dòng)自由度的限制。在框230中限制框220中獲得的關(guān)節(jié)位置限制到該模型有幾個(gè)重要的功能。第一,濾除了來自攝像頭的噪聲,且有效地對(duì)結(jié)果進(jìn)行了平滑處理。第二,確信玩家的四肢可能會(huì)在攝像頭的視野之外。在這種情況下,框230的模型能夠計(jì)算出不在攝像頭視野中的關(guān)節(jié)的大致位置。第三,其填補(bǔ)了那些不能從攝像頭數(shù)據(jù)中獲得的關(guān)節(jié)的位置。已知“附近”其它關(guān)節(jié),IK求解器可以計(jì)算出一些關(guān)節(jié)的位置。例如,如果玩家的手直對(duì)著攝像頭向外伸展,他的肘關(guān)節(jié)甚至肩關(guān)節(jié)很有可能在視野中被擋住。在這種情況下,不可能在框220 中獲得這些關(guān)節(jié)的3D位置。但是,在框230中,這些關(guān)節(jié)的3D位置將從人體骨骼的模型來獲得,已知其它關(guān)節(jié)的位置,該模型能夠計(jì)算出這些關(guān)節(jié)的位置。一些實(shí)施例包括可選的框240,其中特征(或關(guān)節(jié))的位置數(shù)據(jù)被縮放到標(biāo)準(zhǔn)骨架或標(biāo)準(zhǔn)模型。這通常稱作“動(dòng)畫重定位”。盡管并非必要,但這個(gè)框是有作用的,因?yàn)殡m然訓(xùn)練數(shù)據(jù)采自的用戶的身體比例與測(cè)試數(shù)據(jù)采自的用戶有著不同的身體比例,訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)必須參照同一坐標(biāo)系。為了更好地將經(jīng)訓(xùn)練的姿勢(shì)適用于訓(xùn)練數(shù)據(jù)中未包含的用戶身體,該跟蹤數(shù)據(jù)可以被適當(dāng)縮放。在框250,從用作動(dòng)畫重定位的標(biāo)準(zhǔn)模型采集數(shù)據(jù)。在一個(gè)實(shí)施例中,這對(duì)應(yīng)于從骨骼模型獲得關(guān)節(jié)的3D位置。在框260,從該模型檢索出的數(shù)據(jù)被發(fā)送到姿勢(shì)訓(xùn)練模塊300 來訓(xùn)練姿勢(shì)分類算法,另外還被發(fā)送到姿勢(shì)識(shí)別模塊400和500。圖3A描繪了示出根據(jù)本發(fā)明公開的實(shí)施例的用于構(gòu)建姿勢(shì)庫的示例性過程300A 的流程圖。該系統(tǒng)的姿勢(shì)訓(xùn)練模塊300執(zhí)行過程300A。在框310,模塊300接收由圖像采集與數(shù)據(jù)預(yù)處理模塊200生成的特征數(shù)據(jù)。接著在框320,模塊300根據(jù)該特征數(shù)據(jù)來描述這些姿勢(shì)的特性。根據(jù)本發(fā)明公開的實(shí)施例,在框330,模塊300將這些姿勢(shì)與特定的預(yù)先確定的姿勢(shì)關(guān)聯(lián)。作為過程300A的輸出,在框330,構(gòu)建姿勢(shì)庫,其中每個(gè)姿勢(shì)具有依照?qǐng)D像采集與數(shù)據(jù)預(yù)處理模塊200生成的數(shù)據(jù)的特定的特性描述。圖3A中的框320和330可以包含圖3B各框,其在下文中有詳述并見于美國專利申請(qǐng)11/866,280的圖1。作為替代方式,圖3A中的框310可以包含圖3C中的各框,其在下文中有詳述并見 于美國專利申請(qǐng)11/866,280的圖2。在一個(gè)實(shí)施例中,框320和330作為離線任務(wù)執(zhí)行。為了將用戶的姿勢(shì)歸類為特定姿勢(shì),將用戶的動(dòng)作與收編并存儲(chǔ)在姿勢(shì)庫中的已知姿勢(shì)集合進(jìn)行比對(duì)。對(duì)于庫中的每個(gè)姿勢(shì),首先在預(yù)處理步驟中為每個(gè)姿勢(shì)生成基線或 “地面真值”數(shù)據(jù)。“地面真值”數(shù)據(jù)接著用作基線,用戶的動(dòng)作與之比對(duì),來將該動(dòng)作歸類為特定姿勢(shì)。在成一系列的若干圖像中描述感興趣的特征點(diǎn)的相對(duì)位置的數(shù)據(jù)被用于上述比對(duì)。圖3B示出了一種為姿勢(shì)庫獲得“地面真值”數(shù)據(jù)的方法300B。在步驟IlOA中,至少一個(gè)多次作出感興趣的姿勢(shì)的主體被記錄。在該主體身體的每個(gè)感興趣的特征點(diǎn)上放置傳感器,而動(dòng)作捕捉設(shè)備則用于將該主體的動(dòng)作記錄在一些里的圖像中。感興趣的特征點(diǎn)可以包括對(duì)應(yīng)于,例如,該主體的左手、左肘、左肩、或頭的關(guān)節(jié)和位置。對(duì)于本領(lǐng)域技術(shù)人員而言,很明顯主體身上的很多其它位置也可以作為感興趣的特征點(diǎn)。步驟IlOA的輸出是三維點(diǎn)的集合,其中每個(gè)點(diǎn)對(duì)應(yīng)于系列中每張圖片中的一個(gè)特征點(diǎn)。在步驟120A,通過使用處理動(dòng)作捕捉數(shù)據(jù)的標(biāo)準(zhǔn)技術(shù)手動(dòng)清理和平滑所述數(shù)據(jù)來對(duì)來自該動(dòng)作捕捉過程的數(shù)據(jù)進(jìn)行后處理。對(duì)本領(lǐng)域技術(shù)人員而言,很明顯也可以執(zhí)行其它后處理步驟。接著,在步驟125中,將所述數(shù)據(jù)在所述姿勢(shì)被作出的多次上取平均,以消除偏置。在優(yōu)選實(shí)施例中,很多不同作出該姿勢(shì)的主體被記錄,這些不同主體的姿勢(shì)被取平均以防止地面真值數(shù)據(jù)過度適合一個(gè)人。相似點(diǎn)測(cè)量是一種將兩個(gè)姿勢(shì)集合的相似點(diǎn)定量地相比較的功能。相似點(diǎn)測(cè)量值越高,一個(gè)人的動(dòng)作與該動(dòng)作所比對(duì)的已知姿勢(shì)越相似。在步驟130A中,計(jì)算出該姿勢(shì)的閾值,當(dāng)把所述姿勢(shì)與人的動(dòng)作比對(duì)的相似點(diǎn)測(cè)量大于該特定姿勢(shì)的閾值,很可能這個(gè)人的動(dòng)作已被確定為該姿勢(shì)。步驟140A詢問是否要將另一姿勢(shì)加入到該姿勢(shì)庫中。如果是,上述步驟將從步驟 IlOA開始重復(fù),伴隨著對(duì)至少一個(gè)作出該新姿勢(shì)的主體的記錄。如果沒有進(jìn)一步的姿勢(shì)要加入到該庫中,那么該姿勢(shì)庫就完成了。圖3C示出了作為替代方式的方法300C,可以由該方法來為姿勢(shì)庫獲得姿勢(shì)的“地面真值”數(shù)據(jù)及其對(duì)應(yīng)的姿勢(shì)閾值。在步驟210A中,能夠記錄色彩與深度圖像的攝像機(jī)被用于記錄至少一個(gè)幾次作出感興趣姿勢(shì)的主體。在步驟220A中,感興趣的特征點(diǎn)的位置被手動(dòng)標(biāo)記在一系列色彩與深度圖像上。在其它實(shí)施例中,標(biāo)記這些感興趣的點(diǎn)可以是自動(dòng)的或半自動(dòng)的。例如,可以在來自攝像機(jī)的深度圖像上運(yùn)行自動(dòng)跟蹤來確定感興趣的點(diǎn),在一些實(shí)施例中,這些被自動(dòng)確定的感興趣的點(diǎn)可以被手動(dòng)修正。在階段230A中,為捕捉該姿勢(shì)的圖像系列中的每個(gè)色彩-深度圖像對(duì)計(jì)算出每個(gè)感興趣的特征點(diǎn)的三維坐標(biāo)。數(shù)據(jù)的后處理出現(xiàn)在步驟240A中??梢赃M(jìn)行的后處理步驟包括在時(shí)間和空間上對(duì)數(shù)據(jù)進(jìn)行平滑處理。對(duì)于本領(lǐng)域技術(shù)人員而言,很明顯也可以執(zhí)行其它后處理步驟。接著,在步驟250A中,將所述數(shù)據(jù)在所述姿勢(shì)被作出的多次上取平均以消除偏置。在優(yōu)選實(shí)施例中,很多不同作出該姿勢(shì)的主體被記錄,這些不同主體的姿勢(shì)被取平均以防止地面真值數(shù)據(jù)過度適合一個(gè)人。在步驟260A中,計(jì)算出該姿勢(shì)的閾值,當(dāng)把所述姿勢(shì)與人的動(dòng)作比對(duì)的相似點(diǎn)測(cè)量大于該特定姿勢(shì)的閾值,很可能這個(gè)人的動(dòng)作已被確定為該姿勢(shì)。步驟270A詢問是否要將另一姿勢(shì)加入到該姿勢(shì)庫中。如果是,上述步驟將從步驟 210A開始重復(fù),伴隨著對(duì)至少一個(gè)作出該新姿勢(shì)的主體的記錄。如果沒有進(jìn)一步的姿勢(shì)要加入到該庫中,那么該姿勢(shì)庫就完成了。可以使用任何用于自動(dòng)分類數(shù)據(jù)的技術(shù),包括有監(jiān)督和無監(jiān)督的機(jī)器學(xué)習(xí)技術(shù)。 數(shù)據(jù)分類技術(shù)包括但不限于,支撐矢量機(jī)(SVM)、隱馬爾可夫模型(HMM)、以及逐步聚類分析(k-means clustering)。例如,SVM可以用來找出兩類數(shù)據(jù)點(diǎn)(“所需的姿勢(shì)”和“不需要的姿勢(shì)”)之間的“最佳分割”,推導(dǎo)出的判決函數(shù)可以用于備選姿勢(shì)來確定該備選姿勢(shì)落入哪個(gè)分類。圖4A描繪了示出根據(jù)本發(fā)明公開的實(shí)施例的用二元姿勢(shì)識(shí)別技術(shù)來確定所搜索的姿勢(shì)是否被作出的示例性過程400A的流程圖。在一個(gè)實(shí)施例中,二元姿勢(shì)識(shí)別技術(shù)等待到從圖像采集與數(shù)據(jù)預(yù)處理模塊200接收到全部的時(shí)間相關(guān)序列,才計(jì)算姿勢(shì)庫中的姿勢(shì)是否被作出,由此在游戲中引入了延時(shí)。在框410,二元姿勢(shì)識(shí)別模塊400接收來自該圖像采集與數(shù)據(jù)預(yù)處理模塊200的描述這些特征的特征數(shù)據(jù)。然后,在框420,玩家的對(duì)應(yīng)于姿勢(shì)庫中的姿勢(shì)被模塊400檢測(cè)出來。框420的輸出為檢測(cè)到的姿勢(shì)。在一個(gè)實(shí)施例中,框420可以包含美國專利申請(qǐng) 11/866,280圖3中的各框,如圖4B所示。在框430,該系統(tǒng)的游戲引擎模塊基于框420中檢測(cè)出的姿勢(shì)來為該玩家生成反饋。所述游戲引擎模塊必須控制與玩家互動(dòng)的游戲應(yīng)用。在框440,該系統(tǒng)在顯示器上為玩家顯示所生成的反饋,例如,根據(jù)玩家的表現(xiàn)調(diào)整該玩家的分?jǐn)?shù)。圖5描繪了示出根據(jù)本發(fā)明公開的實(shí)施例的示例性過程500A的流程圖,該過程確認(rèn)玩家是否在一段時(shí)間內(nèi)(也即,一系列幀)作出特定姿勢(shì),并確定玩家作出提示動(dòng)作的精確程度。在框510,實(shí)時(shí)姿勢(shì)識(shí)別模塊500接收來自圖像采集與數(shù)據(jù)預(yù)處理模塊200的特征數(shù)據(jù)。該實(shí)時(shí)姿勢(shì)識(shí)別模塊在作出該姿勢(shì)的過程中實(shí)時(shí)地更新該玩家的進(jìn)展,例如,在每幀之后。在框520,該系統(tǒng)的所述游戲引擎模塊選擇感興趣的姿勢(shì)并提示用戶來作出該姿勢(shì)。在框530,累積跟蹤分?jǐn)?shù)(CTS)置0。在一個(gè)實(shí)施例中,CTS在每一幀被更新。但是,CTS可以以其它間隔來更新,例如,每?jī)蓭?。接著,在?10中接收到的特征數(shù)據(jù)被與在框520中選出的感興趣的姿勢(shì)進(jìn)行比對(duì),并計(jì)算出對(duì)應(yīng)于該玩家的動(dòng)作匹配所述感興趣的姿勢(shì)的程度的數(shù)值。一種將來自框510的數(shù)據(jù)與來自框520的感興趣的數(shù)據(jù)進(jìn)行比對(duì)的方式是使用相似點(diǎn)測(cè)量。以下為一種示例性的相似點(diǎn)測(cè)量例如,視x(i,j)為根據(jù)感興趣的姿勢(shì)預(yù)先確定的關(guān)節(jié)i在時(shí)間j上的位置,且y (i,j)為從框510獲得的關(guān)節(jié)i在時(shí)間j的值,即,所述感興趣的姿勢(shì)中關(guān)節(jié)i在時(shí)間j上的位置。令w(i)為每個(gè)關(guān)節(jié)的 權(quán)重,且u(j)為每次的權(quán)重。那么,一種示例性的相似點(diǎn)測(cè)量為
權(quán)利要求
1.一種識(shí)別感興趣的姿勢(shì)的方法,包括 提示主體做出所述感興趣的姿勢(shì);從傳感器獲得在做出動(dòng)作的所述主體的多幅圖像;在獲得所述多幅圖像中的每幅圖像后,將所述多幅圖像中的每一幅與所述感興趣的姿勢(shì)進(jìn)行比對(duì);基于所述比對(duì)確定跟蹤分?jǐn)?shù);以及如果跟蹤分?jǐn)?shù)保持在已知閾值之內(nèi),確定所述主體在做出所述感興趣的姿勢(shì)。
2.如權(quán)利要求1所述的方法,進(jìn)一步包括在所述比對(duì)中使用反向動(dòng)力學(xué)求解器來將所述多幅圖像中的每一幅限制到模型。
3.如權(quán)利要求1所述的方法,進(jìn)一步包括從姿勢(shì)庫中選擇所述感興趣的姿勢(shì)。
4.如權(quán)利要求1所述的方法,其中所述比對(duì)包括計(jì)算相似點(diǎn)測(cè)量。
5.如權(quán)利要求1所述的方法,其中所述傳感器包括深度攝像頭。
6.一種圖像采集與數(shù)據(jù)預(yù)處理方法,包括 從傳感器獲得在做出動(dòng)作的主體的圖像; 從所述圖像中選出多個(gè)感興趣的特征;對(duì)對(duì)應(yīng)于所述多個(gè)感興趣的特征的多個(gè)深度值進(jìn)行采樣; 用所述多個(gè)深度值來將所述多個(gè)感興趣的特征投射到模型上; 用限制系統(tǒng)對(duì)投射所述多個(gè)特征到所述模型進(jìn)行限制。
7.如權(quán)利要求6所述的方法,其中所述限制系統(tǒng)包括反向動(dòng)力學(xué)求解器。
8.如權(quán)利要求6所述的方法,其中所述傳感器包括深度攝像頭。
9.如權(quán)利要求6所述的方法,進(jìn)一步包括用于將所述模型縮放到標(biāo)準(zhǔn)模型的動(dòng)畫重定位。
10.一種識(shí)別姿勢(shì)的系統(tǒng),包括 攝像頭,用于采集得多個(gè)圖像深度數(shù)據(jù)幀;圖像采集模塊,配置為接收來自所述攝像頭的所述多個(gè)圖像深度數(shù)據(jù)幀,并處理所述圖像深度數(shù)據(jù)來確定主體的特征位置;姿勢(shì)訓(xùn)練模塊,配置為接收來自所述圖像采集模塊的所述主體的特征位置,并將所述特征位置與預(yù)先確定的姿勢(shì)相關(guān)聯(lián);二元姿勢(shì)識(shí)別模塊,配置為接收來自所述圖像采集模塊的所述主體的特征位置,并確定所述特征位置是否匹配特定的姿勢(shì);實(shí)時(shí)姿勢(shì)識(shí)別模塊,配置為接收來自所述圖像采集模塊的所述主體的特征位置,并確定所述特定姿勢(shì)是否正在多于一個(gè)圖像深度數(shù)據(jù)幀中被做出。
11.如權(quán)利要求10所述的系統(tǒng),進(jìn)一步包括游戲引擎模塊,配置為選擇所述特定姿勢(shì)并提示所述主體來做出所述特定姿勢(shì)。
12.如權(quán)利要求10所述的系統(tǒng),進(jìn)一步包括 姿勢(shì)數(shù)據(jù)庫,其中包含所述預(yù)先確定的姿勢(shì)。
13.如權(quán)利要求10所述的系統(tǒng),進(jìn)一步包括顯示器,用于向所述主體提供關(guān)于由所述主體做出的姿勢(shì)的反饋。
14.如如權(quán)利要求10所述的系統(tǒng),其中所述攝像頭進(jìn)一步獲得色彩圖像數(shù)據(jù)。
15.如權(quán)利要求10所屬的系統(tǒng),其中所述實(shí)時(shí)姿勢(shì)識(shí)別模塊進(jìn)一步配置為計(jì)算相似點(diǎn)測(cè)量和累積跟蹤分?jǐn)?shù),其中為每一幀更新所述相似點(diǎn)測(cè)量和所述累積跟蹤分?jǐn)?shù),進(jìn)一步地, 其中所述對(duì)所述特定姿勢(shì)是否正在被做出的確定是基于為每一幀將所述累積跟蹤分?jǐn)?shù)與所述特定姿勢(shì)的閾值進(jìn)行比對(duì)。
16.如權(quán)利要求10所述的系統(tǒng),其中所述圖像采集模塊將所述圖像深度數(shù)據(jù)映射到模型上。
17.如權(quán)利要求16所述的系統(tǒng),其中所述圖像采集模塊為在所述多個(gè)幀中的至少一個(gè)幀中不可見的特征位置來使用反向動(dòng)力學(xué)求解器來限制所述模型的動(dòng)作。
18.如權(quán)利要求10所述的系統(tǒng),其中所述圖像采集模塊將所述特征位置縮放到標(biāo)準(zhǔn)模型。
19.如權(quán)利要求10所述的系統(tǒng),其中所述姿勢(shì)訓(xùn)練模塊使用機(jī)器學(xué)習(xí)技術(shù)來確定所述特征位置是否匹配特定姿勢(shì)。
20.一種識(shí)別姿勢(shì)的系統(tǒng),包括用于采集多個(gè)圖像深度數(shù)據(jù)幀的裝置;用于接收來自所述攝像頭的所述多個(gè)圖像深度數(shù)據(jù)幀,并處理所述圖像深度數(shù)據(jù)來確定主體的特征位置的裝置;用于接收來自所述圖像采集模塊的所述主體的特征位置,并將所述特征位置與預(yù)先確定的姿勢(shì)相關(guān)聯(lián)的裝置;用于接收來自所述圖像采集模塊的所述主體的特征位置,并確定所述特征位置是否匹配特定的姿勢(shì)的裝置;用于接收來自所述圖像采集模塊的所述主體的特征位置,并確定所述特定姿勢(shì)是否正在多于一個(gè)圖像深度數(shù)據(jù)幀中被做出的裝置;用于向所述主體提供關(guān)于所述主體做出的姿勢(shì)的反饋的裝置。
21.如權(quán)利要求1所述的方法,其中確定所述跟蹤分?jǐn)?shù)包括在所述感興趣的姿勢(shì)上應(yīng)用支撐矢量機(jī)。
22.如權(quán)利要求1所述的方法,其中確定所述跟蹤分?jǐn)?shù)包括應(yīng)用相似點(diǎn)測(cè)量。
全文摘要
圖像采集與數(shù)據(jù)預(yù)處理方法包括獲得來自傳感器的在做出動(dòng)作的主體的圖像。該傳感器可以是深度攝像頭。該方法還包括從圖像中選出多個(gè)感興趣的特征,采樣出對(duì)應(yīng)于所述多個(gè)感興趣的特征的多個(gè)深度值,用所述多個(gè)深度值來將所述多個(gè)感興趣的特征投射到模型上,以及用限制系統(tǒng)來限制投射所述多個(gè)感興趣的特征到所述模型上。該限制系統(tǒng)可以上包括反向動(dòng)力學(xué)求解器。
文檔編號(hào)G06T7/20GK102317977SQ201080007962
公開日2012年1月11日 申請(qǐng)日期2010年2月4日 優(yōu)先權(quán)日2009年2月17日
發(fā)明者埃蘭·艾拉特, 格爾紹姆·庫特利洛夫, 艾米特·布萊維斯 申請(qǐng)人:奧美可互動(dòng)有限責(zé)任公司