亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

根據(jù)深度圖對(duì)人形進(jìn)行建模的制作方法

文檔序號(hào):6454554閱讀:354來源:國(guó)知局
專利名稱:根據(jù)深度圖對(duì)人形進(jìn)行建模的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般地涉及用于對(duì)三維(3D)物體進(jìn)行繪圖(map)和建模 的方法和系統(tǒng),尤其涉及根據(jù)深度圖對(duì)人形進(jìn)行的自動(dòng)提取。
背景技術(shù)
在現(xiàn)有技術(shù)中,已知許多用于生成深度圖的不同方法和系統(tǒng)。在本專 利申請(qǐng)和權(quán)利要求書中,術(shù)語"深度圖"是指場(chǎng)景的二維像素矩陣表示, 其中,每個(gè)像素與其在場(chǎng)景中的位置相對(duì)應(yīng)并具有表示從某個(gè)參考位置到 其場(chǎng)景位置的距離的像素值。(換言之,深度圖具有圖像的形式,其中, 像素值指出場(chǎng)景中的物體的形貌信息(topographical information ),而不 是亮度和/或顏色)。通過例如向物體投射激光斑點(diǎn)圖案并檢測(cè)和處理該物 體的圖4象,可以生成深度圖,如在PCT國(guó)際7>布\¥0 2007/043036 Al中 所述,該文獻(xiàn)的內(nèi)容通過引用包含于此。
現(xiàn)有技術(shù)中已知有用于根據(jù)視頻或其它圖像數(shù)據(jù)對(duì)人形的三維(3D ) 模型進(jìn)行計(jì)算機(jī)處理的各種方法。這其中的一些方法要求將專用標(biāo)記附在 位于已知位置處的對(duì)象的身體,以便于跟蹤對(duì)象的運(yùn)動(dòng)。這種基于標(biāo)記的 方法在例如下述文獻(xiàn)中有描述Fua等人的"Human Shape and Motion Recovery Using Animation Models", 19th Congress, International Society for Photogrammetry and Remote Sensing (阿姆斯特丹,2000年7月), 該文獻(xiàn)通過引用包含于此。
其它方法使用多個(gè)照相M供3D立體圖像信息,并處理這些信息以 對(duì)人形(或其它形狀)進(jìn)行建模。例如,Allard等人在下述文獻(xiàn)中描述了 這樣一種方法"Marker-less Real Time 3D Modeling for Virtual Reality",Immersive Projection Technology (IPT 2004, Iowa State University ),該 文獻(xiàn)通過引用包含于此。在下述文獻(xiàn)中Howe等人描述了另一種方法,該 方法將人的形體和運(yùn)動(dòng)的概率模型應(yīng)用到二維(2D)圖像中"Bayesian Reconstruction of 3D Human Motion from Single-Camera Video", Advances in Neural Information Processing Systems 12 ( Denver , Colorado, 1999),該文獻(xiàn)也通過引用包含于此。
Li等人在下述文獻(xiàn)中描述了使用"立體照相機(jī)"提供深度信息"Real time 3D Motion Recognition with Dense Depth Map" (Report CPSC525, Department of Computer Science, University of British Columbia, Vancouver, BC, 2004),該文獻(xiàn)通過引用包含于此。將統(tǒng)計(jì)背景減除方 法應(yīng)用到來自立體照相機(jī)的輸入視頻流,并使用基于相關(guān)性的立體方法 (stereo method)來給出前景物體的稠密深度圖。然后,基于該深度圖使 用光$危法(optical flow approach)檢測(cè)物體的運(yùn)動(dòng)。
Grammalidis等人在下述文獻(xiàn)中描述了另一種基于深度的方法"3D Human Body Tracking from Depth Images Using Analysis by Synthesis", Proceedings of the IEEE International Conference on Image Processing (ICIP2001, Thessaloniki, Greece), pp. 185-188,該文獻(xiàn)通過引用包含 于此。該方法用來估計(jì)人手臂的MPEG-4身體動(dòng)畫參數(shù)(BAP, body animation parameters),開始時(shí)將MPEG-4身體模型的剛性部分按比例 縮放(scale)到由照相機(jī)成像的相應(yīng)身體部分的幾何特性。然后使用基于 下坡單純最小4匕方法(Downhill Simplex minimization method)的技術(shù)來 估計(jì)BAP值。

發(fā)明內(nèi)容
下面說明的本發(fā)明的實(shí)施例提供了用于基于深度圖對(duì)人形進(jìn)行建模 的方法、設(shè)備和軟件。(在本專利申請(qǐng)和權(quán)利要求書中所使用的術(shù)語"人 形的"是指身體結(jié)構(gòu)類似于人體結(jié)構(gòu)的任何存在)。在示例性實(shí)施例中, 處理器對(duì)包含對(duì)象的身體的場(chǎng)景的深度圖進(jìn)行分割,以便找出該身體的輪 廓。然后處理器對(duì)該輪廓進(jìn)行分析,以便識(shí)別該對(duì)象的軀干和一個(gè)或多個(gè) 肢體,并確定各肢體中至少一個(gè)的布置。
處理器可以在單個(gè)圖像上或在一系列圖像上估計(jì)四肢的布置,以便提 取對(duì)象的姿勢(shì)和/或其它運(yùn)動(dòng)??梢詫⑺玫降男畔⒂米鬏斎雭砜刂圃谟?jì)算機(jī)上運(yùn)行的應(yīng)用程序。可選擇地,為其它目的,處理器可以結(jié)合四肢也 許還有軀干的布置來導(dǎo)出身體的靜態(tài)或運(yùn)動(dòng)模型。下面所述用于處理深度 圖的方法是非常高效的,使得可以對(duì)傳統(tǒng)微處理器進(jìn)行編程來實(shí)時(shí)(即,
以至少等于25-30幀/秒的標(biāo)準(zhǔn)視頻速率的處理速率)執(zhí)行這些方法。
因此,根據(jù)本發(fā)明實(shí)施例,提供了一種用于處理數(shù)據(jù)的計(jì)算機(jī)實(shí)現(xiàn)的 方法,該方法包括
接收包含人形對(duì)象的身體的場(chǎng)景的深度圖,該深度圖包括像素矩陣, 每個(gè)像素與其在場(chǎng)景中的位置相對(duì)應(yīng)并具有其像素值,該像素值表示參考 位置到該<象素的位置的距離;
分割深度圖以便找出身體的輪廓;
處理輪廓以便識(shí)別對(duì)象的軀干和一個(gè)或多個(gè)肢體;以及
通過分析深度圖中的至少一個(gè)被識(shí)別出的肢體的布置,產(chǎn)生輸入來控 制計(jì)算機(jī)上運(yùn)行的應(yīng)用程序。
通常,接收深度圖包括在不給身體附任何專用標(biāo)記的情況下獲取深度 圖。在公開的實(shí)施例中,接收深度圖包括使用單一固定成像設(shè)備來獲取深 度圖。獲取深度圖可以包括將無關(guān)聯(lián)的斑點(diǎn)圖案投射到對(duì)象上,使用成像 設(shè)備捕獲所投射圖案的圖像,以及處理圖像以便產(chǎn)生深度圖。在一個(gè)實(shí)施 例中,損:射無關(guān)聯(lián)的斑點(diǎn)圖案包括使用相干光源形成初級(jí)斑點(diǎn)圖案。
在一些實(shí)施例中,接收深度圖包括以至少25幀/秒的幀速率獲取深度 圖序列,產(chǎn)生控制輸入包括以至少等于所述幀速率的更新速率響應(yīng)于深度 圖序列來更新控制輸入。
通常,分割深度圖包括識(shí)別場(chǎng)景中沒有連接到身體的背景物體,并在 找出輪廓之前從場(chǎng)景中去除該背景物體。
在一些實(shí)施例中,處理l^廓包括估計(jì)輪廓內(nèi)的區(qū)域的厚度,根據(jù)該 厚度將區(qū)域的第 一部分識(shí)別為軀干,并將與軀干連接的區(qū)域的第二部分識(shí) 別為肢體中的至少一個(gè)。在一個(gè)實(shí)施例中,估計(jì)厚度包括在深度圖中識(shí) 別出身體的軸;沿著垂直于該軸的多個(gè)第一線計(jì)算輪廓的橫向厚度;沿著 平行于該軸的多條第二線計(jì)算輪廓的縱向厚度;以及將輪廓內(nèi)由第一和第 二線限定的區(qū)域的部分指定為軀干,其中沿著第一和第二直線,橫向厚度 和縱向厚度分別不小于特定的橫向閾值和縱向閾值。另夕卜,可選擇地,識(shí) 別所述區(qū)域的第二部分包括基于深度圖確定軀干距參考位置的代表距 離,并將與軀干重疊的、像素的距離小于代^J巨離的區(qū)域識(shí)別為對(duì)象的手臂。
在公開的實(shí)施例中,分析布置包括通it^Ul體中的至少 一個(gè)肢體中迭 代地去除像素來找出一個(gè)或多個(gè)肢體的一個(gè)或多個(gè)各自的中間軸。通常, 中間軸是彎曲的,且分析布置包括通過找出與中間軸擬合的直線段來導(dǎo)出 一個(gè)或多個(gè)肢體的棍圖表示。
通常, 一個(gè)或多個(gè)肢體包括對(duì)象的手臂,且處理器用來通it^軀干上 識(shí)別肩膀點(diǎn),在手臂上識(shí)別手掌點(diǎn),并識(shí)別分別穿過肩膀點(diǎn)和手掌點(diǎn)并在 手臂的肘部相遇的兩條直線段來導(dǎo)出手臂的棍圖表示。
根據(jù)本發(fā)明實(shí)施例,還提供了用于處理數(shù)據(jù)的裝置,該裝置包括
成像設(shè)備,用來捕獲包含人形對(duì)象的身體的場(chǎng)景的圖像;以及
處理器,用來處理圖像以便生成深度圖,深度圖包括像素矩陣,每個(gè) 像素與其在場(chǎng)景中的位置相對(duì)應(yīng)并具有其像素值,像素值表示從參考位置
到該像素位置的距離;用來分割深度圖以便找出身體的輪廓;處理輪廓以 便識(shí)別對(duì)象的軀干和一個(gè)或多個(gè)肢體;并用來通過分析深度圖中的至少一 個(gè)被識(shí)別出的肢體的布置,產(chǎn)生輸入來控制計(jì)算機(jī)上運(yùn)行的應(yīng)用程序。
根據(jù)本發(fā)明實(shí)施例,也提供一種計(jì)算^:件產(chǎn)品,該產(chǎn)品包括存儲(chǔ)有 程序指令的計(jì)算機(jī)可讀介質(zhì),在由計(jì)算機(jī)讀取時(shí),指令使計(jì)算機(jī)獲取包含
人形對(duì)象的身體的場(chǎng)景的深度圖,深度圖包括像素矩陣,每個(gè)像素與其在 場(chǎng)景中的位置相對(duì)應(yīng)并具有其像素值,像素值表示從參考位置到該像素位 置的距離;且指^H吏計(jì)算機(jī)分割深度圖以便找出身體的輪廓;處理輪廓以 便識(shí)別對(duì)象的軀干和一個(gè)或多個(gè)肢體;并且通過分析深度圖中的至少一個(gè) 被識(shí)別出的肢體的布置,產(chǎn)生輸入來控制計(jì)算機(jī)上運(yùn)行的應(yīng)用程序。
根據(jù)下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例的詳細(xì)說明,將更完全地理解本發(fā) 明,在附圖中


