新四季網

使用深度圖像的活動對象分割的製作方法

2023-12-08 19:29:26 1

專利名稱:使用深度圖像的活動對象分割的製作方法
技術領域:
本發明涉及對象分割,尤其涉及使用深度圖像的活動對象分割。
背景技術:
真實世界環境的三維計算機模型在各種各樣的應用中是有用的。例如,這樣的模型可以用在諸如沉浸式遊戲、增強現實、建築/規劃、機器人技術、以及工程原型製作等應用中。深度相機(也稱為z相機)可以生成真實世界環境的實時深度圖。這些深度圖中的每一像素與由相機從環境中的3D點捕捉到的離散的距離測量相對應。這意味著這些相機以實時的速率來提供包括未經排序的一組點(稱為點雲)的深度圖。除了創建真實世界環境的深度圖表示之外,能夠執行對環境中的各單獨對象進行區分的分割操作是有用的。例如,置於桌子上的咖啡杯是與獨立於該桌子的對象,但深度圖不能單獨地區分這一點,因為它不能將置於桌子上的對象以及作為該桌子本身的一部分的 某些事物區分開。存在著各種分割算法,如基於機器學習分類器或計算機視覺技術的分割算法。這些算法能夠區分圖像中的某些對象,並且相應地對相關聯的像素進行標記。然而,這些算法在計算上是複雜的並且因此需要大量計算資源來尤其是用於對實時深度圖執行分割。以下描述的各實施例不限於解決已知分割技術的缺點中的任一個或全部的實現。

發明內容
下面呈現了本發明的簡要概述,以便向讀者提供基本理解。本發明內容不是本發明的詳盡概述,並且不標識本發明的關鍵/重要元素,也不描述本發明的範圍。其唯一的目的是以簡化形式呈現此處所公開的一些概念,作為稍後呈現的更詳細的描述的序言。描述了使用深度圖像的活動對象分割。在一示例中,活動對象被從接收自移動深度相機的場景深度圖像的背景中分割出來。檢索該場景的先前深度圖像,並使用迭代最接近點算法來將其與當前深度圖像進行比較。迭代最接近點算法包括確定當前深度圖像與先前深度圖像之間相對應的一組點。在確定該組點期間,檢測在這兩個深度圖像之間不相對應的一個或多個局外點,並且這些局外點處的圖像元素被標記為屬於活動對象。在各示例中,迭代最接近點算法是作為用於跟蹤移動深度相機的算法的一部分來執行的,因此分割不增加大量附加計算複雜度。通過結合附圖參考以下詳細描述,可更易於領會並更好地理解許多附帶特徵。


