對(duì)象的基于輪廓的分類的制作方法
【專利摘要】本文描述了對(duì)諸如物理對(duì)象或模式之類的項(xiàng)進(jìn)行分類的基于輪廓的方法。在一種示例性方法中,接收對(duì)象對(duì)應(yīng)的一維(1D)輪廓信號(hào)。該一維輪廓信號(hào)包括用于表示該對(duì)象的輪廓(或者剪影的外形)的一系列的1D或者多維數(shù)據(jù)點(diǎn)(例如,3D數(shù)據(jù)點(diǎn))??梢詫?duì)該1D輪廓進(jìn)行展開以形成線,其不同于例如諸如圖像之類的二維信號(hào)??梢岳檬褂没谳喞奶卣鞯姆诸惼鳎瑢?duì)1D輪廓信號(hào)中的數(shù)據(jù)點(diǎn)里的一些或者全部各自地進(jìn)行分類。隨后,對(duì)這些各自的分類進(jìn)行聚合,以便對(duì)該對(duì)象和/或其一個(gè)(或多個(gè))部分進(jìn)行分類。在各個(gè)例子中,該對(duì)象是在圖像中描述的對(duì)象。
【專利說明】對(duì)象的基于輪廓的分類
【背景技術(shù)】
[0001] 用于人與計(jì)算機(jī)交互、計(jì)算機(jī)游戲和其它應(yīng)用的手勢(shì)識(shí)別,很難以準(zhǔn)確性和實(shí)時(shí) 性的方式實(shí)現(xiàn)。諸如使用人手做出的手勢(shì)之類的很多手勢(shì)是復(fù)雜的,并很難彼此之間進(jìn)行 區(qū)分。具體而言,很難準(zhǔn)確地對(duì)圖像中描述的人手的位置和部分進(jìn)行分類。此外,用于捕捉 人手的圖像的設(shè)備可能是有噪聲的且容易出錯(cuò)的。
[0002] 現(xiàn)有方法對(duì)描述人手的圖像的每一個(gè)像素進(jìn)行分析。雖然這通常產(chǎn)生相對(duì)準(zhǔn)確的 結(jié)果,但其需要花費(fèi)大量的時(shí)間和處理功率。
[0003] 下面所描述的實(shí)施例并不限于對(duì)已知分類系統(tǒng)的缺點(diǎn)中的一些或全部進(jìn)行解決 的實(shí)現(xiàn)方式。
【發(fā)明內(nèi)容】
[0004] 下面給出本公開內(nèi)容的簡(jiǎn)要概述,以向讀者提供基本理解。該概述部分不是本公 開內(nèi)容的泛泛概括,也不是旨在標(biāo)識(shí)關(guān)鍵/重要元素或者描述說明書的保護(hù)范圍。其唯一目 的是用簡(jiǎn)單的形式呈現(xiàn)本文所公開的一些概念的選擇,以此作為后面的更詳細(xì)說明的前 奏。
[0005] 本文描述了對(duì)諸如物理對(duì)象或模式之類的項(xiàng)進(jìn)行分類的基于輪廓的方法。在一種 示例性方法中,接收對(duì)象的一維(1D)輪廓信號(hào)。該一維輪廓信號(hào)包括表示該對(duì)象的輪廓(或 者剪影(silhouette)的外形(outline))的一系列1D或多維數(shù)據(jù)點(diǎn)(例如,3D數(shù)據(jù)點(diǎn))。可以 對(duì)該1D輪廓進(jìn)行展開(rewrapped)以形成線,其不同于例如諸如圖像之類的二維信號(hào)。可以 利用使用基于輪廓的特征的分類器,對(duì)1D輪廓信號(hào)中的數(shù)據(jù)點(diǎn)里的一些或者全部各自地進(jìn) 行分類。隨后,對(duì)這些各自的分類進(jìn)行聚合,以便對(duì)該對(duì)象和/或其一個(gè)(或多個(gè)部分進(jìn)行分 類。在各個(gè)例子中,該對(duì)象是在圖像中描述的對(duì)象。
[0006] 通過結(jié)合附圖考慮并參照以下的詳細(xì)說明而更好地理解本發(fā)明,本發(fā)明的許多附 帶特征將變得更易于理解。
【附圖說明】
[0007] 在了解附圖之后,通過閱讀下面的詳細(xì)描述,將更好地理解本文的描述,其中:
[0008] 圖1是用于對(duì)圖像中的對(duì)象進(jìn)行分類的分類系統(tǒng)的示意圖;
[0009] 圖2是圖1的捕捉系統(tǒng)和基于計(jì)算的設(shè)備的示意圖;
[0010]圖3是圖2的捕捉系統(tǒng)和基于計(jì)算的設(shè)備輸出的數(shù)據(jù)的示意圖;
[0011]圖4是使用對(duì)象的輪廓信號(hào),對(duì)圖像中的對(duì)象進(jìn)行分類的方法的流程圖;
[0012]圖5是示出如何對(duì)輪廓信號(hào)的數(shù)據(jù)點(diǎn)進(jìn)行定位的示意圖,其中該數(shù)據(jù)點(diǎn)與另一個(gè) 數(shù)據(jù)點(diǎn)具有預(yù)定的距離;
[0013]圖6是示出用于確定輪廓信號(hào)的凸包(convex hull)的示意圖;
[0014] 圖7是使用隨機(jī)決策森林,對(duì)于對(duì)象進(jìn)行分類的方法的流程圖;
[0015] 圖8是生成用于隨機(jī)決策森林的訓(xùn)練數(shù)據(jù)的裝置的示意圖;
[0016]圖9是隨機(jī)決策森林的示意圖;
[0017] 圖10是對(duì)隨機(jī)決策森林進(jìn)行訓(xùn)練的方法的流程圖;
[0018] 圖11是使用隨機(jī)決策森林,對(duì)輪廓數(shù)據(jù)點(diǎn)進(jìn)行分類的方法的流程圖;以及
[0019] 圖12示出了可以在其中實(shí)現(xiàn)本文所描述的系統(tǒng)和方法的實(shí)施例的示例性基于計(jì) 算的設(shè)備。
[0020] 使用相同的附圖標(biāo)記來指代附圖中的相同部件。
【具體實(shí)施方式】
[0021] 下面結(jié)合附圖提供的詳細(xì)說明旨在描述本文給出的例子,而不是旨在表示可以構(gòu) 造或者使用給出的例子的僅有形式。下面的描述闡述了該例子的功能,以及用于構(gòu)造和操 作該例子的步驟順序。但是,不同的例子也可以完成相同或者等同的功能和序列。
[0022] 雖然本文將所給出的例子描述和示出為在圖像分類系統(tǒng)(即,用于對(duì)圖像中描述 的3D對(duì)象進(jìn)行分類的系統(tǒng))中實(shí)現(xiàn),但本文所描述的系統(tǒng)只是作為一個(gè)例子而提供的,而不 是限制性的。如本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解的是,所給出的例子適合于在各種各樣的不 同類型的分類系統(tǒng)中應(yīng)用。具體而言,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解的是,所給出的對(duì)象分 類系統(tǒng)和方法可以用于對(duì)任何項(xiàng)(即,可以通過一維(1D)輪廓(即,一系列連接點(diǎn) (connected points))來表示的物理對(duì)象或者模式)進(jìn)行分類。除了任何物理對(duì)象之外,項(xiàng) 的例子還包括手寫簽名、物理對(duì)象的運(yùn)動(dòng)的行駛路線或者模式。雖然在下面所描述的例子 中,該系列的連接點(diǎn)是一系列空間中的連接點(diǎn),但在其它例子中,它們可以是慣性測(cè)量單位 序列(例如,如當(dāng)用戶以特定的模式在空中四處移動(dòng)其電話時(shí)所產(chǎn)生的)。
[0023] 如上所述,對(duì)圖像中的對(duì)象進(jìn)行分類的現(xiàn)有方法,必須使用分類器對(duì)圖像中的每 一個(gè)像素進(jìn)行分類,隨后對(duì)每一個(gè)像素分類的結(jié)果進(jìn)行累積或者以其他方式進(jìn)行組合,來 生成最終分類。該方法顯示出產(chǎn)生相對(duì)準(zhǔn)確的結(jié)果,但由于圖像的每一個(gè)像素都要進(jìn)行分 析,因此具有很大的計(jì)算量。因此,需要一種準(zhǔn)確的,但計(jì)算量不太大的用于對(duì)圖像中的對(duì) 象進(jìn)行分類的方法。
[0024]本文描述了根據(jù)對(duì)象的一維輪廓來對(duì)對(duì)象進(jìn)行分類的分類系統(tǒng)。本文使用的術(shù)語 "一維輪廓(one-dimensional contour)"意味用于規(guī)定或者限制對(duì)象的邊緣或者線條(例 如,當(dāng)對(duì)象被視作為剪影時(shí))。將一維輪廓表示成一系列的一維或多維(如,2D、3D、4D等等) 數(shù)據(jù)點(diǎn)(或列表),其中當(dāng)連接這些數(shù)據(jù)點(diǎn)時(shí),形成該輪廓,它們可以進(jìn)行展開以形成線,不 同于例如諸如圖像之類的二維信號(hào)。在各個(gè)例子中,該1D輪廓可以是一系列離散點(diǎn)(或者集 合)(例如,如通過它們的(x,y,z)坐標(biāo)所規(guī)定的(對(duì)應(yīng)于3D例子)),在其它例子中,該1D輪廓 可以或許是具有數(shù)學(xué)函數(shù)的一系列更稀疏的離散點(diǎn),其中,這些數(shù)學(xué)函數(shù)規(guī)定如何連接相 鄰的點(diǎn)(例如,使用Bezier曲線或者樣條插值)。本文將該系列的點(diǎn)稱為1D輪廓信號(hào)。本文描 述的系統(tǒng)通過使用基于輪廓的特征(即,僅僅1D輪廓自身的特征),至少對(duì)1D輪廓信號(hào)的點(diǎn) 的子集中的每一個(gè)點(diǎn)進(jìn)行獨(dú)立分類,來對(duì)于對(duì)象進(jìn)行分類。
[0025]相對(duì)于對(duì)圖像的每一個(gè)像素逐個(gè)都進(jìn)行分析的現(xiàn)有系統(tǒng),本文所描述的分類系統(tǒng) 顯著地減少了計(jì)算復(fù)雜度,這是由于在分類期間,只對(duì)形成1D輪廓的像素(或者與其有關(guān)的 數(shù)據(jù))進(jìn)行分析。在一些情況下,這可以將要分析的像素的數(shù)量從大約200,000減少到大約 2,000個(gè)。這允許在諸如移動(dòng)電話之類的具有低功率嵌入式處理器的設(shè)備上執(zhí)行該分類。在 了解了要進(jìn)行分析的數(shù)據(jù)發(fā)生顯著減少之后,令人驚訝的是,測(cè)試結(jié)果顯示出,與對(duì)圖像的 每一個(gè)像素都進(jìn)行分析的分類系統(tǒng)相比,利用該分類系統(tǒng)可以實(shí)現(xiàn)類似的準(zhǔn)確性。
[0026]現(xiàn)參見圖1,該圖示出了用于使用圖像中的對(duì)象的一維輪廓,對(duì)該對(duì)象進(jìn)行分類的 示例性分類系統(tǒng)1〇〇。在該例子中,系統(tǒng)1〇〇包括:捕捉設(shè)備102,其布置為捕捉包括對(duì)象106 的場(chǎng)景104的一個(gè)或多個(gè)圖像;以及與捕捉設(shè)備102進(jìn)行通信的基于計(jì)算的設(shè)備108,其配置 為根據(jù)這個(gè)(些)圖像來生成對(duì)象106的一維輪廓,并根據(jù)該一維輪廓,對(duì)該對(duì)象進(jìn)行分類。 [0027]在圖1中,捕捉設(shè)備102安裝在顯示器屏110上方,并朝向場(chǎng)景104。但是,這只是一 個(gè)例子。也可以使用捕捉設(shè)備102的其它位置,比如放置在桌面上向上看,或者其它適當(dāng)?shù)?位置。
[0028]圖1中所示出的基于計(jì)算的設(shè)備108是具有單獨(dú)的處理器部件112和顯示器屏110 的傳統(tǒng)桌面型計(jì)算機(jī);但是,本文所描述的方法和系統(tǒng)可以等同地應(yīng)用于將處理器部件112 和顯示器屏110集成在一起的基于計(jì)算的設(shè)備108,比如應(yīng)用于膝上型計(jì)算機(jī)、平板計(jì)算機(jī) 或者智能電話之中。
[0029] 雖然圖1的對(duì)象106是人手,但本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解的是,本文所描述的 方法和系統(tǒng)可以等同地應(yīng)用于場(chǎng)景104中的任何其它對(duì)象,并且本文所描述的分類系統(tǒng)可 以用于對(duì)場(chǎng)景中的多個(gè)對(duì)象進(jìn)行分類(例如,回射器(retroreflector)和部分地遮蔽回射 器的對(duì)象)。
[0030] 雖然圖1的分類系統(tǒng)100包括單一捕捉設(shè)備102,但本文描述的方法和原理可以等 同地應(yīng)用于具有多個(gè)捕捉設(shè)備102的分類系統(tǒng)。此外,雖然圖1的描述指代捕捉設(shè)備102捕捉 圖像,但應(yīng)當(dāng)理解的是,也可以替代地使用其它輸入形態(tài)(例如,捕捉平板計(jì)算機(jī)上的筆 劃)。
[0031] 現(xiàn)參見圖2,該圖示出了可以在圖1的系統(tǒng)100中使用的捕捉設(shè)備102的示意圖。 [0032] 捕捉設(shè)備102包括至少一個(gè)成像傳感器202,以捕捉包括對(duì)象106的場(chǎng)景104的圖 像。成像傳感器202可以是下面中的任何一種或多種:立體相機(jī)、深度相機(jī)、RGB相機(jī),以及捕 捉或者產(chǎn)生剪影的成像傳感器,其中剪影圖像描述了對(duì)象的輪廓。
[0033]在一些情況下,成像傳感器202可以具有從不同的角度觀看場(chǎng)景104的兩個(gè)或更多 個(gè)物理分離的相機(jī)的形式,使得獲得視覺的立體數(shù)據(jù),可以對(duì)該立體數(shù)據(jù)進(jìn)行解析以生成 深度信息。
[0034]捕捉設(shè)備102還可以包括發(fā)射器204,發(fā)射器204被布置為以使得成像傳感器202能 夠確定深度信息的方式,來照射場(chǎng)景。
[0035] 此外,捕捉設(shè)備102還可以包括與成像傳感器202(例如,相機(jī))和發(fā)射器204(如果 存在的話)進(jìn)行通信的至少一個(gè)處理器206。處理器206可以是通用微處理器或者專用信號(hào)/ 圖像處理器。處理器206被布置為執(zhí)行指令,以控制成像傳感器202和發(fā)射器204(如果存在 的話)來捕捉深度圖像。處理器206可以可選地被布置為對(duì)這些圖像和信號(hào)執(zhí)行處理,如下 面所更詳細(xì)概述的。
[0036] 捕捉設(shè)備102還可以包括存儲(chǔ)器208,存儲(chǔ)器208被布置為存儲(chǔ)用于由處理器206執(zhí) 行的指令、成像傳感器202所捕捉的圖像或者幀、或者任何適當(dāng)?shù)男畔?、圖像等等。在一些例 子中,存儲(chǔ)器208可以包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(R0M)、高速緩存、閃存、硬盤 或者任何其它適當(dāng)?shù)拇鎯?chǔ)元件。存儲(chǔ)器208可以是與處理器206進(jìn)行通信的單獨(dú)元件,也可 以集成到處理器206之中。
[0037] 捕捉設(shè)備102還可以包括與處理器206進(jìn)行通信的輸出接口 210。輸出接口 210被布 置為經(jīng)由通信鏈路,向基于計(jì)算的設(shè)備108提供圖像數(shù)據(jù)。例如,該通信鏈路可以是有線連 接(例如,USB?、火線?、以太網(wǎng)?等等)和/或無線連接(例如,WiFi?、藍(lán)牙?等等)。在其它例 子中,輸出接口210可以與一個(gè)或多個(gè)通信網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))進(jìn)行接口,并經(jīng)由這些網(wǎng)絡(luò) 向基于計(jì)算的設(shè)備102提供數(shù)據(jù)。
[0038] 基于計(jì)算的設(shè)備108可以包括輪廓提取器212,輪廓提取器212被配置為生成從捕 捉設(shè)備102接收的圖像數(shù)據(jù)中的對(duì)象106的一維輪廓。如上所述,該一維輪廓包括一系列一 維或多維(例如,3D)數(shù)據(jù)點(diǎn),當(dāng)連接這些數(shù)據(jù)點(diǎn)時(shí)形成該輪廓。例如,在一些情況下,每一個(gè) 數(shù)據(jù)點(diǎn)可以包括圖像中的相應(yīng)像素的x、y和z坐標(biāo)。在其它情況下,每一個(gè)數(shù)據(jù)點(diǎn)可以包括 本像素的x和y坐標(biāo),以及諸如時(shí)間或者速度之類的另一種參數(shù)。這兩種例子都使用3D數(shù)據(jù) 點(diǎn)。
[0039] 隨后,分類器引擎214使用該一維輪廓來對(duì)于對(duì)象進(jìn)行分類。具體而言,分類器引 擎214使用基于輪廓的特征(即,僅僅1D輪廓自身的特征),對(duì)該一維輪廓的多個(gè)點(diǎn)中的每一 個(gè)點(diǎn)進(jìn)行分類。當(dāng)該對(duì)象是人手時(shí)(如圖1中所示),則分類器引擎214可以被配置為將每一 個(gè)輪廓數(shù)據(jù)點(diǎn)分類成顯著的手部分(例如,指尖、手腕和前臂以及隱含地手掌)和/或手狀態(tài) (例如,掌心向上、掌心向下、拳心向上或指向或者其組合)。參照?qǐng)D4來描述可以由分類器引 擎214執(zhí)行的用于對(duì)于對(duì)象進(jìn)行分類的示例性方法。
[0040] 此外,還可以在基于計(jì)算的設(shè)備108上執(zhí)行應(yīng)用軟件216,其可以由分類器引擎214 的輸出(例如,檢測(cè)到的分類(例如,手的姿勢(shì)和狀態(tài)))來控制。
[0041] 現(xiàn)參見圖3,該圖示出了數(shù)據(jù)經(jīng)過圖1和圖2的分類系統(tǒng)的流動(dòng)。圖3A示出了圖1的 捕捉設(shè)備102所產(chǎn)生的示例性圖像302。圖像302是針對(duì)圖1的場(chǎng)景104的,并且包括要進(jìn)行分 類的對(duì)象1〇6(例如,人手)。如上所述,捕捉設(shè)備102向基于計(jì)算的設(shè)備108提供圖像302(或 者多個(gè)圖像)。
[0042] 隨后,基于計(jì)算的設(shè)備108的輪廓提取器212使用該圖像數(shù)據(jù)來生成對(duì)象106的一 維輪廓304。如圖3B中所示,該一維輪廓304包括一系列的一維或多維數(shù)據(jù)點(diǎn)306,其中當(dāng)連 接這些數(shù)據(jù)點(diǎn)306時(shí),形成該1D輪廓304(例如,對(duì)象的外形或者剪影)。例如,在一些情況下, 每一個(gè)數(shù)據(jù)點(diǎn)包括圖像中的相應(yīng)像素的x、y和z坐標(biāo)。一旦產(chǎn)生了該一維輪廓304,則將其提 供給分類器引擎214。
[0043] 隨后,分類器引擎214使用該一維輪廓304,對(duì)于對(duì)象106(例如,人手)進(jìn)行分類。在 一些情況下,分類可以包括:向該對(duì)象或者其部分分配一個(gè)或多個(gè)標(biāo)簽(label)。所使用的 標(biāo)簽可以根據(jù)應(yīng)用領(lǐng)域而改變。當(dāng)對(duì)象是人手時(shí)(如圖3中所示),分類可以包括:向人手分 配人手形狀標(biāo)簽(shape label)和/或一個(gè)(或多個(gè))人手部分標(biāo)簽(part label)。例如,如 圖3C中所示,分類器引擎214可以利用一個(gè)標(biāo)簽值來標(biāo)注(label)指尖308,利用第二標(biāo)簽值 來標(biāo)注手腕310,利用弟二標(biāo)簽值來標(biāo)注人手312的剩余部分。
[0044] 現(xiàn)參見圖4,該圖是用于使用一維輪廓信號(hào),對(duì)于對(duì)象進(jìn)行分類的示例性方法400 的流程圖。將方法400描述成由圖2的分類器引擎214進(jìn)行執(zhí)行,但是,在其它例子中,該方法 400的全部或者一部分可以由一個(gè)或多個(gè)其它部件來執(zhí)行。
[0045] 在方框402處,分類器引擎214接收對(duì)象的一維輪廓(本文還稱為一維輪廓信號(hào))。 該一維輪廓信號(hào)可以通過函數(shù)X來表示,使得X(s)指示對(duì)應(yīng)于該輪廓上的點(diǎn)S的數(shù)據(jù)。如上 所述,在一些例子中,該1D輪廓的每一個(gè)點(diǎn)對(duì)應(yīng)的數(shù)據(jù)可以是該點(diǎn)的一維坐標(biāo)(X)、二維坐 標(biāo)(x,y)或者三維坐標(biāo)(x,y,z)。在其它例子中,每一個(gè)點(diǎn)對(duì)應(yīng)的數(shù)據(jù)可以是坐標(biāo)和諸如時(shí) 間、速率、慣性測(cè)量單位(Inertial Measurement Unit,頂U(kuò))數(shù)據(jù)(例如,加速度)、速度(例 如,圍繞一個(gè)轉(zhuǎn)彎行駛的汽車的速度)、壓力(例如,平板設(shè)備屏幕上的手寫筆的壓力)等等 之類的其它參數(shù)的組合。一旦分類器引擎214接收到1D輪廓信號(hào),則方法400轉(zhuǎn)到方框404 處。
[0046] 在方框404處,分類器引擎214從所接收的1D輪廓信號(hào)中選擇數(shù)據(jù)點(diǎn)來進(jìn)行分類。 在一些例子中,分類器引擎214被配置為對(duì)該1D輪廓信號(hào)的每一個(gè)數(shù)據(jù)點(diǎn)進(jìn)行分類。在這些 例子中,在分類器引擎214執(zhí)行該方框的第一次,其可以選擇該信號(hào)中的第一數(shù)據(jù)點(diǎn),在執(zhí) 行該方框的隨后時(shí)間,其可以選擇1D輪廓信號(hào)中的下一個(gè)數(shù)據(jù)點(diǎn)。但是,在其它例子中,分 類器引擎214可以被配置為只對(duì)該1D輪廓信號(hào)中的數(shù)據(jù)點(diǎn)的一個(gè)子集進(jìn)行分類。在這些例 子中,分類器引擎可以使用其它標(biāo)準(zhǔn)來選擇用于進(jìn)行分類的數(shù)據(jù)點(diǎn)。例如,分類器引擎214 可以只對(duì)每隔一個(gè)(every second)的數(shù)據(jù)點(diǎn)進(jìn)行分類。一旦分類器引擎214選擇了要進(jìn)行 分類的輪廓數(shù)據(jù)點(diǎn),則方法400轉(zhuǎn)到方框406處。
[0047] 在方框406處,分類器引擎214向所選擇的數(shù)據(jù)點(diǎn)應(yīng)用分類器,以對(duì)所選擇的數(shù)據(jù) 點(diǎn)進(jìn)行分類(例如,如下面參照?qǐng)D11所更詳細(xì)描述的)。如上所述,分類可以包括:向?qū)ο蠛? 或?qū)ο蟮囊粋€(gè)或多個(gè)部分分配標(biāo)簽。當(dāng)對(duì)象是人手時(shí),分類可以包括:向?qū)ο蠓峙錉顟B(tài)標(biāo)簽 和/或向人手的一個(gè)或多個(gè)部分分配部分標(biāo)簽。例如,在一些情況下,分類器可以將所選擇 的數(shù)據(jù)點(diǎn)與兩種類型的標(biāo)簽7 3和7£進(jìn)行關(guān)聯(lián),其中ys是人手形狀/狀態(tài)標(biāo)簽(即,指向、捏 (pinching)、抓(grasping)或者打開手掌),y f是指尖標(biāo)簽(即,食指(index)、拇指或者非指 尖)。此外,分類器還可以生成每一個(gè)標(biāo)簽的概率信息,其指示該標(biāo)簽準(zhǔn)確或者正確的可能 性。該概率信息可以具有直方圖的形式。本文將標(biāo)簽和概率信息的組合稱為用于所選擇的 數(shù)據(jù)點(diǎn)的分類數(shù)據(jù)。
[0048] 在一些例子中,通過比較所選擇的數(shù)據(jù)點(diǎn)周圍或者與之相關(guān)的輪廓數(shù)據(jù)點(diǎn)的特 征,對(duì)所選擇的數(shù)據(jù)點(diǎn)進(jìn)行分類(即,分配一個(gè)或多個(gè)標(biāo)簽)。例如,如圖5中所示,分類器引 擎204可以選擇沿著1D輪廓與所選擇的數(shù)據(jù)點(diǎn)s具有第一預(yù)定距離(m)的第一數(shù)據(jù)點(diǎn)s+m, 以及,沿著ID輪廓與所選擇的數(shù)據(jù)點(diǎn)s具有第二預(yù)定距離(u 2)的第二數(shù)據(jù)點(diǎn)s+u2。在一些情 況下,可以將這些距離中的一個(gè)設(shè)置為零,使得用于分析的點(diǎn)中的一個(gè)是所選擇的點(diǎn)自身, 并且在各個(gè)例子中,可以使用所選擇的數(shù)據(jù)點(diǎn)周圍的兩個(gè)以上的數(shù)據(jù)點(diǎn)。
[0049] 為了定位沿著1D輪廓與所選擇的點(diǎn)s具有預(yù)定的距離的點(diǎn),分類器引擎214可以每 一個(gè)數(shù)據(jù)點(diǎn)與所選擇的數(shù)據(jù)點(diǎn)s的距離進(jìn)行分析,直到其定位到沿著1D輪廓與所選擇的點(diǎn)s 具有預(yù)定的距離的點(diǎn)(或者位于預(yù)定的距離的門限之內(nèi))為止。在其它例子中,分類器引擎 214可以沿著1D輪廓來執(zhí)行數(shù)據(jù)點(diǎn)的二分法搜索,以定位該數(shù)據(jù)點(diǎn)。
[0050] 如上所述,1D輪廓信號(hào)通過一系列數(shù)據(jù)點(diǎn)來表示。在一些例子中,這些數(shù)據(jù)點(diǎn)可以 認(rèn)為是卷繞的(即,使得該系列中的最后一個(gè)數(shù)據(jù)點(diǎn)被認(rèn)為是連接到該系列中的第一個(gè)數(shù) 據(jù)點(diǎn)),所以當(dāng)分類器引擎214嘗試對(duì)該系列點(diǎn)的末尾處或者附近的數(shù)據(jù)點(diǎn)進(jìn)行分類時(shí),分 類器引擎214可以通過對(duì)位于該系列的開始位置處的數(shù)據(jù)點(diǎn)進(jìn)行分析,來定位與感興趣數(shù) 據(jù)點(diǎn)具有預(yù)定距離的數(shù)據(jù)點(diǎn)。在其它例子中,這些數(shù)據(jù)點(diǎn)不被認(rèn)為是卷繞的。在這些例子 中,當(dāng)分類器引擎214嘗試對(duì)該系列點(diǎn)的末尾處或者附近的數(shù)據(jù)點(diǎn)進(jìn)行分類并且在該系列 點(diǎn)中不存在與感興趣數(shù)據(jù)點(diǎn)具有預(yù)定距離的更多數(shù)據(jù)點(diǎn)時(shí),分類器引擎214可以認(rèn)為所期 望的數(shù)據(jù)點(diǎn)具有空值或者缺省值,或者與該系列點(diǎn)中的最后一個(gè)數(shù)據(jù)點(diǎn)具有相同的值。
[0051] 為了簡(jiǎn)化與另一個(gè)數(shù)據(jù)點(diǎn)具有預(yù)定距離的數(shù)據(jù)點(diǎn)的識(shí)別,在一些例子中,在接收 到1D輪廓信號(hào)之后,分類器引擎可以對(duì)接收的1D輪廓信號(hào)進(jìn)行重新采樣,以產(chǎn)生修改的1D 輪廓信號(hào),其中該修改的1D輪廓信號(hào)具有固定單位間隔(例如,1_)的數(shù)據(jù)點(diǎn)。隨后,當(dāng)識(shí)別 與所選擇的數(shù)據(jù)點(diǎn)具有固定距離的數(shù)據(jù)點(diǎn)時(shí),分類器引擎214可以跳過在該修改的1D輪廓 信號(hào)中的固定數(shù)量的點(diǎn)。例如,如果修改的1D輪廓信號(hào)每隔1mm具有數(shù)據(jù)點(diǎn),并且分類器引 擎214嘗試定位與所選擇的數(shù)據(jù)點(diǎn)s具有5_距離的數(shù)據(jù)點(diǎn),則分類器引擎214只需要跳到點(diǎn) s+5〇
[0052] 在一些例子中,不是識(shí)別沿著ID輪廓與所選擇的數(shù)據(jù)點(diǎn)具有預(yù)定距離的輪廓數(shù)據(jù) 點(diǎn),而是分類器引擎214可以使用其它標(biāo)準(zhǔn),來識(shí)別與所選擇的數(shù)據(jù)點(diǎn)有關(guān)的數(shù)據(jù)點(diǎn)。例如, 相對(duì)于該1D輪廓的切線(tangent),分類器引擎214可以識(shí)別與所選擇的數(shù)據(jù)點(diǎn)具有預(yù)定的 角度(例如,5度)的輪廓數(shù)據(jù)點(diǎn)。通過使用角度差來替代差值,分類變成具有旋轉(zhuǎn)不變性 (即,給予對(duì)象或者其部分的分類是相同的,而不管其全局旋轉(zhuǎn)方向如何)。在另外的例子 中,可以通過沿著1D輪廓進(jìn)行移動(dòng)(或者行進(jìn))直到到達(dá)特定的曲率或者最小/最大曲率為 止,來識(shí)別輪廓數(shù)據(jù)點(diǎn)。對(duì)于時(shí)間信號(hào)而言(即,時(shí)間是多維數(shù)據(jù)點(diǎn)中的一個(gè)維度的信號(hào)), 可以識(shí)別沿著1D輪廓與所選擇的數(shù)據(jù)點(diǎn)具有預(yù)定的時(shí)間距離的輪廓數(shù)據(jù)點(diǎn)。
[0053] 為了使分類具有深度不變性(即,使得以相同的方式來執(zhí)行該分類,而不管該對(duì)象 是更靠近圖1中的捕捉設(shè)備102并因此在捕捉的圖像中呈現(xiàn)為更大,還是更遠(yuǎn)離捕捉設(shè)備 102并因此在捕捉的圖像中呈現(xiàn)為更?。?,使用預(yù)定的距離時(shí),其可以是真實(shí)世界距離(其還 可以描述成世界空間或者全球距離)。本文使用術(shù)語'真實(shí)世界距離'或者'全球距離'來指 代圖1中的圖像捕捉設(shè)備102所捕捉的實(shí)際場(chǎng)景中的距離,而不是捕捉的圖像自身中的距 離。例如,當(dāng)人手更靠近圖像捕捉設(shè)備時(shí),與人手更遠(yuǎn)離圖像捕捉設(shè)備時(shí)所捕捉的第二圖像 相比,第一個(gè)手指的長(zhǎng)度在圖像中將更大。所以,如果預(yù)定的距離是"圖像中的"距離,則根 據(jù)如圖像中所描述的對(duì)象的尺寸,沿著1D輪廓來移動(dòng)該預(yù)定的距離的效果將不同。相比而 言,如果預(yù)定的距離是全球距離,則沿著1D輪廓來移動(dòng)預(yù)定的距離的效果將導(dǎo)致沿著該1D 輪廓識(shí)別相同的點(diǎn),而不管該對(duì)象是靠近圖像捕捉設(shè)備,還是更遠(yuǎn)離圖像捕捉設(shè)備。
[0054]如上所述,在各個(gè)例子中,不是使用距離(其可以是真實(shí)世界距離),而是可以使用 其它標(biāo)準(zhǔn)來選擇與所選擇的數(shù)據(jù)點(diǎn)有關(guān)的數(shù)據(jù)點(diǎn)。在各個(gè)例子中,可以基于真實(shí)世界(或者 全球)測(cè)量單位,來選擇數(shù)據(jù)點(diǎn),其中該測(cè)量單位可以是真實(shí)世界距離(例如,依據(jù)毫米或者 厘米而言)、真實(shí)世界角度差(例如,依據(jù)度數(shù)或者弧度)等等。
[0055] 一旦識(shí)別出這兩個(gè)點(diǎn),分類器引擎214確定這兩個(gè)數(shù)據(jù)點(diǎn)(s+m和s+U2)的基于輪廓 的特征之間的差值。該差值可以是絕對(duì)差值,也可以是基于各個(gè)數(shù)據(jù)點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的任何 其它適當(dāng)差值參數(shù)。隨后,差值數(shù)據(jù)由分類器用來對(duì)所選擇的數(shù)據(jù)點(diǎn)進(jìn)行分類。在各個(gè)例子 中,兩個(gè)數(shù)據(jù)點(diǎn)的基于輪廓的特征之間的差值,可以是投影到x、y或z軸中的一個(gè)之上的兩 個(gè)點(diǎn)之間的距離、兩個(gè)點(diǎn)之間的歐幾里德距離、兩個(gè)點(diǎn)之間的角度差等等。使用的基于輪廓 的特征(例如,空間中的輪廓點(diǎn)的位置、1D輪廓在該輪廓點(diǎn)處的角度方向等等)可以獨(dú)立于 選擇數(shù)據(jù)點(diǎn)所使用的方法,(例如,可以將角度距離使用成兩個(gè)數(shù)據(jù)點(diǎn)的基于輪廓的特征之 間的差值,而不管這兩個(gè)點(diǎn)是基于距離還是基于角度來識(shí)別的)。在使用MU數(shù)據(jù)的其它例 子中,可以將加速度使用成基于輪廓的特征(當(dāng)加速度可以是針對(duì)每一個(gè)數(shù)據(jù)點(diǎn)所存儲(chǔ)的 參數(shù)中的一個(gè)時(shí),或者當(dāng)加速度可以根據(jù)諸如速度之類的其它存儲(chǔ)的信息來進(jìn)行推斷時(shí))。 [0056]在一些情況下,分類器是隨機(jī)決策森林。但是,對(duì)于本領(lǐng)域普通技術(shù)人員來說顯而 易見的是,也可以使用諸如支持向量機(jī)(SVM)之類的其它分類器。
[0057] 一旦對(duì)所選擇的數(shù)據(jù)點(diǎn)進(jìn)行了分類,則方法400轉(zhuǎn)到方框408處。
[0058] 在方框408處,分類器引擎214存儲(chǔ)在方框406中所生成的分類數(shù)據(jù)。如上所述,該 分類數(shù)據(jù)可以包括一個(gè)或多個(gè)標(biāo)簽和與各個(gè)標(biāo)簽相關(guān)聯(lián)的概率信息,其中該概率信息指示 該標(biāo)簽正確的可能性。一旦存儲(chǔ)了用于所選擇的數(shù)據(jù)點(diǎn)的分類數(shù)據(jù),則方法400轉(zhuǎn)到方框 410 處。
[0059] 在方框410處,分類器引擎214判斷所接收的1D輪廓是否存在更多的數(shù)據(jù)點(diǎn)要進(jìn)行 分類。當(dāng)分類器引擎214被配置為對(duì)該1D輪廓的每一個(gè)數(shù)據(jù)點(diǎn)進(jìn)行分類時(shí),那么如果尚未對(duì) 所有的數(shù)據(jù)點(diǎn)進(jìn)行分類,則分類器可以確定存在更多的數(shù)據(jù)點(diǎn)要進(jìn)行分類。當(dāng)分類器引擎 214被配置為只對(duì)該1D輪廓的數(shù)據(jù)點(diǎn)中的子集進(jìn)行分類時(shí),那么,如果存在滿足分類標(biāo)準(zhǔn) (用于確定哪些數(shù)據(jù)點(diǎn)要進(jìn)行分類的標(biāo)準(zhǔn))的任何未分類的數(shù)據(jù)點(diǎn),則分類器引擎214可以 確定存在更多的數(shù)據(jù)點(diǎn)要進(jìn)行分類。如果分類器引擎214確定存在至少一個(gè)數(shù)據(jù)點(diǎn)要進(jìn)行 分類,則方法400返回到方框404。但是,如果分類器引擎214確定不存在要進(jìn)行分類的數(shù)據(jù) 點(diǎn),則方法轉(zhuǎn)到方框412處。
[0060] 在方框412處,分類器引擎214對(duì)用于每一個(gè)被分類數(shù)據(jù)點(diǎn)的分類數(shù)據(jù)進(jìn)行聚合, 以便向?qū)ο蠓峙渥罱K標(biāo)簽或者標(biāo)簽集合。在一些例子中,可以對(duì)于這些被分類數(shù)據(jù)點(diǎn)的(適 當(dāng))子集的分類數(shù)據(jù)進(jìn)行聚合,以提供針對(duì)于該對(duì)象的第一部分的分類,可以對(duì)針對(duì)于這些 被分類數(shù)據(jù)點(diǎn)的非重疊(適當(dāng))子集的分類數(shù)據(jù)進(jìn)行聚合,以提供針對(duì)于該對(duì)象的第二部分 的分類等等。
[0061] 如上所述,在一些例子中,該對(duì)象是人手,分類器的目標(biāo)是分配:(i)針對(duì)于人手的 狀態(tài)標(biāo)簽,其指示該人手的位置;(ii)針對(duì)于該人手的一些部分的一個(gè)或多個(gè)部分標(biāo)簽 (part label),以標(biāo)識(shí)人手的部分(part)。在這些例子中,分類器引擎214可以通過儲(chǔ)存來 自數(shù)據(jù)點(diǎn)分類的針對(duì)狀態(tài)標(biāo)簽的概率信息,形成狀態(tài)概率的最終集合,來確定該人手的最 終狀態(tài)。隨后,使用該最終集合的概率來分配最終狀態(tài)標(biāo)簽。此外,還可以將用于標(biāo)注的相 類似兩標(biāo)簽(或者多標(biāo)簽)方法應(yīng)用于其它對(duì)象。
[0062] 為了確定最終部分標(biāo)簽,分類器引擎214可以被配置為向數(shù)據(jù)點(diǎn)部分標(biāo)簽應(yīng)用一 維運(yùn)行模式過濾器,以過濾掉噪聲標(biāo)簽(即,概率低于某個(gè)門限的標(biāo)簽)。隨后,分類器引擎 214可以應(yīng)用連接的組成元素,以向手指分配最終標(biāo)簽。在一些情況下,分類器引擎214可以 選擇每一個(gè)組成元素中具有最大曲率的點(diǎn)作為指尖。
[0063] 一旦分類器引擎214使用數(shù)據(jù)點(diǎn)分類數(shù)據(jù),向?qū)ο蠓峙淞俗罱K標(biāo)簽或者標(biāo)簽集合, 則方法400轉(zhuǎn)到方框414處。
[0064] 在方框414處,分類器輸出該最終標(biāo)簽或者標(biāo)簽集合(例如,部分標(biāo)簽或者狀態(tài)標(biāo) 簽)。如上所述,可以使用該狀態(tài)標(biāo)注和部分標(biāo)注(partlabeling),來控制在基于計(jì)算的設(shè) 備108上運(yùn)行的應(yīng)用。
[0065] 除了輸出標(biāo)簽(在方框414處)之外,或者替代輸出標(biāo)簽,分類器還可以輸出關(guān)于該 對(duì)象的方向的量化信息,其是取決于在分類器引擎中存儲(chǔ)的信息。例如,當(dāng)使用隨機(jī)決策森 林時(shí),除了在每一個(gè)葉子節(jié)點(diǎn)處存儲(chǔ)標(biāo)簽數(shù)據(jù)之外,或者替代在每一個(gè)葉子節(jié)點(diǎn)處存儲(chǔ)標(biāo) 簽數(shù)據(jù),可以存儲(chǔ)量化信息(例如,手指的方向的角度或者對(duì)象的旋轉(zhuǎn)的角度)。
[0066] 該一維輪廓所涉及的并且使用本文所描述的方法來進(jìn)行分類的對(duì)象,可以是單一 項(xiàng)(例如,人手、杯子(mug)等等),或者其可以是多個(gè)項(xiàng)的組合(例如,握筆的手或者部分地 被另一個(gè)對(duì)象遮蔽的對(duì)象)。當(dāng)1D輪廓是作為多個(gè)項(xiàng)的組合的對(duì)象時(shí),該對(duì)象可以稱為復(fù)合 對(duì)象,可以對(duì)該復(fù)合對(duì)象進(jìn)行分類,如同其是單一對(duì)象。替代地,在開始分類過程之前,可以 對(duì)該1D輪廓進(jìn)行處理以將該1D輪廓分割成一個(gè)以上的1D輪廓,并隨后對(duì)這些1D輪廓中的一 個(gè)或多個(gè)進(jìn)行單獨(dú)分類。
[0067] 圖6中對(duì)此進(jìn)行了描繪,在圖6中,分類器引擎214接收回射器對(duì)應(yīng)的1D輪廓信號(hào) 602,其中該回射器被人手部分地遮蔽。在該例子中,分類器引擎214可以被配置為對(duì)回射器 的凸包604進(jìn)行估計(jì),從而生成兩個(gè)1D輪廓,一個(gè)604對(duì)應(yīng)于回射器,另一個(gè)606對(duì)應(yīng)于遮蔽 物體,在該例子中,其是人手。
[0068] 通過用此方式對(duì)輸入1D輪廓進(jìn)行分割,用于每一個(gè)生成的1D輪廓的分類過程可以 更簡(jiǎn)單,訓(xùn)練過程可以更簡(jiǎn)單,這是因?yàn)槠錅p少了由于遮蔽而在1D輪廓中造成的可能變化。 由于1D輪廓在該情況下是更簡(jiǎn)單的,因此更淺的森林足夠用于在線訓(xùn)練。
[0069] 現(xiàn)參見圖7,該圖示出了用于使用隨機(jī)決策森林702,對(duì)于對(duì)象進(jìn)行分類的示例性 方法。在該例子中,隨機(jī)決策森林702可以在離線處理704中生成和訓(xùn)練,并可以存儲(chǔ)在基于 計(jì)算的設(shè)備108處,或者存儲(chǔ)在系統(tǒng)中的任何其它實(shí)體處,或者存儲(chǔ)在與基于計(jì)算的設(shè)備進(jìn) 行通信的其它地方。對(duì)隨機(jī)決策森林702進(jìn)行訓(xùn)練,以利用部分標(biāo)簽和狀態(tài)標(biāo)簽來標(biāo)注一維 輪廓輸入信號(hào)706中的點(diǎn)708,其中部分標(biāo)簽標(biāo)識(shí)可變形對(duì)象的組成元素(例如,手指尖、手 掌、手腕、唇、筆記本電腦蓋),狀態(tài)標(biāo)簽標(biāo)識(shí)對(duì)象的配置(例如,打開、關(guān)閉、展開、握緊或者 對(duì)象的方向(如,向上、向下))。隨機(jī)決策森林702以快速簡(jiǎn)單的方式來提供部分標(biāo)簽和狀態(tài) 標(biāo)簽,其中該方式的運(yùn)算量不大,并且即使使用單線程實(shí)現(xiàn)的傳統(tǒng)計(jì)算硬件,也可以針對(duì)從 圖1的捕捉設(shè)備102饋送的實(shí)時(shí)視頻進(jìn)行實(shí)時(shí)地或者接近實(shí)時(shí)地執(zhí)行。
[0070] 可以將狀態(tài)和部分標(biāo)簽輸入到手勢(shì)檢測(cè)或識(shí)別系統(tǒng)中,由于其結(jié)合工作的輸入的 本質(zhì),因此該手勢(shì)檢測(cè)或識(shí)別系統(tǒng)對(duì)手勢(shì)識(shí)別系統(tǒng)進(jìn)行了簡(jiǎn)化。例如,通過查找預(yù)定數(shù)量的 圖像的特定對(duì)象狀態(tài),或者對(duì)象狀態(tài)之間的轉(zhuǎn)化,這些輸入使得能夠識(shí)別一些手勢(shì)。
[0071] 如上面所提及的,在704處,可以使用訓(xùn)練用的輪廓信號(hào)712,在離線處理中,對(duì)隨 機(jī)決策森林702進(jìn)行訓(xùn)練。
[0072]現(xiàn)參見圖8,該圖示出了用于生成訓(xùn)練用的1D輪廓信號(hào)的處理。訓(xùn)練數(shù)據(jù)發(fā)生器 802(其是計(jì)算機(jī)實(shí)現(xiàn)的)對(duì)地面真值(ground truth)的標(biāo)注的1D輪廓信號(hào)804(其還稱為訓(xùn) 練用的1D輪廓信號(hào))進(jìn)行生成和評(píng)分。該地面真值的標(biāo)注的1D輪廓信號(hào)804可以包括很多對(duì) 的1D輪廓信號(hào),每一對(duì)806包括對(duì)象的1D輪廓信號(hào)808和該1D輪廓信號(hào)的標(biāo)注版本810,在后 者中每一個(gè)數(shù)據(jù)點(diǎn)包括狀態(tài)標(biāo)簽,相關(guān)的數(shù)據(jù)點(diǎn)還包括部分標(biāo)簽。1D輪廓信號(hào)所表示的對(duì) 象和使用的標(biāo)簽根據(jù)應(yīng)用領(lǐng)域而改變。對(duì)象的訓(xùn)練用的1D輪廓信號(hào)以及這些對(duì)象的配置和 方向的各種各樣示例,根據(jù)可用的應(yīng)用領(lǐng)域、可用的存儲(chǔ)和計(jì)算資源而盡可能廣泛。
[0073]可以使用計(jì)算機(jī)圖形技術(shù),來綜合地生成這些對(duì)的訓(xùn)練用的1D輪廓信號(hào)804。例 如,計(jì)算機(jī)系統(tǒng)812可以訪問對(duì)象的虛擬3D模型814和訪問繪制工具816。使用虛擬3D模型, 繪制工具816可以被布置為自動(dòng)地生成具有標(biāo)簽的多個(gè)高質(zhì)量輪廓信號(hào)。在一些例子中,當(dāng) 對(duì)象是人手時(shí),該虛擬3D模型可以具有32個(gè)自由度,這些自由度能夠以一個(gè)范圍的參數(shù)來 自動(dòng)構(gòu)造人手。在一些例子中,向繪制的輪廓信號(hào)增加合成噪聲,以便更緊密地復(fù)制真實(shí)世 界狀況。具體而言,可以向一個(gè)或多個(gè)手關(guān)節(jié)角度增加合成噪聲。
[0074]當(dāng)對(duì)象是人手時(shí),繪制工具816可以首先針對(duì)每一種可能的人手狀態(tài),生成較高數(shù) 量的左手1D輪廓信號(hào)(在一些情況下,其可以高達(dá)8,000個(gè))。隨后,可以對(duì)這些信號(hào)進(jìn)行鏡 像,并給予右手標(biāo)簽。在這些例子中,可以通過利用紋理來映射該模型,對(duì)指尖進(jìn)行標(biāo)注,其 中該紋理利用不同的顏色來表示不同的區(qū)域。此外,該訓(xùn)練用的數(shù)據(jù)還可以包括根據(jù)真實(shí) 人手的圖像來生成,并進(jìn)行手動(dòng)標(biāo)注的1D輪廓信號(hào)。
[0075] 現(xiàn)參見圖9,該圖是包括三個(gè)隨機(jī)決策樹902、904和906的隨機(jī)決策森林的示意圖。 可以使用一個(gè)或多個(gè)隨機(jī)決策樹。為了清楚說明起見,在該例子中示出了三個(gè)隨機(jī)決策樹。 隨機(jī)決策樹是用于對(duì)在訓(xùn)練階段期間累積的數(shù)據(jù)進(jìn)行存儲(chǔ)的一種類型的數(shù)據(jù)結(jié)構(gòu),所以其 可以用于針對(duì)該隨機(jī)決策樹先前未觀察到的例子做出預(yù)測(cè)。通常,將隨機(jī)決策樹使用為針 對(duì)特定的應(yīng)用領(lǐng)域所訓(xùn)練的多個(gè)隨機(jī)決策樹的組合體(其稱為森林)的一部分,以便實(shí)現(xiàn)一 般化(其能夠針對(duì)一些示例進(jìn)行良好預(yù)測(cè),其中這些示例不同于用于訓(xùn)練該森林的那些示 例)。隨機(jī)決策樹具有根節(jié)點(diǎn)908、多個(gè)分支節(jié)點(diǎn)910和多個(gè)葉子節(jié)點(diǎn)912。在對(duì)該樹的結(jié)構(gòu) (節(jié)點(diǎn)的數(shù)量以及它們是如何進(jìn)行連接的)進(jìn)行訓(xùn)練期間,進(jìn)行學(xué)習(xí)以及對(duì)在這些分支節(jié)點(diǎn) 中的每一個(gè)分支節(jié)點(diǎn)處使用的功能進(jìn)行分割。此外,在訓(xùn)練期間,在葉子節(jié)點(diǎn)處對(duì)數(shù)據(jù)進(jìn)行 累積。
[0076]在本文所描述的例子中,對(duì)隨機(jī)決策森林進(jìn)行訓(xùn)練,以利用部分標(biāo)簽和/或狀態(tài)標(biāo) 簽,對(duì)圖像中的對(duì)象的1D輪廓信號(hào)里的點(diǎn)進(jìn)行標(biāo)注(或者分類)。
[0077]可以以某種處理,將1D輪廓信號(hào)的數(shù)據(jù)點(diǎn)從根節(jié)點(diǎn),推送通過隨機(jī)決策森林中的 樹到達(dá)葉子節(jié)點(diǎn),從而在每一個(gè)分支節(jié)點(diǎn)處進(jìn)行決策。根據(jù)正在被分類的數(shù)據(jù)點(diǎn)的特性以 及相對(duì)于原始數(shù)據(jù)點(diǎn)移動(dòng)了由該分支節(jié)點(diǎn)的參數(shù)所指定的空間偏移的距離的1D輪廓數(shù)據(jù) 點(diǎn)的特性,來進(jìn)行該決策。例如,分支節(jié)點(diǎn)處的測(cè)試函數(shù)可以具有式(1)所示出的形式:
[0078] f(F)<T (1)
[0079]其中,該函數(shù)f映射數(shù)據(jù)點(diǎn)的特征F。
[0080]在式(2)中示出了一種示例性測(cè)試函數(shù):
[0081 ] f(s, ul}u2, p) = [i"(^ + i/j) - J(s + w2)j- (2)
[0082]其中,s是正在分類的數(shù)據(jù)點(diǎn),m是與點(diǎn)s的第一固定距離,U2是與點(diǎn)s的第二固定距 離,是到向量萬的投影,J5是主軸文、/或者5中的一個(gè)。該測(cè)試探查在該1D輪廓上的兩 個(gè)偏移(s+m和s+U2),獲得在一個(gè)方向上的它們的世界距離,并將該距離與門限T進(jìn)行比較。 該測(cè)試功能將數(shù)據(jù)分割成兩個(gè)集合,并將它們的每一個(gè)發(fā)送到相應(yīng)的子節(jié)點(diǎn)。
[0083]在分支節(jié)點(diǎn)處,該數(shù)據(jù)點(diǎn)沿著根據(jù)決策的結(jié)果所選擇的分支向下轉(zhuǎn)到該樹的下一 個(gè)層級(jí)。在訓(xùn)練期間,對(duì)參數(shù)值(其還稱為特征)進(jìn)行學(xué)習(xí),以便用于分支節(jié)點(diǎn),在葉子節(jié)點(diǎn) 處,對(duì)包括部分標(biāo)簽投票和狀態(tài)標(biāo)簽投票的數(shù)據(jù)進(jìn)行累積。
[0084]現(xiàn)參見圖10,該圖示出了用于對(duì)隨機(jī)決策森林進(jìn)行訓(xùn)練,以向1D輪廓信號(hào)的數(shù)據(jù) 點(diǎn)分配部分標(biāo)簽和狀態(tài)標(biāo)簽的方法1000的流程圖。這還可以認(rèn)為是針對(duì)1D輪廓信號(hào)的數(shù)據(jù) 點(diǎn),生成部分標(biāo)簽投票和狀態(tài)標(biāo)簽投票(即,對(duì)應(yīng)于特定的部分標(biāo)簽和特定的狀態(tài)標(biāo)簽的每 一個(gè)數(shù)據(jù)點(diǎn)的投票)。使用如上面參照?qǐng)D7所描述的一個(gè)集合的訓(xùn)練用的1D輪廓信號(hào),對(duì)隨 機(jī)決策森林進(jìn)行訓(xùn)練。
[0085]在方框1002處,接收如上所述的該訓(xùn)練集合的1D輪廓信號(hào)。一旦接收到該訓(xùn)練集 合的1D輪廓信號(hào),方法900轉(zhuǎn)到方框1004處。
[0086]在方框1004處,選擇在隨機(jī)決策森林中將使用的決策樹的數(shù)量。如上所述,隨機(jī)決 策森林是確定性決策樹的集合。決策樹有時(shí)可能承受過度擬合,即,較差的一般性。但是,很 多隨機(jī)訓(xùn)練的決策樹的組合體(隨機(jī)森林)可能產(chǎn)生改進(jìn)的一般性。對(duì)森林中的每一個(gè)樹進(jìn) 行訓(xùn)練。在該訓(xùn)練過程期間,樹的數(shù)量固定。一旦選擇了決策樹的數(shù)量,則方法1000轉(zhuǎn)到方 框1006處。
[0087] 在方框1006處,選擇該森林中的樹進(jìn)行訓(xùn)練。一旦選擇一個(gè)樹進(jìn)行訓(xùn)練,則方法 1000轉(zhuǎn)到方框1008處。
[0088] 在方框1008處,選擇在方框1006處所選擇的樹的根節(jié)點(diǎn)。一旦選擇了根節(jié)點(diǎn),則方 法1000轉(zhuǎn)到方框1010處。
[0089] 在方框1010處,至少選擇形成每一個(gè)訓(xùn)練用的1D輪廓信號(hào)的數(shù)據(jù)點(diǎn)的子集,來訓(xùn) 練該樹。一旦從訓(xùn)練用的1D輪廓信號(hào)中選擇了用于進(jìn)行訓(xùn)練的數(shù)據(jù)點(diǎn),則方法1000轉(zhuǎn)到方 框1012處。
[0090] 在方框1012處,隨后使用測(cè)試參數(shù)的隨機(jī)集合,來作為候選特征,用于在根節(jié)點(diǎn)處 執(zhí)行的二值測(cè)試(binary test)。在操作時(shí),每一個(gè)樹的每一個(gè)根節(jié)點(diǎn)和分支節(jié)點(diǎn)對(duì)輸入數(shù) 據(jù)執(zhí)行二值測(cè)量,并基于結(jié)果來將該數(shù)據(jù)指引到左側(cè)子節(jié)點(diǎn)或者右側(cè)子節(jié)點(diǎn)。葉子節(jié)點(diǎn)并 不執(zhí)行任何動(dòng)作;它們對(duì)累積的部分標(biāo)簽投票和狀態(tài)標(biāo)簽投票(以及可選的其它信息)進(jìn)行 存儲(chǔ)。例如,可以存儲(chǔ)用于表示這些累積的投票的概率分布。
[0091]舉一個(gè)例子,在根節(jié)點(diǎn)處執(zhí)行的二值測(cè)試具有式(1)中所示出的形式。具體而言, 函數(shù)f(F)對(duì)數(shù)據(jù)點(diǎn)s的特征F進(jìn)行評(píng)估,以判斷其是否大于門限值T。如果該函數(shù)大于門限 值,則該二值測(cè)試的結(jié)果為真。否則,該二值測(cè)試的結(jié)果為假。
[0092] 對(duì)于本領(lǐng)域普通技術(shù)人員來說顯而易見的是,式(1)的二值測(cè)試只是一個(gè)例子,可 以使用其它適當(dāng)?shù)亩禍y(cè)試。具體而言,在另一個(gè)例子中,在根節(jié)點(diǎn)處執(zhí)行的二值測(cè)試可以 對(duì)該函數(shù)進(jìn)行評(píng)估,以判斷其是否大于第一門限值T,并且小于第二門限值T。
[0093] 候選函數(shù)f(F)可以只利用在測(cè)試時(shí)間可用的數(shù)據(jù)點(diǎn)信息。在訓(xùn)練期間,隨機(jī)地生 成用于該函數(shù)f(F)的參數(shù)F。用于生成參數(shù)F的處理可以包括:生成沿著該輪廓的隨機(jī)距離 m和u2,選擇隨機(jī)維度x、y或z。隨后,如上所述地計(jì)算函數(shù)f(F)的結(jié)果。門限值T將連續(xù)信號(hào) 轉(zhuǎn)換成二值決策(左/右分支),其提供在感興趣的部分標(biāo)簽和狀態(tài)標(biāo)簽之間的某種區(qū)分。
[0094] 例如,如上所述,可以將上面的式(2)中所示出的函數(shù),使用成二值測(cè)試的基礎(chǔ)。該 函數(shù)確定沿著1D輪廓,與感興趣數(shù)據(jù)點(diǎn)s的空間偏移分別為距離u#Pu 2的兩個(gè)數(shù)據(jù)點(diǎn)之間的 距離,并將該距離映射到p上,其中p是主軸x、y和z中的一個(gè)。如上所述,可以對(duì)ui和U2進(jìn)行歸 一化(即,依據(jù)真實(shí)世界距離來規(guī)定),以使u#Pu 2具有尺度不變性。
[0095] 所述測(cè)試參數(shù)的隨機(jī)集合包括用于函數(shù)參數(shù)F和門限值T的多個(gè)隨機(jī)值。例如,當(dāng) 使用式⑵的函數(shù)時(shí),生成用于m、u2、p和T多個(gè)隨機(jī)值。為了將隨機(jī)性注入到?jīng)Q策樹中,只在 所有可能參數(shù)的隨機(jī)采樣的子集上,對(duì)每一個(gè)分支節(jié)點(diǎn)的函數(shù)參數(shù)F進(jìn)行優(yōu)化。這是將隨機(jī) 性注入到這些樹中,并增加一般性的有效并簡(jiǎn)單方式。
[0096] 應(yīng)當(dāng)注意的是,在不同的節(jié)點(diǎn)處,可以使用數(shù)據(jù)點(diǎn)的不同特征。具體而言,在每一 個(gè)節(jié)點(diǎn)處,可以不使用相同類型的二值測(cè)試。例如,不是確定關(guān)于軸(即,X、y和Z)的兩個(gè)數(shù) 據(jù)點(diǎn)之間的距離,而是二值測(cè)試可以對(duì)歐幾里德距離、角度距離、方向距離、時(shí)間差、或者該 輪廓的任何其它適當(dāng)特征進(jìn)行評(píng)估。
[0097] 一旦選擇了測(cè)試參數(shù),則方法1000轉(zhuǎn)到方框1014處。
[0098] 在方框1014處,將測(cè)試參數(shù)的每一個(gè)隨機(jī)選擇的組合應(yīng)用于為訓(xùn)練而選擇的每一 個(gè)數(shù)據(jù)點(diǎn)。換言之,用于F的可用值(即,m、u 2、p)與針對(duì)為訓(xùn)練而選擇的每一個(gè)數(shù)據(jù)點(diǎn)的T的 可用值進(jìn)行組合。一旦將該測(cè)試參數(shù)的組合應(yīng)用于這些訓(xùn)練用的數(shù)據(jù)點(diǎn),則方法1000轉(zhuǎn)到 方框1016處。
[0099] 在方框1016處,針對(duì)于測(cè)試參數(shù)的每一個(gè)組合,計(jì)算最優(yōu)化標(biāo)準(zhǔn)。舉例而言,所計(jì) 算的標(biāo)準(zhǔn)包括該直方圖或者一些直方圖相對(duì)于部分和狀態(tài)的信息增益(其還稱為相對(duì)熵)。 當(dāng)使用式(2)的測(cè)試函數(shù)時(shí),可以使用式(3)來計(jì)算測(cè)試參數(shù)的特定組合的增益G:
[0101]其中,H(C)是示例性集合C中的標(biāo)簽y(例如,yqPys)的類型標(biāo)簽分布的香農(nóng)熵,Cl 和Cr是通過該分割形成的示例的兩個(gè)集合。
[0102] 在一些例子中,為了對(duì)用于聯(lián)合處理形狀分類(shape classification)和部分定 位(part localization)(例如,指尖定位)的單一森林進(jìn)行訓(xùn)練,當(dāng)計(jì)算增益時(shí),可以不管 部分標(biāo)簽(例如,yf),直到達(dá)到該樹中的某個(gè)深度m為止,使得直到該深度m,只使用狀態(tài)標(biāo) 簽(例如,y s)來計(jì)算增益。從該深度m開始,在計(jì)算增益時(shí)可以不管狀態(tài)標(biāo)簽(例如,ys),只使 用部分標(biāo)簽(例如,y f)來計(jì)算增益。這具有使得在深度m處開始的每一個(gè)子樹以在它們的根 節(jié)點(diǎn)處的形狀類型分布為條件的效果。這種方式使得低層級(jí)特征以高層級(jí)特征分布為條 件。在其它例子中,可以對(duì)該增益進(jìn)行混合,或者該增益可以在部分標(biāo)簽和狀態(tài)標(biāo)簽之間交 替。
[0103] 可以用于對(duì)參數(shù)的質(zhì)量進(jìn)行評(píng)估的其它標(biāo)準(zhǔn),包括但不限于:Gini熵或者'兩分 (two-ing)'標(biāo)準(zhǔn)。選擇用于使該標(biāo)準(zhǔn)(例如,增益)最大化的參數(shù),并將其存儲(chǔ)在當(dāng)前節(jié)點(diǎn)以 便未來使用。一旦選擇了參數(shù)集,則方法1〇〇〇轉(zhuǎn)到方框1018處。
[0104] 在方框1018處,判斷對(duì)應(yīng)于所計(jì)算的標(biāo)準(zhǔn)(例如,增益)的值是否小于(或者大于) 門限。如果對(duì)應(yīng)于該標(biāo)準(zhǔn)的值小于門限,則這指示該樹的進(jìn)一步擴(kuò)展并不提供顯著的利益。 這造成了當(dāng)另外的節(jié)點(diǎn)沒有益處時(shí),自然地停止增長(zhǎng)的非對(duì)稱樹。在這些情況下,方法1000 轉(zhuǎn)到方框1020處,此時(shí),將當(dāng)前節(jié)點(diǎn)設(shè)置成葉子節(jié)點(diǎn)。類似地,確定該樹的當(dāng)前深度(即,在 根節(jié)點(diǎn)和當(dāng)前節(jié)點(diǎn)之間存在多少層級(jí)的節(jié)點(diǎn))。如果其大于預(yù)先規(guī)定的最大值,則方法1000 轉(zhuǎn)到方框1020處,此時(shí),將當(dāng)前節(jié)點(diǎn)設(shè)置成葉子節(jié)點(diǎn)。在一些例子中,每一個(gè)葉子節(jié)點(diǎn)具有 在該訓(xùn)練過程期間在該葉子節(jié)點(diǎn)處進(jìn)行累積的部分標(biāo)簽投票和狀態(tài)標(biāo)簽投票,如下面所描 述的。一旦當(dāng)前節(jié)點(diǎn)被設(shè)置成葉子節(jié)點(diǎn),則方法1 〇〇〇轉(zhuǎn)到方框1028處。
[0105] 如果對(duì)應(yīng)于所計(jì)算的標(biāo)準(zhǔn)(例如,增益)的值大于或者等于門限,并且樹深度小于 最大值,則方法1000轉(zhuǎn)到方框1022處,此時(shí),將當(dāng)前節(jié)點(diǎn)設(shè)置成分支節(jié)點(diǎn)。一旦將當(dāng)前節(jié)點(diǎn) 設(shè)置成分支節(jié)點(diǎn),則方法1000移動(dòng)到方框1024處。
[0106] 在方框1024處,使用對(duì)所述標(biāo)準(zhǔn)(例如,增益)進(jìn)行最優(yōu)化的參數(shù),來確定發(fā)送給該 分支節(jié)點(diǎn)的每一個(gè)子節(jié)點(diǎn)的數(shù)據(jù)點(diǎn)子集。具體而言,這些參數(shù)用于二值測(cè)試,對(duì)所有訓(xùn)練用 數(shù)據(jù)點(diǎn)都執(zhí)行該二值測(cè)試。通過該二值測(cè)試的數(shù)據(jù)點(diǎn)形成發(fā)送給第一子節(jié)點(diǎn)的第一子集, 而沒有通過該二值測(cè)試的數(shù)據(jù)點(diǎn)形成發(fā)送給第二子節(jié)點(diǎn)的第二子集。一旦確定了數(shù)據(jù)點(diǎn)的 所述子集,則方法1000轉(zhuǎn)到方框1026處。
[0107] 在方框1026處,對(duì)于每一個(gè)子節(jié)點(diǎn)而言,針對(duì)于被指引到相應(yīng)子節(jié)點(diǎn)的數(shù)據(jù)點(diǎn)子 集,遞歸地執(zhí)行方框1012到1024中概述的處理。換言之,對(duì)于每一個(gè)子節(jié)點(diǎn)而言,生成新的 隨機(jī)測(cè)試參數(shù),并應(yīng)用于相應(yīng)的數(shù)據(jù)點(diǎn)子集,確定用于最優(yōu)化所選擇的標(biāo)準(zhǔn)的參數(shù)和節(jié)點(diǎn) 的類型(分支或者葉子)。因此,該處理遞歸地通過該樹,對(duì)每一個(gè)節(jié)點(diǎn)進(jìn)行訓(xùn)練,直到在每 一個(gè)分支都到達(dá)葉子節(jié)點(diǎn)為止。
[0108]在方框1028處,判斷是否對(duì)所有分支中的所有節(jié)點(diǎn)都進(jìn)行了訓(xùn)練。一旦對(duì)所有分 支中的所有節(jié)點(diǎn)都進(jìn)行了訓(xùn)練,則方法1000轉(zhuǎn)到方框1030處。
[0109] 在方框1030處,在樹的葉子節(jié)點(diǎn)處,對(duì)投票進(jìn)行累積。這些投票包括:在關(guān)于部分 和狀態(tài)的直方圖或者一些直方圖中針對(duì)于部分和狀態(tài)的另外計(jì)數(shù)。這是訓(xùn)練階段,所以到 達(dá)給定的葉子節(jié)點(diǎn)的特定數(shù)據(jù)點(diǎn)具有從地面真值訓(xùn)練數(shù)據(jù)獲知的特定的部分層級(jí)投票和 狀態(tài)層級(jí)投票。一旦對(duì)這些投票進(jìn)行了累積,則方法1000轉(zhuǎn)到方框1032處。
[0110] 在方框1032處,可以使用各種不同的方法,對(duì)累積的投票的表示進(jìn)行存儲(chǔ)。直方圖 具有較小的固定尺寸,所以利用較少的存儲(chǔ)器占用來存儲(chǔ)直方圖是可能的。一旦對(duì)累積的 投票進(jìn)行了存儲(chǔ),則方法1000轉(zhuǎn)到方框1034處。
[0111] 在方框1034處,判斷在決策森林中是否存在更多的樹。如果是,則方法1000轉(zhuǎn)到方 框1006處,其中在方框1006處,選擇該決策森林中的下一個(gè)樹,重復(fù)該過程。如果對(duì)森林中 的所有樹都進(jìn)行了訓(xùn)練,沒有剩余的其它樹,則該訓(xùn)練過程結(jié)束,方法1000在方框1036處終 止。
[0112] 現(xiàn)參見圖11,該圖示出了用于使用決策樹森林(例如,如圖7中的方框710),對(duì)1D輪 廓信號(hào)中的數(shù)據(jù)點(diǎn)進(jìn)行分類的示例性方法1100。方法1100可以由分類器引擎214在圖4的方 框406處執(zhí)行。雖然將方法1100描述成由圖2的分類器引擎214來執(zhí)行,但在其它例子中,該 方法的全部或者一部分可以由本文所描述的系統(tǒng)的另一個(gè)部件來執(zhí)行。
[0113] 在方框1102處,分類器引擎214接收要進(jìn)行分類的1D輪廓信號(hào)數(shù)據(jù)點(diǎn)。如上所述, 在一些例子中,分類器引擎214可以被配置為對(duì)1D輪廓信號(hào)的每一個(gè)數(shù)據(jù)點(diǎn)進(jìn)行分類。在其 它例子中,分類器引擎214可以被配置為只對(duì)1D輪廓信號(hào)的數(shù)據(jù)點(diǎn)中的子集進(jìn)行分類。在這 些例子中,分類器引擎214可以使用預(yù)定的標(biāo)準(zhǔn)集合,來選擇要進(jìn)行分類的數(shù)據(jù)點(diǎn)。一旦分 類器引擎接收到要進(jìn)行分類的數(shù)據(jù)點(diǎn),方法1100轉(zhuǎn)到方框1104處。
[0114] 在方框1104處,分類器引擎214從決策森林中選擇決策樹。一旦選擇了決策樹,則 方法1100轉(zhuǎn)到方框1106處。
[0115] 在方框1106處,分類器引擎214將該輪廓數(shù)據(jù)點(diǎn)推送通過在方框1104中選定的決 策樹,使得其針對(duì)于在節(jié)點(diǎn)處的訓(xùn)練參數(shù)進(jìn)行測(cè)試,隨后根據(jù)該測(cè)試的結(jié)果將其傳送到適 當(dāng)?shù)淖庸?jié)點(diǎn),重復(fù)該過程直到該圖像元素到達(dá)葉子節(jié)點(diǎn)為止。一旦該數(shù)據(jù)點(diǎn)到達(dá)葉子節(jié)點(diǎn), 則方法1100轉(zhuǎn)到方框1108處。
[0116] 在方框1108處,分類器引擎214存儲(chǔ)累積的與末端葉子節(jié)點(diǎn)相關(guān)聯(lián)的部分標(biāo)簽投 票和狀態(tài)標(biāo)簽投票。這些部分標(biāo)簽投票和狀態(tài)標(biāo)簽投票可以具有直方圖的形式或者任何其 它適當(dāng)?shù)男问健T谝恍├又校嬖谥ㄡ槍?duì)于部分和狀態(tài)的投票的單一直方圖。在其它 例子中,存在著一個(gè)直方圖包括針對(duì)于部分的投票,另一個(gè)直方圖包括針對(duì)于狀態(tài)的投票。 一旦對(duì)該累積的部分標(biāo)簽投票和狀態(tài)標(biāo)簽投票進(jìn)行存儲(chǔ),則方法1100轉(zhuǎn)到方框1110處。
[0117] 在方框1110處,分類器引擎214判斷在該森林中是否存在更多的決策樹。如果確定 在該森林中存在更多的決策樹,則方法1100返回到方框1104處,此時(shí)選擇另一個(gè)決策樹。重 復(fù)該過程,直到針對(duì)森林中的所有決策樹都進(jìn)行執(zhí)行為止,隨后該方法在1112處結(jié)束。應(yīng)當(dāng) 注意,用于推送圖像元素通過決策森林中的多個(gè)樹的處理,可以并行地執(zhí)行,而不是如圖11 中所示地進(jìn)行順序地執(zhí)行。
[0118] 圖12示出了可以實(shí)現(xiàn)成任何形式的計(jì)算設(shè)備和/或電子設(shè)備,以及可以在其中實(shí) 現(xiàn)本文所描述的系統(tǒng)和方法的實(shí)施例的示例性的基于計(jì)算的設(shè)備108的各種部件。
[0119] 基于計(jì)算的設(shè)備108包括一個(gè)或多個(gè)處理器1202,其中所述一個(gè)或多個(gè)處理器 1202可以是用于處理計(jì)算機(jī)可執(zhí)行指令以控制該設(shè)備的操作,從而對(duì)圖像中的對(duì)象進(jìn)行分 類的微處理器、控制器或者任何其它適當(dāng)類型的處理器。在一些例子中,例如當(dāng)使用片上系 統(tǒng)架構(gòu)時(shí),處理器1202可以包括一個(gè)或多個(gè)固定功能模塊(其還稱為加速器),其中這些功 能模塊利用硬件(而不是軟件或固件)來實(shí)現(xiàn)對(duì)基于計(jì)算的設(shè)備進(jìn)行控制的方法的一部分。 可以在基于計(jì)算的設(shè)備處提供包括操作系統(tǒng)1004的平臺(tái)軟件或者任何其它適當(dāng)?shù)钠脚_(tái)軟 件,以使應(yīng)用軟件216能夠在該設(shè)備上進(jìn)行執(zhí)行。
[0120] 可以使用基于計(jì)算的設(shè)備108能訪問的任何計(jì)算機(jī)可讀介質(zhì)來提供計(jì)算機(jī)可執(zhí)行 指令。例如,計(jì)算機(jī)可讀介質(zhì)可以包括諸如存儲(chǔ)器1206之類的計(jì)算機(jī)存儲(chǔ)介質(zhì)以及通信介 質(zhì)。諸如存儲(chǔ)器1206之類的計(jì)算機(jī)存儲(chǔ)介質(zhì)包括利用用于存儲(chǔ)信息(例如,計(jì)算機(jī)可讀指 令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù))的任何方法或技術(shù)來實(shí)現(xiàn)的易失性和非易失性、可移 動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于:1^11、1?(觀、£?1?011、££?1?011、閃存或者其它 存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多用途光碟(DVD)或者其它光存儲(chǔ)器件、盒式磁帶、磁帶、磁盤存 儲(chǔ)或者其它磁存儲(chǔ)器件、或者可以用于存儲(chǔ)信息以便由基于計(jì)算的設(shè)備進(jìn)行訪問的任何其 它非傳輸介質(zhì)。相比而言,通信介質(zhì)可以使用諸如載波波形或其它傳輸機(jī)制之類的調(diào)制的 數(shù)據(jù)信號(hào)來體現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或者其它數(shù)據(jù)。如本文所規(guī)定的,計(jì) 算機(jī)存儲(chǔ)介質(zhì)并不包括通信介質(zhì)。因此,計(jì)算機(jī)存儲(chǔ)介質(zhì)本質(zhì)上不應(yīng)被解釋為傳播信號(hào)。傳 播信號(hào)可以出現(xiàn)在計(jì)算機(jī)存儲(chǔ)介質(zhì)中,但傳播信號(hào)本質(zhì)上不是計(jì)算機(jī)存儲(chǔ)介質(zhì)的示例。雖 然將計(jì)算機(jī)存儲(chǔ)介質(zhì)(存儲(chǔ)器1206)示出為位于基于計(jì)算的設(shè)備108之中,但應(yīng)當(dāng)理解的是, 該存儲(chǔ)器件可以是分布式的,或者位于遠(yuǎn)程位置并經(jīng)由網(wǎng)絡(luò)或其它通信鏈路進(jìn)行訪問(例 如,使用通信接口 1208)。
[0121] 此外,基于計(jì)算的設(shè)備108還包括布置為向顯示設(shè)備110(圖1)輸出顯示信息的輸 入/輸出控制器1210,其中顯示設(shè)備110可以是與基于計(jì)算的設(shè)備108分離的,也可以集成到 基于計(jì)算的設(shè)備108中。該顯示信息可以提供圖形用戶界面。此外,輸入/輸出控制器1210還 被布置為從諸如用戶輸入設(shè)備(例如,鼠標(biāo)、鍵盤、相機(jī)、麥克風(fēng)或其它傳感器)之類的一個(gè) 或多個(gè)設(shè)備接收輸入并進(jìn)行處理。在一些例子中,用戶輸入設(shè)備可以檢測(cè)語音輸入、用戶手 勢(shì)或者其它用戶動(dòng)作,可以提供自然用戶界面(NUI)。在一個(gè)實(shí)施例中,如果顯示設(shè)備110是 觸摸敏感式顯示設(shè)備的話,則其還可以充當(dāng)為用戶輸入設(shè)備。此外,輸入/輸出控制器1010 還可以向不同于顯示設(shè)備的設(shè)備(例如,本地連接的打印設(shè)備(圖12中沒有示出))輸出數(shù) 據(jù)。
[0122] 輸入/輸出控制器1210、顯示設(shè)備110和可選的用戶輸入設(shè)備(沒有示出)可以包括 NUI技術(shù),其中NUI技術(shù)使用戶能夠以自然的方式與基于計(jì)算的設(shè)備進(jìn)行交互,不受諸如鼠 標(biāo)、鍵盤、遠(yuǎn)程控制器等等之類的輸入設(shè)備所施加的人為限制的約束??梢蕴峁┑腘UI技術(shù) 的例子,包括但不限于依賴于以下方式的那些技術(shù):聲音和/或語音識(shí)別、觸摸和/或手寫筆 識(shí)別(觸摸敏感式顯示器)、屏幕之上和與屏幕相鄰的手勢(shì)識(shí)別、空中手勢(shì)、頭部和眼球跟 蹤、聲音和語音、視覺、觸摸、手勢(shì)和機(jī)器智能??梢允褂玫腘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顯示、頭 部、眼球和視線跟蹤、沉浸式增強(qiáng)現(xiàn)實(shí)和虛擬現(xiàn)實(shí)系統(tǒng)、以及用于使用電場(chǎng)感測(cè)電極(EEG和 相關(guān)方法)來感測(cè)大腦活動(dòng)的技術(shù)。
[0123] 替代地或另外地,本文所描述的功能可以至少部分地由一個(gè)或多個(gè)硬件邏輯部件 來執(zhí)行。舉例而言但非做出限制,可以使用的示例性類型的硬件邏輯部件,包括:現(xiàn)場(chǎng)可編 程門陣列(FPGA)、專用集成電路(ASIC)、程序特定標(biāo)準(zhǔn)產(chǎn)品(ASSP)、片上系統(tǒng)(S0C)、復(fù)雜可 編程邏輯器件(CPLD)。
[0124] 本文使用術(shù)語'計(jì)算機(jī)'或'基于計(jì)算的設(shè)備'來指代具有處理能力,使得其可以執(zhí) 行指令的任何設(shè)備。本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)認(rèn)識(shí)到,這些處理能力并入到多種不同的設(shè) 備之中,因此術(shù)語'計(jì)算機(jī)'和'基于計(jì)算的設(shè)備'中的每一個(gè)包括PC、服務(wù)器、移動(dòng)電話(其 包括智能電話)、平板計(jì)算機(jī)、機(jī)頂盒、媒體播放器、游戲機(jī)、個(gè)人數(shù)字助理和多種其它設(shè)備。
[0125] 本文所描述的方法可以通過有形存儲(chǔ)介質(zhì)上的機(jī)器可讀形式的軟件來執(zhí)行,例 如,該軟件具有包括計(jì)算機(jī)程序代碼單元的計(jì)算機(jī)程序的形式,當(dāng)程序在計(jì)算機(jī)上運(yùn)行且 計(jì)算機(jī)程序可以體現(xiàn)在計(jì)算機(jī)可讀介質(zhì)上時(shí),這些計(jì)算機(jī)程序代碼單元適于執(zhí)行本文所描 述的方法中的任何方法的所有步驟。有形存儲(chǔ)介質(zhì)的例子包括具有計(jì)算機(jī)可讀介質(zhì)(例如, 磁盤、拇指驅(qū)動(dòng)器、存儲(chǔ)器等等)的計(jì)算機(jī)存儲(chǔ)設(shè)備,并不包括傳播信號(hào)。傳播信號(hào)可以出現(xiàn) 在有形存儲(chǔ)介質(zhì)中,但傳播信號(hào)本質(zhì)上不是有形存儲(chǔ)介質(zhì)的示例。軟件可適合于在并行處 理器或者串行處理器上執(zhí)行,使得可以以任何適當(dāng)?shù)捻樞蚧蛘咄瑫r(shí)地執(zhí)行這些方法步驟。
[0126] 這里承認(rèn)軟件能夠是有價(jià)值的、可以單獨(dú)交易的商品。它旨在包含運(yùn)行于或者控 制"啞(dumb)"或者標(biāo)準(zhǔn)的硬件以實(shí)現(xiàn)期望的功能的軟件。它還旨在包含"描述"或者定義硬 件配置的軟件,例如,如用于設(shè)計(jì)硅芯片或者用于配置通用可編程芯片來執(zhí)行期望的功能 的HDL(硬件描述語言)軟件。
[0127] 本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)認(rèn)識(shí)到,用于存儲(chǔ)程序指令的存儲(chǔ)設(shè)備可以分布在網(wǎng)絡(luò) 各處。例如,遠(yuǎn)程計(jì)算機(jī)可以存儲(chǔ)描述成軟件的處理的例子。本地或終端計(jì)算機(jī)可以訪問遠(yuǎn) 程計(jì)算機(jī),下載該軟件的一部分或者全部來運(yùn)行該程序。替代地,本地計(jì)算機(jī)可以按需下載 軟件的一部分,或者可以在本地終端處執(zhí)行一些軟件指令而在遠(yuǎn)程計(jì)算機(jī)(或計(jì)算機(jī)網(wǎng)絡(luò)) 處執(zhí)行一些軟件指令。此外,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)認(rèn)識(shí)到,通過使用本領(lǐng)域普通技術(shù)人 員都知識(shí)的那些傳統(tǒng)技術(shù),軟件指令的全部或一部分可以由諸如DSP、可編程邏輯陣列等等 之類的專用電路來執(zhí)行。
[0128] 如本領(lǐng)域普通技術(shù)人員將清楚的,本文給出的任何范圍或者設(shè)備值都可以被擴(kuò)展 或者改變而不失去所尋求的效果。
[0129] 雖然利用特定于結(jié)構(gòu)特征和/或方法動(dòng)作的語言來描述本發(fā)明的主題,但應(yīng)當(dāng)理 解的是,所附權(quán)利要求書中規(guī)定的主題并不必須限于上面所描述的特定特征或者動(dòng)作。相 反,上面所描述的特定特征和動(dòng)作只是公開成實(shí)現(xiàn)本發(fā)明的示例形式。
[0130] 應(yīng)當(dāng)理解的是,上面所描述的利益和優(yōu)點(diǎn)可能涉及一個(gè)實(shí)施例,也可能涉及幾個(gè) 實(shí)施例。實(shí)施例并不限于解決所陳述的問題中的任何一個(gè)或者全部的那些實(shí)施例,也不限 于具有所陳述的利益和優(yōu)點(diǎn)中的任何一個(gè)或者全部的那些實(shí)施例。此外,還應(yīng)當(dāng)理解的是, 對(duì)于'一個(gè)'項(xiàng)目的引用,指代這些項(xiàng)目中的一個(gè)或多個(gè)。
[0131] 本文所描述的方法的步驟可以在需要時(shí)按任何合適的次序或同時(shí)執(zhí)行。另外,可 以從任何方法中刪除個(gè)別框,而不脫離本文所描述的主題的精神和保護(hù)范圍。上面所描述 的例子中的任何一個(gè)的方面,可以與所描述的其它例子中的任何一個(gè)的方面進(jìn)行組合以形 成另外的示例,而不失去所尋求的效果。
[0132] 本文使用術(shù)語'包括'來意味著包括所標(biāo)識(shí)的方法框或元素,但這些框或者元素并 不包括窮舉的列表,方法或裝置可以包含另外的框或者元素。
[0133] 應(yīng)當(dāng)理解的是,上面的描述僅僅是通過示例的方式給出的,并且本領(lǐng)域普通技術(shù) 人員可做出各種修改。上面的說明書、示例和數(shù)據(jù)提供了示例性實(shí)施例的結(jié)構(gòu)和使用的完 整描述。盡管上面已經(jīng)用某種程度的特殊性或者參考一個(gè)或多個(gè)單獨(dú)的實(shí)施例描述了本發(fā) 明的各種實(shí)施例,但本領(lǐng)域普通技術(shù)人員可在不脫離本發(fā)明的精神或保護(hù)范圍的情況下對(duì) 所公開的實(shí)施例做出眾多改變。
【主權(quán)項(xiàng)】
1. 一種對(duì)圖像中的對(duì)象進(jìn)行分類的方法,所述方法包括: 在基于計(jì)算的設(shè)備處,接收所述對(duì)象對(duì)應(yīng)的一維輪廓信號(hào),所述一維輪廓信號(hào)包括沿 著所述對(duì)象的外形的一系列數(shù)據(jù)點(diǎn),所述一維輪廓信號(hào)是根據(jù)描述所述對(duì)象的一個(gè)或多個(gè) 圖像來生成的; 向所述數(shù)據(jù)點(diǎn)的至少一部分應(yīng)用分類器,以使用基于輪廓的特征,對(duì)所述一部分的數(shù) 據(jù)點(diǎn)中的每一個(gè)數(shù)據(jù)點(diǎn)進(jìn)行分類;以及 對(duì)所述一部分的數(shù)據(jù)點(diǎn)的所述分類進(jìn)行聚合,以便對(duì)所述對(duì)象進(jìn)行分類。2. 根據(jù)權(quán)利要求1所述的方法,其中,向特定的數(shù)據(jù)點(diǎn)應(yīng)用所述分類器包括:識(shí)別相對(duì) 于所述特定的數(shù)據(jù)點(diǎn)空間偏移的數(shù)據(jù)點(diǎn),并確定所識(shí)別的數(shù)據(jù)點(diǎn)和另一個(gè)數(shù)據(jù)點(diǎn)之間的差 值。3. 根據(jù)權(quán)利要求2所述的方法,其中,所識(shí)別的數(shù)據(jù)點(diǎn)沿著所述一維輪廓相對(duì)于所述特 定的數(shù)據(jù)點(diǎn)具有預(yù)定的真實(shí)世界測(cè)量單位。4. 根據(jù)權(quán)利要求2所述的方法,其中,所識(shí)別的數(shù)據(jù)點(diǎn)相對(duì)于所述特定的數(shù)據(jù)點(diǎn)具有預(yù) 定角度。5. 根據(jù)權(quán)利要求2所述的方法,其中,所識(shí)別的數(shù)據(jù)點(diǎn)和所述另一個(gè)數(shù)據(jù)點(diǎn)之間的差值 表示所識(shí)別的數(shù)據(jù)點(diǎn)與所述另一個(gè)數(shù)據(jù)點(diǎn)之間的真實(shí)世界距離,或者投影到預(yù)先規(guī)定的軸 上的所識(shí)別的數(shù)據(jù)點(diǎn)與所述另一個(gè)數(shù)據(jù)點(diǎn)之間的真實(shí)世界距離。6. 根據(jù)權(quán)利要求1-3和5中的任何一項(xiàng)所述的方法,還包括: 在向所述數(shù)據(jù)點(diǎn)的至少一部分應(yīng)用所述分類器之前,對(duì)所接收的一維輪廓信號(hào)進(jìn)行重 新采樣以生成修改的一維輪廓信號(hào),所述修改的一維輪廓信號(hào)包括沿著所述對(duì)象的所述一 維輪廓的一系列數(shù)據(jù)點(diǎn),其中,每一個(gè)數(shù)據(jù)點(diǎn)沿著所述一維輪廓相對(duì)于所述修改的一維輪 廓信號(hào)中的下一個(gè)數(shù)據(jù)點(diǎn)具有預(yù)定的真實(shí)世界距離。7. 根據(jù)前述權(quán)利要求中的任何一項(xiàng)所述的方法,其中,所述分類器將所述一部分的數(shù) 據(jù)點(diǎn)中的每一個(gè)數(shù)據(jù)點(diǎn)分類成特定部分和特定狀態(tài)中的至少一個(gè)的一部分。8. 根據(jù)前述權(quán)利要求中的任何一項(xiàng)所述的方法,還包括: 基于所述輪廓信號(hào)來估計(jì)項(xiàng)的凸包; 針對(duì)所估計(jì)的凸包,生成簡(jiǎn)化的輪廓信號(hào),其中,所述簡(jiǎn)化的輪廓信號(hào)包括多個(gè)數(shù)據(jù) 點(diǎn);以及 向所述簡(jiǎn)化的輪廓信號(hào)的所述數(shù)據(jù)點(diǎn)應(yīng)用所述分類器。9. 根據(jù)前述權(quán)利要求中的任何一項(xiàng)所述的方法,其中,所述對(duì)象是物理對(duì)象,所述一維 輪廓信號(hào)是根據(jù)描述所述對(duì)象的剪影的一個(gè)或多個(gè)圖像來生成的。10. -種圖像分類系統(tǒng),包括: 基于計(jì)算的設(shè)備,其配置為: 接收對(duì)象對(duì)應(yīng)的一維輪廓信號(hào),所述一維輪廓信號(hào)包括沿著所述對(duì)象的外形的一系列 數(shù)據(jù)點(diǎn),所述一維輪廓信號(hào)是根據(jù)描述所述對(duì)象的一個(gè)或多個(gè)圖像來生成的; 向所述數(shù)據(jù)點(diǎn)的至少一部分應(yīng)用分類器,以使用基于輪廓的特征,對(duì)所述一部分的數(shù) 據(jù)點(diǎn)中的每一個(gè)數(shù)據(jù)點(diǎn)進(jìn)行分類;以及 對(duì)所述數(shù)據(jù)點(diǎn)的所述分類進(jìn)行聚合,以便對(duì)所述對(duì)象進(jìn)行分類。
【文檔編號(hào)】G06K9/62GK105917356SQ201580004546
【公開日】2016年8月31日
【申請(qǐng)日】2015年1月8日
【發(fā)明人】D·金, C·克斯金, J·D·J·肖頓, S·伊扎迪
【申請(qǐng)人】微軟技術(shù)許可有限責(zé)任公司