機(jī)地圖數(shù)據(jù)508與聯(lián)機(jī)地圖數(shù)據(jù),聯(lián)機(jī)地圖數(shù)據(jù)包含用新外觀信息(即,描述符)更新后的脫機(jī)特征還有新檢測到的特征兩者。脫機(jī)地圖數(shù)據(jù)508與聯(lián)機(jī)地圖數(shù)據(jù)融合,以便產(chǎn)生融合的聯(lián)機(jī)模型502,所述融合的聯(lián)機(jī)模型502接著隨后可以用于物體追蹤。
[0044]圖6是說明融合聯(lián)機(jī)地圖數(shù)據(jù)與脫機(jī)地圖數(shù)據(jù)的過程600的流程圖。將參看圖5和6描述過程600。過程600是圖1C的過程框140的一個(gè)可能的實(shí)施方案。過程600開始于過程框605,其假設(shè)已經(jīng)檢測到目標(biāo)物體,并且已經(jīng)從新近獲得的圖像提取一或多個(gè)特征。在過程框610中,找到對應(yīng)于先前構(gòu)建的脫機(jī)地圖數(shù)據(jù)中包含的特征的所提取的聯(lián)機(jī)特征。在一個(gè)實(shí)施例中,將脫機(jī)地圖中的3D點(diǎn)投影到目標(biāo)物體的當(dāng)前圖像(S卩,在運(yùn)行時(shí)間)上。接著,搜索聯(lián)機(jī)地圖數(shù)據(jù)以找到靠近投影的脫機(jī)3D點(diǎn)的位置的聯(lián)機(jī)特征。在一個(gè)實(shí)例中,如果聯(lián)機(jī)特征的位置和投影的脫機(jī)3D點(diǎn)的位置之間的距離小于閾值距離,則聯(lián)機(jī)特征靠近投影的脫機(jī)3D點(diǎn)。
[0045]決策框615接著比較聯(lián)機(jī)特征與其相應(yīng)脫機(jī)特征。在一個(gè)實(shí)施例中,比較聯(lián)機(jī)特征與脫機(jī)特征包含比較其特征描述符。如果描述符是不同的,則過程600前進(jìn)到過程框620和625,其中用聯(lián)機(jī)特征的描述符更新了脫機(jī)特征(620),并且將經(jīng)過更新的脫機(jī)特征添加到融合的聯(lián)機(jī)模型。然而,如果,在決策框615中,確定聯(lián)機(jī)特征不同于其對應(yīng)的脫機(jī)特征,則過程600可以跳過過程框620和625,并且直接進(jìn)行到?jīng)Q策框630。
[0046]在決策框630中,確定從當(dāng)前圖像提取的聯(lián)機(jī)特征中是否有任何聯(lián)機(jī)特征包含目標(biāo)物體上的任何新3D點(diǎn)。如果是,則過程框635包含將新聯(lián)機(jī)特征(S卩,新3D點(diǎn)和其對應(yīng)的描述符)添加到融合的聯(lián)機(jī)模型。過程600接著可任選地返回到過程框610,以便在獲得目標(biāo)物體的后續(xù)圖像時(shí)持續(xù)地更新融合的聯(lián)機(jī)模型。
[0047]雖然圖6說明線性地進(jìn)行通過過程600,但是在一個(gè)實(shí)施例中,兩個(gè)或兩個(gè)以上所說明的過程框可以彼此并行地執(zhí)行。舉例來說,找到新3D點(diǎn)和將那些新特征添加到融合的聯(lián)機(jī)模型的框630和635可以與框610-625并行地完成,使得過程600包含同時(shí)更新脫機(jī)特征,同時(shí)還將新檢測到的聯(lián)機(jī)特征添加到融合的聯(lián)機(jī)模型。
[0048]圖7是用于動(dòng)態(tài)擴(kuò)展地圖數(shù)據(jù)的處理單元700的功能框圖。在一個(gè)實(shí)施例中,處理單元700在程序代碼的引導(dǎo)下可以執(zhí)行如上所述的過程110、200、300、400和/或600。舉例來說,處理單元700接收到圖像的時(shí)間序列702。物體檢測器706檢測圖像中的至少一個(gè)中包含的目標(biāo)物體,并且物體追蹤器708基于所述圖像的序列702追蹤物體。當(dāng)采集圖像時(shí),地圖數(shù)據(jù)產(chǎn)生器704可以將所選擇的關(guān)鍵幀添加到聯(lián)機(jī)地圖數(shù)據(jù)714(例如參見過程200)。物體檢測器706和物體追蹤器708可以基于接收到的圖像和基于地圖數(shù)據(jù)控制器712接收到的地圖數(shù)據(jù)來確定相機(jī)相對于目標(biāo)物體的當(dāng)前姿勢。如上文所論述,如果目標(biāo)物體既不能被追蹤也不能被重新檢測,則地圖數(shù)據(jù)控制器712可以將聯(lián)機(jī)和脫機(jī)地圖數(shù)據(jù)兩者提供到檢測器706和追蹤器708。然而,通常,地圖數(shù)據(jù)控制器712基于圖像幀中的物體的大小來選擇聯(lián)機(jī)和脫機(jī)地圖數(shù)據(jù)中的僅一者并將其轉(zhuǎn)發(fā)到檢測器和追蹤器。在替代實(shí)施例中,如上文參看過程600所論述,地圖數(shù)據(jù)控制器712融合聯(lián)機(jī)地圖數(shù)據(jù)714與脫機(jī)地圖數(shù)據(jù)716。在這個(gè)實(shí)施例中,地圖數(shù)據(jù)控制器向物體追蹤器708提供融合的聯(lián)機(jī)模型以便追蹤目標(biāo)物體。增強(qiáng)現(xiàn)實(shí)(AR)引擎可以基于物體檢測器706和/或物體追蹤器708確定的相機(jī)姿勢來執(zhí)行與增強(qiáng)現(xiàn)實(shí)相關(guān)的任何操作。
[0049]圖8是能夠執(zhí)行本文中論述的過程的移動(dòng)平臺800的功能框圖。如本文所使用,移動(dòng)平臺指代一種裝置,例如蜂窩式或其它無線通信裝置、個(gè)人通信系統(tǒng)(PCS)裝置、個(gè)人導(dǎo)航裝置(PND)、個(gè)人信息管理器(ΡΠΟ、個(gè)人數(shù)字助理(PDA)、膝上型計(jì)算機(jī),或能夠接收無線通信和/或?qū)Ш叫盘?例如導(dǎo)航定位信號)的其它合適的移動(dòng)裝置。術(shù)語“移動(dòng)平臺”還意在包含(例如)通過短程無線、紅外線、有線連接或其它連接與個(gè)人導(dǎo)航裝置(PND)通信的裝置,而不管是在裝置處還是PND處發(fā)生衛(wèi)星信號接收、輔助數(shù)據(jù)接收和/或位置相關(guān)處理。并且,“移動(dòng)平臺”意在包含所有能夠(例如)經(jīng)由因特網(wǎng)、WiFi或其它網(wǎng)絡(luò)與服務(wù)器通信的裝置,包含無線通信裝置、計(jì)算機(jī)、膝上型計(jì)算機(jī)等,并且不管是在裝置處、在服務(wù)器處還是在與網(wǎng)絡(luò)相關(guān)聯(lián)的另一裝置處發(fā)生衛(wèi)星信號接收、輔助數(shù)據(jù)接收及/或位置相關(guān)處理。另外,“移動(dòng)平臺”還可包含所有能夠支持增強(qiáng)現(xiàn)實(shí)(AR)、虛擬現(xiàn)實(shí)(VR)和/或混合現(xiàn)實(shí)(MR)應(yīng)用的電子裝置。以上各項(xiàng)的任何可操作組合也視為“移動(dòng)平臺”。
[0050]移動(dòng)平臺800可以任選地包含相機(jī)802以及任選的用戶接口806,用戶接口806包含顯示器822,顯示器822能夠顯示相機(jī)802俘獲的圖像。用戶接口 806還可包含小鍵盤824或其它輸入裝置,用戶可以通過所述輸入裝置輸入信息到移動(dòng)平臺800中。期望時(shí),可通過將虛擬小鍵盤集成到具有觸摸傳感器的顯示器822中而去掉小鍵盤824。用戶接口 806還可包含麥克風(fēng)826和揚(yáng)聲器828。
[0051 ] 移動(dòng)平臺800還包含控制單元804,其連接到相機(jī)802和用戶接口 806(如果存在的話)并且與其通信。控制單元804接受并處理從相機(jī)802和/或從網(wǎng)絡(luò)適配器816接收的圖像。控制單元804可以通過處理單元808和相關(guān)聯(lián)的存儲器814、硬件810、軟件815和固件812提供。
[0052]圖7的處理單元700是用于擴(kuò)展地圖數(shù)據(jù)的處理單元808的一個(gè)可能的實(shí)施方案,如上文所論述??刂茊卧?04可進(jìn)一步包含圖形引擎820,其可以例如是游戲引擎,用于在期望時(shí)在顯示器822中渲染期望的數(shù)據(jù)。出于清楚起見分開說明處理單元808和圖形引擎820,但是處理單元808和圖形引擎820可以是單個(gè)單元,和/或基于軟件815中的指令實(shí)施在處理單元808中,軟件815在處理單元808中運(yùn)行。處理單元808以及圖形引擎820可能(但不需要必然)包含一或多個(gè)微處理器、嵌入式處理器、控制器、專用集成電路(ASIC)、數(shù)字信號處理器(DSP)等等。術(shù)語處理器和處理單元描述通過系統(tǒng)而非特定的硬件實(shí)施的功能。此外,如本文中所使用,術(shù)語“存儲器”指代任何類型的計(jì)算機(jī)存儲媒體,其包含與移動(dòng)平臺800相關(guān)聯(lián)的長期、短期或其它存儲器,且并不限于任何特定類型的存儲器或特定數(shù)目個(gè)存儲器,或特定類型的其上存儲有存儲器的媒體。
[0053]根據(jù)應(yīng)用,本文中所描述的過程可以通過各種裝置來實(shí)施。舉例來說,這些過程可以在硬件810、固件812、軟件815或其任何組合中實(shí)施。對于硬件實(shí)施方案,處理單元可實(shí)施于一或多個(gè)專用集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理裝置(DSPD)、可編程邏輯裝置(PLD)、現(xiàn)場可編程門陣列(FPGA)、處理器、控制器、微控制器、微處理器、電子裝置、經(jīng)設(shè)計(jì)以執(zhí)行本文中所描述功能的其它電子單元,或其組合內(nèi)。
[0054]對于固件和/或軟體實(shí)施方案,可使用執(zhí)行本文中所描述的功能的模塊(例如程序、功能等等)來實(shí)施所述過程。任何有形地體現(xiàn)指令的計(jì)算機(jī)可讀媒體可用于實(shí)施本文所描述的過程。舉例來說,程序代碼可以存儲于存儲器815中并且通過處理單元808執(zhí)行。存儲器可以在處理單元808內(nèi)部或外部實(shí)施。
[0055]如果以固件和/或軟件實(shí)施,那么可將所述功能作為一或多個(gè)指令或代碼存儲在計(jì)算機(jī)可讀媒體上。實(shí)例包含經(jīng)編碼具有數(shù)據(jù)結(jié)構(gòu)的非暫時(shí)性計(jì)算機(jī)可讀媒體以及經(jīng)編碼具有計(jì)算機(jī)程序的計(jì)算機(jī)可讀媒體。計(jì)算機(jī)可讀媒體包含物理計(jì)算機(jī)存儲媒體。存儲媒體可為可由計(jì)算機(jī)存取的任何可用的媒體。作為實(shí)例而非限制,此計(jì)算機(jī)可讀媒體可包括RAM、R0M、快閃存儲器、EEPR0M、⑶-ROM或其它光盤存儲裝置、磁盤存儲裝置或其他磁性存儲裝置,或可用于存儲呈指令或數(shù)據(jù)結(jié)構(gòu)形式的所要程序代碼且可由計(jì)算機(jī)存取的任何其它媒體;如本文中所使用的磁盤和光盤包含壓縮光盤(CD)、激光光盤、光學(xué)光盤、數(shù)字多功能光盤(DVD)、軟盤和藍(lán)光光盤,其中磁盤通常以磁性方式再現(xiàn)數(shù)據(jù),而光盤用激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。上述各項(xiàng)的組合也應(yīng)包含在計(jì)算機(jī)可讀媒體的范圍內(nèi)。
[0056]圖9是物體辨識系統(tǒng)900的功能框圖。如圖所示,物體辨識系統(tǒng)900包含實(shí)例移動(dòng)平臺902,其包含相機(jī)(當(dāng)前視圖中未圖示),所述相機(jī)能夠俘獲包含物體914的場景的圖像。特征數(shù)據(jù)庫912可以包含任何前述地圖數(shù)據(jù),包含聯(lián)機(jī)和脫機(jī)地圖數(shù)據(jù)。
[0057]移動(dòng)平臺902可以包含顯示器,用以展示相機(jī)俘獲的圖像。移動(dòng)平臺902還可用于例如基于使用來自衛(wèi)星定位系統(tǒng)(SPS)(其包含人造衛(wèi)星9