根據附圖閱讀以下具體實施方式
,將更好地理解本發明,在附圖中圖I示出房間中的持有移動深度相機的人的示意圖,該移動深度相機被用於生成該房間的3D模型或圖;圖2示出由持有移動深度相機的人來探測的建築物某層的平面視圖3示出連接到實時相機跟蹤系統、密集3D模型形成系統、以及遊戲系統的移動深度相機的示意圖;圖4示出用於從深度圖像中分割出活動對象的過程的流程圖;圖5示出迭代最接近點算法的對應點的示例確定;圖6示出在迭代最接近點算法的執行期間局外點的示例確定;圖7示出可在其中實現對象分割技術的各實施例的示例性的基於計算的設備。在各個附圖中使用相同的附圖標記來指代相同的部件。
具體實施例方式下面結合附圖提供的具體實施方式
旨在作為本發明示例的描述,並不旨在表示可以構建或使用本發明示例的唯一形式。本描述闡述了本發明示例的功能,以及用於構建和操作本發明示例的步驟的序列。然而,可以通過不同的示例來實現相同或等效功能和序列。雖然在本文中將本發明的示例描述並示出為在計算機遊戲系統中實現,但所描述的系統只是作為示例而非限制來提供的。本領域的技術人員將理解,本示例適於在使用3D模型的各種不同類型的計算系統中應用。圖I是站在房間中並持有移動深度相機102的人100的示意圖。該房間包含各種對象106,如椅子、門、窗、植物、燈、另一個人104、以及一隻貓108。對象106中的許多是靜態的,但這些對象中的一些可以移動,如人104和貓108。當人在房間中四處移動時,移動深度相機捕捉該房間和各對象的深度圖像。實時相機跟蹤系統112監視相機在房間中的位置和定向。實時相機跟蹤系統112可以與移動深度相機102集成在一起,或可以處於另一位置,只要它能夠(直接或間接)接收來自移動深度相機102的通信。例如,實時相機跟蹤系統112可以在房間中的個人計算機、專用計算機遊戲裝置、或其他計算設備處提供,並與移動深度相機102進行無線通信。在其他實施例中,實時相機跟蹤系統112可以處於建築物中的別處或處於使用任何合適類型的通信網絡與移動深度相機102進行通信的另一遠程位置。活動對象分割系統114接收移動深度相機102捕捉到的深度圖像,並執行分割操作來標識深度圖像中的活動的或被操縱的並且獨立於相對不變的背景的對象。例如,人104或貓108可以移動,並且因此被分割為前景活動對象,並與諸如門和窗等背景對象相區分。另外,可以操縱靜態對象。例如,人100可以移動椅子,這觸發分割系統檢測該移動並將椅子從深度圖像中分割出來作為前景對象。這可例如允許對象被分割並包括在遊戲系統的遊戲中。實時相機跟蹤系統112向活動對象分割系統114提供輸入。來自實時相機跟蹤系統112的輸入允許實時地執行對象分割,而不需要過多的計算資源,如在下文更詳細地描述的。任選地,移動深度相機102與密集3D環境建模系統110進行通信(在該情況下,環境是該房間)。在該示例中,「密集」指的是模型的高精度和解析度。例如,當人在房間中四處移動時,移動深度相機102捕捉到的圖像被用來形成和構建環境的密集3D模型。實時相機跟蹤系統112向密集3D建模系統提供輸入,以允許各單獨的深度圖像被 構建到總體3D模型中。活動對象分割系統114也可向密集3D模型提供輸入,使得3D模型中的對象被分割並被加標記。實時相機跟蹤系統112還可跟蹤相機相對於環境的3D模型的位置。相機跟蹤和3D建模的組合被稱為同時定位和繪圖(SLAM)。實時相機跟蹤系統112、活動對象分割系統114、以及密集3D建模系統110的輸出可由遊戲系統或其他應用來使用,但這不是必須的。例如,如上所述,經建模和分割的真實世界對象可被包括在遊戲環境中。作為另一示例,圖2示出建築物某層200的平面視圖。持有移動深度相機204的人202正如虛線箭頭208所示在該層四處移動。該人沿走廊206走過各個房間和家具210。實時相機跟蹤系統112能夠在移動深度相機204移動時跟蹤它的位置,並且3D建模系統生成該層的3D模型或圖。活動對象分割系統114檢測前景對象並將在深度圖中對它們進行標記,從而使得這些對象可按需來分開處理。人202不必須攜帶移動深度相機204。在其他示例中,移動深度相機204被安裝在機器人或運載工具上。這也適用於圖I的示例。圖3是移動環境捕捉設備300的示意圖,該設備300與實時跟蹤器316、深度圖像分割系統334 —起使用以及可任選地與密集模型生成系統324和遊戲系統332 —起使用。 移動環境捕捉設備300包括被安排成捕捉場景的深度圖像序列的深度相機302。每一深度圖像314(8卩,深度圖幀)包括二維圖像,該二維圖像中的每一圖像元素(即,像素)包括諸如從相機到所捕捉的場景中的造成了該圖像元素的對象的長度或距離等深度值。這一深度值可以是以指定測量單位(如米或釐米)來提供的絕對值,或可以是相對深度值。在每一捕捉到的深度圖像314中,存在大約300000個或更多個圖像元素,每一圖像元素具有深度值。深度相機302的幀速率足夠高,使得深度圖像能夠被用於機器人技術、計算機遊戲、或其他應用。例如,幀速率範圍可以是每秒20或更多幀。深度信息可以使用任何合適的技術來獲得,包括但不限於飛行時間、結構化光、以及立體圖像。移動環境捕捉設備300還可包括被安排成以可由深度相機302查明深度信息的方式來照亮該場景的發光器304。例如,在深度相機302是紅外(IR)飛行時間相機的情況下,發光器304將IR光發射到該場景上,並且深度相機302被安排成檢測從該場景中的一個或多個對象的表面反向散射的光。在一些不例中,可以從發光器304發出脈衝紅外光,使得出射光脈衝與對應的入射光脈衝之間的時間可由深度相機來檢測和測量,並被用來確定從環境捕捉設備300到場景中的對象上的位置的物理距離。另外,在一些示例中,可將來自發光器304的出射光波的相位與入射光波的相位在深度相機302處進行比較來確定相移。隨後經由包括例如快門式光脈衝成像的各種技術通過分析發射光束隨時間的強度來將相移用於確定從移動環境捕捉設備300到各對象上的位置的物理距離。在另一示例中,移動環境捕捉設備300可使用結構化光來捕捉深度信息。在這種技術中,可使用發光器304將圖案化光(例如,顯示為諸如斑點、網格、或條形圖案等已知圖案的光,它也可隨時間變化)投影到場景上。在到達場景中各對象的表面之後,該圖案變形。深度相機302捕捉圖案的這種變形並對其進行分析來確定從深度相機302到場景中的對象的絕對或相對距離。在另一示例中,深度相機302包括一對立體相機,以便獲得並解析視覺立體數據來生成相對深度信息。在這種情況下,發光器304可被用來照亮場景或可被省略。在一些示例中,除深度相機302之外,移動環境捕捉設備300包括稱為紅綠藍(RGB)相機306的彩色視頻相機。RGB相機306被安排成捕捉場景的可見光頻率處的圖像序列。移動環境捕捉設備300可包括定向傳感器308,諸如慣性測量單元(MU)、加速計、陀螺儀、指南針、或其他定向或移動傳感器308。但是,並非必須使用定向或移動傳感器。移動環境捕捉設備300可包括諸如GPS等位置跟蹤設備,但這不是必須的。可任選地,移動環境捕捉設備還包括一個或多個處理器、存儲器、以及通信基礎結構,如下文更詳細地描述的。移動環境捕 捉設備可以在外殼中提供,該外殼的形狀和大小被制定成由用戶手持或由用戶佩戴。在其他示例中,移動環境捕捉設備的大小和形狀被制定成被包括或安裝在運載工具、玩具、或其他可移動裝置上。移動環境捕捉設備300連接到實時跟蹤器316。這一連接可以是物理有線連接或可以使用無線通信。在一些示例中,移動環境捕捉設備300通過諸如網際網路等一個或多個通信網絡間接連接到實時跟蹤器316。實時跟蹤器316可以使用控制一個或多個圖形處理單元(GPU)的通用微處理器來用計算機實現。它包括幀對齊引擎318並且可任選地包括環閉合引擎320和重新定位引擎322實時跟蹤器316從深度相機302獲得深度圖像幀,並還可任選地從移動環境捕捉設備300獲得輸入,並可任選地獲得地圖數據334。實時跟蹤器316可用於使深度圖像幀在空間對齊,以產生深度相機302的六自由度(6D0F)姿勢估計的實時系列328。它還產生各對深度圖像幀之間的變換的變換參數。在一些示例中,實時跟蹤器操作來自深度相機的各對深度圖像幀314。在其他示例中,實時跟蹤器216獲取單個深度圖像314並將它與該環境的密集3D模型326對齊而非與另一深度圖像對齊。實時跟蹤器的幀對齊引擎318被安排成對齊各對深度圖像幀,或深度圖像幀和來自密集3D模型的深度圖像幀的估計。它使用可以用一個或多個圖形處理單元來實現以使幀對齊引擎實時操作的迭代過程。環閉合引擎230被安排成檢測移動環境捕捉設備何時環形移動,使得當前深度圖像幀中描繪的場景至少部分與先前深度幀的場景相重疊。例如,這可在用戶在圖2中的建築物的整層四處走動並再次到達起始點時發生。這也可以在用戶在房間四處移動至某家具背後並再次出來到原始起始位置或接近該原始起始位置時發生。重新定位引擎322被安排成處理以下情況實時跟蹤器失去移動環境捕捉設備300的當前位置並且重新定位或再次找出當前位置。實時跟蹤器316的幀對齊引擎318向深度圖像分割系統334提供輸出。深度圖像分割系統334使用實時跟蹤器316的算法的至少一部分來檢測對象在深度圖像內何時移動,並在深度圖像中將這些對象分割成前景對象。深度圖像分割系統334的輸出是深度圖像的一組加標記的圖像元素336,從而指示哪些圖像元素對應於經分割的前景對象。用於使用實時相機跟蹤的結果來執行分割的過程將在下文參考圖4到6更詳細地描述。注意,如下文更詳細地描述的,在其他示例中,通過實現跟蹤算法的一部分,該分割可在沒有來自相機跟蹤系統的輸入的情況下執行。實時跟蹤器316還可將相機姿勢作為輸出提供給可任選密集3D模型生成系統324,模型生成系統324使用該信息和深度圖像幀來形成並存儲移動環境捕捉設備300在其中移動的場景或環境的密集3D模型326。例如,在圖I的情況下,3D模型將是房間中的各表面和各對象的3D模型。在圖2的情況下,3D模型將是建築物的該層的3D模型。密集3D模型可以被存儲在圖形(GPU)存儲器中。移動環境捕捉設備300可結合遊戲系統332來使用,遊戲系統332連接到顯示設備330。例如,遊戲可以是FPS (第一人稱射擊)遊戲、高爾夫遊戲、拳擊遊戲、賽車遊戲、或其他類型的計算機遊戲。經分割的深度圖像(或可任選的密集3D模型和分割信息)可被提供給遊戲系統332,並且該模型的各方面被合併到遊戲中。例如,3D模型可被用來確定房間中各對象的形狀和位置,這可與基於相機的遊戲一起使用來改進背景移除或合併到遊戲本身中(例如,作為玩家可與之交互的遊戲中對象)。來自遊戲系統332的數據(如與遊戲相關的遊戲狀態或元數據)也可被提供給實時跟蹤器316。 如上所述,在一個示例中,實時跟蹤器316和/或密集3D模型生成系統324所執行的處理可以在移動環境捕捉設備300的遠程位置處執行。例如,移動環境捕捉設備300可被連接到(或包括)具有相對低處理能力並且通過通信網絡將深度圖像流傳送到伺服器的計算設備。伺服器具有相對高的處理能力,並且執行實時跟蹤器316和/或密集3D模型生成系統324的在計算上複雜的任務。伺服器可以按幀返回密集重構的已渲染圖像以向用戶提供交互體驗,並且在模型完成時還返回最終密集3D重構以供後續本地使用(例如,用於遊戲中)。這樣的安排避免了用戶需要擁有高能力本地計算設備。現在參考圖4,它示出用於從深度圖像中分割出活動對象的過程的流程圖;圖4中示出的分割操作重新利用在上述實時相機跟蹤期間執行的算法的一部分,並且這允許以很少額外計算開銷執行分割操作的至少一部分。在替換示例中,在此描述的分割操作可以在沒有相機跟蹤系統的情況下實現,在這種情況下,分割系統實現圖4所示的跟蹤算法的相關部分。首先,接收400場景的要被分割的深度圖像(如移動深度相機所捕捉的)。如果分割操作利用相機跟蹤結果,則這一當前深度圖像是在幀對齊引擎318處接收的。當前深度圖像也被稱為目的地深度圖像。隨後檢索402場景的至少一部分的先前深度圖像。先前深度圖像也被稱為源深度圖像。在一些示例中,先前深度圖像可以是深度相機捕捉到並存儲在存儲設備處的前導幀。在替換示例中,可通過向GPU請求先前深度圖像來從存儲在圖形存儲器中的密集3D模型中生成該先前深度圖像。GPU可以通過確定來自虛擬相機的在最後已知位置處的視圖和真實深度相機看向密集3D模型內的定向來從存儲在圖形存儲器上的密集3D模型生成先前深度圖像。對密集3D模型的使用提供了更高解析度的先前深度圖像。還檢索404先前深度圖像的捕捉姿勢(即,位置和定向)。如果先前深度圖像是深度相機所捕捉的前導幀,則捕捉姿勢是深度相機在捕捉該前導幀時的姿勢,如實時相機跟蹤器所確定的。或者,如果先前深度圖像是從密集3D模型(網格模型的一種表現)或其他3D表示生成的,則捕捉姿勢是虛擬相機的位置和定向。—旦接收到當前深度圖像,並且檢索到先前深度圖像和捕捉姿勢,則幀對齊引擎318執行一種算法來確定先前深度圖像與當前深度圖像之間的變換,並且因此確定移動深度相機在這兩個深度圖像之間是如何移動的。根據先前深度圖像的捕捉姿勢,這使得能夠確定當前深度相機姿勢。這一變換可由實時跟蹤器316的幀對齊引擎318使用迭代最接近點(ICP)算法來確定。一般而言,ICP算法是如下迭代過程確定兩個深度圖像之間的一組對應點、確定使得這些對應點上的誤差度量最小化的變換、以及使用所確定的變化來重複該過程直至達到收斂為止。當ICP算法在每次迭代確定兩個深度圖像之間的對應點時,可發現在圖像間顯著不同的各點。這些點被稱為「局外點」。在相機跟蹤操作期間,這些局外點可被忽略或拒絕。然而,這些局外點被用作對分割操作的有用輸入。ICP算法的與局外點的確 定相關的各部分在圖4中由括號406來指示。注意,出於相機跟蹤目的的ICP算法的執行可涉及圖4中未示出的進一步附加操作。應用407對用於將當前深度圖像和先前深度圖像對齊的變換的初始估計。這一初始估計是用任何合適的方式形成的。例如,可以從先前確定的相機姿勢估計中確定深度相機的運動路徑,並將其與預測模型一起使用來提供對當前時間的姿勢的粗略估計(例如,使用恆定速度或加速度預測模型)。作為補充或替換,在其他示例中,以下信息源中的一個或多個可被用來形成初始估計遊戲狀態、遊戲元數據、地圖數據、RGB相機輸出、定向傳感器輸出、以及GPS數據。選擇408先前深度圖像中的一組源點(即,像素)來進行分析。在一些示例中,該組源點可以全是先前深度圖像中的像素。在其他示例中,可以選擇先前深度圖像中的像素的代表性子集來降低複雜度。隨後對源點中的每一個執行框410所示的操作。注意,因為對每一源點執行相同操作,所以在ICP算法的執行中存在大量並行性。這使得ICP算法能夠在GPU上高效地執行,如在下文參考圖7討論的。參考圖5和6中示出的示例示出了在框410中執行的操作。為簡明起見,圖5和6僅以二維示出了示例先前(源)深度圖像和當前(目的地)深度圖像。這些示例示出如何確定這兩個深度圖像上的點是對應點(在圖5的情況下)還是局外點(在圖6的情況下)。圖5和6兩者示出所考慮的先前深度圖像500和源點502。再次參考圖4的框410,首先,ICP算法將當前深度圖像上的目的地點映射到先前深度圖像上的源點。這是通過將目的地點投影412穿過先前深度圖的源點的相機投影來完成的。這由圖5和6中的相機投影504來示出,它從先前深度圖像的捕捉姿勢(例如,從在捕捉先前深度圖像時深度相機102的位置和定向)投影穿過源點502。這一投影過程可被稱為「投影數據關聯」。在圖5中,相機投影504與當前深度圖像506在目的地點508處相交。在圖6中,相機投影504與當前深度圖像600在目的地點602處相交。在一些示例中,多個目的地點可被選成接近投影點,並且這些目的地點中的每一個是單獨地考慮的。然而,出於該示例的目的,對於每一源點只選擇單個目的地點。注意,在其他示例中,當前深度圖像(並且因此目的地點)可以處於源點與深度相機102之間。隨後,對源點和目的地點執行兩個兼容性測試以確定它們是對應點還是局外點。在第一兼容性測試中,確定源點與目的地點之間的歐幾裡得距離414。這在圖5中示為距離510,而在圖6中被示為距離604。隨後,將該歐幾裡得距離與預定義距離閾值進行比較416。如果目的地點距源點過遠,則對於ICP算法的目的而言,認為它是局外點(S卩,非對應點)並將它標記418為局外點。在一個示例中,預定義距離閾值是15cm,但可以使用任何合適的值。圖5的示例示出了源點與目的地點之間的距離510很小並且小於預定義距離閾值(並且因此在這一階段未被標記為局外點)的情況。相反,圖6的示例示出了以下情況先前深度圖像500與當前深度圖像600 (例如,由於新的對象或活動對象)之間的差異造成了源點與目的地點之間的距離604大於預定義的距離閾值,並且因此目的地點被標記為局外點。如果發現歐幾裡得距離處於預定義距離閾值內,則執行第二兼容性測試。為了執行這一測試,計算419源點和目的地點處的表面法線。例如,對於給定點,通過找出深度圖像中的4個(或更多)個最接近的鄰居點並計算將這些鄰居點及該點本身合併在一起的表面片來實現這一點。隨後計算該表面片在該點的位置處的法線。圖5示出源點502的表面法線512和目的地點508的表面法線514。圖6示出目的地點602的不同表面法線606。

