述目標(biāo)的位置和定向的先前所提供的信息,使來(lái)自不同圖像的關(guān) 注點(diǎn)相關(guān)聯(lián)。在給定關(guān)于對(duì)應(yīng)性的信息的情況下,可對(duì)焦點(diǎn)的定位進(jìn)行三角測(cè)量。此估計(jì) 可具有噪聲,因?yàn)殛P(guān)注點(diǎn)X的位置中的子像素錯(cuò)誤可導(dǎo)致關(guān)注點(diǎn)X的所計(jì)算的位置中的大 錯(cuò)誤。可通過(guò)同一點(diǎn)處的多個(gè)觀察結(jié)果來(lái)減少這些錯(cuò)誤。此外,通過(guò)最小化估計(jì)地點(diǎn)的再 投影錯(cuò)誤,束調(diào)整可同時(shí)校正關(guān)于關(guān)鍵幀(例如圖4中的幀412和414)中的相機(jī)姿勢(shì)的初 始信息。
[0070] 當(dāng)從兩個(gè)以上關(guān)鍵幀使用兩個(gè)以上對(duì)應(yīng)性和位置時(shí),可進(jìn)一步使用束調(diào)整,從而 導(dǎo)致所有相關(guān)聯(lián)關(guān)注點(diǎn)X、Y和Z的歸因于平均信息而導(dǎo)致所得位置中的大得多的置信度。 另外,當(dāng)使用關(guān)注點(diǎn)的跟蹤和檢測(cè)兩者執(zhí)行此束調(diào)整時(shí),準(zhǔn)確性得到進(jìn)一步改進(jìn)。
[0071] 并且,如上所提到,裝置中的額外傳感器可用于進(jìn)一步改進(jìn)捕獲關(guān)鍵幀時(shí)裝置的 相對(duì)定位的準(zhǔn)確性??墒褂脺y(cè)量裝置的定位和移動(dòng)的加速計(jì)、陀螺儀和各種其它定位系統(tǒng), 來(lái)代替或補(bǔ)充上文所描述的位置測(cè)量結(jié)果。在某些實(shí)施例中,這可提供增加的準(zhǔn)確性或減 少的處理器使用。在某些實(shí)施例中,這些定位系統(tǒng)可用于在裝置捕獲特定關(guān)鍵幀時(shí),確定裝 置的位置或姿勢(shì)??墒褂么诵畔?lái)創(chuàng)建關(guān)于從二維關(guān)注點(diǎn)(明確地說(shuō),關(guān)鍵幀)到處的關(guān) 鍵點(diǎn)的信息。
[0072] 在某些實(shí)施例中,歸因于匹配圖像之間的實(shí)際像素的簡(jiǎn)單過(guò)程,可將關(guān)于關(guān)注點(diǎn) 周圍的像素的描述性信息選擇為對(duì)匹配決策具有較大影響。然而,對(duì)于許多對(duì)象,同一關(guān)注 點(diǎn)的多個(gè)觀察結(jié)果趨向于在多個(gè)視圖上逐漸但持久地變化。這可歸因于表面反射率的變 化、對(duì)象上的變化的自遮擋,或僅投影視圖的本質(zhì)。因此,有可能以若干關(guān)鍵點(diǎn)分組群集來(lái) 結(jié)束,其中每一分組的描述符滿足某些常見(jiàn)濾波要求,而不是其它要求。舉例來(lái)說(shuō),每一群 集內(nèi)的描述符可滿足最大距離要求,但可能不滿足跨群集的最大距離要求。這可導(dǎo)致正估 計(jì)若干三維關(guān)鍵點(diǎn)匹配,其中僅存在一個(gè)匹配。因此,在某些實(shí)施例中,可進(jìn)行描述符群集 之間的相交的觀察。這些觀察為做出關(guān)于是否合并多個(gè)關(guān)注點(diǎn)或點(diǎn)的對(duì)應(yīng)性集合的決策提 供關(guān)注點(diǎn)與額外信息之間的鏈接。這進(jìn)一步提供提供任何束調(diào)整的增加的穩(wěn)健性,妾可充 當(dāng)前驅(qū)體來(lái)精簡(jiǎn)額外或不必要的數(shù)據(jù)。束調(diào)整過(guò)程可得益于跨視圖群集合并對(duì)應(yīng)性,因?yàn)?接著基于更多數(shù)據(jù)來(lái)估計(jì)同一關(guān)注點(diǎn)X,而不是估計(jì)兩個(gè)不同點(diǎn)X和X',其中的一者是虛假 的。這也可與其它精簡(jiǎn)或數(shù)據(jù)濾波技術(shù)組合,以優(yōu)化將作為緊湊對(duì)象表示存儲(chǔ)在數(shù)據(jù)庫(kù)中 的數(shù)據(jù),其中從多個(gè)幀合并的關(guān)注點(diǎn)可存儲(chǔ)為具有關(guān)于關(guān)鍵點(diǎn)周圍的對(duì)象的相關(guān)聯(lián)描述性 數(shù)據(jù)的單個(gè)關(guān)鍵點(diǎn)。或者,在一些情況下,具有同一三維點(diǎn)定位X的多個(gè)個(gè)例,但兩個(gè)或更 多個(gè)不同描述符與之相關(guān)聯(lián)是有益的。當(dāng)跨多個(gè)視圖的描述符差異過(guò)于顯著使得匹配管線 無(wú)法形成數(shù)據(jù)庫(kù)中的單一描述符與從同一定位X的"遠(yuǎn)"查詢視圖提取的對(duì)應(yīng)描述符之間 的關(guān)聯(lián)時(shí),可為此情況。
[0073] 在束調(diào)整之后,從至少兩個(gè)視點(diǎn)可見(jiàn)的每一所關(guān)注點(diǎn)X現(xiàn)在由其三維定位和多個(gè) 描述符表示,每一描述符通常對(duì)應(yīng)于在掃描期間觀察到所述點(diǎn)的一個(gè)不同關(guān)鍵幀。此步驟 通常接著是旨在去除不與所關(guān)注的對(duì)象相關(guān)聯(lián)的關(guān)鍵點(diǎn)的分段和濾波技術(shù)。此方法通常僅 依靠所有所捕獲關(guān)鍵點(diǎn)的三維位置(Xl、x2、x3),且由此可與針對(duì)束調(diào)整的步驟組合,因?yàn)樵?此步驟處,三維位置是已經(jīng)的。所述過(guò)程中用于在掃描之后形成緊湊對(duì)象表示的最終步驟 稱為特征精簡(jiǎn)。即,尚存的關(guān)注點(diǎn)X現(xiàn)在與至少兩個(gè),且通常若干描述符相關(guān)聯(lián)。關(guān)注點(diǎn) 的定位連同所附描述一起有時(shí)被稱作"特征"。因此,一組特定三維坐標(biāo)處可存在與單個(gè)關(guān) 鍵點(diǎn)相關(guān)聯(lián)的許多特征,妾目標(biāo)是避免重復(fù),壓縮表示大小,并且通過(guò)精簡(jiǎn)這些特征中的一 些來(lái)最小化混淆,其中精簡(jiǎn)是去除某些描述符與合并多個(gè)尚存描述符以形成減少數(shù)目的新 "經(jīng)精簡(jiǎn)"描述符的組合效應(yīng)。此精簡(jiǎn)可由實(shí)施一系列精簡(jiǎn)步驟的模塊來(lái)執(zhí)行。此類步驟可 基于針對(duì)其將關(guān)注點(diǎn)視為檢測(cè)為關(guān)鍵點(diǎn)的特征的所述數(shù)目的不同圖像和視點(diǎn)的可重復(fù)性 對(duì)關(guān)注點(diǎn)進(jìn)行濾波。這還可基于可辨性來(lái)進(jìn)行濾波,使得選擇相似特征中對(duì)應(yīng)于多個(gè)視圖 中的同一關(guān)鍵點(diǎn)的部分。去除用于相似特征的其余部分的關(guān)鍵點(diǎn),以減少緊湊對(duì)象表示中 的冗余。
[0074] 在某些實(shí)施例中,可執(zhí)行分析,其使值與關(guān)鍵點(diǎn)關(guān)聯(lián),以便優(yōu)化對(duì)象表示的大小。 可建立值閾值,使得冗余或另外價(jià)值較小的關(guān)鍵點(diǎn)得以去除,而具有高于數(shù)據(jù)值閾值的唯 一且高度可見(jiàn)關(guān)鍵點(diǎn)可得以保存。
[0075] 在另外的實(shí)施例中,可使用不同的精簡(jiǎn)步驟,取決于所述裝置可用的處理資源以 及用戶所選擇的其它選項(xiàng)??煽刂脐P(guān)鍵點(diǎn)精簡(jiǎn)程度的額外參數(shù)的實(shí)例包含:多維描述符空 間中的ε球的半徑,用以確定關(guān)鍵點(diǎn)周圍的像素是否足夠相似;三維空間中的ε球的半 徑,用以確定不同關(guān)鍵點(diǎn)一起非常接近地束縛在歐幾里得空間中;基于特定關(guān)鍵點(diǎn)的視圖 數(shù)目的可重復(fù)性閾值;以及基于針對(duì)多個(gè)視圖中的單個(gè)關(guān)鍵點(diǎn)而識(shí)別的特征變化的可辨性 閾值。
[0076] -個(gè)實(shí)施例可因此涉及使用移動(dòng)計(jì)算裝置的相機(jī)模塊來(lái)捕獲場(chǎng)景的多個(gè)圖像。所 述場(chǎng)景的所述多個(gè)圖像中的每一者包含第一對(duì)象的至少一部分的圖像。對(duì)于所捕捉的圖像 中的每一者,假定由相對(duì)于所關(guān)注的對(duì)象在其中不移動(dòng)的世界坐標(biāo)系的六個(gè)自由度和一位 置以三維形式組成的相機(jī)位置或"相機(jī)姿勢(shì)"是已知的??梢圆煌绞将@得相機(jī)姿勢(shì):通過(guò) 小心地校準(zhǔn)固定設(shè)置(如使用機(jī)械臂),或通過(guò)檢測(cè)和跟蹤與正掃描的對(duì)象相同的場(chǎng)景中 存在的已知對(duì)象"目標(biāo)"的投影外形。接著可將所述多個(gè)圖像中的第一圖像識(shí)別為第一關(guān) 鍵幀,其中移動(dòng)計(jì)算裝置從第一位置捕獲第一圖像??蓪⑺龆鄠€(gè)圖像中的第二圖像選作 第二關(guān)鍵幀。移動(dòng)計(jì)算裝置從不同于第一位置的第二位置捕獲第二圖像??蓮乃龅谝魂P(guān) 鍵幀識(shí)別第一多個(gè)關(guān)注點(diǎn),其中所述第一多個(gè)關(guān)注點(diǎn)識(shí)別來(lái)自所述場(chǎng)景的特征??蓮牡诙?關(guān)鍵幀識(shí)別第二多個(gè)關(guān)注點(diǎn)。一種系統(tǒng)可接著使所述第一多個(gè)關(guān)注點(diǎn)與所述第二多個(gè)關(guān)注 點(diǎn)匹配,并識(shí)別與所述對(duì)象相關(guān)聯(lián)的關(guān)鍵點(diǎn)。與所述對(duì)象相關(guān)聯(lián)的關(guān)鍵點(diǎn)可接下來(lái)與每一 關(guān)鍵點(diǎn)周圍的區(qū)域的至少一個(gè)描述相關(guān)聯(lián),且它們?cè)谝黄鹂勺鳛榫o湊對(duì)象表示存儲(chǔ)在對(duì)象 檢測(cè)數(shù)據(jù)庫(kù)中。
[0077] 在替代實(shí)施例中,裝置可操作SLAM系統(tǒng)。SLAM系統(tǒng)是使用成像數(shù)據(jù)來(lái)建立未知 環(huán)境(無(wú)先驗(yàn)知識(shí))內(nèi)的地圖,或更新已知環(huán)境(具有來(lái)自給定地圖的先驗(yàn)知識(shí))內(nèi)的地 圖,同時(shí)從成像數(shù)據(jù)保持跟蹤其當(dāng)前定位。在本文所述的實(shí)施例中,不是建立環(huán)境或場(chǎng)景, 而是使用來(lái)自標(biāo)準(zhǔn)SLAM系統(tǒng)的地圖數(shù)據(jù),利用如上文所描述而創(chuàng)建的關(guān)鍵點(diǎn)來(lái)建立所述 對(duì)象的地圖。所述SLAM系統(tǒng)如上文所描述從圖像選擇關(guān)鍵幀,因?yàn)镾LAM系統(tǒng)的標(biāo)準(zhǔn)操作 包含創(chuàng)建關(guān)鍵幀,作為SLAM操作的一部分??墒褂脠?chǎng)景映射和裝置位置跟蹤,作為用于如 上文所描述提取對(duì)象的顯著特征和結(jié)構(gòu)特性的工具。以此方式,圖像捕獲和關(guān)鍵幀選擇可 由SLAM系統(tǒng)執(zhí)行。整個(gè)系統(tǒng)可將關(guān)鍵幀從SLAM系統(tǒng)提供到單獨(dú)的提取器和描述符系統(tǒng)。 此提取器和描述符系統(tǒng)可接著對(duì)關(guān)鍵幀運(yùn)行,以提取對(duì)象外形信息。在某些實(shí)施例中,單獨(dú) 的SLAM和提取器/描述符系統(tǒng)可作為用于跟蹤、地圖建立和本地化的較簡(jiǎn)單且較便宜的系 統(tǒng)而提供益處。整個(gè)系統(tǒng)可更復(fù)雜,但也可提供更高效的辯別和不變的關(guān)注點(diǎn)檢測(cè)。描述 符系統(tǒng)可接著建立跨關(guān)鍵幀的關(guān)鍵點(diǎn)對(duì)應(yīng)性,并執(zhí)行任何其余步驟。
[0078] 此實(shí)施例可使用SLAM利用多個(gè)準(zhǔn)則來(lái)選擇和存儲(chǔ)關(guān)鍵幀,包含相機(jī)位置穩(wěn)定性、 所提取的多個(gè)充分"不同"特征,以及其它此類度量。SLAM關(guān)鍵幀可因此不經(jīng)修改地用于 檢測(cè)特征提取。其它實(shí)施例可實(shí)現(xiàn)目標(biāo)為與數(shù)據(jù)庫(kù)創(chuàng)建更一致地自動(dòng)創(chuàng)建關(guān)鍵幀的定制關(guān) 鍵幀選擇。這些實(shí)施例中的任一者實(shí)現(xiàn)可在掃描對(duì)象時(shí)隱藏不被用戶看到的自動(dòng)關(guān)鍵幀選 擇。
[0079] 在某些實(shí)施例中,以多線程方式實(shí)施SLAM系統(tǒng),其中關(guān)鍵點(diǎn)特征提取在后臺(tái)進(jìn)程 中運(yùn)行。隨關(guān)注點(diǎn)提取的描述符可對(duì)應(yīng)于特定關(guān)鍵幀內(nèi)的投影對(duì)象視圖。為了編碼關(guān)鍵點(diǎn) 之間的相互幾何形狀,如上文所描述,某些實(shí)施例可使用傳統(tǒng)的多視圖對(duì)極幾何技術(shù)。
[0080] 在各種替代實(shí)施例中,可在匹配圖像之間的關(guān)注點(diǎn)以創(chuàng)建關(guān)鍵點(diǎn)之前、在此匹配 之后,或在之前和之后兩者,對(duì)關(guān)注點(diǎn)進(jìn)行濾波。其它實(shí)施例可使用檢測(cè)以及SLAM特征和 其跨多個(gè)關(guān)鍵幀的對(duì)應(yīng)性,來(lái)穩(wěn)健地估計(jì)三維關(guān)鍵點(diǎn)定位。其它實(shí)施例還可對(duì)關(guān)鍵點(diǎn)數(shù)據(jù) 進(jìn)行后處理,以精簡(jiǎn)所提取的多視圖檢測(cè)特征,并為對(duì)象檢測(cè)數(shù)據(jù)庫(kù)創(chuàng)建緊湊對(duì)象表示。
[0081] 在一個(gè)實(shí)施例中,用戶接口可提供不同關(guān)鍵幀選擇準(zhǔn)則,其目標(biāo)可為為數(shù)據(jù)庫(kù)創(chuàng) 建優(yōu)化緊湊對(duì)象表示。在某些實(shí)施例中,顯示器可近實(shí)時(shí)地呈現(xiàn)所提取的且經(jīng)三角測(cè)量的 關(guān)鍵點(diǎn),以使掃描過(guò)程可視化。在某些實(shí)施例中,這可使用戶能夠在空中更改參數(shù),以在選 擇關(guān)鍵幀時(shí),調(diào)整關(guān)鍵點(diǎn)創(chuàng)建。
[0082] 圖5現(xiàn)在描述根據(jù)某些實(shí)施例的裝置500的一個(gè)實(shí)施方案。如上文所描述,圖1和 5說(shuō)明一種系統(tǒng),其在一個(gè)實(shí)施例中,可包含用以掃描對(duì)象的裝置110或410。裝置500可 為裝置110或裝置410的一個(gè)實(shí)施例,且可執(zhí)行用于為對(duì)象檢測(cè)數(shù)據(jù)庫(kù)創(chuàng)建緊湊對(duì)象表示 的方法的所有元素。在圖5中所示的裝置500的實(shí)施例中,可使用專用模塊來(lái)實(shí)施對(duì)象掃 描,包含對(duì)象識(shí)別模塊521和掃描與數(shù)據(jù)庫(kù)輸入模塊522。數(shù)據(jù)庫(kù)524可為專用的緊湊對(duì)象 表示基礎(chǔ),或可為較大數(shù)據(jù)庫(kù)系統(tǒng)的一部分。對(duì)象識(shí)別模塊521可為實(shí)施本文所述的SLAM 的模塊,或可為用于識(shí)別關(guān)鍵幀的定制模塊。在某些實(shí)施例中,對(duì)象識(shí)別模塊521和數(shù)據(jù)庫(kù) 輸入模塊522可實(shí)施為單個(gè)模塊。
[0083]另外,在某些實(shí)施例中,用于對(duì)象識(shí)別模塊521和/或掃描與數(shù)據(jù)庫(kù)輸入模塊522 的控制模塊或控制輸入可實(shí)現(xiàn)各種掃描方面的手動(dòng)選擇。舉例來(lái)說(shuō),當(dāng)關(guān)鍵幀在某些角度 稀少時(shí),用戶可選擇具有在顯示器輸出503處呈現(xiàn)的自動(dòng)提示,以確定何時(shí)需要來(lái)自不同 角度的更多關(guān)鍵幀。此系統(tǒng)還可實(shí)現(xiàn)到預(yù)期高值關(guān)鍵點(diǎn)數(shù)據(jù)的特定角度的提示和方向。在 某些實(shí)施例中,此系統(tǒng)可基本上跟蹤對(duì)象的某些部分周圍的關(guān)鍵點(diǎn)密度和/或關(guān)注點(diǎn)密 度。對(duì)于給定圖像,所述系統(tǒng)可確定從中采集圖像的定位與從中采集最近關(guān)鍵幀的定位之 間的空間關(guān)系,并使用此信息連同用于這些定位的關(guān)注點(diǎn)信息來(lái)確定來(lái)自新定位的額外關(guān) 鍵幀的值。
[0084] 所述系統(tǒng)可因此告知用戶額外關(guān)鍵幀何時(shí)將從某些角度提供高數(shù)據(jù)值。此控制還 可使用戶能夠定制關(guān)鍵幀的選擇,或更新用于進(jìn)行中的掃描的關(guān)鍵幀的選擇。在某些實(shí)施 例中,這還可使用戶能夠檢視所記錄的圖像,并手動(dòng)選擇特定圖像作為關(guān)鍵幀。更進(jìn)一步, 用戶選擇可設(shè)定關(guān)鍵點(diǎn)精簡(jiǎn)和濾波的閾值。
[0085] 在圖5處示出的實(shí)施例中,移動(dòng)裝置500包含處理器510,其經(jīng)配置以執(zhí)行用于在 許多組件處實(shí)施操作的指令,且可(例如)為適合于在便攜式電子裝置內(nèi)實(shí)施的通用處理 器或微處理器。處理器510可因此實(shí)施用于本文所述的緊湊對(duì)象表示創(chuàng)建的特定步驟中的 任一者或全部。處理器510與移動(dòng)裝置500內(nèi)的多個(gè)組件通信耦合。為了實(shí)現(xiàn)這一通信耦 合,處理器510可跨越總線540與其它所說(shuō)明的組件通信??偩€540可為適合于在移動(dòng)裝 置500內(nèi)傳送數(shù)據(jù)的任何子系統(tǒng)??偩€540可為多個(gè)計(jì)算機(jī)總線,并且包含用以傳送數(shù)據(jù) 的額外電路。
[0086] 存儲(chǔ)器520可耦合到處理器510。在一些實(shí)施例中,存儲(chǔ)器520提供短期和長(zhǎng)期存 儲(chǔ)兩者,且實(shí)際上可被劃分成若干單元。存儲(chǔ)器520可為易失性的,例如靜態(tài)隨機(jī)存取存儲(chǔ) 器(SRAM)和/或動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM),和/或非易失性的,例如只讀存儲(chǔ)器(ROM)、 快閃存儲(chǔ)器等。此外,存儲(chǔ)器520可包含可裝卸存儲(chǔ)裝置,例如安全數(shù)字(SD)卡。因此,存 儲(chǔ)器520提供用于移動(dòng)裝置500的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊及其它數(shù)據(jù)的存 儲(chǔ)。在一些實(shí)施例中,存儲(chǔ)器520可分布到不同硬件模塊中。
[0087] 在一些實(shí)施例中,存儲(chǔ)器520存儲(chǔ)多個(gè)應(yīng)用程序模塊。應(yīng)用程序模塊含有待由處 理器510執(zhí)行的特定指令。在替代實(shí)施例中,其它硬件模塊可另外執(zhí)行某些應(yīng)用程序或應(yīng) 用程序的部分。存儲(chǔ)器520可用于存儲(chǔ)用于根據(jù)某些實(shí)施例實(shí)施掃描的模塊的計(jì)算機(jī)可讀 指令,且還可存儲(chǔ)緊湊對(duì)象表示作為數(shù)據(jù)庫(kù)的一部分。
[0088] 在一些實(shí)施例中,存儲(chǔ)器520包含操作系統(tǒng)523。操作系統(tǒng)523可操作以起始應(yīng) 用程序模塊所提供的指令的執(zhí)行,和/或管理其它硬件模塊以及與可使用WAN無(wú)線收發(fā)器 512和LAN無(wú)線收發(fā)器542的通信模塊介接。操作系統(tǒng)523可適于橫跨移動(dòng)裝置500的組 件執(zhí)行其它操作,包含線程處理、資源管理、數(shù)據(jù)存儲(chǔ)控制和其它相似功能性。
[0089] 在一些實(shí)施例中,移動(dòng)裝置500包括多個(gè)其它硬件模塊。其它硬件模塊中的每一 者為移動(dòng)裝置500內(nèi)的物理模塊。但是,雖然所述硬件模塊中的每一個(gè)永久地配置為結(jié)構(gòu), 但硬件模塊中的相應(yīng)者可經(jīng)臨時(shí)配置以執(zhí)行特定功能或經(jīng)臨時(shí)激活。常見(jiàn)實(shí)例為可對(duì)相機(jī)