用于使用感測的位置數(shù)據(jù)來生成三維模型的系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明的實施例一般地設(shè)及圖像建模,更具體地設(shè)及使用與圖像相關(guān)聯(lián)的位置數(shù) 據(jù)來生成圖像模型。
【背景技術(shù)】
[0002] =維(3D)建模是一種開發(fā)=維對象的數(shù)學(xué)表示的過程。該數(shù)學(xué)表示可W被稱作 3D模型。例如,立方體的3D模型可W包括該立方體的角、邊和面的數(shù)學(xué)表示,它們能夠被用 來生成該立方體的各種視圖。在計算機環(huán)境中,該各種視圖能夠被擅染W(wǎng)便作為二維圖像 進行顯示,運與用戶在從各種有利點觀看物體時所看到的相類似。該多個視圖的顯示能夠 被用來創(chuàng)建仿真。例如,立方體的各個視圖能夠被依序顯示W(wǎng)生成對用戶在它們繞立方體 行走時所看到的進行重建的仿真。雖然出于說明的目的描述了立方體,但是將要意識到的 是,類似的3D建模技術(shù)能夠被用來生成任意各種物體的3D模型。例如,業(yè)主可W生成其家 的3D模型,其能夠被用來為預(yù)期買主形成他們家的內(nèi)部和外部的"虛擬游覽"。類似的建模 技術(shù)能夠被應(yīng)用來生成3D模型W便創(chuàng)建虛擬現(xiàn)實仿真等等。
[0003] 在一些情況下,3D模型使用3D攝影來生成。利用3D攝影,從不同的有利點捕捉物 體的多個攝影圖像,并且運些圖像被組合W生成該物體的3D模型。在用于生成3D模型的 傳統(tǒng)系統(tǒng)中,使用專用的硬件和軟件來捕捉并處理圖像W構(gòu)建3D模型。例如,可W使用專 用的3D重建軟件來識別物體圖像之間的匹配點,并且對該匹配點進行處理W估計點在真 實世界中對應(yīng)于圖像中的點的位置(即,真實視覺坐標(biāo))。運些點能夠被組合W創(chuàng)建物體的 3D模型。
[0004] 不幸的是,常規(guī)的3D建模技術(shù)是耗時的并且可能不準(zhǔn)確。例如,常規(guī)的3D建模算 法可能依賴于估計和插值,運要求大量處理來生成適當(dāng)結(jié)果并且可能最終生成不準(zhǔn)確的結(jié) 果。此外,常規(guī)的3D建模技術(shù)無法在用戶對于3D模型的當(dāng)前狀態(tài)不滿意時為他們提供重新 捕捉圖像視圖或者獲取附加圖像的機會。例如,在常規(guī)的批處理技術(shù)中,用戶可能被要求獲 取生成3D模型時所使用的所有圖像,并且可能對圖像批次應(yīng)用后處理來生成3D模型。不 幸的是,在生成3D模型的時候用戶可能已經(jīng)離開了該物體的地點,并且因此可能沒有機會 返回該地點來捕捉該物體的附加圖像。
【發(fā)明內(nèi)容】
陽0化]提供了用于生成地理位置的攝影游覽的方法和裝置的各個實施例。在一些實施例 中,提供了一種計算機實現(xiàn)的用于生成=維(3D)模型的方法。該方法包括接收指示相機設(shè) 備在其被用來獲取第一二維(2D)圖像的時候或者接近此時的定向的感測位置數(shù)據(jù)的第一 集合,該感測位置數(shù)據(jù)的第一集合由用來獲取第一 2D圖像的相機設(shè)備的傳感器提供;接收 指示相機設(shè)備在其被用來獲取第二二維(2D)圖像的時候或者接近此時的定向的感測位置 數(shù)據(jù)的第二集合,該感測位置數(shù)據(jù)的第二集合由用來獲取第二2D圖像的相機設(shè)備的傳感 器提供;使用感測位置數(shù)據(jù)的第一和第二集合對于包括該第一和第二2D圖像的圖像對確 定感測的旋轉(zhuǎn)矩陣;對于該圖像對識別計算的相機變換矩陣,計算的變換包括所述計算的 平移矢量和所述計算的旋轉(zhuǎn)矩陣;對于該圖像對生成感測的相機變換矩陣,感測的相機變 換包括平移矢量和感測的旋轉(zhuǎn)矩陣;識別第一和第二2D圖像的匹配點集合;確定與使用感 測的相機變換的匹配點集合的變換相關(guān)聯(lián)的第一誤差是否小于與使用所述計算的相機變 換的匹配點集合的變換相關(guān)聯(lián)的第二誤差;W及響應(yīng)于確定與使用感測的相機變換的匹配 點集合的變換相關(guān)聯(lián)的第一誤差小于與使用所述計算的相機變換的匹配點集合的變換相 關(guān)聯(lián)的第二誤差,使用感測的相機變換來生成3D模型,并且將該3D模型存儲在3D模型庫 集中。
[0006]在一些實施例中,識別計算的相機變換包括使用第一和第二2D圖像的匹配點集 合得出多個候選計算變換矩陣,該候選所計算變換矩陣每一個均包括轉(zhuǎn)移分量和所計算的 旋轉(zhuǎn)矩陣,識別該多個候選計算變換矩陣中與最低變換誤差相關(guān)聯(lián)的一個候選的計算的變 換矩陣,并且將與最低變換誤差相關(guān)聯(lián)的該候選的計算的變換矩陣識別為計算的相機變 換。在一些實施例中,使用匹配點集合得出多個候選的計算的變換矩陣包括使用匹配點集 合來計算第一和第二2D圖像之間的基礎(chǔ)矩陣,基于該基礎(chǔ)矩陣來計算本質(zhì)矩陣,并且經(jīng)由 奇異值分解將該本質(zhì)矩陣分解為四個候選計算變換矩陣。
[0007]在一些實施例中,該匹配點集合包括第一和第二2D圖像的匹配點集合的子集。在 一些實施例中,該匹配點集合包括第一和第二2D圖像的匹配點集合中的5個匹配點。
[0008]在一些實施例中,確定與使用感測的相機變換的匹配點集合的變換相關(guān)聯(lián)的第一 誤差是否小于與使用計算的相機變換的匹配點集合的變換相關(guān)聯(lián)的第二誤差包括選擇第 一和第二2D圖像的匹配點集合的子集,確定與使用計算的相機變換的匹配點子集之間的 變換相關(guān)聯(lián)的第一誤差,確定與使用感測的相機變換的匹配點子集之間的變換相關(guān)聯(lián)的第 二誤差,并且將該第一誤差與第二誤差進行比較W確定與使用感測的相機變換的匹配點子 集的變換相關(guān)聯(lián)的第一誤差是否小于與使用所計算的相機變換的匹配點子集的變換相關(guān) 聯(lián)的第二誤差。
[0009]在一些實施例中,使用感測的相機變換矩陣生成3D模型包括將匹配點集合中的 匹配點變換為3D坐標(biāo),并且將該3D坐標(biāo)添加至3D模型。
[0010] 在一些實施例中,計算的相機變換的平移矢量和感測的相機變換的平移矢量是相 同的。在一些實施例中,感測位置數(shù)據(jù)的第一集合指示相機設(shè)備在其被用來捕捉第一二維 (2D)圖像的時候或者接近此時的位置,感測位置數(shù)據(jù)的第二集合指示相機設(shè)備在其被用來 捕捉第二二維(2D)圖像的時候或者接近此時的位置,并且該方法進一步包括使用感測位 置數(shù)據(jù)的第一和第二集合對于包括該第一和第二2D圖像的圖像對確定感測的旋轉(zhuǎn)矩陣, 感測的相機變換的平移矢量包括該感測的旋轉(zhuǎn)矩陣,并且所計算的相機變換的平移矢量基 于該第一和第二2D圖像的匹配點進行計算。
[0011] 在一些實施例中,該傳感器包括巧螺儀。
[0012] 在一些實施例中,提供了一種非瞬態(tài)的計算機可讀介質(zhì),其包括存儲于其上的程 序指令,該程序指令能夠被處理器執(zhí)行而導(dǎo)致用于生成=維(3D)模型的W下步驟。該步驟 包括:接收指示相機設(shè)備在其被用來獲取第一二維(2D)圖像的時候或者接近此時的定向 的感測位置數(shù)據(jù)的第一集合,該感測位置數(shù)據(jù)的第一集合由用來獲取第一 2D圖像的相機 設(shè)備的傳感器提供;接收指示相機設(shè)備在其被用來獲取第二二維(2D)圖像的時候或者接 近此時的定向的感測位置數(shù)據(jù)的第二集合,該感測位置數(shù)據(jù)的第二集合由用來獲取第二2D圖像的相機設(shè)備的傳感器提供;使用感測位置數(shù)據(jù)的第一和第二集合對于包括該第一和第 二2D圖像的圖像對確定感測的旋轉(zhuǎn)矩陣;對于該圖像對識別計算的相機變換矩陣,計算的 變換包括計算的平移矢量和計算的旋轉(zhuǎn)矩陣;對于該圖像對生成感測的相機變換矩陣,感 測的相機變換包括平移矢量和感測的旋轉(zhuǎn)矩陣;識別第一和第二2D圖像的匹配點集合;確 定與使用感測的相機變換的匹配點集合的變換相關(guān)聯(lián)的第一誤差是否小于與使用計算的 相機變換的匹配點集合的變換相關(guān)聯(lián)的第二誤差;W及響應(yīng)于確定與使用感測的相機變換 的匹配點集合的變換相關(guān)聯(lián)的第一誤差小于與使用計算的相機變換的匹配點集合的變換 相關(guān)聯(lián)的第二誤差,使用感測的相機變換生成3D模型,并且將該3D模型存儲在3D模型庫 集中。
[0013] 在一些實施例中,提供了一種計算機實現(xiàn)的用于生成=維(3D)模型的方法。該方 法包括:接收指示相機設(shè)備在其被用來獲取第一二維(2D)圖像的時候或者接近此時的位 置的感測位置數(shù)據(jù)的第一集合,該感測位置數(shù)據(jù)的第一集合由用來獲取第一 2D圖像的相 機設(shè)備的集成傳感器提供;接收指示相機設(shè)備在其被用來獲取第二二維(2D)圖像的時候 或者接近此時的位置的定位傳感器數(shù)據(jù)的第二集合,感測位置數(shù)據(jù)的該第二集合由用來獲 取第二2D圖像的相機設(shè)備的集成傳感器提供;使用感測位置數(shù)據(jù)的第一和第二集合來確 定第一和第二2D圖像之間的感測的旋轉(zhuǎn)矩陣和/或感測的平移矢量;識別包括計算的平移 矢量和計算的旋轉(zhuǎn)矩陣的計算的相機變換;生成包括感測的旋轉(zhuǎn)矩陣和/或感測的平移矢 量的感測的相機變換;識別第一和第二2D圖像的匹配點集合;確定與使用感測的相機變換 的匹配點集合的變換相關(guān)聯(lián)的第一誤差是否小于與使用計算的相機變換的匹配點集合的 變換相關(guān)聯(lián)的第二誤差;W及響應(yīng)于確定與使用感測的相機變換的匹配點集合的變換相關(guān) 聯(lián)的第一誤差小于與使用計算的相機變換的匹配點集合的變換相關(guān)聯(lián)的第二誤差;使用感 測的相機變換來生成3D模型,并且將該3D模型存儲在3D模型庫集中。
【附圖說明】
[0014] 圖1是圖示依據(jù)本技術(shù)的一個或多個實施例的生成物體的=維(3D)模型的方法 的流程圖。
[0015] 圖2圖示了依據(jù)本技術(shù)的一個或多個實施例的一個物體W及從繞該物體的各個 有利點拍攝的2D圖像。
[0016] 圖3圖示了依據(jù)本技術(shù)的一個或多個實施例的圖像對的示例性匹配點。
[0017] 圖4是圖示依據(jù)本技術(shù)的一個或多個實施例的建模環(huán)境的框圖。
[0018] 圖5是圖示依據(jù)本技術(shù)的一個或多個實施例的示例性計算機系統(tǒng)的框圖。
【具體實施方式】
[0019] 如W下更為詳細討論的,提供了一種用于使用位置數(shù)據(jù)來生成=維(3D)模型的 系統(tǒng)和方法。3D模型可W包括物體的數(shù)學(xué)表示。在一些情況下,3D模型能夠被用來生成與 物體相關(guān)的各種視圖。例如,立方體的3D模型可W包括該立方體的角、邊和面的數(shù)學(xué)表示, 它們能夠被用來生成該立方體的各種視圖。運樣的視圖能夠被用來對用戶在從各種有利點 觀看物體時所看到的進行仿真。3D模型可W包括對應(yīng)于真實世界中的點(即,真實世界坐 標(biāo))的3D點(例如,3D坐標(biāo))的集合。例如,立方體的3D模型可W包括對應(yīng)于該立方體的 八個角的真實世界位置、沿該立方體的邊的各個位置W及該立方體的六個面上的各個位置 的3D坐標(biāo)的集合。
[0020] 在一些實施例中,使用多個圖像來生成3D模型。例如,可W使用從關(guān)于物體的不 同有利點拍攝的該物體的多個二維(2D)圖像來生成該物體的3D模型。在一些實施例中, 通過識別多個圖像內(nèi)的匹配點并且將該匹配點變換為用來生成3D模型的3D坐標(biāo)而生成3D 模型。例如,從第一有利點拍攝的第一 2D圖像(圖像A)中描繪立方體的表面上的五個不 同位置的五個部分與從接近于該第一圖像的有利點的第二有利點拍攝的第二2D圖像(圖 像B)的五個相對應(yīng)部分匹配。兩個圖像內(nèi)的五個匹配點的位置能夠被變換W生成五個相 對應(yīng)的3D坐標(biāo),它們表示該立方體的表面上的五個不同位置的真實世界位置。
[0021] 運樣的變換能夠使用各種2D圖像對之間的任意數(shù)量的匹配點來進行W生成用于 生成3D模型時使用的任意數(shù)量的3D坐標(biāo)。例如,第一和第二圖像(圖像A和B)之間、第 一圖像和第=圖像(圖像A和C)之間、第二和第=圖像(圖像B和C)等之間的其它匹配 點集合能夠被識別并且被用來識別另外的3D坐標(biāo)集合W便包含在該立方體的3D模型中。
[0022] 在一些實施例中,到3D坐標(biāo)的變換包括生成圖像之間的變換矩陣(或"變換")。 例如,第一圖像(圖像A)和第二圖像(圖像B)之間的五個隨機匹配點能夠被用來生成變 換矩陣燈AB)。該變換矩陣燈AB)隨后能夠被用來將圖像A和B的點映射至3D/真實世界 坐標(biāo)。
[0023] 在一些實施例中,用于兩個圖像的變換矩陣借助于位置數(shù)據(jù)而生成,上述位置數(shù) 據(jù)指示相機設(shè)備在其被用來獲取對開發(fā)該變換時所使用的圖像的時候或者接近此時的定 向。例如,對于圖像A和B生成變換矩陣可W至少部分基于感測位置數(shù)據(jù)的第一集合W及感 測位置數(shù)據(jù)的第二集合,該感測位置數(shù)據(jù)的第一集合指示相機設(shè)備在其被用來獲取第一二 維(2D)圖像的時候或者接近此時的定向/位置,