隨後確定420源點與目的地點的表面法線之間的角度。在替換示例中,可以計算與角度有關的不同的度量(如點積)。隨後,將計算得到的角度(或其他度量)與預定義角度閾值進行比較422。如果角度大於預定義角度閾值,則認為目的地點是局外點,並將它標記418為局外點。相反,如果角度不大於預定義角度閾值,則目的地點被選作424源點的對應點。在一個示例中,預定義角度閾值是30度,但可以使用任何合適的值。參考圖5,源表面法線512與目的地表面法線514之間的角度很小,並且因此在該示例中它們被認為是相對應的點。相反,在圖6中,源表面法線512與目的地表面法線606之間的角度較大,且在該示例中大於預定義角度閾值,並且因此目的地點被標記為局外點(忽略這一目的地點已由於超過距離閾值而被標記為局外點)。在以上概括的這兩個兼容性測試之後,ICP算法繼續426來確定相機跟蹤變換。例如,ICP算法找出使得所選對應點的誤差度量最小化的變換,並隨後在給定該變換的情況下對找出對應點的過程進行重複直至達到收斂為止。然而,並非丟棄局外點,這些點被存儲並作為輸入提供給對象分割系統。局外點指示深度圖像中的自先前深度圖像以來有點變化的點。這樣的變化可能是由於動態或非剛性對象造成不同的深度測量而引起的。在一個示例中,對象分割可以簡單地分割428所有局外點,並將這些點標記為深度圖像中的前景對象。這提供了對深度圖像的非常快速的分割,除為了相機跟蹤無論如何都要執行的計算之外,該分割使用非常少的附加計算。注意,在以上參考圖4描述的示例中,在實時相機跟蹤期間找出的所有局外點被用作對象分割操作的輸入。然而,在替換示例中,只使用檢測到的局外點的子集。例如,只使用在ICP算法的最終迭代(或最終的一小部分迭代)期間找出的那些局外點。在一些示例中,在對圖像進行分割之前可以對檢測到的局外點執行進一步測試。例如,場景的RGB圖像(由RGB相機306在深度圖像的同時捕捉)可被用於進一步比較。可比較ICP局外點處的與當前深度圖像和先前深度圖像相對應的兩個RGB圖像以尋找RGB相似性。如果這一比較指示RGB值的差大於預定義值,則這是對象在此位置已移動的進一步指示並觸發對圖像的分割。在其他示例中,可以執行其他附加處理來對深度圖像進行分割,該分割利用局外點作為輸入。例如,局外點可被用作已知分割算法的輸入。這樣的分割算法包括基於計算機視覺技術的分割算法,如圖切割算法、對象邊界檢測算法(如邊緣檢測)、GrabCut、或諸如腐蝕/膨脹/中值過濾器等其他形態運算、和/或諸如分類器等基於機器學習的運算(例如,決策樹或森林)。注意,許多已知分割算法被配置成作用於圖像中的RGB或灰度值。在該示例中,這些可被修改以作用於3D空間體表示(例如,根據3D表面的變化率或曲率)。
局外點提供對這些算法有用的信息,因為它們指示其中發生了深度圖像變化的感興趣區域。這允許這些較高級的分割算法集中於局外點的區域,從而相對於分析整個深度圖像而言節省了計算複雜度。例如,分割算法可以分析包圍局外點的預定義區域。在其他示例中,通過提示用戶手動地指示局外點所檢測到的對象是否是獨立的、可與背景分開的對象,用戶輸入也可被用來增強分割。在另一示例中,局外點可結合場景的RGB圖像(例如,由RGB相機306在深度圖像的同時捕捉)來使用。例如,可以定位RGB圖像中與局外點相對應的位置,並且將較高級分割算法(如GrabCut或邊緣檢測)應用於局外點的位置處的RGB圖像。在RGB圖像揭示了比深度圖像局外點更多的關於對象的信息時,這可以是有用的。例如,如果對象繞與深度相機的視線基本上平行的軸旋轉,則檢測到該對象的邊緣周圍的局外點,但檢測不到該對象的中心處的局外點(因為在兩個深度圖像之間該點沒有移動)。然而,通過分析局外點的位置處的RGB圖像,可以區分對象的全部,並且對象的中心也被正確地分割。 在其他示例中,在分割了深度圖像之後,還可以對它進行處理以向其中使用該深度圖像的系統(例如,遊戲系統)提供附加數據。例如,對活動對象的分割使得這些活動對象能夠被與背景分開且獨立地跟蹤。這可以通過對被分割系統標識為活動對象的深度圖像部分執行進一步ICP算法來實現。以此方式,活動對象的運動可與背景分開跟蹤和監視。在非剛性的可變形活動對象的情況下,使用ICP算法對對象的獨立跟蹤變得更複雜,因為對象本身的形狀可以變化並且因此ICP不能找出該對象的與該形狀變化相匹配的移動變換。在這種情況下,可以使用片級剛體近似,使得可變形對象由多個剛性對象來表示。這樣的片級剛體近似可以動態且實時地執行,通過假定所有對象是剛性的來開始並隨後在這一假定失敗時將對象分成各片級部分(例如,在ICP算法未能找出變換時)。這可以被表示成上述分割算法的遞歸版本其中對所有像素執行ICP算法,隨後只對經分割像素(局外點)再次執行,隨後只對次經分割的像素再次執行,以此類推,直至找不出更多經分割像素(或達到某一限度)為止。像獨立地跟蹤深度圖像中的活動對象一樣,還可生成該對象的獨立的密集3D模型。這可以用與如以上概述的生成場景的總體密集3D模型的方式相類似的方式來執行。例如,圖形存儲器的一部分可被分配來表示該對象並被安排成3D空間體。由於活動對象是獨立地跟蹤的,所以與該對象(被分割的)相關的深度圖像數據可以與該對象的先前測量對齊並組合在該空間體中。以此方式,構造了活動對象的更詳細的3D模型,該模型例如可在將該對象的表示顯示在屏幕上時或用於對象識別目的時使用。所分割出的對象的密集3D模型的創建可以用多種方式來執行。在第一示例中,在檢測到局外點之後(如上所述),如果局外點在與先前深度圖像比較時(其自身可從密集3D模型生成,如上所述)沿相機光線位於表面前方,則它們被集成到存儲器中的單獨的3D空間體中。這一技術使得一旦所分割出的對象被充分集成到單獨的3D空間體中ICP算法就能夠跟蹤該對象,並且向被添加到場景的新對象提供良好性能。在第二示例中,在檢測到局外點之後(如上所述),相機的平截頭體內的密集3D模型中的每一體素(S卩,不僅是相機看到的前臉)被投影到當前深度圖中。如果給定體素被投影到局外點並且如果該局外點的深度值大於投影體素的深度值,則分割系統知道該體素是活動對象的一部分(因為它突然看到該體素後面的深度點)。這一技術使得對象能夠在從場景中移除時被立即分割,並且對活動對象表現良好。在其他示例中,取決於已分割對象(例如,新的或已移動的對象)的特性,用於生成該對象的密集模型的上述兩種方法可被組合或選擇性地使用。在其他示例中,已從深度圖像分割出的對象可被輸入到對象識別系統中。這樣的對象識別系統可以是機器學習分類器的形式,例如使用經訓練的決策樹。這可被用來對對象進行實時地自動識別和分類。例如,參考圖1,對象識別系統可被安排成識別出已被分割的活動對象是貓108。在一些示例中,用戶可以將對象(如椅子)「掃描」到密集3D重構中,並且這一掃描的對象可被用作對象識別系統的一部分以對其他類似對象進行檢測和分類。在一些示例中,檢測到的點不根據它們所表示的事物(貓、椅子等)而根據它們在場景中的行為來分類。例如,相對於場景中的其他對象,咖啡杯是分開的、獨立的剛性對象。相反,門是分開的可活動對象,但被附連到牆上,並且因此其活動是受限的。ICP局外點所指示的點的更高級分析可使這些點被分類成例如獨立的、附連的、或靜態的。 一旦標識了已分割對象,這一信息就可被用來控制該系統的操作的其他方面。例如,一些對象可被安排成直接在計算機遊戲環境內交互,而其他對象可被故意忽略。對象標識也可被用來控制對象的顯示(例如,在顯示設備330上)。例如,在標識了對象時,該對象的低解析度深度(即RGB)圖像可被替換成該對象的高解析度模型(即該對象的各刻面)。在一個示例中,可以標識該系統的用戶的臉,並且用這些用戶的臉的高解析度圖像來進行替換,並且將用戶的臉映射到深度圖像上。在其他示例中,用戶臉的這些高解析度圖像可被參數化,使得他們的臉部表情在計算機控制之下。以此方式,可以生成準確地追隨用戶的移動的詳細且生動的化身。類似地,可根據參數化的模型來生成用戶身體的3D表示,並且這一 3D身體表示可代入從深度相機(和/或從RGB相機)捕捉到的臉部表情。在其他示例中,在分割之後,密集3D模型的先前「接合」到新移動的對象的區域可被標記(例如,已移動咖啡杯座在桌子上先前所處的位置)。這一標記可指示模型中的這一區域是可能的「邊界表面」。標記可包括將附加數據與模型中的指示潛在表面的這些點相關聯。通過這樣做,如果在將來某一時刻,一些未知對象被置於該區域上(或至少部分在該區域上),則該系統已經知道它們可能是僅僅彼此接觸並且可分離的兩個分開的對象(例如,桌子和接觸該區域的對象),因為它們之間存在「邊界表面」。以此方式加上「邊界表面」標記在以下情況下是有用的各相機幀不夠快以致不能跟蹤場景中快速移動的對象。在這種情況下,快速移動的對象只「出現」在模型中。在對象移動得小於上述預定距離或角度閾值時,觀察到類似場景,在這種情況下可能未檢測到移動。然而,如果對象接觸已標記的邊界表面,則這可觸發更詳細的分析/處理,由此儘管不滿足基本距離或角度閾值也可以假定該對象是可分開/可分離的對象。現在參考圖7,它示出了可以實現為任何形式的計算和/或電子設備並且可由在其中實現上文所描述的活動對象圖像分割的各實施例的示例性基於計算的設備700的各種組件。基於計算的設備700包括一個或多個處理器702,這些處理器702可以是用於處理計算可執行指令以控制設備的操作來執行活動對象圖像分割的微處理器、控制器或任何其他合適類型的處理器。在一些示例中,例如在使用片上系統架構的示例中,處理器702可以包括一個或多個固定功能塊(亦稱加速器),這些塊以硬體(而非軟體或固件)來實現建模方法的一部分。基於計算的設備700還包括經由接口 706與處理器702進行通信的圖形處理系統704,並包括被安排成以快速且高效的方式執行並行的、線程化的操作的一個或多個圖形處理單元708。圖形處理系統704還包括被安排成啟用自圖形處理單元708的快速並行訪問的圖形存儲器710。在各示例中,圖形存儲器710可以存儲密集3D模型,並且圖形處理單元708可以執行上述ICP算法/相機跟蹤以及密集模型生成操作。基於計算的設備700還包括被安排成接收來自諸如移動環境捕捉設備(包括深度相機)等一個或多個設備的輸入以及可任選地接收來自一個或多個用戶輸入設備(例如,遊戲控制器、滑鼠、和/或鍵盤)的輸入的通信接口 712。通信接口 712還可作為被安排成與一個或多個通信網絡(例如,網際網路)進行通信的網絡接口來操作。還提供了顯示器接口 714並且它被安排成向與該基於計算的設備集成在一起或、與該基於計算的設備進行通信的顯示系統提供輸出。顯示系統可提供圖形用戶界面,或任何合適類型的其他用戶界面,但這不是必需的。可以使用可由基於計算的設備700訪問的任何計算機可讀介質來提供計算機可執行指令。計算機可讀介質可以包括例如諸如存儲器716等計算機存儲介質和通信介質。諸如存儲器716等計算機存儲介質包括以用於存儲如計算機可讀指令、數據結構、程序模塊或其他數據等信息的任何方法或技術實現的易失性和非易失性、可移動和不可移動介質。計算機存儲介質包括但不限於,RAM、ROM、EPROM、EEPR0M、快閃記憶體或其他存儲器技術、CD-ROM、數字多功能盤(DVD)或其他光存儲、磁帶盒、磁帶、磁碟存儲或其他磁存儲設備,或者可用於存儲信息以供計算設備訪問的任何其他非傳輸介質。相反,通信介質可以以諸如載波或其他傳輸機制等已調製數據信號來體現計算機可讀指令、數據結構、程序模塊或者其他數據。如本文所定義的,計算機存儲介質不包括通信介質。雖然在基於計算的設備700中示出了計算機存儲介質(存儲器716),但將明白,該存儲可以是分布式的或位於遠處並經由網絡或其他通信鏈路(例如,使用通信接口 712)來訪問。可以在基於計算的設備處提供包括作業系統718或任何其他合適的平臺軟體的平臺軟體以使得能夠在該設備上執行應用軟體720。存儲器716可以存儲用於實現相機跟蹤引擎722 (例如被安排成使用ICP來跟蹤深度相機的位置和定向)、對象分割引擎724 (例如,被安排成使用ICP局外點來從深度圖像中分割活動對象)的功能的可執行指令,並可任選地存儲用於實現密集模型生成引擎726 (例如,被安排成在圖形存儲器中生成場景或各對象的密集3D模型)的功能的可執行指令。存儲器716還可提供數據存儲728,數據存儲728可被用來在執行分割技術時提供對處理器702所使用的數據的存儲,如用於存儲先前捕捉的深度圖像和捕捉姿勢。此處所使用的術語『計算機』是指帶有處理能力使得它可以執行指令的任何設備。本領域的技術人員將認識到,這樣的處理能力被集成到許多不同的設備中,因此,術語『計算機』包括PC、伺服器、行動電話、個人數字助理和許多其他設備。本文描述的方法可由有形存儲介質上的機器可讀形式的軟體來執行,例如電腦程式的形式,該電腦程式包括在該程序在計算機上運行時適用於執行本文描述的任何方法的所有步驟的電腦程式代碼裝置並且其中該電腦程式可被包括在計算機可讀介質上。有形(或非暫態)存儲介質的示例可包括盤、拇指型驅動器、存儲器等並且不包括傳播信號。軟體可以適合於在並行處理器或串行處理器上執行,使得各方法步驟可以以任何合適的順序或同時實現。這確認了軟體可以是有價值的、可單獨交易的商品。它旨在包含運行於或者控制「啞」或標準硬體以實現所需功能的軟體。它還旨在包含例如用於設計矽晶片,或者用於配置通用可編程晶片的HDL(硬體描述語言)軟體等「描述」或者定義硬體配置以實現期望功能的軟體。本領域的技術人員將認識到,用來存儲程序指令的存儲設備可以分布在網絡上。例如,遠程計算機可以存儲被描述為軟體的進程的示例。本地或終端計算機可以訪問遠程計算機並下載軟體的一部分或全部以運行程序。可另選地,本地計算機可以根據需要下載軟體的片段,或在本地終端上執行一些軟體指令,並在遠程計算機(或計算機網絡)上執行另一些軟體指令。本領域的技術人員還將認識到,通過利用本領域的技術人員已知的傳統 技術,軟體指令的全部,或一部分可以通過諸如DSP、可編程邏輯陣列等等之類的專用電路來實現。如本領域技術人員將清楚的,此處給出的任何範圍或者設備值都可以被擴展或者改變而不失去所尋求的效果。可以理解,上文所描述的優點可以涉及一個實施例或可以涉及多個實施例。各實施例不限於解決所述問題中的任一個或全部的實施例或具有所述好處和優點中的任一個或全部的實施例。進一步可以理解,對『一個』項目的引用是指那些項目中的一個或多個。此處所描述的方法的步驟可以在適當的情況下以任何合適的順序,或同時實現。另外,在不偏離此處所描述的主題的精神和範圍的情況下,可以從任何一個方法中刪除各單獨的框。上文所描述的任何示例的各方面可以與所描述的其他示例中的任何示例的各方面相結合,以構成進一步的示例,而不會丟失尋求的效果。此處使用了術語「包括」旨在包括已標識的方法的框或元素,但是這樣的框或元素不構成排它性的列表,方法或設備可以包含額外的框或元素。可以理解,上文對優選實施例的描述是只作為示例給出的,本領域的技術人員可以作出各種修改。上面的說明、示例和數據提供了對本發明的示例性實施例的結構和使用的完整的描述。雖然上文以一定的詳細度或參考一個或多個單個實施例描述了本發明的各實施例,但是,在不偏離本發明的精神或範圍的情況下,本領域的技術人員可以對所公開的實施例作出很多更改。
權利要求
1.一種從深度圖像的背景部分分割活動對象(104,108)的方法,包括 從移動深度相機(102)接收(400)所述深度圖像,所述深度圖像包括每一圖像元素處的深度值,每一深度值與從所述深度相機到該深度相機(102)所捕捉的場景中的表面的距離相關; 檢索(402)所述場景的至少一部分的先前深度圖像; 使用所述深度圖像和所述先前深度圖像來執行迭代最接近點算法(406),其中所述迭代最接近點算法(406)包括確定所述深度圖像和所述先前深度圖像中的多個對應點;以及在確定所述多個對應點期間檢測一個或多個局外點,並將所述深度圖像中處於所述局外點處的那些圖像元素標記為(418)活動對象(104,108)圖像元素。
2.如權利要求I所述的方法,其特徵在於,執行所述迭代最接近點算法的步驟還包括 使用所述對應點來確定用於將所述深度圖像與所述先前深度圖像對齊的變換,使用所述變換來跟蹤所述深度相機的位置和定向,以及與所述深度圖像相關聯地存儲所述位置和定向。
3.如權利要求I所述的方法,其特徵在於,在確定所述多個對應點期間檢測一個或多個局外點的步驟包括 從所述先前深度圖像中選擇源點;以及 將所述源點映射到所述深度圖像中的目的地點。
4.如權利要求3所述的方法,其特徵在於,在確定所述多個對應點期間檢測一個或多個局外點的步驟還包括 確定所述源點處的第一表面法線和所述目的地點處的第二表面法線; 計算與所述第一表面法線和第二表面法線之間的角度相關的度量;以及 確定所述度量是否大於預定義的角度閾值。
5.如權利要求3所述的方法,其特徵在於,在確定所述多個對應點期間檢測一個或多個局外點的步驟還包括 訪問與所述深度圖像相對應的第一紅-綠-藍圖像和與所述先前深度圖像相對應的第二紅_綠-藍圖像;以及 確定所述第二紅-綠-藍圖像的所述源點處的紅-綠-藍值與所述第一紅-綠-藍圖像的所述目的地點處的紅-綠-藍值之間的差是否大於預定義值; 確定所述源點與所述目的地點之間的距離是否大於預定義的距離閾值;以及如果確定所述距離不大於所述預定義的距離閾值,則確定所述源點處的第一表面法線和所述目的地點處的第二表面法線,計算所述第一表面法線與第二表面法線之間的角度,以及確定所述角度是否大於預定義的角度閾值。
6.如權利要求3所述的方法,其特徵在於,還包括檢索所述先前深度圖像的先前捕捉位置和定向;以及 其中將所述源點映射到所述目的地點的步驟包括從所述先前捕捉位置和定向以及所述源點投影到所述目的地點。
7.如權利要求I所述的方法,其特徵在於,還包括使用在所述局外點處加標記的圖像元素來執行分割算法以標識所述深度圖像中屬於所述活動對象的其他圖像元素,以及 其中所述分割算法是對所述場景的與所述深度圖像並發地捕捉的紅-綠-藍圖像執行的,並且包括以下至少一個=GrabCut算法;機器學習分類器;對象邊界檢測算法;以及形態運算。
8.一種圖像分割系統,包括 通信接口(712),它被安排成從移動深度相機(102)接收(400)深度圖像,所述深度圖像包括每一圖像元素處的深度值,每一深度值與從所述深度相機(102)到該深度相機(102)所捕捉的場景中的表面的距離相關; 存儲器(710),它被安排成存儲所述場景的至少一部分的先前深度圖像;以及處理器(702),它被安排成使用所述深度圖像和所述先前深度圖像來執行迭代最接近點算法,其中所述迭代最接近點算法(406)包括確定所述深度圖像和所述先前深度圖像中的多個對應點;在確定所述多個對應點期間檢測一個或多個局外點;以及將所述深度圖像中所述局外點處的那些圖像元素標記(418)為活動對象(104,108)圖像元素。
9.如權利要求8所述的方法,其特徵在於,所述先前深度圖像由所述深度相機在先前捕捉,在所述通信接口處接收到,以及被存儲在所述存儲器處。
10.如權利要求8所述的方法,其特徵在於,還包括圖形處理單元和被安排成存儲所述場景的密集3D模型的相關聯的圖形存儲器,以及 其中所述處理器被安排成通過向所述圖形處理單元請求所述先前深度圖像來檢索所述先前深度圖像,並且所述圖形處理單元被安排成根據存儲在所述圖形存儲器上的所述密集3D模型來生成所述先前深度圖像,在所述圖形存儲器中創建只表示所述活動對象的另一密集3D模型,以及使用所述活動對象的加標記的圖像元素來擴充所述另一密集3D模型。
全文摘要
描述了使用深度圖像的活動對象分割。在一示例中,活動對象被從接收自移動深度相機的場景的深度圖像的背景中分割出來。檢索該場景的先前深度圖像,並使用迭代最接近點算法來將其與當前深度圖像進行比較。迭代最接近點算法包括確定當前深度圖像與先前深度圖像之間相對應的一組點。在確定該組點期間,檢測在這兩個深度圖像之間不相對應的一個或多個局外點,並且這些局外點處的圖像元素被標記為屬於活動對象。在各示例中,迭代最接近點算法是作為用於跟蹤移動深度相機的算法的一部分來執行的,並且因此不增加大量附加計算複雜度。
文檔編號G06T7/00GK102663722SQ20121002158
公開日2012年9月12日 申請日期2012年1月31日 優先權日2011年1月31日
發明者A·費茨吉本, D·A·巴特勒, D·莫利尼奧克斯, D·金, J·D·J·肖頓, O·希利格斯, P·科利, R·紐科姆, S·E·豪傑斯, S·伊扎迪 申請人:微軟公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