基于動(dòng)態(tài)地構(gòu)建的環(huán)境地圖數(shù)據(jù)進(jìn)行物體追蹤的制作方法
【專(zhuān)利說(shuō)明】基于動(dòng)態(tài)地構(gòu)建的環(huán)境地圖數(shù)據(jù)進(jìn)行物體追蹤
[0001 ] 相關(guān)申請(qǐng)案的交叉引用
[0002]本申請(qǐng)案主張2013年10月4日申請(qǐng)的美國(guó)臨時(shí)申請(qǐng)案第61/887,211號(hào)的權(quán)益。
技術(shù)領(lǐng)域
[0003]本發(fā)明大體上涉及基于計(jì)算機(jī)視覺(jué)的物體辨識(shí)應(yīng)用程序,并且具體來(lái)說(shuō)但非排他地,涉及增強(qiáng)現(xiàn)實(shí)系統(tǒng)中的物體追蹤。
【背景技術(shù)】
[0004]在移動(dòng)電話或其它移動(dòng)平臺(tái)上實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)(AR)的一個(gè)難題是實(shí)時(shí)地檢測(cè)和追蹤物體的問(wèn)題。用于AR應(yīng)用程序的物體檢測(cè)具有非常苛刻的要求:其必須提供完整的六個(gè)自由度,產(chǎn)生相對(duì)于給定坐標(biāo)系的絕對(duì)測(cè)量值,非常穩(wěn)固并且實(shí)時(shí)地運(yùn)行。所關(guān)注的是使用基于計(jì)算機(jī)視覺(jué)(CV)的途徑來(lái)計(jì)算相機(jī)姿勢(shì)的方法,其依賴(lài)于首先檢測(cè)并且隨后在相機(jī)視圖內(nèi)追蹤物體。一方面,檢測(cè)操作包含檢測(cè)數(shù)字圖像內(nèi)包含的一組特征。特征可以指數(shù)字圖像中的一個(gè)區(qū)域,這個(gè)區(qū)域的屬性(例如亮度或顏色)與所述區(qū)域周?chē)膮^(qū)相比是不同的。一方面,特征是數(shù)字圖像中的一個(gè)區(qū)域,在這個(gè)區(qū)域中一些屬性是不變的,或者在規(guī)定的值范圍內(nèi)變化。
[0005]接著將檢測(cè)到的特征與特征數(shù)據(jù)庫(kù)中包含的已知特征比較,以便確定圖像中是否存在現(xiàn)實(shí)世界物體。因此,基于視覺(jué)的AR系統(tǒng)的操作中的一個(gè)重要要素是特征數(shù)據(jù)庫(kù)的組成。在一些系統(tǒng)中,在運(yùn)行時(shí)間之前構(gòu)建特征數(shù)據(jù)庫(kù),構(gòu)建的方式是通過(guò)從多種已知視點(diǎn)取得已知目標(biāo)物體的多個(gè)樣本圖像。接著從這些樣本圖像中提取特征并將其添加到特征數(shù)據(jù)庫(kù)。
[0006]近年來(lái),增強(qiáng)現(xiàn)實(shí)系統(tǒng)已經(jīng)轉(zhuǎn)向基于模型的追蹤算法或同時(shí)定位與地圖繪制(SLAM)算法,其基于相機(jī)俘獲的顏色或灰度圖像數(shù)據(jù)。SLAM算法從相機(jī)俘獲的傳入圖像序列重構(gòu)三維(3D)點(diǎn),并且用于實(shí)時(shí)地構(gòu)建場(chǎng)景的3D地圖(S卩,SLAM地圖)。從重構(gòu)的地圖中,有可能定位當(dāng)前圖像幀中的相機(jī)的6DoF(自由度)姿勢(shì)。
[0007]在一些系統(tǒng)中,在運(yùn)行時(shí)間之前并且在離目標(biāo)物體很近的距離中產(chǎn)生所述物體的SLAM地圖。在運(yùn)行時(shí)間中,使用所產(chǎn)生的物體的SLAM地圖從傳入視頻幀估計(jì)相機(jī)相對(duì)于物體的6DoF姿勢(shì)。
[0008]在現(xiàn)有方法中,追蹤性能取決于相機(jī)視圖中的物體的外觀和其大小。如果目標(biāo)物體較小、被部分地遮擋、或者不具有獨(dú)特的視覺(jué)特征,則估計(jì)的相機(jī)姿勢(shì)會(huì)丟失準(zhǔn)確度并且還可能展現(xiàn)明顯的追蹤抖動(dòng)。在更極端的情況下,可能根本無(wú)法追蹤非常遙遠(yuǎn)的物體和處于當(dāng)前視場(chǎng)外部的物體,因此與目標(biāo)對(duì)齊的任何虛擬增強(qiáng)也將丟失。
【發(fā)明內(nèi)容】
[0009]本文中論述的一些實(shí)施例用于實(shí)現(xiàn)任何可追蹤的物體的改進(jìn)的追蹤穩(wěn)固性,并且可以擴(kuò)展可追蹤的姿勢(shì)的范圍使其超出目標(biāo)的可見(jiàn)范圍。本文中論述的實(shí)施例可以應(yīng)用于基于追蹤參考目標(biāo)的任何增強(qiáng)現(xiàn)實(shí)(AR)系統(tǒng)。一方面,追蹤系統(tǒng)基于目標(biāo)地圖數(shù)據(jù)估計(jì)相機(jī)幀中的目標(biāo)姿勢(shì),同時(shí)并行地,姿勢(shì)計(jì)算器基于動(dòng)態(tài)地產(chǎn)生的目標(biāo)周?chē)沫h(huán)境的3D表示(即,環(huán)境地圖數(shù)據(jù))來(lái)確定目標(biāo)姿勢(shì)的估計(jì)。如果基于目標(biāo)地圖數(shù)據(jù)追蹤失敗,則可使用由姿勢(shì)計(jì)算器產(chǎn)生的估計(jì)目標(biāo)姿勢(shì)。
[0010]舉例來(lái)說(shuō),在相機(jī)在環(huán)境周?chē)苿?dòng)時(shí),同時(shí)定位與地圖繪制(SLAM)系統(tǒng)可以構(gòu)建目標(biāo)周?chē)沫h(huán)境(其可以任選地還包含目標(biāo)本身)的3D表示。接下來(lái),基于SLAM地圖數(shù)據(jù)估計(jì)環(huán)境姿勢(shì)。相機(jī)幀中的目標(biāo)姿勢(shì)和環(huán)境姿勢(shì)一起提供環(huán)境中的目標(biāo)姿勢(shì)的估計(jì),其可以隨著更多觀測(cè)結(jié)果被記錄而得到改進(jìn)。如果目標(biāo)的追蹤失敗,例如當(dāng)目標(biāo)離開(kāi)視圖或者變小時(shí),接著使用環(huán)境中的目標(biāo)姿勢(shì)的估計(jì)從追蹤的環(huán)境姿勢(shì)推斷目標(biāo)姿勢(shì)。在一個(gè)實(shí)施例中,如果目標(biāo)的追蹤變得不穩(wěn)定,例如,由于大小很小導(dǎo)致抖動(dòng)或者由于圖像中的特征的覆蓋不良導(dǎo)致準(zhǔn)確度較低,則融合推斷的目標(biāo)姿勢(shì)和實(shí)際目標(biāo)姿勢(shì)以改進(jìn)穩(wěn)固性。
[0011]本發(fā)明的上述以及其它方面、目標(biāo)和特征將從結(jié)合附圖給出的各種實(shí)施例的以下描述中變得顯而易見(jiàn)。
【附圖說(shuō)明】
[0012]參見(jiàn)以下圖式描述本發(fā)明的非限制性和非窮盡性的實(shí)施例,其中除非另有指定,否則各圖中相同的參考標(biāo)號(hào)指代相同的部件。
[0013]圖1A和IB說(shuō)明包含不同距離處的目標(biāo)物體的場(chǎng)景的圖像。
[0014]圖2是說(shuō)明構(gòu)建環(huán)境地圖數(shù)據(jù)的過(guò)程的流程圖。
[0015]圖3是說(shuō)明追蹤場(chǎng)景中的目標(biāo)物體的過(guò)程的流程圖。
[0016]圖4是用于物體檢測(cè)和追蹤的處理單元的功能框圖。
[0017]圖5是能夠執(zhí)行本文中論述的過(guò)程的移動(dòng)平臺(tái)的功能框圖。
[0018]圖6是物體辨識(shí)系統(tǒng)的功能框圖。
【具體實(shí)施方式】
[0019]貫穿本說(shuō)明書(shū)對(duì)“一個(gè)實(shí)施例”、“一實(shí)施例”、“一個(gè)實(shí)例”或“一實(shí)例”的參考意味著結(jié)合所述實(shí)施例或?qū)嵗枋龅奶囟ㄌ卣?、結(jié)構(gòu)或特性包含在本發(fā)明的至少一個(gè)實(shí)施例中。因此,貫穿本說(shuō)明書(shū)在不同位置中出現(xiàn)短語(yǔ)“在一個(gè)實(shí)施例中”或“在一實(shí)施例中”未必都是指同一個(gè)實(shí)施例。此外,在一個(gè)或多個(gè)實(shí)施例中,具體特征、結(jié)構(gòu)或特性可以任何適合的方式組合。在此說(shuō)明的任何實(shí)例或?qū)嵤├粦?yīng)解釋為比其它實(shí)例或?qū)嵤├齼?yōu)選或有利。
[0020]—方面,在追蹤目標(biāo)物體時(shí)使用環(huán)境地圖數(shù)據(jù)會(huì)改進(jìn)任何可追蹤的物體的追蹤穩(wěn)固性,并且擴(kuò)展可追蹤的姿勢(shì)的范圍使其超出目標(biāo)的可見(jiàn)范圍,甚至可以提高相對(duì)于環(huán)境移動(dòng)的物體的追蹤性能。
[0021]在一個(gè)實(shí)施例中,環(huán)境地圖數(shù)據(jù)包含地圖特征和關(guān)鍵幀圖像,其中每一特征包含關(guān)鍵點(diǎn)地點(diǎn)和所述地點(diǎn)的至少一個(gè)相應(yīng)描述符。地圖特征可以包含從場(chǎng)景提取的特征(例如2D/3D點(diǎn)、邊緣、斑點(diǎn)等)。關(guān)鍵幀圖像可以包含場(chǎng)景的一些圖像,從這些圖像提取地圖特征。舉例來(lái)說(shuō),通過(guò)能看到所述點(diǎn)的關(guān)鍵幀之間的三角測(cè)量可以重構(gòu)3D點(diǎn)。從觀察到地圖點(diǎn)的關(guān)鍵幀提取地圖特征的描述符(例如圖像片描述符和線描述符)。
[0022]在一個(gè)實(shí)例中,目標(biāo)物體的目標(biāo)地圖數(shù)據(jù)是脫機(jī)產(chǎn)生的,因而可以被稱(chēng)作“脫機(jī)地圖數(shù)據(jù)”,其關(guān)鍵幀通常是從物體的近距離產(chǎn)生的。脫機(jī)地圖數(shù)據(jù)被認(rèn)為足夠“良好”而能執(zhí)行對(duì)目標(biāo)的檢測(cè)和追蹤。當(dāng)用戶(hù)開(kāi)始與目標(biāo)物體的交互時(shí),其脫機(jī)地圖數(shù)據(jù)被加載到增強(qiáng)現(xiàn)實(shí)應(yīng)用程序,并且從相機(jī)圖像檢測(cè)和追蹤目標(biāo)物體。
[0023]一旦從相機(jī)視頻幀檢測(cè)到目標(biāo)物體,就實(shí)時(shí)地追蹤目標(biāo)物體并且獲得相機(jī)的6DoF姿勢(shì)。圖1A說(shuō)明場(chǎng)景102的采集到的圖像10A,其包含在近距離的包含特征106的目標(biāo)物體104。因此,目標(biāo)物體104占據(jù)了相機(jī)圖像100A的大部分,并且追蹤通常將很奏效。然而,隨著相機(jī)從圖1B如中所描繪的目標(biāo)物體104移開(kāi),圖像10B中的目標(biāo)104的比例很快變小。當(dāng)相機(jī)圖像中物體比例變小或甚至在圖像外部時(shí),追蹤很可能失敗。
[0024]因此,本文中所揭示的實(shí)施例解決了追蹤的這個(gè)局限性,方法是通過(guò)使用在用戶(hù)在物體周?chē)苿?dòng)相機(jī)時(shí)動(dòng)態(tài)地采集到的場(chǎng)景的環(huán)境地圖數(shù)據(jù)。當(dāng)將環(huán)境的關(guān)鍵幀添加到環(huán)境地圖數(shù)據(jù)時(shí),追蹤變得穩(wěn)固且穩(wěn)定。在一個(gè)實(shí)施例中,環(huán)境地圖數(shù)據(jù)可被稱(chēng)為“聯(lián)機(jī)地圖數(shù)據(jù)”。
[0025]當(dāng)用戶(hù)在物體和其環(huán)境周?chē)苿?dòng)相機(jī)時(shí),將新關(guān)鍵幀添加到環(huán)境地圖數(shù)據(jù)。常規(guī)SLAM框架通過(guò)比較候選關(guān)鍵幀(S卩,當(dāng)前相機(jī)圖像)的姿勢(shì)與現(xiàn)有關(guān)鍵幀的姿勢(shì)來(lái)添加關(guān)鍵幀。如果候選關(guān)鍵幀的姿勢(shì)類(lèi)似于現(xiàn)有關(guān)鍵幀中的一者,則忽略所述候選關(guān)鍵幀。以此方式,常規(guī)SLAM框架避免了創(chuàng)建過(guò)多重復(fù)的關(guān)鍵幀,這些關(guān)鍵幀具有靠近的視點(diǎn)。然而,這個(gè)常規(guī)方案導(dǎo)致無(wú)法添加聯(lián)機(jī)關(guān)鍵幀并且導(dǎo)致難以迅速地?cái)U(kuò)展脫機(jī)地圖。
[0026]因此,本發(fā)明的實(shí)施例通過(guò)在添加聯(lián)機(jī)關(guān)鍵幀時(shí)在姿勢(shì)比較步驟中跳過(guò)脫機(jī)關(guān)鍵幀來(lái)解決這個(gè)問(wèn)題。在產(chǎn)生環(huán)境地圖數(shù)據(jù)時(shí),在這個(gè)姿勢(shì)比較中僅僅考慮聯(lián)機(jī)關(guān)鍵幀。如果將要添加第一聯(lián)機(jī)關(guān)鍵幀,則沒(méi)有要與之比較的聯(lián)機(jī)關(guān)鍵幀。在這種情況下,計(jì)算來(lái)自所有脫機(jī)關(guān)鍵幀的姿勢(shì)差異,并且將最大值用作姿勢(shì)差異測(cè)量值。在一個(gè)實(shí)施例中,在創(chuàng)建之后丟棄許多脫機(jī)關(guān)鍵幀,并且僅僅保留3D點(diǎn)和描述符的地圖。因此,在這個(gè)實(shí)例中,在沒(méi)有任何脫機(jī)關(guān)鍵幀的情況下構(gòu)建聯(lián)機(jī)地圖數(shù)據(jù),并且因此,第一聯(lián)機(jī)關(guān)鍵幀將被自動(dòng)接受并添加到環(huán)境地圖。圖2是說(shuō)明構(gòu)建聯(lián)機(jī)地圖數(shù)據(jù)的實(shí)例過(guò)程200的流程圖。
[0027]關(guān)鍵幀創(chuàng)建在過(guò)程框205中開(kāi)始。如果環(huán)境地圖數(shù)據(jù)中不包含現(xiàn)有的聯(lián)機(jī)關(guān)鍵幀