專利名稱:基于結(jié)構(gòu)化光和立體視覺的深度相機(jī)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像處理技術(shù),具體涉及深度數(shù)據(jù)的獲取。
背景技術(shù):
實時深度相機(jī)能夠確定與該相機(jī)的視野內(nèi)的人類或其他對象相距的距離,并且基于該相機(jī)的幀速率來基本實時地更新該距離。這樣的深度相機(jī)可以在運動捕捉系統(tǒng)中例如用于獲取關(guān)于物理空間中的人體或其他主體的位置和移動的數(shù)據(jù),并且可以將該數(shù)據(jù)用作到計算系統(tǒng)中的應(yīng)用的輸入??梢杂性S多應(yīng)用,諸如用于軍事、娛樂、體育和醫(yī)學(xué)目的。通常,深度相機(jī)包括照明視野的照明器、以及感測來自視野的光以形成圖像的圖像傳感器。然而,各種挑戰(zhàn)由于諸如光照條件、表面紋理和色彩、以及遮擋可能性等變量而存在。
發(fā)明內(nèi)容
提供了深度相機(jī)系統(tǒng)。該深度相機(jī)系統(tǒng)使用至少兩個圖像傳感器以及結(jié)構(gòu)化光圖像處理和立體圖像處理的結(jié)合來基本實時地獲取場景的深度圖??蔀橛蓚鞲衅鳙@得的像素數(shù)據(jù)的每一新的幀更新該深度圖。此外,圖像傳感器可被安裝在距照明器不同距離處,并可具有不同特征,以便允許獲取更準(zhǔn)確的深度圖同時降低遮擋的可能性。在一個實施例中,深度相機(jī)系統(tǒng)包括用結(jié)構(gòu)化光圖案來照明視野中的對象的照明器、至少第一和第二傳感器、以及至少一個控制電路。該第一傳感器感測從該對象反射的光以獲取像素數(shù)據(jù)的第一幀,并且針對較短程成像來優(yōu)化。這一優(yōu)化可按照例如第一傳感器與照明器之間的相對較短距離,或第一傳感器的相對少的曝光時間、空間分辨率和/或?qū)獾拿舾行詠韺崿F(xiàn)。該深度相機(jī)系統(tǒng)進(jìn)一步包括感測從該對象反射的光以獲取像素數(shù)據(jù)的第二幀的第二傳感器,其中,該第二傳感器針對較長程成像來優(yōu)化。這一優(yōu)化可按照例如第二傳感器與照明器之間的相對較長距離,或第二傳感器的相對長的曝光時間、空間分辨率和/或?qū)獾拿舾行詠韺崿F(xiàn)。該深度相機(jī)系統(tǒng)進(jìn)一步包括至少一個控制電路,該控制電路可與傳感器和照明器在公共外殼中、和/或在諸如計算環(huán)境等分開的組件中。該至少一個控制電路通過將像素數(shù)據(jù)的第一幀與結(jié)構(gòu)化光的圖案相比較來導(dǎo)出對象的第一結(jié)構(gòu)化光深度圖,通過將像素數(shù)據(jù)的第二幀與結(jié)構(gòu)化光的圖案相比較來導(dǎo)出對象的第二結(jié)構(gòu)化光深度圖,并且導(dǎo)出基于第一和第二結(jié)構(gòu)化光深度圖的合并的深度圖。每一深度圖可包括諸如在像素網(wǎng)格中的每一像素位置的深度值。在另一方面,立體圖像處理還被用于細(xì)化深度值。例如,當(dāng)像素數(shù)據(jù)的第一和/或第二幀中的一個或多個像素沒有被成功地匹配到結(jié)構(gòu)化光的圖案時,或當(dāng)深度值指示需要較大基線以實現(xiàn)良好的準(zhǔn)確性的大距離時,立體圖像處理的使用可被觸發(fā)。以此方式,僅按需向深度值提供進(jìn)一步細(xì)化,以便避免不必要的處理步驟。在某些情況下,由傳感器獲取的深度數(shù)據(jù)可基于該傳感器的特征來分配權(quán)重,和/ 或基于深度值中的置信度來分配準(zhǔn)確性度量。
最終深度圖可被用作對例如運動捕捉系統(tǒng)中的應(yīng)用的輸入,其中,該對象是由該運動捕捉系統(tǒng)跟蹤的人類,并且該應(yīng)用響應(yīng)于諸如通過對化身動畫化、導(dǎo)航屏幕上菜單、或執(zhí)行某一其他動作之類的人類的姿勢或移動來改變該運動捕捉系統(tǒng)的顯示。提供本發(fā)明內(nèi)容以便以簡化形式介紹將在以下的具體實施方式
中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并不旨在標(biāo)識出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于限定所要求保護(hù)的主題的范圍。
在附圖中,相同編號的元件彼此對應(yīng)。圖1描繪了運動捕捉系統(tǒng)的示例實施例。圖2描繪了圖1的運動捕捉系統(tǒng)的示例框圖。圖3描繪了可以在圖1的運動捕捉系統(tǒng)中使用的計算環(huán)境的示例框圖。圖4描繪了可以在圖1的運動捕捉系統(tǒng)中使用的計算環(huán)境的另一個示例框圖。圖5A描繪了在結(jié)構(gòu)化光系統(tǒng)中的照明幀和所捕捉的幀。圖5B描繪了在立體光系統(tǒng)中的兩個所捕捉的幀。圖6A描繪了帶有在照明器的公共側(cè)的兩個傳感器的成像組件。圖6B描繪了帶有在照明器的一側(cè)的兩個傳感器、以及在該照明器的相對側(cè)的一個傳感器的成像組件。圖6C描繪了帶有在照明器的公共側(cè)的三個傳感器的成像組件。圖6D描繪了帶有在照明器的相對側(cè)的兩個傳感器的成像組件,其示出這兩個傳感器如何感測對象的不同部分。圖7A描繪了用于獲取視野的深度圖的過程。圖7B描繪了圖7A的步驟706的進(jìn)一步細(xì)節(jié),其中兩個結(jié)構(gòu)化光深度圖被合并。圖7C描繪了圖7A的步驟706的進(jìn)一步細(xì)節(jié),其中兩個結(jié)構(gòu)化光深度圖和兩個立體深度圖被合并。圖7D描繪了圖7A的步驟706的進(jìn)一步細(xì)節(jié),其中,使用立體匹配按需對各深度值進(jìn)行細(xì)化。圖7E描繪了圖7A的步驟706的另一方法的進(jìn)一步細(xì)節(jié),其中,使用立體匹配按需對合并的深度圖的各深度值進(jìn)行細(xì)化。圖8描繪了如在圖7A的步驟708中闡述的用于使用控制輸入來跟蹤人類目標(biāo)的示例方法。圖9描繪了如在圖8的步驟808中闡述的人類目標(biāo)的示例模型。
具體實施例方式提供了深度相機(jī)以供在跟蹤視場中的一個或多個對象中使用。在示例實現(xiàn)中,該深度相機(jī)被用在運動跟蹤系統(tǒng)中以跟蹤人類用戶。該深度相機(jī)包括兩個或更多個傳感器, 該兩個或更多個傳感器被優(yōu)化以解決諸如光照條件、表面紋理和色彩、以及遮擋可能性之類的變量。該優(yōu)化可包括優(yōu)化各傳感器相對于彼此之間的放置和相對于照明器的放置,以及優(yōu)化各傳感器的空間分辨率、敏感性和曝光時間。該優(yōu)化還可包括諸如通過將像素數(shù)據(jù)的幀匹配到結(jié)構(gòu)化光的圖案和/或通過將像素數(shù)據(jù)的一幀匹配到另一幀來優(yōu)化如何獲取深度圖數(shù)據(jù)。如此處描述的多個傳感器的使用提供了勝于其他方法的優(yōu)點。例如,除立體相機(jī)以外的實時深度相機(jī)往往提供可嵌入在2-D矩陣上的深度圖。這樣的相機(jī)有時被稱為2. 5D 相機(jī),因為它們通常使用單個成像設(shè)備來提取深度圖,使得沒有給出被遮擋對象的信息。立體深度相機(jī)往往獲取對兩個或更多個相機(jī)可見的相當(dāng)稀疏的位置測量。同樣,當(dāng)對諸如白墻之類的平滑的無紋理(textureless)表面進(jìn)行成像時,它們運作得不好。某些深度相機(jī)使用結(jié)構(gòu)化光來測量/標(biāo)識由作為成像系統(tǒng)設(shè)備的傳感器與遠(yuǎn)離傳感器的作為光投影設(shè)備的照明器之間的視差造成的失真。這一方法固有地產(chǎn)生具有由于對傳感器可見但對照明器不可見的陰影位置而引起的丟失信息的深度圖。另外,外部光有時可使結(jié)構(gòu)化圖案對相機(jī)不可見。上述缺點可通過使用兩個或更多個傳感器和單個照明設(shè)備的星座圖來克服,以便如同使用了三個深度相機(jī)那樣有效地提取3D樣本。該兩個傳感器可通過匹配到結(jié)構(gòu)化光圖案來提供深度圖像,而第三相機(jī)通過應(yīng)用立體技術(shù)對來自兩個傳感器的兩個圖像進(jìn)行匹配來實現(xiàn)。通過應(yīng)用數(shù)據(jù)融合,增強(qiáng)包括對相機(jī)間中斷的穩(wěn)健性等3D測量的穩(wěn)健性是可能的。我們提供了使用兩個傳感器與單個投影儀來實現(xiàn)兩個深度圖,使用結(jié)構(gòu)化光技術(shù)、將結(jié)構(gòu)化光技術(shù)與立體技術(shù)結(jié)合、并且在融合過程中使用以上來實現(xiàn)具有減小的遮擋和增強(qiáng)的穩(wěn)健性的3D圖像。圖1描繪了運動捕捉系統(tǒng)10的示例實施例,其中,人8如在用戶的家中與應(yīng)用程序進(jìn)行交互。運動捕捉系統(tǒng)10包括顯示器196、深度相機(jī)系統(tǒng)20、以及計算環(huán)境或裝置12。 深度相機(jī)系統(tǒng)20可包括成像組件22,其具有諸如紅外(IR)光發(fā)射器之類的照明器沈、諸如紅外照相機(jī)之類的圖像傳感器沈、以及色彩(諸如紅-綠-藍(lán)(RGB))照相機(jī)觀。一個或多個對象,諸如也被稱為用戶、個人或玩家之類的人8,站在深度相機(jī)的視野6內(nèi)。線2和 4表示視野6的邊界。在此示例中,深度相機(jī)系統(tǒng)20以及計算環(huán)境12提供應(yīng)用程序,其中, 顯示器196上的化身197追蹤人8的移動。例如,當(dāng)人抬起手臂時,化身可以抬起手臂?;?97站在3-D虛擬世界的公路198上??梢远x笛卡兒世界坐標(biāo)系,其包括沿著深度相機(jī)系統(tǒng)20的焦距延伸(例如,水平地)的ζ軸、垂直地延伸的y軸、以及橫向地并且水平地延伸的χ軸。注意,因為顯示器196在y軸方向垂直地延伸,且ζ軸從深度相機(jī)系統(tǒng)垂直于 y軸和χ軸并平行于用戶8所站立的地面地伸出,附圖的透視被修改為簡化。一般而言,運動捕捉系統(tǒng)10被用來識別、分析、和/或跟蹤一個或多個人目標(biāo)。計算環(huán)境12可包括計算機(jī)、游戲系統(tǒng)或控制臺等等,以及執(zhí)行應(yīng)用程序的硬件組件和/或軟件組件。深度相機(jī)系統(tǒng)20可被用來在視覺上監(jiān)視一個或多個諸如人8之類的人,以便可以捕捉、分析、以及跟蹤由人執(zhí)行的姿勢和/或移動,以在應(yīng)用程序內(nèi)執(zhí)行一個或多個控制或動作,如動畫化化身或屏幕上人物或選擇用戶界面(UI)中的一個菜單項。深度相機(jī)系統(tǒng)20 在下文中更詳細(xì)討論。運動捕捉系統(tǒng)10可以連接到諸如顯示器196之類的視聽設(shè)備,例如,電視機(jī)、監(jiān)視器、高清晰度電視機(jī)(HDTV)等等,或者甚至向用戶提供視覺和音頻輸出的墻或其他表面上的投影。還可以經(jīng)由單獨的設(shè)備來提供音頻輸出。為驅(qū)動顯示器,計算環(huán)境12可包括提供與應(yīng)用程序相關(guān)聯(lián)的視聽信號的諸如圖形卡之類的視頻適配器和/或諸如聲卡之類的音頻適配器。顯示器196可連接到計算環(huán)境12??梢允褂蒙疃认鄼C(jī)系統(tǒng)20來跟蹤人8,以使得用戶的姿勢和/或移動被捕捉并用于動畫化化身或屏幕上人物,和/或被解釋為對正在由計算機(jī)環(huán)境12執(zhí)行的應(yīng)用程序的輸入控制。人8的一些移動可被解釋為可對應(yīng)于除了控制化身之外的動作的控制。例如,在一個實施方式中,玩家可以使用移動來結(jié)束、暫?;虮4嬗螒?,選擇級別,查看高分,與朋友進(jìn)行交流等等。玩家可以使用移動來從主用戶界面中選擇游戲或其他應(yīng)用程序,或以別的方式導(dǎo)航選項菜單。如此,可以有人8的全套運動可用,可使用它們,并以任何合適的方式分析它們,以與應(yīng)用程序進(jìn)行交互。運動捕捉系統(tǒng)10還可以用于將目標(biāo)移動解釋成處于游戲或意味著娛樂和休閑的其他應(yīng)用程序的領(lǐng)域之外的操作系統(tǒng)和/或應(yīng)用程序控制。例如,操作系統(tǒng)和/或應(yīng)用程序的實質(zhì)上任何可控方面都可以由人8的移動來控制。圖2描繪了圖Ia的運動捕捉系統(tǒng)10的示例框圖。深度相機(jī)系統(tǒng)20可以被配置為通過任何合適的技術(shù)捕捉帶有深度信息(包括可以包括深度值的深度圖像)的視頻,這些技術(shù)包括例如飛行時間、結(jié)構(gòu)化光、立體圖像等等。深度相機(jī)系統(tǒng)20可將深度信息組織為“Z層”,即可與從深度相機(jī)沿其視線延伸的Z軸垂直的層。深度相機(jī)系統(tǒng)20可包括成像組件22,該成像組件22捕捉物理空間中的場景的深度圖像。深度圖像或深度圖可包括所捕捉的場景的二維O-D)像素區(qū)域,其中2-D像素區(qū)域中的每一像素都可具有表示與成像組件22的線性距離的相關(guān)聯(lián)的深度值,從而提供3-D 深度圖像。成像組件22的各種配置是可能的。在一個方法中,成像組件22包括照明器沈、第一圖像傳感器(Si) 24、第二圖像傳感器(S2) 29、以及可見色彩相機(jī)觀。傳感器Sl和S2可被用于捕捉場景的深度圖像。在一個方法中,照明器沈是紅外(IR)光發(fā)射器,并且第一和第二傳感器是紅外光傳感器。通過照明器沈和一個或多個傳感器沈的組合來形成3-D深度相機(jī)。使用各種技術(shù)可由每一傳感器獲取深度圖。例如,深度相機(jī)系統(tǒng)20可使用結(jié)構(gòu)化光來捕捉深度信息。在這樣的分析中,圖案化光(即,被顯示成諸如網(wǎng)格圖案或條紋圖案等已知圖案的光)由照明器26投影到場景上。在撞擊到場景中的一個或多個目標(biāo)或?qū)ο蟮谋砻鏁r,作為響應(yīng),圖案可變形。圖案的這種變形可由例如傳感器M或W和/或色彩相機(jī) 28來捕捉,然后可被分析以確定從深度相機(jī)系統(tǒng)到目標(biāo)或?qū)ο笊系奶囟ㄎ恢玫奈锢砭嚯x。在一個可能的方法中,傳感器M和四位于照明器沈的相對側(cè),并且處于與該照明器的不同基線距離。例如,傳感器M位于與照明器沈的距離BLl處,并且傳感器四位于與照明器26的距離BL2處。傳感器與照明器之間的距離可按照傳感器與照明器的中心點(諸如光軸)之間的距離來表示。使各傳感器在照明器的相對側(cè)的一個優(yōu)點是視野中對象的遮擋區(qū)域可被減小或消除,因為各傳感器從不同角度看到對象。同樣,可通過將傳感器放置在相對接近于照明器來優(yōu)化該傳感器以供查看視野內(nèi)較近的對象,而可通過將另一傳感器放置在相對遠(yuǎn)離照明器來優(yōu)化該另一傳感器以供查看視野內(nèi)較遠(yuǎn)的對象。例如,在BL2 > BLl的情況下,傳感器M可被認(rèn)為是針對較短程成像來優(yōu)化,而傳感器四可被認(rèn)為是針對較長程成像來優(yōu)化的。在一個方法中,傳感器對和四可以共線,使得它們被沿著穿過照明器的公共線放置。然而,關(guān)于傳感器對和四的定位的其他配置是可能的。例如,傳感器可圍繞要掃描的對象圓周地安排、或圍繞全息圖要被投影的位置圓周地安排。安排多個深度相機(jī)系統(tǒng),各自具有圍繞對象的一照明器和各傳感器也是可能的。 這可允許查看對象的不同側(cè),從而提供圍繞該對象的旋轉(zhuǎn)視圖。通過使用更多深度相機(jī),我們添加了該對象的更多可見區(qū)域。可以有兩個深度相機(jī),一個在對象的前方而一個在對象的后方,只要它們在其照明上彼此不盲就彼此對準(zhǔn)。每一深度相機(jī)可感測從對象反射的其自身的結(jié)構(gòu)化光圖案。在另一示例中,兩個深度相機(jī)被安排成彼此成90度。深度相機(jī)系統(tǒng)20可包括與3-D深度照相機(jī)22進(jìn)行通信的處理器32。處理器32 可包括可執(zhí)行指令的標(biāo)準(zhǔn)化處理器、專用處理器、微處理器等,這些指令可包括例如用于接收深度圖像的指令;用于基于深度圖像來生成體元網(wǎng)格的指令;用于移除體元網(wǎng)格中所包括的背景以隔離與人類目標(biāo)相關(guān)聯(lián)的一個或多個體元的指令;用于確定被隔離的人類目標(biāo)的一個或多個肢端的位置或定位的指令;用于基于一個或多個肢端的位置或定位來調(diào)整模型的指令;或任何其他合適的指令,下面將對它們進(jìn)行更詳細(xì)的描述。處理器32可訪問存儲器31以使用導(dǎo)出結(jié)構(gòu)化光深度圖的軟件33、導(dǎo)出立體視覺深度圖的軟件34、以及執(zhí)行深度圖合并計算的軟件35。處理器32可被認(rèn)為是至少一個控制電路,該至少一個控制電路通過將像素數(shù)據(jù)的幀與由照明平面中的照明器發(fā)射的結(jié)構(gòu)化光的圖案相比較來導(dǎo)出對象的結(jié)構(gòu)化光深度圖。例如,使用軟件33,該至少一個控制電路可通過將由傳感器對獲取的像素數(shù)據(jù)的第一幀與由照明器26發(fā)射的結(jié)構(gòu)化光的圖案相比較來導(dǎo)出對象的第一結(jié)構(gòu)化光深度圖,并且通過將由傳感器四獲取的像素數(shù)據(jù)的第二幀與該結(jié)構(gòu)化光的圖案相比較來導(dǎo)出對象的第二結(jié)構(gòu)化光深度圖。該至少一個控制電路可使用軟件35來導(dǎo)出基于第一和第二結(jié)構(gòu)化光深度圖的合并的深度圖。結(jié)構(gòu)化光深度圖在下文進(jìn)一步討論,例如參考圖5A。同樣,該至少一個控制電路可使用軟件34通過由傳感器M獲取的像素數(shù)據(jù)的第一幀到由傳感器四獲取的像素數(shù)據(jù)的第二幀的立體匹配來導(dǎo)出對象的至少第一立體深度圖,并且通過像素數(shù)據(jù)的第二幀到像素數(shù)據(jù)的第一幀的立體匹配來導(dǎo)出對象的至少第二立體深度圖。軟件25可合并一個或多個結(jié)構(gòu)化光深度圖和/或立體深度圖。立體深度圖在下文進(jìn)一步討論,例如參考圖5B。該至少一個控制電路可由同樣在深度相機(jī)系統(tǒng)外部的處理器來提供,諸如處理器 192或任何其他處理器。該至少一個處理電路可訪問來自存儲器31的軟件,該存儲器31例如可以是有形計算機(jī)可讀存儲,該有形計算機(jī)可讀存儲其上包含有用于對至少一個處理器或控制器32進(jìn)行編程以執(zhí)行如此處描述的用于處理深度相機(jī)系統(tǒng)中的深度數(shù)據(jù)的方法的計算機(jī)可讀軟件。存儲器31可存儲由處理器32執(zhí)行的指令,以及存儲諸如由傳感器或色彩相機(jī)捕捉的像素數(shù)據(jù)36的幀之類的圖像。例如,存儲器31可包括隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、高速緩存、閃存、硬盤、或任何其他合適的有形計算機(jī)可讀存儲組件。存儲器組件31可以是經(jīng)由總線21與圖像捕捉組件22和處理器32通信的單獨的組件。根據(jù)另一實施例,存儲器組件31可被集成到處理器32和/或圖像捕捉組件22中。深度相機(jī)系統(tǒng)20可以經(jīng)由諸如有線和/或無線連接等通信鏈路37與計算環(huán)境12
8進(jìn)行通信。計算環(huán)境12可經(jīng)由通信鏈路37向深度相機(jī)系統(tǒng)20提供時鐘信號,該信號指示何時從位于深度相機(jī)系統(tǒng)20的視野中的物理空間捕捉圖像數(shù)據(jù)。另外,深度相機(jī)系統(tǒng)20可以通過通信鏈路37向計算環(huán)境12提供深度信息和由例如圖像傳感器M和四和/或色彩相機(jī)觀捕捉到的圖像,和/或可以由深度相機(jī)系統(tǒng)20所生成的骨架模型。然后,計算環(huán)境12可以使用模型、深度信息、以及捕捉到的圖像來控制應(yīng)用程序。例如,如圖2所示,計算環(huán)境12可包括諸如姿勢過濾器的集合之類的姿勢庫190, 每一個過濾器都具有關(guān)于可以由骨架模型(隨著用戶移動)執(zhí)行的姿勢的信息。例如,可以為各種手勢(如手的猛擊或投擲)提供姿勢過濾器。通過將檢測到的運動與每一個過濾器進(jìn)行比較,可以標(biāo)識由人執(zhí)行的指定的姿勢或移動。還可以確定執(zhí)行移動的程度??梢詫⒂缮疃认鄼C(jī)系統(tǒng)20以骨架模型的形式捕捉的數(shù)據(jù)以及與它相關(guān)聯(lián)的移動與姿勢庫190中的姿勢過濾器進(jìn)行比較,以標(biāo)識(如由骨架模型所表示的)用戶何時執(zhí)行了一個或多個特定移動。那些移動可以與應(yīng)用程序的各種控制相關(guān)聯(lián)。計算環(huán)境也可以包括處理器192,其用于執(zhí)行存儲在存儲器194中的指令,以向顯示設(shè)備196提供音頻-視頻輸出信號,并實現(xiàn)如此處所描述的其他功能。圖3描繪了可以在圖1的運動捕捉系統(tǒng)中使用的計算環(huán)境的示例框圖??梢允褂糜嬎悱h(huán)境來解釋一個或多個姿勢或其他移動,并作為響應(yīng),更新顯示器上的視覺空間。上文所描述的諸如計算環(huán)境12等的計算環(huán)境可包括諸如游戲控制臺等的多媒體控制臺100。 多媒體控制臺100包括具有一級高速緩存102、二級高速緩存104和閃存ROM(只讀存儲器)106的中央處理單元(CPU) 101。一級高速緩存102和二級高速緩存104臨時存儲數(shù)據(jù)并因此減少存儲器訪問周期數(shù),由此改進(jìn)處理速度和吞吐量。CPU 101可以設(shè)置成具有一個以上的內(nèi)核,以及由此的附加的一級和二級高速緩存102和104。諸如閃存ROM之類的存儲器106可存儲當(dāng)多媒體控制臺100通電時在引導(dǎo)過程的初始階段期間加載的可執(zhí)行代碼。圖形處理單元(GPU) 108和視頻編碼器/視頻編解碼器(編碼器/解碼器)114形成用于高速、高分辨率圖形處理的視頻處理流水線。數(shù)據(jù)經(jīng)由總線從圖形處理單元108輸送到視頻編碼器/視頻編解碼器114。視頻處理流水線向A/V(音頻/視頻)端口 140輸出數(shù)據(jù),以便傳輸?shù)诫娨暀C(jī)或其他顯示器。存儲器控制器110連接到GPU 108,以便于處理器對各種類型的存儲器112,比如RAM(隨機(jī)存取存儲器)的訪問。多媒體控制臺100包括優(yōu)選地在模塊118上實現(xiàn)的I/O控制器120、系統(tǒng)管理控制器122、音頻處理單元123、網(wǎng)絡(luò)接口 124、第一 USB主控制器126、第二 USB控制器128以及前面板I/O子部件130。USB控制器126和128用作外圍控制器142 (1)-142 (2)、無線適配器148、和外置存儲器設(shè)備146(例如閃存、外置CD/DVD ROM驅(qū)動器、可移動介質(zhì)等)的主機(jī)。網(wǎng)絡(luò)接口(NW IF) IM和/或無線適配器148提供對網(wǎng)絡(luò)(例如,因特網(wǎng)、家庭網(wǎng)絡(luò)等)的訪問并且可以是包括以太網(wǎng)卡、調(diào)制解調(diào)器、藍(lán)牙模塊、電纜調(diào)制解調(diào)器等的各種不同的有線或無線適配器組件中任何一種。提供系統(tǒng)存儲器143來存儲在引導(dǎo)過程期間加載的應(yīng)用數(shù)據(jù)。提供了媒體驅(qū)動器 144,其可以包括DVD/CD驅(qū)動器、硬盤驅(qū)動器、或其他可移動媒體驅(qū)動器。媒體驅(qū)動器144 可以在多媒體控制臺100的內(nèi)部或外部。應(yīng)用數(shù)據(jù)可經(jīng)由媒體驅(qū)動器144訪問,以由多媒體控制臺100執(zhí)行、回放等。媒體驅(qū)動器144經(jīng)由諸如串行ATA總線或其他高速連接等總線連接到I/O控制器120。
系統(tǒng)管理控制器122提供涉及確保多媒體控制臺100的可用性的各種服務(wù)功能。 音頻處理單元123和音頻編解碼器132形成具有高保真度和立體聲處理的對應(yīng)的音頻處理流水線。音頻數(shù)據(jù)經(jīng)由通信鏈路在音頻處理單元123與音頻編解碼器132之間傳輸。音頻處理流水線將數(shù)據(jù)輸出到A/V端口 140以供外置音頻播放器或具有音頻能力的設(shè)備再現(xiàn)。前面板I/O子部件130支持暴露在多媒體控制臺100的外表面上的電源按鈕150 和彈出按鈕152以及任何LED(發(fā)光二極管)或其他指示器的功能。系統(tǒng)供電模塊136向多媒體控制臺100的組件供電。風(fēng)扇138冷卻多媒體控制臺100內(nèi)的電路。CPU 101、GPU 108、存儲器控制器110、和多媒體控制臺100內(nèi)的各個其他組件經(jīng)由一條或多條總線互連,包括串行和并行總線、存儲器總線、外圍總線、和使用各種總線架構(gòu)中任一種的處理器或局部總線。當(dāng)多媒體控制臺100通電時,應(yīng)用數(shù)據(jù)可從系統(tǒng)存儲器143加載到存儲器112和/ 或高速緩存102、104中并在CPU 101上執(zhí)行。應(yīng)用可呈現(xiàn)在導(dǎo)航到多媒體控制臺100上可用的不同媒體類型時提供一致的用戶體驗的圖形用戶界面。在操作中,媒體驅(qū)動器144中包含的應(yīng)用和/或其他媒體可從媒體驅(qū)動器144啟動或播放,以向多媒體控制臺100提供附加功能。多媒體控制臺100可通過將該系統(tǒng)簡單地連接到電視機(jī)或其他顯示器而作為獨立系統(tǒng)來操作。在該獨立模式中,多媒體控制臺100允許一個或多個用戶與該系統(tǒng)交互、看電影、或聽音樂。然而,隨著通過網(wǎng)絡(luò)接口 1 或無線適配器148可用的寬帶連接的集成, 多媒體控制臺100還可作為較大網(wǎng)絡(luò)社區(qū)中的參與者來操作。當(dāng)多媒體控制臺100通電時,可以保留指定量的硬件資源以供多媒體控制臺操作系統(tǒng)作系統(tǒng)使用。這些資源可包括預(yù)留存儲器(例如,16MB)、CPU和GPU周期(例如,5%)、 網(wǎng)絡(luò)帶寬(例如,SlAs)等等。因為這些資源是在系統(tǒng)引導(dǎo)時保留的,所以所保留的資源對應(yīng)用而言是不存在的。具體地,存儲器保留較佳地足夠大,以包含啟動內(nèi)核、并發(fā)系統(tǒng)應(yīng)用和驅(qū)動程序。 CPU保留較佳地為恒定,使得若所保留的CPU用量不被系統(tǒng)應(yīng)用使用,則空閑線程將消耗任何未使用的周期。對于GPU保留,通過使用GPU中斷來顯示由系統(tǒng)應(yīng)用生成的輕量消息(例如,彈出窗口),以調(diào)度代碼來將彈出窗口呈現(xiàn)為覆蓋圖。覆蓋圖所需的存儲器量取決于覆蓋區(qū)域大小,并且覆蓋圖較佳地與屏幕分辨率成比例縮放。在并發(fā)系統(tǒng)應(yīng)用使用完整用戶界面的情況下,優(yōu)選使用獨立于應(yīng)用分辨率的分辨率。定標(biāo)器可用于設(shè)置該分辨率,從而無需改變頻率并引起TV重新同步。在多媒體控制臺100引導(dǎo)且系統(tǒng)資源被保留之后,就執(zhí)行并發(fā)系統(tǒng)應(yīng)用來提供系統(tǒng)功能。系統(tǒng)功能被封裝在上述所保留的系統(tǒng)資源中執(zhí)行的一組系統(tǒng)應(yīng)用中。操作系統(tǒng)內(nèi)核標(biāo)識是系統(tǒng)應(yīng)用線程而非游戲應(yīng)用線程的線程。系統(tǒng)應(yīng)用優(yōu)選地被調(diào)度為在預(yù)定時間并以預(yù)定時間間隔在CPU 101上運行,以便為應(yīng)用提供一致的系統(tǒng)資源視圖。進(jìn)行調(diào)度是為了把由在控制臺上運行的游戲應(yīng)用所引起的高速緩存分裂最小化。當(dāng)并發(fā)系統(tǒng)應(yīng)用需要音頻時,則由于時間敏感性而異步調(diào)度音頻處理給游戲應(yīng)用。多媒體控制臺應(yīng)用管理器(如下所述)在系統(tǒng)應(yīng)用活動時控制游戲應(yīng)用的音頻水平 (例如,靜音、衰減)。
輸入設(shè)備(例如,控制器142(1)和142( )由游戲應(yīng)用和系統(tǒng)應(yīng)用共享。輸入設(shè)備不是所保留的資源,但卻在系統(tǒng)應(yīng)用和游戲應(yīng)用之間切換以使其各自具有設(shè)備的焦點。 應(yīng)用管理器較佳地控制輸入流的切換,而無需知曉游戲應(yīng)用的知識,并且驅(qū)動程序維護(hù)有關(guān)焦點切換的狀態(tài)信息。控制臺100可以從圖2的包括傳感器M和四的深度相機(jī)系統(tǒng)20 接收附加的輸入。圖4描繪了可以在圖1的運動捕捉系統(tǒng)中使用的計算環(huán)境的另一個示例框圖。在運動捕捉系統(tǒng)中,可以使用計算環(huán)境來解釋一個或多個姿勢或其他移動,并作為響應(yīng),更新顯示器上的視覺空間。計算環(huán)境220包括通常包括各種有形計算機(jī)可讀存儲介質(zhì)的計算機(jī)Ml。這可以是能由計算機(jī)241訪問的任何可用介質(zhì),而且包含易失性和非易失性介質(zhì)、 可移動和不可移動介質(zhì)。系統(tǒng)存儲器222包括易失性和/或非易失性存儲器形式的計算機(jī)存儲介質(zhì),如只讀存儲器(ROM) 223和隨機(jī)存取存儲器(RAM) 2600基本輸入/輸出系統(tǒng) 224 (BIOS)包括如在啟動時幫助在計算機(jī)Ml內(nèi)的元件之間傳輸信息的基本例程,它通常儲存在ROM 223中。RAM 260通常包含處理單元259可以立即訪問和/或目前正在操作的數(shù)據(jù)和/或程序模塊。圖形接口 231與GPU 2 進(jìn)行通信。作為示例而非限制,圖4描繪了操作系統(tǒng)225、應(yīng)用程序226、其他程序模塊227,以及程序數(shù)據(jù)228。計算機(jī)241也可以包括其他可移動/不可移動、易失性/非易失性計算機(jī)存儲介質(zhì),例如,讀寫不可移動、非易失性磁性介質(zhì)的硬盤驅(qū)動器238,讀寫可移動、非易失性磁盤 254的磁盤驅(qū)動器239,以及讀寫諸如CD ROM或其他光學(xué)介質(zhì)之類的可移動、非易失性光盤 253的光盤驅(qū)動器M0??梢栽谠撌纠圆僮鳝h(huán)境中使用的其他可移動/不可移動、易失性 /非易失性有形計算機(jī)可讀存儲介質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器238通常由例如接口 234等不可移動存儲器接口連接至系統(tǒng)總線221,而磁盤驅(qū)動器239和光盤驅(qū)動器240通常由例如接口 235等可移動存儲器接口連接至系統(tǒng)總線221。上文所討論的并且在圖4中所描繪的驅(qū)動器以及其相關(guān)聯(lián)的計算機(jī)存儲介質(zhì)為計算機(jī)241提供了計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊及其他數(shù)據(jù)的存儲。例如,硬盤驅(qū)動器238被描繪為存儲了操作系統(tǒng)258、應(yīng)用程序257、其他程序模塊256、以及程序數(shù)據(jù) 255。注意,這些組件可以與操作系統(tǒng)225、應(yīng)用程序226、其他程序模塊227和程序數(shù)據(jù)2 相同,也可以與它們不同。在此給操作系統(tǒng)258、應(yīng)用程序257、其他程序模塊256、以及程序數(shù)據(jù)255提供了不同的編號,以說明至少它們是不同的副本。用戶可以通過諸如鍵盤251和定點設(shè)備252 (通常被稱為鼠標(biāo)、跟蹤球或觸摸墊)之類的輸入設(shè)備向計算機(jī)241輸入命令和信息。其他輸入設(shè)備(未示出)可包括話筒、游戲桿、游戲手柄、圓盤式衛(wèi)星天線、掃描儀等。這些和其他輸入設(shè)備通常由耦合至系統(tǒng)總線的用戶輸入接口 236連接至處理單元259, 但也可以由諸如并行端口、游戲端口或通用串行總線(USB)等其他接口和總線結(jié)構(gòu)來進(jìn)行連接。圖2的深度相機(jī)系統(tǒng)20,包括傳感器M和四,可以為控制臺100定義附加的輸入設(shè)備。監(jiān)視器242或其他類型的顯示器也通過接口,諸如視頻接口 232,連接至系統(tǒng)總線221。 除監(jiān)視器之外,計算機(jī)還可以包括可以通過輸出外圍接口 233連接的諸如揚聲器244和打印機(jī)243之類的其他外圍輸出設(shè)備。計算機(jī)241可使用至諸如遠(yuǎn)程計算機(jī)246之類的一個或多個遠(yuǎn)程計算機(jī)的邏輯連接在網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計算機(jī)246可以是個人計算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其他常見的網(wǎng)絡(luò)節(jié)點,通常包括上文相對于計算機(jī)241所描述的許多或全部元件,但是圖4中只描繪了存儲器存儲設(shè)備M7。邏輯連接包括局域網(wǎng)(LAN) 245和廣域網(wǎng) (WAN) M9,但也可以包括其他網(wǎng)絡(luò)。這樣的聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍計算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時,計算機(jī)241通過網(wǎng)絡(luò)接口或適配器237連接至LAN 2450當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時,計算機(jī)241通常包括調(diào)制解調(diào)器250或用于通過諸如因特網(wǎng)等WAN 249建立通信的其他手段。調(diào)制解調(diào)器250可以是內(nèi)置或外置的,它可以經(jīng)由用戶輸入接口 236或其他適當(dāng)?shù)臋C(jī)制連接至系統(tǒng)總線221。在網(wǎng)絡(luò)化環(huán)境中,相對于計算機(jī) 241所描述的程序模塊或其部分可被存儲在遠(yuǎn)程存儲器存儲設(shè)備中。作為示例而非限制,圖 4描繪了駐留在存儲器設(shè)備247上的遠(yuǎn)程應(yīng)用程序248。應(yīng)當(dāng)理解,所示的網(wǎng)絡(luò)連接是示例性的,并且可使用在計算機(jī)之間建立通信鏈路的其他手段。計算環(huán)境可包括其上包含有計算機(jī)可讀軟件的有形計算機(jī)可讀存儲,計算機(jī)可讀軟件用于對至少一個處理器進(jìn)行編程以執(zhí)行如此處描述的用于處理深度相機(jī)系統(tǒng)中的圖像數(shù)據(jù)的方法。有形計算機(jī)可讀存儲可包括,例如,組件31、194、222、2;34、235、230、253和 254中的一個或多個。處理器可包括,例如,組件32、192、2四和259中的一個或多個。圖5A描繪了在結(jié)構(gòu)化光系統(tǒng)中的照明幀和所捕捉的幀。照明幀500表示照明器的圖像平面,該照明器將結(jié)構(gòu)化光發(fā)射到照明器的視野中的對象520上。照明幀500包括具有&、y2和&正交軸的軸系統(tǒng)。F2是照明器的焦點,以及&是軸系統(tǒng)的原點,諸如位于照明幀500的中心處。所發(fā)射的結(jié)構(gòu)化光可包括條紋、點或其他已知的照明圖案。類似地, 所捕捉的幀510表示諸如參考圖2討論的傳感器M或四之類的傳感器的圖像平面。所捕捉的幀510包括具有Xl、yi和Z1正交軸的軸系統(tǒng)。F1是傳感器的焦點,以及O1是軸系統(tǒng)的原點,諸如位于所捕捉的幀510的中心處。盡管不是必需的,但出于簡明起見,在這一示例中,Y1和y2是共線對齊的,并且Z1和τ2是平行的。同樣,可使用兩個或更多傳感器,但出于簡明起見,這里只描繪了一個傳感器。所投影的結(jié)構(gòu)化光的光線是從照明器平面中的不同x2、y2位置發(fā)射的,諸如從照明幀500上的點P2所發(fā)射的示例光線502。光線502撞擊對象520,例如,點Ptl處的人,并且在許多方向上反射。光線512是從Ptl行進(jìn)至所捕捉的幀510上的點P1的示例反射光線。 P1由傳感器中的像素表示,使得它的Xl、yji置是已知的。根據(jù)幾何原理,P2位于包括P” F1和F2的平面上。這一平面與照明幀500相交的一部分是外極線(印i-polar)505。通過標(biāo)識結(jié)構(gòu)化光的哪一部分由P2投影,P2沿外極線505的位置可被標(biāo)識。P2是P1的對應(yīng)點。 對象的深度約接近,外極線的長度就越長。隨后,P。沿Z1軸的深度可通過三角測量來確定。這是深度圖中分配給像素P1的深度值。對于照明幀500中的某些點,在所捕捉的幀510中可能沒有對應(yīng)像素,諸如由于遮擋或由于傳感器的有限視野。對于所捕捉的幀510中對應(yīng)點在照明幀500中被標(biāo)識的每一像素,深度值可被獲取。所捕捉的幀510的深度值集提供所捕捉的幀510的深度圖。對于附加傳感器及其相應(yīng)的所捕捉的幀可實現(xiàn)相似的過程。此外,當(dāng)視頻數(shù)據(jù)的連續(xù)幀被獲取后, 可對每一幀實現(xiàn)該過程。圖5B描繪了在立體光系統(tǒng)中的兩個所捕捉的幀。立體處理類似于圖5A中描述的處理,因為兩個幀中的對應(yīng)點被標(biāo)識。然而,在這一情況下,兩個所捕捉的幀中的對應(yīng)像素
12被標(biāo)識,并且照明器被分開地提供。照明器550提供投影在照明器視野中的對象520上的光。這一光可例如由對象反射并由兩個傳感器感測。第一傳感器獲取像素數(shù)據(jù)的幀530,而第二傳感器獲取像素數(shù)據(jù)的幀M0。示例光線532從對象上的點Ptl延伸到幀530中的像素 P2,穿過相關(guān)聯(lián)的傳感器的焦點F2。類似地,示例光線542從對象上的點Ptl延伸到幀540中的像素P1,穿過相關(guān)聯(lián)的傳感器的焦點K。從幀540的角度來看,立體匹配可涉及標(biāo)識外極線545上對應(yīng)于P1的點P2。類似地,從幀530的角度來看,立體匹配可涉及標(biāo)識外極線548 上對應(yīng)于P2的點Pi。由此,立體匹配可分開地執(zhí)行,每次針對一對幀中的一個幀。在某些情況下,可執(zhí)行從第一幀到第二幀在一個方向上的立體匹配,而不執(zhí)行從第二幀到第一幀在其他方向上的立體匹配。Ptl沿Z1軸的深度可通過三角測量來確定。這是深度圖中分配給像素P1的深度值。 對于幀540中的某些點,在幀530中可能沒有對應(yīng)像素,諸如由于遮擋或由于傳感器的有限視野。對于幀MO中對應(yīng)像素在幀530中被標(biāo)識的每一像素,深度值可被獲取。幀MO的深度值集提供幀540的深度圖。類似地,P2沿^軸的深度可通過三角測量來確定。這是深度圖中分配給像素P2的深度值。對于幀530中的某些點,在幀540中可能沒有對應(yīng)像素,諸如由于遮擋或由于傳感器的有限視野。對于幀530中對應(yīng)像素在幀540中被標(biāo)識的每一像素,深度值可被獲取。幀 530的深度值集提供幀530的深度圖。對于附加傳感器及其相應(yīng)的所捕捉的幀可實現(xiàn)相似的過程。此外,當(dāng)視頻數(shù)據(jù)的連續(xù)幀被獲取后,可對每一幀實現(xiàn)該過程。圖6A描繪了帶有在照明器的公共側(cè)的兩個傳感器的成像組件600。照明器沈是用結(jié)構(gòu)化光圖案來照明視野內(nèi)的人類目標(biāo)或其他對象的投影儀。光源可以是例如具有700nm-3,OOOnm波長的紅外激光,包括具有0. 75 μ m_l. 4 μ m波長的近紅外光、具有 3 μ m-8 μ m波長的中等波長的紅外光、以及具有8 μ m-15 μ m波長的長波長的紅外光,該光源是最接近于由人類所發(fā)射的紅外輻射的熱成像區(qū)域。照明器可包括接收激光以及輸出多個衍射的光束的衍射光學(xué)元件(DOE)。一般而言,DOE用于從單個準(zhǔn)直光束提供多個較小的光束,如數(shù)千個較小的光束。每一個較小的光束都具有單個準(zhǔn)直光束的功率的一小部分,并且較小的衍射光束可具有名義上相等的強(qiáng)度。較小光束在所希望的預(yù)定圖案中定義照明器的視野。DOE是光束復(fù)制器,因此所有輸出光束將具有與輸入光束相同的幾何形狀。例如,在運動跟蹤系統(tǒng)中,可能希望以允許跟蹤站在或坐在房間里的人類目標(biāo)的方式來照亮房間。為跟蹤整個人類目標(biāo),視野應(yīng)該在足夠?qū)挼慕嵌龋诟叨群蛯挾确矫嫜由?,以便照亮人類的整個高度和寬度以及當(dāng)與運動跟蹤系統(tǒng)的應(yīng)用程序進(jìn)行交互時人類可以來回移動的區(qū)域??梢曰谥T如人類的預(yù)期高度和寬度之類的因素來設(shè)置適當(dāng)?shù)囊曇?,這些因素包括當(dāng)手臂被抬高到頭上或被抬到側(cè)面時手臂的跨度,當(dāng)與應(yīng)用程序進(jìn)行交互時人類可以移動的區(qū)域的大小,人類與照相機(jī)的預(yù)期的距離,以及照相機(jī)的焦距。如先前討論的,還可提供RGB相機(jī)28。還可在圖6B和6C中提供RGB相機(jī),但出于簡明起見而未描繪。在這一示例中,傳感器M和四位于照明器沈的公共側(cè)。傳感器M位于與照明器26的基線距離BLl處,并且傳感器四位于與照明器沈的基線距離BL2處。由于傳感器四的較短基線,針對較短程成像來優(yōu)化傳感器四,而由于傳感器M的較長基線,針對較長程成像來優(yōu)化傳感器對。此外,對于通常包括大小有限的外殼的成像系統(tǒng)600的固定大小,通過將兩個傳感器放置在照明器的一側(cè),可為距離照明器最遠(yuǎn)的傳感器實現(xiàn)較長基線。 另一方面,較短的基線改進(jìn)了較短程成像,因為假設(shè)一給定焦距,傳感器可聚焦于較近的對象,由此允許對較短距離的更準(zhǔn)確的深度測量。較短基線導(dǎo)致較小差別以及最小遮擋。較長基線改進(jìn)了較長程成像的準(zhǔn)確性,因為對應(yīng)點的各光射線之間存在較大角度,這意味著圖像像素可檢測距離中的更小差異。例如,在圖5A中,可以看到,如果幀500 與510更遠(yuǎn)離,則光線502與512之間的角將更大。并且,在圖5B中,可以看到,如果幀530 與540更遠(yuǎn)離,則光線532與542之間的角將更大。當(dāng)傳感器更遠(yuǎn)離使得光射線之間的角更大時,用于確定深度的三角測量的過程更準(zhǔn)確。除了在成像組件600的外殼的約束下根據(jù)是較短程成像還是較長程成像被優(yōu)化來為傳感器設(shè)置最優(yōu)基線以外,傳感器的其他特征可被設(shè)置成優(yōu)化較短程成像或較長程成像。例如,相機(jī)的空間分辨率可被優(yōu)化。諸如電荷耦合器件(CCD)之類的傳感器的空間分辨率是像素數(shù)量及其相對于所投影的圖像的大小的函數(shù),并且是對該傳感器可檢測出的細(xì)節(jié)有多精細(xì)的測量。與針對較長程成像來優(yōu)化的傳感器相比,對于針對較短程成像來優(yōu)化的傳感器,較低的空間分辨率是可接受的。較低的空間分辨率可通過使用幀中的相對較少的像素和/或相對較大的像素來實現(xiàn),因為由于視野中所檢測的對象的較短深度,像素大小相對于投影圖像是相對較大的。這可導(dǎo)致成本節(jié)省以及降低的能耗。另一方面,與針對較短程成像來優(yōu)化的傳感器相比,對于針對較長程成像來優(yōu)化的傳感器,應(yīng)使用較高的空間分辨率。較高的空間分辨率可通過使用幀中的相對較多的像素和/或相對較小的像素來實現(xiàn),因為由于視野中所檢測的對象的較長深度,像素大小相對于投影圖像是相對較小的。 較高的分辨率在深度測量中產(chǎn)生較高的準(zhǔn)確性??杀辉O(shè)置成優(yōu)化較短程或較長程成像的傳感器的另一特征是敏感性。敏感性指的是傳感器對入射光作出反應(yīng)的程度。敏感性的一個測量是量子效率,該量子效率是入射在傳感器的光反應(yīng)表面(諸如像素)上的光子的百分比,這將產(chǎn)生電子-空穴對。對于針對短程成像來優(yōu)化的傳感器,較低的敏感性是可接受的,因為由于將光子反射回傳感器的對象的較近距離,相對更多光子將入射在每一像素上。較低的敏感性可通過例如導(dǎo)致成本節(jié)省的較低質(zhì)量的傳感器來實現(xiàn)。另一方面,與針對較短程成像來優(yōu)化的傳感器相比,對于針對較長程成像來優(yōu)化的傳感器,應(yīng)使用較高的敏感性。較高的敏感性可通過較高質(zhì)量的傳感器來實現(xiàn),以允許其中由于把光子反射回傳感器的對象的更遠(yuǎn)距離而導(dǎo)致相對較少的光子將入射在每一像素上的檢測??杀辉O(shè)置成優(yōu)化較短程或較長程成像的傳感器的另一特征是曝光時間。曝光時間是在獲取圖像數(shù)據(jù)的幀的過程期間光被允許落在傳感器的像素上的時間量,例如,相機(jī)快門打開的時間。在曝光時間期間,傳感器的像素累積或集成電荷。曝光時間與敏感性有關(guān), 因為較長曝光時間可補償較低的敏感性。然而,為準(zhǔn)確地捕捉較短范圍處的運動序列,較短的曝光時間是合乎需要的,因為成像的對象的給定移動在對象較接近時轉(zhuǎn)換成較大的像素偏移。較短曝光時間可被用于針對較短程成像來優(yōu)化的傳感器,而較長曝光時間可被用于針對較長程成像來優(yōu)化的傳感器。通過使用適當(dāng)?shù)钠毓鈺r間,可避免較近對象的過度曝光 /圖像飽和以及較遠(yuǎn)對象的曝光不足。
1
圖6B描繪了帶有在照明器的一側(cè)的兩個傳感器、以及在該照明器的相對側(cè)的一個傳感器的成像組件610。以此方式添加第三傳感器可導(dǎo)致對象的成像有較少的遮擋、以及由于所獲取的附加深度測量而導(dǎo)致的更準(zhǔn)確的成像。諸如傳感器612之類的一個傳感器可被定位在接近于照明器,而其他兩個傳感器位于照明器的相對側(cè)。在這一示例中,傳感器 24位于距照明器洸的基線距離BLl處,傳感器四位于距照明器洸的基線距離BL2處,以及第三傳感器612位于距照明器沈的基線距離BL3處。圖6C描繪了帶有在照明器的公共側(cè)的三個傳感器的成像組件620。以此方式添加第三傳感器可導(dǎo)致由于所獲取的附加深度測量而導(dǎo)致的更準(zhǔn)確的成像。此外,每一傳感器可針對不同深度范圍來優(yōu)化。例如,位于距照明器的較大基線距離BL3處的傳感器M可針對較長程成像來優(yōu)化。位于距照明器的中等基線距離BL2的傳感器四可針對中程成像來優(yōu)化。并且,位于距照明器的較短基線距離BLl的傳感器612可針對較短程成像來優(yōu)化。 類似地,可為傳感器M、傳感器四和傳感器612將空間分辨率、敏感性和/或曝光時間優(yōu)化至較長程級別、中程級別,以及較短程級別。圖6D描繪了帶有在照明器的相對側(cè)的兩個傳感器的成像組件630,其示出這兩個傳感器如何感測對象的不同部分。傳感器Sl M位于距照明器沈的基線距離BLl處,并且針對較短程成像來優(yōu)化。傳感器S2四位于距照明器沈的基線距離BL2> BLl處,并且針對較長程成像來優(yōu)化。還描繪了 RGB相機(jī)觀。對象660出現(xiàn)在視野中。注意,因為從正面視圖示出成像組件630并且從俯視圖示出對象660,附圖的透視被修改為簡化。光線640和 642是由照明器沈投影的光的示例光線。光線632、634和636是由傳感器Sl對感測的反射光的示例光線,而光線650和652是由傳感器S2 29感測的反射光的示例光線。對象包括由感測器Sl四感測的五個表面。然而,由于遮擋,不是所有表面都被兩個傳感器感測到。例如,表面661僅由傳感器Sl M感測,并且從傳感器S2四的角度來看是被遮擋的。表面662同樣僅由傳感器Sl M感測,并且從傳感器S2四的角度來看是被遮擋的。表面663由傳感器Sl和S2兩者感測。表面664僅由傳感器S2感測,并且從傳感器Sl的角度來看是被遮擋的。表面665僅由傳感器S2感測,并且從傳感器Sl的角度來看是被遮擋的。表面666由傳感器Sl和S2兩者感測。這指示第二傳感器或其他附加傳感器的添加如何可用于對原本會被遮擋的對象的部分進(jìn)行成像。此外,對于使遮擋最小化,將傳感器放置得實際盡可能遠(yuǎn)離照明器常常是期望的。圖7A描繪了用于獲取視野的深度圖的過程。步驟700包括用結(jié)構(gòu)化光的圖案來照明視野??墒褂萌魏晤愋偷慕Y(jié)構(gòu)化光,包括編碼的結(jié)構(gòu)化光。步驟702和704可至少部分地并發(fā)執(zhí)行。步驟702包括檢測第一傳感器處所反射的紅外光,以獲取像素數(shù)據(jù)的第一幀。這一像素數(shù)據(jù)可指示例如在曝光時間期間由每一像素所累積的電荷量,作為從視野中入射在像素上的光量的指示。類似地,步驟704包括檢測第二傳感器處所反射的紅外光,以獲取像素數(shù)據(jù)的第二幀。步驟706包括處理來自兩個幀的像素數(shù)據(jù)以導(dǎo)出合并的深度圖。 這可涉及不同的技術(shù),諸如參考圖7B-7E進(jìn)一步討論的。步驟708包括基于合并的深度圖來提供對應(yīng)用程序的控制輸入。這一控制輸入可用于各種目的,諸如更新化身在顯示器上的位置、在用戶界面(UI)中選擇菜單項、或許多其他可能的動作。圖7B描繪了圖7A的步驟706的進(jìn)一步細(xì)節(jié),其中兩個結(jié)構(gòu)化光深度圖被合并。在該方法中,第一和第二結(jié)構(gòu)化光深度圖分別從第一和第二幀中被獲取,并且兩個深度圖被合并。該過程可延伸至合并兩個或更多中的任意數(shù)量個深度圖。具體地,在步驟720,對于像素數(shù)據(jù)的第一幀中的每一像素(在圖7A的步驟702中獲取),通過匹配結(jié)構(gòu)化光的圖案來嘗試確定照明幀中的對應(yīng)點。在某些情況下,由于遮擋或其他因素,可能無法為第一幀中的一個或多個像素成功地確定照明幀中的對應(yīng)點。在步驟722,提供了第一結(jié)構(gòu)化光深度圖。這一深度圖可標(biāo)識第一幀中的每一像素以及對應(yīng)的深度值。類似地,在步驟724,對于像素數(shù)據(jù)的第二幀中的每一像素(在圖7A的步驟704中獲取),嘗試確定照明幀中的對應(yīng)點。在某些情況下,由于遮擋或其他因素,可能無法為第二幀中的一個或多個像素成功地確定照明幀中的對應(yīng)點。在步驟726,提供了第二結(jié)構(gòu)化光深度圖。這一深度圖可標(biāo)識第二幀中的每一像素以及對應(yīng)的深度值。步驟720和722可至少部分地與步驟7 和7 并發(fā)執(zhí)行。在步驟728,結(jié)構(gòu)化光深度圖被合并,以導(dǎo)出圖7A的步驟706的合并的深度圖。合并可基于不同方法,包括涉及不加權(quán)平均、加權(quán)平均、準(zhǔn)確性測量和/或置信度測量的方法。在一個方法中,對于每一像素,在兩個或更多深度圖之間對深度值求平均。第一幀中第i像素的深度值dl與第二幀中第i像素的深度值d2的示例不加權(quán)平均為 (dl+d2)/2。第一幀中第i像素的權(quán)重為wl的深度值dl與第二幀中第i像素的權(quán)重為w2 的深度值d2的示例加權(quán)平均為(wl*dl+w2*d2) / [ (wl+w2)]。合并深度值的一個方法基于傳感器與照明器之間的基線距離來將權(quán)重分配給幀的深度值,使得在基線距離較大時被分配指示較高置信度的較高權(quán)重,而在基線距離較小時被分配指示較低置信度的較低權(quán)重。這么做是由于較大的基線距離產(chǎn)生較準(zhǔn)確的深度值。例如,在圖6D中,我們可將wl =BLl/ (BL1+BL2)的權(quán)重分配給來自傳感器Sl的深度值,將w2 = BL2/(BL1+BU)的權(quán)重分配給來自傳感器S2的深度值。為了說明,如果我們假設(shè)BL = 1且BL = 2距離單位,則wl = 1/3 且w2 = 2/3??稍诿恳幌袼鼗蛎恳簧疃戎档幕A(chǔ)上應(yīng)用權(quán)重。以上示例可以使用基于圖6D中的距離BL1+BL2從來自傳感器Sl的圖像到來自傳感器S2的圖像的立體匹配所獲取的深度值來擴(kuò)充。在這一情況下,我們可將wl = BLl/ (BL1+BL2+BL1+BL2)分配給來自傳感器Sl的深度值,將w2 = BL2/(BL1+BL2+BL1+BL2)的權(quán)重分配給來自傳感器S2的深度值,并且將w3 = (BL1+BL2) / (BL1+BL2+BL1+BL2)的權(quán)重分配給從自Sl到S2的立體匹配所獲取的深度值。為了說明,如果我們假設(shè)BL = 1且BL = 2距離單位,則wl = 1/6,w2 = 2/6且w3 = 3/6。在進(jìn)一步擴(kuò)充中,深度值是從來自圖6D 中的傳感器S2的圖像到來自傳感器Sl的圖像的立體匹配中獲取的。在這一情況下,我們可將wl = BLl/ (BL1+BL2+BL1+BL2+BL1+BL2)分配給來自傳感器Sl的深度值,將w2 = BL2/ (BL1 +BL2+BL1 +BL2+BL1 +BL2)的權(quán)重分配給來自傳感器S2的深度值,將w3 = (BL1+BL2)/ (BL1 +BL2+BL1 +BL2+BL1 +BL2)的權(quán)重分配給從自Sl到S2的立體匹配所獲取的深度值,并且將w4 = (BL1+BL2) / (BL1+BL2+BL1+BL2+BL1+BL2)的權(quán)重分配給從自S2到Sl的立體匹配所獲取的深度值。為了說明,如果我們假設(shè)BL = 1且BL = 2距離單位,則wl = l/9、w2 =2/9、w3 = 3/9且w4 = 3/9。這只是一種可能性。權(quán)重還可基于置信度測量來提供,使得具有較高置信度測量的深度值被分配較高權(quán)重。在一個方法中,將初始置信度測量分配給每一像素,并且基于對象的深度將不會逐幀快速地變化的假設(shè),為其中深度值在容忍度內(nèi)是相同或接近相同的每一新幀增加置信度測量。例如,在每秒30幀的幀速率的情況下,所跟蹤的人類將不會在各幀之間顯著地移動。 參見題為 “Visual navigation and obstacle avoidance structured light system(可視導(dǎo)航和障礙避免結(jié)構(gòu)化光系統(tǒng))”,8-13-91授權(quán)的美國專利5,040, 116,其通過引用結(jié)合于此,以供進(jìn)一步詳述。在另一方法中,置信度測量是對深度值中的噪聲的測量。例如,假設(shè)實際上不太可能出現(xiàn)相鄰像素之間的深度值的大變化,這樣的深度值的大變換可以是較大噪聲量的指示,導(dǎo)致較低置信度測量。參見題為“System and method of using range image data with machine vision tools (使用帶有機(jī)器視覺工具的范圍圖像數(shù)據(jù)的系統(tǒng)和方法)”,6-15-04授權(quán)的美國專利6,751,338,其通過引用結(jié)合于此,以供進(jìn)一步詳述。用于分配置信度測量的其他方法也是可能的。在一個方法中,定義了“主”相機(jī)坐標(biāo)系統(tǒng),并且我們將其他深度圖像變換并重新采樣至“主”坐標(biāo)系統(tǒng)。一旦我們有了匹配圖像,則我們可選擇考慮一個或多個樣本,其中我們可對其置信度進(jìn)行加權(quán)。平均是一種方案,但不一定是最好的方案,因為它不能解決遮擋的情況,其中每一相機(jī)可能成功地觀察空間中的不同位置。置信度測量可與深度圖中的每一深度值相關(guān)聯(lián)。另一方法是合并3D空間中的數(shù)據(jù),其中不存在圖像像素。在3-D中, 可利用體積方法。為確定像素是否已經(jīng)與圖案正確地匹配并由此具有正確的深度數(shù)據(jù),我們通常在圖像與已知的所投影的圖案之間執(zhí)行相關(guān)或歸一化相關(guān)。這是沿著傳感器與照明器之間的外極線來完成的。成功的匹配由可與高置信度測量相關(guān)聯(lián)的、相關(guān)的相對強(qiáng)的局部最大值來指示。另一方面,相關(guān)的相對弱的局部最大值可與低置信度測量相關(guān)聯(lián)。權(quán)重還可基于準(zhǔn)確性測量來提供,使得具有較高準(zhǔn)確性測量的深度值被分配較高權(quán)重。例如,基于空間分辨率、各傳感器與照明器之間以及各傳感器之間的基線距離,我們可為每一深度樣本分配準(zhǔn)確性測量。用于確定準(zhǔn)確性測量的各種技術(shù)是已知的。例如,參見加拿大不列顛哥倫比亞的里士滿,Point Grey Research (Point Grey研究所)于2004年 4 月 19 日,“Mereo Accuracy and Error Modeling(立體準(zhǔn)確性和誤差建模)”,http:// www. ptgrey. com/support/kb/data/kbStereoAccuracyShort. pdf。隨后,我 〕可基于這些準(zhǔn)確性來計算加權(quán)平均。例如,對于所測量的3D點,我們分配權(quán)重Wi = exp(-準(zhǔn)確性」), 其中準(zhǔn)確性_i為準(zhǔn)確性測量,并且平均的3D點為Ptjs= sum(ffi*Pi)/sum(Wi)。隨后,使用這些權(quán)重,在3-D中接近的點樣本可使用加權(quán)平均來合并。為合并3D中的深度值數(shù)據(jù),我們可使用(X,Y,Z)=深度*光線+原點來將所有深度圖像投影到3D空間,其中,光線為從像素至傳感器的焦點的3D向量,原點是傳感器的焦點在3D空間中的位置。在3D空間中,我們?yōu)槊恳簧疃葦?shù)據(jù)點的計算法線方向。此外,對于每一數(shù)據(jù)點,我們從其他源查找一附近的數(shù)據(jù)點。在以下情況中其他數(shù)據(jù)點足夠接近并且這些點的法向向量之間的點積是正的,這意味著它們被相似地定向且不是對象的兩側(cè),則我們將這些點合并成單個點。這一合并可例如通過計算這些點的3D位置的加權(quán)平均來執(zhí)行。權(quán)重可由測量的置信度來定義,其中置信度測量基于相關(guān)分?jǐn)?shù)。圖7C描繪了圖7Α的步驟706的進(jìn)一步細(xì)節(jié),其中兩個結(jié)構(gòu)化光深度圖和兩個立體深度圖被合并。在這一方法中,第一和第二結(jié)構(gòu)化光深度圖分別從第一和第二幀中獲取。 另外,一個或多個立體深度圖被獲取。第一和第二結(jié)構(gòu)化深度圖和一個或多個立體深度圖被合并。該過程可延伸至合并兩個或更多中的任何數(shù)量個深度圖。步驟740和742可至少部分地與步驟744和746、步驟748和750、以及步驟752和754并發(fā)執(zhí)行。在步驟740,對于像素數(shù)據(jù)的第一幀中的每一像素,我們確定照明幀中的對應(yīng)點,并且在步驟742,我們提供第一結(jié)構(gòu)化光深度圖。在步驟744,對于像素數(shù)據(jù)的第一幀中的每一像素,我們確定像素數(shù)據(jù)的第二幀中的對應(yīng)像素,并且在步驟746,我們提供第一立體深度圖。在步驟748,對于像素數(shù)據(jù)的第二幀中的每一像素,我們確定照明幀中的對應(yīng)點,并且在步驟750,我們提供第二結(jié)構(gòu)化光深度圖。在步驟752,對于像素數(shù)據(jù)的第二幀中的每一像素,我們確定像素數(shù)據(jù)的第一幀中的對應(yīng)像素,并且在步驟754,我們提供第二立體深度圖。步驟756包括合并不同的深度圖。合并可基于不同方法,包括涉及不加權(quán)平均、加權(quán)平均、準(zhǔn)確性測量和/或置信度測量的方法。在這一方法中,兩個立體深度圖與兩個結(jié)構(gòu)化光深度圖合并。在一個選項中,該合并在單個合并步驟中一起考慮所有的深度圖。在另一可能的方法中,該合并發(fā)生在多個步驟中。例如,可合并結(jié)構(gòu)化光深度圖以獲取第一個合并的深度圖,可合并立體深度圖以獲取第二個合并的深度圖,合并該第一個和第二個合并的深度圖以獲取最終合并的深度圖。在其中合并發(fā)生在多個步驟中的另一選項中,第一結(jié)構(gòu)化光深度圖與第一立體深度圖合并以獲取第一個合并的深度圖,第二結(jié)構(gòu)化光深度圖與第二立體深度圖合并以獲取第二個合并的深度圖,以及合并該第一個和第二個合并的深度圖以獲取最終合并的深度圖。其他方法也是可能的。在另一方法中,只有一個立體深度圖與兩個結(jié)構(gòu)化光深度圖合并。該合并可在一個或多個步驟中發(fā)生。在多步驟方法中,第一結(jié)構(gòu)化光深度圖與立體深度圖合并以獲取第一個合并的深度圖,以及第二結(jié)構(gòu)化光深度圖與立體深度圖合并以獲取最終合并的深度圖?;蛘?,合并兩個結(jié)構(gòu)化光深度圖以獲取第一個合并的深度圖,以及第一個合并的深度圖與立體深度圖合并以獲取最終合并的深度圖。其他方法是可能的。圖7D描繪了圖7A的步驟706的進(jìn)一步細(xì)節(jié),其中,使用立體匹配按需對各深度值進(jìn)行細(xì)化。這一方法是自適應(yīng)的,因為立體匹配被用于響應(yīng)于檢測到指示期望細(xì)化的條件來細(xì)化一個或多個深度值。立體匹配可僅針對幀中的像素子集來執(zhí)行。在一個方法中,在像素不能匹配到結(jié)構(gòu)化光圖案時,對該像素的深度值細(xì)化是期望的,使得該深度值為空或默認(rèn)值。像素可能由于遮擋、陰影、光照條件、表面紋理或其他原因而沒有被匹配到結(jié)構(gòu)光圖案。在這一情況下,立體匹配可提供深度值(其中先前沒有獲取深度值),或在某些情況下,由于傳感器由比傳感器與照明器之間的基線間隔更大的基線所間隔開,立體匹配可提供更準(zhǔn)確的深度值。例如,參見圖2、6B和6D。在另一方法中,在像素的深度值超出閾值距離時,這指示對象上的對應(yīng)點距離傳感器相對遠(yuǎn),則對該深度值的細(xì)化是期望的。在這一情況下,立體匹配可在各傳感器之間的基線大于各傳感器中的每一個與照明器之間的基線的情況下提供更準(zhǔn)確的深度值。細(xì)化可涉及提供深度值(其中之前沒有提供過),或例如基于涉及不加權(quán)平均、加權(quán)平均、準(zhǔn)確性測量和/或置信度測量的不同方法來合并深度值。此外,在深度值被合并之前,細(xì)化可針對每一傳感器的各幀分開地執(zhí)行。通過僅對于檢測到指示期望細(xì)化的條件來針對像素執(zhí)行立體匹配,避免了不必要的處理。對于沒有檢測到指示期望細(xì)化的條件,不對像素執(zhí)行立體匹配。然而,當(dāng)檢測到一條件,該條件該指示細(xì)化對于幀的一個或多個像素是期望的時,對整個幀執(zhí)行立體匹配也是可能的。在一個方法中,當(dāng)對于幀中像素的最小數(shù)量部分的細(xì)化被指示時,發(fā)起對整個幀的立體匹配。在步驟760,對于像素數(shù)據(jù)的第一幀中的每一像素,我們確定照明幀中的對應(yīng)點, 并且在步驟761,我們提供對應(yīng)的第一結(jié)構(gòu)化光深度圖。判定步驟7 確定對深度值的細(xì)化是否被指示。可評估對于像素數(shù)據(jù)的第一幀中每一像素的準(zhǔn)則,并且在一個方法中,準(zhǔn)則可指示對與該像素相關(guān)聯(lián)的深度值的細(xì)化是否是期望的。在一個方法中,當(dāng)相關(guān)聯(lián)的深度值不可用或不可靠時,細(xì)化是期望的。不可靠性可基于例如準(zhǔn)確性測量和/或置信度測量。 如果置信度測量超出閾值置信度測量,則深度值可被認(rèn)為是可靠的?;蛘?,如果準(zhǔn)確性測量超出閾值準(zhǔn)確性測量,則深度值可被認(rèn)為是可靠的。在另一方法中,為使深度值被認(rèn)為是可靠的,置信度測量和準(zhǔn)確性測量必須都超出相應(yīng)的閾值水平。在另一方法中,當(dāng)相關(guān)聯(lián)的深度值指示深度相對遠(yuǎn)時,諸如當(dāng)深度超出閾值深度時,細(xì)化是期望的。如果期望細(xì)化,則步驟736執(zhí)行像素數(shù)據(jù)的第一幀的一個或多個像素到像素數(shù)據(jù)的第二幀的一個或多個像素的立體匹配。這得到像素數(shù)據(jù)的第一幀的一個或多個附加深度值。類似地,對于像素數(shù)據(jù)的第二幀,在步驟764,對于像素數(shù)據(jù)的第二幀中的每一像素,我們確定照明幀中的對應(yīng)點,并且在步驟765,我們提供對應(yīng)的第二結(jié)構(gòu)化光深度圖。判定步驟766確定對深度值的細(xì)化是否被指示。如果期望細(xì)化,則步驟767執(zhí)行像素數(shù)據(jù)的第二幀的一個或多個像素到像素數(shù)據(jù)的第一幀的一個或多個像素的立體匹配。這得到像素數(shù)據(jù)的第二幀的一個或多個附加深度值。步驟768合并像素數(shù)據(jù)的第一幀和第二幀的深度圖,其中該合并包括從步驟763 和/或767的立體匹配中獲取的深度值。合并可基于不同方法,包括涉及不加權(quán)平均、加權(quán)平均、準(zhǔn)確性測量和/或置信度測量的方法。注意,對于細(xì)化被指示的給定像素,該合并可將來自第一結(jié)構(gòu)化光深度圖的深度值、來自第二結(jié)構(gòu)化光深度圖的深度值、以及來自立體匹配的一個或多個深度值進(jìn)行合并。 與丟棄來自結(jié)構(gòu)化光深度圖的深度值并使用來自立體匹配的深度值來替換它的方法相比, 這一方法可提供更可靠的結(jié)果。圖7E描繪了圖7A的步驟706的另一方法的進(jìn)一步細(xì)節(jié),其中,使用立體匹配按需對合并的深度圖的各深度值進(jìn)行細(xì)化。在這一方法中,對通過到結(jié)構(gòu)化光圖案的匹配所獲取的深度圖的合并發(fā)生在細(xì)化過程之前。步驟760、761、764和765與圖7D中相同編號的步驟相同。步驟770合并結(jié)構(gòu)化光深度圖。該合并可基于不同方法,包括涉及不加權(quán)平均、 加權(quán)平均、準(zhǔn)確性測量和/或置信度測量的方法。步驟771類似于圖7D的步驟762和766, 并涉及確定對深度值的細(xì)化是否被指示??稍u估對于合并的深度圖中每一像素的準(zhǔn)則,并且在一個方法中,準(zhǔn)則可指示對與像素相關(guān)聯(lián)的深度值的細(xì)化是否是期望的。在一個方法中,當(dāng)相關(guān)聯(lián)的深度值不可用或不可靠時,細(xì)化是期望的。不可靠性可基于例如準(zhǔn)確性測量和/或置信度測量。如果置信度測量超出閾值置信度測量,則深度值可被認(rèn)為是可靠的。或者,如果準(zhǔn)確性測量超出閾值準(zhǔn)確性測量,則深度值可被認(rèn)為是可靠的。在另一方法中,為使深度值被認(rèn)為是可靠的,置信度測量和準(zhǔn)確性測量必須都超出相應(yīng)的閾值水平。在另一方法中,當(dāng)相關(guān)聯(lián)的深度值指示深度相對遠(yuǎn)時,諸如當(dāng)深度超出閾值深度時,細(xì)化是期望的。如果期望細(xì)化,則可執(zhí)行步驟772和/或步驟773。在某些情況下,通過將一個幀中的像素匹配到另一幀中的像素來在
19一個方向上執(zhí)行立體匹配是足夠的。在其他情況下,可在兩個方向上執(zhí)行立體匹配。步驟 772執(zhí)行像素數(shù)據(jù)的第一幀的一個或多個像素到像素數(shù)據(jù)的第二幀的一個或多個像素的立體匹配。這得到像素數(shù)據(jù)的第一幀的一個或多個附加深度值。步驟773執(zhí)行像素數(shù)據(jù)的第二幀的一個或多個像素到像素數(shù)據(jù)的第一幀的一個或多個像素的立體匹配。這得到像素數(shù)據(jù)的第二幀的一個或多個附加深度值。步驟774為已執(zhí)行立體匹配的一個或多個所選擇的像素對步驟770的合并的深度圖進(jìn)行細(xì)化。該細(xì)化可涉及基于不同方法來合并深度值,該不同方法包括涉及不加權(quán)平均、 加權(quán)平均、準(zhǔn)確性測量和/或置信度測量的方法。如果在判定步驟771處不期望細(xì)化,則該過程在步驟775處結(jié)束。圖8描繪了如在圖7A的步驟708中闡述的用于使用控制輸入來跟蹤人類目標(biāo)的示例方法。如上所述,深度相機(jī)系統(tǒng)可被用于跟蹤用戶的移動,諸如姿勢。該移動可在應(yīng)用程序處作為控制輸入來處理。例如,這可包括更新顯示器上的化身的位置(其中如在圖1 中所描繪的,該化身表示用戶),選擇用戶界面(UI)中的一個菜單項,或者許多其他可能的動作。示例方法可以使用例如深度相機(jī)系統(tǒng)20和/或計算環(huán)境12、100或420來實現(xiàn), 如參考圖2-4所討論的。可以掃描一個或多個人類目標(biāo),以生成諸如骨架模型、網(wǎng)格人模型之類的模型,或人的任何其他合適的表示。在骨架模型中,每一個身體部位都可以被表征為定義骨架模型的關(guān)節(jié)和骨頭的數(shù)學(xué)矢量。身體部位在關(guān)節(jié)處可以相對于彼此移動。然后,可以使用該模型來與由計算環(huán)境執(zhí)行的應(yīng)用程序進(jìn)行交互。掃描以生成模型可以在應(yīng)用程序被啟動或運行時發(fā)生,或在如被掃描的人通過應(yīng)用程序控制的其他時候發(fā)生。人可以被掃描以生成骨架模型,該骨架模型可以被跟蹤,以便用戶的物理移動或運動可以充當(dāng)調(diào)整和/或控制應(yīng)用程序的參數(shù)的實時用戶界面。例如,所跟蹤的個人的移動可用于在電子角色扮演游戲中移動化身或其他屏幕上人物,在電子賽車游戲中控制屏幕上車輛,在虛擬環(huán)境中控制對象的構(gòu)成或組織,或執(zhí)行應(yīng)用的任何其他合適的控制。根據(jù)一個實施方式,在步驟800中,例如,從深度相機(jī)系統(tǒng)接收深度信息。深度相機(jī)系統(tǒng)可以捕捉或觀察可包括一個或多個目標(biāo)的視野。深度信息可包括具有多個觀察到的像素的深度圖像或圖,其中,每一個觀察到的像素都具有觀察到的深度值,如所討論的??梢詫⑸疃葓D像降采樣到較低的處理分辨率,以便可以更加輕松地利用較少的計算開銷來使用和處理它。另外,可從深度圖像中移除和/或平滑掉一個或多個高變度和/ 或含噪聲的深度值;可填入和/或重構(gòu)缺少的和/或移除的深度信息的部分;和/或可對所接收的深度信息執(zhí)行任何其他合適的處理,使得該深度信息可用于生成諸如骨架模型等模型(見圖9)。步驟802判斷深度圖像是否包括人類目標(biāo)。這可包括對深度圖像中的每一個目標(biāo)或?qū)ο筮M(jìn)行泛色填充,將每一個目標(biāo)或?qū)ο笈c圖案進(jìn)行比較以判斷深度圖像是否包括人類目標(biāo)。例如,可以將深度圖像的選定區(qū)域或點中的像素的各種深度值進(jìn)行比較,以確定可以定義目標(biāo)或?qū)ο蟮倪吘?,如上文所描述的??梢曰谒_定的邊緣,對Z層的可能的Z值進(jìn)行泛色填充。例如,與確定的邊緣相關(guān)聯(lián)的像素和該邊緣內(nèi)的區(qū)域的像素可以彼此相關(guān)聯(lián), 以定義可以與圖案相比較的捕捉區(qū)域中的目標(biāo)或?qū)ο?,下面將更詳?xì)地描述。
如果深度圖像包括人類目標(biāo),則在判斷步驟804,執(zhí)行步驟806。如果判斷步驟804 為假,則在步驟800中接收附加的深度信息每一個目標(biāo)或?qū)ο笈c其比較的圖案可包括一個或多個數(shù)據(jù)結(jié)構(gòu),這些數(shù)據(jù)結(jié)構(gòu)具有共同地定義人的典型身體的變量集合。可以將與例如視野內(nèi)的人類目標(biāo)和非人類目標(biāo)的像素相關(guān)聯(lián)的信息與變量進(jìn)行比較,以標(biāo)識人類目標(biāo)。在一個實施例中,可以基于身體部位,對該集合中的每一個變量賦予權(quán)重。例如,圖案中的諸如頭和/或肩之類的各種身體部位可以具有與其相關(guān)聯(lián)的權(quán)重值,這些權(quán)重值可以大于諸如腿之類的其他身體部位的權(quán)重值。根據(jù)一個實施方式,當(dāng)將目標(biāo)與變量進(jìn)行比較以判斷目標(biāo)是否可能是人類以及哪些目標(biāo)可能是人類時,可以使用權(quán)重值。例如,變量和目標(biāo)之間具有較大的權(quán)重值的匹配與具有較小權(quán)重值的匹配相比可產(chǎn)生目標(biāo)是人類的更大似然性。步驟806包括掃描人類目標(biāo)以尋找身體部位??梢話呙枞祟惸繕?biāo),以提供與人的一個或多個身體部位相關(guān)聯(lián)的諸如長度、寬度等等之類的測量值,以提供該人的準(zhǔn)確模型。 在一示例實施例中,人類目標(biāo)可以被隔離,并且可以創(chuàng)建人類目標(biāo)的位掩模來掃描一個或多個身體部位??梢酝ㄟ^例如對人目標(biāo)進(jìn)行泛色填充來創(chuàng)建位掩模,以便人類目標(biāo)可以與捕捉區(qū)域元素中的其他目標(biāo)或?qū)ο蠓蛛x。然后,可以對于一個或多個身體部位分析位掩模, 以生成人類目標(biāo)的模型,如骨架模型、網(wǎng)格人類模型等等。例如,根據(jù)一個實施例,可以使用由掃描的位掩模確定的測量值來定義骨架模型中的一個或多個關(guān)節(jié)??梢允褂靡粋€或多個關(guān)節(jié)來定義可以對應(yīng)于人類的身體部位的一個或多個骨骼。例如,人類目標(biāo)的位掩模的頂部可以與頭的頂部的位置相關(guān)聯(lián)。在確定頭的頂部之后,可以向下掃描位掩模,以便隨后確定頸的位置、肩的位置等等??梢詫⒗缥挥诒粧呙璧奈恢玫奈谎谀5膶挾扰c和例如頸、肩等等相關(guān)聯(lián)的典型寬度的閾值進(jìn)行比較。在一替換實施例中,可以使用與掃描的并與位掩模中的身體部位相關(guān)聯(lián)的先前位置的距離來確定頸部、肩膀等的位置??梢曰诶缙渌眢w部位的位置來計算諸如腿、腳等等之類的某些身體部位。在確定一個身體部位的值后,創(chuàng)建包括該身體部位的測量值的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)可包括來自由深度相機(jī)系統(tǒng)在不同的時間點提供的多個深度圖像的平均掃描結(jié)果。步驟808包括生成人類目標(biāo)的模型。在一個實施方式中,可以使用由掃描的位掩模確定的測量值來定義骨架模型中的一個或多個關(guān)節(jié)。一個或多個關(guān)節(jié)被用來定義對應(yīng)于人類的身體部位的一個或多個骨頭。可以調(diào)整一個或多個關(guān)節(jié),直到各關(guān)節(jié)在一個關(guān)節(jié)和人類的一個身體部位之間的典型距離范圍之內(nèi),以生成更加準(zhǔn)確的骨架模型。還可以基于例如與人類目標(biāo)相關(guān)聯(lián)的身高來進(jìn)一步調(diào)整模型。在步驟810中,通過每秒鐘多次更新人的位置,來跟蹤模型。隨著用戶在物理空間中移動,使用來自深度相機(jī)系統(tǒng)的信息來調(diào)整骨架模型,以使該骨架模型表示人。具體而言,可以向骨架模型的一個或多個受力面施加一個或多個力,以將骨架模型調(diào)整為更加緊密地對應(yīng)于物理空間中的人類目標(biāo)的姿態(tài)的姿態(tài)。一般而言,可以使用用于跟蹤人的移動的任何已知技術(shù)。圖9描繪了如在圖8的步驟808中闡述的人類目標(biāo)的示例模型。模型900在圖1 的-ζ方向上面向深度相機(jī),以致于所示出的截面位于χ-y平面。該模型包括許多參考點, 如頭的頂部902、頭的底部或下巴913、右肩904、右肘906、右手腕908和右手910,如例如
21由指尖區(qū)域所表示的。右側(cè)和左側(cè)是從面向相機(jī)的用戶的角度定義的。該模型還包括左肩 914、左肘916、左手腕918和左手920。還描繪了腰部區(qū)域922,以及右臀924、右膝926、右腳928、左臀930、左膝932和左腳934。肩線912是肩904和914之間的線,通常是水平的。 例如,還描繪了在點922和913之間延伸的上軀干中心線925。因此,可以看到,提供了具有多個優(yōu)點的深度相機(jī)系統(tǒng)。一個優(yōu)點是減小的遮擋。 由于較寬的基線被使用,一個傳感器可以看到對于另一個傳感器是遮擋的信息。與由單個傳感器所產(chǎn)生的圖相比,兩個深度圖的融合產(chǎn)生具有更可觀察的對象的3D圖像。另一優(yōu)點是減小的陰影效果。結(jié)構(gòu)化光方法在對傳感器可見但對光源不“可見”的位置固有地產(chǎn)生陰影效果。通過在這些區(qū)中應(yīng)用立體匹配,這一效果可被減小。另一優(yōu)點是對外部光的穩(wěn)健性。存在許多情形,其中外部光照可能中斷結(jié)構(gòu)化光相機(jī),使得結(jié)構(gòu)化光相機(jī)不能產(chǎn)生有效結(jié)果。在那些情況下,立體數(shù)據(jù)被獲取作為附加的測量,因為外部光照可實際地幫助它測量距離。注意到外部光可來自正在看相同場景的相同相機(jī)。換言之,操作所建議的相機(jī)中正在看相同場景的兩個或更多相機(jī)變成可能。這是由于以下事實即使由一個相機(jī)所產(chǎn)生的光圖案可中斷其他相機(jī)正確地匹配圖案,立體匹配仍然有可能成功。另一優(yōu)點是,由于兩個傳感器具有較寬的基線的事實,使用所建議的配置來實現(xiàn)遠(yuǎn)距離處的更大的準(zhǔn)確性是可能的。結(jié)構(gòu)化光和立體測量準(zhǔn)確性兩者都嚴(yán)重地取決于各傳感器/投影儀之間的距離。前面的對本技術(shù)的詳細(xì)描述只是為了說明和描述。它不是為了詳盡的解釋或?qū)⒈炯夹g(shù)限制在所公開的準(zhǔn)確的形式。鑒于上述教導(dǎo),許多修改和變型都是可能的。所描述的實施例只是為了最好地說明本技術(shù)的原理以及其實際應(yīng)用,從而使精通本技術(shù)的其他人在各種實施例中最佳地利用本技術(shù),適合于特定用途的各種修改也是可以的。本技術(shù)的范圍由所附的權(quán)利要求進(jìn)行定義。
權(quán)利要求
1.一種深度相機(jī)系統(tǒng),包括照明器(26),所述照明器06)用結(jié)構(gòu)化光的圖案來照明視野(6)中的對象(8); 第一傳感器(M),所述第一傳感器04)感測從所述對象反射的光,以獲取像素數(shù)據(jù)的第一幀,所述第一傳感器針對較短程成像來優(yōu)化;第二傳感器( ),所述第二傳感器09)感測從所述對象反射的光,以獲取像素數(shù)據(jù)的第二幀,所述第二傳感器針對較長程成像來優(yōu)化;以及至少一個控制電路(32、192),所述至少一個控制電路(32、19 通過將所述像素數(shù)據(jù)的第一幀與所述結(jié)構(gòu)化光的圖案相比較來導(dǎo)出所述對象的第一結(jié)構(gòu)化光深度圖,通過將所述像素數(shù)據(jù)的第二幀與所述結(jié)構(gòu)化光的圖案相比較來導(dǎo)出所述對象的第二結(jié)構(gòu)化光深度圖,并且導(dǎo)出基于所述第一和第二結(jié)構(gòu)化光深度圖的合并的深度圖。
2.如權(quán)利要求1所述的深度相機(jī)系統(tǒng),其特征在于所述第一傳感器與所述照明器之間的基線距離(BLl)小于所述第二傳感器與所述照明器之間的基線距離(BL2)。
3.如權(quán)利要求2所述的深度相機(jī)系統(tǒng),其特征在于 所述第一傳感器的曝光時間短于所述第二傳感器的曝光時間。
4.如權(quán)利要求2所述的深度相機(jī)系統(tǒng),其特征在于所述第一傳感器的敏感性低于所述第二傳感器的敏感性。
5.如權(quán)利要求2所述的深度相機(jī)系統(tǒng),其特征在于 所述第一傳感器的空間分辨率小于所述第二傳感器的分辨率。
6.如權(quán)利要求1所述的深度相機(jī)系統(tǒng),其特征在于 所述第二結(jié)構(gòu)化光深度圖包括深度值;以及在導(dǎo)出所述合并的深度圖時,對所述第二結(jié)構(gòu)化光深度圖中的深度值給予比所述第一結(jié)構(gòu)化光深度圖中的深度值更重的權(quán)重。
7.如權(quán)利要求1所述的深度相機(jī)系統(tǒng),其特征在于所述至少一個控制電路基于所述對象的至少一個立體深度圖來導(dǎo)出所述合并的深度圖,其中所述至少一個控制電路通過至少以下各項中的至少一個來導(dǎo)出所述至少一個立體深度圖(i)所述像素數(shù)據(jù)的第一幀到所述像素數(shù)據(jù)的第二幀的立體匹配,以及(ii)所述像素數(shù)據(jù)的第二幀到所述像素數(shù)據(jù)的第一幀的立體匹配。
8.如權(quán)利要求7所述的深度相機(jī)系統(tǒng),其特征在于所述第一和第二結(jié)構(gòu)化光深度圖以及所述至少一個立體深度圖包括深度值;以及所述至少一個控制電路將第一組權(quán)重分配給所述對象的第一結(jié)構(gòu)化光深度圖中的深度值,將第二組權(quán)重分配給所述對象的第二結(jié)構(gòu)化光深度圖中的深度值,將第三組權(quán)重分配給所述對象的第一立體深度圖中的深度值,并且導(dǎo)出基于所述第一、第二和第三組權(quán)重的所述合并的深度圖。
9.如權(quán)利要求8所述的深度相機(jī)系統(tǒng),其特征在于所述第一組權(quán)重基于所述第一傳感器與所述照明器之間的基線距離來分配; 所述第二組權(quán)重基于所述第二傳感器與所述照明器之間的基線距離來分配;以及所述第三組權(quán)重基于所述第一傳感器與第二傳感器之間的基線距離來分配。
10.一種用于處理深度相機(jī)系統(tǒng)中的圖像數(shù)據(jù)的方法,包括用結(jié)構(gòu)化光的圖案來照明視野(6)中的對象(8);在第一傳感器04)處,感測從所述對象反射的光,以獲取像素數(shù)據(jù)的第一幀(510);在第二傳感器09)處,感測從所述對象反射的光,以獲取像素數(shù)據(jù)的第二幀;通過將所述像素數(shù)據(jù)的第一幀與所述結(jié)構(gòu)化光的圖案相比較來導(dǎo)出所述對象的第一結(jié)構(gòu)化光深度圖,所述第一結(jié)構(gòu)化光深度圖包括所述像素數(shù)據(jù)的第一幀的像素的深度值;通過將所述像素數(shù)據(jù)的第二幀與所述結(jié)構(gòu)化光的圖案相比較來導(dǎo)出所述對象的第二結(jié)構(gòu)化光深度圖,所述第二結(jié)構(gòu)化光深度圖包括所述像素數(shù)據(jù)的第二幀的像素的深度值;確定是否期望對像素數(shù)據(jù)圖的第一幀的一個或多個像素的深度值進(jìn)行細(xì)化;以及如果期望細(xì)化,則執(zhí)行所述像素數(shù)據(jù)的第一幀的一個或多個像素到所述像素數(shù)據(jù)的第二幀的一個或多個像素的立體匹配。
11.如權(quán)利要求10所述的方法,其特征在于在將所述像素數(shù)據(jù)的第一幀與所述結(jié)構(gòu)化光的圖案相比較中,當(dāng)所述像素數(shù)據(jù)的第一幀的一個或多個像素沒有被成功地匹配到所述結(jié)構(gòu)化光的圖案時,期望所述細(xì)化。
12.如權(quán)利要求10所述的方法,其特征在于當(dāng)所述深度值超出閾值距離時,期望所述細(xì)化。
13.如權(quán)利要求10所述的方法,其特征在于所述第一傳感器與所述第二傳感器之間的基線距離(BL1+BL2)大于所述第一傳感器與所述照明器之間的基線距離(BLl),并且大于所述第二傳感器與所述照明器之間的基線距離(BU)。
14.如權(quán)利要求10所述的方法,其特征在于所述立體匹配是針對期望細(xì)化的所述像素數(shù)據(jù)的第一幀的一個或多個像素來執(zhí)行的, 而不是針對不期望細(xì)化的所述像素數(shù)據(jù)的第一幀的一個或多個像素。
15.如權(quán)利要求10所述的方法,其特征在于如果期望所述細(xì)化,則基于所述立體匹配以及所述第一和第二結(jié)構(gòu)化光深度圖來提供合并的深度圖。
全文摘要
本發(fā)明公開了基于結(jié)構(gòu)化光和立體視覺的深度相機(jī)。深度相機(jī)系統(tǒng)諸如在跟蹤視野中的用戶的運動的系統(tǒng)中使用結(jié)構(gòu)化光照明器和多個傳感器,諸如紅外光檢測器。一個傳感器可針對較短程檢測來優(yōu)化,而另一傳感器針對較長程檢測來優(yōu)化。這些傳感器可具有距該照明器不同的基線距離、以及不同的空間分辨率、曝光時間和敏感性。在一個方法中,通過匹配到結(jié)構(gòu)化光圖案從每一傳感器獲取各深度值,并且各深度值被合并,以獲取作為到應(yīng)用程序的輸入來提供的最終深度圖。該合并可涉及不加權(quán)平均、加權(quán)平均、準(zhǔn)確性測量和/或置信度測量。在另一方法中,使用各傳感器的像素數(shù)據(jù)之間的立體匹配來獲取包括在該合并中的各附加深度值。
文檔編號H04N5/232GK102385237SQ20111028545
公開日2012年3月21日 申請日期2011年9月7日 優(yōu)先權(quán)日2010年9月8日
發(fā)明者A·阿德勒, S·卡茨 申請人:微軟公司