背景技術(shù):
來(lái)自圖像數(shù)據(jù)的實(shí)時(shí)鉸接式手動(dòng)跟蹤具有打開(kāi)新人機(jī)交互場(chǎng)景的潛能。然而,人手的靈活性和自由度使得完全地鉸接式手動(dòng)的視覺(jué)跟蹤更具挑戰(zhàn)性。這還適于實(shí)時(shí)鉸接式身體跟蹤。
在此所描述的實(shí)施例不限于解決已知手部/身體姿勢(shì)跟蹤器的缺點(diǎn)中的任何或全部的實(shí)現(xiàn)。
技術(shù)實(shí)現(xiàn)要素:
以下呈現(xiàn)本公開(kāi)的簡(jiǎn)化概要以便向讀者提供基本理解。該概要不是本公開(kāi)的廣泛概述并且不標(biāo)識(shí)關(guān)鍵/重要元素或描繪說(shuō)明書(shū)的范圍。其唯一目的是以簡(jiǎn)化形式將在此所公開(kāi)的概念的選擇呈現(xiàn)為稍后呈現(xiàn)的更詳細(xì)描述的前序。
描述了跟蹤來(lái)自圖像數(shù)據(jù)的手部或身體姿勢(shì),以例如控制游戲系統(tǒng)、自然用戶(hù)接口或用于增強(qiáng)現(xiàn)實(shí)。在各種示例中,預(yù)測(cè)引擎取得圖像數(shù)據(jù)的單個(gè)幀,并且預(yù)測(cè)圖像數(shù)據(jù)中所描繪的手部或身體的姿勢(shì)上的分布。在示例中,隨機(jī)優(yōu)化器具有其迭代地提煉的手部或身體的候選姿勢(shì)池,并且來(lái)自所預(yù)測(cè)的分布的樣本用于替換池中的一些候選姿勢(shì)。在一些示例中,來(lái)自池的最佳候選姿勢(shì)被選擇作為當(dāng)前跟蹤的姿勢(shì)并且選擇過(guò)程使用手部或身體的3d模型。
通過(guò)參考結(jié)合附圖考慮的以下詳細(xì)描述,由于許多伴隨特征將變得更好理解,因此其將被更容易地理解。
附圖說(shuō)明
從根據(jù)附圖閱讀的以下詳細(xì)描述,將更好地理解本描述。
圖1是使用向前、向上或在用戶(hù)的肩膀上的圖像采集設(shè)備來(lái)跟蹤手部姿勢(shì)的示意圖;
圖2是手部/身體跟蹤器的示意圖;
圖3是預(yù)測(cè)引擎(諸如圖2的預(yù)測(cè)引擎)的示意圖;
圖4是圖3的預(yù)測(cè)引擎處的方法的第一部分的流程圖;
圖5是圖4的方法的第二部分的流程圖;
圖6是初始化或者更新候選姿勢(shì)池的方法的流程圖;
圖7是評(píng)分過(guò)程的流程圖;
圖8是隨機(jī)優(yōu)化器處的過(guò)程的流程圖;
圖9圖示了在其中可以實(shí)現(xiàn)手部或身體跟蹤器的實(shí)施例的示例性的基于計(jì)算的設(shè)備。
在附圖中,相同附圖標(biāo)記被用于指代相同部件。
具體實(shí)施方式
以下結(jié)合附圖提供的詳細(xì)描述旨在作為本示例的描述并且不旨在表示可以構(gòu)建或利用本示例的僅有形式。該描述闡述示例的功能和步驟的順序,以用于構(gòu)建和操作示例。然而,可以通過(guò)不同的示例完成相同或等效功能和序列。
圖1是使用向前、向上或在用戶(hù)100的肩膀上的圖像采集設(shè)備102來(lái)跟蹤手部姿勢(shì)的示意圖。在圖1的頂部中所示的示例中,用戶(hù)100坐在桌子處,在顯示屏104的前面做出手部姿勢(shì),在顯示屏104上是圖像采集設(shè)備102。在該示例中,根據(jù)3d手模型和用戶(hù)的手的跟蹤姿勢(shì),在顯示屏104上繪制手的圖像。然而,這僅是示例并且跟蹤的姿勢(shì)可以被用于其他任務(wù),諸如控制圖形用戶(hù)接口、增強(qiáng)現(xiàn)實(shí)應(yīng)用、視頻游戲和其他。
在圖1的中部所示的示例中,用戶(hù)站立并且在地板上的圖像采集設(shè)備102上做出手部姿勢(shì)。在圖1的下部中所示的示例中,用戶(hù)坐在桌子處,并且圖像采集設(shè)備102在用戶(hù)100的肩膀上。
用戶(hù)的手具有許多自由度,可以進(jìn)行各種復(fù)雜的姿勢(shì),存在遮擋的問(wèn)題并且具有許多局部形狀相似性。在此所描述的手動(dòng)跟蹤器的各種示例具有恢復(fù)的手動(dòng)姿勢(shì)中的改進(jìn)的準(zhǔn)確度。例如,通過(guò)使用其中預(yù)測(cè)引擎能夠根據(jù)單個(gè)幀(如果需要的話(huà))預(yù)測(cè)手部姿勢(shì)上的分布的新處理管線(xiàn)。先前的方法尚未預(yù)測(cè)手部姿勢(shì)上的分布。術(shù)語(yǔ)“手部姿勢(shì)”在此用于指代手部以及手部的多個(gè)連接角的全局位置和全局定向。例如,手部姿勢(shì)可以包括10或超過(guò)20個(gè)自由度,這取決于使用的手模型的細(xì)節(jié)和復(fù)雜性。通過(guò)使得預(yù)測(cè)引擎能夠在每幀基礎(chǔ)上根據(jù)單個(gè)幀操作,與先前的方法相比較,提高了魯棒性。這是因?yàn)轭A(yù)測(cè)引擎能夠在沒(méi)有跟蹤歷史的情況下從單個(gè)幀來(lái)預(yù)測(cè)全自由度手部姿勢(shì)。術(shù)語(yǔ)“魯棒性”在此用于意指根據(jù)出于各種原因發(fā)生的跟蹤故障而恢復(fù)得好的能力。例如,突然的手部運(yùn)動(dòng)、由其他對(duì)象(諸如另一只手、咖啡杯、用戶(hù)的頭發(fā)、照明條件的改變和其他)造成的手的遮擋。
根據(jù)單個(gè)幀(如果需要的話(huà))預(yù)測(cè)手部姿勢(shì)上的分布不是簡(jiǎn)單的。在各種示例中,這通過(guò)將預(yù)測(cè)過(guò)程分解為階段或?qū)蛹?jí)實(shí)現(xiàn)。例如,通過(guò)預(yù)測(cè)第一階段中的全局旋轉(zhuǎn)倉(cāng)上的分布,并且然后預(yù)測(cè)第二階段中的進(jìn)一步的分布。進(jìn)一步的分布可以是旋轉(zhuǎn)的四元數(shù)角表示、平移偏移、以及特定姿勢(shì)分類(lèi)內(nèi)的姿勢(shì)上的分布。對(duì)于機(jī)器學(xué)習(xí)系統(tǒng)而言,通過(guò)使用分層方法管理和降低預(yù)測(cè)手部姿勢(shì)上的分布的存儲(chǔ)器和計(jì)算資源的量。這樣,手動(dòng)跟蹤器對(duì)于實(shí)際的應(yīng)用(諸如對(duì)于臺(tái)式計(jì)算機(jī)、移動(dòng)電話(huà)、平板計(jì)算機(jī)和其他操作環(huán)境)是可行的。在一些示例中,還通過(guò)在不同的層處使用專(zhuān)用類(lèi)型的機(jī)器學(xué)習(xí)系統(tǒng)實(shí)現(xiàn)效率和存儲(chǔ)器節(jié)省。在一些示例中,特別地有效的方法已經(jīng)被發(fā)現(xiàn)在預(yù)測(cè)引擎的第一層處使用蕨類(lèi)(fern)并且在預(yù)測(cè)引擎的第二層處使用叢林。
在各種示例中,預(yù)測(cè)引擎與隨機(jī)優(yōu)化器組合被用于給出改進(jìn)的準(zhǔn)確度。隨機(jī)優(yōu)化器是搜索問(wèn)題的解的迭代過(guò)程,其中迭代過(guò)程使用隨機(jī)生成的變量。例如,手部的候選姿勢(shì)池由隨機(jī)優(yōu)化器迭代地被提煉,并且來(lái)自所預(yù)測(cè)的姿勢(shì)上的分布的樣本用于替換候選姿勢(shì)池中的值。這樣,遍及各種各樣的人類(lèi)手部姿勢(shì)和運(yùn)動(dòng)已經(jīng)發(fā)現(xiàn)手部姿勢(shì)準(zhǔn)確度中的改進(jìn)。
在一些示例(諸如圖1中所述的那些示例)中,用戶(hù)能夠在任意的方向(不僅朝向傳感器)上指手指并且手部姿勢(shì)可以仍然被準(zhǔn)確地跟蹤。這可以通過(guò)將預(yù)測(cè)引擎配置為預(yù)測(cè)姿勢(shì)上的分布而實(shí)現(xiàn),如上文所提到的并且如下面的示例中更詳細(xì)地描述的。預(yù)測(cè)引擎還使得手動(dòng)跟蹤器能夠針對(duì)采集設(shè)備102布置(諸如圖1中所圖示的那些或其他)成功地工作。預(yù)測(cè)引擎還可以使得手動(dòng)跟蹤器在存在采集設(shè)備的運(yùn)動(dòng)和/或全身體運(yùn)動(dòng)的情況下成功地工作。
在各種示例中,手動(dòng)跟蹤器是利用來(lái)自單個(gè)采集設(shè)備的數(shù)據(jù)可操作的,其給出成本節(jié)省、空間節(jié)省和使用多個(gè)采集設(shè)備的先前的系統(tǒng)上的簡(jiǎn)單性的益處。在一些示例中(諸如在使用飛行時(shí)間深度傳感器的情況下),距在其內(nèi)可以準(zhǔn)確地跟蹤手部姿勢(shì)的距離的范圍是大約10厘米到數(shù)米,其是比許多先前的方法大得多的范圍。在一些示例中,手動(dòng)跟蹤器是實(shí)時(shí)可操作的。
在圖1中所示的示例中,采集設(shè)備102通過(guò)無(wú)線(xiàn)連接或有線(xiàn)連接與手部/身體跟蹤器202通信。在一些示例中,手部/身體跟蹤器202被定位在云中并且作為云服務(wù)被提供給本地于用戶(hù)100的計(jì)算設(shè)備,諸如pc、平板計(jì)算機(jī)、移動(dòng)電話(huà)、游戲系統(tǒng)或其他終端用戶(hù)設(shè)備。
圖2是計(jì)算機(jī)實(shí)現(xiàn)的手部/身體跟蹤器202的示意圖。手部/身體跟蹤器202將來(lái)自至少一個(gè)采集設(shè)備102的一個(gè)或多個(gè)圖像流200當(dāng)作輸入。采集設(shè)備102能夠采集一個(gè)或多個(gè)圖像流。例如,采集設(shè)備102包括任何適合的類(lèi)型(諸如飛行時(shí)間、結(jié)構(gòu)化光、立體、散斑去相關(guān))的深度照相機(jī)。在一些示例中,補(bǔ)充或者取代深度照相機(jī),采集設(shè)備102包括彩色(rgb)視頻照相機(jī)。例如,來(lái)自彩色視頻照相機(jī)的數(shù)據(jù)可以用于計(jì)算深度信息。在一些示例(其中采集設(shè)備102是飛行時(shí)間傳感器)中,在其上使用在此所描述的示例準(zhǔn)確地跟蹤手部姿勢(shì)的距離的范圍被發(fā)現(xiàn)是特別大的。對(duì)手部/身體跟蹤器的圖像流200輸入包括圖像幀數(shù)據(jù),諸如針對(duì)彩色幀的紅、綠和藍(lán)通道數(shù)據(jù)、來(lái)自結(jié)構(gòu)化光傳感器的深度值、針對(duì)來(lái)自飛行時(shí)間傳感器的幀的相位數(shù)據(jù)的三個(gè)通道、來(lái)自立體照相機(jī)的立體圖像對(duì)、來(lái)自散斑去相關(guān)傳感器的散斑圖像。
手部/身體跟蹤器202產(chǎn)生跟蹤的手(或者身體)姿勢(shì)值218的流作為輸出。姿勢(shì)可以被表達(dá)為值的向量(或其他格式),針對(duì)姿勢(shì)的每個(gè)自由度的一個(gè)向量被跟蹤。例如,10或更多個(gè)或20或更多值。在一個(gè)示例中,姿勢(shì)向量包括針對(duì)全局旋轉(zhuǎn)分量的3個(gè)自由度、針對(duì)全局平移分量的3個(gè)自由度和針對(duì)多個(gè)聯(lián)合轉(zhuǎn)換的每個(gè)聯(lián)合轉(zhuǎn)換的4個(gè)自由度??梢栽诳梢曰蚩梢圆辉跇?gòu)造上有效的手的運(yùn)動(dòng)模型中指定聯(lián)合轉(zhuǎn)換。
在一些示例中,手部/身體跟蹤器202將輸出發(fā)送到顯示器104(諸如圖1中所示的顯示器),盡管這不是必要的。輸出可以包括從根據(jù)用戶(hù)的手部的當(dāng)前跟蹤的姿勢(shì)的3d手模型被跟蹤、繪制的手部合成圖像。
在一些示例中,手部/身體跟蹤器202將跟蹤的手部姿勢(shì)218發(fā)送到下游應(yīng)用或裝置220,諸如游戲系統(tǒng)222、導(dǎo)航系統(tǒng)224、增強(qiáng)現(xiàn)實(shí)系統(tǒng)226、自然用戶(hù)接口228。這些僅是示例并且可以使用其他下游應(yīng)用或者裝置。下游應(yīng)用或者裝置220能夠使用跟蹤的手部姿勢(shì)218以控制和/或更新下游應(yīng)用或者裝置。
手部/身體跟蹤器202是計(jì)算機(jī)實(shí)現(xiàn)的。在一些示例中,手部/身體跟蹤器的全部或一部分與采集設(shè)備102被集成。手部/身體跟蹤器202包括感興趣區(qū)域部件204、預(yù)測(cè)引擎206、隨機(jī)優(yōu)化器208、保持3d模型或者具有對(duì)3d模型210的訪(fǎng)問(wèn)的存儲(chǔ)器、渲染器212、保持候選姿勢(shì)214的存儲(chǔ)器和初始化器/更新器部件216。
感興趣區(qū)域部件204處理圖像數(shù)據(jù)以提取描繪用戶(hù)的手部或身體的前景區(qū)域??梢允褂萌魏伪娝苤那熬疤崛〖夹g(shù)。例如,前景提取技術(shù)可以使用由采集設(shè)備102采集的彩色圖像中的彩色信息,以檢測(cè)和跟蹤描繪用戶(hù)的手部的圖像元素。
如上文所提到的,預(yù)測(cè)引擎206包括可以被布置在分層結(jié)構(gòu)中的機(jī)器學(xué)習(xí)技術(shù)。預(yù)測(cè)引擎206將由感興趣區(qū)域部件204所標(biāo)識(shí)的感興趣區(qū)域圖像元素當(dāng)作輸入。預(yù)測(cè)引擎計(jì)算手部或身體姿勢(shì)上的分布。參考圖3至圖5更詳細(xì)地描述了圖像引擎。
隨機(jī)優(yōu)化器208可以是粒子群優(yōu)化器、遺傳算法過(guò)程、粒子群優(yōu)化器和遺傳算法過(guò)程的混合、或者迭代地提煉候選姿勢(shì)池214的任何其他隨機(jī)優(yōu)化器。粒子群優(yōu)化器是通過(guò)迭代地嘗試以考慮其他候選解(群中的粒子)的方式改進(jìn)候選方案搜索問(wèn)題的解的方式。候選解(被稱(chēng)為粒子)的解根據(jù)數(shù)學(xué)公式在搜索空間中到處移動(dòng)。每個(gè)粒子的移動(dòng)由其局部最好已知位置影響,而且被引導(dǎo)朝向搜索空間中的最好已知位置,其根據(jù)更好的位置由其他粒子找到而更新。這被期望朝向最好解移動(dòng)群。遺傳算法過(guò)程是通過(guò)使用繼承、拼接和由演變所激發(fā)的其他技術(shù)生成候選解搜索問(wèn)題的解的方式。
下面參考圖8給定可以使用的隨機(jī)優(yōu)化器208的示例。然而,可以使用其他隨機(jī)優(yōu)化器。
可以使用圖形處理單元或者任何其他適合的技術(shù)來(lái)實(shí)現(xiàn)渲染器212。可以使用任何眾所周知的渲染器,其能夠使用跟蹤的姿勢(shì)218根據(jù)3d模型210繪制合成圖像。在一些示例中,盡管可以使用其他類(lèi)型的3d模型,但是3d模型是基礎(chǔ)姿勢(shì)中的手部或身體的三角網(wǎng)格模型。
初始化器/更新器216行動(dòng)以初始化候選姿勢(shì)池214或者更新候選姿勢(shì)池214。參考圖6描繪了由該部件所執(zhí)行的示例方法。
備選地或者附加地,可以至少部分通過(guò)一個(gè)或多個(gè)硬件邏輯組件執(zhí)行手部/身體跟蹤器的功能。例如,并且非限制性地,可以使用的說(shuō)明性類(lèi)型的硬件邏輯組件包括:現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)、專(zhuān)用集成電路(asic)、專(zhuān)用標(biāo)準(zhǔn)產(chǎn)品(assp)、芯片上系統(tǒng)(soc)、復(fù)雜可編程邏輯設(shè)備(cpld)、圖形處理單元(gpu)。
圖3是預(yù)測(cè)引擎(諸如圖2的預(yù)測(cè)引擎)的示意圖。在該示例中,預(yù)測(cè)引擎206具有分層架構(gòu),其包括作為全局旋轉(zhuǎn)分類(lèi)器302的第一層和包括經(jīng)訓(xùn)練的專(zhuān)家的第二層。經(jīng)訓(xùn)練的專(zhuān)家是在該情況下專(zhuān)用于姿勢(shì)的全局旋轉(zhuǎn)值的子集的經(jīng)訓(xùn)練的機(jī)器學(xué)習(xí)系統(tǒng)。預(yù)測(cè)引擎206將感興趣區(qū)域像素300當(dāng)作輸入并且產(chǎn)生姿勢(shì)314上的分布作為輸出。
在示例中,全局旋轉(zhuǎn)分類(lèi)器302計(jì)算全局旋轉(zhuǎn)倉(cāng)上的分布。例如,給定感興趣區(qū)域,其計(jì)算指定的多個(gè)全局旋轉(zhuǎn)倉(cāng)上的分布(諸如直方圖),其中分布表達(dá)感興趣區(qū)域中所描繪的手部或身體的姿勢(shì)具有落到倉(cāng)中的全局旋轉(zhuǎn)的可能性。
可以使用任何適合的數(shù)目的全局旋轉(zhuǎn)倉(cāng)。在示例中,通過(guò)將全局旋轉(zhuǎn)統(tǒng)一地量子化為指定數(shù)目的倉(cāng)(諸如128或者任何其他數(shù)目的倉(cāng))來(lái)指定倉(cāng)。
在一些示例中,通過(guò)統(tǒng)一地在3d旋轉(zhuǎn)的空間上采樣并且使用任何眾所周知的聚類(lèi)方法對(duì)樣本進(jìn)行聚類(lèi)來(lái)計(jì)算全局旋轉(zhuǎn)倉(cāng)。該方法已經(jīng)被發(fā)現(xiàn)為給出特別好的手動(dòng)跟蹤結(jié)果。
在示例中,使用四元數(shù)來(lái)計(jì)算3d旋轉(zhuǎn)的空間上的樣本,其中四元數(shù)旋轉(zhuǎn)是表示所有可能3d旋轉(zhuǎn)集的單位長(zhǎng)度的4d向量。許多隨機(jī)四元數(shù)樣本根據(jù)單位球面被計(jì)算并且使用k-means聚類(lèi)或者另一眾所周知的聚類(lèi)方法被聚類(lèi)。
然而,不是必須使用如上文所描述的四元數(shù)。其他方法是可能的,其中通過(guò)使用以特定的方式圍繞全局旋轉(zhuǎn)4d單位球面移動(dòng)的計(jì)算過(guò)程來(lái)根據(jù)單位球面來(lái)計(jì)算粗略地統(tǒng)一地間隔的四元數(shù)樣本。在該方法中,不需要計(jì)算聚類(lèi)。
訓(xùn)練包括圖像的數(shù)據(jù),旋轉(zhuǎn)倉(cāng)對(duì)用于訓(xùn)練全局旋轉(zhuǎn)分類(lèi)器302。可以使用任何適合類(lèi)型的分類(lèi)器,諸如隨機(jī)森林、決策叢林、有區(qū)別的蕨類(lèi)集成、神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)或其他。
各種不同的類(lèi)型的分類(lèi)器的經(jīng)驗(yàn)主義調(diào)查研究已經(jīng)發(fā)現(xiàn)手部姿勢(shì)以特別高的速度并且以其中使用有區(qū)別的蕨類(lèi)集成的高準(zhǔn)確度被跟蹤。例如,具有深度13的50個(gè)蕨類(lèi)的區(qū)別的蕨類(lèi)集成以高速度(6毫秒)提供好的分類(lèi)準(zhǔn)確度。
隨機(jī)森林包括多個(gè)決策樹(shù),其各自具有根節(jié)點(diǎn)、多個(gè)分叉節(jié)點(diǎn)和多個(gè)葉節(jié)點(diǎn)。在測(cè)試時(shí)間處(當(dāng)先前未看到的示例被應(yīng)用到已經(jīng)訓(xùn)練的隨機(jī)森林時(shí)),可以通過(guò)在其中在每個(gè)分叉節(jié)點(diǎn)處做出決策的過(guò)程中將圖像的圖像元素通過(guò)隨機(jī)決策森林的樹(shù)從根推動(dòng)到葉節(jié)點(diǎn)。根據(jù)圖像元素的特性和由分叉節(jié)點(diǎn)處的參數(shù)所指定的空間偏移從其位移的測(cè)試圖像元素的特性,來(lái)做出決策。在分叉節(jié)點(diǎn)處,圖像元素向下轉(zhuǎn)到下一級(jí)樹(shù),根據(jù)決策的結(jié)果所選擇分支。隨機(jī)決策森林可以使用回歸或分類(lèi)。在訪(fǎng)問(wèn)訓(xùn)練期間,到達(dá)來(lái)自森林中的每個(gè)樹(shù)的一個(gè)葉節(jié)點(diǎn)并且將數(shù)據(jù)存儲(chǔ)在那些葉節(jié)點(diǎn)處。例如,該數(shù)據(jù)包括以聚集的形式的標(biāo)記的訓(xùn)練數(shù)據(jù)。從每個(gè)樹(shù)找到的葉節(jié)點(diǎn)數(shù)據(jù)可以被聚集以產(chǎn)生最后的結(jié)果。
在訓(xùn)練期間,參數(shù)值(還被稱(chēng)為特征)被學(xué)習(xí)用于在分叉節(jié)點(diǎn)處使用并且數(shù)據(jù)被積累在葉節(jié)點(diǎn)處。例如,包括標(biāo)記的圖像的訓(xùn)練數(shù)據(jù)通過(guò)樹(shù)被傳遞,并且根據(jù)分叉節(jié)點(diǎn)測(cè)試參數(shù)處理分叉節(jié)點(diǎn)處的訓(xùn)練數(shù)據(jù)多么好,來(lái)在每個(gè)分叉節(jié)點(diǎn)處(根據(jù)隨機(jī)地生成的可能性)選擇分叉節(jié)點(diǎn)測(cè)試參數(shù)。信息增益準(zhǔn)則或其他眾所周知的準(zhǔn)則可以用于評(píng)估分叉節(jié)點(diǎn)測(cè)試參數(shù)如何有效地處理分叉節(jié)點(diǎn)處的訓(xùn)練數(shù)據(jù)。
除了多個(gè)分叉節(jié)點(diǎn)被合并在一起之外,決策叢林是被配置用于隨機(jī)決策森林的多個(gè)有向無(wú)環(huán)圖。也就是說(shuō),不是如在隨機(jī)決策森林中的二叉樹(shù),叢林的個(gè)體成員是有向無(wú)環(huán)圖。
有區(qū)別的蕨類(lèi)集成是包含由索引值索引的聚集的訓(xùn)練數(shù)據(jù)的多個(gè)查找表,其中聚集的訓(xùn)練數(shù)據(jù)(諸如在圖像分類(lèi)的情況下的圖像標(biāo)記)和索引值在訓(xùn)練階段期間被學(xué)習(xí)。在測(cè)試時(shí)間處,索引值根據(jù)未看到的示例(諸如圖像或者圖像元素的分片)(在不需要遍歷有向無(wú)環(huán)圖或者決策樹(shù)的情況下)被計(jì)算并且用于從集成中的每個(gè)蕨類(lèi)表查找聚集的訓(xùn)練數(shù)據(jù)。從每個(gè)蕨類(lèi)表所查找的數(shù)據(jù)被聚集以計(jì)算輸出預(yù)測(cè),諸如分類(lèi)標(biāo)記上的分布(在分類(lèi)任務(wù)的情況下)。有區(qū)別的蕨類(lèi)集成用于分類(lèi)或者回歸任務(wù)。
專(zhuān)家選擇器304使用全局旋轉(zhuǎn)分類(lèi)器302的輸出來(lái)從組成預(yù)測(cè)引擎206的第二階段的大量的經(jīng)訓(xùn)練的專(zhuān)家306選擇多個(gè)經(jīng)訓(xùn)練的專(zhuān)家。在示例中,選擇三個(gè)經(jīng)訓(xùn)練的專(zhuān)家:旋轉(zhuǎn)回歸量308、平移回歸量310和姿勢(shì)分類(lèi)器312。例如,存在針對(duì)每個(gè)全局旋轉(zhuǎn)倉(cāng)的三個(gè)經(jīng)訓(xùn)練的專(zhuān)家。在存在128個(gè)全局旋轉(zhuǎn)倉(cāng)的情況下,這給定128×3=384個(gè)經(jīng)訓(xùn)練的專(zhuān)家。專(zhuān)家選擇器304從全局旋轉(zhuǎn)分類(lèi)器獲得全局旋轉(zhuǎn)倉(cāng)上的分布并且其使用該信息來(lái)選擇一個(gè)或多個(gè)全局旋轉(zhuǎn)倉(cāng)。對(duì)于所選擇的每個(gè)全局旋轉(zhuǎn)倉(cāng),存在(例如)三個(gè)經(jīng)訓(xùn)練的專(zhuān)家,并且感興趣區(qū)域像素被推送到那些經(jīng)訓(xùn)練的專(zhuān)家中。在示例中,專(zhuān)家選擇器304從全局旋轉(zhuǎn)分類(lèi)器選擇全局旋轉(zhuǎn)倉(cāng)上的分布中的前五個(gè)排名的全局旋轉(zhuǎn)倉(cāng)。
由于因此許多經(jīng)訓(xùn)練的專(zhuān)家306存在于預(yù)測(cè)引擎206的第二階段中,因而有限的存儲(chǔ)器和處理資源處于壓力。對(duì)機(jī)器學(xué)習(xí)技術(shù)的類(lèi)型的仔細(xì)選擇使得大量的經(jīng)訓(xùn)練的專(zhuān)家306能夠被容納在實(shí)際的工作方案中。例如,決策叢林用于實(shí)現(xiàn)經(jīng)訓(xùn)練的專(zhuān)家306。
在示例中,旋轉(zhuǎn)回歸量308使用對(duì)四元數(shù)的高斯熵估計(jì)而被訓(xùn)練,通過(guò)選擇最接近姿勢(shì)聚類(lèi)中心的符號(hào)來(lái)求解四元數(shù)符號(hào)。由于姿勢(shì)聚類(lèi)器占據(jù)單位4球面的相對(duì)小的區(qū)域,因而高斯模型是合理的適合。
在示例中,平移回歸器310是將高斯熵估計(jì)用作分叉準(zhǔn)則而訓(xùn)練的偏移回歸叢林。
在示例中,姿勢(shì)分類(lèi)器312被訓(xùn)練以將圖像元素分類(lèi)為多個(gè)手部姿勢(shì)分類(lèi)(諸如打開(kāi)的、平坦的、半開(kāi)的、閉合的、指向的、捏著的)。實(shí)驗(yàn)工作已經(jīng)發(fā)現(xiàn)這些六個(gè)手部姿勢(shì)分類(lèi)給出好的結(jié)果;盡管也可以使用其他手部姿勢(shì)分類(lèi)。
在一些示例中,姿勢(shì)分類(lèi)器312由姿勢(shì)回歸量替換,其回歸針對(duì)手指接合的接合旋轉(zhuǎn)。在一些示例中,使用姿勢(shì)分類(lèi)器312和姿勢(shì)回歸量二者。
圖4是圖3的預(yù)測(cè)引擎處的方法的第一部分的流程圖。在該示例中,預(yù)測(cè)引擎的第一階段被使用并且包括已經(jīng)被訓(xùn)練的有區(qū)別的蕨類(lèi)集成(也即,圖4的方法是其中先前未由跟蹤器看到的新幀或幀的圖像正被處理的測(cè)試時(shí)間過(guò)程)。感興趣區(qū)域400從感興趣區(qū)域部件被輸入到過(guò)程。根據(jù)感興趣區(qū)域像素計(jì)算402比特向量。例如,通過(guò)針對(duì)感興趣區(qū)域的個(gè)體像素(例如,感興趣區(qū)域的像素的子集)計(jì)算像素周?chē)姆制械某蓪?duì)像素比較來(lái)計(jì)算比特向量。在一些示例中,使用像素對(duì)的隨機(jī)選擇。可以使用可用像素對(duì)的子集。每個(gè)比較的結(jié)果可以被表達(dá)為0或者1的單個(gè)比特值。例如,比較可以是測(cè)試,諸如“是大于像素2處的像素1處的深度值”或者“是大于像素2處的像素1處的紅外強(qiáng)度值”或者“是大于像素2處的像素1處的平均亮度值”。對(duì)于每個(gè)蕨類(lèi)和像素而言,存在計(jì)算的k個(gè)比特并且這些比特可以以k維比特向量中被表示。比特?cái)?shù)k是根據(jù)應(yīng)用域并且根據(jù)準(zhǔn)確度/速度折衷設(shè)置而被選擇。閾值化過(guò)程或者h(yuǎn)eaviside函數(shù)可以被應(yīng)用到比特向量以便移除由于噪聲而導(dǎo)致的小振蕩的影響。這導(dǎo)致許多比特向量。每個(gè)蕨類(lèi)產(chǎn)生針對(duì)感興趣區(qū)域的每個(gè)像素的一個(gè)比特向量。
每個(gè)比特向量用于訪(fǎng)問(wèn)來(lái)自蕨類(lèi)表404的權(quán)重并且權(quán)重被添加到分類(lèi)得分。(在訓(xùn)練階段期間,蕨類(lèi)表被創(chuàng)建并且利用權(quán)重進(jìn)行填充)。針對(duì)來(lái)自感興趣區(qū)域的更多圖像元素以及針對(duì)集成407中的更多蕨類(lèi),重復(fù)414步驟400到步驟406的過(guò)程。因此,有區(qū)別的蕨類(lèi)集成輸出全局旋轉(zhuǎn)聚類(lèi)408上的分布,其被用于所選擇的專(zhuān)家410。感興趣區(qū)域像素被輸入到所選擇的專(zhuān)家。
在訓(xùn)練期間,蕨類(lèi)表被創(chuàng)建并且利用權(quán)重進(jìn)行填充。例如,訪(fǎng)問(wèn)包括被標(biāo)記有全局旋轉(zhuǎn)倉(cāng)的感興趣區(qū)域的訓(xùn)練數(shù)據(jù)。根據(jù)標(biāo)記的感興趣區(qū)域來(lái)計(jì)算比特向量,如上文所描述的。聚合來(lái)自個(gè)體蕨類(lèi)的比特向量。例如,通過(guò)采用平均、中值、模式或者以任何其他方式。在一些示例中,以考慮在感興趣區(qū)域中關(guān)于彼此的像素的位置的方式來(lái)完成聚合。例如,通過(guò)將感興趣區(qū)域分為子區(qū)域并且計(jì)算子區(qū)域上的比特向量的直方圖。蕨類(lèi)直方圖的連結(jié)被標(biāo)記有針對(duì)分類(lèi)器(諸如線(xiàn)性分類(lèi)器)的訓(xùn)練數(shù)據(jù)。在分類(lèi)器的訓(xùn)練期間學(xué)習(xí)的分類(lèi)器的權(quán)重是被存儲(chǔ)在蕨類(lèi)表中的權(quán)重??梢允褂萌魏伪娝苤姆诸?lèi)器,諸如支持向量機(jī)。
圖5是預(yù)測(cè)引擎的第二層處的、圖4的測(cè)試時(shí)間過(guò)程的第二部分的流程圖。來(lái)自感興趣區(qū)域的圖像元素被推送通過(guò)旋轉(zhuǎn)回歸量叢林500、偏移平移回歸量叢林508和姿勢(shì)分類(lèi)叢林514。這些過(guò)程可以并行或串行操作。
旋轉(zhuǎn)回歸器叢林計(jì)算對(duì)姿勢(shì)的全局旋轉(zhuǎn)分量的四元數(shù)角表示上的分布502。偏移平移回歸量叢林計(jì)算平移偏移510上的分布(來(lái)自由對(duì)根連接(例如,腕)的分類(lèi)器處理的圖像元素的偏移)。姿勢(shì)分類(lèi)器計(jì)算姿勢(shì)分類(lèi)516上的分布。
可以根據(jù)由旋轉(zhuǎn)回歸量叢林和偏移平移回歸量叢林所計(jì)算的分布取得樣本504、512。這些樣本用于形成輸出姿勢(shì)向量506的一部分。姿勢(shì)分類(lèi)使用姿勢(shì)分類(lèi)上的分布被選擇518并且被用于訪(fǎng)問(wèn)520針對(duì)分類(lèi)的預(yù)指定的姿勢(shì)分布。該預(yù)指定的分布被采樣522以獲得進(jìn)入輸出姿勢(shì)向量506的值。
預(yù)指定的姿勢(shì)分布各自是具有對(duì)應(yīng)于姿勢(shì)分類(lèi)名稱(chēng)(諸如打開(kāi)的、平坦的、半開(kāi)的、閉合的、指向的、捏著的)的平均形狀的姿勢(shì)空間的子集和定義可以根據(jù)模型繪制的姿勢(shì)集的隨機(jī)化規(guī)則集的一般性模型。這些是可以使用的姿勢(shì)分類(lèi)的示例。然而,可以使用其他姿勢(shì)分類(lèi)。
圖6是初始化或更新候選姿勢(shì)池的方法的流程圖??梢酝ㄟ^(guò)初始化器/更新器216執(zhí)行該方法。在其中根據(jù)先前幀可用的姿勢(shì)可用的情況中,該姿勢(shì)被擾亂600以創(chuàng)建被存儲(chǔ)在候選606池中的候選姿勢(shì)值??梢允÷圆襟E600(例如,在來(lái)自先前幀的姿勢(shì)不可用的情況下)。樣本從由預(yù)測(cè)引擎所計(jì)算的姿勢(shì)分布被取得602并且用于初始化候選606池和/或替換池中的不好的評(píng)分候選。評(píng)分部件被用于計(jì)算得分,如下面更詳細(xì)地描述的。使用隨機(jī)優(yōu)化器來(lái)提煉604池中的候選。例如,如參考圖8所解釋的??梢暂敵鲎詈迷u(píng)分姿勢(shì)608。
圖7是可以通過(guò)隨機(jī)優(yōu)化器或者人/身體姿勢(shì)跟蹤器202的其他部件中的任一個(gè)來(lái)執(zhí)行的評(píng)分過(guò)程的流程圖。姿勢(shì)和感興趣區(qū)域700被輸入到評(píng)分過(guò)程。姿勢(shì)由渲染器212用于繪制702來(lái)自3d模型210的合成深度圖像704。合成深度圖像與感興趣區(qū)域相比較以計(jì)算706得分并且輸出708得分。渲染器可以考慮遮擋。
比較過(guò)程可以包括計(jì)算圖像像素上的、經(jīng)繪制的圖像與所觀察的圖像之間的絕對(duì)或者平方差的總和。在一些示例中,該總和使得魯棒的懲罰項(xiàng)(諸如geman-mcclure或者cauchy)應(yīng)用于幫助降低異常值的影響。還可以使用其他類(lèi)型的比較過(guò)程。
圖8是在隨機(jī)優(yōu)化器是粒子群優(yōu)化器和遺傳算法的混合的情況下隨機(jī)優(yōu)化器處的示例方法的流程圖。在該示例中,隨機(jī)優(yōu)化器使用拼接,其是一種類(lèi)型的遺傳算法過(guò)程。隨機(jī)優(yōu)化器還使用池中的候選解來(lái)影響池中的其他候選解,其是一種類(lèi)型的粒子群優(yōu)化過(guò)程。然而,這些僅是示例并且遺傳算法和粒子群過(guò)程的其他特征可以組合在混合中。
隨機(jī)優(yōu)化器維持粒子群體(候選解池各自具有相關(guān)聯(lián)的感興趣區(qū)域),并且并行對(duì)群體評(píng)價(jià)上文所描述的評(píng)分功能,這產(chǎn)生針對(duì)每個(gè)候選解的得分。每個(gè)這樣的評(píng)價(jià)包括一代。實(shí)驗(yàn)發(fā)現(xiàn),考慮到當(dāng)前粒子對(duì)過(guò)程的性能產(chǎn)生大的影響,如何填充下一代。圖8的特定過(guò)程被發(fā)現(xiàn)給出好的結(jié)果,雖然也可以使用其他類(lèi)型的隨機(jī)優(yōu)化過(guò)程。
當(dāng)前候選800池用于計(jì)算個(gè)體粒子802的得分。這導(dǎo)致值的元組,每個(gè)元組包括得分、姿勢(shì)和感興趣區(qū)域。執(zhí)行每代重新隨機(jī)化過(guò)程804。這包括調(diào)節(jié)池中的粒子的50%的姿勢(shì)。重新隨機(jī)化的粒子可以使其年齡設(shè)定806到最大年齡值。
針對(duì)已經(jīng)到達(dá)第三代的任何粒子做出808檢查。尚未到達(dá)其第三代的粒子保持在候選池中并且在過(guò)程中繼續(xù)。已經(jīng)到達(dá)其第三代的粒子進(jìn)入第二重新隨機(jī)化過(guò)程810。在第二重新隨機(jī)化過(guò)程中,由從由預(yù)測(cè)引擎所計(jì)算的姿勢(shì)分布所采樣的姿勢(shì)來(lái)替換粒子的第一部分。粒子的第二部分經(jīng)受局部隨機(jī)擾動(dòng)。粒子的第三部分經(jīng)受拼接操作,其中隨機(jī)粒子選自粒子的排名第一的子集并且當(dāng)前粒子根據(jù)所選擇的粒子來(lái)重寫(xiě)姿勢(shì)參數(shù)的子集。重新隨機(jī)化的粒子可以使其年齡設(shè)定到零。
在其中粒子具有年齡并且年齡被設(shè)定為在步驟806和步驟810中上文所描述的情況下,圖8的過(guò)程將給定年齡內(nèi)的所有粒子視為獨(dú)立群。這將具有不同的年齡的候選姿勢(shì)視為在不同的候選姿勢(shì)池中。然后,通過(guò)降低跨越姿勢(shì)參數(shù)(諸如全局旋轉(zhuǎn)參數(shù))的內(nèi)插改進(jìn)準(zhǔn)確度。然而,考慮粒子年齡不是必要的。
圖9圖示了可以被實(shí)現(xiàn)為計(jì)算和/或電子設(shè)備的任何形式并且在其中可以實(shí)現(xiàn)運(yùn)動(dòng)手部/身體跟蹤器的實(shí)施例的示例性的基于計(jì)算的設(shè)備904的各種部件。例如,移動(dòng)電話(huà)、平板計(jì)算機(jī)、膝上型計(jì)算機(jī)、個(gè)人計(jì)算機(jī)、web服務(wù)器、云服務(wù)器。
基于計(jì)算的設(shè)備904包括一個(gè)或多個(gè)處理器900,其可以是微處理器、控制器、或者用于處理計(jì)算機(jī)可執(zhí)行指令以控制設(shè)備的操作以便實(shí)時(shí)準(zhǔn)確地跟蹤手部或身體的姿勢(shì)的任何其他適合的類(lèi)型的處理器。在一些示例中,例如在使用片上系統(tǒng)架構(gòu)的情況下,處理器900可以包括以硬件(而不是軟件或固件)實(shí)現(xiàn)圖4至圖8中的任一附圖的方法的一部分的一個(gè)或多個(gè)固定功能塊(還被稱(chēng)為加速器)。包括操作系統(tǒng)913的平臺(tái)軟件或者任何其他適合的平臺(tái)軟件可以被提供在基于計(jì)算的設(shè)備處以使得應(yīng)用軟件916能夠在設(shè)備上被執(zhí)行。數(shù)據(jù)存儲(chǔ)庫(kù)920存儲(chǔ)候選姿勢(shì)、感興趣區(qū)域、圖像數(shù)據(jù)、跟蹤的姿勢(shì)和/或其他數(shù)據(jù)。手部/身體跟蹤器918包括用于執(zhí)行圖4至圖8中的任一附圖的方法的一部分的指令。
可以使用由基于計(jì)算的設(shè)備904可訪(fǎng)問(wèn)的任何計(jì)算機(jī)可讀介質(zhì)來(lái)提供計(jì)算機(jī)可執(zhí)行指令。計(jì)算機(jī)可讀介質(zhì)可以包括例如計(jì)算機(jī)存儲(chǔ)介質(zhì)912(諸如存儲(chǔ)器和通信介質(zhì))。計(jì)算機(jī)存儲(chǔ)介質(zhì)(諸如存儲(chǔ)器912)包括在任何方法或技術(shù)中實(shí)現(xiàn)的易失性和非易失性、可移除和不可移除介質(zhì),以用于信息(諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù))的存儲(chǔ)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于ram、rom、eprom、eeprom、閃速存儲(chǔ)器或其他存儲(chǔ)器技術(shù)、cd-rom、數(shù)字多用光盤(pán)(dvd)或其他光學(xué)存儲(chǔ)裝置、磁帶盒、磁帶、磁盤(pán)存儲(chǔ)裝置或其他磁性存儲(chǔ)設(shè)備或可以被用于存儲(chǔ)信息以用于由計(jì)算設(shè)備訪(fǎng)問(wèn)的任何其他非傳輸介質(zhì)。相反,通信介質(zhì)可以實(shí)現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、調(diào)制數(shù)據(jù)信號(hào)(諸如載波或其他傳輸機(jī)制)中的其他數(shù)據(jù)。如在此所定義的,計(jì)算機(jī)存儲(chǔ)介質(zhì)不包括通信介質(zhì)。因此,計(jì)算機(jī)存儲(chǔ)介質(zhì)不應(yīng)當(dāng)被解釋為是傳播信號(hào)自身。傳播信號(hào)可以存在于計(jì)算機(jī)存儲(chǔ)介質(zhì)中,但是傳播信號(hào)自身不是計(jì)算機(jī)存儲(chǔ)介質(zhì)的示例。雖然計(jì)算機(jī)存儲(chǔ)介質(zhì)(存儲(chǔ)器912)被示出在基于計(jì)算的設(shè)備904內(nèi),但是將理解到,可以經(jīng)由網(wǎng)絡(luò)或其他通信鏈路(例如,使用通信接口913)分布或遠(yuǎn)程定位并且訪(fǎng)問(wèn)存儲(chǔ)裝置。
基于計(jì)算的設(shè)備904還包括輸出接口910,其被布置為將顯示信息輸出給可以與基于計(jì)算的設(shè)備904分離或集成到基于計(jì)算的設(shè)備904的顯示設(shè)備104。例如,在平板計(jì)算機(jī)的情況下,顯示設(shè)備104與基于計(jì)算的設(shè)備集成。顯示信息可以提供圖形用戶(hù)接口。輸入接口902還被布置為接收并且處理來(lái)自一個(gè)或多個(gè)設(shè)備(諸如用戶(hù)輸入設(shè)備(例如鼠標(biāo)907、鍵盤(pán)906、游戲控制器905))和來(lái)自上文所描述的采集設(shè)備102的輸入。在一些示例中,用戶(hù)輸入設(shè)備可以檢測(cè)語(yǔ)音輸入、用戶(hù)手勢(shì)或其他用戶(hù)動(dòng)作并且可以提供自然用戶(hù)接口(nui)。在實(shí)施例中,如果其是觸敏顯示設(shè)備,則顯示設(shè)備104還可以充當(dāng)用戶(hù)輸入設(shè)備。輸出接口910還可以將數(shù)據(jù)輸出到了除顯示設(shè)備之外的設(shè)備(例如,本地連接打印設(shè)備)。
輸入接口902、輸出接口910、顯示設(shè)備104和用戶(hù)輸入設(shè)備中的任一個(gè)可以包括nui技術(shù),其使得用戶(hù)能夠以自然的方式與基于計(jì)算的設(shè)備相互作用、免于由輸入設(shè)備(諸如鼠標(biāo)、鍵盤(pán)、遙控器等)強(qiáng)加的人工約束??梢员惶峁┑膎ui技術(shù)的示例包括但不限于:依賴(lài)于語(yǔ)音和/或語(yǔ)言識(shí)別、觸摸和/或觸針識(shí)別(觸敏顯示器)、屏幕上和屏幕附近二者的手勢(shì)識(shí)別、空中手勢(shì)、頭部和眼部跟蹤、語(yǔ)音和語(yǔ)言、視覺(jué)、觸摸、手勢(shì)和機(jī)器智能的那些nui技術(shù)??梢允褂玫膎ui技術(shù)的其他示例包括:意圖和目標(biāo)理解系統(tǒng)、使用深度照相機(jī)的運(yùn)動(dòng)手勢(shì)檢測(cè)系統(tǒng)(諸如立體照相機(jī)系統(tǒng)、紅外照相機(jī)系統(tǒng)、rgb照相機(jī)系統(tǒng)和這些的組合)、使用加速度計(jì)/陀螺儀的運(yùn)動(dòng)手勢(shì)檢測(cè)、面部識(shí)別、3d顯示、頭部、眼睛和視線(xiàn)跟蹤、用于使用電場(chǎng)感測(cè)電極來(lái)感測(cè)腦部活動(dòng)的沉浸式增強(qiáng)現(xiàn)實(shí)和虛擬現(xiàn)實(shí)系統(tǒng)和技術(shù)(eeg和相關(guān)方法)。
在示例中,存在一種跟蹤手部或身體的姿勢(shì)的方法,包括:
接收描繪手部或身體的圖像的流;
將圖像之一的至少一部分輸入到預(yù)測(cè)引擎以獲得手部或身體的姿勢(shì)上的分布;
訪(fǎng)問(wèn)手部或身體的候選姿勢(shì)池并且使用隨機(jī)優(yōu)化器迭代地提煉候選姿勢(shì);以及
利用來(lái)自手部或身體的姿勢(shì)上的分布的樣本周期性地替換池中的候選姿勢(shì)的子集。
在示例中,方法包括利用來(lái)自手部或身體的姿勢(shì)上的分布的樣本來(lái)初始化候選姿勢(shì)池。
在示例中,方法包括將圖像之一的至少一部分輸入到預(yù)測(cè)引擎包括:將圖像之一的所述至少一部分輸入到預(yù)測(cè)引擎的多個(gè)層。
在先前的段落中所描述的實(shí)施例還可以組合將圖像之一的至少一部分輸入到預(yù)測(cè)引擎的、包括分類(lèi)器的第一層,其被布置為計(jì)算姿勢(shì)的全局旋轉(zhuǎn)分類(lèi)上的分布。
在示例中,將圖像之一的至少一部分輸入到預(yù)測(cè)引擎包括:將圖像之一的至少一部分輸入到預(yù)測(cè)引擎的第一層,并且從第一層接收結(jié)果,并且將圖像之一的至少一部分輸入到預(yù)測(cè)引擎的第二層的一部分,并且第二層的所述部分使用結(jié)果而被選擇。
上文緊接地段落中的示例可以包括將圖像之一的至少一部分輸入到預(yù)測(cè)引擎的、包括有區(qū)別的蕨類(lèi)集成的第一層。
以上示例可以包括將圖像之一的至少一部分輸入到預(yù)測(cè)引擎包括將圖像之一的至少一部分輸入到預(yù)測(cè)引擎的、包括分類(lèi)器的第一層,以及輸入到預(yù)測(cè)引擎的、包括多個(gè)決策叢林的第二層。
在一些示例中,使用隨機(jī)優(yōu)化器迭代地提煉候選姿勢(shì)包括:通過(guò)做出本地隨機(jī)擾動(dòng)/或利用來(lái)自另一姿勢(shì)候選的參數(shù)替換姿勢(shì)候選的參數(shù)的子集來(lái)隨機(jī)地調(diào)節(jié)候選姿勢(shì)的子集的姿勢(shì)。
在一些示例中,使用隨機(jī)優(yōu)化器包括:向每個(gè)候選姿勢(shì)分配年齡,如果候選姿勢(shì)被隨機(jī)地調(diào)節(jié)則遞增年齡,并且將具有不同年齡的候選姿勢(shì)視為不同的候選姿勢(shì)池中。
在一些示例中,使用隨機(jī)優(yōu)化器包括:通過(guò)考慮遮擋的方式繪制來(lái)自3d手部或身體模型的合成圖像來(lái)計(jì)算池的候選姿勢(shì)的得分。
在示例的一個(gè)或多個(gè)中,描繪手部或身體的圖像流從移動(dòng)采集設(shè)備被接收。
在示例中,描繪手部或身體的圖像流從定位用戶(hù)的肩膀上的采集設(shè)備被接收。
在示例中,多個(gè)決策叢林包括旋轉(zhuǎn)回歸量、平移回歸量以及姿勢(shì)分類(lèi)器。
一些示例包括通過(guò)使用針對(duì)多個(gè)姿勢(shì)分類(lèi)的每個(gè)姿勢(shì)分類(lèi)的姿勢(shì)上的預(yù)指定的分布來(lái)計(jì)算樣本。
在示例中,被存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序執(zhí)行上文所描述的方法中的任一種方法。
在示例中,一種手部或身體姿勢(shì)跟蹤器,包括:
輸入接口,其被布置為接收描繪手部或身體的圖像;
處理器,其被布置為將圖像的至少一部分輸入到預(yù)測(cè)引擎以獲得手部或身體的姿勢(shì)上的分布;
隨機(jī)優(yōu)化器,其被布置為訪(fǎng)問(wèn)手部或身體的候選姿勢(shì)池并且迭代地提煉候選姿勢(shì);
處理器,其被布置為利用來(lái)自手部或身體的姿勢(shì)上的分布的樣本來(lái)周期性地替換池中的候選姿勢(shì)的子集。
在示例中,上文緊接地所描述的手部或身體姿勢(shì)跟蹤器包括至少部分在平行處理單元上實(shí)現(xiàn)的渲染器,被配置為將渲染器用作評(píng)分過(guò)程的一部分的隨機(jī)優(yōu)化器。
在示例中,手部或身體姿勢(shì)跟蹤器包括預(yù)測(cè)引擎,預(yù)測(cè)引擎具有分層架構(gòu)。
在示例中,手部或身體姿勢(shì)跟蹤器包括預(yù)測(cè)引擎,預(yù)測(cè)引擎具有包括全局旋轉(zhuǎn)分類(lèi)器的第一層。
在示例中,手部或身體姿勢(shì)跟蹤器包括預(yù)測(cè)引擎,預(yù)測(cè)引擎具有作為決策叢林的多個(gè)經(jīng)訓(xùn)練的專(zhuān)家。
在示例中,存在一種計(jì)算機(jī)可讀介質(zhì),其存儲(chǔ)指令,指令當(dāng)由計(jì)算設(shè)備執(zhí)行時(shí)控制設(shè)備:
接收描繪用戶(hù)的手部的圖像的流;
將圖像之一的至少一部分輸入到分層預(yù)測(cè)引擎以獲得手的姿勢(shì)上的分布;
訪(fǎng)問(wèn)手部或身體的候選姿勢(shì)池并且使用隨機(jī)優(yōu)化器來(lái)迭代地提煉候選姿勢(shì);以及
利用來(lái)自手部或身體的姿勢(shì)上的分布的樣本來(lái)周期性地替換池中的候選姿勢(shì)的子集。
術(shù)語(yǔ)“計(jì)算機(jī)”或“基于計(jì)算的設(shè)備”在此用于指代具有處理能力的任何設(shè)備,使得其可以執(zhí)行指令。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,這樣的處理能力被并入許多不同的設(shè)備中并且因此術(shù)語(yǔ)“計(jì)算機(jī)”和“基于計(jì)算的設(shè)備”各自包括pc、服務(wù)器、移動(dòng)電話(huà)(包括智能電話(huà))、平板計(jì)算機(jī)、機(jī)頂盒、媒體播放器、游戲控制臺(tái)、個(gè)人數(shù)字助理和許多其他設(shè)備。
在此所描述的方法可以由以有形存儲(chǔ)介質(zhì)上的機(jī)器可讀形式(例如,以包括適于當(dāng)程序被運(yùn)行在計(jì)算機(jī)上時(shí)并且在計(jì)算機(jī)程序可以被實(shí)現(xiàn)在計(jì)算機(jī)可讀介質(zhì)上的情況下執(zhí)行在此所描述的方法中的任一方法的所有步驟的計(jì)算機(jī)程序代碼裝置的計(jì)算機(jī)程序的形式)由軟件實(shí)現(xiàn)。有形存儲(chǔ)介質(zhì)的示例包括包含計(jì)算機(jī)可讀介質(zhì)(諸如磁盤(pán)、拇指驅(qū)動(dòng)器、存儲(chǔ)器等)的計(jì)算機(jī)存儲(chǔ)設(shè)備,并且不包括傳播信號(hào)。傳播信號(hào)可以存在于有形存儲(chǔ)介質(zhì)中,但是傳播信號(hào)自身不是有形存儲(chǔ)介質(zhì)的示例。軟件可以適于在并行處理器或串行處理器上執(zhí)行,使得可以以任何適合的順序或同時(shí)地執(zhí)行方法步驟。
這確認(rèn)軟件可以是有價(jià)值的可分離地交易的商品。其旨在涵蓋在“無(wú)聲”或標(biāo)準(zhǔn)硬件上運(yùn)行或控制“無(wú)聲”或標(biāo)準(zhǔn)硬件以執(zhí)行期望功能的軟件。其還旨在涵蓋“描述”或定義硬件的配置的軟件(諸如hdl(硬件描述語(yǔ)言)軟件),如被用于設(shè)計(jì)硅片或用于將通用可編程芯片配置為執(zhí)行期望功能。
本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,用于存儲(chǔ)程序指令的存儲(chǔ)設(shè)備可以跨網(wǎng)絡(luò)分布。例如,遠(yuǎn)程計(jì)算機(jī)可以存儲(chǔ)被描述為軟件的過(guò)程的示例。局部或終端計(jì)算機(jī)可以訪(fǎng)問(wèn)遠(yuǎn)程計(jì)算機(jī)并且下載軟件的一部分或全部來(lái)運(yùn)行程序。備選地,本地計(jì)算機(jī)可以根據(jù)需要下載軟件,或者在本地終端處執(zhí)行一些軟件指令或在遠(yuǎn)程計(jì)算機(jī)(或計(jì)算機(jī)網(wǎng)絡(luò))處執(zhí)行一些軟件指令。本領(lǐng)域的技術(shù)人員還將認(rèn)識(shí)到,通過(guò)利用本領(lǐng)域的技術(shù)人員已知的常規(guī)技術(shù),可以通過(guò)專(zhuān)用電路(諸如dsp、可編程邏輯陣列等)執(zhí)行軟件指令的全部或一部分。
在不損失所尋求的效果的情況下,可以延伸或更改本文給定的任何范圍或值,如對(duì)于技術(shù)人員而言將明顯的。
雖然已經(jīng)以特定于結(jié)構(gòu)特征和/或方法動(dòng)作的語(yǔ)言描述了主題,但是應(yīng)理解到,所附的權(quán)利要求中定義的主題不必限于上文所描述的特定特征或動(dòng)作。相反,上文所描述的特定特征和動(dòng)作被公開(kāi)為實(shí)現(xiàn)權(quán)利要求的示例形式。
將理解到,上文所描述的益處和優(yōu)點(diǎn)可以涉及一個(gè)實(shí)施例或可以涉及若干實(shí)施例。實(shí)施例不限于解決上述問(wèn)題中的任何或全部的那些實(shí)施例或具有上述益處和優(yōu)點(diǎn)中的任何或全部的那些實(shí)施例。將進(jìn)一步理解到,對(duì)“一”項(xiàng)的引用指代那些項(xiàng)中的一個(gè)或多個(gè)。
可以以任何適合的順序或在適當(dāng)?shù)那闆r下同時(shí)地執(zhí)行在此所描述的方法的步驟。此外,在不脫離在此所描述的主題的精神和范圍的情況下,可以從方法中的任一方法刪除個(gè)體框。上文所描述的示例中的任一個(gè)示例的各方面可以與所描述的其他示例中的任一個(gè)的各方面組合,以在不損失所尋求的效果的情況下形成進(jìn)一步的示例。
術(shù)語(yǔ)“包括”在此用于意指包括所標(biāo)識(shí)的方法框或元素,但是這樣的框或元素不包括排他性列表并且方法或放置可以包含附加框或元素。
術(shù)語(yǔ)“子集”在此用于指代適當(dāng)?shù)淖蛹?,使得集合的子集不包括集合的所有元?即,集合的元素中的至少一個(gè)元素將從子集丟失)。
將理解到,僅通過(guò)示例給出以上描述,并且可以由本領(lǐng)域的技術(shù)人員做出各種修改。以上說(shuō)明書(shū)、示例和數(shù)據(jù)提供示例性實(shí)施例的結(jié)構(gòu)和使用的完整描述。雖然上文已經(jīng)以一定程度上的特殊性或者參考一個(gè)或多個(gè)個(gè)體實(shí)施例描述各種實(shí)施例,但是在不脫離本說(shuō)明書(shū)的精神或范圍的情況下,本領(lǐng)域的技術(shù)人員可以對(duì)所公開(kāi)的實(shí)施例做出許多變型。