国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種大規(guī)模三維場景的新型可見性生成方法_3

      文檔序號:9632074閱讀:來源:國知局
      屬于且僅屬于一個集合。這樣針對表示每個頂點的向量進(jìn)行分類,就可 以得到頂點的分類信息。因此對于三維空間的點集運(yùn)行k-means聚類的結(jié)果應(yīng)當(dāng)是所有的 點都被賦予了一個類別,也就是對空間場景進(jìn)行了劃分,而且根據(jù)k-means的原理,在空間 位置或者色彩紋理或者某些屬性更加接近的點,被歸為一類的可能性也是越大的。k-means 聚類方法的優(yōu)點在于算法簡單、速度快。如果有η個點,k個類,迭代了t次,那么算法的時 間復(fù)雜度就是〇(nkt),時間復(fù)雜度趨近于線性,因此對于大樣本具有較高的效率。
      [0036] 2、k-means聚類方法流程
      [0037] 1)隨機(jī)指定k個頂點,該頂點的含義既可以指三維場景中的一個物體(使用其幾 何中心坐標(biāo)),或者一塊網(wǎng)格(使用其幾何中心坐標(biāo)),也可以指單個三角面片,取其中某 個頂點(或者代表性頂點或者其幾何重心坐標(biāo)),用所選每一頂點的三維坐標(biāo)構(gòu)成的向量 (X,y,z),還可以附加加上頂點的顏色或者紋理信息(r,g,b)(如果頂點本身是一個物體或 者一塊網(wǎng)格,則可以使用該其的顏色或紋理的均值,或者使用其代表性顏色或紋理),此外 還可以對每個頂點附加其它輔助屬信息如材質(zhì)等等,以此k個頂點作為k個類的初始的中 心點;
      [0038] 2)計算每個頂點到k個初始中心點的矢量距離,離哪個中心點距離最近就認(rèn)為這 個頂點屬于哪一類。具體的計算并非完全依賴于三維空間的歐式距離,還可以附加色彩空 間中的距離,以及附加屬性空間中的向量距離,這些距離可以通過加權(quán)的方式綜合起來作 為一個統(tǒng)一的度量。
      [0039] 3)計算每一類中所有點的均值,作為該類的新的中心點;
      [0040] 4)得到了新的中心點,跳轉(zhuǎn)到(2)。算法的終止條件是新的中心點集合和老的中 心點集合的距離小于設(shè)定閾值(閾值需要自己手動設(shè)置)或者迭代的次數(shù)大于了設(shè)定上 限。每一聚類結(jié)果對應(yīng)一個子空間,最終將三維空間聚類為k個子空間。
      [0041] 3、基于三維場景的聚類得到場景的層次樹結(jié)構(gòu)
      [0042] 在步驟2 (k-means聚類方法流程)中已經(jīng)形成的聚類所對應(yīng)的空間剖分基礎(chǔ)之 上,對其每一個子空間再次使用k-means聚類方法進(jìn)行子空間內(nèi)模型或者面片的聚類,對 應(yīng)形成三維空間的子剖分,即viewcell單元。層次k-means的算法流程如下:
      [0043] 1)在輸入的頂點集合上運(yùn)行k-means聚類方法。
      [0044] 2)對于得到的每一類點集上繼續(xù)重復(fù)上述聚類及剖分過程直到到達(dá)指定的空間 剖分精度或者指定的層數(shù),從而獲得足夠的類別數(shù)目。通過層次k-means聚類的方法,當(dāng)k 很大時聚類的速度可以大幅度提高并且避免了不必要的計算。圖3是層次k-means方法的 一個示意圖,在圖中k= 3。
      [0045] 最終,根據(jù)得到的三維空間的多層次單元viewcell的邏輯關(guān)系得到該三維空間 的層次樹。
      [0046] 通過上述聚類及對應(yīng)空間剖分方法的運(yùn)行,如果我們將k-means聚類的k值也就 是類別的數(shù)目設(shè)的比較小,那么得到的結(jié)果可能是代表一個樓群或者幾棟相鄰樓房的點云 被分為了一類。在這一類中對所有點繼續(xù)運(yùn)行k-means聚類,可能得到的結(jié)果就是每一棟 樓的點被分為了一類。這實際上就是空間的樹形層次結(jié)構(gòu),每個父節(jié)點的所有子節(jié)點對于 父節(jié)點所表示的點云進(jìn)行了進(jìn)一步的細(xì)分,得到了更加精細(xì)的結(jié)構(gòu)。在這樣的層次樹結(jié)構(gòu) 當(dāng)中,離根節(jié)點越遠(yuǎn),深度越深的類別所包含的點的個數(shù)越少,代表的結(jié)構(gòu)面積或者體積也 越小。
      [0047] 第3,利用合理的空間采樣(sampling)策略,生成大量的三維空間中的采樣射 線。進(jìn)行采樣時候,所采用的取樣策略是隨機(jī)采樣,也就是在空間中均勻分布的頂點,然后 在每個點隨機(jī)的生成方向,從而得到隨機(jī)的射線。該采樣射線生成方法參考文獻(xiàn)(Bittner J.,Mattausch0. ,WonkaP.,HavranV. ,ffimmerM.:Adaptiveglobalvisibility sampling.InProceedingsofACMSIGGRAPH2009(NewOrleans,LA,USA,August 2009).)〇
      [0048] 第二部分的預(yù)處理:就是為每個viewcell生成它對應(yīng)的PVS,從而達(dá)到生成可見 性信息的目的。步驟如下:
      [0049] 第一步,將每條采樣射線逐一地在BVH中搜索,找到在整個場景中距離射線起始 點最近的相交物體。這個過程其實類似于基于BVH的光線跟蹤(raytracing),過程描述如 下:射線自頂向下、逐層的與BVH的包圍盒求交,如果與某一層的結(jié)點包圍盒是相交的,則 接著向下,與該層結(jié)點的子結(jié)點的包圍盒求交,直到葉節(jié)點為止。
      [0050] 如果射線與某葉結(jié)點相交,則將射線與該葉節(jié)點所包含物體的每個三角面片求 交。只要它與其中任何一個三角面片相交,則射線是真正與該物體相交的,此時,更新當(dāng)前 的最短距離。將最短的距離記錄下來的同時,把該最短距離所對應(yīng)的物體記錄下來。最終, 遍歷完整個BVH后,得到與采樣每條射線相交的最近物體及其最近距離。
      [0051] 第二步,將每條采樣射線逐一地在層次樹(即層次viewcell空間)中搜索,找 到所有與當(dāng)前射線相交的viewcell,進(jìn)而,將上一步中計算所得的與當(dāng)前射線相交的物體 (可能存在0/1/2個)加入到當(dāng)前viewcell的PVS中。也就是說,從該viewcell中一定 能看到與該射線相交的最近的物體。
      [0052] 基于層次樹的光線跟蹤采樣的基本思路如下:
      [0053] (1)先用整個層次樹所對應(yīng)的三維空間包圍盒更新每一射線的最近距離和最遠(yuǎn)距 離;
      [0054] (2)求出射線和當(dāng)前viewcell所對應(yīng)的結(jié)點的切分面的距離,如果這個距離小 于最近距離或者大于最遠(yuǎn)距離,說明射線只與當(dāng)前結(jié)點的一部分相交,就可以裁掉一個子 結(jié)點。如果這個距離剛好在二者之間,說明射線與結(jié)點的兩個子結(jié)點都是相交的。
      [0055] 第三步,對于每個viewcell所計算出的PVS中的每一個物體T,將物體T三維空 間中相鄰某一個設(shè)定距離內(nèi)的所有物體Τ'找出來,如果物體Τ'并不在當(dāng)前viewcell的 PVS中,則將其加入另一個命名為QPVS(QueryPotentialVisibleSet)的集合中,一個 viewcell僅對應(yīng)生成唯一QPVS,但是一個QPVS中可能有多個物體。由于隨機(jī)采樣的策 略所采樣的結(jié)果畢竟有限,所以很有可能某些實際可見的物體沒有能夠采樣到從而被遺漏 掉,所以這個QPVS中的物體就是預(yù)測的有很大可能是屬于該viewcell的exactvisible set里的物體。于是將QPVS作為能夠補(bǔ)齊PVS的候選物體的集合,在線瀏覽或者漫游時通 過實時遮擋查詢確定在候選集合中的這些物體的真正可見性。
      [0056] 如何選擇合適的物體加入QPVS中作為候選,我們采用下述的策略。對于某個view cell的PVS中的每一個物體T,根據(jù)viewcell和物體T周圍采樣射線的數(shù)目情況,計算出 一個適當(dāng)?shù)木嚯x閾值d。接著,判斷場景中的所有物體,與這個物體T的距離小于d的其他 物體如果不在當(dāng)前viewcell的PVS中就將其加入QPVS,作為后續(xù)遮擋查詢的候選。該方 法的合理處理策略如下:當(dāng)一個物體周圍采樣數(shù)目比較大的時候,錯過了可見物體的可能 性會比較小,這個時候,就確定一個較小的距離d,只有比較少的物體會添加到QPVS中進(jìn)行 后續(xù)過程中的額外查詢;但是如果采樣數(shù)目比較小的話,則要確定一個比較大的d,就可以 添加較多的物體到QPVS中。如此就可以保證錯過的物體會比較少,而QPVS中的物體實際 是可見物體的可能性也比較大。
      [0057] 第四步,在所有射線都已經(jīng)與BVH及層次樹執(zhí)行完遍歷,并且其相關(guān)信息與對應(yīng) viewcell整合好以后,將viewcell的所有可見性信息(即PVS,QPVS)寫入外存儲結(jié)構(gòu) 中。
      [0058] 以上就是整個預(yù)處理過程,它得到了以層次樹為形式存儲的viewcell的信息以 及每個viewcel1所對應(yīng)的PVS以及QPVS。這些信息將在實時繪制中被用到。上述可見性信 息的構(gòu)建過程中,BVH的構(gòu)建復(fù)雜度為0(nlog(η)),層次樹的構(gòu)建復(fù)雜度也是0(nlog(η)), 而BVH和層次樹的遍歷復(fù)雜度皆為0(log(η))。
      [0059] 二、實時在線繪制時可見性信息的使用和更新
      [0060] 在進(jìn)行完預(yù)處理的過程以后,接下來是三維場景的漫游及其對應(yīng)實時繪制。三維 場景的漫游的過程描述如下:
      [0061] 首先,加載三維空間層次樹
      當(dāng)前第3頁1 2 3 4 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1