專利名稱:一種基于海量激光雷達柵格點云數(shù)據(jù)的建模方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種建模方法,尤其涉及一種基于海量激光雷達柵格點云數(shù)據(jù)的建模方法。
背景技術(shù):
三維激光掃描儀是以激光發(fā)射器為中心多次發(fā)射激光并經(jīng)地物表面反射接收激光測距,以陣列的方式進行高分辨率穹形掃描,其獲取的點云數(shù)據(jù)在未經(jīng)任何預處理的情況下稱為柵格點云,因此該柵格點云數(shù)據(jù)具有數(shù)據(jù)量大(海量性)、按掃描線排列(柵格性)、同一射線方向上僅存在一個表面三維坐標點(唯一性)等特點。有的掃描儀裝有照相機,還能獲取三維點的紋理信息,但一般沒有點的法向信息。各種地面激光雷達的測距范圍均有一定的限制,獲取數(shù)據(jù)的距離值一般在IOOOm以內(nèi)。近年來,國內(nèi)外在基于點云的空間數(shù)據(jù)索引和海量空間數(shù)據(jù)存儲與管理研究方面已經(jīng)取得長足的發(fā)展。目前,公知的適合點云的三維空間索引方法主要有規(guī)則格網(wǎng)、四叉樹、八叉樹、k-d樹、R樹及其變種和一些很具代表性的混合索引等。這些索引中很多是點對象和空間實體的最小外包矩形建立的,但其索引粒度基本上都索引到了單個點對象,不適用于海量點云的三維空間索引。目前的三維空間索引大多是從二維空間索引的基礎上發(fā)展而來的,與二維空間索引相似,三維空間索引方法也是基于空間數(shù)據(jù)的層次化聚類原則,結(jié)構(gòu)上類似于早期用于數(shù)據(jù)檢索的B+樹,現(xiàn)有的空間索引往往支持內(nèi)存或外存的細節(jié)層次技術(shù),在生成空間索引和細節(jié)層次數(shù)據(jù)時通常是復制點云數(shù)據(jù)備份,采用“以空間換時間” 的方法來實時選取所需層次的數(shù)據(jù)進行處理與可視化。選取何種索引機制作為空間數(shù)據(jù)庫的空間索引,要根據(jù)實際情況和應用需要來確定。目前,相關(guān)平臺的軟件系統(tǒng)采用多種索引機制并存、取長補短的策略,但還沒有一種方法明顯優(yōu)于其他方法。另外,三維空間索引技術(shù)還存在很多問題,如高效索引樹算法的改進、復雜空間查詢方法的優(yōu)化、查詢操作中幾何過濾方法的優(yōu)化、索引評價標準等,這些都有待于進一步探索。近幾年國際國內(nèi)研究較多的是直接通過密接采樣的離散點云(也稱為點模型) 的方式隱性地表示空間地物,它能更好地表達形狀復雜且不規(guī)則的物體,較其他幾何模型在繪制質(zhì)量和繪制速度上有著較大優(yōu)勢,但在點模型的數(shù)據(jù)預處理階段往往需要很大的時間和空間消耗來計算模型表面的幾何屬性,如求解主曲率、主方向,計算法矢和法錐面等, 數(shù)據(jù)轉(zhuǎn)換時間都至少需要幾分鐘,而且超過一定容量的海量數(shù)據(jù)還不能被預處理,如2006 年斯圖加特大學為斯坦福大學計算機圖形實驗室的QSplat軟件編制的.qs格式轉(zhuǎn)換工具 Laser Splat 1. 0就只能處理小于400M的PTX文件,這些都限制了海量點云后處理工作的實施質(zhì)量與效率。由于空間數(shù)據(jù)的特殊性,常規(guī)的DBMS不能很好地存儲與管理空間數(shù)據(jù),通常采用的方式都是在數(shù)據(jù)庫管理系統(tǒng)上加入一層所謂暗盒、數(shù)據(jù)刀片等空間附件實現(xiàn)空間數(shù)據(jù)的存儲和管理,相關(guān)的產(chǎn)品有 ESRI 的 ArcSDE, MapInfo 的 Spatialffare, Oracle 的 Oracle Spatial^ IBM ^ DB2 Spatial Extender^ Informix ^ Spatial DataBlade0 Sft^^^nl^j復雜、效率不高,而且功能上受到商業(yè)產(chǎn)品的限制不便于擴展,編程實現(xiàn)較為困難。隨著空間應用領(lǐng)域的不斷擴展和空間數(shù)據(jù)的海量增長,研究和運用空間數(shù)據(jù)存儲與管理技術(shù)解決現(xiàn)有的點云數(shù)據(jù)存儲系統(tǒng)在性能和擴展性方面亟待解決的問題,滿足人們對高性能、海量數(shù)據(jù)存儲和數(shù)據(jù)安全性的要求,實現(xiàn)對海量數(shù)據(jù)的高效透明訪問和分析已經(jīng)成為當前點云數(shù)據(jù)存儲與管理技術(shù)研究的熱門課題。一般來講,軟件系統(tǒng)中三維點云數(shù)據(jù)的存儲方式有以下三種一、數(shù)據(jù)的文件存儲及管理方式。文件存儲即將所有的數(shù)據(jù)(空間數(shù)據(jù)和屬性數(shù)據(jù))都存儲在一個或多個文件中。采用文件方式來管理數(shù)據(jù)的優(yōu)點是靈活,即每個廠商都可以任意定義自己的文件格式。這種方式有安全性不高、數(shù)據(jù)的更新、查詢、檢索等操作不便、數(shù)據(jù)共享和海量數(shù)據(jù)無法管理等弊端。二、采用文件和關(guān)系數(shù)據(jù)庫來共同管理空間數(shù)據(jù)。這是目前大多數(shù)地理信息系統(tǒng) (GIS)軟件系統(tǒng)采用的數(shù)據(jù)管理方案。解決方式是空間數(shù)據(jù)采用文件方式來管理,屬性數(shù)據(jù)則采用數(shù)據(jù)庫進行管理。對于非結(jié)構(gòu)化的描述數(shù)據(jù),不論是文本、圖像還是聲音等,一般都對應于一個文件,這樣便可以簡單地在關(guān)系數(shù)據(jù)庫中只記錄其文件存在的路徑。三、采用數(shù)據(jù)庫存儲空間數(shù)據(jù)和屬性數(shù)據(jù)。空間數(shù)據(jù)和屬性數(shù)據(jù)都可以采用關(guān)系數(shù)據(jù)技術(shù)來存儲數(shù)據(jù),即空間數(shù)據(jù)也可存放在數(shù)據(jù)庫中。這種存儲的方式有兩種一是空間數(shù)據(jù)和屬性數(shù)據(jù)合二為一,將空間數(shù)據(jù)和屬性數(shù)據(jù)存儲在一起,兩者不分家;二是將空間數(shù)據(jù)存放在一個模式下,屬性數(shù)據(jù)存放在另一個模式下,兩者分開,仍然采用空間數(shù)據(jù)和屬性數(shù)據(jù)分別存儲的技術(shù)。GIS中空間數(shù)據(jù)的存儲方法也可以借鑒到海量點云的數(shù)據(jù)庫存儲與管理中,可以說海量空間數(shù)據(jù)的組織與數(shù)據(jù)庫存儲管理是空間數(shù)據(jù)處理和數(shù)據(jù)可視化的基礎,這就需要新的數(shù)據(jù)模型和有效的空間索引機制支持。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術(shù)的弊端,提供一種基于海量激光雷達柵格點云數(shù)據(jù)的建模方法。本發(fā)明所述的基于海量激光雷達柵格點云數(shù)據(jù)的建模方法,包括如下步驟步驟一,讀取三維空間點云數(shù)據(jù),同時利用這些三維空間點云數(shù)據(jù)自上而下構(gòu)建四叉樹空間索引;并自下而上在所述空間索引樹的非葉子節(jié)點填充三維空間點云數(shù)據(jù)的索引標識信息;步驟二,將上述構(gòu)建的空間索引樹依據(jù)深度優(yōu)先遍歷方式存儲為二進制索引文件;將三維空間點云數(shù)據(jù)壓縮存儲為二進制數(shù)據(jù)文件;步驟三,以面向?qū)ο蠓绞皆O計數(shù)據(jù)庫,并將所述空間數(shù)據(jù)對象存入數(shù)據(jù)庫對象表;步驟四,將上述數(shù)據(jù)庫中數(shù)據(jù)調(diào)入外存暫存,并通過內(nèi)存映射方式直接從外存上將指定標識信息的三維空間點云數(shù)據(jù)映射到內(nèi)存,由圖形處理器進行繪制。本發(fā)明所述的基于海量激光雷達柵格點云數(shù)據(jù)的建模方法的步驟一中,所述四叉樹空間索引節(jié)點的數(shù)據(jù)結(jié)構(gòu)包括節(jié)點的三維最小外包盒、二維行列數(shù)外包矩形、節(jié)點名稱標識信息、節(jié)點的父指針、節(jié)點的孩子節(jié)點指針、節(jié)點存儲點坐標的標識信息、三維坐標偏移參數(shù),標識信息的偏移參數(shù)。本發(fā)明所述的基于海量激光雷達柵格點云數(shù)據(jù)的建模方法的步驟二中,所述壓縮的三維空間點云數(shù)據(jù)包括其幾何屬性和紋理屬性信息。本發(fā)明所述的基于海量激光雷達柵格點云數(shù)據(jù)的建模方法的步驟三中,以面向?qū)ο蠓绞竭M行數(shù)據(jù)庫概念模型設計、數(shù)據(jù)庫邏輯模型設計、數(shù)據(jù)庫物理設計;所述空間數(shù)據(jù)對象包括原始數(shù)據(jù)對象、三維最小外包盒對象、空間變換矩陣對象。本發(fā)明所述基于海量激光雷達柵格點云數(shù)據(jù)的建模方法中,在海量原始點云數(shù)據(jù)讀取的同時快速建立三維空間索引結(jié)構(gòu)樹,方便地存取自組織的空間索引數(shù)據(jù)和二進制點云數(shù)據(jù),采用內(nèi)存映射技術(shù)避免了外存的不必要細節(jié)層次數(shù)據(jù)備份與采樣點冗余,節(jié)約外存和內(nèi)存的空間,可視化操作時數(shù)據(jù)查詢效率高,數(shù)據(jù)結(jié)構(gòu)簡單有效,在保證基本繪制質(zhì)量的前提下達到較高的繪制效率,同時利用大型商用數(shù)據(jù)庫來存儲數(shù)據(jù)保證了數(shù)據(jù)的安全性與并發(fā)性,提高了海量空間數(shù)據(jù)管理的效能。
圖1為本發(fā)明所述基于海量激光雷達柵格點云數(shù)據(jù)的建模方法的流程示意圖;圖2為本發(fā)明所述基于海量激光雷達柵格點云數(shù)據(jù)的建模方法中QMBB樹空間索引節(jié)點數(shù)據(jù)的結(jié)構(gòu)示意圖;圖3為本發(fā)明所述基于海量激光雷達柵格點云數(shù)據(jù)的建模方法中細節(jié)層次選取的示意圖。
具體實施例方式下面結(jié)合附圖對本發(fā)明做進一步的詳細說明,以令本領(lǐng)域技術(shù)人員參照說明書文字能夠據(jù)以實施。如圖1所示,本發(fā)明所述的基于海量激光雷達柵格點云數(shù)據(jù)的建模方法,包括如下步驟步驟101,讀取三維空間點云數(shù)據(jù),同時利用這些三維空間點云數(shù)據(jù)自上而下構(gòu)建四叉樹空間索引;并自下而上在所述空間索引樹的非葉子節(jié)點填充三維空間點云數(shù)據(jù)的索引標識信息。本步驟中,根據(jù)原始三維空間點云數(shù)據(jù)的柵格性,依掃描點云的行數(shù)和列數(shù)以自上而下的方式構(gòu)建四叉樹空間索引。所述四叉樹空間索引節(jié)點的數(shù)據(jù)結(jié)構(gòu)包括節(jié)點的三維最小外包盒(MBB)、二維行列數(shù)外包矩形(MBR)、節(jié)點名稱ID、節(jié)點的父指針、節(jié)點的孩子節(jié)點指針、節(jié)點存儲點坐標的ID標識、三維坐標偏移參數(shù),ID偏移參數(shù)等等。在每個點坐標讀取的過程中依次定義點的ID(標識信息)值并根據(jù)ID值將其插入四叉樹索引的葉子節(jié)點中,同時計算每個葉子節(jié)點的最小外包矩形體(MBB)。當點云中所有的點均插入到空間索引樹并計算MBB完畢后,利用均勻采樣的方法以自下而上的方式填充空間索引樹的非葉子節(jié)點數(shù)據(jù),直到根節(jié)點。非葉子節(jié)點也存儲多分辨率的點云數(shù)據(jù),但不存儲真實的三維坐標數(shù)據(jù),只是存儲坐標數(shù)據(jù)的索引ID,作為真實點坐標及灰度紋理信息的指針。
這樣,一個以四叉樹為基礎的三維空間索引結(jié)構(gòu)(定義為Quad-MBBTree,QMBB樹) 就在數(shù)據(jù)讀取的過程中快速實時生成了,同時大規(guī)模的點云數(shù)據(jù)也就被分割成多分辨率的細節(jié)層次數(shù)據(jù)塊,這是后續(xù)點云數(shù)據(jù)處理和可視化的基礎。經(jīng)大量數(shù)據(jù)實驗,QMBB樹空間索引結(jié)構(gòu)節(jié)點存儲的點云數(shù)量控制在20000個點左右為宜,存儲的點數(shù)超過100000個,則單個節(jié)點內(nèi)點云數(shù)據(jù)讀取緩慢,實時可視化難以實現(xiàn);數(shù)據(jù)小于5000個則空間索引樹的深度過深,海量數(shù)據(jù)查詢影響索引節(jié)點的命中效率。 本發(fā)明采用16384個點,當葉子節(jié)點的有效點總數(shù)達到分裂要求,即總數(shù)超過16384個點時進行節(jié)點分裂與點云數(shù)據(jù)的重分配,重復這個工作直到所有點坐標數(shù)據(jù)讀取完畢,此時 QMBB空間索引則構(gòu)建完畢。步驟102,將上述構(gòu)建的空間索引樹依據(jù)深度優(yōu)先遍歷方式存儲為二進制索引文件;將三維空間點云數(shù)據(jù)壓縮存儲為二進制數(shù)據(jù)文件。本發(fā)明中,QMBB樹空間索引結(jié)構(gòu)建立好之后將其依據(jù)深度優(yōu)先遍歷的方式存儲為二進制索引文件,再次讀取該二進制索引文件后可快速恢復該點云的QMBB樹空間索引結(jié)構(gòu),而不需要重新構(gòu)建空間索引。同時,將點云數(shù)據(jù)按照索引樹節(jié)點內(nèi)相對坐標的原理進行壓縮,將點的幾何屬性、紋理屬性及其他屬性分別壓縮至合理范圍,以便于數(shù)據(jù)的顯示與傳輸,所述壓縮后的數(shù)據(jù)被存儲為二進制數(shù)據(jù)文件。其中,記錄點的三維坐標和RGB紋理值各至少需要三個浮點型數(shù)據(jù),共需2*3*4等于M字節(jié),記錄點的ID和灰度各需要1個浮點型數(shù)據(jù)4字節(jié),因此存儲一個點結(jié)構(gòu)共需32 字節(jié)256比特(bit)。不同的數(shù)據(jù)應用不同的壓縮方法,對于將灰度值和RGB紋理值,將其各分量分別拉伸到0-255整數(shù)范圍,分別用一個字節(jié)來存儲,這樣的拉伸手段不會影響點云的紋理繪制效果。對于三維浮點坐標值則采用空間位置量化的方法進行壓縮。由于本發(fā)明采用的空間索引分塊數(shù)據(jù)的Z坐標值一般來說比較大,這由地面激光雷達的射程決定的,市場上現(xiàn)有的地面激光掃描儀的最遠有效距離一般不會超過1000m,大于IOOOm之后獲取的點云數(shù)據(jù)往往誤差也比較大,可以丟棄不用。如前所述,以每個掃描點最小點間距Imm計,則16384 個點在空間內(nèi)某一坐標方向上至多存在16. 38 !范圍,一般在X、Y方向上采用14個比特位就能精確表達點的一個方向坐標;由于Z坐標值有可能比較大,但一般不會超過1000m,我們采用20個比特位來表達Z方向坐標,大于IOOOm的則截斷,視為無效點。同理一個節(jié)點內(nèi)的每個坐標點的個數(shù)一定,不超過16384,且同一塊數(shù)據(jù)類的三維點都是相鄰的,ID號不會相差太大,也可在采用減去點集中最小ID值后用2個字節(jié)來表達。圖2所示為本發(fā)明中的QMBB樹空間索引節(jié)點的數(shù)據(jù)結(jié)構(gòu)示意圖。在圖2所示數(shù)據(jù)結(jié)構(gòu)圖中,指向子節(jié)點的指針1標示該節(jié)點的四個子節(jié)點的節(jié)點名稱編碼8;三維坐標偏移量2和三維點的ID標識偏移值4是為點云數(shù)據(jù)壓縮設置的屬性,依據(jù)單個節(jié)點內(nèi)包含的點的個數(shù)有限和點坐標的范圍有限來壓縮原始點云數(shù)據(jù),將節(jié)點內(nèi)所有的坐標值減去三維坐標偏移量2的值再將其轉(zhuǎn)化為雙字節(jié)二進制數(shù)據(jù)存儲,同理三維點的ID標識也采用同樣的辦法壓縮成雙字節(jié)二進制數(shù)據(jù)存儲;三維點數(shù)據(jù)ID標識指針3存儲該節(jié)點內(nèi)所有點的 ID值,間接存儲點云數(shù)據(jù);節(jié)點的最小外包矩形體5表示該節(jié)點包含的三維點的最小外包矩形體,它是由節(jié)點內(nèi)所有的點坐標計算出來的;節(jié)點的行列位置最小外包矩形6表示該節(jié)點包含的點所在的行列號的最大最小值,它是QMBB空間索引構(gòu)建過程中每個節(jié)點內(nèi)生成的二維行列數(shù)極值;指向父節(jié)點的指針7標示該節(jié)點的父節(jié)點的節(jié)點名稱編碼8,每個節(jié)點均有雙向指針指示其父、子節(jié)點;節(jié)點的名稱編碼8唯一標識該節(jié)點的名稱,其編碼方式為根節(jié)點標識為字符“1”,其四個子節(jié)點分別標識為“11”、“12”、“13”、“14”,節(jié)點“11”的四個子節(jié)點分別標識為“111”、“112”、“113”、“114”,每個節(jié)點名稱編碼的字符串長度代表它在QMBB空間索引樹中的深度;子節(jié)點處理次數(shù)標識9是在QMBB空間索引樹節(jié)點迭代操作中記錄子節(jié)點的操作次數(shù)。表1所示為本發(fā)明中空間點云數(shù)據(jù)的壓縮統(tǒng)計。本發(fā)明中的總體壓縮率達到37. 5%,壓縮了近三分之二的數(shù)據(jù)量。表 權(quán)利要求
1.一種基于海量激光雷達柵格點云數(shù)據(jù)的建模方法,其特征在于,包括如下步驟步驟一,讀取三維空間點云數(shù)據(jù),同時利用這些三維空間點云數(shù)據(jù)自上而下構(gòu)建四叉樹空間索引;并自下而上在所述空間索引樹的非葉子節(jié)點填充三維空間點云數(shù)據(jù)的索引標識信息;步驟二,將上述構(gòu)建的空間索引樹依據(jù)深度優(yōu)先遍歷方式存儲為二進制索引文件;將三維空間點云數(shù)據(jù)壓縮存儲為二進制數(shù)據(jù)文件;步驟三,以面向?qū)ο蠓绞皆O計數(shù)據(jù)庫,并將所述空間數(shù)據(jù)對象存入數(shù)據(jù)庫對象表;步驟四,將上述數(shù)據(jù)庫中數(shù)據(jù)調(diào)入外存暫存,并通過內(nèi)存映射方式直接從外存上將指定標識信息的三維空間點云數(shù)據(jù)映射到內(nèi)存,由圖形處理器進行繪制。
2.如權(quán)利要求1所述的建模方法,其特征在于,所述步驟一中,所述四叉樹空間索引節(jié)點的數(shù)據(jù)結(jié)構(gòu)包括節(jié)點的三維最小外包盒、二維行列數(shù)外包矩形、節(jié)點名稱標識信息、節(jié)點的父指針、節(jié)點的孩子節(jié)點指針、節(jié)點存儲點坐標的標識信息、三維坐標偏移參數(shù),標識信息的偏移參數(shù)。
3.如權(quán)利要求1所述的建模方法,其特征在于,所述步驟二中,所述壓縮的三維空間點云數(shù)據(jù)包括其幾何屬性和紋理屬性信息。
4.如權(quán)利要求1所述的建模方法,其特征在于,所述步驟三中,以面向?qū)ο蠓绞竭M行數(shù)據(jù)庫概念模型設計、數(shù)據(jù)庫邏輯模型設計、數(shù)據(jù)庫物理設計;所述空間數(shù)據(jù)對象包括原始數(shù)據(jù)對象、三維最小外包盒對象、空間變換矩陣對象。
全文摘要
本發(fā)明公開了一種基于海量激光雷達柵格點云數(shù)據(jù)的建模方法,包括如下步驟讀取三維空間點云數(shù)據(jù),同時利用這些三維空間點云數(shù)據(jù)自上而下構(gòu)建四叉樹空間索引;并自下而上在所述空間索引樹的非葉子節(jié)點填充三維空間點云數(shù)據(jù)的索引標識信息;將上述構(gòu)建的空間索引樹依據(jù)深度優(yōu)先遍歷方式存儲為二進制索引文件;將三維空間點云數(shù)據(jù)壓縮存儲為二進制數(shù)據(jù)文件;以面向?qū)ο蠓绞皆O計數(shù)據(jù)庫,并將所述空間數(shù)據(jù)對象存入數(shù)據(jù)庫對象表;將上述數(shù)據(jù)庫中數(shù)據(jù)調(diào)入外存暫存,并通過內(nèi)存映射方式直接從外存上將指定標識信息的三維空間點云數(shù)據(jù)映射到內(nèi)存,由圖形處理器進行繪制。
文檔編號G06F17/30GK102306180SQ20111025074
公開日2012年1月4日 申請日期2011年8月29日 優(yōu)先權(quán)日2011年8月29日
發(fā)明者王國利, 王晏民, 郭明 申請人:北京建筑工程學院