亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

激光掃描數(shù)據(jù)的圖像渲染的制作方法

文檔序號:10475956閱讀:294來源:國知局
激光掃描數(shù)據(jù)的圖像渲染的制作方法
【專利摘要】描述了一種對三維激光掃描數(shù)據(jù)(6)的圖像進行渲染的方法。所述方法包括:將給定掃描的一組激光掃描數(shù)據(jù)提供為球面置換映射(18);以及通過對所述球面置換映射采樣來生成細分圖案(71;圖17)。圖形處理單元可以生成所述細分圖案。
【專利說明】
激光掃描數(shù)據(jù)的圖像渲染
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及用于渲染激光掃描數(shù)據(jù)的圖像的方法、以及用于渲染激光掃描數(shù)據(jù)的圖像的系統(tǒng)。
【背景技術(shù)】
[0002]能夠使用三維激光掃描器來勘測諸如制煉廠、船舶或其他設(shè)施的環(huán)境。典型的掃描器包括激光測距儀,該激光測距儀能夠測量掃描器與視野中表面上的點之間的距離。通過掃過視野(通常為橫向360度、縱向接近180度),掃描器能夠捕獲周圍環(huán)境的一組測距(這里稱為“激光掃描數(shù)據(jù)”)。這些測距能夠用來生成三維空間中的一組點(通常稱為“點云”)。在EP 1176 393 A2中描述了點云的示例。
[0003]能夠在環(huán)境中的不同位置進行多個掃描,并且能夠組合來自不同掃描的點云以產(chǎn)生覆蓋更廣區(qū)域的組合(或“聚合”)點云。在WO 2004/003844 Al中能夠找到組合點云數(shù)據(jù)的示例。
[0004]除了獲取測距數(shù)據(jù)之外,掃描器還能夠通過測量被反射激光的強度或使用照相機,來捕獲周圍環(huán)境的圖像。
[0005]—個或多個點云和圖像能夠用來使用點云觀察器應(yīng)用或三維計算機輔助設(shè)計(CAD)應(yīng)用來形象化和/或分析環(huán)境。通常,這些應(yīng)用分為兩類,即利用來自單獨掃描的點進行工作的應(yīng)用、以及利用從多個掃描組合的點進行工作的應(yīng)用。
[0006]激光掃描的最簡單應(yīng)用之一為,顯示通過單獨掃描捕獲的圖像。因為來自激光掃描的圖像為覆蓋激光掃描器周圍區(qū)域的球面,所以軟件應(yīng)用能夠?qū)D像映射到球體內(nèi)部上。該應(yīng)用能夠?qū)⒉糠智蝮w顯示在計算機屏幕上。
[0007]用戶能夠旋轉(zhuǎn)視圖,從而觀察整個圖像的各不同部分。該展示稱為“氣泡視圖”。
[0008]在氣泡視圖中,用戶能夠選擇圖像上的斑點,并使用用于該激光掃描的點云數(shù)據(jù),取回該位置的三維坐標(biāo)。通過選擇兩個點,用戶能夠測量距離。
[0009]一種類型的應(yīng)用能夠覆蓋氣泡視圖中的三維CAD模型。因為應(yīng)用已知氣泡視圖中的點的三維位置,所以該應(yīng)用能夠?qū)AD模型的合適部分隱藏在氣泡視圖后面。當(dāng)設(shè)計該設(shè)施的新區(qū)域時,該組合圖像可能有用。
[0010]氣泡視圖的吸引人的特征在于,看起來逼真?,F(xiàn)實源自于在掃描器位置捕獲的圖像。然而,氣泡視圖的限制在于,僅能夠針對激光掃描器所處的位置,產(chǎn)生氣泡視圖。用戶能夠選擇氣泡視圖,并且旋轉(zhuǎn)到左右或上下,但是該用戶無法向前、向后、橫向或縱向移動以從不同的視點觀察環(huán)境。
[0011]為了允許自由移動,一些軟件應(yīng)用利用來自多個掃描的組合點云進行工作。使用這種應(yīng)用,用戶選擇設(shè)施內(nèi)的位置和觀察方向。然后,應(yīng)用從用戶的視角,在該位置周圍顯示組合點云中的各點。用戶能夠移動觀察位置和方向,以從不同的視角觀看點。
[0012]一些應(yīng)用能夠在與組合點云相同的三維空間中顯示CAD模型。然后,用戶能夠測量CAD模型中的位置與點云中的點之間的距離。用戶還能夠確定點云中的部分是否與CAD模型的部分交叉。
[0013]盡管顯示組合點云使得用戶能夠從多于一個視角觀察各點,但是該方法可能具有一個或更多個缺點。
[0014]顯示單獨的點導(dǎo)致了計算上的昂貴。在表現(xiàn)近距離的掃描表面時可能出現(xiàn)縫隙,因此難以辨別表面。

【發(fā)明內(nèi)容】

