具有實(shí)現(xiàn)不同精度的軟件及硬件算法的評(píng)價(jià)層的圖像處理器的制造方法
【專利摘要】一種包括實(shí)現(xiàn)至少含有評(píng)價(jià)層和識(shí)別層的多個(gè)處理層的圖像處理電路的圖像處理器。評(píng)價(jià)層包括軟件實(shí)現(xiàn)部分和硬件實(shí)現(xiàn)部分,評(píng)價(jià)層的軟件實(shí)現(xiàn)部分被配置用于使用軟件算法來生成第一精度等級(jí)的第一對(duì)象數(shù)據(jù),而評(píng)價(jià)層的硬件實(shí)現(xiàn)部分被配置用于使用硬件算法來生成比第一精度等級(jí)低的第二精度等級(jí)的第二對(duì)象數(shù)據(jù)。評(píng)價(jià)層還包括被配置用于組合第一及第二對(duì)象數(shù)據(jù)以生成輸出對(duì)象數(shù)據(jù)待傳遞給識(shí)別層的信號(hào)組合器。舉例來說(僅為示例),評(píng)價(jià)層可以按照?qǐng)D像處理器的姿勢(shì)識(shí)別系統(tǒng)的評(píng)價(jià)子系統(tǒng)的形式來實(shí)現(xiàn)。
【專利說明】具有實(shí)現(xiàn)不同精度的軟件及硬件算法的評(píng)價(jià)層的圖像處理 器
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明的領(lǐng)域一般地涉及圖像處理,并且更特別地涉及圖像數(shù)據(jù)在圖像處理器中 的處理。
【背景技術(shù)】
[0002] 圖像處理在各種各樣的不同應(yīng)用中是重要的,并且這樣的處理可以涉及二維(2D) 圖像、三維(3D)圖像,或者多個(gè)不同類型的圖像的組合。例如,空間場(chǎng)景的3D圖像可以在 圖像處理器中使用三角剖分基于由使每個(gè)相機(jī)具有不同的場(chǎng)景視角而布置的各個(gè)相機(jī)捕 獲的多個(gè)2D圖像來生成。作為選擇,3D圖像能夠直接使用深度成像器(例如,結(jié)構(gòu)光(SL) 相機(jī)或飛行時(shí)間(ToF)相機(jī))來生成。在此同樣稱為深度圖像的這些及其他3D圖像通常 用于機(jī)器視覺應(yīng)用(例如,姿勢(shì)識(shí)別)中。
[0003] 在典型的常規(guī)布局中,來自圖像傳感器的原始圖像數(shù)據(jù)通常要經(jīng)過各種預(yù)處理操 作。除了別的以外,這樣的預(yù)處理操作還可以包括例如對(duì)比度增強(qiáng)、直方圖均衡化、噪聲降 低、邊緣突出顯示以及坐標(biāo)空間變換。所預(yù)處理的圖像數(shù)據(jù)然后會(huì)受到為了實(shí)現(xiàn)姿勢(shì)識(shí)別 或一種機(jī)器視覺應(yīng)用所需的附加處理。
【發(fā)明內(nèi)容】
[0004] 在一種實(shí)施例中,圖像處理器包括用于實(shí)現(xiàn)至少包括評(píng)價(jià)層和識(shí)別層的多個(gè)處理 層的圖像處理電路。評(píng)價(jià)層包括軟件實(shí)現(xiàn)的部分和硬件實(shí)現(xiàn)的部分,評(píng)價(jià)層的軟件實(shí)現(xiàn)部 分被配置用于使用軟件算法來生成第一精度等級(jí)的第一對(duì)象數(shù)據(jù),而評(píng)價(jià)層的硬件實(shí)現(xiàn)部 分被配置用于使用硬件算法來生成比第一精度等級(jí)低的第二精度等級(jí)的第二對(duì)象數(shù)據(jù)。評(píng) 價(jià)層還包括被配置用于組合第一及第二對(duì)象數(shù)據(jù)以生成待傳遞給識(shí)別層的輸出對(duì)象數(shù)據(jù) 的信號(hào)組合器。
[0005] 評(píng)價(jià)層可以說明性地耦接于圖像處理器的預(yù)處理層與識(shí)別層之間,該預(yù)處理層接 收來自圖像傳感器的原始圖像數(shù)據(jù)并且將預(yù)處理的圖像數(shù)據(jù)提供給評(píng)價(jià)層,盡管眾多別的 布局都是可能的。
[0006] 舉例來說(僅為示例),評(píng)價(jià)層可以按照?qǐng)D像處理器的姿勢(shì)識(shí)別系統(tǒng)的評(píng)價(jià)子系 統(tǒng)的形式來實(shí)現(xiàn)。
[0007] 本發(fā)明的其他實(shí)施例包括(但不限于)方法、裝置、系統(tǒng)、處理設(shè)備、集成電路,以 及具有實(shí)現(xiàn)于其內(nèi)的計(jì)算機(jī)程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
【專利附圖】
【附圖說明】
[0008] 圖1是在一種實(shí)施例中的圖像處理系統(tǒng)的框圖,包括配置有使用預(yù)處理層、評(píng)價(jià) 層、識(shí)別層和應(yīng)用層進(jìn)行的姿勢(shì)識(shí)別功能的圖像處理器。
[0009] 圖2至5示出了在圖1的系統(tǒng)中的圖像處理器的示例性評(píng)價(jià)層的各方面。
[0010] 圖6至8是示出在圖1的系統(tǒng)內(nèi)的圖像處理器的評(píng)價(jià)層的各個(gè)實(shí)施例中的各組處 理操作的流程圖,使用頭部跟蹤應(yīng)用作為示例。
【具體實(shí)施方式】
[0011] 本發(fā)明的實(shí)施例在本文中將結(jié)合示例性的圖像處理系統(tǒng)來說明,該圖像處理系統(tǒng) 包括圖像處理器或者使用多個(gè)處理層來實(shí)現(xiàn)姿勢(shì)識(shí)別功能的其他類型的處理設(shè)備。但是, 應(yīng)當(dāng)理解,本發(fā)明的實(shí)施例可更一般地應(yīng)用于得益于更有效的圖像處理的任何圖像處理系 統(tǒng)或者關(guān)聯(lián)的設(shè)備或技術(shù)。
[0012] 圖1示出了在本發(fā)明的一種實(shí)施例中的圖像處理系統(tǒng)100。圖像處理系統(tǒng)100包 括用于接收一個(gè)或多個(gè)圖像源105的圖像并將處理的圖像提供給一個(gè)或多個(gè)圖像目的地 107的圖像處理器102。圖像處理器102同樣經(jīng)由網(wǎng)絡(luò)104與多個(gè)處理設(shè)備106通信。
[0013] 盡管圖像源105和圖像目的地107在圖1中被顯示為與處理設(shè)備106分離的,但是 這樣的源和目的地中的至少一個(gè)子集可以至少部分地使用一個(gè)或多個(gè)處理設(shè)備106來實(shí) 現(xiàn)。因此,圖像可以經(jīng)由網(wǎng)絡(luò)104提供給圖像處理器102,以便由一個(gè)或多個(gè)處理設(shè)備106 處理。類似地,處理的圖像可以由圖像處理器102通過網(wǎng)絡(luò)104傳遞給一個(gè)或多個(gè)處理設(shè) 備106。因此,可以將這樣的處理設(shè)備視為圖像源或圖像目的地的實(shí)例。
[0014] 給定的圖像源可以包括例如配置用于生成深度圖像的3D成像器(例如,SL相機(jī) 或ToF相機(jī)),或者配置用于生成灰度圖像、彩色圖像、紅外圖像或其他類型的2D圖像的2D 成像器。同樣可能的是,單個(gè)成像器或其他圖像源能夠提供深度圖像和相應(yīng)的2D圖像(例 如,灰度圖像、彩色圖像或紅外圖像)兩者。例如,某些類型的現(xiàn)有3D相機(jī)能夠產(chǎn)生給定場(chǎng) 景的深度圖,以及同一場(chǎng)景的2D圖像。作為選擇,用于提供給定場(chǎng)景的深度圖的3D成像器 能夠布置于單獨(dú)的高分辨率視頻攝相機(jī)附近,或者是提供基本上相同場(chǎng)景的2D圖像的其 他2D成像器。
[0015] 還應(yīng)當(dāng)意識(shí)到,給定的圖像源如同該術(shù)語在本文中所廣泛使用那樣可以代表用于 并入圖像處理器102的至少一部分的成像器的圖像傳感器部分。例如,一個(gè)或多個(gè)圖像源 105中的至少一個(gè)可以包括深度傳感器,該深度傳感器是SL相機(jī)、ToF相機(jī)或者并入圖像處 理器102的其他深度成像器的一部分。許多可替換的布局都是可能的。例如,圖像源的另 一個(gè)實(shí)例是用于給圖像處理器102提供待處理的圖像的存儲(chǔ)設(shè)備或服務(wù)器。
[0016] 給定的圖像目的地可以包括例如計(jì)算機(jī)或移動(dòng)電話的人機(jī)界面的一個(gè)或多個(gè)顯 示屏,或者用于接收來自圖像處理器102的處理的圖像的至少一個(gè)存儲(chǔ)設(shè)備或服務(wù)器。
[0017] 因此,盡管圖像源105和圖像目的地107在圖1中被示為與圖像處理器102分離 的,圖像處理器102可以至少部分地與在共同處理設(shè)備上的該一個(gè)或多個(gè)圖像源和該一個(gè) 或多個(gè)圖像目的地中的至少一個(gè)子集組合。因而,例如,給定的圖像源和圖像處理器102可 以共同地實(shí)現(xiàn)于同一處理設(shè)備上。類似地,給定的圖像目的地和圖像處理器102可以共同 地實(shí)現(xiàn)于同一處理設(shè)備上。
[0018] 在本實(shí)施例中,圖像處理器102包括使用圖像處理器102的多個(gè)處理層來實(shí)現(xiàn)的 姿勢(shì)識(shí)別(GR)系統(tǒng)110。這些處理層包括在本文中更一般地稱為圖像處理器102的"圖像 處理電路"的至少一部分。在本實(shí)施例中,處理層在圖中被示為各個(gè)橢圓形,并且包括預(yù)處 理層112和多個(gè)較高的處理層,包括評(píng)價(jià)層114、識(shí)別層116和應(yīng)用層118。
[0019] 處理層112、114、116和118在此還可以指的是GR系統(tǒng)110的各個(gè)子系統(tǒng)。但是, 應(yīng)當(dāng)注意,本發(fā)明的實(shí)施例并不限定于姿勢(shì)識(shí)別,而是能夠適合在各種各樣的其他機(jī)器視 覺應(yīng)用中使用,并且在其他實(shí)施例中可以包括不同數(shù)量、類型及布局的層。
[0020] 此外,作為代替,圖像處理器102的某些處理層在其他實(shí)施例中可以至少部分地 實(shí)現(xiàn)于其他設(shè)備上。例如,預(yù)處理層112可以至少部分地實(shí)現(xiàn)于包括深度成像器或其他類 型的成像器的圖像源105內(nèi)。同樣可能的是,應(yīng)用層118可以實(shí)現(xiàn)于與評(píng)價(jià)層114和識(shí)別 層116不同的單獨(dú)的處理設(shè)備上,例如,處理設(shè)備106之一。
[0021] 而且,應(yīng)當(dāng)意識(shí)到,圖像處理器102自身可以包括多個(gè)不同的處理設(shè)備,使得處理 層112、114、116和118使用兩個(gè)或更多個(gè)處理設(shè)備來實(shí)現(xiàn)。本文所使用的術(shù)語"圖像處理 器"意指作廣泛的理解,以便包含這些及其他布局。
[0022] 預(yù)處理層112對(duì)接收自一個(gè)或多個(gè)圖像源105的圖像數(shù)據(jù)執(zhí)行預(yù)處理操作。在本 實(shí)施例中假定,該接收到的圖像數(shù)據(jù)包括接收自深度傳感器的原始圖像數(shù)據(jù),但是在其他 實(shí)施例中也可以處理其他類型的所接收的圖像數(shù)據(jù)。預(yù)處理層112將預(yù)處理的圖像數(shù)據(jù)提 供給評(píng)價(jià)層114。
[0023] 在預(yù)處理層112中接收自深度傳感器的原始圖像數(shù)據(jù)可以包括包含各自深度圖 像的幀流,每個(gè)這樣的深度圖像都包括多個(gè)深度圖像像素。例如,給定的深度圖像D可以按 照實(shí)值矩陣的形式提供給預(yù)處理層112。每個(gè)這樣的實(shí)值都可以更具體地為深度圖像的特 定像素提供深度值du,其中i和j指示像素索引,并且深度值表示到所成像的對(duì)象的距離。 給定的這樣的深度圖像在本文中也稱為深度圖。
[0024] 具有索引i,j和深度值屯的給定像素能夠被變換為3D空間中的(X,y,z)坐標(biāo)。 同樣,如果給定像素的深度是未知的,則可以將預(yù)定值u(例如,0)用作該像素的深度值。在 其他實(shí)施例中可以使用各種各樣的其他類型的圖像數(shù)據(jù)。
[0025] 在某些實(shí)施例中,用于生成像素的深度值的傳感器還可以為那些像素提供對(duì)應(yīng) 的可靠性值。例如,由該類型的傳感器供應(yīng)的每個(gè)像素(i,j)可以包括對(duì)其中 〇 < ru < 1是深度圖像的像素可靠性指標(biāo)或者其他類型的可靠性值。作為選擇,可靠性值 可以在預(yù)處理層112中基于特定類型的傳感器的已知特性而估計(jì)出或者被確定??煽啃灾?可以是用于一個(gè)或多個(gè)別的處理層中的單獨(dú)的可靠性矩陣的一部分。
[0026] 在此說明,上述圖像數(shù)據(jù)類型只是示例性的,并且所公開的技術(shù)能夠適合用于許 多不同類型的圖像數(shù)據(jù)流,包括具有高幀頻的流。
[0027] 如同以下將結(jié)合圖4和5更詳細(xì)地描述的,評(píng)價(jià)層114更具體地包括軟件實(shí)現(xiàn)的 部分和硬件實(shí)現(xiàn)的部分,評(píng)價(jià)層的軟件實(shí)現(xiàn)部分被配置用于使用軟件算法來生成第一精度 等級(jí)的第一對(duì)象數(shù)據(jù),而評(píng)價(jià)層的硬件實(shí)現(xiàn)部分被配置用于使用硬件算法來生成比第一精 度等級(jí)低的第二精度等級(jí)的第二對(duì)象數(shù)據(jù)。評(píng)價(jià)層114還包括被配置用于組合第一及第二 對(duì)象數(shù)據(jù)以生成待傳遞給識(shí)別層116的輸出對(duì)象數(shù)據(jù)的信號(hào)組合器。對(duì)象數(shù)據(jù)可以具有多 個(gè)部分,例如,常量部分和變量部分。
[0028] 舉例來說,對(duì)象數(shù)據(jù)可以包括用于描述一個(gè)或多個(gè)成像對(duì)象的所謂的"骨架"數(shù) 據(jù),骨架數(shù)據(jù)的常量部分包括骨架尺寸,而骨架數(shù)據(jù)的變量部分包括骨架角度和質(zhì)心位置。 在其他實(shí)施例中可以使用許多其他類型的對(duì)象數(shù)據(jù),并且這樣的對(duì)象數(shù)據(jù)不需要包括單獨(dú) 的常量部分和變量部分。對(duì)象數(shù)據(jù)或其一些部分可以采取各種形式,例如,矩陣或向量形 式,如同本領(lǐng)域技術(shù)人員所應(yīng)當(dāng)意識(shí)到的。本文所使用的術(shù)語"對(duì)象數(shù)據(jù)"因此意指作廣泛 的理解,以便包含,例如,涉及在預(yù)處理的圖像數(shù)據(jù)中檢測(cè)到的或者與其關(guān)聯(lián)的一個(gè)或多個(gè) 對(duì)象的數(shù)據(jù)。
[0029] 識(shí)別層116在本實(shí)施例中使用由評(píng)價(jià)層114提供的對(duì)象數(shù)據(jù)來執(zhí)行高級(jí)應(yīng)用專用 的圖像處理,假定該圖像處理至少包括姿勢(shì)識(shí)別,但是除此之外或作為選擇能夠包括其他 類型的高級(jí)應(yīng)用專用的圖像處理,例如,行為識(shí)別、表情識(shí)別和凝視跟蹤。
[0030] 在本實(shí)施例中,假定應(yīng)用層118包括使用識(shí)別層116的姿勢(shì)識(shí)別輸出的至少一個(gè) 姿勢(shì)識(shí)別應(yīng)用,例如,成像場(chǎng)景的參數(shù)表示。其他類型的處理的圖像數(shù)據(jù)輸出可以提供給圖 像處理器102的一個(gè)或多個(gè)應(yīng)用層或者相關(guān)的處理設(shè)備106或目的地107。
[0031] 在上述骨架數(shù)據(jù)的情形中,這種數(shù)據(jù)由評(píng)價(jià)層114提供給識(shí)別層116,該識(shí)別層 116明確地將為特定的應(yīng)用層118所需的當(dāng)前對(duì)象狀態(tài)進(jìn)行分類。例如,如果由應(yīng)用層實(shí)現(xiàn) 的姿勢(shì)識(shí)別應(yīng)用包括響應(yīng)于檢測(cè)到各個(gè)不同的姿勢(shì)而生成命令,則識(shí)別層116被配置用于 檢測(cè)這樣的姿勢(shì)并且給應(yīng)用層提供適當(dāng)?shù)姆诸愝敵觥?br>
[0032] 處理層112、114、116和118可以包括圖像處理器102的圖像處理電路的不同部 分,盡管給定的此類處理層可以被實(shí)現(xiàn)為硬件、固件和軟件的組合。本文所使用的術(shù)語"層" 因此意指作廣泛的理解,并且可以包括,例如,專用硬件、處理內(nèi)核、固件引擎及相關(guān)的固 件,或者通用處理資源以及在這些資源上執(zhí)行的相關(guān)軟件,以及這些及其他類型圖像處理 電路的各種組合。假定給定的GR系統(tǒng)的子系統(tǒng)是處理層的示例,因?yàn)楹笠粋€(gè)術(shù)語在本文中 被廣泛地使用。
[0033] 另一種常規(guī)的圖像處理集成電路或其他類型的圖像處理電路可以被適當(dāng)?shù)匦薷?以實(shí)現(xiàn)圖像處理器102的處理層112、114、116和118中的一個(gè)或多個(gè)的至少一部分,如同 本領(lǐng)域技術(shù)人員所應(yīng)當(dāng)意識(shí)到的。可以用于本發(fā)明的一種或多種實(shí)施例中的圖像處理電路 的一個(gè)可能實(shí)例是被適當(dāng)?shù)刂匦屡渲糜糜趫?zhí)行與處理層112、114、116和118中的一個(gè)或多 個(gè)關(guān)聯(lián)的功能的另一種常規(guī)的圖形處理器。
[0034] 處理設(shè)備106可以任意組合地包括,例如,計(jì)算機(jī)、移動(dòng)電話、服務(wù)器或存儲(chǔ)設(shè)備。 一個(gè)或多個(gè)這樣的設(shè)備還可以包括,例如,顯示屏或者用來呈現(xiàn)由圖像處理器102生成的 圖像的其他用戶界面。處理設(shè)備106可以因此包括被配置用于經(jīng)由網(wǎng)絡(luò)104來接收來自圖 像處理器102的處理的圖像流或其他類型的輸出信息的各種各樣的不同目的地設(shè)備,包括 例如用于接收來自圖像處理器102的此類輸出信息的至少一個(gè)服務(wù)器或存儲(chǔ)設(shè)備。
[0035] "圖像目的地",如同該術(shù)語在本文中所廣泛使用那樣,意指包含用于接收從由圖 像處理器102處理的一個(gè)或多個(gè)圖像得出的信息的任何設(shè)備或其部分,例如,用于接收由 GR系統(tǒng)110生成的姿勢(shì)識(shí)別輸出的設(shè)備。因此,圖像目的地可以接收至少一個(gè)處理的圖像、 至少一個(gè)處理的圖像的一部分,或者從至少一個(gè)處理的圖像的至少一部分得出的信息。
[0036] 盡管在本實(shí)施例中被示為與處理設(shè)備106分離的,圖像處理器102可以至少部分 與處理設(shè)備106中的一個(gè)或多個(gè)組合。因而,例如,圖像處理器102可以至少部分地使用處 理設(shè)備106中的給定一個(gè)來實(shí)現(xiàn)。舉例來說,計(jì)算機(jī)或移動(dòng)電話可以被配置用于并入圖像 處理器102以及可能為給定的圖像源。因此,圖像源105可以包括相機(jī)或者與計(jì)算機(jī)、移動(dòng) 電話或其他處理設(shè)備關(guān)聯(lián)的其他成像器。如上所述,圖像處理器102可以至少部分地與一 個(gè)或多個(gè)圖像源或圖像目的地組合于共同處理設(shè)備上。
[0037] 在本實(shí)施例中,假定圖像處理器102使用至少一個(gè)處理設(shè)備來實(shí)現(xiàn)并且包括與存 儲(chǔ)器122耦接的處理器120。處理器120執(zhí)行存儲(chǔ)于存儲(chǔ)器122內(nèi)的軟件代碼,以便控制圖 像處理操作的性能。圖像處理器102還包括用于支持經(jīng)由網(wǎng)絡(luò)104進(jìn)行的通信的網(wǎng)絡(luò)接口 124。
[0038] 處理層112、114、116和118,以及處理器120、存儲(chǔ)器122和網(wǎng)絡(luò)接口 124被認(rèn)為 是在本文中更一般地稱為圖像處理器102的圖像處理電路的電路的實(shí)例。
[0039] 處理器120可以任意組合地包括,例如,微處理器、專用集成電路(ASIC)、現(xiàn)場(chǎng)可 編程門陣列(FPGA)、中央處理單元(CPU)、算術(shù)邏輯單元(ALU)、數(shù)字信號(hào)處理器(DSP)或其 他類似的處理設(shè)備構(gòu)件,以及其他類型和布局的圖像處理電路。
[0040] 存儲(chǔ)器122存儲(chǔ)待由處理器120執(zhí)行以實(shí)現(xiàn)圖像處理器102的功能的若干部分的 軟件代碼,例如,預(yù)處理層112的若干部分以及較高的處理層114U16和118。用于存儲(chǔ)待 由相應(yīng)的處理器執(zhí)行的軟件代碼的此類給定的存儲(chǔ)器是在本文中更一般地稱為具有實(shí)現(xiàn) 于其內(nèi)的計(jì)算機(jī)程序代碼的計(jì)算機(jī)可讀介質(zhì)或其他類型的計(jì)算機(jī)程序產(chǎn)品的存儲(chǔ)器的實(shí) 例,并且可以任意組合地包括,例如,電子存儲(chǔ)器(例如,隨機(jī)存取存儲(chǔ)器(RAM)或只讀存儲(chǔ) 器(ROM))、磁存儲(chǔ)器、光存儲(chǔ)器或者其他類型的存儲(chǔ)設(shè)備。如上所述,處理器可以包括微處 理器、ASIC、FPGA、CPU、ALU、DSP或其他圖像處理電路的若干部分或組合。
[0041] 根據(jù)前面的描述應(yīng)當(dāng)清楚,本發(fā)明的實(shí)施例可以用集成電路的形式來實(shí)現(xiàn)。在給 定的此類集成電路實(shí)現(xiàn)方式中,相同的管芯通常按照重復(fù)的圖形形成于半導(dǎo)體晶圓的表面 上。每個(gè)管芯都包括本文所描述的圖像處理器或其他圖像處理電路,并且可以包括其他結(jié) 構(gòu)或電路。個(gè)體管芯被從晶圓中切割或劃片而得,然后被封裝為集成電路。本領(lǐng)域技術(shù)人 員應(yīng)當(dāng)知道如何對(duì)晶圓進(jìn)行劃片并封裝管芯以產(chǎn)生集成電路。這樣制造的集成電路被認(rèn)為 是本發(fā)明的實(shí)施例。
[0042] 圖1所示的圖像處理系統(tǒng)100的特定配置只是示例性的,并且系統(tǒng)100在其他實(shí) 施例中除了具體示出的那些元件之外或者作為它們的代替可以包括其他元件,包括常見于 該系統(tǒng)的常規(guī)實(shí)現(xiàn)方式中的類型的一個(gè)或多個(gè)元件。
[0043] 例如,在某些實(shí)施例中,圖像處理系統(tǒng)100被實(shí)現(xiàn)為用于處理圖像流以便識(shí)別用 戶姿勢(shì)的視頻游戲系統(tǒng)或者其他類型的基于姿勢(shì)的系統(tǒng)。所公開的技術(shù)能夠類似地適合用 在需要基于姿勢(shì)的人機(jī)界面的各種各樣的其他系統(tǒng)中,并且還能夠應(yīng)用于除姿勢(shì)識(shí)別外的 應(yīng)用,例如,在機(jī)器人中的機(jī)器視覺系統(tǒng)和其他工業(yè)應(yīng)用。
[0044] 在說明性的實(shí)施例中的圖像處理器102的操作現(xiàn)在將參照?qǐng)D2至8更詳細(xì)地描 述。應(yīng)當(dāng)意識(shí)到,結(jié)合這些附圖所描述的示例性特征及功能不必需存在于其他實(shí)施例中。
[0045] 首先參照?qǐng)D2,圖像處理器102的部分200包括與識(shí)別層116耦接的評(píng)價(jià)層114。 評(píng)價(jià)層114接收來自預(yù)處理層112的預(yù)處理的圖像數(shù)據(jù)202,作為它的輸入。如前所述,假定 這樣的圖像數(shù)據(jù)包括一個(gè)或多個(gè)預(yù)處理的深度圖像,盡管能夠使用其他類型的圖像數(shù)據(jù)。
[0046] 在本實(shí)施例中,評(píng)價(jià)層114實(shí)現(xiàn)在生成對(duì)象數(shù)據(jù)中的搜索-渲染-比較操作。這些 操作由評(píng)價(jià)層114的各個(gè)搜索、渲染和比較模塊204、206和208來執(zhí)行,并且包括所示的對(duì) 象數(shù)據(jù)210A、210B和210C以及相關(guān)的對(duì)象數(shù)據(jù)變型的處理或生成。對(duì)象數(shù)據(jù)210A與最佳 擬合的對(duì)象數(shù)據(jù)210B組合,以得到待傳遞給識(shí)別層116的輸出的最佳擬合對(duì)象數(shù)據(jù)210C。 在本實(shí)施例中,假定對(duì)象數(shù)據(jù)210A包括具有常量部分和變量部分的實(shí)數(shù)的向量。例如,如 前所述,對(duì)象數(shù)據(jù)可以包括骨架數(shù)據(jù),常量部分包括骨架尺寸,而變量部分包括骨架角度和 其他變量數(shù)據(jù)(例如,質(zhì)心位置)。
[0047] 評(píng)價(jià)層114在本實(shí)施例中還包括校準(zhǔn)模塊212、運(yùn)動(dòng)預(yù)測(cè)模塊214和試探 (heuristics)模塊216。校準(zhǔn)模塊212使用當(dāng)前輸入的深度圖像來計(jì)算骨架數(shù)據(jù)的常量部 分,本文也稱為當(dāng)前輸入幀。其他初始對(duì)象參數(shù)使用比較模塊208和試探模塊216來確定, 該比較模塊208和試探模塊216兩者均在當(dāng)前輸入的深度圖像上操作。
[0048] 搜索-渲染-比較操作一般地包括按照由搜索模塊204所實(shí)現(xiàn)的特定搜索界定的 方式來改變對(duì)象參數(shù),該特定搜索可以是梯度搜索或完全搜索,隨后是由各個(gè)模塊206和 208執(zhí)行的渲染和比較操作。完全搜索可以是同樣稱為窮盡搜索的那種類型的搜索。梯度 搜索或完全搜索可以利用由運(yùn)動(dòng)預(yù)測(cè)模塊214提供的運(yùn)動(dòng)預(yù)測(cè)信息。
[0049] 渲染(render)操作在本實(shí)施例中生成與當(dāng)前一組對(duì)象參數(shù)對(duì)應(yīng)的渲染的深度圖 像。搜索目標(biāo)的特征可以是使用規(guī)定的比較基元(primitive)來最小化在所渲染的深度 圖像與當(dāng)前輸入的深度圖像之間的距離,例如,基于距離度量(例如,歐氏距離或曼哈坦距 離)的最小平方。換言之,搜索操作改變對(duì)象參數(shù),直到使用比較基元確定對(duì)應(yīng)的渲染的深 度圖像足夠接近于輸入深度圖像。所渲染的深度圖像和輸入的深度圖像典型地被表示為實(shí) 數(shù)的各自度量,盡管能夠使用其他圖像數(shù)據(jù)布局。
[0050] 搜索-渲染-比較過程的復(fù)雜性將典型地取決于待確定的對(duì)象參數(shù)的數(shù)量,或者 換言之,過程的自由度數(shù)量。例如,對(duì)于N個(gè)自由度,完全搜索將使用k N次渲染和比較的迭 代,其中k在上下文中指示每個(gè)自由度的變型數(shù),而梯度搜索將使用(Ν+1) ·πι次渲染和比 較的迭代,其中m是沿梯度方向的梯級(jí)數(shù)。梯度搜索能夠被配置用于每s個(gè)梯級(jí)就重新計(jì) 算梯度,這會(huì)使渲染和比較的迭代次數(shù)減少至(Ν+1) ·ηι/8+ηι。
[0051] 在評(píng)價(jià)層114的給定實(shí)現(xiàn)方式中所使用的自由度及迭代的具體數(shù)量將依據(jù)具體 的姿勢(shì)識(shí)別應(yīng)用來改變。例如,頭部跟蹤應(yīng)用,假定頭部是固體對(duì)象(例如,剛體),可以被 配置用于使用6個(gè)自由度(例如,x,y和ζ維度和3個(gè)歐拉角)以及緩慢的運(yùn)動(dòng)(S卩,少量 的迭代)。在這種類型的應(yīng)用中,完全搜索和梯度搜索兩者都能夠?qū)崟r(shí)地操作,即使是以軟 件來實(shí)現(xiàn)。作為另一個(gè)實(shí)例,手部跟蹤應(yīng)用可以被配置用于每只手使用25個(gè)自由度以及快 速的運(yùn)動(dòng)(即,許多迭代)。在這種類型的應(yīng)用中,完全搜索典型地?zé)o法實(shí)時(shí)地操作,即使是 以硬件來實(shí)現(xiàn),盡管梯度搜索能夠?qū)崟r(shí)地利用并行性來操作。
[0052] 但是,應(yīng)當(dāng)注意,自由度的數(shù)量以及每個(gè)自由度的變型數(shù)能夠通過使用試探模塊 216來減少。這可以包括例如計(jì)算某些對(duì)象參數(shù)。
[0053] 圖3示出了在評(píng)價(jià)層114中對(duì)預(yù)處理的圖像數(shù)據(jù)302執(zhí)行的某些處理操作300。 在本實(shí)施例中,這些處理操作的特征一般在于包括高級(jí)的處理操作304和低級(jí)的圖像處理 基元306。
[0054] 如同下文將結(jié)合圖5更詳細(xì)地描述的,高級(jí)的處理操作304 -般在評(píng)價(jià)層114的 軟件實(shí)現(xiàn)部分中執(zhí)行,而低級(jí)的圖像處理基元一般在評(píng)價(jià)層114的硬件實(shí)現(xiàn)部分中執(zhí)行。
[0055] 高級(jí)處理操作304在本實(shí)施例中包括單點(diǎn)檢測(cè)和跟蹤、前表面(frontal surface)檢測(cè)和跟蹤、邊緣檢測(cè)和跟蹤,以及快速試探(例如,質(zhì)心檢測(cè))。這些示例性的 操作每個(gè)都使用輸入圖像的不同區(qū)域,如圖所示,并且因此這些操作中的至少一個(gè)子集能 夠被有效地配置以彼此并行地工作。因而,圖像處理器102的圖像處理電路可以包括其中 高級(jí)處理操作并行進(jìn)行的多處理器系統(tǒng)。
[0056] 單點(diǎn)檢測(cè)和跟蹤被用來識(shí)別對(duì)象,例如,成像個(gè)體的頭部和手部。這樣的對(duì)象對(duì)于 識(shí)別層116通常被認(rèn)為是非常重要的特征。
[0057] 前表面檢測(cè)和跟蹤能夠?yàn)椴煌愋偷纳疃瘸上衿魈峁┎煌燃?jí)的可靠性。更特別 地,取決于深度成像器類型,所產(chǎn)生的深度圖像的不同部分可以含有不同等級(jí)的噪聲,使得 噪聲等級(jí)能夠在對(duì)象的前表面與其邊緣之間急劇變動(dòng)。例如,SL相機(jī)一般地提供在前表面 處具有相對(duì)低的噪聲以及在邊緣處具有相對(duì)高的噪聲的深度圖像。在此情況中,所檢測(cè)的 前表面比所檢測(cè)的邊緣更可靠。
[0058] 邊緣檢測(cè)和跟蹤還能夠?yàn)椴煌愋偷纳疃瘸上衿魈峁┎煌燃?jí)的可靠性。例如, ToF相機(jī)與SL相機(jī)相比一般提供更少噪聲的對(duì)象邊緣。在此情況中,所檢測(cè)的邊緣比所檢 測(cè)的前表面更可靠。
[0059] 關(guān)于快速試探,這些試探一般對(duì)更大的圖像區(qū)域進(jìn)行操作,并且因此需要對(duì)圖像 數(shù)據(jù)進(jìn)行更少的訪問。
[0060] 低級(jí)的圖像處理基元306包括:3D基元(例如,仿射或同度量變換)、2D基元(例 如,曲線跟蹤)、比較基元(例如,最小平方比較)、搜索基元(例如,運(yùn)動(dòng)預(yù)測(cè)或梯度搜索) 及統(tǒng)計(jì)基元,以及可能別的基元。這些的低級(jí)處理基元306被一個(gè)或多個(gè)高級(jí)處理操作304 利用。作為一個(gè)實(shí)例,邊緣檢測(cè)和跟蹤操作可以利用曲線跟蹤。
[0061] 如上所述,評(píng)價(jià)層114被配置以包括軟件實(shí)現(xiàn)部分和硬件實(shí)現(xiàn)部分。此類布局的 實(shí)例現(xiàn)在將更詳細(xì)地參照?qǐng)D4和5來描述。
[0062] 首先參照?qǐng)D4,評(píng)價(jià)層114包括精確的軟件(SW)算法401以及近似的硬件(HW)算 法402,該軟件算法401和硬件算法402被假定作為評(píng)價(jià)層的各自軟件實(shí)現(xiàn)部分和硬件實(shí)現(xiàn) 部分的一部分。在各自的算法401和402的背景下使用的術(shù)語"精確"和"近似"是在此更 一般地稱為各個(gè)精度等級(jí)的精度實(shí)例,而在其他實(shí)施例中能夠?qū)⑵渌愋偷木鹊燃?jí)用于 各自軟件及硬件算法中。精確的軟件算法401和近似的硬件算法402在各自相對(duì)更高的以 及相對(duì)更低的精度等級(jí)下生成對(duì)象數(shù)據(jù)。
[0063] 評(píng)價(jià)層114還包括被配置用于組合第一及第二對(duì)象數(shù)據(jù)來生成待傳遞給識(shí)別層 116的輸出對(duì)象數(shù)據(jù)的信號(hào)組合器403。如前所述,對(duì)象數(shù)據(jù)可以具有多個(gè)部分,例如,常量 部分和變量部分。元素405、406和407在圖中指示不同對(duì)象數(shù)據(jù)集合,將在下文更詳細(xì)地 描述。
[0064] 使用精確的軟件算法401生成的第一對(duì)象數(shù)據(jù)更具體地包括陳舊但精確的數(shù)據(jù) 406, 而由近似的硬件算法402生成的第二對(duì)象數(shù)據(jù)包括現(xiàn)時(shí)的相對(duì)數(shù)據(jù)405。第一及第 二對(duì)象數(shù)據(jù)組合于信號(hào)組合器403內(nèi),以得到被提供給識(shí)別層116的現(xiàn)時(shí)的且精確的數(shù)據(jù) 407。 現(xiàn)時(shí)的且精確的數(shù)據(jù)407在本實(shí)施例中被實(shí)時(shí)地生成,并且為在識(shí)別層中的后續(xù)處理 提供可靠的精度。更特別地,在本實(shí)施例中,對(duì)象數(shù)據(jù)被計(jì)算作為由軟件算法401提供的精 確的非即時(shí)數(shù)據(jù)以及由硬件算法402提供的近似的相對(duì)數(shù)據(jù)的和或其他函數(shù)。軟件及硬件 算法一般相互并行地運(yùn)行。
[0065] 由于其高精度等級(jí),軟件算法401無法實(shí)時(shí)運(yùn)行,而是生成具有特定潛伏期 (latency)的精確對(duì)象數(shù)據(jù),在此情況中約為5至10幀。近似的硬件算法402在較低的精 度等級(jí)下操作并且能夠在很小的或沒有潛伏期的情況下實(shí)時(shí)運(yùn)行。它以現(xiàn)時(shí)的相對(duì)數(shù)據(jù) 405的形式來計(jì)算相對(duì)的對(duì)象狀態(tài)。該現(xiàn)時(shí)相對(duì)數(shù)據(jù)在信號(hào)組合器403內(nèi)被加上形式為由 軟件算法401計(jì)算的陳舊但精確的數(shù)據(jù)406的最后已知的精確對(duì)象狀態(tài)。結(jié)果是形式為現(xiàn) 時(shí)的且精確的數(shù)據(jù)407的當(dāng)前的對(duì)象狀態(tài)。
[0066] 如上所述,包括由軟件算法401生成的陳舊但精確的數(shù)據(jù)406的第一對(duì)象數(shù)據(jù)按 照大約每5至10幀一次的速率來更新。術(shù)語"陳舊"在上下文中指示對(duì)應(yīng)的對(duì)象數(shù)據(jù)涉及 一個(gè)或多個(gè)先前幀,而不是涉及當(dāng)前幀。
[0067] 應(yīng)當(dāng)注意,大約每5至10幀一次的更新率可以被看作是一種最壞情形的估計(jì),并 且可以使用不同的更新率,取決于圖像處理器102的能力和配置。例如,如果使用更強(qiáng)大的 圖像處理電路或者降低處理操作的復(fù)雜性,則可以提高更新率,盡管仍然可預(yù)料到軟件算 法401將不會(huì)實(shí)時(shí)地操作。軟件算法401的速度將同樣取決于其他因素,例如,正被處理的 現(xiàn)時(shí)圖像數(shù)據(jù)的特性。例如,完全搜索在某些情況下可以在其第一步確定解決方案。
[0068] 在本實(shí)施例中,包括現(xiàn)時(shí)的相對(duì)數(shù)據(jù)405的第二對(duì)象數(shù)據(jù)假定以比第一對(duì)象數(shù)據(jù) 顯著要高的速率來更新,并且更具體地,對(duì)于每個(gè)輸入幀都更新。因而,在本實(shí)施例中,使用 軟件算法401生成的第一對(duì)象數(shù)據(jù)按照低于每個(gè)輸入幀一次的速率來更新,而使用硬件算 法402生成的第二對(duì)象數(shù)據(jù)按照每個(gè)輸入幀一次的速率來更新。在其他實(shí)施例中可以使用 與不同精度的對(duì)象數(shù)據(jù)關(guān)聯(lián)的其他速率。
[0069] 圖5示出了圖像處理器102的部分500的更詳細(xì)視圖,并且示出了在評(píng)價(jià)層114中 用以使用精確的軟件算法401、近似的硬件算法402及其他關(guān)聯(lián)的處理模塊來處理預(yù)處理 的圖像數(shù)據(jù)502的方式。軟件算法401和硬件算法402被布置于評(píng)價(jià)層114的各自的軟件 實(shí)現(xiàn)部分和硬件實(shí)現(xiàn)部分504和506內(nèi)。評(píng)價(jià)層114的軟件實(shí)現(xiàn)部分和硬件實(shí)現(xiàn)部分504 和506在本文中還分別稱為軟件部分和硬件部分。
[0070] 結(jié)合圖3來描述的低級(jí)圖像處理基元以硬件實(shí)現(xiàn)于評(píng)價(jià)層114的部分506內(nèi)。這 些低級(jí)基元包括,例如,3D基元508、2D基元509和統(tǒng)計(jì)基元510,以及搜索和比較功能。這 允許低級(jí)基元由以軟件實(shí)現(xiàn)于評(píng)價(jià)層114的部分504中的高級(jí)處理操作有效地共用。
[0071] 3D基元508被用來執(zhí)行仿射或同度量變換操作,例如,移位和旋轉(zhuǎn),以便支持渲染 模塊206。3D基元還能夠支持其他高級(jí)處理操作,例如,前表面檢測(cè)和跟蹤。
[0072] 2D基元509被用來支持高級(jí)處理操作,例如,邊緣檢測(cè)和跟蹤。
[0073] 統(tǒng)計(jì)基元510由軟件算法401和硬件算法402兩者使用。例如,統(tǒng)計(jì)基元510能 夠被用來估計(jì)估計(jì)圖像的不同部分的誤差等級(jí)。
[0074] 在本實(shí)施例中,搜索-渲染-比較處理在評(píng)價(jià)層114的軟件及硬件部分504和506 之間是分離的。更特別地,圖2的搜索模塊204的功能被劃分到實(shí)現(xiàn)于各自的軟件和硬件 部分504和506中的兩個(gè)搜索模塊204A和204B之內(nèi),這兩個(gè)搜索模塊204A和204B被用 來生成相對(duì)數(shù)據(jù)變型512。同樣,渲染模塊206被實(shí)現(xiàn)于軟件部分504內(nèi),而比較模塊208 被實(shí)現(xiàn)于硬件部分506內(nèi)。
[0075] 實(shí)現(xiàn)于軟件部分504內(nèi)的附加元件包括信號(hào)組合器403,以及附加的信號(hào)組合器 514和對(duì)象模型516。對(duì)象模型516在本實(shí)施例中被用來給渲染模塊206提供數(shù)據(jù)。
[0076] 盡管在圖5中沒有明確示出,但是可以在硬件部分506內(nèi)實(shí)現(xiàn)仲裁器以便控制由 軟件及硬件搜索模塊204A和204B對(duì)渲染和比較模塊206和208的訪問。這樣的仲裁器 能夠使用用以通過最高優(yōu)先級(jí)來處理來自軟件搜索模塊204A的訪問請(qǐng)求的嚴(yán)格優(yōu)先級(jí)方 法。
[0077] 圖6至8說明性地示出了在GR系統(tǒng)110的頭部跟蹤應(yīng)用的背景下可以實(shí)現(xiàn)于評(píng) 價(jià)層114內(nèi)的處理操作集合的三種不同實(shí)施例。在這些實(shí)施例中,假定評(píng)價(jià)層實(shí)現(xiàn)至少頭 部檢測(cè)和跟蹤功能,盡管附加的或可替換的高級(jí)處理操作類型也可以按照類似的方式來配 置。還應(yīng)當(dāng)意識(shí)到,這些示例性過程的特定步驟、數(shù)據(jù)及其他特征只是示例性的,并且在其 他實(shí)施例中能夠使用附加的或可替換的步驟、數(shù)據(jù)及其他特征。
[0078] 在圖6的實(shí)施例中,沒有使用單獨(dú)的軟件和硬件算法401和402。相反,當(dāng)前的輸 入幀僅使用軟件算法401來處理,該軟件算法401在步驟604中通過與3D頭部模型比較來 找出頭部位置。如圖所示,該過程每幀都進(jìn)行更新以提供精確的頭部位置和取向606。但 是,假定使用的是完全搜索而不是梯度搜索,并且因此精確的頭部位置和取向606在k幀的 潛伏期下生成,其中通常k〈5。此外,潛伏期一般將為以下因素的函數(shù),例如,所使用的圖像 處理電路的類型、處理操作的復(fù)雜性,以及正被處理的現(xiàn)時(shí)圖像數(shù)據(jù)的特性。注意,k在上 下文中指的是以幀數(shù)計(jì)的潛伏期,盡管同一變量在本文的另一上下文下具有不同的含義。
[0079] 在圖7的實(shí)施例中,軟件及硬件算法401和402兩者均被用來處理當(dāng)前的輸入幀 702。步驟704 -般地對(duì)應(yīng)于圖6的步驟604,但是只是每隔四幀才執(zhí)行,也稱為"基本"中貞, 而不是每幀都執(zhí)行。
[0080] 假定步驟704通過軟件算法401來執(zhí)行,并且執(zhí)行與步驟604相同的完全搜索方 法。對(duì)于基本幀,所產(chǎn)生的精確的頭部位置和取向706每隔四幀才更新。當(dāng)前的輸入幀702 以及精確的頭部位置和取向706被存儲(chǔ)于歷史緩沖器710內(nèi)。
[0081] 還假定,步驟712通過硬件算法402來執(zhí)行。步驟712被應(yīng)用于每個(gè)輸入幀,包括 當(dāng)前的輸入幀702,并且包括找出在先前幀與當(dāng)前輸入幀之間的最佳擬合的同度量變換,有 可能使用快速試探。先前幀是取自歷史緩沖器710的先前幀數(shù)據(jù)714的一部分。所產(chǎn)生的 同度量變換被應(yīng)用于確定來自先前幀的相對(duì)映射715。如同結(jié)合步驟716所示,相對(duì)映射 715與先前幀數(shù)據(jù)714組合,以產(chǎn)生精確的頭部位置和取向信息718。
[0082] 如上所述,圖7的實(shí)施例每5幀就更新精確的頭部位置和取向706,具有k幀潛伏 期。誤差累積得以限制,因?yàn)檎`差最多累積5+k幀。所組合的軟件和硬件算法處理的總潛 伏期小于或等于1幀,并且一般地對(duì)應(yīng)于用于確定最佳擬合的同度量變換以及將相對(duì)映射 應(yīng)用于當(dāng)前輸入幀所需的時(shí)間。同樣,評(píng)價(jià)層114的配置允許步驟704和712異步操作,使 得能夠獲得基本幀數(shù)據(jù)706就及早地更新輸出數(shù)據(jù)718。
[0083] 圖8的實(shí)施例類似于圖7的實(shí)施例,當(dāng)前輸入幀802,步驟804、812、816,歷史緩沖 器810以及數(shù)據(jù)806、814、815和818分別對(duì)應(yīng)于圖7的當(dāng)前輸入幀702,步驟704、712、716, 歷史緩沖器710以及數(shù)據(jù)706、714、715和718。但是,作為如同在圖7中那樣于當(dāng)前輸入幀 與先前幀之間找出最佳擬合的同度量變換的代替,圖8的實(shí)施例在步驟812中找出在基本 幀與當(dāng)前幀之間的同度量變換,從而得到來自基本幀的相對(duì)映射815,該相對(duì)映射815在步 驟816中與基本巾貞組合。基本巾貞只是每隔四巾貞才獲取,而對(duì)應(yīng)的精確的頭部和取向806具 有k幀的潛伏期。因此,精確的頭部取向和位置818在圖8的處理的輸出處具有有限的潛伏 期及誤差積累,類似于在圖7的過程中生成的相應(yīng)的輸出對(duì)象數(shù)據(jù)的潛伏期及誤差積累。
[0084] 圖6至8所示的示例性過程的組合可以并行地執(zhí)行,或者相互結(jié)合,輸出可靠性指 標(biāo)被用來選擇選擇哪個(gè)過程輸出將被使用。例如,如果用來為給定的基本幀生成精確的頭 部位置和取向的完全搜索過程包括顯著的誤差,則使用該基本幀的圖8的過程的全部輸出 將同樣包括顯著的誤差。因此,輸出驗(yàn)證模塊可以被并入評(píng)價(jià)層114內(nèi),用于確定使用多個(gè) 過程產(chǎn)生的輸出的可靠性并且選擇來自特定過程的輸出以用于當(dāng)前的輸入幀。
[0085] 可靠性確定可以基于例如所算出的在使用來自給定過程的頭部位置和取向來渲 染的頭部與來自預(yù)定頭部模型的頭部位置和取向之間的距離。這樣的輸出驗(yàn)證模塊防止所 不希望的誤差傳播,并且可以被配置以實(shí)時(shí)地操作。
[0086] 上述輸出驗(yàn)證過程的一種可能的實(shí)現(xiàn)方式如下:
[0087] 1.使用圖7的過程來生成基于先前幀的輸出。
[0088] 2.估計(jì)在步驟1中生成的輸出的可靠性。如果可靠性小于預(yù)定的閾值,則進(jìn)行步 驟3,否則將步驟1的輸出發(fā)送給識(shí)別層116并退出輸出驗(yàn)證過程。
[0089] 3.使用圖8的過程來生成基于上一基本幀的輸出。
[0090] 4.估計(jì)在步驟3中生成的輸出的可靠性。
[0091] 5.基于除上一基本幀外的基本幀但否則使用圖8的過程來生成輸出。
[0092] 6.估計(jì)在步驟5中生成的輸出的可靠性。
[0093] 7.比較來自步驟2、4和6的可靠性估計(jì)值,并且選擇最高可靠性的輸出以傳遞給 識(shí)別層116。
[0094] 該示例性的輸出驗(yàn)證過程并不顯著地增加評(píng)價(jià)層114的潛伏期,但是允許與對(duì)象 數(shù)據(jù)輸出關(guān)聯(lián)的誤差率被顯著降低。
[0095] 如上所述,本發(fā)明的實(shí)施例能夠涉及除姿勢(shì)識(shí)別外的機(jī)器視覺應(yīng)用。例如,本文所 公開的技術(shù)能夠應(yīng)用于圖像處理應(yīng)用,在該圖像處理應(yīng)用中,對(duì)象數(shù)據(jù)參數(shù)能夠作為先前 狀態(tài)與相對(duì)偏移的組合來計(jì)算,或者在該圖像處理應(yīng)用中,處理算法具有不同復(fù)雜性和潛 伏期。其他實(shí)例包括這樣的圖像處理應(yīng)用,其中相對(duì)簡單的算法被用來計(jì)算具有相對(duì)多個(gè) 幀的可靠精度的對(duì)象數(shù)據(jù)增量。
[0096] 應(yīng)當(dāng)再次強(qiáng)調(diào),本文所描述的本發(fā)明的實(shí)施例意指僅為說明性的。例如,本發(fā)明的 其他實(shí)施例能夠使用除了本文描述的特定實(shí)施例所使用的那些之外的各種各樣的不同類 型及布局的圖像處理電路、處理層、處理模塊和處理操作來實(shí)現(xiàn)。另外,本文在描述某些實(shí) 施例的背景下所作出的具體假定不必要應(yīng)用于其他實(shí)施例中。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)容易地 清楚在隨附的權(quán)利要求書的范圍內(nèi)的這些及許多其他可替換的實(shí)施例。
【權(quán)利要求】
1. 一種圖像處理器,包括: 用于實(shí)現(xiàn)至少包括評(píng)價(jià)層和識(shí)別層的多個(gè)處理層的圖像處理電路; 所述評(píng)價(jià)層包括軟件實(shí)現(xiàn)部分和硬件實(shí)現(xiàn)部分; 所述評(píng)價(jià)層的所述軟件實(shí)現(xiàn)部分被配置用于使用軟件算法來生成第一精度等級(jí)的第 一對(duì)象數(shù)據(jù); 所述評(píng)價(jià)層的所述硬件實(shí)現(xiàn)部分被配置用于使用硬件算法來生成比所述第一精度等 級(jí)低的第二精度等級(jí)的第二對(duì)象數(shù)據(jù); 其中所述評(píng)價(jià)層還包括被配置用于組合所述第一及第二對(duì)象數(shù)據(jù)以生成用于傳遞給 所述識(shí)別層的輸出對(duì)象數(shù)據(jù)的信號(hào)組合器。
2. 根據(jù)權(quán)利要求1所述的圖像處理器,其中所述評(píng)價(jià)層包括姿勢(shì)識(shí)別系統(tǒng)的評(píng)價(jià)子系 統(tǒng)。
3. 根據(jù)權(quán)利要求1所述的圖像處理器,其中所述多個(gè)處理層還包括用于接收原始圖像 數(shù)據(jù)并將預(yù)處理的圖像數(shù)據(jù)提供給所述評(píng)價(jià)層的預(yù)處理層。
4. 根據(jù)權(quán)利要求1所述的圖像處理器,其中所述第一對(duì)象數(shù)據(jù)按第一速率更新,而所 述第二對(duì)象數(shù)據(jù)按照比所述第一速率高的第二速率更新。
5. 根據(jù)權(quán)利要求1所述的圖像處理器,其中所述第一速率小于所接收的圖像數(shù)據(jù)的每 個(gè)輸入幀一次,而所述第二速率為每個(gè)輸入幀一次。
6. 根據(jù)權(quán)利要求1所述的圖像處理器,其中所述第一對(duì)象數(shù)據(jù)基于當(dāng)前的輸入幀與至 少一個(gè)對(duì)象模型之間的比較而生成。
7. 根據(jù)權(quán)利要求1所述的圖像處理器,其中所述第二對(duì)象數(shù)據(jù)基于當(dāng)前的輸入幀與至 少一個(gè)先前輸入幀之間的比較而生成。
8. 根據(jù)權(quán)利要求1所述的圖像處理器,其中所述評(píng)價(jià)層在生成所述第一及第二對(duì)象數(shù) 據(jù)時(shí)實(shí)現(xiàn)搜索-渲染-比較操作。
9. 根據(jù)權(quán)利要求8所述的圖像處理器,其中與所述搜索-渲染-比較操作關(guān)聯(lián)的單獨(dú) 搜索模塊被實(shí)例化于所述軟件實(shí)現(xiàn)部分和所述硬件實(shí)現(xiàn)部分中的每個(gè)中。
10. 根據(jù)權(quán)利要求8所述的圖像處理器,其中與所述搜索-渲染-比較操作關(guān)聯(lián)的渲染 模塊僅被實(shí)例化于所述軟件實(shí)現(xiàn)部分內(nèi),而與所述搜索-渲染-比較操作關(guān)聯(lián)的比較模塊 僅被實(shí)例化于所述硬件實(shí)現(xiàn)部分內(nèi)。
11. 根據(jù)權(quán)利要求1所述的圖像處理器,其中所述評(píng)價(jià)層的所述軟件實(shí)現(xiàn)部分實(shí)現(xiàn)多 個(gè)高級(jí)處理操作,包括單點(diǎn)檢測(cè)和跟蹤、前表面檢測(cè)和跟蹤、邊緣檢測(cè)和跟蹤以及快速試探 例如質(zhì)心檢測(cè)中的一個(gè)或多個(gè)。
12. 根據(jù)權(quán)利要求1所述的圖像處理器,其中所述評(píng)價(jià)層的所述硬件實(shí)現(xiàn)部分實(shí)現(xiàn)多 個(gè)低級(jí)圖像處理基元,包括諸如仿射或同度量變換的3D基元、諸如曲線跟蹤的2D基元、諸 如最小平方比較的比較基元、諸如運(yùn)動(dòng)預(yù)測(cè)或梯度搜索的搜索基元以及統(tǒng)計(jì)基元中的一個(gè) 或多個(gè)。
13. 根據(jù)權(quán)利要求1所述的圖像處理器,其中所述圖像處理電路包括至少一個(gè)圖形處 理器集成電路。
14. 一種集成電路,包括根據(jù)權(quán)利要求1所述的圖像處理器。
15. -種方法,包括: 配置至少包括評(píng)價(jià)層和識(shí)別層的圖像處理器的多個(gè)處理層; 在所述評(píng)價(jià)層的軟件實(shí)現(xiàn)部分中使用軟件算法來生成第一精度等級(jí)的第一對(duì)象數(shù) 據(jù); 在所述評(píng)價(jià)層的硬件實(shí)現(xiàn)部分中使用硬件算法來生成比所述第一精度等級(jí)低的第二 精度等級(jí)的第二對(duì)象數(shù)據(jù);以及 組合所述第一及第二對(duì)象數(shù)據(jù)以生成用于傳遞給所述識(shí)別層的輸出對(duì)象數(shù)據(jù)。
16. 根據(jù)權(quán)利要求15所述的方法,其中生成第一及第二對(duì)象數(shù)據(jù)包括: 基于當(dāng)前的輸入幀與至少一個(gè)對(duì)象模型之間的比較來生成所述第一對(duì)象數(shù)據(jù);以及 基于當(dāng)前的輸入幀與至少一個(gè)先前輸入幀之間的比較來生成所述第二對(duì)象數(shù)據(jù); 其中所述第一對(duì)象數(shù)據(jù)按第一速率更新,而所述第二對(duì)象數(shù)據(jù)按照比所述第一速率高 的第二速率更新。
17. -種具有實(shí)現(xiàn)于其內(nèi)的計(jì)算機(jī)程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述計(jì)算機(jī) 程序代碼在被執(zhí)行于處理設(shè)備內(nèi)時(shí)促使所述處理設(shè)備執(zhí)行根據(jù)權(quán)利要求15所述的方法。
18. -種圖像處理系統(tǒng),包括: 提供圖像數(shù)據(jù)的一個(gè)或多個(gè)圖像源; 一個(gè)或多個(gè)圖像目的地;以及 與所述一個(gè)或多個(gè)圖像源以及所述一個(gè)或多個(gè)圖像目的地耦接的圖像處理器; 其中所述圖像處理器包括: 用于實(shí)現(xiàn)至少包括評(píng)價(jià)層和識(shí)別層的多個(gè)處理層的圖像處理電路; 所述評(píng)價(jià)層包括軟件實(shí)現(xiàn)部分和硬件實(shí)現(xiàn)部分; 所述評(píng)價(jià)層的所述軟件實(shí)現(xiàn)部分被配置用于使用軟件算法來生成第一精度等級(jí)的第 一對(duì)象數(shù)據(jù); 所述評(píng)價(jià)層的所述硬件實(shí)現(xiàn)部分被配置用于使用硬件算法來生成比所述第一精度等 級(jí)低的第二精度等級(jí)的第二對(duì)象數(shù)據(jù); 其中所述評(píng)價(jià)層還包括被配置用于組合所述第一及第二對(duì)象數(shù)據(jù)以生成用于傳遞給 所述識(shí)別層的輸出對(duì)象數(shù)據(jù)的信號(hào)組合器。
19. 根據(jù)權(quán)利要求18所述的系統(tǒng),其中所述一個(gè)或多個(gè)圖像源中的至少一個(gè)包括深度 傳感器。
20. 根據(jù)權(quán)利要求19所述的系統(tǒng),其中所述深度傳感器是合并了所述圖像處理器的深 度成像器的一部分。
【文檔編號(hào)】G06T1/00GK104160419SQ201380003686
【公開日】2014年11月19日 申請(qǐng)日期:2013年9月13日 優(yōu)先權(quán)日:2013年3月11日
【發(fā)明者】P·A·阿里西奇克, I·L·馬祖仁克, A·A·萊圖諾韋斯基, A·A·佩蒂尤什克, A·B·霍洛多恩克 申請(qǐng)人:Lsi公司