專利名稱:估計(jì)圖象中物體的位置的制作方法
技術(shù)領(lǐng)域:
申請(qǐng)文件中的至少一個(gè)實(shí)現(xiàn)與動(dòng)態(tài)狀態(tài)估計(jì)相關(guān)。
背景技術(shù):
動(dòng)態(tài)系統(tǒng)涉及其狀態(tài)隨著時(shí)間變化而變化的系統(tǒng)。該系統(tǒng)表現(xiàn)為其狀 態(tài)為任意選擇的變量的集合,但是該狀態(tài)通常包括感興趣的變量。例如, 一個(gè)動(dòng)態(tài)系統(tǒng)被用于表現(xiàn)一個(gè)視頻。例如,視頻可能描述一個(gè)網(wǎng)球比賽, 狀態(tài)可能被選擇用于網(wǎng)球的位置。該系統(tǒng)之所以為動(dòng)態(tài)的是因?yàn)榫W(wǎng)球的位 置隨著時(shí)間而變化。令人感興趣的是估計(jì)該系統(tǒng)的狀態(tài),即在視頻的一個(gè)新幀中網(wǎng)球的位置。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個(gè)總的方面, 一個(gè)軌跡被確定。該軌跡用于數(shù)字圖象 序列的一個(gè)特定圖象中的物體,并且該軌跡是基于該物體在數(shù)字圖象序列 的一個(gè)或多個(gè)在前圖象中的一個(gè)或多個(gè)在前位置。基于該軌跡到一個(gè)粒子 的距離,在用于追蹤物體的基于粒子的框架中確定該粒子的權(quán)重。使用基 于粒子的框架確定物體的位置估計(jì),該位置估計(jì)基于確定的粒子權(quán)重。
下面結(jié)合附圖來闡釋一個(gè)或多個(gè)實(shí)現(xiàn)的細(xì)節(jié)。盡管這些實(shí)現(xiàn)是以某一 特定的方式來闡釋的,但是這些實(shí)現(xiàn)可以以其它不同的方式配置或者具體 化。例如, 一個(gè)實(shí)現(xiàn)做為方法執(zhí)行,或者具體化為用于執(zhí)行一個(gè)操作集合 的設(shè)備,或者具體化為用于存儲(chǔ)用于執(zhí)行一個(gè)操作集合的指令的設(shè)備,或 者具體化為信號(hào)。通過結(jié)合附圖、權(quán)利要求和下面的具體描述來考慮本發(fā) 明,就能夠了解本發(fā)明的其它方面和特征。
圖1的塊圖示出狀態(tài)估計(jì)器的一個(gè)實(shí)現(xiàn);
圖2的塊圖示出了用于實(shí)現(xiàn)圖1的狀態(tài)估計(jì)器的設(shè)備的一個(gè)實(shí)現(xiàn); 圖3的塊圖示出了基于圖1狀態(tài)估計(jì)器估計(jì)的狀態(tài)用于編碼數(shù)據(jù)的系 統(tǒng)的一個(gè)實(shí)現(xiàn);
圖4的塊圖示出了基于圖1狀態(tài)估計(jì)器估計(jì)的狀態(tài)用于處理數(shù)據(jù)的系 統(tǒng)的一個(gè)實(shí)現(xiàn);圖5示例性的示出圖1狀態(tài)估計(jì)器的實(shí)現(xiàn)執(zhí)行的各種功能; 圖6的流程圖示出用于在數(shù)字圖象序列的一個(gè)圖象中確定物體的位置 的方法的一個(gè)實(shí)現(xiàn);
圖7的流程圖示出用于實(shí)現(xiàn)粒子濾波器的方法的一個(gè)實(shí)現(xiàn);
圖8的流程圖示出了用于實(shí)現(xiàn)離子濾波器的另一個(gè)方法;
圖9的流程圖示出了用于實(shí)現(xiàn)圖8方法中動(dòng)態(tài)模型的方法的一個(gè)實(shí)
現(xiàn);
圖10的流程圖示出用于在粒子濾波器中實(shí)現(xiàn)包括計(jì)算運(yùn)動(dòng)估計(jì)的動(dòng) 態(tài)模型的方法的一個(gè)實(shí)現(xiàn);
圖11的流程圖示出了用于在粒子濾波器中實(shí)現(xiàn)測(cè)量模型的方法的一 個(gè)實(shí)現(xiàn);
圖12示例性示出帶有阻擋的物體位置的投影軌跡的一個(gè)實(shí)施例;
圖13的流程圖示出了在使用粒子濾波器估計(jì)狀態(tài)后,用于確定是否 更新模板的方法的一個(gè)實(shí)現(xiàn);
圖14的流程圖示出了在使用粒子濾波器估計(jì)狀態(tài)后,用于確定是否 更新模板和改進(jìn)物體位置的方法的一個(gè)實(shí)現(xiàn);
圖15示例性示出了相對(duì)于投影軌跡用于改進(jìn)物體的估計(jì)位置的方法 的一個(gè)實(shí)現(xiàn);
圖16的流程圖示出了用于估計(jì)物體位置的方法的一個(gè)實(shí)現(xiàn); 圖17的流程圖示出了用于選擇位置估計(jì)的方法的一個(gè)實(shí)現(xiàn); 圖18的流程圖示出了用于在粒子濾波器中確定粒子位置的方法的一 個(gè)實(shí)現(xiàn);圖19的流程圖示出了用于確定是否更新模板的方法的一個(gè)實(shí)現(xiàn); 圖20的流程圖示出了用于在粒子濾波器中檢測(cè)粒子阻擋的方法的一 個(gè)實(shí)現(xiàn);
圖21的流程圖示出了基于粒子濾波器輸出的粒子,用于估計(jì)狀態(tài)的 方法的一個(gè)實(shí)現(xiàn);
圖22的流程圖示出了用于改變物體的估計(jì)位置的方法的一個(gè)實(shí)現(xiàn); 圖23的流程圖示出了用于確定物體位置的方法的一個(gè)實(shí)現(xiàn)。
具體實(shí)施例方式
一個(gè)或者多個(gè)實(shí)施方式提供了用于動(dòng)態(tài)狀態(tài)估計(jì)的方法。 一個(gè)或者多 個(gè)實(shí)施方式提供了用于估計(jì)動(dòng)態(tài)狀態(tài)的方法。 一個(gè)使用動(dòng)態(tài)狀態(tài)估計(jì)實(shí)施 例被用來在幀間預(yù)測(cè)視頻的一個(gè)特征的運(yùn)動(dòng)。 一個(gè)視頻的例子是壓縮視 頻,例如,使用MPEG—2格式來壓縮的視頻。在壓縮視頻中, 一般只有幀 的子集才包括與幀相關(guān)的圖象的全部信息。包括全部信息的這類幀在MPEG 一2格式中被稱作I幀。大部分幀僅僅提供指示該幀和一個(gè)或多個(gè)鄰近幀 (例如鄰近I幀)的區(qū)別的信息。在MPEG-2格式中,該類幀被稱作P幀和B 幀。在保持?jǐn)?shù)據(jù)壓縮的基礎(chǔ)上,提供足夠多的信息用于預(yù)測(cè)視頻中一個(gè)特 征的變化是一個(gè)挑戰(zhàn)。
例如,在運(yùn)動(dòng)賽事中的一個(gè)球可以是視頻的一個(gè)特征。這樣的球包括 網(wǎng)球、足球和籃球。本方法的一個(gè)應(yīng)用實(shí)例被用來在一個(gè)多幀視頻的幀間 預(yù)測(cè)球的位置。這個(gè)球可以是相對(duì)較小的物體,例如,其占據(jù)的空間小于 30像素。視頻的特征的另一個(gè)例子是運(yùn)動(dòng)賽事中的運(yùn)動(dòng)員或者裁判員。在視頻幀之間追蹤(track)物體的運(yùn)動(dòng)的困難在于一個(gè)或者多個(gè)幀 內(nèi)存在物體的阻擋(occlusion)。阻擋的一種形式為該物體隱藏在前景的 一個(gè)特征的后面。這種阻擋被稱作"實(shí)阻擋"(real occlusion)。例如, 在網(wǎng)球比賽中,網(wǎng)球可能從運(yùn)動(dòng)員的后面經(jīng)過。這種阻擋有著多種方式, 比如,該物體被隱藏、阻礙或者覆蓋。在另一種情況下,阻擋可能以背景 的形式存在,并且該背景致使難于或者不能確定物體位置。這種阻擋被稱 作"虛阻擋"(virtual occlusion)。例如,網(wǎng)球可能在雜亂的背景前面 經(jīng)過,比如人群,由于人群中包括很多和網(wǎng)球大小以及顏色都很接近的物 體,因此很難或者不能把網(wǎng)球從其它類似的物體中選擇出來。在另一個(gè)例 子中,網(wǎng)球可能在和網(wǎng)球有著同樣顏色的區(qū)域前面經(jīng)過,因此這時(shí)也很難 或者不能確定網(wǎng)球的位置。包括雜亂的阻擋使得在粒子濾波器中生成粒子 的正確可能性估計(jì)變得困難。包括雜亂的阻擋經(jīng)常導(dǎo)致物體追蹤的不確 定。
對(duì)于小物體或者快速移動(dòng)的物體,這些問題通常變得更加嚴(yán)重。例如, 其中的一個(gè)原因是小物體的位置通常在視頻的連續(xù)圖象(例如幀)之中不 重疊。當(dāng)物體位置不重疊時(shí),物體本身也不重疊。這就意味著物體在兩個(gè) 連續(xù)圖象的時(shí)間間隔中移動(dòng)了至少其本身寬度的距離。由于沒有重疊,通 常很難在下一個(gè)圖象中找到物體,或者沒有很大程度的把握在下個(gè)圖象中 找到物體。
物體追蹤的不確定并不僅限于小物體。例如, 一個(gè)雜亂的背景可能包 含與要追蹤的物體類似的特征。在這種情況下,無論物體大小有多少,都 會(huì)導(dǎo)致追蹤的不確定。確定物體是否被阻擋可能也是一個(gè)難題。例如, 一個(gè)用于確定物體阻
擋的已知方法是通常點(diǎn)/孤立點(diǎn)比(inlier/outlier ratio)。但是,在存 在小物體和/或雜亂背景的情況下,通常點(diǎn)/孤立點(diǎn)比可能也很難確定物體 是否被阻擋。
一個(gè)實(shí)現(xiàn)通過在基于粒子的框架(particle — based framework)中 形成度量面(metric surface)來解決這些難題。另一個(gè)實(shí)現(xiàn)通過在基于 粒子的框架中使用和計(jì)算運(yùn)動(dòng)估計(jì)來解決這些難題。還有一個(gè)實(shí)現(xiàn)通過在 可能性估計(jì)中使用多假設(shè)(multiple hypotheses)來解決這些難題。
在基于粒子的框架中,通常對(duì)很多粒子使用蒙特卡羅模擬(Monte Carlo simulation)。例如,這些粒子代表物體在一個(gè)幀中不同的可能存 在的位置?;诿商乜_模擬確定的可能性,選擇出一個(gè)特定粒子。粒子 濾波器(particle filter, PF)是一個(gè)典型的基于粒子的框架。在粒子 濾波器中,生成一些代表可能狀態(tài)的粒子,這些可能狀態(tài)對(duì)應(yīng)于物體在一 個(gè)圖象中可能存在的位置。在粒子濾波器中每一個(gè)粒子都和一個(gè)可能性 (也被稱作權(quán)重)相關(guān)聯(lián)。在粒子濾波器中,在一個(gè)或者多個(gè)再抽樣步 驟中排除掉帶有較低可能性或者較小權(quán)重的粒子。例如,代表粒子濾波器 的輸出的狀態(tài)可能是粒子的加權(quán)平均量。
在圖l所示的一個(gè)實(shí)現(xiàn)中,系統(tǒng)100包括狀態(tài)估計(jì)器110,該狀態(tài)估計(jì) 器可在計(jì)算機(jī)上實(shí)現(xiàn)。該狀態(tài)估計(jì)器110包括粒子算法模塊120、本地模式 模塊130和數(shù)量適配模塊140。粒子算法模塊120執(zhí)行基于粒子的算法用于 估計(jì)動(dòng)態(tài)系統(tǒng)狀態(tài),例如,該算法為粒子濾波器。本地模式模塊130應(yīng)用 本地查尋機(jī)制,例如,通過在PF的粒子上執(zhí)行均值移動(dòng)分析(mean-shiftanalysis)。數(shù)量適配模塊140修改基于粒子的算法使用的粒子數(shù)量,例如 通過對(duì)PF的粒子應(yīng)用庫爾貝克一萊布勒距離(Kullback-Leibler distance, KLD)抽樣處理。在一個(gè)實(shí)現(xiàn)中,粒子濾波器根據(jù)粒子所在的 狀態(tài)空間的大小能夠?qū)崿F(xiàn)自適應(yīng)抽樣。例如,如果發(fā)現(xiàn)粒子存在于狀態(tài)空 間的很小一部分,則抽樣少量的粒子。如果狀態(tài)空間大或者狀態(tài)不確定性 高,則抽樣大量的粒子。模塊120 — 140可以單獨(dú)的實(shí)現(xiàn)或者集成到一個(gè)算 法中。
狀態(tài)估計(jì)器110把起始狀態(tài)150和數(shù)據(jù)輸入160做為輸入,并提供估計(jì) 的狀態(tài)170做為輸出。例如,可以通過起始狀態(tài)檢測(cè)器或者人工過程來確 定起始狀態(tài)150。通過考慮一個(gè)以數(shù)字圖象序列的一個(gè)圖象(例如視頻的 一個(gè)幀)中的一個(gè)物體的位置為其狀態(tài)的系統(tǒng),本發(fā)明提供了更具體的例 子。在這樣的系統(tǒng)中,起始物體位置可以通過一個(gè)使用邊緣檢測(cè)和模板比 較的自動(dòng)物體檢測(cè)方法來確定,或者通過用戶觀看視頻來人工確定。數(shù)據(jù) 輸入160可以是一個(gè)視頻圖象序列。估計(jì)的狀態(tài)170可以是在某一特定視頻 圖象中網(wǎng)球位置的估計(jì)。
圖2示出了用于實(shí)現(xiàn)圖1的狀態(tài)估計(jì)器110的示例性設(shè)備190。設(shè)備190 包括處理裝置180,處理裝置180用于接收起始狀態(tài)150和數(shù)據(jù)輸入160,以 及提供估計(jì)的狀態(tài)170做為輸出。處理裝置180對(duì)存儲(chǔ)裝置185進(jìn)行存取, 存儲(chǔ)裝置185用于對(duì)數(shù)字圖象序列中的某一特定圖象相關(guān)的數(shù)據(jù)執(zhí)行存 儲(chǔ)。
估計(jì)的狀態(tài)170可以被應(yīng)用于多種用途。為提供進(jìn)一步的上下文環(huán)境, 使用圖3和圖4來描述幾種應(yīng)用實(shí)例。在圖3所示的一種實(shí)現(xiàn)中,系統(tǒng)200包括一個(gè)連接到發(fā)送/存儲(chǔ)裝置220 的編碼器210。編碼器210和發(fā)送/存儲(chǔ)裝置220可以使用計(jì)算機(jī)或者通信編 碼器來實(shí)現(xiàn)。編碼器210讀取由圖1中系統(tǒng)100的狀態(tài)估計(jì)器110提供的估計(jì) 狀態(tài)170,以及讀取由狀態(tài)估計(jì)器110使用的數(shù)據(jù)輸入160。編碼器210根據(jù) 多種編碼算法中一種或多種對(duì)數(shù)據(jù)輸入160編碼,并提供經(jīng)過編碼的數(shù)據(jù) 輸出230給發(fā)送/存儲(chǔ)裝置220。
進(jìn)一步地,編碼器210使用估計(jì)狀態(tài)170對(duì)數(shù)據(jù)輸入160的不同部分進(jìn) 行有區(qū)別地編碼。例如,如果狀態(tài)所表示的為視頻中物體的位置,編碼器 210則使用第一編碼算法對(duì)與估計(jì)的位置相對(duì)的視頻的部分進(jìn)行編碼,以 及使用第二編碼算法對(duì)不與估計(jì)的位置相對(duì)的視頻的另一部分進(jìn)行編碼。 第一編碼算法可能比第二編碼算法提供更多的編碼冗余,從而估計(jì)的物體 的位置(最好是物體)在再生成的過程中會(huì)具有比視頻其它部分更多的細(xì) 節(jié)和更好的分辨率。
因此,低分辨率傳輸可以為被追蹤的物體提供較高的分辨率,從而允 許用戶更容易的觀看高爾夫比賽中高爾夫球。 一個(gè)這樣的實(shí)現(xiàn)允許用于在 較小的帶寬(低數(shù)據(jù)率)的情況下在移動(dòng)設(shè)備上觀看高爾夫比賽。移動(dòng)設(shè) 備可以是蜂窩電話或個(gè)人數(shù)字助理。通過使用低數(shù)據(jù)率對(duì)高爾夫比賽的視 頻進(jìn)行編碼,從而把數(shù)據(jù)率維持在較低的水平,但是相對(duì)于圖象的其它部 分,額外的比特被用來編碼高爾夫球。
傳輸/存儲(chǔ)裝置220可能包括存儲(chǔ)裝置和傳輸裝置 的一個(gè)或多個(gè)。相 應(yīng)地,傳輸/存儲(chǔ)裝置220讀取經(jīng)過編碼的數(shù)據(jù)230,并或者傳輸數(shù)據(jù)230, 或者存儲(chǔ)數(shù)據(jù)230。在圖4所示的一個(gè)實(shí)現(xiàn)中,系統(tǒng)300包括連接到本地存儲(chǔ)裝置315和顯 示器320的處理裝置310。處理裝置310讀取圖1系統(tǒng)100的狀態(tài)估計(jì)器110提 供的估計(jì)的狀態(tài)170,以及讀取狀態(tài)估計(jì)器110使用的數(shù)據(jù)輸入160。處理 裝置310使用估計(jì)的狀態(tài)170來增強(qiáng)數(shù)據(jù)輸入160,并提供增強(qiáng)的數(shù)據(jù)輸出 330。處理裝置310可以把包括估計(jì)的狀態(tài)、數(shù)據(jù)輸入以及它們的元素的數(shù) 據(jù)存儲(chǔ)到本地存儲(chǔ)裝置315,并能從本地存儲(chǔ)裝置315中重新獲得這些數(shù) 據(jù)。顯示器320讀取增強(qiáng)的數(shù)據(jù)輸出330,并把這些增強(qiáng)的數(shù)據(jù)在顯示器320 上顯示出來。
在圖5中,圖400為動(dòng)態(tài)系統(tǒng)的狀態(tài)的概率分布函數(shù)410。圖400示意性 地描述了狀態(tài)估計(jì)器110的一個(gè)實(shí)現(xiàn)執(zhí)行的各種函數(shù)。圖400示出了在A、 B、 C和D級(jí)別處的一個(gè)或多個(gè)函數(shù)。
級(jí)別A示出了通過使用PF, 4個(gè)粒子A1、 A2、 A3和A4的生成。方便起見, 使用垂直虛線指示4個(gè)粒子A1、 A2、 A3和A4的每一個(gè)粒子在概率分布函數(shù) 410上對(duì)應(yīng)的位置。
級(jí)別B示出了基于均值移動(dòng)分析通過使用本地模式査尋算法,4個(gè)粒子 A1—A4到其對(duì)應(yīng)粒子B1—B4的轉(zhuǎn)移。方便起見,使用垂直實(shí)線指示4個(gè)粒 子B1、 B2、 B3和B4的每一個(gè)粒子在概率分布函數(shù)410上對(duì)應(yīng)的位置。使用 相應(yīng)的箭頭MS1—MS4來圖形化地示意出粒子A1—A4中每一個(gè)粒子的轉(zhuǎn)移, 這些箭頭分別指示了從由粒子A1—A4指示的位置到由粒子B1—B4指示的 位置的粒子移動(dòng)。
級(jí)別C示出了經(jīng)過加權(quán)的粒子C2—C4,它們分別和粒子B2—B4有同樣 的位置。粒子C2—C4有著不同的大小,其大小指示了在PF中確定的用于粒子B2—B4的權(quán)重。級(jí)別C還反映出根據(jù)一個(gè)抽樣處理粒子數(shù)量的減少,例 如,該抽樣處理為KLD抽樣處理,其中,粒子B1在該抽樣處理中被丟棄。 級(jí)別D示出了在一個(gè)再抽樣處理中生成的三個(gè)新的粒子。如箭頭R所示 (R代表再抽樣),在級(jí)別D中生成的粒子的數(shù)量和級(jí)別C中生成的粒子數(shù)量 相同。
圖6示出了用于在數(shù)字圖象序列的圖象中確定物體位置的方法的處理 流程600。基于前幀的位置信息估計(jì)物體的軌跡605。本領(lǐng)域的技術(shù)人員知 曉軌跡估計(jì)方法。運(yùn)行粒子濾波器610。下面會(huì)描述粒子濾波器的各種實(shí) 現(xiàn)。檢查由粒子濾波器的輸出預(yù)測(cè)的物體的位置是否被阻擋615。下面會(huì) 對(duì)用于檢査是否被阻擋的方法的實(shí)現(xiàn)進(jìn)行說明。如果發(fā)現(xiàn)阻擋620,那么 使用車九跡投影禾口插值(trajectory projection and interpolation)來 確定一個(gè)位置625。下面會(huì)結(jié)合圖16說明位置確定的一個(gè)實(shí)現(xiàn)。如果沒有 發(fā)現(xiàn)阻擋,那么粒子濾波器的輸出被用于確定粒子位置630。如果沒有發(fā) 現(xiàn)阻擋,那么為了偏差(drift)對(duì)模板進(jìn)行檢測(cè)635。偏差為在模板中的 變化,例如,物體變遠(yuǎn)、變近或者顏色變化,會(huì)引起模板的變化。如果發(fā) 現(xiàn)偏差超過一個(gè)閾值635,那么就不更新物體模板640。因?yàn)榇蟮钠钪狄?br>
味著存在粒子阻擋,所以這一措施將會(huì)很有用?;诹W幼钃鮼砀履0?會(huì)致使差模板被使用。相反地,如果偏差沒有超過該閾值,則對(duì)模板進(jìn)行 更新645。當(dāng)小的變化(小的偏差值)發(fā)生時(shí),這些變化在很大程度上是 發(fā)生在物體上的真實(shí)的變化,并且該變化也不是由于阻擋引起的。
圖7示出實(shí)現(xiàn)粒子濾波器的方法500。方法500包括從前一狀態(tài) (previous state)中讀取粒子的一個(gè)起始集合和累積加權(quán)因子510。累積加權(quán)因子可以從一個(gè)粒子權(quán)重集合中生成,并且通常允許快速處理。值 得注意的是,當(dāng)?shù)谝淮螆?zhí)行方法500時(shí),前一狀態(tài)為起始狀態(tài),并且粒子 的起始集合和權(quán)重(累積加權(quán)因子)需要被生成。例如,該起始狀態(tài)可以 被用來做為圖1的起始狀態(tài)150。
再轉(zhuǎn)回圖7,對(duì)循環(huán)控制變量"it"進(jìn)行初始化515,并在確定當(dāng)前狀 態(tài)之前重復(fù)執(zhí)行循環(huán)520。循環(huán)520使用循環(huán)控制變量"it",并執(zhí)行 "iterate"次。在循環(huán)520中,對(duì)粒子的起始集合中的每一個(gè)粒子都單獨(dú) 使用一個(gè)循環(huán)525中進(jìn)行處理。在一個(gè)實(shí)現(xiàn)中,對(duì)以網(wǎng)球比賽的視頻應(yīng)用 PF用于追蹤網(wǎng)球。對(duì)于每一個(gè)新幀把循環(huán)520執(zhí)行預(yù)先確定的次數(shù)(循環(huán) 重復(fù)變量"iterate"的值)。循環(huán)520的每一次執(zhí)行都會(huì)改進(jìn)粒子的位置, 從而,當(dāng)為每一幀估計(jì)網(wǎng)球的位置的時(shí),該估計(jì)被推定是基于良好的粒子。 循環(huán)525包括基于累積加權(quán)因子選擇粒子530。 一個(gè)選擇的方法是選擇 帶有最大權(quán)重的剩余的粒子位置。值得注意的是,同一個(gè)位置可能存在很 多粒子,在這種情況下,只需要對(duì)每一個(gè)位置執(zhí)行一次循環(huán)525。然后, 循環(huán)525包括通過對(duì)選擇的粒子在狀態(tài)空間里預(yù)測(cè)一個(gè)新的位置來對(duì)粒子 進(jìn)行更新535。該預(yù)測(cè)使用PF的動(dòng)態(tài)模型。下文將會(huì)對(duì)這一步進(jìn)行詳細(xì)地 說明。
動(dòng)態(tài)模型以幀和幀之間物體狀態(tài)的變化為特征。例如,可以使用反映 物體運(yùn)動(dòng)量的運(yùn)動(dòng)模型或著運(yùn)動(dòng)估計(jì)。在一個(gè)實(shí)現(xiàn)中,帶有固定噪點(diǎn)變化 的固定常量速度模型(fixed constant velocity model with fixed noise variance)在過去的幀中被適應(yīng)于物體的位置。
然后,循環(huán)525包括使用PF的測(cè)量模型確定更新的粒子的權(quán)重540。確定權(quán)重包括對(duì)觀測(cè)/測(cè)量的數(shù)據(jù)(例如當(dāng)前幀的視頻數(shù)據(jù))進(jìn)行分析。繼 續(xù)以網(wǎng)球比賽為例,把當(dāng)前幀中粒子指示位置的數(shù)據(jù)和網(wǎng)球前一個(gè)位置的 數(shù)據(jù)相比較。這個(gè)比較可能包括分析顏色直方圖或者執(zhí)行邊緣檢測(cè)。基于 比較的結(jié)果確定這個(gè)粒子的權(quán)重。操作540也包括為粒子位置確定累積加 權(quán)因子。
然后,循環(huán)525包括確定是否有別的粒子要進(jìn)行處理542。如果有更多 的粒子要進(jìn)行處理,那么循環(huán)525要被重復(fù)執(zhí)行,并且方法500跳轉(zhuǎn)到操作 530。在對(duì)粒子的起始集合(或者舊的集合)中的所有粒子執(zhí)行完循環(huán)525 之后,更新粒子的一個(gè)完整的集合會(huì)被生成。
然后,循環(huán)520包括使用再抽樣算法來生成粒子的一個(gè)新的集合和新 的累積加權(quán)因子545。再抽樣算法是基于粒子的權(quán)重,從而關(guān)注帶有較大 權(quán)重的粒子。再抽樣算法生成粒子的一個(gè)集合,在這個(gè)集合中,所有的粒 子都具有相同的權(quán)重,但是很多粒子都位于某些位置上。因此這些位置一 般具有不同的累積加權(quán)因子。
再抽樣還可以減輕PF中常見的退化問題。有很多方法可以用于再抽 樣,比如多項(xiàng)再抽樣、剩余再抽樣、分層再抽樣和系統(tǒng)再抽樣。因?yàn)槭S?再抽樣對(duì)于粒子次序不敏感,所以一個(gè)實(shí)現(xiàn)使用剩余再抽樣。
循環(huán)520通過增加循環(huán)控制變量"it" 550和把"it"與重復(fù)變量 "iterate"比較555來繼續(xù)運(yùn)行。如果還需要繼續(xù)運(yùn)行循環(huán)520,則把粒 子的新的集合及其累積加權(quán)因子變?yōu)榭墒褂?60。
在把循環(huán)520執(zhí)行"iterate"次后,這個(gè)粒子集合應(yīng)該為良好的粒子 集合,并且確定當(dāng)前的狀態(tài)565。通過對(duì)新的粒子集合中的粒子進(jìn)行平均來確定新的狀態(tài)。
圖8說明了包括粒子濾波器的處理流程的另一個(gè)實(shí)現(xiàn)。其整體處理流 程與上面結(jié)合圖7介紹的處理流程類似。因此下面將不會(huì)詳細(xì)描述圖7和圖
8中相同的元素。方法800包括從前一狀態(tài)中獲取粒子的起始集合和累積加 權(quán)因子805。對(duì)循環(huán)控制變量"it"進(jìn)行初始化810,并且在確定當(dāng)前狀態(tài) 之前重復(fù)地執(zhí)行循環(huán)。在該循環(huán)中,根據(jù)累積加權(quán)因子選擇出一個(gè)粒子。 該方法然后通過為該選擇出的粒子在狀態(tài)空間中預(yù)測(cè)一個(gè)新的位置來對(duì) 粒子進(jìn)行更新820。該預(yù)測(cè)使用PF的動(dòng)態(tài)模型。
然后,使用相關(guān)面(correlation surface)查尋粒子的本地模式, 例如基于SSD的相關(guān)面825。先識(shí)別出SSD的本地最小量(local minimum), 然后把粒子的位置改變?yōu)樽R(shí)別出的SSD的本地最小量。另一個(gè)實(shí)現(xiàn)使用合 適的表面識(shí)別這個(gè)表面的本地最大量(local maximum),然后把粒子的位 置改變?yōu)樽R(shí)別出的本地最大量。然后在測(cè)量模型中確定這個(gè)移動(dòng)的粒子的 權(quán)重830。作為例子,下面將描述使用相關(guān)面和多假設(shè)來計(jì)算權(quán)重的方法。 如果有別的粒子要進(jìn)行處理835,那么該循環(huán)返回去挑選一個(gè)粒子。如果 已經(jīng)處理完所有的粒子,那么基于新的權(quán)重對(duì)粒子進(jìn)行再抽樣,并且生成 一個(gè)新的粒子組840。增加循環(huán)控制變量"it"的值845。如果"it"小于 重復(fù)閾值850,那么該方法把舊的粒子組和新的粒子組進(jìn)行轉(zhuǎn)換870,并且 重復(fù)上述處理過程。
如果所有的重復(fù)己經(jīng)執(zhí)行完畢,那么在獲得當(dāng)前狀態(tài)之前還需要執(zhí)行 一個(gè)步驟。在前幀中檢查用于物體的阻擋指示器(occlusion indicator) 855。如果阻擋指示器表明前幀中存在阻擋,那么考慮粒子的一個(gè)子集用于選擇當(dāng)前狀態(tài)860。具體最大權(quán)重的粒子被選入到粒子的子集中。在一 個(gè)實(shí)施方式中,粒子的子集為帶有最大權(quán)重的一個(gè)粒子。如果具有相同的 最大權(quán)重的粒子數(shù)量超過l個(gè),那么這些具有最大權(quán)重的粒子都被選入到 粒子的子集中。粒子的狀態(tài)可能被視為檢測(cè)狀態(tài)。之所以選擇出粒子的子 集,是因?yàn)樽钃踅档土藥в休^低權(quán)重的粒子的可靠性。如果阻擋指示器表 明前幀中不存在阻擋,那么新的粒子組的平均量會(huì)被用來確定當(dāng)前狀態(tài)
865。在這種情況下,粒子的狀態(tài)是追蹤狀態(tài)。能夠認(rèn)識(shí)到,根據(jù)粒子的 權(quán)重可能對(duì)平均量進(jìn)行加權(quán)。還能夠認(rèn)識(shí)到,可以使用除了平均量(比如 平均數(shù))外的其它統(tǒng)計(jì)測(cè)量來確定當(dāng)前的狀態(tài)。
圖9示出了圖8的動(dòng)態(tài)模型820的一個(gè)實(shí)現(xiàn)900。在動(dòng)態(tài)模型中,前幀中 的運(yùn)動(dòng)信息會(huì)被使用。通過使用前幀的運(yùn)動(dòng)信息,粒子將更加可能接近物 體的實(shí)際位置,從而提高效率、準(zhǔn)確性或者兩者兼顧。在動(dòng)態(tài)模型中,做 為一種替代方案,可以使用隨機(jī)行走來生成粒子。
動(dòng)態(tài)模型可能使用用于小物體追蹤的狀態(tài)空間模型。例如,在時(shí)間t, 用于在數(shù)字圖像序列的一個(gè)圖象中追蹤小物體的狀態(tài)空間模型用公式表 達(dá)為-
,
其中,Zf表示物體狀態(tài)向量,^表示觀察向量,,和g表示兩個(gè)向
量值函數(shù)(分別為動(dòng)態(tài)模型和觀察模型),^和《分別表示處理或動(dòng)態(tài)噪 聲和觀察噪聲。在運(yùn)動(dòng)估計(jì)中,物體狀態(tài)向量被定義為X二 (x, y),其中
(x, y)是物體窗口中心的坐標(biāo)。優(yōu)選地,估計(jì)的運(yùn)動(dòng)從前幀的數(shù)據(jù)中獲
得,以及可能使用光流等式(optic lfow equation)估計(jì)出來。用F表示物體在時(shí)間t時(shí)候的圖象中估計(jì)的運(yùn)動(dòng)。動(dòng)態(tài)模型可表示為
預(yù)測(cè)噪聲方差(variance of prediction noise)"可以從運(yùn)動(dòng)數(shù)據(jù) 中估計(jì)出來,例如從運(yùn)動(dòng)估計(jì)的錯(cuò)誤測(cè)量中估計(jì)預(yù)測(cè)噪聲方差??梢允褂?光流等式中的運(yùn)動(dòng)剩余。做為選擇地,預(yù)測(cè)噪聲方差可能為基于亮度的標(biāo) 準(zhǔn),例如運(yùn)動(dòng)補(bǔ)償剩余;但是,基于運(yùn)動(dòng)數(shù)據(jù)的方法可能會(huì)優(yōu)于基于亮度 數(shù)據(jù)的方差。
如塊905所示,為每一個(gè)粒子讀取一個(gè)存儲(chǔ)的阻擋指示器。阻擋指示 器指出物體在前幀中是否被阻擋。如果讀取的阻擋指示器指出物體被阻擋 910,那么在動(dòng)態(tài)模型中不應(yīng)用運(yùn)動(dòng)估計(jì)925。能夠認(rèn)識(shí)到,阻擋會(huì)削弱運(yùn) 動(dòng)預(yù)測(cè)的正確性。粒子的預(yù)測(cè)噪聲方差值會(huì)被設(shè)置為最大量930。與之相 對(duì)地,如果讀取的阻擋指示器指出前幀中不存在阻擋,則使用運(yùn)動(dòng)預(yù)測(cè)來 生成粒子915。使用預(yù)測(cè)噪聲方差的方法從運(yùn)動(dòng)數(shù)據(jù)中估計(jì)預(yù)測(cè)噪聲方差 920。
圖10示出了抽樣前在粒子濾波器的動(dòng)態(tài)模型中為每一個(gè)粒子執(zhí)行的 處理流程的一個(gè)實(shí)現(xiàn)1000。最初,檢査內(nèi)存中的阻擋指示器1005。該阻擋 指示器用于指示前幀中物體的阻擋。如果在前幀中發(fā)現(xiàn)物體被阻擋1010, 那么在動(dòng)態(tài)模型中不使用運(yùn)動(dòng)估計(jì)1030,并且粒子的預(yù)測(cè)噪聲方差被設(shè)置 為最大量1035。如果存儲(chǔ)的阻擋指示器沒有指出物體在前幀中被阻擋,那 么執(zhí)行運(yùn)動(dòng)估計(jì)1015。
運(yùn)動(dòng)估計(jì)可能基于在光流等式中使用以往幀中物體的位置。本領(lǐng)域的 技術(shù)人員知曉光流等式。運(yùn)動(dòng)估計(jì)之后,在由運(yùn)動(dòng)估計(jì)產(chǎn)生的粒子位置上 執(zhí)行失敗檢測(cè)1020。多種度量方法可以用于失敗檢測(cè)。在一個(gè)實(shí)現(xiàn)中,計(jì)算模板對(duì)應(yīng)的物體圖象和其中心位于從運(yùn)動(dòng)估計(jì)獲得的粒子位置周圍的 圖象塊之間的絕對(duì)亮度差的平均量。如果該平均量超過了一個(gè)選定的閾 值,那么該運(yùn)動(dòng)預(yù)測(cè)就被視為是失敗的1025,并且不為粒子使用運(yùn)動(dòng)預(yù)測(cè)
結(jié)果1030。粒子的預(yù)測(cè)噪聲方差可能被設(shè)置為最大量1035。如果運(yùn)動(dòng)預(yù)測(cè) 沒有被視為失敗,則運(yùn)動(dòng)預(yù)測(cè)結(jié)果被保存1040,把其做為該粒子的預(yù)測(cè)。 然后對(duì)預(yù)測(cè)噪聲方差進(jìn)行估計(jì)1045。例如,可以使用光流等式來提供運(yùn)動(dòng) 剩余值,該運(yùn)動(dòng)剩余值可被用做預(yù)測(cè)噪聲方差。
圖11描述了使用測(cè)量模型計(jì)算粒子權(quán)重的一個(gè)實(shí)現(xiàn)。對(duì)每一個(gè)粒子執(zhí) 行方法IIOO。方法1100以度量面的計(jì)算做為開始,例如,其可以是塊1105 指示的相關(guān)面。度量面被用來測(cè)量模板或目標(biāo)模型和當(dāng)前候選粒子間的差 別。在一個(gè)實(shí)現(xiàn)中,可以按照下文所述的方法來生成度量面。
用于模板和侯選粒子之間差別的度量可以是度量面,例如相關(guān)面。本 發(fā)明的一個(gè)實(shí)現(xiàn)使用了平方差總和(sum of squared differences, SSD) 面,其公式如下,
<formula>formula see original document page 20</formula>
其中,W表示物體窗口, Neib為物體中心A周圍小的周邊區(qū)域。T是物 體模板,I是當(dāng)前幀中的圖象。在帶有雜亂背景的小的物體中,這個(gè)面不 代表準(zhǔn)確的可能性估計(jì)。進(jìn)一步的示例性的相關(guān)面如下<formula>formula see original document page 20</formula>
相關(guān)面的大小可能會(huì)不同?;谶\(yùn)動(dòng)估計(jì)的質(zhì)量,相關(guān)面的大小會(huì)有 所不同。其中,運(yùn)動(dòng)估計(jì)的質(zhì)量可以確定做為方差的倒數(shù)。 一般地,運(yùn)動(dòng)估計(jì)質(zhì)量越高,相關(guān)面就越小。
基于度量面生成用于粒子運(yùn)動(dòng)的多假設(shè)iiio。侯選假設(shè)和相關(guān)面的本 地最小量或者最大量相關(guān)聯(lián)。例如,如果J個(gè)SSD相關(guān)面的侯選在區(qū)域Neib
中被設(shè)別,那么J+1個(gè)假設(shè)被定義為 //0={。=C:_/ = 1, ...,/},
= (。 = r,c, = C:/ = Z#y二^ ... 乂
其中,。=7意味著第」'個(gè)侯選是真實(shí)匹配,。;e則相反。假設(shè)仏意
味著沒有一個(gè)侯選是真實(shí)匹配。在這個(gè)實(shí)現(xiàn)中,我們假設(shè)雜亂均勻地分布
在周邊區(qū)域Neib上。否則,面向真實(shí)匹配的測(cè)量(true match-oriented measurement)為高斯分布。
基于上述假設(shè),與每一個(gè)粒子相關(guān)的可能性被表達(dá)為
尸o, i =《o"(.)+Cw Z!二力.w(。 , a )
其中,^為標(biāo)準(zhǔn)化因數(shù),《。是假設(shè)仏的事前概率(prior
probability), ^是假設(shè)^的概率,j=l,…,J。相應(yīng)地,通過多假設(shè)的 使用,使用SSD的可能性測(cè)量被進(jìn)一步改進(jìn),從而能夠把雜亂納入到考慮范圍。
在塊1115中,估計(jì)響應(yīng)分布方差(response distribution variance)。 執(zhí)行用于確定粒子是否被阻擋的粒子阻擋確定。該粒子阻擋確定可以 依據(jù)基于亮度的評(píng)估1120,例如,平均差總和(sum of average differences, SAD)度量。該度量被用于比較物體模板和侯選粒子。本領(lǐng)域技術(shù)人員知曉 該基于亮度的評(píng)估?;赟AD,對(duì)那些很有可能被阻擋的粒子進(jìn)行確定。阻擋的基于亮度的評(píng)估在計(jì)算量上相對(duì)簡(jiǎn)便,但是在具有雜亂背景的情況 下,該評(píng)估可能不是很準(zhǔn)確。通過設(shè)置一個(gè)大的閾值,通過使用基于亮度 的評(píng)估1125, 一些粒子會(huì)被確定為被阻擋的粒子。對(duì)于這些粒子,把它們 的權(quán)重設(shè)置為最小量1130。在這種情況下,有很大可能發(fā)生了阻擋。例如, 選擇一個(gè)閾值使其能夠識(shí)別不帶有雜亂的實(shí)阻擋的情況,但是識(shí)別不出其 它情況的阻擋。
如果基于亮度的評(píng)估指出沒有阻擋,則執(zhí)行概率粒子阻擋確定1135。
概率粒子阻擋檢測(cè)可以基于生成的多假設(shè)和響應(yīng)分布方差估計(jì)。生成一個(gè)
趨近于SSD表面的分布,并且基于該生成的分布,使用協(xié)方差矩陣的特征 值來確定阻擋的存在與否。下面將給出進(jìn)一步的說明。
響應(yīng)分布被定義用于在真實(shí)匹配位置上趨近于概率分布。換言之,粒
子位置是真實(shí)匹配位置的概率D為
D(A) = exp(-P'K義,)),
其中,p是標(biāo)準(zhǔn)化因子。標(biāo)準(zhǔn)化因子的選擇要使得能夠保證一個(gè)選擇
的最大量響應(yīng),比如最大量響應(yīng)為0.95。從響應(yīng)分布中構(gòu)造的與測(cè)量^相
關(guān)的協(xié)方差矩陣^為
'LZ(w"'",力"-、)("力) S(wA",力("6)2」"
其中,(、,力)是每個(gè)侯選的窗口中心,^ "2^,力E他,力A"力是協(xié) 方差標(biāo)準(zhǔn)化因子。使用協(xié)方差矩陣《的特征值的倒數(shù)做為與侯選相關(guān)的置
信度量(confidence metric)。在一個(gè)實(shí)現(xiàn)中,把協(xié)方差矩陣《的最大特 征值與一個(gè)閾值相比較。如果最大特征值超過了該閾值,那么檢測(cè)為存在阻擋。響應(yīng)于檢測(cè)出阻擋1140,賦予粒子最小有效權(quán)重1130,該最小有效
權(quán)重通常不為o。如果檢測(cè)出不存在阻擋,則計(jì)算一個(gè)可能性。
在一個(gè)實(shí)現(xiàn)中,如果檢測(cè)出阻擋,該方法在不考慮軌跡的前提下基于 亮度和運(yùn)動(dòng)生成粒子可能性,而不是把權(quán)重或者可能性設(shè)置為最小值。另 一方面,如果沒有檢測(cè)出阻擋,那么基于亮度生成粒子的可能性。
在一個(gè)實(shí)現(xiàn)中,將要賦予給粒子的權(quán)重至少部分基于粒子指示位置的 周邊的部分圖象的考慮。例如,對(duì)于一個(gè)給定的粒子,把物體模板的一個(gè)
片,如5X5的像素塊,和該粒子指示的位置以及其它區(qū)域相比較。該比較 可能基于絕對(duì)誤差總和(sum of absolute differences, SAD)矩陣或者直 方圖,對(duì)于大的物體尤其如此。把物體模板和粒子指示位置周圍的圖象相 比較。如果偏離位置比較(off-position comparison)顯示明顯的不同, 則賦予粒子一個(gè)較大的權(quán)重。另一方面,如果粒子指示的區(qū)域和其它區(qū)域 很相似,則相應(yīng)地減少粒子的權(quán)重?;诒容^,生成如SSD這樣的相關(guān)面 來對(duì)偏離位置區(qū)域建模。
如果確定的結(jié)果是粒子沒有被阻擋,則對(duì)軌跡可能性進(jìn)行估計(jì)1145。 使用加權(quán)的確定來估計(jì)粒子權(quán)重1150。
加權(quán)的確定包括亮度可能性(例如,模板匹配),運(yùn)動(dòng)可能性(例如,
物體過去位置的線性外推)和軌跡可能性中的一個(gè)或多個(gè)。粒子濾波器可
能考慮這些因素來確定每一個(gè)粒子的可能性或權(quán)重。在一個(gè)實(shí)現(xiàn)中,我們
假設(shè)攝像機(jī)的運(yùn)動(dòng)不會(huì)影響軌跡平滑(trajectory smoothness),因而其
不會(huì)影響軌跡可能性。在一個(gè)實(shí)現(xiàn)中,粒子可能性的定義如下, I X,) = P(Z)加IX,)戶(Z廣'IX, )P(Z,'。 I)其中,Z'=『',Zm ^是基于ssD面的亮度測(cè)量,Z'自是運(yùn)動(dòng)可 能性,";是軌跡可能性。這三個(gè)值一般被認(rèn)為是獨(dú)立的。本領(lǐng)域的技術(shù)
人員知曉亮度可能性P(z"1 D的計(jì)算。
基于粒子位置變化(速度)和當(dāng)前幀內(nèi)物體位置的平均變化的差值來 計(jì)算運(yùn)動(dòng)可能性
L -flA^-^ + flAM-M, t>1
其中,C^i,Ajrf是關(guān)于O^^J的粒子位置變化,C3^5)是選擇的當(dāng)前
幀內(nèi)的物體的平均速度,艮P,
因此,可以基于動(dòng)態(tài)模型預(yù)測(cè)的位置和粒子位置之間的距離《。'(例 如,歐幾里德距離)來計(jì)算運(yùn)動(dòng)可能性。該計(jì)算公式如下,
在一個(gè)實(shí)現(xiàn)中,可以從粒子相對(duì)于軌跡的接近度中估計(jì)軌跡平滑可能 性,該軌跡基于視頻的當(dāng)前幀中物體的一系列位置來計(jì)算。軌跡函數(shù)表達(dá) 為y二f (x),其參數(shù)形式如下,
其中,"'表示多項(xiàng)式參數(shù),m是多項(xiàng)式函數(shù)的階(例如,m=2)。在軌 跡函數(shù)的計(jì)算中,公式可能被修改。第一種修改的情況為,如果在過去的 一個(gè)幀中物體位置對(duì)應(yīng)為阻擋狀態(tài),那么忽略或不考慮物體位置。第二 修改的情況為, 一個(gè)叫做遺忘因子的權(quán)重因子被計(jì)算用來對(duì)粒子相對(duì)于軌 跡的接近度進(jìn)行加權(quán)。在其中物體被阻擋的幀的數(shù)量越多,估計(jì)的軌跡就越不可靠,相應(yīng)地,遺忘因子也就越大。
遺忘因子只是一個(gè)置信值。用戶基于多方面的考慮為遺忘因子賦值。 例如,這些考慮包括前一圖像中物體是否被阻擋,在其中物體被阻擋的在 前的幀的數(shù)量,在其中物體連續(xù)被阻擋的在前的幀的數(shù)量,以及非阻擋數(shù) 據(jù)的可靠度。每一個(gè)圖象可能具有一個(gè)不同的遺忘因子。
在一個(gè)示例的實(shí)現(xiàn)中,給出如下的軌跡平滑可能性
,. i y-ocT p(z;。 i《)=Ti-eXpf L "丄 J)
",■ 2c^乂
其中,接近度的值為《。=|;; —/(X)I, ^是人為選擇的遺忘比率, 0〈、<1 (例如,~=0.9), t—ocl是在其中物體被阻擋的最近的幀的數(shù)量。
在一個(gè)實(shí)現(xiàn)中,如果確定在前一幀中物體被阻擋,則基于亮度可能性 和軌跡可能性來確定粒子可能性,在這里,粒子可能性的確定不考慮運(yùn)動(dòng) 可能性。如果確定在前一幀中物體沒被阻擋,則基于亮度可能性和運(yùn)動(dòng)可 能性來確定粒子可能性,在這里,粒子可能性的確定不考慮軌跡可能性。 通常這么做是有益的。這是因?yàn)楫?dāng)在前一幀中知道物體位置的時(shí)候,提供 軌跡限制通常帶來的好處比較少。并且軌跡限制的引進(jìn)會(huì)破壞時(shí)間馬爾可 夫鏈假設(shè),即,軌跡限制的使用使得后續(xù)的狀態(tài)依據(jù)幀中的狀態(tài),而不是 依據(jù)前一幀。如果物體被阻擋或者運(yùn)動(dòng)估計(jì)被確定低于一個(gè)閾值,那么在 粒子可能性的確定中包括運(yùn)動(dòng)可能性不會(huì)有任何好處。在這個(gè)實(shí)現(xiàn)中,粒 子可能性表達(dá)如下,
其中,如果物體被阻擋,那么0,=0,否則其值為l。 圖12示出了相對(duì)于視頻幀中物體的位置對(duì)物體的軌跡進(jìn)行適應(yīng)。元素
251205、 1206和1207代表了一個(gè)小物體在視頻的三個(gè)幀中的位置。元素1205、1206和1207在一個(gè)區(qū)1208中,并且沒有被阻擋。元素1230和1231代表小物體在元素1205、 1206和1207代表的幀之后的兩個(gè)視頻幀中的位置。元素1230和1231在區(qū)1232中,并且確定為被阻擋,從而對(duì)于確定的位置有著等級(jí)很高的不確定性。因此,在圖12中,t—ocl=2。 1210為實(shí)際的軌跡。實(shí)際的軌跡被投影到一個(gè)預(yù)測(cè)的軌跡1220。
圖13示出了模板的一個(gè)實(shí)現(xiàn)的處理流程。在圖13處理流程的開始,估計(jì)物體的一個(gè)新的狀態(tài)。例如,可以使用粒子濾波器來進(jìn)行估計(jì)。這個(gè)新的估計(jì)的狀態(tài)與物體在新的一個(gè)幀中的估計(jì)位置相對(duì)應(yīng)。圖13的處理流程1300可以用來確定是否使用現(xiàn)有的模板估計(jì)下一幀的狀態(tài)。如步驟1305所示,在當(dāng)前幀中物體新估計(jì)的位置上執(zhí)行阻擋檢測(cè)。如果檢測(cè)出阻擋1310,則在內(nèi)存中設(shè)置一個(gè)阻擋指示器1330。例如,該阻擋指示器的指示可能被粒子濾波器用于后續(xù)幀。如果沒有檢測(cè)出阻擋,那么處理流程繼續(xù)檢測(cè)偏差(drift) 1315。在一個(gè)實(shí)現(xiàn)中,偏差可能以新幀中物體的圖象和起始模板之間的運(yùn)動(dòng)剩余的形式存在。如果偏差超過一個(gè)閾值1320,則不更新模板1335。如果偏差沒有超過閾值,則使用當(dāng)前幀的物體窗口更新模板。并且對(duì)物體運(yùn)動(dòng)參數(shù)也進(jìn)行更新。
圖14的流程圖示出了用于更新物體模板和改進(jìn)位置估計(jì)的處理流程1300的另一個(gè)實(shí)現(xiàn)。在處理流程1400中,在確定當(dāng)前物體狀態(tài)后,對(duì)確定的物體位置和當(dāng)前幀執(zhí)行阻擋檢測(cè)1405。如果檢測(cè)出阻擋1410,則修改已經(jīng)估計(jì)出的物體位置。因?yàn)樽钃鯐?huì)降低"確定的物體位置 計(jì)是有用的。在一個(gè)例子中,阻擋的確定可能是基于雜亂的存在,并且確定的物體位置可 能實(shí)際上是一些雜亂的位置。
通過使用和軌跡平滑相關(guān)的信息來實(shí)現(xiàn)修改。通過使用前幀的位置數(shù) 據(jù)的信息,物體位置被投影在一個(gè)確定的軌跡上1415。例如,可以采用使 用常速度的直線投影。對(duì)位置進(jìn)行改進(jìn)1420。
圖15示出了在軌跡上投影物體位置和改進(jìn)該物體位置的過程。1505為 一條軌跡。位置1510代表先前的一個(gè)幀中物體的位置。數(shù)據(jù)點(diǎn)1515代表在 j時(shí)刻的一個(gè)先前幀中的位置^。數(shù)據(jù)點(diǎn)1520代表在i時(shí)刻的一個(gè)先前幀中 的位置《。數(shù)據(jù)點(diǎn)1510、 1515和1520代表了沒有被阻擋的物體位置,因此, 其為相對(duì)高質(zhì)量的數(shù)據(jù)。數(shù)據(jù)點(diǎn)1525、 1530、 1535和1540代表了物體在先 前幀中的位置,但是都遭受了阻擋。相應(yīng)地,這些數(shù)據(jù)點(diǎn)在軌跡計(jì)算過程 中或者被忽視或者被賦予小的權(quán)重。軌跡1505通過適應(yīng)這些數(shù)據(jù)點(diǎn)被生 成,其中,這些數(shù)據(jù)點(diǎn)中的一些數(shù)據(jù)點(diǎn)因?yàn)樽钃醵患訖?quán)。
使用直線和常速度來執(zhí)行在時(shí)刻為cur的當(dāng)前幀中物體位置的起始計(jì) 算。其使用的公式如下
<formula>formula see original document page 27</formula>
這是一個(gè)直線投影1550 (也被稱為線性外推)。通過使用直線預(yù)測(cè)獲 得當(dāng)前幀的估計(jì)的起始位置1545 (也被稱為線性位置估計(jì))。然后,當(dāng)前
幀的估計(jì)的起始位置被投影到計(jì)算后的軌跡的位置A"r (也被稱為投影 點(diǎn))。^"r是軌跡上距離Z,最近的點(diǎn)。該預(yù)測(cè)使用的公式如下<formula>formula see original document page 27</formula>
其中,^是遺忘比率,0<々<1 (例如,、=0.9), t—ocl是從上一次物體可見開始在其中物體被阻擋的幀的數(shù)量。在一個(gè)實(shí)現(xiàn)中,投影可能為 Z,和^^之間以內(nèi)插值替換的軌跡上的一點(diǎn)。因而,投影將位于^^和 之^之間的一條線上。在這個(gè)實(shí)現(xiàn)中,投影表示如下
在圖15中,物體在最近的兩個(gè)幀中被阻擋,這兩個(gè)幀為1530和1535。 因此,t_ocl=2。通過應(yīng)用這個(gè)公式,物體位置被移動(dòng)到軌跡和直線投影 之間的一個(gè)位置。t一ocl的值越大,軌跡就越不確定,相應(yīng)地,物體位置 也就越接近直線投影。在圖15給出的例子中,確定了以內(nèi)插值替換的位置 1540。因?yàn)槲恢?540在被阻擋區(qū)1560中,因此位置1540被阻擋。
再轉(zhuǎn)回到圖14,當(dāng)阻擋檢測(cè)結(jié)果為沒有阻擋的時(shí)候,下面對(duì)其后續(xù)流 程進(jìn)行說明。確定物體模板的偏差1425。通過對(duì)當(dāng)前模板和起始模板應(yīng)用 運(yùn)動(dòng)估計(jì)來檢測(cè)模板的偏差。比較它們的結(jié)果。如果在應(yīng)用運(yùn)動(dòng)估計(jì)后兩 個(gè)模板之間的差值超過一個(gè)閾值1430,則存在著偏差。在該情況下,則不 對(duì)先前模板進(jìn)行更新1445,并獲得一個(gè)新的模板。如果差值不超過該閾值, 則對(duì)模板進(jìn)行更新1435。
這個(gè)處理流程中也包括了對(duì)內(nèi)存中的阻擋指示器進(jìn)行更新1440。在對(duì) 后一幀進(jìn)行位置估計(jì)的時(shí)候,在粒子濾波器中對(duì)前一幀的阻擋指示器進(jìn)行 檢測(cè)。
圖16示出了方法1600。該方法包括在用于追蹤物體的基于粒子的框架 中生成度量面1605。該度量面與數(shù)字圖象序列中的某一特定圖象相關(guān)?;?于該度量面,生成該圖象的物體位置的多假設(shè)1610?;诙嗉僭O(shè)的概率估 計(jì)物體的位置1615。在圖17中,方法1700包括對(duì)用于數(shù)字圖象序列的某一特定圖象中物體 的運(yùn)動(dòng)估計(jì)進(jìn)行評(píng)估1705,該運(yùn)動(dòng)估計(jì)基于該數(shù)字圖象序列的前一個(gè)圖 象。基于計(jì)算的結(jié)果為該物體選擇至少一個(gè)位置估計(jì)1710。該位置估計(jì)為
用于追蹤物體的基于粒子的框架的一部分。
在圖18中,方法1800包括在用于在數(shù)字圖像序列的圖象之間追蹤物體 的基于粒子的框架中選擇一個(gè)粒子1805,該粒子有一個(gè)位置。方法1800還 包括讀取一個(gè)面,該面指示了一個(gè)或多個(gè)粒子與物體相匹配的程度1810。 方法1800還包括在該面上確定一個(gè)位置1815,這個(gè)位置與所選粒子相關(guān), 并且這個(gè)位置還指示了所選粒子與物體相匹配的程度。方法1800還包括把 確定的位置與該面的本地最小量或者本地最大量相關(guān)聯(lián)1820。方法1800還 包括對(duì)應(yīng)著確定的本地最小量或者本地最大量對(duì)所選粒子的位置進(jìn)行移 動(dòng)1825。
在圖19中,方法1900包括為數(shù)字圖象序列中的物體生成一個(gè)物體模板 1905。方法1900還包括在數(shù)字圖象序列的一個(gè)特定圖象中生成估計(jì)的物體 位置,其中,通過使用基于粒子的框架來生成該估計(jì)。把物體模板與在估 計(jì)位置處的圖象部分相比較1915?;诒容^的結(jié)果來確定是否對(duì)物體模板 進(jìn)行更新1920。
在圖20中,方法2000包括在用于在數(shù)字圖象序列的圖象之間追蹤物體 的基于粒子的框架中,執(zhí)行基于亮度的評(píng)估來檢測(cè)阻擋2005。在一個(gè)實(shí)現(xiàn) 中,基于亮度的評(píng)估可能是基于數(shù)據(jù)關(guān)聯(lián)。如果沒有檢測(cè)出阻擋2010,則 執(zhí)行概率評(píng)估來檢測(cè)阻擋2015。在一個(gè)實(shí)現(xiàn)中,概率評(píng)估可能包括上述的 基于相關(guān)面的方法。選擇性地存儲(chǔ)阻擋檢測(cè)處理結(jié)果的指示器2020.在圖21中,方法2100包括選擇有效粒子的一個(gè)子集用于在數(shù)字圖像序
列的圖象之間追蹤物體2105。在一個(gè)實(shí)現(xiàn)中,如圖21所示,選擇具有最高 可能性的粒子?;谒x的粒子的子集對(duì)狀態(tài)進(jìn)行估計(jì)2110。
在圖22中,方法2200包括確定數(shù)字圖像序列的某一幀中估計(jì)的物體位 置是否被阻擋2205。為該物體估計(jì)軌跡2210。基于估計(jì)的軌跡改變估計(jì)的 物體位置2215。
在圖23中,方法2300包括確定一個(gè)物體軌跡2310。例如,物體在數(shù)字 圖象序列的某一特定圖象中,并且軌跡是基于數(shù)字圖像序列中一個(gè)或者多 個(gè)在前圖象中的一個(gè)或多個(gè)在前位置。方法2300還包括基于粒子到軌跡的 距離確定粒子權(quán)重2320。例如,該粒子在用于追蹤物體的基于粒子的框架 中被使用。方法2300還包括基于確定的粒子權(quán)重確定物體位置2330。例如, 可以使用基于粒子的框架來確定物體位置。
例如,本發(fā)明的實(shí)現(xiàn)可以用于生成物體的位置估計(jì)。位置估計(jì)可以被 用于對(duì)包含物體的圖象進(jìn)行編碼。編碼可能使用MPEG—1、 MPEG—2、 MPEG —4、 H. 264或其它編碼技術(shù)。可以在信號(hào)介質(zhì)或者處理器可讀介質(zhì)上提供 位置估計(jì)或者編碼。這些實(shí)現(xiàn)也可被修改用于非物體追蹤的應(yīng)用或者非視 頻的應(yīng)用。例如,狀態(tài)代表的是一個(gè)特征而不是物體位置,并且其也不必 和物體有關(guān)。
這里所描述的實(shí)現(xiàn)可以實(shí)現(xiàn)在方法、流程、設(shè)備或者軟件程序中。即 使僅僅以某一種形式對(duì)實(shí)現(xiàn)進(jìn)行了描述(例如,僅僅使用方法進(jìn)行描述), 實(shí)現(xiàn)還可以以其它形式進(jìn)行實(shí)現(xiàn)(例如,設(shè)備或者程序)。例如,設(shè)備可 以在適當(dāng)?shù)挠布?、軟件和固件中?shí)現(xiàn)。方法可以在一個(gè)設(shè)備中實(shí)現(xiàn),例如,設(shè)備為處理器。處理器一般也被稱作處理裝置。其通常包括計(jì)算機(jī)、微處 理器、集成電路和編程邏輯裝置。處理裝置還包括通信裝置,例如,計(jì)算 機(jī)、蜂窩電話、移動(dòng)數(shù)字助理/個(gè)人數(shù)字助理,和其它用于終端用戶間信 息交換的裝置。
本發(fā)明描述的各種處理流程和特征的實(shí)現(xiàn)可能被包含在各種設(shè)備或 者應(yīng)用中。例如,與數(shù)據(jù)編解碼相關(guān)的設(shè)備或者應(yīng)用。設(shè)備的例子包括視 頻編碼器、視頻解碼器、視頻編解碼器、網(wǎng)絡(luò)服務(wù)器、機(jī)頂盒、筆記本、
個(gè)人電腦、蜂窩電話、個(gè)人數(shù)字助理和其它通信設(shè)備。應(yīng)該清楚的是,設(shè) 備可以是移動(dòng)的,甚至可以安裝到移動(dòng)的交通工具中。
此外,可以通過可由處理器執(zhí)行的指令來實(shí)現(xiàn)本發(fā)明的方法,并且這 些指令可以被存儲(chǔ)在處理器可讀介質(zhì)上,例如,集成電路,軟件載體或者
其它存儲(chǔ)設(shè)備,例如,硬盤、光盤、隨機(jī)存取存儲(chǔ)器(random access memory, RAM)或者只讀存儲(chǔ)器(read-only memory, R0M)。這些指令可以形成應(yīng) 用軟件,然后有形地存儲(chǔ)在處理器可讀介質(zhì)上。指令可以存在于硬件、固 件、軟件及其組合中。指令可以在操作系統(tǒng)、單獨(dú)的應(yīng)用程序或者兩者的 組合中被發(fā)現(xiàn)。處理器表現(xiàn)為用于執(zhí)行處理流程的裝置或者包括具有執(zhí)行 處理流程指令的計(jì)算機(jī)可讀介質(zhì)的裝置。
本領(lǐng)域的技術(shù)人員能夠認(rèn)識(shí)到,本發(fā)明的實(shí)現(xiàn)能夠生成信號(hào),用于承 載被存儲(chǔ)或傳輸?shù)男畔?。其中,信息包括用于?zhí)行方法的指令或者由上文 描述的一個(gè)實(shí)現(xiàn)產(chǎn)生的數(shù)據(jù)。信號(hào)可以被格式轉(zhuǎn)換為電磁波(例如,使用 頻譜的射頻部分)或基帶信號(hào)。格式轉(zhuǎn)換步驟可能包括對(duì)數(shù)據(jù)流進(jìn)行編碼, 以及使用編碼后的數(shù)據(jù)流對(duì)載波進(jìn)行調(diào)制。信號(hào)承載的信息可能為模擬信息或者數(shù)字信息。信號(hào)可能在多種不同的有線鏈路或者無線鏈路上傳輸。
本發(fā)明描述了多種實(shí)現(xiàn)。但是,應(yīng)該認(rèn)識(shí)到,可以對(duì)這些實(shí)現(xiàn)做不同
的修改。例如,不同的實(shí)現(xiàn)的組成部分可以組合、添加、修改或者移除,
從而生成其它的實(shí)現(xiàn)。另外,本領(lǐng)域的技術(shù)人員能夠認(rèn)識(shí)到可以使用其它
結(jié)構(gòu)和處理流程來代替本發(fā)明描述的結(jié)構(gòu)和流程,并且能夠至少能夠以基
本相同方式,實(shí)現(xiàn)基本上相同的功能,并達(dá)到基本相同的效果。相應(yīng)地,
這些實(shí)現(xiàn)能夠被發(fā)明所預(yù)見,并且被本發(fā)明的權(quán)利要求的保護(hù)范圍所覆 生
權(quán)利要求
1.一種方法,包括確定數(shù)字圖像序列的一個(gè)特定圖象中的物體的軌跡,所述軌跡基于在所述數(shù)字圖像序列的一個(gè)或多個(gè)在前圖象中的一個(gè)或多個(gè)在前的物體位置;在用于追蹤物體的基于粒子的框架中為一個(gè)粒子確定一個(gè)權(quán)重,所述權(quán)重的確定基于所述軌跡到所述粒子的距離;和使用所述基于粒子的框架為所述物體確定一個(gè)位置估計(jì),所述位置估計(jì)基于確定的粒子權(quán)重。
2. 如權(quán)利要求l所述的方法,進(jìn)一步包括 確定包括所述物體的位置估計(jì)的所述特定圖象的物體部分; 確定和所述物體部分相分離的所述特定圖象的非物體部分;和 對(duì)所述物體部分和所述非物體部分進(jìn)行編碼,使得所述物體部分的編碼比所述非物體部分的編碼帶有更多的編碼冗余。
3. 如權(quán)利要求l所述的方法,其中,所述物體足夠的小,使得所 述物體的一個(gè)或多個(gè)在前位置在一個(gè)圖象中互相不重疊。
4. 如權(quán)利要求l所述的方法,其中,在所述基于粒子的框架中為 所述粒子確定權(quán)重也基于下面的一個(gè)或多個(gè)在所述數(shù)字圖像序列的一個(gè)或多個(gè)在前圖象中的一個(gè)或多個(gè)在前 的物體位置的線性外推;和一個(gè)模板和對(duì)應(yīng)于粒子位置的所述特定圖象的部分的比較。
5. 如權(quán)利要求l所述的方法,其中,確定的軌跡是非線性的。
6. 如權(quán)利要求l所述的方法,其中,用于確定所述軌跡的一個(gè)或 多個(gè)在前的物體位置是非阻擋的位置。
7. 如權(quán)利要求l所述的方法,其中,所述軌跡的確定至少部分地 基于所述數(shù)字圖像序列的在前圖象中加權(quán)后的物體阻擋出現(xiàn)率。
8. 如權(quán)利要求l所述的方法,其中,在生成軌跡的過程中不考慮在所述數(shù)字圖像序列的在前圖象中處于阻擋狀態(tài)的物體位置。
9. 如權(quán)利要求l所述的方法,其中,使用和在一個(gè)或多個(gè)在前圖象中的物體阻擋相關(guān)的信息對(duì)估計(jì)的軌跡的可靠性進(jìn)行加權(quán)。
10. 如權(quán)利要求1所述的方法,其中所述物體的大小小于30像素。
11. 如權(quán)利要求1所述的方法,其中,所述基于粒子的框架包括 粒子濾波器。
12. 如權(quán)利要求l所述的方法,其中所述方法被實(shí)現(xiàn)在編碼器中。
13. —種設(shè)備,包括存儲(chǔ)裝置,用于存儲(chǔ)和數(shù)字圖象序列相關(guān)的數(shù)據(jù);和 處理器,用于(1)確定數(shù)字圖象序列的一個(gè)特定圖象中物體的軌 跡,所述軌跡基于在所述數(shù)字圖象序列的一個(gè)或多個(gè)在前圖象中的一 個(gè)或多個(gè)在前的物體位置;(2)在用于追蹤物體的基于粒子的框架中 為一個(gè)粒子確定一個(gè)權(quán)重,所述權(quán)重的確定基于所述軌跡到所述粒子 的距離;和(3)使用所述基于粒子的框架為所述物體確定一個(gè)位置估 計(jì),所述位置估計(jì)基于確定的粒子權(quán)重。
14. 如權(quán)利要求13所述的設(shè)備,進(jìn)一步包括編碼器,所述編碼器 包括所述存儲(chǔ)裝置和所述處理器。
15. —種處理器可讀介質(zhì),包括存儲(chǔ)在所述處理器可讀介質(zhì)上的 指令,所述指令用于執(zhí)行確定數(shù)字圖像序列的一個(gè)特定圖象中的物體的軌跡,所述軌跡基 于在所述數(shù)字圖像序列的一個(gè)或多個(gè)在前圖象中的一個(gè)或多個(gè)在前的 物體位置;在用于追蹤物體的基于粒子的框架中為一個(gè)粒子確定一個(gè)權(quán)重,所述權(quán)重的確定基于所述軌跡到所述粒子的距離;和使用所述基于粒子的框架為所述物體確定一個(gè)位置估計(jì),所述位 置估計(jì)基于確定的粒子權(quán)重。
16. —種設(shè)備,包括用于存儲(chǔ)和數(shù)字圖象序列相關(guān)的數(shù)據(jù)的裝置;和 用于執(zhí)行如下步驟的裝置(1)確定數(shù)字圖象序列的一個(gè)特定圖象中的物體的軌跡,所述軌跡基于在所述數(shù)字圖象序列的一個(gè)或多個(gè)在前圖象中的一個(gè)或多個(gè)在前的物體位置;(2)在用于追蹤物體的基于粒子的框架中為一個(gè)粒子確定一個(gè)權(quán)重,所述權(quán)重的確定基于所述軌跡到所述粒子的距離;和(3)使用所述基于粒子的框架為所述物體 確定一個(gè)位置估計(jì),所述位置估計(jì)基于確定的粒子權(quán)重。
全文摘要
本發(fā)明的一個(gè)實(shí)現(xiàn)提供了一種用于確定數(shù)字圖象序列的某一特定圖象中的物體的軌跡的方法,該軌跡基于該序列的一個(gè)或多個(gè)在前圖象中的一個(gè)或多個(gè)在前的物體位置;在用于追蹤物體的基于粒子的框架中,基于軌跡到一個(gè)粒子的距離確定該粒子的權(quán)重;使用該基于粒子的框架為物體確定位置估計(jì),該位置估計(jì)基于確定的粒子權(quán)重。
文檔編號(hào)G06T7/20GK101681517SQ200780043400
公開日2010年3月24日 申請(qǐng)日期2007年11月30日 優(yōu)先權(quán)日2006年12月1日
發(fā)明者瓊·利亞奇, 宇 黃 申請(qǐng)人:湯姆遜許可公司