組合用于三維建模的窄基線和寬基線立體的制作方法
【專利摘要】在實施例中,一種方法從由一個或多個相機自不同視角拍攝的地理區(qū)域的多個圖像確定三維模型。該方法包括使用第一立體重構(gòu)技術(shù),(i)由多個圖像確定多個三維候選表面點,以及(ii)確定多個圖像中的哪些圖像查看多個候選表面點中的每一個。該方法還包括識別多個候選表面點中的每一個與用于被確定為查看候選表面點的相應(yīng)圖像的每一相機模型之間的空白空間。該方法進一步包括對于來自多個圖像的多個圖像對中的每一個,使用第二立體重構(gòu)技術(shù)來確定用于圖像對的表面估計。該方法還包括合并表面估計來識別最終表面。
【專利說明】組合用于三維建模的窄基線和寬基線立體
【技術(shù)領(lǐng)域】
[0001 ] 實施例通常涉及三維建模。
【背景技術(shù)】
[0002]可以捕捉地理區(qū)域的圖像。例如,多個衛(wèi)星和空中攝影可以形成市區(qū)舊金山的視圖。照片可以包含建筑物、樹木和其他物體的圖像。可以從照片提取數(shù)據(jù)來形成圖像。
[0003]可以從不同視角拍攝照片。從這些照片,可以使用例如立體匹配來構(gòu)建三維模型。使用立體匹配構(gòu)建的模型可能不完全準確。例如,由于基礎(chǔ)圖像的變化、相機視角的不準確和立體匹配算法的限制,可能引入不準確。
【發(fā)明內(nèi)容】
[0004]實施例從由一個或多個相機自不同視角拍攝的地理區(qū)域的多個數(shù)字照片圖像來確定三維模型。
[0005]在實施例中,用于從由一個或多個相機自不同視角對一個地理區(qū)域拍攝的多個圖像來確定三維模型的方法可以包括使用第一立體重構(gòu)技術(shù)來:(i)從多個圖像確定多個三維候選表面點,以及(ii)確定所述多個圖像中的哪些圖像查看所述多個候選表面點中的每一個。該方法還可以包括識別所述多個候選表面點中的每一個與用于被確定為查看所述候選表面點的相應(yīng)圖像的每一相機模型之間的空白空間。
[0006]該方法可以進一步包括對來自多個圖像中的多個圖像對中的每一個圖像對,使用第二立體重構(gòu)技術(shù)來確定用于該圖像對的表面估計。確定用于該圖像對的表面估計可以包括:(i)基于空白空間,確定感興趣體積中的每一點是表面點的可能性,使得該點是表面點的可能性在該點位于空白空間內(nèi)時比在該點位于空白空間外時小,以及(ii)基于該可能性,確定用于該圖像對的表面估計。用來生成用于第二立體重構(gòu)技術(shù)的該圖像對的相機的位置之間的距離小于用來生成用在第一立體重構(gòu)技術(shù)中的圖像對的相機的位置之間的距離。該方法還包括合并該表面估計來識別最終表面。
[0007]還公開了系統(tǒng)和計算機程序產(chǎn)品實施例。
[0008]在下文中參考附圖詳細地描述了本發(fā)明的更多實施例、特征和優(yōu)點以及本發(fā)明的各個實施例的結(jié)構(gòu)和操作。
【專利附圖】
【附圖說明】
[0009]包含在此并構(gòu)成說明書的一部分的附圖圖示了本發(fā)明的實施例,并且與描述一起進一步用來說明本發(fā)明的原理以及使本領(lǐng)域的技術(shù)人員能夠制造和使用本發(fā)明。
[0010]圖1是圖示根據(jù)實施例的使用第一立體重構(gòu)技術(shù)來在從不同視點構(gòu)成的場景中確定的三維候選表面點的圖。
[0011]圖2是圖示根據(jù)實施例的使用第二立體重構(gòu)技術(shù)來在從圖像對構(gòu)成的場景中確定的三維候選表面點的圖。
[0012]圖3是圖示根據(jù)實施例的使用體素網(wǎng)格的各個距離測量的圖。
[0013]圖4是圖示根據(jù)實施例的用于窄基線表面估計的有符號的距離函數(shù)的圖。
[0014]圖5是圖示根據(jù)實施例的用于寬基線候選表面點的有符號的距離函數(shù)的圖。
[0015]圖6是圖示根據(jù)實施例的用于寬基線立體的候選表面點和用于窄基線立體的估計表面的圖。
[0016]圖7是圖示根據(jù)實施例的可以針對其確定有符號的距離函數(shù)的估計表面、候選表面點和橫截面的圖。
[0017]圖8是圖示根據(jù)實施例的用于圖7中的橫截面的平均有符號的距離函數(shù)的圖,平均有符號的距離函數(shù)指示三維模型的最終表面。
[0018]圖9是圖示根據(jù)實施例使用兩種不同的立體重構(gòu)技術(shù)來確定用于三維模型的最終表面的系統(tǒng)的圖。
[0019]圖10是圖示根據(jù)實施例的使用兩種不同的立體重構(gòu)技術(shù)來確定用于三維模型的最終表面的方法的流程圖。
[0020]圖11圖示了實施例可以在其中被實現(xiàn)為計算機可讀代碼的示例性計算機系統(tǒng)。
[0021]附圖中所示的每一圖是圖示并且可以不按比例繪制。
[0022]元件首次出現(xiàn)的圖通常由相應(yīng)參考數(shù)字的最左位表示。在圖中,相同的參考數(shù)字可以表示相同或功能類似的元件。
【具體實施方式】
[0023]1.概述
[0024]I1.寬基線立體的應(yīng)用
[0025]A.候選表面點
[0026]B.候選表面點的可見性
[0027]C.候選表面點的曲面法線
[0028]II1.使用第二立體重構(gòu)技術(shù)來重構(gòu)表面
[0029]IV.窄基線立體的應(yīng)用
[0030]A.感興趣體積
[0031]B.表面可能性的體積表示
[0032]C.表面估計
[0033]V.識別最終表面
[0034]A.有符號的距離函數(shù)
[0035]B.合并有符號的距離函數(shù)
[0036]V1.示例系統(tǒng)
[0037]VI1.示例方法
[0038]VII1.示例計算機實施例
[0039]1.概述
[0040]實施例包括用于三維建模的技術(shù)。可以從由一個或多個相機自不同視角拍攝的地理區(qū)域的多個圖像確定三維模型。例如,可以使用計算立體來從大量空中攝影重構(gòu)城市的三維模型。立體匹配找出與圖像一致的點或表面。這種一致稱為照片一致性,可以通過確定當投攝到所提議的表面上時,圖像有多“對齊”來計算。然后,可以從多個圖像重構(gòu)三維模型的表面。
[0041]兩種立體重構(gòu)算法是寬基線立體和窄基線立體?;€可以是指用于重構(gòu)的圖像的相機中心之間的距離。對于窄基線,用來生成圖像對的相機的位置之間的距離小于用于寬基線立體的相機的位置之間的距離。
[0042]通常,窄基線或?qū)捇€立體被應(yīng)用于重構(gòu)表面的圖像,但不是同時。組合窄基線立體和寬基線立體的輸出來獲得更準確的重構(gòu)可以是有利的。
[0043]在實施例中,可以通過首先將寬基線立體應(yīng)用于多個圖像來重構(gòu)表面。寬基線立體的輸出可以是來自多個圖像的多個三維候選表面點。寬基線立體可以進一步確定多個圖像中的哪些圖像查看多個候選表面點的每一個。在多個候選表面點中的每一個和用于被確定為查看候選表面點的相應(yīng)圖像的每一相機模型之間,可以識別空白空間。
[0044]寬基線立體可能具有不準確性。為減輕這些不準確性,可以將窄基線立體應(yīng)用于圖像對來重構(gòu)表面。對于多個圖像對中的每一個,窄基線立體的輸出可以是用于圖像對的表面估計??梢酝ㄟ^基于空白空間確定感興趣體積中的每一點是表面點的可能性,來確定表面估計。該點是表面點的可能性在該點位于空白空間內(nèi)時比在該點在空白空間外時小。表面點可以是指作為物體的表面的一部分的圖像中的點。
[0045]基于所確定的可能性,可以確定用于圖像對的表面估計。用來生成用于窄基線立體的圖像對的相機的位置之間的距離小于用來生成用在寬基線立體中的圖像對的相機的位置之間的距離。窄基線立體提供用于每一圖像對的表面估計??梢院喜⒂糜诿恳粓D像對的表面估計來識別最終表面。以這種方式,可以使用兩種不同的立體重構(gòu)技術(shù)來重構(gòu)表面。
[0046]為了簡潔和方便,本公開引用建筑物的表面的重構(gòu)。然而,應(yīng)理解到,也可以重構(gòu)諸如樹木、山脈等等的其他物體的表面。
[0047]在下述詳細描述中,對“一個實施例”、“實施例”、“示例性實施例”等等的引用指示所述的實施例可以包括特定特征、結(jié)構(gòu)或特性,但每一實施例可以不必包括該特定特征、結(jié)構(gòu)或特性。此外,這些短語可以不必引用同一實施例。此外,當結(jié)合實施例描述特定特征、結(jié)構(gòu)或特性時,不管是否明確地描述,應(yīng)當認為結(jié)合其他實施例實現(xiàn)這些特征、結(jié)構(gòu)和特性在本領(lǐng)域的技術(shù)人員的知識內(nèi)。
[0048]I1.寬基線立體的應(yīng)用
[0049]可以從包括立體成像、計算機輔助設(shè)計(CAD)軟件、光檢測和測距(LIDAR)和/或數(shù)據(jù)庫識別結(jié)構(gòu)的各種源取得三維模型。立體重構(gòu)技術(shù)可以應(yīng)用于由一個或多個相機從不同視點拍攝的地理區(qū)域的多個圖像。
[0050]立體重構(gòu)技術(shù)的示例是寬基線立體。寬基線立體可以用來從空中重構(gòu)建筑物??梢詮奈挥诤娇掌髦械南鄼C源,從多個位置和角度拍攝圖像。例如,可以從東、西、北和南航向拍攝建筑物的圖像,以及可以從幾百米遠的位置拍攝圖像。因此,那些建筑物的視圖在每一圖像中可以是不同的,以及可以從不同角度看見同一表面。圖像越遠,可以覆蓋的地理區(qū)域越寬。寬基線立體包括來自不同視點的圖像并且可以同時應(yīng)用于圖像以重構(gòu)整個場景。例如,寬基線立體可以同時應(yīng)用于50-100個圖像。
[0051]A.候選表面點
[0052]圖1是圖示根據(jù)實施例的使用第一立體重構(gòu)技術(shù)在從不同視點構(gòu)造的場景中確定的三維候選表面點的圖100。
[0053]圖100包括相機源101、102和103以及建筑物105、110和145。相機源101、102和103可以以各種傾斜或最低視角拍攝的地理區(qū)域的多個圖像。在示例中,圖像是地理區(qū)域的傾斜圖像。在成像中,檢測特征并且使它們相互關(guān)聯(lián)。可以從空中獲得的圖像和相機標定來生成三維數(shù)據(jù)點。使用已知的視點信息,從匹配特征來三角化三維空間中的點。以這種方式,可以從二維成像確定三維模型信息。
[0054]第一立體重構(gòu)技術(shù)可以是寬基線立體。在實施例中,使用寬基線立體,可以從多個圖像確定多個三維候選表面點。在示例中,寬基線立體確定地理區(qū)域的密集三維候選表面點云。
[0055]圖100包括從由相機源101、102和103拍攝的地理區(qū)域的多個圖像確定的建筑物105、110和145的多個三維候選表面點115、120、125、130和140。所確定的多個候選表面點可以是具有表示表面上的點的高可能性的三維點。
[0056]執(zhí)行寬基線立體的方法和技術(shù)對相關(guān)技術(shù)的普通技術(shù)人員來說是公知的。示例算法是基于塊的多視點立體(PMVS)?;谠诖说拿枋觯嚓P(guān)技術(shù)的普通技術(shù)人員將意識到可以使用其他算法。
[0057]B.候選表面點的可見性
[0058]對于一個或多個候選表面點,可以確定由相機拍攝的圖像中的候選表面點的可見性。如果基于拍攝圖像的相機的視角,候選表面點在圖像中是可見的,則將候選表面點視為可見。然而,在另一圖像中,基于拍攝圖像的相機的不同視角,該候選表面點可能被另一物體遮擋。如果基于拍攝該圖像的相機的視角,該候選表面點在該圖像中不可見,該候選表面點被認為不可見。每一候選表面點可以與相應(yīng)候選表面點是可見的圖像的列表相關(guān)聯(lián)。
[0059]在實施例中,識別多個候選表面點中的每一個和用于被確定為查看候選表面點的相應(yīng)圖像的每一相機模型之間的空白空間。候選表面點和被確定為查看候選表面點的圖像的相機模型之間的空間具有是空白空間的高可能性。同樣地,高可信度地確定從可見相機中心到可見點的線上的所有點是空白的。
[0060]例如,在圖100中,線段160從相機101延伸到候選表面點165。候選表面點165在多個三維候選表面點115中。線段160上的點具有作為表面點的低可能性,并且可以被確定為空白空間。線段160的預(yù)定半徑內(nèi)的點也可以具有作為表面點的低可能性。在實施例中,寬基線立體提供指示空白空間的可視光線作為輸出,并且可以通過識別可見光線來識別空白空間。
[0061]識別空白空間可以用在執(zhí)行場景的全重構(gòu)中。有關(guān)于此的更多細節(jié)如下。
[0062]C.候選表面點的曲面法線
[0063]—個或多個候選表面點在候選表面點的位置的表面上可以具有法向量。法向量能夠來自用來從圖像生成三維數(shù)據(jù)集的工具。
[0064]在實施例中,對于每一候選表面點,確定曲面法線。候選表面點的曲面法線垂直指向候選表面點處的表面。在圖100中,將用于每一候選表面點的曲面法線示為指向垂直于候選表面點處的表面的方向的箭頭。
[0065]在不例中,候選表面點165位于建筑物105的屋頂。箭頭在垂直于建筑物105的屋頂?shù)姆较蛑袕暮蜻x表面點105延伸。在另一不例中,候選表面點175位于建筑物110的側(cè)面。箭頭在垂直于建筑物110的側(cè)面的方向中從候選表面點175延伸。
[0066]有關(guān)候選表面點的曲面法線的更多細節(jié)如下。
[0067]II1.使用第二立體重構(gòu)技術(shù)來重構(gòu)表面
[0068]寬基線立體可以具有高精度和全一體重構(gòu)的優(yōu)點。然而,寬基線立體可能要求精確校準和可能具有困難的遮擋處理。
[0069]此外,寬基線立體通常謹慎。寬基線立體可能難以在包括具有反射屬性(例如水或玻璃)的物體或元件的圖像中或在包括被遮擋的物體(例如,從不同角度被建筑物遮擋的街道)的圖像中產(chǎn)生候選表面點。例如,在圖1中,由于難以識別由例如相機101、102和103拍攝的多個圖像中的可見表面,寬基線立體不能確定玻璃建筑物145上的候選表面點。這種困難可能是因為玻璃從不同角度具有不同外觀由此在不同圖像中具有不同的外觀,導(dǎo)致用于寬基線立體的不一致結(jié)果。而且,該困難可能是因為表面缺乏足夠的區(qū)別特征。因此,寬基線立體可能跳過這些點并且不將它們輸出為候選表面點。
[0070]如果三維點是位置處的表面點的可能性不滿足閾值,寬基線立體在那一位置將不產(chǎn)生任何三維點。這會導(dǎo)致洞或丟失區(qū)域。這里,可以使用第二立體重構(gòu)技術(shù)來補充寬基線立體以便修訂可能包括或不包括表面點的這些丟失區(qū)域。
[0071]可以使用來自寬基線立體的結(jié)果來初始化第二立體重構(gòu)技術(shù)。在實施例中,第二立體重構(gòu)技術(shù)是窄基線立體。窄基線立體可以具有對校正誤差不太敏感的優(yōu)點,并且鄰近對之間的相關(guān)校準可能相當準確。
[0072]寬基線立體從高可靠種子點開始并且盡可能地生長表面,而不要求感興趣界限的體積。寬基線點進而可以用來對用于窄基線立體的感興趣體積給出嚴格界限。定義感興趣體積可以是不微不足道的。例如,感興趣體積估計過高可能導(dǎo)致不必要的計算時間和存儲器或降低精度。
[0073]窄基線立體可能僅使用相鄰接近拍攝的一對鄰近圖像??梢杂稍趲缀跬粫r間點快速拍攝照片的同一相機來捕捉窄基線立體圖像。通常在相差幾秒內(nèi)捕捉圖像,意味著外觀保持不變,使圖片一致性計算更容易。同時,遮擋不太嚴重,以及在兩個圖像中大部分表面是可見的。這兩個圖像可能大致相同,因為在相機的視點方面沒有許多變化。例如,與寬基線立體相比,光照保持一致并且遮擋更不可能。因此,表面上的點在兩個不同照片中看起來相同有更高可信度。由此,與寬基線立體相比,使用窄基線立體匹配這些點可能相對更容易。
[0074]利用窄基線立體來補充寬基線立體可以避免錯誤,諸如確定圖像中的兩個建筑物之間的空間為連續(xù)的,而其不是。例如,一個或多個相機可以在某一角度捕捉兩個建筑物的圖像,使得在一些圖像中街道不可見,而在一些其他圖像中街道可見。因為不一致性,寬基線立體可能忽略街道表面而不重構(gòu)它們。然而,一對窄基線立體圖像可以查看沿該街道的一些點,并且窄基線可以重構(gòu)街道表面。
[0075]在另一示例中,寬基線立體在玻璃表面上可能具有不良質(zhì)量匹配,但具有來自周圍表面的足夠信息,窄基線立體可以能夠注意到表面點的弱表示并且相應(yīng)地填充表面點。
[0076]窄基線立體中的點的差異小于寬基線立體中的點的差異。差異可以指每一圖像中的特定點的像素坐標的差異。換句話說,差異可以指點在一個圖像中向另一個圖像移動多少。與寬基線立體相比,圖像中的點的運動在窄基線立體中更小。
[0077]在窄基線立體中,包括在兩個圖像中的特定點的差異可能小(例如,在圖像的大小或?qū)挾鹊?0%內(nèi))。例如,如果圖像包括1000X 1000像素并且兩個圖像中的特定點的差異為運動100像素或更小,窄基線立體可以應(yīng)用于圖像對。
[0078]相反,在寬基線立體中,包括在兩個圖像中的特定點的差異與窄基線立體相比更大。例如,用于寬基線立體的差異的典型范圍可能是圖像的50%或更大。在另一示例中,差異可能在10%至50%之間。在該示例中,圖像可能處于灰色區(qū)域。
[0079]可以依據(jù)在圖像之間應(yīng)用窄基線立體算法還是寬基線立體算法,以及所應(yīng)用的算法是否對圖像起作用,限定窄基線立體算法和寬基線立體算法。例如,如果算法以約90%精度恢復(fù)深度,則可以認為對窄基線立體有用。如果窄基線立體失敗,可以將寬基線立體應(yīng)用于圖像。
[0080]IV.窄基線立體的應(yīng)用
[0081]圖2是圖示根據(jù)實施例的使用第二立體重構(gòu)技術(shù)從一對圖像重構(gòu)的場景中確定的三維候選表面點的圖200。
[0082]圖200包括相機源201和202、以及建筑物105、110和145。相機源201和202可以是在不同時間點拍攝的地理區(qū)域的圖像的同一相機源,或可以是拍攝的地理區(qū)域的圖像的不同源。第二立體重構(gòu)技術(shù)可以應(yīng)用于由相機源201和202拍攝的圖像。
[0083]第二立體重構(gòu)技術(shù)可以是窄基線立體。在實施例中,使用窄基線立體,對于來自多個圖像的多個圖像對中的每一個,可以確定用于圖像對的表面估計。確定用于圖像對的表面估計可以包括確定感興趣體積中的每一點是表面點的可能性以及基于所確定的可能性來確定用于圖像對的表面估計。
[0084]A.感興趣體積
[0085]使用寬基線立體確定的候選表面點可以指示感興趣體積,通過該感興趣體積,可以應(yīng)用窄基線立體來確定表面估計。在示例中,將窄基線立體應(yīng)用于感興趣體積來搜索表面。使用寬基線立體來確定應(yīng)用窄基線立體的所限定的感興趣體積可以節(jié)省時間和處理能力,因為窄基線立體可能很昂貴。
[0086]感興趣體積可以包括候選表面點的位置。例如,感興趣體積可以包括指示表面的高可能性的候選表面點的位置。例如,窄基線立體可以應(yīng)用于包括多個候選表面點115、120、125、130和140的區(qū)域??梢允褂谜€立體來重構(gòu)使用寬基線立體確定的表面。
[0087]感興趣體積還可以包括指示表面的潛在存在的候選表面點的位置。在示例中,寬基線立體確定來自離地幾百米高(例如,位于250米高度)的建筑物的候選表面點。例如,再參考圖1,寬基線立體可以確定指示建筑物105和110的底部和頂部的候選表面點。寬基線立體可以不確定沿玻璃建筑物145的候選表面點,因為在圖像中看起來不同并且寬基線立體算法不能獲得一致讀數(shù)。因此,寬基線立體可以確定建筑物105和110上的候選表面點,而不能確定玻璃建筑物145上的候選表面點。
[0088]在圖2中,可以識別感興趣體積210,并且可以將窄基線立體應(yīng)用于感興趣體積210。感興趣體積210可以由建筑物105和110的底部和頂部限制,并且窄基線立體可以被約束在該范圍內(nèi)。窄基線立體可以從建筑物105上的最低確定的候選表面點(例如候選表面點170)的位置掃描到建筑物110的最低確定的候選表面點(例如候選表面點175),直到建筑物105和110的頂部為止。
[0089]B.表面可能性的體積表不
[0090]窄基線立體可以搜索感興趣體積210中的表面。在實施例中,確定感興趣體積210中的每一點是表面點的可能性。因此,可以對感興趣體積210中的每一點計算圖片一致性。對于感興趣體積中的一個或多個點,可以基于計算匹配分值來確定圖片一致性度量以便確定特定點是表面點的可能性。感興趣體積中的點是表面點的可能性的體積表示可以稱為圖片一致性體積或成本體積。
[0091]窄基線立體可以使用平面掃描方法來計算用于感興趣體積中的每一點的圖片一致性。圖片一致性分值可以指示該點的圖片一致性。窄基線立體算法可以在該范圍內(nèi)掃描。在實施例中,確定感興趣體積中的每一點是表面點的可能性包括確定包括感興趣體積中的點的平面,并且將被確定為查看該點的圖像投影在該平面上。例如,窄基線立體可以掃描通過空間(例如感興趣體積210)的平面220,并且當窄基線立體掃描平面220時,可以測試該空間中的每一點來確定平面是表面的可能性。平面220可以例如高于地面100米。窄基線立體可以確定匹配那一平面的表面的可能性。為了確定該平面是否包括表面,可以將所有圖像投影在那一平面上。如果平面與建筑物屋頂相交并且該平面非常接近建筑物屋頂,在那一點,圖像相符。
[0092]該點是表面點的可能性可以取決于各種因素,諸如那一點作為表面假設(shè)在圖像中有多匹配。例如,如果該點位于空中,如果通過那一點的成像的大部分具有大致相同的外觀,該點是表面點的可能性可能高。因此,該點可以是表面點的良好估計。如果這不成立,并且通過那一點的成像不具有大致相同的外觀,那么,該點是表面點的可能性可能低。因此,該點可能是表面點的不良估計。
[0093]可以通過合并使用寬基線立體識別的空白空間,來改進容積量。如所述,沿在多個候選表面點中的每一個和用于被確定為查看候選表面點的相應(yīng)圖像的每一相機模型之間的線段的點可以被識別為具有作為表面點的低可能性。沿該線段的這些點可以被識別為空白空間。感興趣體積210中的點是表面點的可能性可以基于該空白空間。在示例中,與當該點在空白空間外時相比,當該點位于空白空間中時,可能降低該點是表面點的可能性。在示例中,與當該點位于空白空間外時相比,當該點在空白空間中時,該點是表面點的可能性可能低。
[0094]在實施例中,將感興趣體積210中的每一點是表面點的可能性表示為體素網(wǎng)格。體素網(wǎng)格中的每一體素可以具有三維空間中的相關(guān)聯(lián)位置。體素網(wǎng)格可以包括感興趣體積中的每一點是表面點的可能性,以及可以進一步合并有關(guān)空白空間的知識??梢詼p小與在候選表面點和用于被確定為查看候選表面點的相應(yīng)圖像的每一相機模型之間的線段相交的體素的表面可能性。例如,體素網(wǎng)格可以包括空白空間,使得當與該點在空白空間外時相t匕,當該點在空白空間內(nèi)時,該點是表面點的可能性更低。存儲大量圖片一致性度量會消耗大量存儲器。
[0095]C.表面估計
[0096]可以同時對多個圖像執(zhí)行寬基線立體。相反,可以對鄰近圖像對執(zhí)行窄基線立體。窄基線立體產(chǎn)生用于每一圖像對的表面估計。可以通過識別穿過所有高可能性圖片一致性點的最小表面區(qū)域來確定表面估計。圖像對可以是來自基本上相同視點的表面的視圖。視點可以稍微不同,并且可以從基本上相同的視點重構(gòu)表面估計。
[0097]在實施例中,對于窄基線圖像對,使用圖分割技術(shù)來計算通過最多圖片一致性點的平滑表面,將實空間與空白空間分離??梢允褂脤捇€點來增加圖形加權(quán),使得該表面更可能通過具有作為表面點的高可能性的候選表面點并且不通過點和相機中心之間的空白空間。
[0098]在實施例中,可以通過識別具有與閾值匹配的、作為表面點的可能性的點,來確定用于圖像對的表面估計。在示例中,包括在空白空間中的三維點不滿足該閾值。在另一示例中,可以通過增加圖形加權(quán),使得表面估計通過滿足閾值的點并且不通過空白空間,來確定表面估計。
[0099]V.識別最終表面
[0100]在已經(jīng)重構(gòu)用于每一圖像對的表面估計后,可以合并表面估計來確定最終表面。窄基線表面估計不是統(tǒng)一的重構(gòu),因為對每一鄰近圖像對的場景,執(zhí)行一次重構(gòu),它們可能不一定一致。為了產(chǎn)生三維模型的單個統(tǒng)一表面,可以合并用于每一圖像對的表面估計來形成最終表面。最終表面可以是地理區(qū)域的表示。
[0101 ] 還可以使用寬基線候選表面點來形成最終表面。從窄基線立體重構(gòu)的最終表面可以與從寬基線立體重構(gòu)的表面合并??梢詮膶捇€立體候選點重構(gòu)表面,因為點也具有可以用來重構(gòu)表面的曲面法線。
[0102]A.有符號的距離函數(shù)
[0103]在構(gòu)建表面后,可以確定有符號的距離函數(shù)。可以通過確定體積表示中的點與表面之間的距離值,來確定有符號的距離函數(shù)。體積表示中的每一點可以與較短距離值關(guān)聯(lián)。例如,如果體積表示是體素網(wǎng)格,該距離值可以表示體素網(wǎng)格中的體素與表面之間的最短距離。對于每一輸入的體素,沿與三維模型的表面相關(guān)聯(lián)的視角,測量距離。更具體地說,可以沿從直接朝向虛擬相機或直接遠離虛擬相機的體素的射線,測量該距離。
[0104]該距離可以是有符號的距離值,意指其大小(絕對值)可以是點和表面之間的距離,但其可以為正或負。例如,所確定的距離值可以為正來表示從虛擬相機的視角,該體素位于該表面上,以及負的所確定的距離值表示從虛擬相機的視角看,該體素位于表面下。
[0105]圖3是圖示根據(jù)實施例的使用體素網(wǎng)格的各種距離測量的圖300。圖300示出具有相應(yīng)的虛擬相機302和304的三維模型312和314的表面??梢詫w素320,生成用于三維模型中的每一個的距離值。具體地,圖300示出用于模型312的距離332和用于模型314的距離334。如圖300中所示,將距離332測量為3m,意指體素320高于表面3123米,距離334測量為-7m,意指體素320位于表面314下7米。
[0106]如果將感興趣體積中的每一點是表面點的可能性的體積表示表示為體素網(wǎng)格,可以通過確定體素網(wǎng)格中的體素以及從該體素到表面估計的最短距離,從窄基線表面估計來構(gòu)建有符號的距離函數(shù)??梢院喜⑦@些有符號的距離函數(shù)來識別最終表面。有關(guān)于此的更多細節(jié)如下。
[0107]圖4是圖示根據(jù)實施例的用于窄基線表面估計410的有符號的距離函數(shù)的圖400。表面估計410是對窄基線圖像對確定的表面估計的示例。圖400示出離表面估計410的距離測量。例如,點420離表面估計410約+3米,并且比表面估計410高3米,而點430離表面估計410約-2米,并且比表面估計410低2米。具有離表面估計410為O的距離值的點為位于表面估計410上的表面點。
[0108]圖5是圖示根據(jù)實施例的用于寬基線候選表面點510的有符號的距離函數(shù)的圖500。在圖500中,在區(qū)域520內(nèi)示出位于候選表面點510附近的體素。區(qū)域520內(nèi)的體素可以在候選表面點510前或后??梢曰诤蜻x表面點510和位于候選表面點510附近的體素,對候選表面點510計算有符號的距離函數(shù)。以這種方式,每一候選表面點可以提供部分有符號的距離函數(shù)。
[0109]使用寬基線立體確定的每一候選表面點能視作部分有符號的距離函數(shù)。在每一點,基于該點的曲面法線,能狗構(gòu)造部分表面。在示例中,如果候選表面點的曲面法線向上,高于或低于那一點的列中的體素可以是創(chuàng)建用于那一列的有符號的距離函數(shù)的輸入并且可以添加到整個體積來確定總的有符號的距離函數(shù)。
[0110]B.合并有符號的距離函數(shù)
[0111]在實施例中,合并表面估計來使用有符號的距離函數(shù)確定最終表面。
[0112]在示例中,可以使用有符號的距離函數(shù)來合并用于每一圖像對的窄基線表面估計。在窄基線立體中,每一圖像對可以產(chǎn)生場景的表面估計,并且可以合并這些表面估計來獲得場景中的物體的最終表面。在示例中,可以合并用于每一窄基線表面估計的有符號的距離函數(shù)來確定總的有符號的距離函數(shù)。總的有符號的距離函數(shù)可以指示物體的最終表面。
[0113]圖6是圖示根據(jù)實施例的用于寬基線立體的候選表面點和用于窄基線立體的估計表面的圖600。圖600圖示估計表面610和620。對第一圖像對可以確定估計表面610,以及對不同于第一圖像對的第二圖像對,可以確定估計表面620。
[0114]圖600還圖示來自寬基線重構(gòu)的候選表面點630及其法線。用來產(chǎn)生用于窄基線立體的第一或第二圖像對的相機的位置之間的距離小于用來產(chǎn)生用在寬基線立體中的圖像對的相機的位置之間的距離。
[0115]可以整合窄基線表面估計來確定最終表面。在實施例中,將來自窄基線的表面整合成一個統(tǒng)一的有符號的距離函數(shù)框架。
[0116]寬基線候選表面點還可以與窄基線表面估計合并來確定最終表面。例如,在實施例中,可以將來自窄基線的表面和來自寬基線立體的候選表面點整合成一個統(tǒng)一的有符號的距離函數(shù)框架。在實施例中,確定用于多個寬基線候選表面點中的每一個的曲面法線,并且基于曲面法線來確定用于多個候選表面點中的每一個的表面估計。可以確定用于表面估計中的每一個的有符號的距離函數(shù)??梢詫⑦@些有符號的距離函數(shù)與基于窄基線立體的有符號的距離函數(shù)合并。
[0117]圖7是圖示根據(jù)實施例的可以確定有符號的距離函數(shù)的估計表面610和620、候選表面點630和橫截面705的圖700。橫截面705表不沿那一曲線的有符號的距離函數(shù)的一維函數(shù)。
[0118]圖8是圖示根據(jù)實施例的用于橫截面805的平均有符號的距離函數(shù)840的圖800。
[0119]圖800圖示線段810、820和830。線段810是沿橫截面705的用于表面估計610的有符號的距離函數(shù),線820是沿橫截面705的用于表面估計620的有符號的距離函數(shù),以及線830是沿橫截面705的用于候選表面點630的有符號的距離函數(shù)。
[0120]線段810、820和830中的每一個與橫截面805相交,并且橫截面805上的點可以對應(yīng)于橫截面705上的點。例如,線段810在點850處與橫截面805相交,以及點850對應(yīng)于圖7中的表面估計610與橫截面705相交的點。線段820在點855處與橫截面805相交,并且點855對應(yīng)于圖7中的表面估計620與橫截面705相交的點。線段830在點860處與橫截面805相交,并且點860對應(yīng)于圖7中的表面估計630與橫截面705相交的點。
[0121]對于橫截面805上的點,可以確定該點離特定表面有多遠。在實施例中,高于橫截面805的線段810、820和830的部分指示正向中離開表面并且進入空白空間的距離。類似地,低于橫截面805的線段810、820和830的部分指示負方向中低于表面的距離。
[0122]在另一實施例中,高于橫截面805的線段810、820和830的部分指示正向中低于表面的距離。類似地,低于橫截面805的線段810、820和830的部分指示負方向中距離表面并且進入空白空間中的距離。
[0123]零交叉點可以指有符號的距離函數(shù)穿過O或等于O的位置。該位置也可以稱為離表面為O距離。零交叉點可以指示表面上的點。
[0124]例如,橫截面805上的點850離表面估計610為O距離,并且表示表面估計610上的表面點,橫截面805上的點855離表面估計620為O距離,并且表示表面估計620上的表面點,以及橫截面805上的點860離表面估計630為O距離,并且表示候選表面點610上的表面點或其法線。
[0125]線段810、820和830是不同的,并且可以被合并來確定線段840。線段840是基于線段810、820和830的平均有符號的距離函數(shù)。線段840可以指示三維模型的最終表面上的點。在示例中,線段840的零交點可以指示三維模型的最終表面上的點。線段840在點865處與橫截面805相交,并且點865指示三維模型的最終表面上的點。當向用戶顯示三維模型時,可以顯示點865。
[0126]最終表面可以被提取為最終有符號的距離函數(shù)的零距離等值面。橫截面805通過最終表面并且可以近似地垂直于最終表面。
[0127]可以通過應(yīng)用將有符號的距離函數(shù)整合在一起的算法來合并有符號的距離函數(shù)。示例性有符號的距離函數(shù)是體積范圍圖像處理(VRIP)式網(wǎng)格算法。VRIP整合用于每一輸入表面的有符號的距離函數(shù),并且平均存在多個表面的位置的有符號的距離函數(shù)。然后,將最終表面提取為最終有符號的距離函數(shù)的零距離等值面??梢匀缤ㄟ^VRIP算法所述地計算用于每一窄基線表面和每一寬基線點的有符號的距離函數(shù)。可以稍微改變加權(quán)來使沿直接測量表面距離的圖像的視線的距離值置于更大置信度。
[0128]基于總有符號的距離函數(shù),可以通過在體素網(wǎng)格中的每一點確定零距離等值面,來從體素網(wǎng)格提取最終表面。在體素網(wǎng)格中具有O的距離值的點被確定為物體的最終表面。
[0129]總有符號的距離函數(shù)可以包括來自窄基線立體結(jié)果的每一有符號的距離函數(shù)和來自寬基線立體的候選表面點的有符號的距離函數(shù)的總和。這會導(dǎo)致能用來查看地理區(qū)域的高保真大范圍城市模型。
[0130]在圖800中,通過合并候選表面點和估計表面,來識別最終表面。
[0131]在另一實施例中,通過僅合并估計表面,來識別最終表面。在該實施例中,最終表面不包括候選表面點。這可能是因為候選表面點稀少。
[0132]1.示例系統(tǒng)
[0133]圖9是圖示例根據(jù)實施例的使用兩個不同的立體重構(gòu)技術(shù)來確定用于三維模型的最終表面的系統(tǒng)900的圖。系統(tǒng)900可以將第一立體重構(gòu)技術(shù)和第二立體重構(gòu)技術(shù)應(yīng)用于多個圖像。第一立體重構(gòu)技術(shù)不同于第二立體重構(gòu)技術(shù)。
[0134]系統(tǒng)900包括圖像數(shù)據(jù)庫901和表面重構(gòu)系統(tǒng)902。表面重構(gòu)系統(tǒng)902通過網(wǎng)絡(luò)904耦接到客戶端903。
[0135]圖像數(shù)據(jù)庫901包括由一個或多個相機從不同視角拍攝的地理區(qū)域的圖像??梢詮挠梢粋€或多個相機自不同視角拍攝的地理區(qū)域的多個圖像來確定三維模型。第一立體重構(gòu)技術(shù)和第二立體重構(gòu)技術(shù)可以應(yīng)用于圖像。
[0136]表面重構(gòu)系統(tǒng)902包括第一立體重構(gòu)技術(shù)引擎910、空白空間識別器920、第二立體重構(gòu)技術(shù)引擎930和合并引擎940。
[0137]第一立體重構(gòu)技術(shù)引擎910可以將多個圖像取做輸入并且將第一立體重構(gòu)技術(shù)應(yīng)用于多個圖像。第一立體重構(gòu)技術(shù)引擎910包括候選表面點引擎945和可見性引擎950。候選表面點引擎945使用第一立體重構(gòu)技術(shù)來從多個圖像確定多個三維候選表面點??梢娦砸?50使用第一立體重構(gòu)技術(shù)來確定多個圖像中的哪些圖像查看多個候選表面點中的每一個。
[0138]空白空間識別器920識別多個候選表面點中的每一個與通過可見性引擎950確定為查看候選表面點的相應(yīng)圖像的每一相機模型之間的空白空間。
[0139]第二立體重構(gòu)技術(shù)引擎930可以將來自多個圖像的一對圖像取做輸入,并且將第二立體重構(gòu)技術(shù)應(yīng)用于該對圖像。用來生成用于第二立體重構(gòu)技術(shù)的圖像對的相機的位置之間的距離小于用來生成用在第一立體重構(gòu)技術(shù)中的圖像對的相機的位置之間的距離。對于來自多個圖像的多個圖像對中的每一個,第二立體重構(gòu)技術(shù)引擎930使用第二立體重構(gòu)技術(shù)來確定用于圖像對的表面估計。
[0140]第二立體重構(gòu)技術(shù)引擎930包括可能性引擎955和表面估計器960。為了確定用于圖像對的表面估計,可能性引擎955基于由空白空間識別器920確定的空白空間確定感興趣體積中的每一點是表面點的可能性。該點是表面點的可能性在該點在空白空間內(nèi)時比在該點在空白空間外時小??赡苄砸?55基于所確定的可能性來確定該圖像對的表面估計。
[0141 ] 在實施例中,合并引擎940合并通過第二立體重構(gòu)技術(shù)弓I擎930確定的表面估計。例如,合并引擎940可以合并由表面估計器960確定的表面估計來識別最終表面。
[0142]在實施例中,合并引擎940合并由第一立體重構(gòu)技術(shù)引擎910和第二立體重構(gòu)技術(shù)引擎930確定的表面估計。例如,候選表面點引擎945可以基于候選表面點及其曲面法線來確定候選表面點的表面估計。合并引擎940可以合并由表面估計器960和候選表面點引擎945確定的表面估計來識別最終表面。
[0143]表面重構(gòu)系統(tǒng)902可以將包括最終表面的圖像發(fā)送到客戶端903,用于顯示給用戶。
[0144]可以在任意計算設(shè)備上實現(xiàn)表面重構(gòu)系統(tǒng)902和客戶端903。這些計算設(shè)備能包括但不限于個人計算機、諸如移動電話的移動裝置、工作站、嵌入式系統(tǒng)、游戲控制臺、電視、機頂盒或任何其他計算設(shè)備。此外,計算設(shè)備能包括但不限于具有處理器和用于執(zhí)行和存儲指令的存儲器的裝置。軟件可以包括一個或多個應(yīng)用和操作系統(tǒng)。硬件能包括但不限于處理器、存儲器和圖形用戶界面顯示器。計算設(shè)備還可以具有多個處理器和多個共享或分離存儲部件。例如,計算設(shè)備可以是集群計算環(huán)境或服務(wù)器群。
[0145]可以用硬件、軟件、固件或其任意組合實現(xiàn)空白空間識別器920、合并引擎940、候選表面點引擎945、可見性引擎950、可能性引擎955和表面估計器960中的每一個。
[0146]I1.示例性方法
[0147]圖10是圖示根據(jù)實施例的使用兩個不同的立體重構(gòu)技術(shù)來確定用于三維模型的最終表面的方法1000的流程圖。
[0148]在階段1005,將第一立體重構(gòu)技術(shù)應(yīng)用于多個圖像。階段1005可以包括階段1010和1015。在階段1010,使用第一立體重構(gòu)技術(shù),確定來自多個圖像的多個三維候選表面點。在階段1015,確定多個圖像中的哪些圖像查看多個候選表面點中的每一個。
[0149]在階段1020,識別多個候選表面點中的每一個和在階段1015確定為查看候選表面點的相應(yīng)圖像的每一相機模型之間的空白空間。
[0150]在階段1025,將第二立體重構(gòu)技術(shù)應(yīng)用于來自多個圖像的多個圖像對。階段1025可以包括階段1030。階段1030,對于來自多個圖像的多個圖像對中的每一個,使用第二立體重構(gòu)技術(shù),確定用于圖像對的表面估計。
[0151]階段1030可以包括階段1035和1040。在階段1035,基于在階段1020識別的空白空間來確定感興趣體積中的每一點是表面點的可能性,使得該點是表面點的可能性在該點在空白空間內(nèi)時比在該點在空白空間外時小。在階段1040,基于在階段1035確定的可能性,確定用于圖像對的表面估計。用來生成用于第二立體重構(gòu)技術(shù)的圖像對的相機的位置之間的距離小于用來生成用在第一立體重構(gòu)技術(shù)中的圖像對的相機的位置之間的距離。
[0152]在階段1045,合并在階段1030確定的表面估計來識別最終表面。
[0153]VII1.示例性計算機實施例
[0154]在實施例中,使用非常公知的計算機來實現(xiàn)在此所述的實施例的系統(tǒng)和部件。例如,可以使用系統(tǒng)1100來實現(xiàn)表面重構(gòu)系統(tǒng)902。
[0155]圖11圖示一種示例性計算機系統(tǒng)1100,其中,可以將實施例實現(xiàn)為計算機可讀代碼。硬件、軟件或其任意組合可以體現(xiàn)圖9中的模塊和部件的任何一個。
[0156]如果使用可編程邏輯,這些邏輯可以在商業(yè)上可獲得的處理平臺或?qū)S醚b置上執(zhí)行。本領(lǐng)域的技術(shù)人員可以意識到能通過各種計算機系統(tǒng)結(jié)構(gòu),包括多核微處理器系統(tǒng)、微計算機、主機、與分布式功能鏈接或集群的計算機、以及可以嵌入幾乎任何裝置中的普遍或小型計算機,來實施所公開的主題的實施例。
[0157]例如,可以使用具有至少一個處理器裝置和存儲器的計算設(shè)備來實現(xiàn)上述實施例。處理器裝置可以是單一處理器、多個處理器或其組合。處理器裝置可以具有一個或多個處理器“內(nèi)核”。
[0158]根據(jù)該示例性計算機系統(tǒng)110,描述了各個實施例。在閱讀本說明書后,對本領(lǐng)域的技術(shù)人員來說,使用其他計算機系統(tǒng)和/或計算機體系結(jié)構(gòu)如何實現(xiàn)實施例將變得顯而易見。盡管操作可以被描述為順序過程,但事實上,可以以并行、同時和/或分布式環(huán)境中以及通過局部或遠程存儲的由單一或多處理器機器訪問的程序代碼執(zhí)行一些操作。此外,在一些實施例中,在不背離所公開的主題的精神的情況下,可以重新排列操作的順序。
[0159]處理器裝置1104可以是專用或通用處理器裝置。如相關(guān)技術(shù)的技術(shù)人員將意識至|J,處理器裝置1104還可以是多內(nèi)核/多處理器系統(tǒng)中的單一處理器,該系統(tǒng)單獨或在集群或服務(wù)器群中操作的計算設(shè)備集群中操作。處理器裝置1104連接到通信基礎(chǔ)設(shè)施1106,例如總線、消息隊列、網(wǎng)絡(luò)或多內(nèi)核消息傳遞方案。計算機系統(tǒng)1100還可以包括顯示接口1102和顯示器單元1130。顯示接口 1102允許計算機操作的結(jié)果經(jīng)顯示器單元1130顯示給用戶或應(yīng)用開發(fā)者。
[0160]計算機系統(tǒng)1100還包括主存儲器1108,例如隨機存取存儲器(RAM),以及還可以包括輔助存儲器1110。輔助存儲器1110可以包括例如硬盤驅(qū)動1112和可移動存儲驅(qū)動1114。可移動存儲驅(qū)動1114可以包括軟盤驅(qū)動、磁帶驅(qū)動、光盤驅(qū)動、閃存等等??梢苿哟鎯ρb置1114以非常公知的方式從可移動存儲單元1118讀取和/或?qū)懭朐摽梢苿哟鎯卧?118。可移動存儲單元1118可以包括由可移動存儲驅(qū)動1114讀取和寫入的軟盤、磁帶、光盤等等。如相關(guān)領(lǐng)域的技術(shù)人員將意識到,可移動存儲單元1118包括其中存儲計算機軟件和/或數(shù)據(jù)的計算機可用存儲介質(zhì)。
[0161]在替選的實現(xiàn)中,輔助存儲器1110可以包括其他類似的裝置,用于允許計算機程序或其他指令加載到計算機系統(tǒng)1100中。這些裝置可以包括例如可移動存儲單元1122和接口 1120。這些裝置的示例可以包括程序盒和盒接口(諸如在視頻游戲裝置中所找到的)、可移動存儲芯片(諸如EPROM或PR0M)和相關(guān)聯(lián)的插槽以及允許軟件和數(shù)據(jù)從可移動存儲單元1122傳輸?shù)接嬎銠C系統(tǒng)1100的其他可移動存儲單元1122和接口 1120。
[0162]計算機系統(tǒng)1100還可以包括通信接口 1124。通信接口 1124允許在計算機系統(tǒng)1100和外部裝置之間傳輸軟件和數(shù)據(jù)。通信接口 1124可以包括調(diào)制解調(diào)器、網(wǎng)絡(luò)接口(諸如以太網(wǎng)卡)、通信端口、PCMCIA插槽和卡等等。經(jīng)通信接口 1124傳送的軟件和數(shù)據(jù)可以以信號的形式,其可以是電、電磁、光或其他信號,能由通信接口 1124接收??梢越?jīng)通信路徑1126,將這些信號提供給通信接口 1124。通信路徑1126承載信號并且可以使用線或電纜、光纖、電話線、蜂窩電話鏈路、RF鏈路或其他通信信道實現(xiàn)。
[0163]在該文檔中,術(shù)語“計算機程序介質(zhì)”和“計算機可用介質(zhì)”用來通稱介質(zhì),諸如可移動存儲單元1118、可移動存儲單元1122和安裝在硬盤驅(qū)動1112中的硬盤。計算機程序介質(zhì)和計算機可用介質(zhì)也可以指代存儲器,諸如主存儲器1108和輔助存儲器1110,其可以是存儲器半導(dǎo)體(例如DRAM等等)。
[0164]計算機程序(也稱為計算機控制邏輯)存儲在主存儲器1108和/或輔助存儲器1110中。計算機程序還可以經(jīng)通信接口 1124接收。這些計算機程序當被執(zhí)行時使計算機系統(tǒng)1100實現(xiàn)在此所述的實施例。具體地,計算機程序當被執(zhí)行時使處理器裝置1104實現(xiàn)過程,諸如在由上述圖9的流程圖900中所示的方法中的階段。因此,這些計算機程序表示計算機系統(tǒng)1100的控制器。在使用軟件實現(xiàn)實施例的情況下,軟件可以存儲在計算機程序產(chǎn)品中并且使用可移動存儲單元1114、接口 1120和硬盤驅(qū)動1112或通信接口 1124加載到計算機系統(tǒng)1100中。
[0165]實施例還可以針對包括存儲在任何計算機可用介質(zhì)上的軟件的計算機程序產(chǎn)品。該軟件當在一個或多個數(shù)據(jù)處理裝置中被執(zhí)行時使數(shù)據(jù)處理裝置如在此所述操作。實施例采用任何計算機可用或可讀介質(zhì)。計算機可用介質(zhì)的示例包括但不限于主存儲裝置(例如,任何類型的隨機存取存儲器)、輔助存儲裝置(例如,硬驅(qū)動、軟盤、⑶ROM、ZIP盤、帶、磁存儲裝置和光存儲裝置、MEMS、納米技術(shù)存儲裝置等等)。
[0166]
【發(fā)明內(nèi)容】
和摘要部分可以闡述由發(fā)明人預(yù)期的本發(fā)明的一個或多個但并非全部示例性實施例,由此,不意在以任何方式限定本發(fā)明和所附的權(quán)利要求。
[0167]在上文中,已經(jīng)借助于說明特定功能及其關(guān)系的實現(xiàn)的功能構(gòu)建塊描述了本發(fā)明。為了描述方便,在此任意限定這些功能構(gòu)件塊的邊界。能夠限定替選邊界,只要適當?shù)貓?zhí)行特定功能及其關(guān)系。
[0168]特定實施例的上述描述將全面地展示本發(fā)明的一般特性,使得通過應(yīng)用本領(lǐng)域的技術(shù)人員內(nèi)的知識,其他人能易于修改和/或適配各種應(yīng)用,諸如特定實施例,無需過度實驗,而不背離本發(fā)明的一般概念。因此,這些適配和改進旨在基于在此提出的教導(dǎo)和指導(dǎo)在所公開的實施例的等同物的意義和范圍內(nèi)。將理解到在此的措辭或術(shù)語為了描述而不是限定目的,使得本說明書的術(shù)語或措辭將由技術(shù)人員鑒于教導(dǎo)和指導(dǎo)解釋。
[0169]本發(fā)明的寬度和范圍不應(yīng)當受上述示例性實施例的任何一個限定,而是應(yīng)當僅根據(jù)下述權(quán)利要求書及其等同物限定。
【權(quán)利要求】
1.一種用于從由一個或多個相機自不同視角對一個地理區(qū)域拍攝的多個圖像確定三維模型的方法,包括: (a)使用第一立體重構(gòu)技術(shù)來:(i)從所述多個圖像確定多個三維候選表面點,以及(?)確定所述多個圖像中的哪些圖像查看所述多個候選表面點中的每一個; (b)識別所述多個候選表面點中的每一個候選表面點與用于在(a)中確定為查看該候選表面點的相應(yīng)圖像的每一相機模型之間的空白空間; (c)對于來自所述多個圖像中的多個圖像對中的每一個圖像對,使用第二立體重構(gòu)技術(shù)來確定用于該圖像對的表面估計,確定用于該圖像對的表面估計(c)包括: (i)基于在(b)中識別的空白空間,確定感興趣體積中的每一點是表面點的可能性,使得所述點是表面點的可能性在所述點在所述空白空間內(nèi)時比在所述點在所述空白空間外時小;以及 (?)基于在(c)⑴中確定的可能性,確定用于該圖像對的表面估計, 其中,用來生成用于所述第二立體重構(gòu)技術(shù)的該圖像對的相機的位置之間的距離小于用來生成用在所述第一立體重構(gòu)技術(shù)中的圖像對的相機的位置之間的距離;以及 (d)合并在(C)中確定的表面估計來識別最終表面。
2.如權(quán)利要求1所述的方法,其中,將所述感興趣體積中的每一點是表面點的可能性表示為體素網(wǎng)格,所述方法進一步包括: (e)確定所述體素網(wǎng)格中的每一點和在(c)(?)中確定的表面估計之間的最短距離;以及 (f)基于在(e)中確定的最短距離,確定用于所述體素網(wǎng)格中的每一點的有符號的距離函數(shù), 其中,所述合并⑷包括合并在(f)中確定的有符號的距離函數(shù)。
3.如權(quán)利要求2所述的方法,其中,所述確定(a)包括對于所述多個候選表面點中的每一個,確定曲面法線,所述方法進一步包括: (g)基于所述曲面法線,確定用于所述多個候選表面點中的每一個的表面估計;以及 (h)對于在(g)中確定的每一表面估計,確定有符號的距離函數(shù), 其中,所述合并⑷包括合并在(h)中確定的有符號的距離函數(shù)。
4.如權(quán)利要求1所述的方法,其中,所述確定(a)包括將指示空白空間的可見光線提供為輸出并且所述識別空白空間(b)包括識別所述可見光線。
5.如權(quán)利要求1所述的方法,進一步包括基于所述候選表面點來識別所述感興趣體積。
6.如權(quán)利要求1所述的方法,其中,所述確定用于圖像對的表面估計(c)(?)包括識別具有作為與閾值匹配的表面點的可能性的點。
7.如權(quán)利要求6所述的方法,其中,包括在所述空白空間中的三維點不滿足所述閾值。
8.如權(quán)利要求1所述的方法,其中,確定表面估計(c)(?)包括增加圖形加權(quán),使得所述表面估計通過滿足閾值的點并且不通過所述空白空間。
9.如權(quán)利要求1所述的方法,其中,確定感興趣體積中的每一點是表面點的可能性(c)(i)包括:確定包括在所述感興趣體積中的點的平面,并且將被確定為查看所述點的圖像投影在所述平面上。
10.如權(quán)利要求1所述的方法,其中,所述第一立體重構(gòu)技術(shù)是寬基線立體以及所述第二立體重構(gòu)技術(shù)是窄基線立體。
11.如權(quán)利要求1所述的方法,其中,所述圖像中的每一個是地理區(qū)域的傾斜圖像。
12.如權(quán)利要求1所述的方法,其中,所述最終表面是所述地理區(qū)域的表示。
13.一種用于從由一個或多個相機自不同視角對一個地理區(qū)域拍攝的多個圖像確定三維模型的系統(tǒng),包括: 至少一個計算裝置; 在所述至少一個計算裝置上實現(xiàn)的寬基線立體引擎,所述寬基線立體引擎被配置成:(i)從所述多個圖像確定多個三維候選表面點,以及(ii)確定所述多個圖像中的哪些圖像查看所述多個候選表面點中的每一個; 在所述至少一個計算裝置上實現(xiàn)的空白空間識別器,所述空白空間識別器被配置成:識別所述多個候選表面點中的每一個候選表面點與由所述寬基線立體引擎確定為查看該候選表面點的相應(yīng)圖像的每一相機模型之間的空白空間; 在所述至少一個計算裝置上實現(xiàn)的感興趣體積識別器,所述感興趣體積識別器被配置成:對于來自所述多個圖像中的多個圖像對中的每一個圖像對,識別該圖像對中的感興趣體積; 在所述至少一個計算裝置上實現(xiàn)的體素網(wǎng)格,所述體素網(wǎng)格被配置成:存儲用于所述感興趣體積中的每一點的圖片一致性分值; 在所述至少一個計算裝置上實現(xiàn)的窄基線立體引擎,所述窄基線立體引擎被配置成:對于來自所述多個圖像中的多個圖像對中的每一個圖像對:(i)確定所述感興趣體積中的平面;(ii)將被確定為查看所述點的圖像投影在所述平面上;(iii)基于該投影計算用于所述平面中的每一點的圖片一致性分值,其中在所述空白空間內(nèi)的第一點的圖片一致性分值低于在所述空白空間外的第二點的圖片一致性分值,以及(iv)基于所述體素網(wǎng)格中的圖片一致性分值確定表面估計,其中所述表面估計包括滿足閾值的圖片一致性分值;以及 在所述至少一個計算裝置上實現(xiàn)的合并引擎,所述合并引擎被配置成:合并由所述窄基線立體引擎確定的表面估計來確定最終表面。
14.如權(quán)利要求13所述的系統(tǒng),其中,所述最終表面是所述地理區(qū)域的表示。
15.如權(quán)利要求13所述的系統(tǒng),其中,所述寬基線立體引擎被配置成將指示所述空白空間的可見光線提供為輸出,以及所述空白空間識別器被配置成識別包括所述可見光線的所述空白空間。
16.如權(quán)利要求13所述的系統(tǒng),其中,所述合并引擎被配置成確定用于每一窄基線表面估計的有符號的距離函數(shù),以及當所述合并引擎合并由所述窄基線立體引擎確定的表面估計時,所述合并引擎合并用于每一窄基線表面估計的有符號的距離函數(shù)來確定所述最終表面。
17.如權(quán)利要求16所述的系統(tǒng),其中,所述合并引擎被配置成將所述最終表面提取為所述有符號的距離函數(shù)的零距離等值面表面。
18.如權(quán)利要求13所述的系統(tǒng),其中,所述寬基線立體引擎被配置成確定用于所述多個三維候選表面點中的每一個的曲面法線,以及(iv)基于所述三維候選表面點和所述三維候選表面點的曲面法線來確定用于所述多個三維候選表面點中的每一個的寬基線表面估計;以及 當所述合并引擎合并由所述窄基線立體引擎確定的表面估計來確定最終表面時,所述合并引擎被配置成將由所述窄基線立體引擎確定的表面估計與由所述寬基線立體引擎確定的寬基線表面估計合并。
19.一種編碼有計算機程序的計算機可讀存儲介質(zhì),所述程序包括當由一個或多個處理器執(zhí)行時使所述一個或多個處理執(zhí)行下述操作的指令: (a)使用第一立體重構(gòu)技術(shù),(i)從所述多個圖像確定多個三維候選表面點,以及(ii)確定所述多個圖像中的哪些圖像查看所述多個候選表面點中的每一個; (b)識別所述多個候選表面點中的每一個候選表面點與用于在(a)中確定為查看該候選表面點的相應(yīng)圖像的每一相機模型之間的空白空間; (C)對于來自所述多個圖像中的多個圖像對中的每一個圖像對,使用第二立體重構(gòu)技術(shù)來確定用于該圖像對的表面估計,其中所述程序包括當由一個或多個處理器執(zhí)行時使所述一個或多個處理執(zhí)行使用第二立體重構(gòu)技術(shù)來確定用于該圖像對的表面估計的操作的指令,進一步使得所述一個或多個處理器執(zhí)行以下操作: (i)基于在(b)中識別的空白空間,確定感興趣體積中的每一點是表面點的可能性,使得所述點是表面點的可能性在所述點在所述空白空間內(nèi)時比在所述點在所述空白空間外時??;以及 (ii)基于在(c)⑴中確定的可能性,確定用于該圖像對的表面估計, 其中,用來生成用于所述第二立體重構(gòu)技術(shù)的該圖像對的相機的位置之間的距離小于用來生成用在所述第一立體重構(gòu)技術(shù)中的圖像對的相機的位置之間的距離;以及 (d)合并在(C)中確定的表面估計來識別最終表面。
20.如權(quán)利要求19所述的計算機可讀存儲介質(zhì),其中,所述最終表面是所述地理區(qū)域的表示。
21.一種用于從由一個或多個相機自不同視角對一個地理區(qū)域拍攝的多個圖像確定三維模型的方法,包括: (a)使用寬基線立體從所述多個圖像確定多個三維候選表面點; (b)使用寬基線立體來識別所述多個候選表面點中的每一個候選表面點與用于查看該候選表面點的相應(yīng)圖像的每一相機模型之間的空白空間; (c)對于來自所述多個圖像中的多個圖像對中的每一個圖像對,使用窄基線立體來基于所述多個候選表面點和所述空白空間確定用于該圖像對的表面估計;以及 (d)合并在(C)中確定的表面估計來識別最終表面。
【文檔編號】G06T17/00GK104350525SQ201380027462
【公開日】2015年2月11日 申請日期:2013年5月9日 優(yōu)先權(quán)日:2012年5月25日
【發(fā)明者】戴維·蓋洛普, 阿萊克?!じ曷鍦厮够? 邁克爾·紅邁·林, 蒂爾曼·賴因哈特 申請人:谷歌公司