[0015]根據(jù)本發(fā)明的第一方面,提供了一種對三維激光掃描數(shù)據(jù)的圖像進行渲染的方法。所述方法包括:將給定掃描的一組激光掃描數(shù)據(jù)提供為球面置換映射;以及通過對所述球面置換映射采樣來生成細分圖案。所述方法包括使用所述細分圖案來渲染所述圖像。
[0016]通過將給定掃描的激光掃描數(shù)據(jù)保存為一組點(與聚合多個掃描的激光掃描數(shù)據(jù)相反),并且通過利用如下事實而能夠有效地和/或快速地渲染激光掃描數(shù)據(jù)的圖像:能夠以圖形系統(tǒng)能夠直接處理的置換映射的形式來提供激光掃描數(shù)據(jù)。這在組合來自多個掃描的圖像時尤其有益,這是因為能夠獨立地處理各掃描,并且能夠容易地將來自不同掃描的圖像組合到公共緩沖器中。這使得能夠不僅對靜止圖像、而且對例如當(dāng)用戶“走過”環(huán)境時的運動圖像進行有效/快速地渲染。
[0017]所述給定掃描的所述一組激光掃描數(shù)據(jù)提供為所述球面置換映射可以包括:接收由給定位置處的激光掃描器生成的一組激光掃描數(shù)據(jù);以及將給定方位角和給定仰角處的給定激光掃描點的測距值從所述激光掃描數(shù)據(jù)復(fù)制到與所述給定方位角和所述給定仰角相對應(yīng)的紋素位置處的至少二維紋理(或更高維紋理)的對應(yīng)紋素中。
[0018]所述方法可以包括:圖形處理單元(GPU)生成所述細分圖案。然而,所述方法可以包括中央處理單元(CPU)生成所述細分圖案。
[0019]可以使用微軟(RTM)DirectX(RTM)ll(或更高版本)或OpenGL 4.4(或更高版本)應(yīng)用編程接口(API)來配置所述處理單元。
[0020]所述方法還可以包括:識別所述球面置換映射中的鄰近點之間的間斷;以及標(biāo)記所述鄰近點。標(biāo)記所述鄰近點可以包括:將置換值設(shè)置為預(yù)先限定的數(shù)字,例如O或-1。
[0021]所述方法還可以包括:取決于所述球面置換映射來生成法線映射。所述置換映射和法線映射可以被組合在一個紋理中。所述一個紋理可以包括至少四個通道。
[0022]生成所述法線映射包括:計算所述球面置換映射中的各點的法線,并將所述法線存儲在法線映射中。所述法線可以包括第一向量分量值、第二向量分量值和第三向量分量值。
[0023]所述方法還可以包括:依賴于所述球面置換映射來生成混合紋理。所述混合紋理可以包括混合紋素的陣列,各混合紋素包括依賴于距間斷的距離的值。
[0024]所述方法還可以包括:生成給定掃描的補片映射,所述補片映射包括多個補片。
[0025]所述補片映射可以包括多邊形補片,各補片具有三個或更多個頂點。所述補片可以是相同形狀。所述補片可以是相同大小的。所述補片可以是矩形。如果所述補片為矩形,則所述補片映射可以包括對頂點的位置。
[0026]補片的位置、形狀和/或大小可以依賴于球面置換映射中的間斷。
[0027]所述補片映射可以包括各補片的相對細分等級。所述方法可以包括:依賴于間斷來設(shè)置給定補片的所述相對細分等級。所述方法可以包括基于橫跨給定補片的法線變化,設(shè)置所述給定補片的所述相對細分等級。
[0028]所述方法可以包括:依賴于給定補片的觀察位置和/或能見距離,計算所述給定補片的絕對細分等級。
[0029]所述方法還可以包括:確定形成所述細分圖案中的三角形的一部分的頂點是否被標(biāo)記為在間斷上或與間斷鄰近;以及依賴于確定所述頂點無效,剔除(或“丟棄”)所述三角形。
[0030]所述方法還可以包括:生成針對掃描的一組像素;以及進行深度測試。
[0031]所述方法可以包括:依賴于像素的法線來對像素著色。所述方法可以包括:依賴于圖像的相應(yīng)部分中的強度和/或顏色來對像素著色。
[0032]所述方法可以包括:提供多于一組的激光掃描數(shù)據(jù),各組激光掃描數(shù)據(jù)與各自的掃描相對應(yīng)。各組激光掃描數(shù)據(jù)被提供為各自的球面置換映射。所述方法可以包括:組合來自不同掃描的渲染圖像。組合來自不同掃描的渲染圖像可以包括使用深度緩沖器。
[0033]根據(jù)本發(fā)明的第二方面,提供了一種計算機程序,所述計算機程序包括用于進行所述方法的指令。
[0034]根據(jù)本發(fā)明的第三方面,提供了一種存儲所述計算機程序的計算機可讀介質(zhì)或非易失性計算機可讀介質(zhì)。
[0035]根據(jù)本發(fā)明的第四方面,提供了一種計算機系統(tǒng),所述計算機系統(tǒng)包括:存儲器;以及至少一個處理單元。所述存儲器將給定掃描的一組激光掃描數(shù)據(jù)存儲為球面置換映射,并且所述至少一個處理單元被配置為通過對所述球面置換映射采樣來生成細分圖案。
[0036]所述至少一個處理單元可以包括至少一個圖形處理單元。所述至少一個處理單元可以包括至少一個中央處理單元。所述至少一個處理單元可以包括一個處理單元,例如一個圖形處理單元。
[0037]能夠使用微軟(RTM)DirectX(RTM)ll(或更高版本)應(yīng)用編程接口來配置所述至少一個處理單元??梢允褂肙penGL應(yīng)用編程接口來配置所述至少一個處理單元。
【附圖說明】
[0038]現(xiàn)在,將通過示例,參照附圖來描述本發(fā)明的某些實施例,其中:
[0039]圖1是用于獲得和處理激光掃描數(shù)據(jù)并渲染圖像的系統(tǒng)的示意性框圖;
[0040]圖2是能夠用來處理激光掃描數(shù)據(jù)并渲染圖像的計算機系統(tǒng)的示意性框圖;
[0041 ]圖3是處理激光掃描數(shù)據(jù)的方法的處理流程圖;
[0042]圖4例示了球面置換映射的生成;
[0043]圖5示出了兩個表面之間的間斷;
[0044]圖6示出了更新球面置換映射以標(biāo)記間斷;
[0045]圖7例示了法線映射的生成;
[0046]圖8示出了混合映射的生成;
[0047]圖9例示了規(guī)則的矩形補片的布置;
[0048]圖10例示了不規(guī)則的矩形補片的布置;
[0049]圖11例示了不規(guī)則的非矩形補片的布置;
[0050]圖12不出了補片映射;
[0051 ]圖13示出了將相對細分數(shù)據(jù)添加到補片映射;
[0052]圖14是圖形流水線和圖形存儲器的示意性框圖;
[0053]圖15例不了外殼著色器的輸出;
[0054]圖16例示了補片的細分等級;
[0055]圖17例示了細分著色器的輸出和域著色器的輸入;
[0056]圖18例示了使用包括置換映射和法線映射的紋理的域著色器的操作;
[0057]圖19例示了來自域著色器的頂點列表的輸出;
[0058]圖20示出了剔除(cull)無效三角形的幾何著色器的操作;
[0059]圖21例示了光柵器的操作;
[0060]圖22例示了像素著色器的操作;
[0061 ]圖23是深度測試的處理流程圖;
[0062]圖24例示了掃描的并行處理;
[0063]圖25例示了從多個掃描生成的組合點云;
[0064]圖25a是圖25中不出的部分點云的放大圖;
[0065]圖26示出了從圖25中示出的點云的單獨掃描生成的組合細分圖像;
[0066]圖26a是圖26中示出的部分細分圖像的放大圖;
[0067]圖26b是圖26中不出的另一部分細分圖像的放大圖;
[0068]圖27示出了使用圖26中示出的細分而生成的組合渲染圖像;以及
[0069]圖28從不同的視點示出了從圖25中示出的點云的單獨掃描生成的組合渲染圖像。
【具體實施方式】
[0070]系統(tǒng)概要
[0071]參照圖1,示出了用于生成和處理激光掃描數(shù)據(jù)并渲染圖像的系統(tǒng)I。
[0072]系統(tǒng)I包括用于勘測環(huán)境3的一個或更多個三維激光掃描器2,環(huán)境3包括大量目標(biāo)表面4。激光掃描器2或各激光掃描器2包括激光掃描單元5、可選的照相機7、以及板上存儲器9,激光掃描單元5生成激光掃描數(shù)據(jù)6(這里簡稱為“掃描數(shù)據(jù)”),可選的照相機7能夠用來生成例如JPEG文件形式的圖像數(shù)據(jù)8,板上存儲器9用于存儲數(shù)據(jù)6、8。激光掃描器2或各激光掃描器2包括處理器10和存儲器11,處理器10和存儲器11能夠用來處理激光掃描數(shù)據(jù)6,以例如將數(shù)據(jù)格式化。一個單獨的計算機系統(tǒng)(未示出)能夠用來處理數(shù)據(jù)。
[0073]激光掃描單元5通過如下處理針對點生成掃描數(shù)據(jù)6的元素:在給定方向(S卩,以給定的橫向角和給定的縱向角)發(fā)射脈沖激光束12,感測從目標(biāo)表面4反射回激光掃描器2的反射束13,并且基于激光束12和13的飛行時間來確定到目標(biāo)表面4的測距。通過橫向和縱向掃描激光束12,能夠獲取一組掃描數(shù)據(jù)6,以在掃描器2周圍構(gòu)建一組點。以一組笛卡爾坐標(biāo)的形式提供掃描數(shù)據(jù)6中的各點,即以(x,y,z)來表達各點。通過方位角和仰角來整理數(shù)據(jù)組6中的點。
[0074]掃描數(shù)據(jù)6以及圖像數(shù)據(jù)8(可選)被供給至計算機系統(tǒng)15,計算機系統(tǒng)15包括掃描數(shù)據(jù)處理模塊16,掃描數(shù)據(jù)處理模塊16生成紋理18、19、20、21的組17、組合成單個紋理22的一些紋理、以及各掃描的補片映射23。計算機系統(tǒng)15還包括用于存儲數(shù)據(jù)的一個或更多個硬驅(qū)動器形式的存儲器24。硬驅(qū)動器可以是硬盤驅(qū)動器、固態(tài)驅(qū)動器、光驅(qū)動器或其他形式的合適存儲器。
[0075]如稍后將更加詳細地描述的那樣,紋理組17包括從掃描數(shù)據(jù)6獲得的球面置換映射18(這里還稱為“深度映射”)和法線映射19。如稍后將更加詳細地描述的那樣,置換映射18和法線映射19被組合在單個四通道紋理22(這里稱為“組合紋理”)中。
[0076]紋理組17可以包括混合映射20。紋理組17可以包括從圖像數(shù)據(jù)8獲得的顏色映射
21ο
[0077]計算機系統(tǒng)15包括用戶輸入設(shè)備25(諸如鼠標(biāo)和/或鍵盤)、渲染系統(tǒng)26和顯示器27,顯示器27用于從用戶經(jīng)由用戶輸入設(shè)備25供給的視點29顯示圖像28。渲染系統(tǒng)26使用從一個或更多個不同掃描獲得的紋理組17和補片映射23,產(chǎn)生三角形三維表面,并且渲染系統(tǒng)26從任意視點實時渲染表面,將從掃描獲得的表面組合在圖像28中。
[0078]可以在多個不同的計算機系統(tǒng)中實現(xiàn)掃描數(shù)據(jù)處理模塊16和渲染系統(tǒng)26ο例如,可以通過激光掃描器12全部或部分實現(xiàn)掃描數(shù)據(jù)處理模塊16。可替換地,激光掃描器2可以生成置換映射18,第一計算機系統(tǒng)可以生成其他紋理19、20、21和補片映射23,或者僅生成補片映射23,并且第一計算機系統(tǒng)可以將紋理18、19、20、21和補片映射23供給至第二計算機系統(tǒng),第二計算機系統(tǒng)實現(xiàn)渲染系統(tǒng)26。
[0079 ]此外,參照圖2,更加詳細地示出計算機系統(tǒng)15。
[0080]計算機系統(tǒng)15包括通過總線37可操作地連接的一個或多個中央處理單元(CPU)
31、系統(tǒng)存儲器32、例如圖形卡形式的圖形模塊33、以及輸入/輸出(I/O)接口 36,圖形模塊33包括圖形處理單元(GPU)34和圖形存儲器35(可以稱為“視頻RAM”),一個或多個中央處理單元(CPU)31具有相應(yīng)的存儲器緩存器(未示出)。合適的圖形模塊33的示例為具有IGB視頻RAM的NVIDIA(RTM)GeForce 460GPU。
[0081 ] I/O接口 36可操作地連接至總線和/或網(wǎng)絡(luò)接口 38(諸如USB接口或WLAN接口),網(wǎng)絡(luò)接口 38用于從掃描器2或各掃描器2接收掃描數(shù)據(jù)6。I/O接口 36還可操作地連接至用戶輸入設(shè)備25、以及例如以一個或更多個硬盤驅(qū)動器和/或固態(tài)驅(qū)動器形式的存儲器24。一些外圍設(shè)備(例如可移動存儲器)和其他計算機構(gòu)件未被示出。計算機系統(tǒng)15可以具有與圖2所示的配置不同的配置。
[0082]以軟件實現(xiàn)掃描處理模塊16。用于實現(xiàn)掃描處理模塊16的計算機代碼39被保持在存儲器24中,并被加載到存儲器32中以通過CPU 31來執(zhí)行。
[0083]優(yōu)選使用GPU來實現(xiàn)渲染系統(tǒng)26,從而利用GPU的增強圖形處理能力,尤其是細分。然而,可以使用一個或更多個CPU來實現(xiàn)渲染系統(tǒng)26。
[0084]如稍后將更加詳細地描述的那樣,清染系統(tǒng)26實現(xiàn)包括多個模塊61、62、63、64、65、66、67、68(圖14)的圖形流水線60(圖14),這些模塊包括可編程的固定功能著色器61、62、63、64、65、67、68 和光柵器 66。
[0085]掃描處理
[0086]現(xiàn)在將參照圖1、圖2和圖3,更加詳細地描述掃描數(shù)據(jù)處理模塊16的操作。
[0087]模塊16經(jīng)由總線或網(wǎng)絡(luò)(未示出)或便攜存儲器(未示出)從掃描器2加載用于掃描的一組掃描數(shù)據(jù)6,和/或從存儲器24加載用于掃描的一組掃描數(shù)據(jù)6(步驟SI)。掃描數(shù)據(jù)6處于笛卡爾坐標(biāo)中,因此模塊16將掃描數(shù)據(jù)6轉(zhuǎn)換并存儲為球面置換映射18(步驟S2)。
[0088]此外,參照圖4,示出了球面坐標(biāo)系41。球面坐標(biāo)系41包括原點42(S卩,掃描器2中的基準(zhǔn)點)、以及橫向基準(zhǔn)軸43和縱向基準(zhǔn)軸44。如圖4所示,掃描器2捕獲原點42與目標(biāo)表面4(圖1)上的點45之間的距離(或“測距Hj。
[0089]用于掃描的掃描數(shù)據(jù)6被復(fù)制到紋理22中。紋理22采取(u,v)映射的形式,(u,v)映射包括紋理元素(或“紋素”)46的二維陣列。各紋素46包括第一元素461、第二元素462、第三元素463和第四元素464。
[0090]如之前所描述的那樣,紋理22具有四個通道。第一通道存儲置換映射18,第二通道、第三通道和第四通道存儲法線映射19。
[0091]紋理22的橫向軸u與激光掃描器2的橫向角(或“方位角”)成比例。紋理22的縱向軸^與激光掃描器2的縱向角(或“仰角”)成比例。各紋素46將掃描中的點的測距值存儲為與其(u,v)位置相對應(yīng)的方位角和仰角的深度CU,P因此,當(dāng)測距值被存儲在紋理22中時,測距值提供了激光掃描的球面置換映射18。
[0092]能夠以類似的方式,將RGB分量值形式的圖像數(shù)據(jù)8復(fù)制到顏色映射21中。
[0093]參照圖1、2、3、5和6,掃描數(shù)據(jù)處理模塊16檢查紋素46,以通過查找具有超過特定閾值△ dTH的深度差△ d的鄰近紋素46,來確定在置換映射18中是否存在任何間斷,如果存在間斷,則掃描數(shù)據(jù)處理模塊16標(biāo)記間斷,使得該位置將不被細分(步驟S3)。通過使用預(yù)先定義的數(shù)字(例如O或-1)來標(biāo)記間斷。
[0094]置換映射18為球面,并且取自激光掃描器2的視點。因此,球面置換映射18的鄰近紋素46之間的間斷,表示如下區(qū)域或線47,在該區(qū)域或線47處,激光掃描器2已從一個表面48!移動到另一表面482。因此,不應(yīng)當(dāng)在該區(qū)域中描繪表面。
[0095]例如,如圖5所示,兩個鄰近的掃描點落在邊緣47的兩側(cè)。如圖6所示,相應(yīng)的紋素46例如分別具有深度值855和22。閾值A(chǔ)dra例如可以是300。因此,深度差A(yù)d = 855-22 =833,并且Δ d> Δ dTH,因此模塊16通過將這兩個值設(shè)置為等于零,來標(biāo)記間斷。
[0096]能夠比較u和/或V方向的鄰近紋素。
[0097]參照圖1、2、3和7,掃描數(shù)據(jù)處理模塊16根據(jù)置換映射18生成法線映射19,并存儲法線映射19(步驟S4)。
[0098]針對置換映射18中的各紋素46,模塊16根據(jù)由紋素46表示的球面坐標(biāo)來計算笛卡爾坐標(biāo)。該模塊通過在笛卡爾坐標(biāo)中取得與紋素46鄰近的橫向相鄰紋素46之間的第一向量、與縱向相鄰紋素46之間的第二向量的向量積,來計算給定紋素46(在圖7中陰影示出)的法線49。模塊16不會橫跨間斷來計算法線49。
[00"]模塊16將紋素46中的法線49的X分量、y分量和z分量(nx,ny,nz),存儲在第二兀素462、第三元素463和第四元素464中。
[0100]參照圖1、2、3和8,掃描數(shù)據(jù)處理模塊16能夠可選地生成混合紋理20,混合紋理20包含用來對間斷附近的表面的邊緣進行平滑的信息(步驟S5)。
[0101]混合紋理20中的各紋素50包含位于O與I之間的范圍中的混合值s。
[0102]掃描數(shù)據(jù)處理模塊16識別置換映射18中的與沿著間斷的點相對應(yīng)的紋素46,并將混合紋理20中的相應(yīng)紋素50(S卩,具有相同值u和V)設(shè)置為具有混合值O。掃描數(shù)據(jù)處理模塊16還生成通過混合紋理20逐漸傳播的混合值,即逐漸增大的值。例如,如圖8所示,值0.5被賦予作為間斷的第一最近鄰居的紋素50,值0.8被賦予作為第二最近鄰居的紋素50,并且值I被賦予作為第三最近鄰居的紋素50。
[0103]參照圖1、2、3和9,掃描數(shù)據(jù)處理模塊16將掃描分成補片51,并存儲補片映射23(步驟 S6)。
[0104]各補片51限定(u,v)坐標(biāo)中的掃描紋理的區(qū)域。各補片具有一組頂點52。
[0105]補片51可以是任意形狀,并且可以被有規(guī)則地或不規(guī)則地分布在掃描中。補片51的形狀和位置可以預(yù)先確定,或者基于掃描的任意方面,例如間斷的位置或法線的變化。
[0106]例如,圖9示出了形狀和大小均相同的矩形補片51的布置。
[0107]在另一示例中,圖10示出了對間斷47的位置加以考慮的不同大小的矩形補片51的結(jié)構(gòu)。例如,如圖10所示,替代使用固定大小的補片51,掃描數(shù)據(jù)處理模塊16可以根據(jù)在補片51內(nèi)是否發(fā)現(xiàn)間斷,將更大的補片51分成更小的補片51^51^51^51^51^
[0108]在又一示例中,圖11示出了如下布置:掃描數(shù)據(jù)處理模塊16生成具有對分支間斷47(例如與分支間斷47對齊)加以考慮的邊緣的非矩形補片516、517、518、519。為清楚起見,補片516、517、5Is、519的外邊緣被截斷示出,使得這些外邊緣表現(xiàn)為直的縱向或橫向邊緣。然而,將會意識到,補片不需要被截斷并且可以具有不規(guī)則輪廓,例如如圖11中的補片516的鏈所示。
[0109]此外,參照圖12,針對各補片51,一組元素54存儲在各補片51的補片映射23中,各元素54包括補片頂點52的位置。在矩形補片51(例如如圖9中所示)的情況下,可以僅使用兩個頂點52(例如左上和右下頂點52)來指定補片51。然而,尤其針對不規(guī)則形狀補片,可以存在多于兩個元素54。
[0110]參照圖1、2、3和13,模塊16計算各補片51的相對細分等級55(步驟S7)。
[0111]相對細分等級55表示補片51將相對于其他補片51被細分多少。稍后,在應(yīng)用依賴于視點的因素或其他因素之后,計算絕對細分等級。相對細分等級55可以被預(yù)先確定,或者基于掃描的任意方面,例如間斷的位置或法線的變化。
[0112]置換映射18、法線映射19、混合紋理20和補片映射23可以針對每個掃描而被產(chǎn)生一次,并被存儲用于后續(xù)使用。
[0113]渲染
[0114]參照圖1、2和14,掃描數(shù)據(jù)處理模塊16將各掃描的紋理18、19、20和補片映射23加載到渲染系統(tǒng)26中。渲染系統(tǒng)26用來使用補片映射23中的信息來產(chǎn)生掃描的細分表面??梢允褂弥С旨毞值娜我怃秩鞠到y(tǒng)。優(yōu)選地,使用能夠每秒或以更高速率處理I億個三角形的渲染系統(tǒng)。渲染系統(tǒng)能夠在CPU或GPU上運行。
[0115]渲染系統(tǒng)26采用運行在GPU 34上的微軟(RTM)DirectX 11 (RTM)。然而,可以使用其他圖形系統(tǒng),例如OpenGL 4.x。
[0116]以能夠被渲染系統(tǒng)26有效處理的形式存儲紋理18、19、20和補片映射23。
[0117]紋理18、19、20被存儲為二維紋理資源,并且補片映射23被存儲為具有一個控制點補片列表的拓撲結(jié)構(gòu)的頂點緩沖器。如之前所描述的那樣,置換映射18和法線映射19被組合為具有四個通道的組合紋理22。
[0118]紋理18、19、20和頂點緩沖器23(8卩補片映射23)被發(fā)送至GPU 34。
[0119]參照圖14,示出了用于圖形系統(tǒng)的圖形流水線60。
[0120]圖形流水線60包括頂點著色器61、外殼著色器62、細分著色器63(這里還簡稱為“細分器”)、域著色器64、幾何著色器65、光柵器66、像素著色器67和輸出合并級68,除了其他之外,輸出合并級68還與深度緩沖器69(還稱為“z緩沖器”)協(xié)同執(zhí)行深度測試。
[0121]在OpenGL中,外殼著色器被稱為“細分控制著色器”、細分著色器被稱為“原始生成器”、域著色器被稱為“細分評估著色器”,并且像素著色器被稱為“碎片著色器”。
[0122]參照圖14和15,通過外殼著色器62處理頂點緩沖器23中的各補片51。外殼著色器62計算各補片51的絕對細分等級70。細分等級70可以被預(yù)先確定,或者基于一個或更多個因素,諸如從視點29到補片51的距離或其能見距離??梢钥紤]補片51的相對細分等級55。
[0123]在該示例中,基于視點28和相對細分等級55來計算各補片51的絕對細分等級70。外殼著色器62還調(diào)整補片51的邊緣周圍的細分等級,使得該細分等級與相鄰補片51的細分等級匹配。這產(chǎn)生了橫跨各補片51的連續(xù)細分。
[0124]此外,參照圖16和17,細分著色器63是針對各補片51產(chǎn)生相應(yīng)細分圖案71的功能固定的模塊。
[0125]細分著色器63基于由外殼著色器62計算出的絕對細分等級70,來生成細分圖案71(這里稱為“細分補片”)。細分圖案71由三角形72構(gòu)成。細分圖案71中的點73包含這些點在組合紋理22內(nèi)的其(u,v)坐標(biāo)。
[0126]如圖17所示,細分著色器63輸出點列表形式的細分圖案71,點列表列出了構(gòu)成各補片51的三角形72的點73的坐標(biāo)。各(u,v)點73被一次一個地發(fā)送至域著色器64。
[0127]此外,參照圖18和19,通過域著色器64處理各補片51中的各點73。域著色器64對組合后的深度/法線紋理22采樣,并將細分點投影到三維空間中。
[0128]域著色器64計算細分圖案71中的各點73在補片51中的位置。域著色器64在點73的(u,v)坐標(biāo)處對組合后的深度/法線紋理22采樣,以取回深度和法線的值。如果樣本包括間斷旁邊的紋素46,則該點被標(biāo)記為無效。
[0129]域著色器64使用補片51中的信息,根據(jù)(u,v)坐標(biāo)計算方位角和仰角。然后,域著色器64將球面坐標(biāo)(S卩,方位角、仰角、深度)直接地或階段性地(如圖18所示)轉(zhuǎn)換為觀察坐標(biāo)74,S卩,將球面坐標(biāo)轉(zhuǎn)換為掃描坐標(biāo)系中的笛卡爾坐標(biāo)75,然后域著色器64將位置和法線變換到世界坐標(biāo)中,之后變換到觀察坐標(biāo)74中。以頂點列表76的形式輸出坐標(biāo)74。
[0130]域著色器64通過在(球面)置換映射19中指定的深度,有效地置換球面上的點。
[0131]參照圖20,然后,通過幾何著色器65處理細分補片71中的各三角形72。幾何著色器65剔除間斷處的三角形72。
[0132]幾何著色器65確定三角形72是否包含任何無效頂點77。如果頂點74位于間斷旁邊,則頂點74無效。如果存在無效頂點77,則幾何著色器65丟棄三角形72,即丟棄無效三角形78。幾何著色器65還確定三角形72是否處于向激光掃描位置過于傾斜的角度。如果是,則也丟棄三角形72。幾何著色器65輸出更新后的頂點列表79。
[0133]參照圖21,光柵器66將更新后的頂點列表79中的各三角形72,轉(zhuǎn)換為包括像素81的光柵數(shù)據(jù)80。各像素81包括深度82的值。
[0134]然后,通過像素著色器67處理各光柵化三角形72。
[0135]參照圖22,像素著色器67對混合紋理20采樣,以確定像素81是否過于接近間斷47(圖5)。如果像素81過于接近間斷,則丟棄該像素。像素著色器67對組合深度/法線紋理22采樣,以取回像素81處的法線49(圖7)。像素著色器67將法線49(圖7)變換到世界空間中的向量(未示出)中。像素著色器67計算像素81的顏色83,并輸出光柵數(shù)據(jù)84以包括各像素81的深度82和顏色83。
[0136]參照圖14和23,當(dāng)多個掃描被渲染到一個圖形中時,可以使用深度緩沖器69來組合掃描數(shù)據(jù)。
[0137]像素著色器67能夠通過以給定位置和偏移來對深度82采樣,來測量深度的質(zhì)量。像素著色器67能夠偏袒相同的屏幕坐標(biāo)處的更高質(zhì)量的樣本。像素著色器67能夠使用混合紋理20和/或組合后深度/法線紋理22中的信息,來確定樣本的質(zhì)量。
[0138]除了其他之外,輸出合并級68還進行深度測試。
[0139]此外,參照圖24,將各像素81與深度緩沖器69中的相應(yīng)像素相比較(步驟SI1、SI2和S13)。如果輸入像素81具有比存儲在深度緩沖器69中的相應(yīng)像素低的深度值,則將輸入像素81寫入緩沖器69(步驟S14)。如果輸入像素81具有比存儲在深度緩沖器69中的相應(yīng)像素高的深度值,則丟棄輸入像素81(步驟S15)。
[0140]能夠?qū)⑼ㄟ^幾個掃描生成的像素數(shù)據(jù)寫入同一深度緩沖器69,并由此,能夠形成包括來自幾個掃描的數(shù)據(jù)的圖像。
[0141]參照圖25至28,在處理期間的不同階段,針對一組掃描例示了處理激光掃描數(shù)據(jù)并渲染圖像的方法。
[0142]圖25是從多個掃描生成的點云的圖像91。圖25a是圖25所示的圖像91的部分91a的放大圖。
[0143]圖像91示出了制煉廠的內(nèi)部,除了其他之外,制煉廠的內(nèi)部還包括地板92、天花板93、存儲罐94、一排三個反應(yīng)器皿95、各種管道96、一排四個控制面板97、從天花板93懸掛的線纜盤98、照明單元99(或“發(fā)光體”)以及一排四個托盤型液體存儲容器100。
[0144]圖25a是中間反應(yīng)器皿95、管道96和相應(yīng)控制面板97的更詳細的圖。圖像91、91a由點云點45形成。在該情況下,各點45具有在掃描時捕獲的各自顏色。
[0145]如圖25a所示,即使相對近的物體(例如反應(yīng)器皿95)位于相對遠的物體(例如控制面板97)前方、并且因此應(yīng)當(dāng)隱藏該相對遠的物體,該相對遠的物體也可見。當(dāng)圖像被放大時,該效果變得更加顯著。
[0146]圖26示出了從圖25中所示的點云的單獨掃描而生成的組合后的細分圖像101。圖26a和26b是圖26所示的圖像111的部分111 a、111 b的放大圖。
[0147]參照圖25a和26b,使用來自點云的點45來形成由三角形72構(gòu)成的細分圖案71。
[0148]圖26b示出了具有不同大小的三角形72,換句話說,三角形72具有不同細分等級。
[0149]由于三角形72尚未被光柵化并由此未被填充,因此,應(yīng)當(dāng)被隱藏的物體(例如反應(yīng)器皿95)仍然透明。
[0150]圖27示出了使用細分生成的組合后的渲染圖像28、111。
[0151]如圖27所示,相對遠的物體(例如控制面板97)被相對近的物體(例如反應(yīng)器皿95)隱藏。
[0152]如之前所描述的那樣,渲染系統(tǒng)26(圖1)能夠使用多個掃描來實時地渲染圖像。此夕卜,系統(tǒng)26(圖1)使得能夠改變位置并生成從不同位置觀察的細分圖像。能夠遞增地或連續(xù)地改變位置,使得用戶能夠“走”過或“飛”過所勘測的環(huán)境。
[0153]圖28示出了另一組合后的渲染圖像28、111’,從不同的視點根據(jù)圖25所示的同一點云,來生成該組合渲染圖像28、111’。
[0154]如圖28所示,圖像111’從另一視點示出了同一物體,例如控制面板97和反應(yīng)器皿9 5。從圖2 8所示的門112的前方的視點獲取圖2 7中示出的圖像111。
[0155]圖28示出了當(dāng)執(zhí)行掃描時掃描器2(圖1)的位置。各黑暗圓形區(qū)域與掃描器2下方的、掃描器2未記錄點的區(qū)域相對應(yīng)。
[0156]點云圖像91(圖25)與渲染圖像111’(圖29)的比較,示出了與顯示從多個掃描生成的點云的圖像91相關(guān)聯(lián)的視覺假象。渲染圖像111’示出了控制面板97的正面。各正面帶有制造商標(biāo)簽113和警告標(biāo)記114。然而,當(dāng)這些標(biāo)簽113和標(biāo)記114在現(xiàn)實世界中不可見時,在點云圖像91中可見。
[0157]通過不將單獨掃描的掃描數(shù)據(jù)聚合為一個更大組的掃描數(shù)據(jù),系統(tǒng)能夠利用收集掃描數(shù)據(jù)的順序。各組掃描數(shù)據(jù)可以被視為球面置換映射,并且可以被采樣以使用計算效率高的技術(shù)生成細分圖案。能夠進行諸如光柵化的進一步的圖形處理,并且然后僅組合來自不同掃描的圖像。由此,尤其在使用GPU的圖形能力的情況下,系統(tǒng)使得能夠有效和/或快速渲染掃描數(shù)據(jù)的圖像。
[0158]將會意識到,可以對以上描述的實施例進行各種變型。這種變型可以包含等效和如下其他特征,這些特征在激光掃描系統(tǒng)和/或圖形處理系統(tǒng)、以及這些系統(tǒng)的構(gòu)成部分的設(shè)計、制造和使用上是已知的,并且可以使用這些特征來替代這里已經(jīng)描述的特征,或者除了這里已經(jīng)描述的特征以外還可以使用這些特征。一個實施例的特征可以通過另一實施例的特征來替代或補充。
[0159]盡管在本申請中,針對特征的特定組合撰寫了權(quán)利要求,但是應(yīng)當(dāng)理解,本發(fā)明的公開范圍還包括這里明確或隱含公開的任何新穎的特征、或任何新穎的特征組合、或任何特征和特征組合的概括,而不論是否涉及與任何權(quán)利要求中當(dāng)前所要求的相同的發(fā)明,并且不論是否緩解了任何或全部與本發(fā)明相同的技術(shù)問題。
【申請人】在此給出通知,在本申請的訴訟或從本申請導(dǎo)出的任何其他申請的訴訟期間,可以對這些特征和/或這些特征的組合撰寫新的權(quán)利要求。
【主權(quán)項】
1.一種對三維激光掃描數(shù)據(jù)的圖像進行渲染的方法,所述方法包括: 將給定掃描的一組激光掃描數(shù)據(jù)提供為球面置換映射;以及 通過對所述球面置換映射進行采樣來生成細分圖案。2.根據(jù)權(quán)利要求1所述的方法,其中,將所述給定掃描的所述一組激光掃描數(shù)據(jù)提供為所述球面置換映射包括: 接收由給定位置處的激光掃描器生成的一組激光掃描數(shù)據(jù);以及將給定方位角和給定仰角處的給定激光掃描點的測距值從所述激光掃描數(shù)據(jù)復(fù)制到與所述給定方位角和所述給定仰角相對應(yīng)的紋素位置處的至少二維紋理的對應(yīng)紋素中。3.根據(jù)權(quán)利要求1或2所述的方法,所述方法包括: 圖形處理單元生成所述細分圖案。4.根據(jù)前述權(quán)利要求中任一項所述的方法,所述方法還包括: 識別所述球面置換映射中的鄰近點之間的間斷;以及 標(biāo)記所述鄰近點。5.根據(jù)前述權(quán)利要求中任一項所述的方法,所述方法還包括: 依賴于所述球面置換映射來生成法線映射。6.根據(jù)前述權(quán)利要求中任一項所述的方法,其中,生成所述法線映射包括:計算所述球面置換映射中的各點的法線,并將所述法線存儲在法線映射中。7.根據(jù)前述權(quán)利要求中任一項所述的方法,所述方法還包括: 依賴于所述球面置換映射來生成混合紋理。8.根據(jù)前述權(quán)利要求中任一項所述的方法,所述方法還包括: 生成給定掃描的補片映射,所述補片映射包括多個補片。9.根據(jù)權(quán)利要求8所述的方法,其中,所述補片映射包括各補片的相對細分等級,并且所述方法包括: 依賴于間斷來設(shè)置給定補片的所述相對細分等級。10.根據(jù)前述權(quán)利要求中任一項所述的方法,所述方法還包括: 確定形成所述細分圖案中的三角形的一部分的頂點是否被標(biāo)記為在間斷上或與間斷鄰近; 依賴于確定所述頂點無效,剔除所述三角形。11.根據(jù)前述權(quán)利要求中任一項所述的方法,所述方法包括: 生成所述掃描的一組像素;以及 進行深度測試。12.—種包括指令的計算機程序,所述指令用于進行根據(jù)前述權(quán)利要求中任一項所述的方法。13.—種存儲根據(jù)權(quán)利要求12所述的計算機程序的計算機可讀介質(zhì)。14.一種計算機系統(tǒng),所述計算機系統(tǒng)包括: 存儲器; 至少一個處理單元; 其中,所述存儲器將給定掃描的一組激光掃描數(shù)據(jù)存儲為球面置換映射,并且所述至少一個處理單元被配置為通過對所述球面置換映射進行采樣來生成細分圖案。15.根據(jù)權(quán)利要求14所述的計算機系統(tǒng),其中,所述至少一個處理單元包括至少一個圖形處理單元(GPU)。16.根據(jù)權(quán)利要求14或15所述的計算機系統(tǒng),其中,能夠使用微軟(RTM)DirectX(RTM)11應(yīng)用編程接口來配置所述至少一個處理單元。
【文檔編號】G06T19/00GK105830126SQ201480068372
【公開日】2016年8月3日
【申請日】2014年12月5日
【發(fā)明人】阿倫·弗里德曼, 保羅·埃爾頓
【申請人】艾維解決方案有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1