基于置信分值來合并三維模型的制作方法
【專利摘要】在一個實(shí)施例中,一個方法對多個三維模型進(jìn)行合并,該多個三維模型的每一個已從具有不同視點(diǎn)的相機(jī)的圖像來生成。對于在多個體素中的各個體素,確定多個距離值。每一個確定的距離值是從該體素沿著用來生成來自多個三維模型的三維模型的相機(jī)模型的角度到該三維模型的距離。當(dāng)所確定的距離值中的至少一個指示在該體素與該三維模型之間的距離超過閾值并且該體素位于對應(yīng)三維模型之上時,確定指示對應(yīng)三維模型的相機(jī)模型的視角被定向?yàn)槊嫦蛟擉w素的程度的置信分值?;谒_定的置信分值,確定進(jìn)入合并的三維模型的體素。
【專利說明】基于置信分值來合并三維模型
【技術(shù)領(lǐng)域】
[0001]實(shí)施例總體上涉及三維建模。
【背景技術(shù)】
[0002]攝影者經(jīng)常從高處,諸如從飛機(jī),拍攝地球的圖像??梢詮牟煌暯?perspective)拍攝這樣的航空照片。根據(jù)航空照片,可以使用例如立體匹配來構(gòu)建三維模型。使用立體匹配來構(gòu)建的模型可能不是完全準(zhǔn)確的。例如,由于隱含圖像的變化、相機(jī)視角的不準(zhǔn)確以及立體匹配算法的限制,可能會引入不準(zhǔn)確。
[0003]所構(gòu)建的三維模型可以具有相關(guān)聯(lián)的視角。例如,可以從相關(guān)聯(lián)的視角將三維模型表示為深度圖。每一個深度圖可以提供在名義“相機(jī)”與場景的表面之間的每像素距離。雖然深度圖可以能夠描述從其相關(guān)聯(lián)的視角顯而易見的表面的三維特征,然而,深度圖可能不能描述從其視角被遮掩的三維特征。出于這個原因,可能需要具有不同視角的多個深度圖來完整地描述三維場景。
【發(fā)明內(nèi)容】
[0004]實(shí)施例對使用不同視點(diǎn)來生成的多個深度圖進(jìn)行合并。在一個實(shí)施例中,一種方法對多個三維模型進(jìn)行合并,該多個三維模型的每一個已從具有不同視點(diǎn)的相機(jī)的圖像來生成。該方法包括確定在三維空間中的多個體素(voxel)。對于該多個體素中的各個體素,確定多個距離值。每一個確定的距離值是從該體素沿著用來生成三維模型的相機(jī)模型的視角到該三維模型的距離。當(dāng)所確定的距離值中的至少一個指示在該體素與對應(yīng)三維模型之間的距離在閾值內(nèi)或該體素位于對應(yīng)三維模型之上時,確定指示對應(yīng)三維模型的相機(jī)模型的視角被定向?yàn)槊嫦蛟擉w素的程度的置信分值,并且至少部分基于所確定的置信分值來確定是否將與該體素相對應(yīng)的點(diǎn)包括入合并的三維模型。
[0005]還公開了系統(tǒng)和計算機(jī)程序產(chǎn)品實(shí)施例。
[0006]在下面參考附圖詳細(xì)地描述了本發(fā)明的進(jìn)一步實(shí)施例、特征和優(yōu)勢以及本發(fā)明的各種實(shí)施例的結(jié)構(gòu)和操作。
【專利附圖】
【附圖說明】
[0007]并入本文并且形成本說明書的一部分的附圖圖示了本發(fā)明,并且與描述一起,進(jìn)一步用來說明本發(fā)明的原理,以使相關(guān)領(lǐng)域技術(shù)人員能夠制作并使用本發(fā)明。
[0008]圖1是圖示從不同視點(diǎn)構(gòu)建的場景的深度圖的圖。
[0009]圖2是圖示根據(jù)實(shí)施例的、用于合并深度圖的方法的流程圖。
[0010]圖3是圖示圖1中的場景的體素網(wǎng)格的圖。
[0011]圖4A-B是圖示使用體素網(wǎng)格的距離測量的圖。
[0012]圖5是圖示如何為距離測量確定置信分值的圖。
[0013]圖6是圖示從帶符號的距離場對合并的三維模型的構(gòu)建的圖。[0014]圖7是圖示根據(jù)實(shí)施例的、用于合并深度圖的系統(tǒng)的圖。
[0015]元素在其中首次出現(xiàn)的附圖典型地由相應(yīng)參考數(shù)字中的一個或多個最左邊數(shù)字指示。在附圖中,相同的參考數(shù)字可以指示相同或功能相似的元素。
【具體實(shí)施方式】
[0016]如上所述,可能需要具有不同視角的多個深度圖來完整地描述三維場景。為了產(chǎn)生整個三維場景的表示,該多個深度圖可能需要被合并成單個三維表示。更大程度地合并多個深度圖的一種方式可以是取得交集。為了取得交集,將移除在任何測量的深度值之上的任何體素。然而,這種技術(shù)可能遭受缺陷。具體地,深度圖指示三維特征比其實(shí)際上深的任何錯誤測量可能被傳播入合并的深度圖。
[0017]為了應(yīng)對深度圖中的噪聲,其他技術(shù)可以對測量求平均來合并深度圖。然而,如上所述,深度圖可能僅描述從其相關(guān)聯(lián)的視角顯而易見的三維特征??赡芨静辉谏疃葓D中表示被遮掩的三維特征。類似地,只能在深度圖中以低分辨率來表示沒有面向深度圖的視角的特征。將這些深度圖測量與來自具有三維特征的更直接視圖的深度圖的測量一起求平均可能降低合并的深度圖的準(zhǔn)確性。
[0018]為了至少部分處理缺點(diǎn),實(shí)施例基于與深度圖測量相關(guān)聯(lián)的置信水平來選擇哪些深度圖測量被合并入最終三維模型。
[0019]在一個實(shí)施例中,可以使用各種深度圖來確定包括多個體素的帶符號的距離場。可以對帶符號的距離場中的每一個體素進(jìn)行估算,并且基于如何估算,可以為像素采取三個操作中的一個來幫助確定合并的三維模型。第一,給定閾值距離“t”,當(dāng)帶符號的距離值中的至少一個小于_t時,可以使體素保持為空(例如,為其分配大的負(fù)值)。使體素保持為空可以將該體素從合并的三維模型切割出。第二,如果任何帶符號的距離值在_t和t之間,則可以將體素的帶符號的距離設(shè)置成這些值的平均值。通過取得兩個值的平均值,可以在該體素處合并兩個合并深度圖。第三,如果任何帶符號的距離值大于t,則可以填充體素(即,為其分配大的正值)。以這種方式,可以對每一個體素進(jìn)行切割、合并或填充來確定在合并的三維模型中的對應(yīng)體素。
[0020]在隨后對實(shí)施例的詳細(xì)描述中,對“一個實(shí)施例”、“實(shí)施例”、“示例實(shí)施例”等的引用指示所述實(shí)施例可以包括特定特征、結(jié)構(gòu)或特性,但是每個實(shí)施例可以不必都包括該特定特征、結(jié)構(gòu)或特性。此外,這樣的短語不一定是指相同實(shí)施例。進(jìn)一步,當(dāng)結(jié)合實(shí)施例描述特定特征、結(jié)構(gòu)或特性時,認(rèn)為無論是否明確描述,結(jié)合其他實(shí)施例實(shí)現(xiàn)這樣的特征、結(jié)構(gòu)或特性在本領(lǐng)域技術(shù)人員的知識范圍內(nèi)。
[0021]雖然出于說明目的,附圖圖示了二維截面,然而,本領(lǐng)域技術(shù)人員將認(rèn)識到,所述截面可以表示三維元素。
[0022]圖1示出了圖示從不同視點(diǎn)構(gòu)建的場景的深度圖的圖100。圖100圖示了從虛擬相機(jī)102構(gòu)建的三維模型112和從虛擬相機(jī)104構(gòu)建的三維模型114。三維模型112和114兩者均可以表示建筑物130。
[0023]三維模型112和114可以是從航空或衛(wèi)星圖像生成的立體重構(gòu)。圖像可以由架空相機(jī)在各種傾斜或最低點(diǎn)視角拍攝。在圖像中,特征被檢測并且相互關(guān)聯(lián)。使用已知的視角信息,從匹配的特征對三維空間中的點(diǎn)作三角測量??梢允褂眠@些點(diǎn)來從兩個圖像確定立體網(wǎng)。以這種方式,可以從二維圖像確定三維模型信息。
[0024]然而,三維模型信息還可以具有相關(guān)聯(lián)的視角信息。例如,可以從特定虛擬相機(jī)重構(gòu)三維模型信息。在一個實(shí)施例中,可以將使用至少兩個圖像的立體重構(gòu)來確定的立體網(wǎng)投影回到特定相機(jī)視點(diǎn)。在三維模型被表示為深度圖的實(shí)施例中,投影中的每一個像素可以具有指示從名義相機(jī)視角到在該像素處的立體網(wǎng)的距離的值。在三維模型被表示為高度場的實(shí)施例中,投影中的每一個像素可以具有指示在該像素處的立體網(wǎng)的高度的值。在任一實(shí)施例中,每一個立體網(wǎng)自身的三維模型具有相關(guān)聯(lián)的視角信息。三維模型可以是可以為其計算帶符號的距離的任何其他類型的表面,例如,閉合的網(wǎng)或另一個帶符號的距離場。
[0025]在圖100中,通過虛擬相機(jī)102和104圖示了模型112和114的視角信息。虛擬相機(jī)102和104中的每一個可以包括為對應(yīng)深度圖或高度場指定視角或視點(diǎn)所需的所有信息。例如,每一個虛擬相機(jī)模型可以具有對應(yīng)位置、朝向和視場。此外,每一個虛擬相機(jī)模型可以是正射或平行投影。
[0026]為了產(chǎn)生單個統(tǒng)一三維模型,實(shí)施例將三維模型112和三維模型114進(jìn)行合并。如上所述,合并模型112和114的一種方式可以是取得該兩個模型的交集。然而,當(dāng)應(yīng)用這種技術(shù)時,指示建筑物130比其實(shí)際上低的模型112和114中的任何錯誤將被傳播到最終合并的模型。在圖100中,例如,模型114指示建筑物130在區(qū)域124比其實(shí)際上低。如果使模型相交,則該錯誤將被傳播到最終合并的模型。為了至少部分避免這個錯誤,實(shí)施例基于與深度圖測量相關(guān)聯(lián)的置信水平來選擇哪些深度圖測量被合并入最終三維模型。在圖2中圖示了如何確定哪些深度圖測量被合并入最終三維模型。
[0027]圖2是圖示根據(jù)實(shí)施例的、用于合并深度圖的方法200的流程圖。參考圖3-6中圖示的示例描述了方法200。
[0028]方法200在步驟202開始,其中對體素網(wǎng)格進(jìn)行構(gòu)建。體素網(wǎng)格可以是帶符號的距離場。可以根據(jù)輸入三維模型數(shù)據(jù)的分辨率或合并的三維模型的期望分辨率來構(gòu)建體素網(wǎng)格。隨著輸入或期望的輸出三維模型的分辨率增加,體素網(wǎng)格可以更精細(xì)。參考圖3說明了示例體素網(wǎng)格。
[0029]圖3示出了圖示圖1中的場景的體素網(wǎng)格的圖300。體素網(wǎng)格中的每一個體素可以具有在三維空間的相關(guān)聯(lián)的位置。體素可以跨三維環(huán)境規(guī)則間隔。體素網(wǎng)格中的每一個體素可以關(guān)于其是否是合并的三維模型的部分被獨(dú)立地估算。
[0030]圖300中的體素網(wǎng)格中的體素被示出為以連續(xù)分辨率規(guī)則間隔。然而,技術(shù)人員將認(rèn)識到,其他實(shí)施例可以涉及自適應(yīng)分辨率。憑借自適應(yīng)分辨率,替代在規(guī)則間隔的體素處取樣,取樣點(diǎn)可以接近于表面更密集,但是遠(yuǎn)離表面不那么密集。該實(shí)施例可以用更少的存儲器使用提供更多的細(xì)節(jié)。參考回圖2,每一個體素或取樣點(diǎn)的估算在方法200中的步驟204開始。
[0031]在步驟204,為每一個輸入的三維模型確定距離值。具體地,該距離值可以表示在體素網(wǎng)格中的體素和該三維模型之間的距離。對于每一個輸入的三維模型,沿著與三維模型相關(guān)聯(lián)的視角對該距離進(jìn)行測量。更具體地,可以沿著從該體素直接朝向或直接遠(yuǎn)離虛擬相機(jī)的射線對該距離進(jìn)行測量。當(dāng)三維模型被表示為高度場或深度圖時,距離確定可以涉及簡單查找,這有助于快速執(zhí)行。
[0032]該距離可以是帶符號的距離值,意為其數(shù)值(絕對值)可以是在那兩個點(diǎn)之間的距離,但是其還可以為正或負(fù)。例如,所確定的距離值可以為正,用來指示體素從虛擬相機(jī)的視角位于三維模型之下(或之內(nèi)),以及所確定的距離值為負(fù),用來指示體素從虛擬相機(jī)的視角位于三維模型之上(或之外)。
[0033]一旦為每一個深度圖確定了距離值,就在步驟206,丟棄指示體素遠(yuǎn)低于模型的任何距離值。在一個實(shí)施例中,為了確定體素是否遠(yuǎn)低于模型,可以對距離值進(jìn)行估算來看它們是否超過閾值。丟棄超過閾值的距離值,因?yàn)樗鼈兛梢灾甘驹谌S模型的視角下,體素被遮掩。雖然在三維模型的一個視角下該對象被遮掩,然而,可以從能更好地觀察體素的角度來構(gòu)建其他模型。出于這個原因,指示體素位于模型內(nèi)深處的大的距離值可能不提供有用的信息。例如參考圖4A說明了這個步驟。
[0034]圖4A示出了圖示關(guān)于體素的各種距離測量的圖400。類似于圖100和圖1,圖400示出了具有對應(yīng)虛擬相機(jī)102和104的三維模型112和114。另外,圖400示出了從虛擬相機(jī)406的角度構(gòu)建的三維模型416。圖400圖示了為體素402生成的針對三維模型中的每一個的距離值。
[0035]具體地,圖400示出了針對模型112的距離432、針對模型114的距離434以及針對模型416的距離436。假設(shè)例如假定的閾值距離是5米。如圖400中所圖示,距離434被測量為+7米,意為體素402在表面114之下7米。在該示例中,將在方法200的步驟206中忽視距離434。將在下面更詳細(xì)地描述距離436和432。
[0036]參考回圖2,在步驟206中移除在模型內(nèi)部深處的距離測量之后,在判定塊208,對剩余距離進(jìn)行估算來確定距離是否指示體素遠(yuǎn)高于模型。為了確定距離是否指示體素遠(yuǎn)高于模型,可以將距離值與負(fù)閾值進(jìn)行比較。如果距離低于負(fù)閾值(數(shù)值超過該閾值的數(shù)值),則距離指示體素遠(yuǎn)高于對應(yīng)模型。否則,距離不指示體素遠(yuǎn)高于對應(yīng)模型。如果沒有距離測量指示體素遠(yuǎn)高于對應(yīng)模型,該方法前進(jìn)到步驟214,并且可以丟棄被確定為遠(yuǎn)低于表面(例如低于閾值)的任何測量??梢酝ㄟ^僅僅將該測量的置信設(shè)置為零來丟棄測量。否則,方法前進(jìn)到步驟210。在圖4B中圖示了所確定的距離指示體素遠(yuǎn)高于模型的示例。
[0037]圖4B示出了圖示關(guān)于體素的各種距離測量的圖450。類似于圖1的圖100以及圖4B的圖400,圖450示出了具有對應(yīng)虛擬相機(jī)102和104的三維模型112和114。另外,圖450示出了從虛擬相機(jī)458的角度構(gòu)建的三維模型468。圖450圖示了為體素452生成的針對三維模型中的每一個的距離值。
[0038]具體地,圖450示出了針對模型112的距離486、針對模型114的距離434以及針對模型416的距離438。假設(shè)例如假定的閾值距離是-4米。如圖400中所圖示,距離486被測量為-7米,意為體素402在表面114之下7米。在該示例中,在方法200中的步驟208中,距離486將指示體素遠(yuǎn)高于三維模型。因此,方法200將前進(jìn)到步驟210。將在下面更詳細(xì)地描述距離436和432。
[0039]在步驟210,為該距離確定置信分值。該置信分值可以對在深度圖中讀到的距離的質(zhì)量進(jìn)行評估。一般地,特征的更直接、正常的視圖將具有比特征的更偏離的視圖更高的分辨率,并且可能更好的質(zhì)量。出于該原因,置信值可以指示對應(yīng)三維模型的相機(jī)模型的視角被定向?yàn)槊嫦蝮w素區(qū)域的程度。在圖5中圖示了如何確定置信分值的示例。
[0040]圖5示出了圖示如何為距離測量確定置信分值的圖500。圖500圖示了如何確定為體素452和從虛擬相機(jī)458構(gòu)建的三維模型468測量的距離486的置信。射線570從虛擬相機(jī)458延伸出來通過體素452在點(diǎn)560與三維模型468相交。在三維模型468被表示為深度圖或高度場的實(shí)施例中,確定位置560可以包括簡單查找。在射線270和三維模型468之間,可以確定角552。所確定的角552可以用來確定置信分值。隨著角552變得更鈍,將體素452包括在合并的三維模型中的可能性可以增加。類似地,隨著角552變得更尖銳,將體素452包括在合并的三維模型中的可能性可以減少。以這種方式,可以使用在三維模型中的虛擬相機(jī)的角度之間的角來幫助確定合并的三維模型。
[0041]除角外,還可以使用附近取樣點(diǎn)的頻率來確定合并的三維模型。在圖500中,在點(diǎn)560對三維模型468進(jìn)行取樣。可以確定與點(diǎn)560鄰近的取樣點(diǎn)??梢源_定在取樣點(diǎn)之間的距離,并且可以基于該距離來確定置信分值。在圖500中,點(diǎn)560可以與取樣點(diǎn)562鄰近。在點(diǎn)560和562之間,可以測量距離554??梢曰谒鶞y量的距離554來確定指示距離值486的置信水平的置信分值。隨著距離554變得更長,將體素452包括在合并的三維模型中的可能性可以增加。類似地,隨著距離554變得更短,將體素452包括在合并的三維模型中的可能性可以減少。以這種方式,距離554和角552兩者均可以用來確定所測量的距離486的置信水平。
[0042]在其他實(shí)施例中,可以使用立體匹配的質(zhì)量來確定置信分值。此外,可以使用任何上述方法的組合來確定置信分值。
[0043]在進(jìn)一步示例中,當(dāng)存在多個置信值時,可以使用加權(quán)平均。例如,參考回圖4,如果距離482具有置信值0.2,距離484具有置信值0.5,以及距離486具有置信值0.1,則可以為體素452存儲在體素網(wǎng)格中的總計帶符號的距離值是(2*0.2+3*0.5 - 7*0.1)/(0.2+0.5+0.1)=1.5。
[0044]參考回圖2,一旦在步驟210確定了置信分值,就在步驟212,使用置信分值來確定是否將體素包括在合并的三維模型中。在一個實(shí)施例中,步驟212可以使用為近距離和遠(yuǎn)距離兩者確定的置信分值。使用參考圖5所述的技術(shù),可以為近距離確定值C。^,以及可以為遠(yuǎn)距離確定值Cfm。當(dāng)滿足下面等式:CiCfm,其中α是預(yù)定義偏置值或其他預(yù)先確定的度時,在步驟212體素可以被包括。以這種方式,方法200在步驟212確定體素是否應(yīng)當(dāng)被包括在合并的三維模型中。
[0045]如果體素不被包括,則可以將大的負(fù)距離存儲在體素網(wǎng)格中。該值可以指示稍后針對該體素的算法應(yīng)當(dāng)不被包括在合并的三維模型中。如果體素被包括(判定塊216),則在步驟214,為體素確定帶符號的距離。除帶符號的距離外,本領(lǐng)域技術(shù)人員將認(rèn)識到,可以使用權(quán)重。
[0046]在步驟214,為體素確定帶符號的距離。可以例如基于在步驟206和208中所述的兩個閾值之間測量的距離測量來確定帶符號的距離。在那兩個閾值之間的距離值指示對應(yīng)三維模型與體素接近。可以例如通過對足夠接近體素的剩余距離值求平均或取得其的加權(quán)平均,來確定帶符號的距離。參考圖4Α中的距離432和436以及圖4Β中的距離482和484說明了步驟214的示例。
[0047]在圖4Α中,距離432和436足夠接近體素。具體地,那些距離可以在早前參考步驟206和208所述的閾值內(nèi)。為了為體素402確定帶符號的距離,可以對距離值求平均。如圖400中所圖示,距離436指示體素402在模型416之下2米,這導(dǎo)致距離值+2米。類似地,距離432指示體素402在模型416之上3米,這導(dǎo)致距離值_3米。然后,可以對各個帶符號的距離值求平均,這導(dǎo)致體素402的權(quán)重-0.5。可以將該帶符號的距離402存儲在體素網(wǎng)格或帶符號的距離場中。
[0048]類似地,在圖4B中,距離482和484足夠接近體素。具體地,那些距離可以在早前參考步驟206和208所述的閾值內(nèi)。為了為體素452確定帶符號的距離,可以對距離值求平均。如圖450中所圖示,距離482指示體素452在模型416之下2米,這導(dǎo)致距離值+2米。類似地,距離484指示體素452在模型416之下3米,這導(dǎo)致距離值+3米。然后,可以對各個帶符號的距離值求平均,這導(dǎo)致體素452的帶符號的距離+2.5。也可以將該帶符號的距離402存儲在體素網(wǎng)格中。
[0049]在判定塊218,為在步驟202構(gòu)建的體素空間中的每一個體素重復(fù)步驟204-216。作為該重復(fù)的結(jié)果,體素網(wǎng)格可以為每一個體素包括帶符號的距離值。在步驟220,可以使用該帶符號的距離的三維矩陣來構(gòu)建合并的三維模型。該合并的三維模型可以通過基于體素網(wǎng)格中的值來定義其邊緣,來進(jìn)行構(gòu)建。在一個示例中,可以在具有正值的體素和具有負(fù)值的體素之間定義邊緣。在正和負(fù)體素之間的位置之間,可以基于正和負(fù)值的相對數(shù)值來定義邊緣的位置。
[0050]從體素網(wǎng)格,可以存在提取網(wǎng)表面的數(shù)個方式。一個示例是使用移動立方體(marching cubes)算法。圖6中圖示了步驟220的另一個示例。
[0051]圖6示出了圖示根據(jù)一個實(shí)施例的、從帶符號的距離的矩陣構(gòu)建合并的三維模型602的圖600。具體地,圖600圖示了具有鄰近體素612和614的體素網(wǎng)格。由于體素612具有相關(guān)聯(lián)的帶正號的距離(+3)以及體素614具有相關(guān)聯(lián)的帶負(fù)號的距離(-1),因此,三維模型602圍繞在體素612和614之間來構(gòu)建。進(jìn)一步,由于體素614的帶符號的距離的數(shù)值(I)小于體素612的帶符號的距離的數(shù)值(3),因此,可以將三維模型602構(gòu)建成趨向與體素614比體素612更接近。在體素614和體素612之間的三維模型602的位置可以與相應(yīng)帶符號的距離線性地成比例。以這種方式,可以使用體素網(wǎng)格來確定合并的三維模型602。
[0052]圖7是圖示根據(jù)實(shí)施例的、用于合并深度圖的系統(tǒng)700的圖。在一個實(shí)施例中,系統(tǒng)700可以根據(jù)圖2中的方法來操作。系統(tǒng)700包括接收多個輸入深度圖702作為輸入的處理管線服務(wù)器710。雖然輸入三維模型702被稱為深度圖,然而,本領(lǐng)域技術(shù)人員將認(rèn)識至IJ,存在表示三維模型數(shù)據(jù)的其他方式。例如,三維模型702也可以被表示為高度場。三維模型702中的每一個可以是自特定角度的立體重構(gòu)。從輸入三維模型702,處理管線服務(wù)器710生成合并的模型730。
[0053]處理管線服務(wù)器710包括體素空間模塊712、距離測試模塊714、置信分值模塊716、點(diǎn)選擇器模塊718和模型構(gòu)建模塊720。在下面描述了這些模塊中的每一個。
[0054]體素空間模塊712被配置成確定在三維空間中的多個體素。體素可以跨三維環(huán)境規(guī)則間隔。體素網(wǎng)格中的每一個體素可以關(guān)于其是否是合并的三維模型的部分被獨(dú)立地估算。在圖3中圖示了可以由體素空間模塊712產(chǎn)生的示例體素空間。
[0055]距離測試模塊714被配置成為多個體素中的各個體素確定多個距離值。每一個距離值可以是從體素沿著用來生成來自多個輸入深度圖702的三維模型的相機(jī)模型的視角到該三維模型的距離。在圖4A-B中圖示了各種測量的距離的示例。
[0056]置信分值模塊716被配置成為距離測試模塊714所確定的各個距離確定置信分值。置信分值可以指示對應(yīng)三維模型的相機(jī)模型的視角被定向?yàn)槊嫦蛟擉w素的程度。置信分值模塊716可以被配置成基于在三維模型和從輸入三維模型的角度延伸出來通過體素的射線之間的角來確定置信分值。類似地,置信分值模塊716可以被配置成基于在根據(jù)體素來確定的接近區(qū)域中的對應(yīng)三維模型的各個取樣之間的距離來確定置信分值。接近區(qū)域可以包括與如果根據(jù)虛擬相機(jī)信息來渲染則將顯示體素的像素鄰近的像素。置信分值模塊716可以如參考圖5所述地確定置信值。
[0057]點(diǎn)選擇器模塊718被配置成至少部分基于所確定的置信分值來確定是否將與體素相對應(yīng)的點(diǎn)包括入合并的三維模型。
[0058]模型構(gòu)建模塊720被配置成根據(jù)第一和第二距離值兩者為體素確定帶符號的距離。進(jìn)一步,模型構(gòu)建模塊720被配置成基于兩個鄰近體素的確定的帶符號的距離,來確定在該兩個鄰近體素之間、構(gòu)建合并的三維模型的邊緣的地方。例如參考圖6描述了模型構(gòu)建模塊的操作。
[0059]可以在任何計算設(shè)備上實(shí)現(xiàn)處理管線服務(wù)器710。這樣的計算設(shè)備可以包括但不限于:個人計算機(jī)、諸如移動電話的移動設(shè)備、工作站、嵌入式系統(tǒng)、游戲控制臺、電視、機(jī)頂盒或任何其他計算設(shè)備。進(jìn)一步,計算設(shè)備可以包括但不限于具有用于執(zhí)行和存儲指令的處理器和存儲器的設(shè)備。軟件可以包括一個或多個應(yīng)用和操作系統(tǒng)。硬件可以包括但不限于處理器、存儲器和圖形用戶界面顯示器。計算設(shè)備還可以具有多個處理器和多個共享或單獨(dú)存儲器組件。例如,計算設(shè)備可以是集群的計算環(huán)境或服務(wù)器群。
[0060]體素空間模塊712、距離測試模塊714、置信分值模塊716、點(diǎn)選擇器模塊718和模型構(gòu)建模塊720中的每一個可以用硬件、軟件、固件或其任何組合來實(shí)現(xiàn)。
[0061]
【發(fā)明內(nèi)容】
和摘要部分可以闡明發(fā)明人預(yù)期的本發(fā)明的一個或多個而非所有示例性實(shí)施例,因此,
【發(fā)明內(nèi)容】
和摘要部分不意在以任何方式來限制本發(fā)明和所附的權(quán)利要求。
[0062]在上面借助于說明指定的功能的實(shí)現(xiàn)及其關(guān)系的功能構(gòu)造塊來描述了本發(fā)明。在本文為了便于描述,任意地限定了這些功能構(gòu)造塊的邊界??梢韵薅ㄌ孢x邊界,只要所指定的功能及其關(guān)系被適當(dāng)?shù)貓?zhí)行。
[0063]特定實(shí)施例的前面描述如此充分地揭示了本發(fā)明的一般性質(zhì),使得其他人可以在不背離本發(fā)明的一般概念的情況下,通過應(yīng)用在本領(lǐng)域的技能內(nèi)的知識而為各種應(yīng)用容易地修改和/或調(diào)整這樣的特定實(shí)施例,而不用進(jìn)行過度實(shí)驗(yàn)。因此,基于在本文提供的教導(dǎo)和指導(dǎo),這樣的調(diào)整和修改意在在所公開的實(shí)施例的等價物的含義和范圍內(nèi)。應(yīng)當(dāng)理解的是,在本文的措詞或術(shù)語出于描述而非限制的目的,因此,本說明書的術(shù)語或措詞應(yīng)當(dāng)由技術(shù)人員根據(jù)所述教導(dǎo)和指導(dǎo)來解釋。
[0064]本發(fā)明的寬度和范圍不應(yīng)當(dāng)受任何上述示例性實(shí)施例限制,而是應(yīng)當(dāng)僅根據(jù)所附權(quán)利要求及其等價物來限定。
【權(quán)利要求】
1.一種用于對多個三維模型進(jìn)行合并的方法,每一個三維模型是從具有不同視點(diǎn)的相機(jī)的圖像生成的,所述方法包括: Ca)確定在三維空間中的多個體素; 對于所述多個體素中的各個體素: (b)確定多個距離值,每一個距離值是從所述體素沿著用來生成來自所述多個三維模型的對應(yīng)三維模型的相機(jī)模型的視角到所述對應(yīng)三維模型的距離; 當(dāng)(i)來自所述多個距離值的第一距離值指示在所述體素和與所述第一距離值相對應(yīng)的所述三維模型之間的所述距離在閾值內(nèi)以及(ii)來自所述多個距離值的第二距離值指示所述體素在所述閾值外并且高于與所述第二距離值相對應(yīng)的所述三維模型時: (c)確定指示與所述第一距離值相對應(yīng)的所述三維模型的所述相機(jī)模型的所述視角被定向?yàn)槊嫦蛩鲶w素的程度的第一置信分值; (d)確定指示與所述第二距離值相對應(yīng)的所述三維模型的所述相機(jī)模型的所述視角被定向?yàn)槊嫦蛩鲶w素的程度的第二置信分值;以及 (e)至少部分基于所確定的第一和第二置信分值來確定是否將與所述體素相對應(yīng)的點(diǎn)包括入合并的三維模型,使得當(dāng)所述第二置信分值大于所述第一置信分值達(dá)預(yù)先確定的程度時,所述體素不被包括在所述合并的三維模型中。
2.根據(jù)權(quán)利要求1所述的方法,其中所述確定(c)包括:基于在所述三維模型和從所述相機(jī)模型的所述視角朝所述體素延伸的射線之間的角來確定所述置信分值,使得所述點(diǎn)被包括在所述合并的三維模型中的可能性隨著所述角變得更尖銳而減少。`
3.根據(jù)權(quán)利要求1所述的方法,其中所述確定(c)包括:基于在處于根據(jù)所述體素來確定的接近度內(nèi)的所述對應(yīng)三維模型的各個取樣之間的距離來確定所述置信分值,使得所述點(diǎn)被包括在所述合并的三維模型中的可能性隨著在各個取樣之間的所述距離增加而減少。
4.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: (f)當(dāng)(i)所述點(diǎn)在(e)中被確定為被包括在所述合并的三維模型中并且(ii)來自所述多個確定的距離值的第三和第四距離值兩者均指示在所述體素和相應(yīng)三維模型之間的距離不超過所述閾值時,根據(jù)所述第三和第四距離值兩者為所述體素確定權(quán)重;以及 (g)基于為兩個鄰近體素所確定的權(quán)重,來確定在所述兩個鄰近體素之間構(gòu)建所述合并的三維模型的邊緣的地方。
5.根據(jù)權(quán)利要求1所述的方法,其中在所述多個三維模型中的每一個三維模型被表示為深度圖。
6.根據(jù)權(quán)利要求1所述的方法,其中在所述多個三維模型中的每一個三維模型被表示為高度場。
7.根據(jù)權(quán)利要求1所述的方法,其中在所述多個三維模型中的每一個三維模型是立體重構(gòu)。
8.一種用于對多個三維模型進(jìn)行合并的系統(tǒng),每一個三維模型是從具有不同視點(diǎn)的相機(jī)的圖像生成的,所述系統(tǒng)包括: 一個或多個處理器; 存儲器,所述存儲器被耦接到所述一個或多個處理器; 體素確定模塊,所述體素確定模塊被配置成確定在三維空間中的多個體素;距離測試模塊,所述距離測試模塊被配置成對于所述多個體素中的各個體素,確定多個距離值,每一個距離值是從所述體素沿著用來生成來自所述多個三維模型的三維模型的相機(jī)模型的視角到所述三維模型的距離,其中所述距離測試模塊被實(shí)現(xiàn)在所述一個或多個處理器上; 置信分值模塊,所述置信分值模塊被配置成,當(dāng)(i)來自所述多個距離值的第一距離值指示在所述體素和與所述第一距離值相對應(yīng)的所述三維模型之間的所述距離在閾值內(nèi)以及(ii)來自所述多個距離值的第二距離值指示所述體素在所述閾值外并且高于與所述第二距離值相對應(yīng)的所述三維模型時: 確定指示與所述第一距離值相對應(yīng)的所述三維模型的所述相機(jī)模型的所述視角被定向?yàn)槊嫦蛩鲶w素的程度的第一置信分值,以及 確定指示與所述第二距離值相對應(yīng)的所述三維模型的所述相機(jī)模型的所述視角被定向?yàn)槊嫦蛩鲶w素的程度的第二置信分值;以及 點(diǎn)選擇器模塊,所述點(diǎn)選擇器模塊被配置成至少部分基于所確定的第一和第二置信分值來確定是否將與所述體素相對應(yīng)的點(diǎn)包括入合并的三維模型,使得當(dāng)所述第二置信分值大于所述第一置信分值達(dá)預(yù)先確定的程度時,所述體素不被包括在所述合并的三維模型中。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述置信分值模塊被配置成:基于在所述三維模型和從所述相機(jī)模型的所述視角朝所述體素延伸的射線之間的角來確定所述置信分值,使得所述點(diǎn)被包括在所述合并的三維模型中的可能性隨著所述角變得更尖銳而減少。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述置信分值模塊被配置成:基于在處于根據(jù)所述體素來確定的接近度內(nèi)的所述對應(yīng)三維模型的各個取樣之間的距離來確定所述置信分值,使得所述點(diǎn)被包括在所述合并的三維模型中的可能性隨著在各個取樣之間的所述距離增加而減少。
11.根據(jù)權(quán)利要求8所述的系統(tǒng),進(jìn)一步包括: 模型構(gòu)建模塊,所述模型構(gòu)建模塊被配置成:(i)當(dāng)所述點(diǎn)被所述點(diǎn)選擇器模塊確定為被包括在所述合并的三維模型中并且來自所述多個確定的距離值的第三和第四距離值兩者均指示在所述體素和相應(yīng)三維模型之間的距離不超過所述閾值時,根據(jù)所述第三和第四距離值兩者為所述體素確定權(quán)重;以及 (ii)基于為兩個鄰近體素所確定的權(quán)重,來確定在所述兩個鄰近體素之間構(gòu)建所述合并的三維模型的邊緣的地方。
12.根據(jù)權(quán)利要求8所述的系統(tǒng),其中在所述多個三維模型中的每一個三維模型被表示為深度圖。
13.根據(jù)權(quán)利要求8所述的系統(tǒng),其中在所述多個三維模型中的每一個三維模型被表示為高度場。
14.根據(jù)權(quán)利要求8所述的方法,其中在所述多個三維模型中的每一個三維模型是立體重構(gòu)。
15.一種包括其上存儲有指令的非 暫時性計算機(jī)可讀介質(zhì)的計算機(jī)程序產(chǎn)品,所述指令當(dāng)由計算設(shè)備執(zhí)行時,促使所述計算設(shè)備執(zhí)行用于對多個三維模型進(jìn)行合并的操作,每一個三維模型是從具有不同視點(diǎn)的相機(jī)的圖像生成的,所述操作包括:(a)確定在三維空間中的多個體素; 對于所述多個體素中的各個體素: (b)確定多個距離值,每一個距離值是從所述體素沿著用來生成來自所述多個三維模型的對應(yīng)三維模型的相機(jī)模型的視角到所述對應(yīng)三維模型的距離; 當(dāng)(i)來自所述多個距離值的第一距離值指示在所述體素和與所述第一距離值相對應(yīng)的所述三維模型之間的所述距離在閾值內(nèi)以及(ii)來自所述多個距離值的第二距離值指示所述體素在所述閾值外并且高于與所述第二距離值相對應(yīng)的所述三維模型時: (c)確定指示與所述第一距離值相對應(yīng)的所述三維模型的所述相機(jī)模型的所述視角被定向?yàn)槊嫦蛩鲶w素的程度的第一置信分值; (d)確定指示與所述第二距離值相對應(yīng)的所述三維模型的所述相機(jī)模型的所述視角被定向?yàn)槊嫦蛩鲶w素的程度的第二置信分值;以及 (e)至少部分基于所確定的第一和第二置信分值來確定是否將與所述體素相對應(yīng)的點(diǎn)包括入合并的三維模型,使得當(dāng)所述第二置信分值大于所述第一置信分值達(dá)預(yù)先確定的程度時,所述體素不被包括在所述合并的三維模型中。
16.根據(jù)權(quán)利要求15所述的計算機(jī)程序產(chǎn)品,其中所述確定(c)包括:基于在所述三維模型和從所述相機(jī)模型的所述視角朝所述體素延伸的射線之間的角來確定所述置信分值,使得所述點(diǎn)被包括在所述合并的三維模型中的可能性隨著所述角變得更尖銳而減少。
17.根據(jù)權(quán)利要求16所述的計算機(jī)程序產(chǎn)品,其中所述確定(c)進(jìn)一步包括:還基于在處于根據(jù)所述體素來確定的接近度內(nèi)的所述對應(yīng)三維模型的各個取樣之間的距離來確定所述置信分值,使得所述點(diǎn)被包括在所述合并的三維模型中的可能性隨著在各個取樣之間的所述距離增加而減少。
18.根據(jù)權(quán)利要求17所述的計算機(jī)程序產(chǎn)品,所述操作進(jìn)一步包括: (f)當(dāng)(i)所述點(diǎn)在(d)中被確定為被包括在所述合并的三維模型中并且(ii)來自所述多個確定的距離值的第三和第四距離值兩者均指示在所述體素和相應(yīng)三維模型之間的距離不超過所述閾值時,根據(jù)所述第三和第四距離值兩者為所述體素確定權(quán)重;以及 (g)基于為兩個鄰近體素所確定的權(quán)重,來確定在所述兩個鄰近體素之間構(gòu)建所述合并的三維模型的邊緣的地方。
19.根據(jù)權(quán)利要求15所述的計算機(jī)程序產(chǎn)品,其中在所述多個三維模型中的每一個三維模型被表示為深度圖。
20.根據(jù)權(quán)利要求15所述的計算機(jī)程序產(chǎn)品,其中在所述多個三維模型中的每一個三維模型被表示為高度場。
21.根據(jù)權(quán)利要求15所述的計算機(jī)程序產(chǎn)品,其中在所述多個三維模型中的每一個三維模型是立體重構(gòu)。
22.一種用于對多個三維模型進(jìn)行合并的系統(tǒng),每一個三維模型是從具有不同視點(diǎn)的相機(jī)的圖像生成的,所述系統(tǒng)包括: 一個或多個處理器; 存儲器,所述存儲器被耦接到所述一個或多個處理器; 用于確定在三維空間中的多個體素的裝置; 用于對于所述多個體素中的各個體素,確定多個距離值的裝置,每一個距離值是從所述體素沿著用來生成來自所述多個三維模型的三維模型的相機(jī)模型的視角到所述三維模型的距離,其中所述距離測試模塊被實(shí)現(xiàn)在所述一個或多個處理器上; 用于當(dāng)(i)來自所述多個距離值的第一距離值指示在所述體素和與所述第一距離值相對應(yīng)的所述三維模型之間的所述距離在閾值內(nèi)以及(ii)來自所述多個距離值的第二距離值指示所述體素在所述閾值外并且高于與所述第二距離值相對應(yīng)的所述三維模型時:確定指示與所述第一距離值相對應(yīng)的所述三維模型的所述相機(jī)模型的所述視角被定向?yàn)槊嫦蛩鲶w素的程度的第一置信分值,以及 確定指示與所述第二距離值相對應(yīng)的所述三維模型的所述相機(jī)模型的所述視角被定向?yàn)槊嫦蛩鲶w素的程度的第二置信分值的裝置;以及 用于至少部分基于所確定的第一和第二置信分值來確定是否將與所述體素相對應(yīng)的點(diǎn)包括入合并的三維模型,使得當(dāng)所述第二置信分值大于所述第一置信分值達(dá)預(yù)先確定的程度時,所述體素不被包括在所`述合并的三維模型中的裝置。
【文檔編號】G06T15/20GK103503033SQ201380001180
【公開日】2014年1月8日 申請日期:2013年4月30日 優(yōu)先權(quán)日:2012年5月1日
【發(fā)明者】布雷特·艾倫, 阿列克謝·戈洛溫斯基, 蒂爾曼·賴因哈特, 邁克爾·紅邁·林 申請人:谷歌公司