。
[0031]因此,本文中揭示的實(shí)施例會(huì)解決檢測(cè)和追蹤中的這種局限性,方法是通過(guò)在用戶在物體周圍移動(dòng)相機(jī)時(shí)擴(kuò)展目標(biāo)物體的SLAM地圖數(shù)據(jù)。當(dāng)環(huán)境的關(guān)鍵幀被添加到SLAM地圖數(shù)據(jù)時(shí),檢測(cè)和追蹤變得穩(wěn)固和穩(wěn)定,因?yàn)閷?duì)目標(biāo)物體的追蹤可以基于聯(lián)機(jī)和脫機(jī)兩種地圖數(shù)據(jù)。
[0032]舉例來(lái)說(shuō),圖1C是說(shuō)明基于聯(lián)機(jī)和脫機(jī)地圖數(shù)據(jù)追蹤目標(biāo)物體的過(guò)程110的流程圖。在過(guò)程框120中,采集包含目標(biāo)物體的場(chǎng)景的幾個(gè)圖像。在過(guò)程框130中還采集脫機(jī)地圖數(shù)據(jù)。如上所述,脫機(jī)地圖數(shù)據(jù)可以包含先前產(chǎn)生的目標(biāo)物體的SLAM地圖數(shù)據(jù)(例如在運(yùn)行時(shí)間之前)。在一個(gè)實(shí)施例中,可以基于從采集到的圖像提取的特征與脫機(jī)地圖數(shù)據(jù)中包含的那些特征的比較來(lái)檢測(cè)目標(biāo)物體。一旦檢測(cè)到物體,過(guò)程110可以包含同時(shí)追蹤(140)目標(biāo)物體和構(gòu)建(150)聯(lián)機(jī)地圖數(shù)據(jù)。如圖1C中所示,目標(biāo)物體的追蹤是基于采集到的脫機(jī)地圖數(shù)據(jù)和動(dòng)態(tài)地構(gòu)建的聯(lián)機(jī)地圖數(shù)據(jù)。如下文將更詳細(xì)地論述,一些實(shí)施例包含在聯(lián)機(jī)地圖數(shù)據(jù)和脫機(jī)地圖數(shù)據(jù)之間自適應(yīng)地進(jìn)行選擇以執(zhí)行物體追蹤。然而,其它實(shí)施例包含融合聯(lián)機(jī)地圖數(shù)據(jù)與脫機(jī)地圖數(shù)據(jù)以產(chǎn)生目標(biāo)物體的融合的聯(lián)機(jī)模型。
[0033]當(dāng)用戶在物體和其環(huán)境周圍移動(dòng)相機(jī)時(shí),將新關(guān)鍵幀添加到地圖數(shù)據(jù)。常規(guī)SLAM框架通過(guò)比較候選關(guān)鍵幀(即,當(dāng)前相機(jī)圖像)的姿勢(shì)與現(xiàn)有關(guān)鍵幀的姿勢(shì)來(lái)添加關(guān)鍵幀。如果候選關(guān)鍵幀的姿勢(shì)類似于現(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ī)地圖。
[0034]本發(fā)明的一些實(shí)施例通過(guò)在添加聯(lián)機(jī)關(guān)鍵幀時(shí)在姿勢(shì)比較步驟中跳過(guò)脫機(jī)關(guān)鍵幀來(lái)解決這個(gè)問(wèn)題。在擴(kuò)展脫機(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)和相關(guān)聯(lián)的描述符的地圖。因此,繼續(xù)此實(shí)例,聯(lián)機(jī)地圖構(gòu)建可以在沒(méi)有任何脫機(jī)關(guān)鍵幀的情況下開(kāi)始,并且將通過(guò)自動(dòng)接受第一聯(lián)機(jī)關(guān)鍵幀并將其添加到環(huán)境地圖數(shù)據(jù)而開(kāi)始聯(lián)機(jī)地圖構(gòu)建過(guò)程。圖2是說(shuō)明構(gòu)建聯(lián)機(jī)地圖數(shù)據(jù)的另一實(shí)例過(guò)程200的流程圖。
[0035]關(guān)鍵幀創(chuàng)建在過(guò)程框205中開(kāi)始。如果聯(lián)機(jī)地圖數(shù)據(jù)中包含了現(xiàn)有聯(lián)機(jī)關(guān)鍵幀,則過(guò)程200進(jìn)行到過(guò)程框220,其中使用脫機(jī)關(guān)鍵幀計(jì)算姿勢(shì)差異。然而,如果在決策框210中確定確實(shí)存在現(xiàn)有聯(lián)機(jī)關(guān)鍵幀,則過(guò)程框215包含僅僅從聯(lián)機(jī)關(guān)鍵幀計(jì)算姿勢(shì)距離。在決策框225中,將計(jì)算得到的姿勢(shì)差異與姿勢(shì)閾值POSEth比較以確定姿勢(shì)差異是否足夠大。如果是,則在聯(lián)機(jī)地圖數(shù)據(jù)中創(chuàng)建新的關(guān)鍵幀(即,過(guò)程框230)。如果姿勢(shì)差異不夠大,則過(guò)程200進(jìn)行到過(guò)程框235,其中結(jié)束關(guān)鍵幀創(chuàng)建。隨著相機(jī)在場(chǎng)景周圍移動(dòng),可以針對(duì)俘獲到的圖像中的一或多者重復(fù)過(guò)程200。
[0036]當(dāng)將新的關(guān)鍵幀添加到現(xiàn)有地圖數(shù)據(jù)時(shí),在SLAM框架中更新所有地圖特征的坐標(biāo)和所有關(guān)鍵幀的6DoF姿勢(shì),以便全局地優(yōu)化地圖數(shù)據(jù)。因此,當(dāng)添加關(guān)鍵幀時(shí),根據(jù)優(yōu)化結(jié)果稍微改變物體表面上的地圖特征。這個(gè)策略可用于以全局方式改進(jìn)地圖的質(zhì)量。然而,在當(dāng)前實(shí)施例中修改脫機(jī)地圖數(shù)據(jù)是不期望的,因?yàn)檫@樣可能會(huì)降低近距離檢測(cè)和追蹤目標(biāo)的質(zhì)量。為了防止這種情況,本文揭示的實(shí)施例將脫機(jī)地圖數(shù)據(jù)設(shè)置成“不變”,并且在地圖擴(kuò)展過(guò)程200中不更新脫機(jī)地圖數(shù)據(jù)。
[0037]一旦系統(tǒng)具有了脫機(jī)和聯(lián)機(jī)兩種地圖數(shù)據(jù),同時(shí)使用兩個(gè)地圖來(lái)進(jìn)行檢測(cè)和追蹤就可能會(huì)變得低效。如果相機(jī)遠(yuǎn)離物體,則追蹤物體的表面上的地圖特征沒(méi)有用,這是因?yàn)橄鄼C(jī)圖像中的物體的比例較小(例如參見(jiàn)圖1B)。另一方面,如果相機(jī)靠近物體,則聯(lián)機(jī)地圖數(shù)據(jù)對(duì)追蹤的幫助很小,因?yàn)閷儆诼?lián)機(jī)地圖的大多數(shù)地圖點(diǎn)是出自相機(jī)的視圖(例如參見(jiàn)圖 1A)。
[0038]因此,為了用高效的方式執(zhí)行檢測(cè)和追蹤,本發(fā)明的實(shí)施例可以根據(jù)相機(jī)的圖像中的物體的比例來(lái)自適應(yīng)地選擇聯(lián)機(jī)和脫機(jī)地圖數(shù)據(jù)。圖3是說(shuō)明追蹤和重新檢測(cè)場(chǎng)景中的目標(biāo)物體的過(guò)程300的流程圖。過(guò)程300是圖1C的過(guò)程框140的一個(gè)可能的實(shí)施方案。過(guò)程300開(kāi)始于過(guò)程框305,其中已經(jīng)檢測(cè)到目標(biāo)物體并且正在實(shí)施追蹤。因此,在過(guò)程框305中接收到下一個(gè)圖像。接下來(lái),在過(guò)程框310中,物體追蹤器(例如追蹤算法)可以嘗試通過(guò)估計(jì)目標(biāo)姿勢(shì)來(lái)追蹤檢測(cè)到的物體。估計(jì)目標(biāo)姿勢(shì)可能成功,也可能不成功。如果姿勢(shì)估計(jì)不成功,則目標(biāo)物體的追蹤會(huì)失敗。如果追蹤不成功,則過(guò)程300進(jìn)行到過(guò)程框320,其中物體檢測(cè)器(例如檢測(cè)算法)嘗試重新初始化(即,重新檢測(cè)目標(biāo)物體)。如果重新檢測(cè)不成功,則過(guò)程300前進(jìn)到過(guò)程框330,其中啟用聯(lián)機(jī)和脫機(jī)兩種地圖數(shù)據(jù),因?yàn)橄鄬?duì)于目標(biāo)物體的相機(jī)姿勢(shì)無(wú)法確定。
[0039]然而,如果在決策框315中追蹤成功,或者如果在決策框325中重新檢測(cè)成功,則過(guò)程300進(jìn)行到過(guò)程框335,其中選擇聯(lián)機(jī)地圖數(shù)據(jù)或脫機(jī)地圖數(shù)據(jù)中的僅一者。下文將參看圖4更詳細(xì)地論述過(guò)程框335,但是過(guò)程框335可以包含計(jì)算目標(biāo)物體的比例,以便確定對(duì)下一個(gè)圖像幀使用哪些地圖數(shù)據(jù)。在過(guò)程框340中,基于所確定的相機(jī)姿勢(shì)(例如增強(qiáng)現(xiàn)實(shí)功能)的結(jié)果執(zhí)行其它工作。
[0040]圖4是說(shuō)明在聯(lián)機(jī)地圖數(shù)據(jù)和脫機(jī)地圖數(shù)據(jù)之間進(jìn)行選擇的過(guò)程400的流程圖。過(guò)程400是圖3的過(guò)程框335的一個(gè)可能的實(shí)施方案。過(guò)程400只是測(cè)量物體比例的一個(gè)實(shí)例,并且包含過(guò)程框410,即投影采集到的圖像中包含的脫機(jī)地圖特征的限界框。接下來(lái),在過(guò)程框415中,基于投影的限界框來(lái)計(jì)算物體的區(qū)域大小。如果在決策框420中,區(qū)域的大小足夠大,例如,大于區(qū)域大小閾值REG1N?,則過(guò)程框425和430啟用脫機(jī)數(shù)據(jù)并且停用聯(lián)機(jī)地圖數(shù)據(jù)。在一個(gè)實(shí)施例中,區(qū)域大小閾值REG1N?對(duì)應(yīng)于占據(jù)圖像的至少一半的目標(biāo)物體。如果區(qū)域大小不夠大,對(duì)應(yīng)于相對(duì)于圖像的較小目標(biāo)物體,則過(guò)程400進(jìn)行到過(guò)程框435和440,其中啟用聯(lián)機(jī)地圖數(shù)據(jù)并且停用脫機(jī)地圖數(shù)據(jù)。因此,如果區(qū)域大小足夠大,則僅僅啟用脫機(jī)地圖數(shù)據(jù),并且類似地,如果區(qū)域大小不夠大,則僅僅啟用聯(lián)機(jī)地圖數(shù)據(jù)。
[0041]圖5是說(shuō)明融合聯(lián)機(jī)和脫機(jī)地圖數(shù)據(jù)以產(chǎn)生融合的聯(lián)機(jī)模型502的圖。圖像504說(shuō)明創(chuàng)建脫機(jī)地圖數(shù)據(jù)時(shí)的目標(biāo)物體505的外觀,而圖像506說(shuō)明相同目標(biāo)物體505的外觀,區(qū)別是現(xiàn)在是在運(yùn)行時(shí)間。可以看出,通過(guò)在運(yùn)行時(shí)間比較圖像504與圖像506,目標(biāo)物體505可能具有不同的外觀,這是因?yàn)椴煌墓庹諚l件、觀看距離、觀看角度,和/或因?yàn)槟繕?biāo)物體中的物理變化(例如修改了汽車的引擎蓋/引擎罩)。在運(yùn)行時(shí)間之前,創(chuàng)建目標(biāo)物體的脫機(jī)地圖數(shù)據(jù),其表示為圖像508。如圖像508中所示,可以從運(yùn)行時(shí)間之前的圖像504提取多個(gè)特征(例如510和512),并且將所述多個(gè)特征添加到脫機(jī)地圖數(shù)據(jù)。特征可以指數(shù)字圖像中的一個(gè)區(qū)域,這個(gè)區(qū)域的屬性(例如亮度或顏色)與所述區(qū)域周圍的區(qū)相比是不同的。一方面,特征是數(shù)字圖像中的一個(gè)區(qū)域,在這個(gè)區(qū)域中一些屬性是不變的,或者在規(guī)定的值范圍內(nèi)變化。在一個(gè)實(shí)施例中,特征可以包含關(guān)注點(diǎn)(例如“位置”或“關(guān)鍵點(diǎn)”)和關(guān)注點(diǎn)周圍的區(qū)域的描述(例如“描述符”)。因此,脫機(jī)地圖數(shù)據(jù)508包含多個(gè)特征,這些特征各自包含位置(例如在3D空間中)和所述特征的描述符。
[0042]在運(yùn)行時(shí)間期間,可以使用新采集的圖像506動(dòng)態(tài)地提取對(duì)應(yīng)于目標(biāo)物體505的特征。如圖像514和520中所示,從在運(yùn)行時(shí)間獲得的圖像提取多個(gè)特征,包含特征516、518、522、523和524。從圖像506提取的一些特征可以與脫機(jī)地圖數(shù)據(jù)508中已經(jīng)包含的特征對(duì)應(yīng)。舉例來(lái)說(shuō),圖像514說(shuō)明所提取的特征516和518,其分別與先前所提取的特征510和512對(duì)應(yīng)。然而,特征516和518可能具有更新的描述符,這是由于目標(biāo)物體的不同外觀。如下文將更詳細(xì)地論述,本文中論述的實(shí)施例可以用經(jīng)過(guò)更新的描述符來(lái)更新脫機(jī)特征,接著使用那些經(jīng)過(guò)更新的脫機(jī)特征以產(chǎn)生融合的聯(lián)機(jī)模型502。
[0043]雖然從圖像506提取的一些特征可以與脫機(jī)地圖數(shù)據(jù)508中已經(jīng)包含的特征對(duì)應(yīng),但是其它所提取的特征可以是新檢測(cè)到的特征(例如由于新觀看角度、新光照條件、物理形狀改變等)。舉例來(lái)說(shuō),圖像520的特征522、523和524說(shuō)明目標(biāo)物體505的先前未檢測(cè)到的特征。這些特征可能先前未檢測(cè)到,原因在于目標(biāo)物體505的物理形狀、顏色或紋理的變化、光照條件的變化和/或觀看角度/距離的變化。無(wú)論如何,本文中論述的實(shí)施例可以在產(chǎn)生融合的聯(lián)機(jī)模型502時(shí)添加新檢測(cè)到的特征???26說(shuō)明合并脫