[發(fā)明專利]基于分層輪廓的LIDAR數(shù)據(jù)城市快速重建方法無效
| 申請?zhí)枺?/td> | 201310006074.1 | 申請日: | 2013-01-09 |
| 公開(公告)號: | CN103093497A | 公開(公告)日: | 2013-05-08 |
| 發(fā)明(設(shè)計)人: | 李慧盈;傅博;李文輝;張振花 | 申請(專利權(quán))人: | 吉林大學(xué) |
| 主分類號: | G06T17/00 | 分類號: | G06T17/00;G06T15/04;G01S17/00 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 130012 吉林省*** | 國省代碼: | 吉林;22 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 分層 輪廓 lidar 數(shù)據(jù) 城市 快速 重建 方法 | ||
1.基于分層輪廓的LIDAR數(shù)據(jù)城市快速重建方法所用設(shè)備由一個數(shù)據(jù)采集平臺、一個飛行平臺、一個控制與分析平臺、一個結(jié)果管理與顯示平臺、一個數(shù)據(jù)存儲裝置組成,數(shù)據(jù)采集平臺采用ALS50-II機載激光LIDAR系統(tǒng)、徠卡RCD105-60型高分辨率數(shù)碼相機和GPS定位模塊,控制與分析平臺和結(jié)果管理與顯示平臺采用普通PC機,數(shù)據(jù)存儲裝置采用PC機的硬盤;其特征在于,實現(xiàn)步驟如下:
A:當(dāng)飛行那個平臺進入目標(biāo)飛行軌跡,控制與分析平臺發(fā)出指令,飛行平臺開始獲取當(dāng)前飛行平臺所在位置的差分GPS數(shù)據(jù)與機載POS數(shù)據(jù),同時,控制與分析平臺控制數(shù)據(jù)采集平臺上的激光LIDAR系統(tǒng)、高清數(shù)碼相機工作獲取地表LIDAR點云數(shù)據(jù)與高清航拍正射影像,并將上述兩種數(shù)據(jù)存儲到存儲器中,具體步驟如下:
A01:開始,控制與分析平臺發(fā)出初始化指令,初始化激光LIDAR系統(tǒng)、高清數(shù)碼相機、GPS模塊,獲取測試區(qū)域坐標(biāo);
A02:控制與分析平臺對激光LIDAR系統(tǒng)、高清數(shù)碼相機、GPS模塊發(fā)出起始獲取數(shù)據(jù)指令,開始獲取激光LIDAR數(shù)據(jù)并存儲到存儲器,開始獲取高清航拍影像并存儲到存儲器,估計GPS差分數(shù)據(jù)并存儲到存儲器,獲取機載POS數(shù)據(jù)并存儲到存儲器;
A03:控制與分析平臺對激光LIDAR系統(tǒng)、高清數(shù)碼相機、GPS模塊發(fā)出結(jié)束獲取數(shù)據(jù)指令,停止激光LIDAR系統(tǒng)、高清數(shù)碼相機、GPS模塊的工作,結(jié)束存儲操作;
B:控制與分析平臺對采集平臺存儲的數(shù)據(jù)進行分析,最后將分析結(jié)果保存到結(jié)果管理與顯示平臺,具體步驟如下:
B01:執(zhí)行從存儲設(shè)備讀取LIDAR系統(tǒng)點云數(shù)據(jù)的操作,讀入點云數(shù)據(jù)Points_cloud,數(shù)據(jù)中Z表高度,讀取時轉(zhuǎn)化為Y表高度;
B02:執(zhí)行去墻壁點操作,迭代判斷非地面云團的所有點v,通過索引網(wǎng)格獲得與v距離不超過r的所有點(v本身除外)保存至nearList,求nearList中所有點最大高度hmax和最小高度hmin,將hmax和hmin相減得到的值dh作為判斷其它點是否為墻壁點的閾值,如果一個點值大于hmax或者該點與地面的高度差大于dh,則認為該點為一個墻壁點,將該點去除;
B03:執(zhí)行標(biāo)記階躍點的操作,對于所有剩余的點,計算其半徑為r的鄰域內(nèi)各點的最大高度差,如果差值大于設(shè)定閾值,則認為此點為階躍點,將其標(biāo)記為階躍點cloud.jump;
B04:執(zhí)行分離地面點操作,將測量區(qū)域劃分成尺寸為L*L的方格,在每個方格范圍中取最低點作為地面種子點,以種子點周圍非階躍點作為連通條件進行區(qū)域生長,得到連通分支branch,將branch保存到branchList,接下來對地面云團建立矩形網(wǎng)并進行平滑得到數(shù)字地形模型(Digital?Terrain?Model,簡稱DTM),非地面云團留待后續(xù)步驟處理;
B05:執(zhí)行點云分割操作,非地面云團進行區(qū)域生長,生長的條件為非地面云團中的兩個任一點v’1和v’2連通且滿足v’1[X]-v’2[X])^2+(k(v’1[Y]-v’2[Y])^2+(v’1[Z]-v’2[Z])^2<=d^2,k為放大倍數(shù),d為連通距離閾值,k和d在方法的初始化過程中設(shè)定;
B06:執(zhí)行去植被點操作,迭代判斷所有云團中的標(biāo)記階躍點,統(tǒng)計以某一階躍點cloud.jump為圓心r為半徑的圓內(nèi)階躍點的百分比rate,如果rate大于rate_threshold,則繼續(xù)擴大r,直到擴大r達到r_max為止;如果在擴大的過程中rate小于rate_threshold,則認為該圓內(nèi)的區(qū)域不是植被圓,圓內(nèi)的點不是植被點,否則,圓內(nèi)的所有階躍點被標(biāo)記為植被點;
B07:執(zhí)行點云沉降操作,計算各云團內(nèi)的點平均高度avrgH,將各云團按avrgH由大到小排序,判斷是否存在擁有較大avrgH的云團的平面映射投影與擁有較小avrgH的云團的平面映射投影發(fā)生聯(lián)通的情況,如果存在聯(lián)通的情況,則將重合區(qū)域的較高avrgH的云團的值,加入到較低云團中去,更新矩形區(qū)域;
B08:執(zhí)行提取輪廓操作,點云進行Delaunay三角剖分,得到三角網(wǎng)patch,刪除patch中含有過長邊的三角形,遞歸遍歷三角網(wǎng)探尋輪廓邊,得到輪廓邊集,對輪廓邊進行連接得到輪廓多邊形,將各輪廓多邊形中各頂點Y值置為0;
B09:計算最小包圍矩形,求當(dāng)前點云數(shù)據(jù)在XZ平面上投影的最小包圍矩形并存儲,由于點云數(shù)據(jù)的最小包圍矩形與點云數(shù)據(jù)的輪廓多邊形polygenList的最小包圍矩形相同,而polygenList點數(shù)少得多,所以對polygenList求最小包圍矩形;
B10:計算云團地面最低高度和云團平均高度,對點云數(shù)據(jù)中每個點vi求其落在地面矩形網(wǎng)格中的哪個格,獲得此格的高度hi,求所有hi的最小值minH,將minH保存到點云數(shù)據(jù)中;
B11:執(zhí)行輪廓平滑操作,首先,進行輕度平滑;然后,標(biāo)記兩級角點,非常尖銳的角點標(biāo)記為coreCornerPoint,coreCornerPoint之外的普通角點標(biāo)記為cornerPoint;第三,進行初次保護性平滑,對于coreCornerPoint,cornerPoint和非角點三類點給予不同的權(quán)重,對coreCornerPoint給予非常大的權(quán)重,使其在平滑過程中基本保持不動,對cornerPoint給予中等權(quán)重,使其在平滑過程中只有較小的移動,對于非角點給予非常小的權(quán)重,使其在平滑過程中有較大移動;然后,重新標(biāo)記兩級角點;然后,再次進行保護性平滑;最后,刪除非角點再重生非角點;
B12:執(zhí)行建立頂面操作,首先,對處理后的云數(shù)據(jù)生成矩形網(wǎng)格,每一個網(wǎng)格稱作一個cell,每一個cell的中心點v的高度值等于落入此格的所有點的高度值的平均值;然后,將四角頂點和中心點都落在cloud.polygenList外部的cell標(biāo)記為empty=true,將四角頂點和中心點都落在cloud.polygenList內(nèi)部的cell標(biāo)記為empty=false,將四角頂點和中心點都落在cloud.polygenList內(nèi)部也有落在cloud.polygenList外部的cell標(biāo)記為needcut;然后,調(diào)整各邊界點的高度,各cell的八個邊界點cell.vup、cell.vdn、cell.vlt、cell.vrt、cell.vlup、cell.vldn、cell.vrup、cell.vrdn的高度的計算方法為:
cell.vup=(upcell.v+cell.v)/2;
cell.vdn=(dncell.v+cell.v)/2;
cell.vlt=(ltcell.vdn+cell.v)/2;
cell.vrt=(cell.v+rtcell.v)/2;
cell.vlup=(ltcell.vup+cell.vup+upcell.vlt+cell.vlt)/4;
cell.vldn=(ltcell.vdn+cell.vdn+cell.vlt+dncell.vlt)/4;
cell.vrup=(cell.vup+rtcell.vup+upcell.vrt+cell.vrt)/4;
cell.vrdn=(cell.vdn+dncell.vdn+cell.vrt+dncell.vrt)/4;
然后,計算每個cell的法向量norm1、norm2、norm2、norm4、norm5,其中norm1、norm2、norm2、norm4為一個矩形被分為四個cell后對應(yīng)的法向量,norm5為平均法向量;如果一個cell的norm[0],norm[1],norm[2],norm[3]差別較大,說明此cell是一個角點cell,差別可用各norm[i]與avrgnorm夾角正弦的均方根來度量,即D=sqrt((1/4)*∑|cross(norm[i],avrgnorm)|^2),如果D大于一定閾值,則認為是角點cell;如果一個cell的周圍八個格的avrgnorm與cell.avrgnorm夾角正弦的均方根大于一定閾值,則認為是粗糙角點;對各cell的中心點v進行加權(quán)平均平滑,重新調(diào)整各格邊界點高度,重新計算各格法向量(norm1、norm2、norm3、norm4及avrgnorm);將每個needcut的cell都分解為兩個三角形polygen,然后存到cell.polygenList中;
B13:執(zhí)行生成墻面壁操作,將cloud.polygenList用作上輪廓多邊形,再用另一個域cloud.polygenList_dn作為下輪廓多邊形,對上輪廓多邊形polygenList,只須調(diào)整其中各頂點v的Y值,使其與(v[X],v[Z])處的屋頂cell高度相同,對下輪廓多邊形polygenList_dn,首先通過拷貝polygenList得到polygenList_dn,然后再對polygenList_dn中各點v的Y值進行調(diào)整,得到了polygenList和polygenList_dn后,將對應(yīng)點連成四邊形;
B14:執(zhí)行生成紋理映射操作,控制與分析平臺發(fā)出指令,獲取存儲器的航拍正射影像image,對于頂面紋理,如果點云區(qū)域與航拍正射影像區(qū)域正好匹配,則點v的紋理坐標(biāo)u的計算公式:
u[0]=(v[X]-xmin)/(xmax-xmin);
u[1]=(v[Z]-zmin)/(zmax-zmin);
其中xmin,xmax,zmin,zmax為點云范圍;對于側(cè)面紋理,找出墻壁圖片對側(cè)面進行紋理映射;
C:對數(shù)據(jù)分析平臺進行有效整理并快速瀏覽,具體步驟如下:
C01:執(zhí)行生成頂面多級多細節(jié)層次(Levels?of?Detail,以下約定為LOD)的操作,本方法共生成二級LOD,第一級LOD為建頂面直接行到的頂面網(wǎng)格,在第二級LOD中,格子尺寸是第一級LOD的四倍,但邊緣處的碎片多邊形與第一級LOD中相同,因此在邊緣碎片多邊形與內(nèi)部網(wǎng)格之間由于分辨率不同會產(chǎn)生裂縫,需要修補;
C02:構(gòu)建一顆四叉樹,對整個場景區(qū)域建立一棵四叉樹,將所有建筑分裝到四叉樹的葉子節(jié)點中去。在后面渲染場景的時候,判斷哪些葉子節(jié)點是可見(與視截體相交)的,只渲染這些葉子節(jié)點中的建筑,為了防止將同一個建筑渲染多遍,設(shè)置一個drawed標(biāo)記,在準(zhǔn)備繪制某個建筑前先判斷drawed標(biāo)記是否為true,若為true則說明已畫過,跳過;若為false,則說明未畫過,繪制此建筑并置其drawed標(biāo)記為true;
C03:構(gòu)建地形四叉樹,隨機生成一個曲面,并顯示。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于吉林大學(xué),未經(jīng)吉林大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310006074.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