圖1示意性圖示了根據(jù)本發(fā)明實(shí)施例的用于獲取和處理深度圖的系
統(tǒng);
圖2是根據(jù)本發(fā)明實(shí)施例的深度圖的示意表示;
圖3是示意性示出根據(jù)本發(fā)明實(shí)施例的用于基于深度圖對(duì)人體對(duì)象 ii行建模的方法的流禾呈圖;圖4A和圖4B是才艮據(jù)本發(fā)明實(shí)施例的去掉背景物體之前和之后的深 度圖的示意表示;
圖5是示意性示出根據(jù)本發(fā)明實(shí)施例的用于在深度圖中識(shí)別身體各 部分的方法細(xì)節(jié)的流程圖6是根據(jù)本發(fā)明實(shí)施例的識(shí)別出了體軸的下采樣深度圖的示意性
表示;
圖7A是根據(jù)本發(fā)明實(shí)施例的在深度圖中找出的身體輪廓的示意性表
示,示出了輪廓的縱向厚度超過閾值的區(qū)域;
圖7B是根據(jù)本發(fā)明實(shí)施例的圖7A的輪廓的示意性表示,示出了輪 廓的橫向厚度超過閾值的區(qū)域;
圖7C是根據(jù)本發(fā)明實(shí)施例的圖7A的4^廓的示意性表示,示出了由 圖7A和圖7B中所示的厚度確定的身體軀干區(qū)域;
圖7D是根據(jù)本發(fā)明實(shí)施例的圖7A的輪廓的示意性表示,示出了基 于圖7C的軀干所識(shí)別出的頭部和四肢;
圖8是根據(jù)本發(fā)明實(shí)施例的在深度圖中找出的身體輪廓的示意性表 示,示出了與軀干重疊的手臂部分的識(shí)別;
圖9是根據(jù)本發(fā)明實(shí)施例的在深度圖中找出的身體輪廓的示意性表 示,示出了手臂中間軸的識(shí)別;
圖10是根據(jù)本發(fā)明實(shí)施例的在深度圖中找出的身體輪廓的示意性表 示,示出了從深度圖中導(dǎo)出的手臂的棍圖模型。
具體實(shí)施例方式
圖1示意性圖示出根據(jù)本發(fā)明實(shí)施例的用于繪制深度圖并建模的系 統(tǒng)20。系統(tǒng)20包括成傳3殳備22,該設(shè)備捕獲包^^人形對(duì)象28的場(chǎng)景的 圖像。圖像處理器24處理由設(shè)備22產(chǎn)生的圖像數(shù)據(jù),以便生成對(duì)象28 的深度圖并基于該深度圖生成該對(duì)象的模型26,如后文詳細(xì)說明的。該 模型通常包括與對(duì)象四肢中的一個(gè)或多個(gè)的布置有關(guān)的3D信息。下面所 描述的方法能夠使處理器24以實(shí)時(shí)幀速率(至少25幀/秒)從單個(gè)深度 圖中找到對(duì)象四肢的布置,而不依賴于前面的幀。另夕卜,處理器也可以在 對(duì)象隨時(shí)間改變其位置時(shí)提供運(yùn)動(dòng)信息。圖像處理器24可以包括用軟件進(jìn)行編程以執(zhí)行下述功能的通用計(jì)算 機(jī)處理器。所述軟件可以通過例如網(wǎng)絡(luò)以電子形式下載到處理器24,或 者也可以設(shè)置在有形介質(zhì)(諸如光、磁或電存儲(chǔ)器介質(zhì))上。另外,可選 擇地,圖像處理器的部分或全部功能可以在專用硬件中實(shí)現(xiàn),專用硬件諸 如定制或半定制集成電路或可編程數(shù)字信號(hào)處理器(DSP)。盡管在圖1 中以例子的方式將處理器24顯示為與成像設(shè)備22分開的單元,但處理器 24的部分或全部處理功能可以由成像設(shè)備殼內(nèi)或與成像設(shè)^^目關(guān)的合適 的處理器或其它專用電路來執(zhí)行。
下面所述的建模原理可以用于由任何類型的繪圖裝置生成的對(duì)象28 的任何合適種類的深度圖。然而,為了簡(jiǎn)單且成本低,成像設(shè)備22包括 包含單個(gè)圖像傳感器的單個(gè)固定設(shè)備是有好處的。在一個(gè)這種實(shí)施例中, 例如,設(shè)備22產(chǎn)生無關(guān)聯(lián)的斑點(diǎn)圖案并將之投射到對(duì)象28上,并捕獲在 對(duì)象上出現(xiàn)的斑點(diǎn)圖案的圖像。所述圖案在下述意義上是無關(guān)聯(lián)的,即, 作為橫向位移的函數(shù)的圖案中斑點(diǎn)位置的自相關(guān)對(duì)于任何大于斑點(diǎn)尺寸 的位移來說是可忽略的。隨機(jī)圖案,諸如由來自相干光源的初級(jí)斑點(diǎn) (primaryspeckle)生成的那些圖案,在這個(gè)意義上就是無關(guān)聯(lián)的。
上述PCT國(guó)際7〉布WO 2007/043036 Al描述了這種基于斑點(diǎn)的成寸象 和繪圖設(shè)備,以及用于基于這種設(shè)備的深度繪圖方法。在2007年3月8 日提交的PCT專利申請(qǐng)PCT/IL2007/000306中描述了使用投射激光斑點(diǎn) 進(jìn)行深度繪圖的其它方面,該專利申請(qǐng)轉(zhuǎn)讓給了本專利申請(qǐng)的受讓人,并 通過引用包含于此。正如在這些文獻(xiàn)中所說明的,圖像處理器對(duì)圖案中的 斑點(diǎn)相對(duì)于已知參考圖案的橫向位移進(jìn)行檢測(cè)。給定斑點(diǎn)的位移是斑點(diǎn)從 所述設(shè)備到所投射到的表面之間的距離的函數(shù)。
由系統(tǒng)20確定的對(duì)象28的四肢的布置和運(yùn)動(dòng)可以用作輸入來控制處 理器24或另一個(gè)計(jì)算機(jī)(未示出)上所運(yùn)行的應(yīng)用程序。例如,處理器 可以識(shí)別由對(duì)象進(jìn)行的運(yùn)動(dòng)(諸如姿勢(shì)),并將這些運(yùn)動(dòng)用于該對(duì)象和計(jì) 算機(jī)游戲之間的互動(dòng)界面中。作為選擇,由系統(tǒng)20所識(shí)別的對(duì)象的姿態(tài) 和/或運(yùn)動(dòng)可以用于控制其它種類的應(yīng)用,以及用于圖像處理和動(dòng)畫的其 它領(lǐng)域中。
上面只是通過例子的方式描述了在系統(tǒng)20中從斑點(diǎn) 像得出深度 圖,以便說明獲得并使用深度圖的一種典型環(huán)境。下面所述本發(fā)明的原理 和方法的應(yīng)用絕不限于這種系統(tǒng)或獲得深度圖的這種方法。相反,這些原 理和方法可以用于使用現(xiàn)有技術(shù)中已知的任何合適的方法和技術(shù)所獲得的基本上任何類型的深度圖。
圖2是根據(jù)本發(fā)明實(shí)施例的深度圖30的示意性表示。深度圖包括像 素32的二維矩陣,每個(gè)像素與其在場(chǎng)景中的位置相對(duì)應(yīng)。每個(gè)像素的值 (由該圖中的灰度值指示)指示其在場(chǎng)景中的位置與參考位置之間的距 離。例如,像素值可以指示對(duì)象28身體上的點(diǎn)到設(shè)備22的圖像平面的距 離(即,深度)。
在實(shí)際應(yīng)用中,當(dāng)對(duì)象28被允許自由移動(dòng)以更遠(yuǎn)離背景時(shí),不是所 有的深度圖的像素都會(huì)包含有效的深度數(shù)據(jù)。相反,假設(shè)設(shè)備22用來獲 取某個(gè)距離范圍內(nèi)(對(duì)象28通常位于該范圍內(nèi))的深度信息,則與深度 出了這個(gè)范圍的區(qū)域相對(duì)應(yīng)的像素就可能包含預(yù)定的零值,指明對(duì)于這些 像素來說,找不到深度。其它像素可能具有將它們歸為陰影區(qū)的值,這意 味著,在與像素相對(duì)應(yīng)的位置處有一個(gè)在所i^巨離范圍內(nèi)的物體表面,但 該像素的深度值不能確定。在下述方法中,也將這些陰影像素的值處理為 零值,盡管在可選實(shí)施例中,可以對(duì)陰影像素進(jìn)行不同的處理。
圖3是示意性示出根據(jù)本發(fā)明實(shí)施例的用于基于深度圖對(duì)人體對(duì)象 進(jìn)行建模的方法的流程圖。在深度圖獲取步驟40,處理器24獲取深度圖。 可以使用如圖1所示的系統(tǒng)20來獲取深度圖,或可以可選地使用現(xiàn)有技 術(shù)中已知的任何其它合適類型的深度圖繪制系統(tǒng)。對(duì)象建模中的關(guān)鍵步驟 是分割深度圖以便限定對(duì)象的身體的各部分。然而,在準(zhǔn)M割身體時(shí), 首先讓處理器在背景去除步驟42中從場(chǎng)景中去除背景物體是有用的。如 果在場(chǎng)景中有兩個(gè)或多個(gè)人形,則在對(duì)每個(gè)進(jìn)行分割之前將各自身體分開 也是有用的。
在步驟42中,可以4吏用許多不同的背景去除方法。這些方法中的一 些方法依賴于在深度圖中初步確定一個(gè)斑塊(blob,即,具有相似值的寸象 素的連接組)作為對(duì)象的身體,然后從該斑塊中去除具有明顯不同深度值 的其它斑塊。以這種方式初步確定的斑塊通常必須具有某個(gè)最小尺寸。然 而,為此,斑塊邊緣處的像素坐標(biāo)之間的簡(jiǎn)單的歐幾里德距離不給出該尺 寸的準(zhǔn)確測(cè)量。該不準(zhǔn)確的原因是,與具有給定實(shí)際尺寸的物體相對(duì)應(yīng)的 斑塊的尺寸(以像素為單位)隨著該物體與設(shè)備22的距離的變化而增加 或減小(參見圖1)。
因此,為了確定物體的實(shí)際尺寸,首先使用下面的公式將物體的(x, y,深度)坐標(biāo)變換為"現(xiàn)實(shí)世界"坐標(biāo)(xr,yr,深度)xF(x-fovx/2)M象素尺寸"果JL/參考深度 yr-(y-fovy/2)M象素尺寸"果JL/參考深度
這里,fovx和fovy為x和y方向上的深度圖的視野(以4象素為單位)。 像素尺寸為,在離繪圖設(shè)備給定距離(參考深度)處像素所對(duì)著的長(zhǎng)度。 然后,斑塊的尺寸可以通過求該斑塊邊緣的現(xiàn)實(shí)世界坐標(biāo)之間的歐幾里德 距離來實(shí)際確定。
處理器24可以通過識(shí)別具有所要求的最小尺寸的斑塊來執(zhí)行步驟 42,其中,該斑塊在場(chǎng)景中的各斑塊中間具有最小平均深度值??梢约僭O(shè), 離設(shè)備22最近的這個(gè)斑塊就是對(duì)象的身體28。深度比該平均深度值大了 至少某個(gè)閾值的所有像素都被假定屬于背景物體,因此處理器將這些4象素 的深度重置為零值。所述閣值可以試,確定,以便在沒有假象的建模(不 受背景物體的干擾)和靈活性(就允許對(duì)象移動(dòng)的深度范圍而言)之間達(dá) 成最佳折衷。另外,可選擇地,也可以相似地將具有明顯小于所述斑塊的 平均深度值的深JL值的各《象素置零。
另夕卜可選擇地,可以通it^工作軟件中設(shè)定合適的M來預(yù)定系統(tǒng) 20的最大深度。對(duì)處理器24進(jìn)行編程,4吏其忽略超過該預(yù)i殳最大深度的 物體。當(dāng)對(duì)象28啟動(dòng)了系統(tǒng)20的操作時(shí),他可以在連接到處理器24的 顯示器上看到實(shí)際的深度圖(或由此得到的模型26),從而可以調(diào)整自身 位置使得只有他處于場(chǎng)景中并以合適的尺寸由系統(tǒng)捕獲到。
作為另一種選擇,可以通過首先捕獲沒有對(duì)象28的場(chǎng)景的初始深度 圖來生成靜態(tài)深度過濾器。可以在距離設(shè)備22最近的背景物體上識(shí)別(可 以由用戶交互地識(shí)別也可以由處理器24自動(dòng)地識(shí)別)某個(gè)〗象素或〗象素組。 處理器24記錄該像素或像素組的深度值,隨后在步驟42中,將深度圖中 比該記錄的值大的所有像素的深度值都置零。
可選擇地,處理器24可以動(dòng)態(tài)地確定深度值,超過該深度值的話, 物體就從深度圖中去除。為此,假設(shè)場(chǎng)景中的物體正在移動(dòng)。因此,在某 最小數(shù)目個(gè)幀中深度沒有變化的任何像素都被假iR背景物體。深度值大 于該靜態(tài)深度值的像素被認(rèn)為是屬于背景物體的,因此都被置零。開始, 場(chǎng)景中的所有《象素可以都被定義為靜態(tài),或者場(chǎng)景中的所有^象素可以都被 定義為非靜態(tài)的。在這兩種情形中, 一旦對(duì)象開始運(yùn)動(dòng),就可以動(dòng)態(tài)生成 實(shí)際的深度過濾器。
進(jìn)一步可選擇地,也可以使用現(xiàn)有技術(shù)中已知的其它方法來在步驟42中除去背景物體。
圖4A和圖4B是根據(jù)本發(fā)明實(shí)施例的去除背景物體之前和之后的深 度圖44的示意性表示。在圖4A中,深度圖44包括與人形對(duì)象的身體相 對(duì)應(yīng)的斑塊46以及與背景物體相對(duì)應(yīng)的其它斑塊48。深度圖44中的其 余像素值為零。處理器24可以以上述方式判斷出斑塊48所處的深度比斑 塊46的深度至少大了某個(gè)閾值。因此,從深度圖中除去斑塊48,只留下 斑塊46來進(jìn)行分割和建模。
現(xiàn)在返回圖3, 一旦成功地除去了背景,處理器24就通it^深度圖 中找出相連的深度部分來分割深度圖中的人形。在步驟50中,找出每個(gè) 相連像素部分的輪廓。如果在深度圖中有兩個(gè)或更多個(gè)人形彼此相鄰(例 如,通過握手或彼此接觸而相連),則一般需要處理器首先將各人形彼此 分開。在一些情形中,可以使用形態(tài)操作或其它圖像分析技術(shù)來進(jìn)行這種 分離。在下面的描述中,假設(shè)深度圖只包含一個(gè)人形對(duì)象,或者可選擇地, 如果需要,假設(shè)相連人形的分離已經(jīng)完成,使得每個(gè)人形可以用清晰的斑 塊表示。
為了在步驟50中找出對(duì)象的身體的輪廓,處理器24可以使用現(xiàn)有技 術(shù)中已知的邊#測(cè)方法,經(jīng)過合適的修^J^在深度圖上進(jìn)行操作。這樣, 處理器不僅可以找出身體的外部輪廓,也可以找出身體的兩部分之間(例 如,手臂和軀干之間)的輪廓。在一個(gè)實(shí)施例中,處理器使用兩步閣值化 機(jī)制(thresholding mechanism)來達(dá)成此目的
1. 首先,處理器遍歷與人形相對(duì)應(yīng)的斑塊中的所有像素,并且如果任何 給定^象素具有有效深JL值,并且如果該像素與其四個(gè)相連的鄰近〗象素(右、 左、上和下)中的至少一個(gè)4象素之間的深度值之差大于第一閾值,則將其 標(biāo)記為輪廓位置。(為此,有效深度值和零值之間的差被認(rèn)為是無窮大)
2. 在完成了第一步之后,處理器再次遍歷該斑塊,并且如果在任何像素 (該像素還沒有被標(biāo)記為輪廓位置)的八個(gè)相連的鄰近像素之中有輪廓像
素,并且如果當(dāng)前像素和剩下的相連鄰近位置中的至少一個(gè)4象素之間的深 度值之差大于第二閾值(低于所述第一閾值),則將其標(biāo)記為輪廓位置。
在找出身體的外輪廓之后,處理器24在子分割步驟52中識(shí)別身體的 各部分。該步驟的目的是將身體分割成頭、軀干和四肢,其中,四肢包括 手臂和腿(假設(shè)它們包含在深度圖的區(qū)域中)。
圖5是根據(jù)本發(fā)明實(shí)施例示意性示出子分割步驟52的細(xì)節(jié)的流程圖。作為達(dá)成此目的的預(yù)備步驟,處理器24識(shí)別身體的縱軸,然后在轉(zhuǎn)動(dòng)步 驟54中旋轉(zhuǎn)深度圖,使得身體輪廓處于豎直位置。該轉(zhuǎn)動(dòng)的目的是為了 通過將身體的縱軸與Y坐標(biāo)(垂直)軸對(duì)齊來簡(jiǎn)化下述步驟中的計(jì)算。 可選擇地,下述計(jì)算可以相對(duì)于身體的縱軸來執(zhí)行,而不需要進(jìn)行該轉(zhuǎn)動(dòng), 如本領(lǐng)域技術(shù)人員所了解的。
用來在步驟54中找出身體的3D軸的一種方法如下
1. 處理器24將原始深度圖下采樣(down-sample)為節(jié)點(diǎn)柵格,其中, 在X方向和Y方向上隔n個(gè)^象素取一個(gè)節(jié)點(diǎn)。處理器基于以節(jié)點(diǎn)為中心 的nxn方塊中的深度值來計(jì)算每個(gè)節(jié)點(diǎn)的深度值。如果所述方塊中多于
半數(shù)像素具有零值,則處理器將相應(yīng)節(jié)點(diǎn)設(shè)置為零值。否則,將該節(jié)點(diǎn)設(shè) 置為所述n x n方塊中的有效深度值的平均值。
2. 當(dāng)前述步驟完成時(shí),處理器可以基于鄰近節(jié)點(diǎn)的值來進(jìn)一步"清理" 該下采樣的深度圖如果給定節(jié)點(diǎn)的大部分相鄰節(jié)點(diǎn)具有零值,則將該節(jié) 點(diǎn)也設(shè)置為零值(即使在前述步驟之后它具有有效的深度值)。
3. 處理器找出下采樣的圖中所剩節(jié)點(diǎn)的縱軸。為此,處理器可以進(jìn)行線 性最小二乘擬合來找出最擬合各節(jié)點(diǎn)的線??蛇x擇地,處理器可以擬合圍 繞各節(jié)點(diǎn)的一個(gè)橢圓并找出其主軸。
圖6是根據(jù)本發(fā)明實(shí)施例的人形對(duì)象的身體的下采樣深度圖56的示 意性表示,其中識(shí)別出了身體的縱向3D軸60。如上所述,圖56中的節(jié) 點(diǎn)58具有通過對(duì)原始深度圖進(jìn)行下采樣(如果需要,則在去掉背景物體 之后)確定的值。圖6所示的節(jié)點(diǎn)是具有非零深度值的節(jié)點(diǎn)。軸60是通 過對(duì)這些節(jié)點(diǎn)擬合一條線找出的。處理器24找出該軸和垂直(Y)軸之 間的角,并轉(zhuǎn)動(dòng)原始深度圖,^吏軸60與垂直軸對(duì)齊。
現(xiàn)在返回圖5,在旋轉(zhuǎn)深度圖之后,處理器24在軀干識(shí)別步驟62中 通過在平行和垂直于縱軸60的方向上測(cè)量身體輪廓的厚度來識(shí)別身體的 軀干。為此,處理器可以在身體輪廓(在步驟50中被識(shí)別出并在步驟54 中進(jìn)行了旋轉(zhuǎn))的周圍限定約束框,然后可以對(duì)該框中的像素值進(jìn)行二值 化將具有零深度值的像素設(shè)為0,而將具有非零深度值的像素設(shè)為1。 然后,通過沿著相應(yīng)的垂直線對(duì)二進(jìn)制像素值進(jìn)行相加,處理器對(duì)框內(nèi)的 每個(gè)X值計(jì)算縱向厚度值,并通過沿著相應(yīng)的7JC平線對(duì)二進(jìn)制像素值進(jìn) 行加和,對(duì)每個(gè)Y值計(jì)算橫向厚度值。處理器對(duì)所得到的值應(yīng)用閾值, 以便識(shí)別沿著哪些條垂直線和水平線輪廓相對(duì)厚。例的在深度圖中所找出的身體輪廓64 的示意性表示,其中顯示出了輪廓的縱向厚度和橫向厚度超過確定閾值的 區(qū)域。在圖7A中,7jC平區(qū)域66包含這樣的X值,在這些X值處,沿著 相應(yīng)的線的二進(jìn)制像素值的和超過了 X閾值。對(duì)于這些X值來說,輪廓 在縱向上相對(duì)厚。相似地,在圖7B中,垂直區(qū)域68包含這樣的Y值, 在這些Y值處,沿著相應(yīng)的線的二進(jìn)制像素值的和超過了 Y閾值。X閾 值和Y閾值可以是不同的,且可以通過對(duì)沿著各自的線所得到的二進(jìn)制 值之和的直方圖進(jìn)行分析來適當(dāng)?shù)卮_定。
圖7C 3:才艮據(jù)本發(fā)明實(shí)施例的輪、雍64的示意性表示,示出了由圖7A 和圖7B所示的厚度所確定的與身體軀干70相對(duì)應(yīng)的區(qū)域。在該實(shí)施例 中,處理器24通過求出前述圖所示的區(qū)域66和68的交集來筒單地找出 軀干。
現(xiàn)在返回圖5, 一旦找出了軀干70,處理器24—般可以在頭部和四 肢識(shí)別步驟72中基于幾何考慮來識(shí)別身體的頭部和四肢。手臂是連接到 軀干區(qū)域的左側(cè)和右側(cè)的區(qū)域;頭部是軀干區(qū)域上方的連接區(qū)域;腿部是 軀干區(qū)域下方的連接區(qū)域。
另夕卜,處理器可以將軀干區(qū)域的左上角和右上角初步識(shí)別為肩膀。如 果對(duì)象的手覆在了 一個(gè)或兩個(gè)肩膀上,則這些初步的識(shí)別可能是不正確 的。下面描述用于處理這種重疊的方法。
圖7D是根據(jù)本發(fā)明實(shí)施例的輪廓64的示意性表示,示出了步驟72 的結(jié)果。該輪廓此時(shí)被分割成了軀干70、頭部74、右臂76和左臂78、 右腿80和左腿82。該結(jié)果只是基于由原始深度圖提供的深度值而獲得的, 不借助于顏色或亮度信息。
再次返回圖5,在找出中心的步驟84中,處理器24可選擇地確定身 體每個(gè)區(qū)域的"質(zhì)心"。在本文中,區(qū)域的質(zhì)心指該區(qū)域的代表深度。為 此,例如,處理器可以生成區(qū)域內(nèi)深度值的直方圖,并將具有最高頻率的 深度值(或具有最高頻率的兩個(gè)或多個(gè)深度值的平均值)設(shè)為該區(qū)域的質(zhì) 心。
不同區(qū)域各自的質(zhì)心對(duì)于在重疊識(shí)別步驟86中區(qū)分和找出深度圖中 重疊區(qū)域之間的輪廓是特別有用的。例如,當(dāng)手臂區(qū)落在軀干的前方時(shí), 在步驟72中識(shí)別出的手臂區(qū)是不完整的,并且軀干可能扭曲。為了完整 得到手臂形狀,處理器在軀干70的區(qū)域中找出這樣的像素,這些像素的深度值與質(zhì)心相差很大,并且這些像素形成了與手臂段之一鄰接的連接部 分。處理器將該連接部分,連同連接到新識(shí)別出的手臂部分的手臂和軀干 之間的任何剩余輪廓點(diǎn),都添加到手臂。
現(xiàn)在參考圖8,圖8是根據(jù)本發(fā)明實(shí)施例的身體輪廓卯的示意性表 示,舉例說明了步驟86的操作。處理器24確定連接部分100中的像素是 手臂94的一部分,并將該部分與手臂94連接來完成手臂的界定。
一旦處理器找出了軀干的質(zhì)心,它就可以找出肩膀102,即使肩膀被
對(duì)象的手臂或手所覆蓋。為此,處理器將軀干建模為質(zhì)心深度處的矩形。 肩膀位于該矩形的右上角和左上角。
現(xiàn)在返回圖3,在識(shí)別出軀干和四肢后,處理器24產(chǎn)生對(duì)象身體的 "棍圖"模型。許多不同的方法可以用于此目的。在本實(shí)施例中,在識(shí)別 軸的步驟104,處理器由找出四肢的中間軸開始。為了找出深度圖的某部 分(諸如手臂)的中間軸,處理器將該部分的周圍置零,然后迭代M該 部分去除像素。在一個(gè)實(shí)施例中,處理器通過連續(xù)的形態(tài)侵蝕步驟去除像 素,直到所述部分兩側(cè)的輪廓點(diǎn)相遇為止。在侵蝕過程的每次迭代中,處 理器將輪廓點(diǎn)設(shè)定為零深度值,從而就在前一個(gè)輪廓內(nèi)生成新的、更窄的 輪廓。當(dāng)輪廓點(diǎn)有兩個(gè)以上的鄰點(diǎn)也是輪廓點(diǎn)時(shí),這些輪廓點(diǎn)就被認(rèn)為是 相遇了。當(dāng)兩個(gè)輪廓點(diǎn)以這種方式相遇時(shí),就用最終的中間軸點(diǎn)來替代它 們。在另一個(gè)實(shí)施例中(該實(shí)施例在計(jì)算上效率更高),所述深度部分的 輪JM象素被連續(xù)剝?nèi)?,直到所述部分兩?cè)的兩個(gè)輪廓〗象素相遇為止。
處理器通常就這樣繼續(xù)下去,直到確定了整個(gè)中間軸??蛇x擇地,在 經(jīng)過一定次數(shù)的迭代之后就停止侵蝕或剝離操作。另外,可選擇地,可以 在進(jìn)行了一定次數(shù)的迭代之后就將各點(diǎn)定義為"中間軸點(diǎn)",以避免生成 虛假的中間軸點(diǎn)。這些點(diǎn)尤其可能出現(xiàn)在深度圖中手臂的相對(duì)邊緣在開始 時(shí)就彼此接近的那些部分中。
圖9是根據(jù)本發(fā)明實(shí)施例所述的在深度圖中找出的身體輪廓106的示 意性表示,其中示出了在步驟104中識(shí)別出的手臂110的中間軸108。處 理器可以使用上述方法相似地找出軀干112和頭部114以;sji部(本圖中 未示出)的中間軸。盡管在圖中軸108^示為圖平面中的二維曲線,但 處理器24實(shí)際上將手臂110的中間軸108 (以及身體其它部分的中間軸) 建模為空間中的三維曲線。換言之,中間軸上的每個(gè)點(diǎn)都有x、 y和深度 坐標(biāo)。再參考圖3,在識(shí)別出中間軸上的點(diǎn)之后,處理器24在線段建模步 驟114中,將這些無序的點(diǎn)轉(zhuǎn)換為"解剖學(xué)上的"棍圖線段,以便將對(duì)象 的姿態(tài)和運(yùn)動(dòng)建模為棍圖。因此,每個(gè)手臂用兩個(gè)棍圖線段來表示,第一 個(gè)線段從肩膀到肘部,第二個(gè)線段從肘部到手掌。為此,處理器可以例如 首先產(chǎn)生一組長(zhǎng)直的線段,然后4吏用這些線段來生成棍圖模型。
為了產(chǎn)生所述長(zhǎng)線段,處理器24選擇中間軸上的第一個(gè)點(diǎn)(通常是 端點(diǎn)),從所述第一個(gè)點(diǎn)起在預(yù)定半徑處找出中間軸上的第二個(gè)點(diǎn),然后 將該半徑內(nèi)的所有其它點(diǎn)標(biāo)記為"完畢(doiie)"。處理器在所述第二個(gè)點(diǎn) 處重復(fù)該過程,以在第二個(gè)點(diǎn)的另一側(cè)在預(yù)定半徑處找出中間軸上的第三 個(gè)點(diǎn)。如果連接第 一和第二個(gè)點(diǎn)的線和連接第 一和第三個(gè)點(diǎn)的線具有相似 的斜率,則處理器將第二個(gè)點(diǎn)標(biāo)記為完畢,并用單一直線段來替代第一和 第三個(gè)點(diǎn)之間的整個(gè)范圍。另一方面,如果這些線的斜率的差異超出預(yù)定 的容限,則第一和第二個(gè)點(diǎn)之間的線段關(guān)閉,處理器開始在第二個(gè)點(diǎn)處找 新線。
繼續(xù)該過程,直到處理器考察了中間軸上的所有點(diǎn),并將這些點(diǎn)合并 在與步驟104中所找出的中間軸相對(duì)接近的各長(zhǎng)直線段中。同樣,處理器 在三維(x, y,深度)空間中限定這些線段。為了完成將身體重建為棍圖, 處理器24然后用與肢體實(shí)際的#^分相對(duì)應(yīng)的兩個(gè)長(zhǎng)的三維定向"解 剖"線段來替代這些線段, 一個(gè)線M肩膀到肘部,第二個(gè)線段從肘部到 手掌'
圖10是根據(jù)本發(fā)明實(shí)施例的處理器24在步驟114中從輪廓106導(dǎo)出 的棍圖模型的一部分的示意性表示。在該例子中,處理器用兩個(gè)長(zhǎng)線段替 代每個(gè)手臂110:從手掌到肘部的小臂線段116和從肘部到肩膀的大臂線 段118。
為了找出肘部,從而在給定的手臂中形成兩個(gè)長(zhǎng)的棍圖線段,處理器 24使用兩個(gè)點(diǎn)(肩膀和手掌)、兩個(gè)長(zhǎng)度(大臂和小臂)以及上述長(zhǎng)線段 之一。肩膀和手掌可能在前面已經(jīng)找出了,或者在該步驟過程中被識(shí)別出 了。前面描述了肩膀的定位方法??梢詫⒅虚g軸上與肩膀相對(duì)的一端識(shí)別 為手掌,或者將沿中間軸離身體中心最遠(yuǎn)并且可能具有最低深度值的中間 軸上的點(diǎn)識(shí)別為手掌??梢越o定或可以通過學(xué)習(xí)來獲得小臂和大臂的長(zhǎng) 度。例如,處理器可以基于與手臂相對(duì)應(yīng)的長(zhǎng)線段的長(zhǎng)度和取向來進(jìn)行這 些長(zhǎng)度的初始估計(jì)。
利用上面的信息,處理器24定義兩個(gè)球面,這兩個(gè)球面的中心分別位于肩膀點(diǎn)和手掌點(diǎn)處,其半徑分別等于大臂和小臂的長(zhǎng)度。這兩個(gè)球面
的交集形成3D空間中的圓C。然后,處理器24從所討論的手臂區(qū)域中 的所有長(zhǎng)直線段中選#^始線段。通常,起始線M與手掌或與肩膀鄰近 并且穿過手掌或肩膀的最長(zhǎng)線段。
處理器24通it^所選端點(diǎn)(手掌或肩膀)朝著交集圓C延伸起始線 段來確定肘部的位置。距離該延伸的線段與穿過圓C的平面之間的交點(diǎn) 最近的圓C上的點(diǎn)被識(shí)別為肘部。處理器從肘部延伸第二條線到中間軸 的另 一個(gè)端點(diǎn)。如果中間軸上有足夠多的點(diǎn)落入以這種方式所找出的線段 116和118的預(yù)定范圍內(nèi),則處理器斷定對(duì)手臂做出了準(zhǔn)確的建模。否則, 處理器斷定所建模的部分不是對(duì)象的手臂。
可選擇地,處理器可以使用其它方法從所述部分的輪廓中導(dǎo)出棍圖線 段。為此,處理器通常嘗試識(shí)別朝著肩膀或手掌方向延伸的長(zhǎng)線段。例如, 可以通過將上述步驟應(yīng)用到整個(gè)連接部分,而不只是應(yīng)用到中間軸點(diǎn),來 導(dǎo)出與手臂相對(duì)應(yīng)的長(zhǎng)線段。處理器使用具有更大半徑的圓并保留長(zhǎng)的線 段。處理器使用較長(zhǎng)的線段來替代斜率變化很快的短線段。只有當(dāng)斜率發(fā) 生了很大的變化時(shí),較長(zhǎng)的線段才終止。處理器有效地剪除所述部分的點(diǎn) 以構(gòu)建長(zhǎng)線段。同樣,使用肩膀點(diǎn)和手掌點(diǎn)、大臂長(zhǎng)度和小臂長(zhǎng)度以及當(dāng) 前形成的這一個(gè)長(zhǎng)線段來形成棍圖(線段116和118),如上所述。
生成一個(gè)長(zhǎng)線段(將與肩膀點(diǎn)和手掌點(diǎn)以及所述兩個(gè)長(zhǎng)度一起使用) 的另一種方法從手臂斑塊(blob)中的初始點(diǎn)開始著手,該點(diǎn)或在肩膀處 (或在手臂部分中距離肩膀點(diǎn)最近的點(diǎn)處),或在手掌點(diǎn)處。然后繞著所 選擇的點(diǎn)形成兩個(gè)具有不同半徑的圓。這些圓在中心點(diǎn)附近穿過所述部分 兩次,因此,以圓的中心點(diǎn)為公共點(diǎn),在兩個(gè)交點(diǎn)之間形成了角。有兩個(gè) 角,每個(gè)圓一個(gè)。將各角平分,對(duì)于每個(gè)圓,保留平分線和圓的交點(diǎn)。將 這兩個(gè)點(diǎn)連接起來,該線就是所述部分的表示。該線段的長(zhǎng)度為兩個(gè)半徑 之間的差,并且該線段總是指向肩膀或手掌的方向。結(jié)合了肩膀點(diǎn)和手掌 點(diǎn)以及大臂和小臂長(zhǎng)度的該線段可以用來形成棍圖線段116和118,如上 所述。
盡管上面為了清SA見參考手臂110描述了步驟104和114,但也可 以執(zhí)行類似的步驟來找出模擬腿部、軀干和頭的棍圖線段。然后,就可以 將具有預(yù)定運(yùn)動(dòng)學(xué)特性的總的棍圖擬合到該模型,以完成對(duì)象的姿態(tài)、姿 勢(shì)和其它運(yùn)動(dòng)的分析??梢允褂米顑?yōu)化技術(shù)來進(jìn)行該擬合,以使運(yùn)動(dòng)學(xué)棍 圖模型的可能位置與從深度圖導(dǎo)出的模型的線段之間的距離最小。 一旦處理器在初始幀中找出了好的擬合,它就可以使用運(yùn)動(dòng)學(xué)模型的可能運(yùn)動(dòng)來 在每個(gè)相繼的幀中對(duì)找出線段的過程進(jìn)行初始化。然后,使用在每個(gè)幀中 所找出的實(shí)際的線段位置來更新運(yùn)動(dòng)學(xué)模型的位置。
處理器可以使用棍圖的運(yùn)動(dòng)作為計(jì)算機(jī)應(yīng)用程序的控制輸入。例如, 可以使用棍圖的姿勢(shì)來與出現(xiàn)在計(jì)算機(jī)屏幕上或虛擬現(xiàn)實(shí)顯示中的用戶 控制進(jìn)行交互。作為另一個(gè)例子,在游戲或其它互動(dòng)應(yīng)用中,棍圖的運(yùn)動(dòng)
可以反映在角色的3D化身(avatar )或虛擬3D身體的運(yùn)動(dòng)中。
總之,如上所述,處理器24使用深度圖來形成具有物理和運(yùn)動(dòng)行為 并具有幾何約束的棍圖。 一旦開始了棍圖,棍圖就可以在隨后的幀中通過 識(shí)別身體部分的深度表面來幫助隨后的人體分割。
應(yīng)該了解,上述實(shí)施例是通過舉例的方式來說明的,但本發(fā)明不限于 上面所具體顯示和描述的內(nèi)容。相反,本發(fā)明的范圍包括上述各種特性的 組合和子組合及其變化和變型,本領(lǐng)域的技術(shù)人員通過閱讀前面的描述可 以實(shí)現(xiàn),并且這些都是現(xiàn)有技術(shù)中沒有公開的。
2權(quán)利要求
1.一種用于處理數(shù)據(jù)的計(jì)算機(jī)實(shí)現(xiàn)的方法,包括接收包含人形對(duì)象的身體的場(chǎng)景的深度圖,所述深度圖包括像素矩陣,每個(gè)像素與其在所述場(chǎng)景中的位置相對(duì)應(yīng)并具有其像素值,所述像素值表示從參考位置到所述像素的位置的距離;分割所述深度圖以便找出所述身體的輪廓;處理所述輪廓以便識(shí)別所述對(duì)象的軀干和一個(gè)或多個(gè)肢體;以及通過分析所述深度圖中被識(shí)別出的肢體中的至少一個(gè)的布置,產(chǎn)生輸入來控制計(jì)算機(jī)上運(yùn)行的應(yīng)用程序。
2. 根據(jù)權(quán)利要求1 ,,述的方法,其中,接收所述深度圖包括在不給 所述身體附任何專用標(biāo)記的情況下獲取所述深度圖。
3. 根據(jù)權(quán)利要求1所述的方法,其中,接收所述深度圖包括使用單 一固定成像設(shè)備來獲取所述深度圖。
4. 根據(jù)權(quán)利要求3所述的方法,其中,獲取所述深度圖包括將無 關(guān)聯(lián)的斑點(diǎn)圖案投射到所述對(duì)象上,使用所述成像設(shè)備捕獲所投射的圖案 的圖像,以及處理所述圖像以便產(chǎn)生所述深度圖。
5. 根據(jù)權(quán)利要求4所述的方法,其中,投射所述無關(guān)聯(lián)的斑點(diǎn)圖案 包括4吏用相干光源形成初級(jí)斑點(diǎn)圖案。
6. 根據(jù)權(quán)利要求1所述的方法,其中,接收所述深度圖包括以至少 25幀/秒的幀速率獲取深度圖序列,并且產(chǎn)生所述控制輸入包括以至少等 于所述幀速率的更新速率響應(yīng)所述深度圖序列更新所述控制輸入。
7. 根據(jù)權(quán)利要求1所述的方法,其中,分割所述深度圖包括識(shí)別所 述場(chǎng)景中沒有連接到所述身體的背景物體,并在找出所述輪廓之前從所述 場(chǎng)景中去除所述背景物體。
8. 根據(jù)權(quán)利要求l-7中任一個(gè)所述的方法,其中,處理所述4^廓包 括估計(jì)所述輪廓內(nèi)的區(qū)域的厚度,響應(yīng)于所述厚度將所述區(qū)域的第一部 分識(shí)別為軀干,并將連接到所述軀干的所述區(qū)域的第二部分識(shí)別為所i^Jt 體中的至少一個(gè)。
9. 根據(jù)權(quán)利要求8所述的方法,其中,估計(jì)所述厚度包括 在所述深度圖中識(shí)別所述身體的軸;沿著垂直于所述軸的多個(gè)第一線計(jì)算所述輪廓的橫向厚度;沿著平行于所述軸的多個(gè)第二線計(jì)算所述輪廓的縱向厚度;以及 將所述輪廓內(nèi)由所述第一和第二線限定的所述區(qū)域的部分指定為所 述軀干,其中沿著所述第一和第二線,所述橫向厚度和縱向厚度分別不小 于特定的橫向閾值和縱向閾值。
10. 根據(jù)權(quán)利要求8所述的方法,其中,識(shí)別所述區(qū)域的第二部分包 括基于所述深度圖確定所述軀干距所述參考位置的代^J巨離,并將重疊 在所述軀干上的、像素的距離小于所述代^J巨離的區(qū)域識(shí)別為所述對(duì)象的 手臂。
11. 根據(jù)權(quán)利要求1-7中任一個(gè)所述的方法,其中,分析所述布置包 括找出所述一個(gè)或多個(gè)肢體的一個(gè)或多個(gè)各自的中間軸。
12. 根據(jù)權(quán)利要求11所述的方法,其中,找出所述一個(gè)或多個(gè)各自 的中間軸包括迭代地從所i^L體的至少一個(gè)中去除像素。
13. 根據(jù)權(quán)利要求11所述的方法,其中,所述中間軸是彎曲的,且 分析所述布置包括通過找出與所述中間軸擬合的直線段來導(dǎo)出所述一個(gè) 或多個(gè)肢體的棍圖表示。
14. 根據(jù)權(quán)利要求1-7中任一個(gè)所述的方法,其中,所述一個(gè)或多個(gè) 肢體包括所述對(duì)象的手臂,其中,分析所述布置包括通過在所述軀干上 識(shí)別肩膀點(diǎn),在所述手臂上識(shí)別手掌點(diǎn),并識(shí)別分別穿過所述肩膀點(diǎn)和手 掌點(diǎn)并在所述手臂的肘部相遇的兩個(gè)直線段來導(dǎo)出所述手臂的棍圖表示。
15. 用于處理數(shù)據(jù)的裝置,包括成像設(shè)備,用來捕獲包含人形對(duì)象的身體的場(chǎng)景的圖像;以及處理器,用來處理所述圖〗象以^更生成深度圖,所述深度圖包括〗象素矩 P車,每個(gè)像素與其在所述場(chǎng)景中的位置相對(duì)應(yīng)并具有其像素值,所述像素 值表示從參考位置到所述像素的位置的距離;用來分割所述深度圖以便找 出所述身體的輪廓;處理所述輪廓以便識(shí)別所述對(duì)象的軀干和一個(gè)或多個(gè) 肢體;以及通過分析所述深度圖中被識(shí)別出的肢體中的至少一個(gè)的布置, 產(chǎn)生輸入來控制計(jì)算機(jī)上運(yùn)行的應(yīng)用程序。
16. 根據(jù)權(quán)利要求15所述的裝置,其中,所述處理器用來在沒有附 到身體的任何專用標(biāo)記的情況下生成所述深度圖。
17. 根 權(quán)利要求15所述的裝置,其中,所述處理器用來使用單一固定成傳j殳備來生成所述深度圖。
18. 根據(jù)權(quán)利要求17所述的裝置,其中,所述成像設(shè)備用來將無關(guān) 聯(lián)的斑點(diǎn)圖案投射到所^f象上,并捕獲所投射的圖案的圖像。
19. 根據(jù)權(quán)利要求18所述的裝置,其中,所述無關(guān)聯(lián)的斑點(diǎn)圖案包 括由相干光源形成的初級(jí)斑點(diǎn)圖案。
20. 根據(jù)權(quán)利要求15所述的裝置,其中,所述處理器用來響應(yīng)于由 所述成像設(shè)備捕獲的圖像以至少25幀/秒的幀速率產(chǎn)生深度圖序列,并以 至少等于所述幀速率的更新速率響應(yīng)所述深度圖序列更新所述控制輸入。
21. 根據(jù)權(quán)利要求15所述的裝置,其中,所述處理器用來識(shí)別所述 場(chǎng)景中沒有連接到所述身體的背景物體,并在找出所述輪廓之前從所述場(chǎng) 景中除去所述背景物體。
22. 根據(jù)權(quán)利要求15-21中的任一個(gè)所述的裝置,其中,所述處理器 用來估計(jì)所述輪廓內(nèi)的區(qū)域的厚度,響應(yīng)所^度將所述區(qū)域的第 一部分 識(shí)別為軀干,并將連接到所述軀干的所述區(qū)域的第二部分識(shí)別為所i^l體 中的至少一個(gè)。
23. 根據(jù)權(quán)利要求22所述的裝置,其中,所述處理器通過下面的步 驟來估計(jì)所述厚度在所述深度圖中識(shí)別所述身體的軸;沿著垂直于所述 軸的多個(gè)第一線計(jì)算所述輪廓的橫向厚度;沿著平行于所述軸的多個(gè)第二 線計(jì)算所述輪廓的縱向厚度;以及將所述輪廓內(nèi)由所述第一和第二線限定 的所述區(qū)域的部分指定為所述軀干,其中沿著所述第一和第二線,所述橫 向厚度和縱向厚度分別不小于特定的橫向閾值和縱向閾值。
24. 根據(jù)權(quán)利要求22所述的裝置,其中,所述處理器用來基于所述 深度圖確定所述軀干距所述參考位置的代表距離,并將與所述軀千重疊 的、像素的距離小于所述代彭巨離的區(qū)域識(shí)別為所述對(duì)象的手臂。
25. 根據(jù)權(quán)利要求15-21中任一個(gè)所述的裝置,其中,所述處理器用 來分析所述輪廓以便找出所述一個(gè)或多個(gè)肢體的一個(gè)或多個(gè)各自的中間 軸。
26. 根據(jù)權(quán)利要求25所述的裝置,其中,所述處理器用來通過迭代 地侵蝕圍繞著所述肢體中的至少 一個(gè)肢體的輪廓來找出所述一個(gè)或多個(gè) 各自的中間軸。
27. 根據(jù)權(quán)利要求25所述的裝置,其中,所述中間軸是彎曲的,且所述處理器用來通過找出與所述中間軸擬合的直線段來導(dǎo)出所述一個(gè)或 多個(gè)肢體的棍圖表示。
28. 根據(jù)權(quán)利要求15-21中任一個(gè)所述的裝置,其中,所述一個(gè)或多 個(gè)肢體包括所述對(duì)象的手臂,并且其中,所述處理器用來通過下面的步驟 導(dǎo)出所述手臂的棍圖表示在所述軀干上識(shí)別肩膀點(diǎn),在所述手臂上識(shí)別 手掌點(diǎn),并識(shí)別分別穿過所述肩膀點(diǎn)和手掌點(diǎn)并在所述手臂的肘部相遇的 兩個(gè)直線段。
29. —種計(jì)算M件產(chǎn)品,包括存儲(chǔ)有程序指令的計(jì)算機(jī)可讀介質(zhì), 在由計(jì)算機(jī)讀取時(shí),所述指令使計(jì)算機(jī)獲取包含人形對(duì)象的身體的場(chǎng)景的 深度圖,所述深度圖包括像素矩陣,每個(gè)像素與其在所述場(chǎng)景中的位置相 對(duì)應(yīng)并具有其像素值,所述像素值表示從參考位置到所述像素值位置的距 離;且所述指令使計(jì)算機(jī)分割所述深度圖以便找出所述身體的輪廓;處理 所述輪廓以^更識(shí)別所述對(duì)象的軀干和一個(gè)或多個(gè)肢體;并且通過分析所述 深度圖中被識(shí)別出的肢體中的至少一個(gè)的布置,產(chǎn)生輸入來控制計(jì)算機(jī)上 運(yùn)行的應(yīng)用程序。
30. 根據(jù)權(quán)利要求29所述的產(chǎn)品,其中,所述指令使計(jì)算;Wt沒有 附到身體的任何專用標(biāo)記的情況下生成所述深度圖。
31. 根據(jù)權(quán)利要求29所述的產(chǎn)品,其中,所述指4^f吏計(jì)算機(jī)使用單 一固定成傳4史備來生成所述深度圖。
32. 根據(jù)權(quán)利要求31所述的產(chǎn)品,其中,將無關(guān)聯(lián)的斑點(diǎn)圖案損:射 到所述對(duì)象上,且所述指令使計(jì)算機(jī)通過處理投射圖案的圖像來生成所述 深度圖。
33. 根據(jù)權(quán)利要求32所述的產(chǎn)品,其中,所述無關(guān)聯(lián)的斑點(diǎn)圖案包 括由相干光源形成的初級(jí)斑點(diǎn)圖案。
34. 根據(jù)權(quán)利要求29所述的產(chǎn)品,其中,所述指4^吏計(jì)算機(jī)以至少 25幀/秒的幀速率產(chǎn)生深度圖序列,并以至少等于所述幀速率的更新速率 響應(yīng)于所述深度圖序列更新所述控制輸入。
35. 根據(jù)權(quán)利要求29所述的產(chǎn)品,其中,所述指令使計(jì)算機(jī)識(shí)別所 述場(chǎng)景中沒有連接到所述身體的背景物體,并在找出所述輪廓之前從所述 場(chǎng)景中去除所述背景物體。
36. 根據(jù)權(quán)利要求29-35中任一個(gè)所述的產(chǎn)品,其中,所述指令使計(jì) 算機(jī)估計(jì)所述輪廓內(nèi)的區(qū)域的厚度,根據(jù)所述厚度將所述區(qū)域的第一部分識(shí)別為軀千,并將連接到所述軀干的所述區(qū)域的第二部分識(shí)別為所^L體 中的至少一個(gè)。
37. 根據(jù)權(quán)利要求36所述的產(chǎn)品,其中,所述指4^f吏計(jì)算機(jī)通過下 面的步驟來估計(jì)所述厚度在所述深度圖中識(shí)別所述身體的軸;沿著垂直 于所述軸的多個(gè)第一線計(jì)算所述輪廓的橫向厚度;沿著平行于所述軸的多 個(gè)第二線計(jì)算所述輪廓的縱向厚度;以及將所述輪廓內(nèi)由所述第一和第二 線限定的所述區(qū)域的部分指定為所述軀干,其中沿著所述第 一和第二線, 所述橫向厚度和縱向厚度分別不小于特定的橫向閣值和縱向閾值。
38. 根據(jù)權(quán)利要求37所述的產(chǎn)品,其中,所述指4^吏計(jì)算機(jī)基于所 述深度圖確定所述軀干距所述參考位置的代^巨離,并將與所述軀干重疊 的、像素的距離小于所述代彭巨離的區(qū)域識(shí)別為所述對(duì)象的手臂。
39. 根據(jù)權(quán)利要求29-35中任一個(gè)所述的產(chǎn)品,其中,所述指^H吏計(jì) 算機(jī)分析所述輪廓以便找出所述一個(gè)或多個(gè)肢體的一個(gè)或多個(gè)各自的中 間軸。
40. 根據(jù)權(quán)利要求39所述的產(chǎn)品,其中,所述指4^吏計(jì)算fet過迭 代地侵蝕圍繞著所述肢體中的至少 一個(gè)肢體的輪廓來找出所述一個(gè)或多 個(gè)各自的中間軸。
41. 根據(jù)權(quán)利要求39所述的產(chǎn)品,其中,所述中間軸是彎曲的,且 所述指令使計(jì)算機(jī)通過找出與所述中間軸擬合的直線段來導(dǎo)出所述一個(gè) 或多個(gè)肢體的棍圖表示。
42. 根據(jù)權(quán)利要求29-35中任一個(gè)所述的產(chǎn)品,其中,所述一個(gè)或多 個(gè)肢體包括所述對(duì)象的手臂,且所述指4^吏計(jì)算機(jī)通過下面的步驟導(dǎo)出所 述手臂的棍圖表示在所述軀干上識(shí)別肩膀點(diǎn),在所述手臂上識(shí)別手掌點(diǎn), 并識(shí)別分別穿過所述肩膀點(diǎn)和手掌點(diǎn)并在所述手臂的肘部相遇的兩條直 線段。
全文摘要
一種計(jì)算機(jī)實(shí)現(xiàn)的方法包括接收包含人形對(duì)象的身體(28)的場(chǎng)景的深度圖(30)。所述深度圖包括像素(32)矩陣,每個(gè)像素與其在所述場(chǎng)景中的位置相對(duì)應(yīng)并具有其像素值,該像素值表示從參考位置到其位置的距離。分割所述深度圖以便找出身體的輪廓(64)。處理該輪廓以便識(shí)別所述對(duì)象的軀干(70)和一個(gè)或多個(gè)肢體(76、78、80、82)。通過分析所述深度圖中的至少一個(gè)被識(shí)別出的肢體的布置,產(chǎn)生輸入來控制計(jì)算機(jī)上運(yùn)行的應(yīng)用程序。
文檔編號(hào)G06K9/00GK101657825SQ200780013930
公開日2010年2月24日 申請(qǐng)日期2007年5月10日 優(yōu)先權(quán)日2006年5月11日
發(fā)明者亞歷山大·什蓬特, 塔米爾·貝利納, 奧倫·莫爾, 德米特里·賴斯, 日瓦·亨德爾, 杰弗里·達(dá)諾維茨, 米歇爾·施皮格爾馬赫 申請(qǐng)人:普萊姆傳感有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1