999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

三維樹木點云數據處理軟件系統設計

2016-05-09 07:07:30步國超
計算機應用與軟件 2016年4期
關鍵詞:數據處理

步國超 汪 沛

三維樹木點云數據處理軟件系統設計

步國超 汪 沛*

(北京林業大學 北京 100083)

隨著林業信息化的建設與發展,利用地面激光雷達快速獲取樹木點云數據,從中提取樹木的結構參數(胸徑,樹高,材積等)已成為一種重要的林木測量手段。為了彌補國內在樹木點云數據處理軟件系統方面的空白,采用一系列樹木結構參數提取算法,并結合計算機圖形顯示技術,設計并實現了一種三維樹木點云數據處理軟件系統。開發完成了樹木點云數據的三維顯示與旋轉平移查看功能。擁有基本的點云數據處理功能,以及樹木的胸徑、樹高、材積提取的功能。系統經過實驗數據的驗證,證明其擁有良好的性能,并可以快速準確地提取樹木結構參數。

地面激光雷達 樹木結構 胸徑 樹高 軟件 點云

0 引 言

地面激光雷達通過發射激光束對探測目標進行探測,獲得高精度、高密度的三維點云,來表達目標物在空間參考系下的空間分布與表面特性[1]。隨著遙感技術的發展,地面激光雷達技術廣泛地應用于地形,竣工測量,建筑,考古,和城市建模等方面[2-4]。近年來,地面激光雷達在林業上的應用也成為了一個研究的熱點。國內外研究者在從地面激光雷達數據中提取林木參數方面進行了很多的研究與實驗驗證,包括對胸徑、樹高以及材積的提取[5-8]。地面激光雷達在林業上的這些應用,可以節省人力物力,提高工作效率,推動林業信息化的發展。

地面激光雷達的掃描速度快,可以較完整地獲取樹木表面信息。其在林業上應用與關鍵點之一在于后期的數據處理。而現有的激光雷達點云數據處理軟件一般由激光雷達的制造商發布,如Leica 公司的Cyclone、FARO 的FARO Scene 等[9]。這些軟件采用通用的方法處理激光雷達所掃描到的點云數據,但是對于處理樹木點云數據的具體要求,如從樹木點云數據中提取胸徑,樹高,材積等,卻無法滿足。

因此,本文立足林業調查的基本需求,設計與實現了一種三維樹木點云數據處理軟件。該軟件可以顯示地面激光雷達掃描的樹木點云數據,對樹木點云數據做基本處理,并且可以自動提取樹木的胸徑,樹高與材積。

圖1 系統框架圖

1 系統總體設計

樹木點云數據處理軟件系統主要需要實現樹木點云的顯示,人機交互查看,點云數據的基本處理如截取、濾波等,以及單株立木的樹木結構參數(胸徑,樹高,材積)的提取等功能。

根據功能需求,采用面向對象的設計思想與軟件工程的方法對系統進行總體設計[10,11]。系統的設計框圖如圖1所示,其由5個模塊組成,分別為基礎類庫,數據I/O模塊,點云顯示模塊,核心算法模塊,圖形界面模塊。

1) 圖形界面模塊

圖形界面模塊提供了可視化界面,方便進行人機交互操作。該軟件系統的主要功能,包括點云顯示的控制,點云基礎的濾波截取操作以及主要的樹木結構參數提取功能,都由用戶通過圖形界面模塊控制完成。

2) 數據I/O模塊

數據I/O模塊完成了軟件系統與外部點云的數據交換操作,可以完成點云數據的讀取,以及將處理之后的點云數據與結果輸出至外部文件。

3) 核心算法模塊

核心算法模塊包括三部分,分別是樹木點云數據的胸徑提取算法,樹高提取算法,材積提取算法。其主要功能是從單株立木點云數據中提取樹木的基本結構參數,并將結果發送至圖形界面模塊進行顯示。

4) 點云三維顯示模塊

點云三維顯示模塊完成點云數據的可視化顯示功能,并提供點云旋轉查看,平移查看等功能接口,方便圖形界面模塊對顯示效果的控制。

5) 基礎類庫模塊

基礎類庫模塊是指處理點云的基礎數據結構與基礎算法。主要完成點云數據的濾波,截取,角度校正等基本處理功能。

對樹木點云數據的一般處理流程如下:

(1) 讀取樹木點云數據;

(2) 對樹木點云數據進行濾波,濾除地面激光雷達在掃描過程中產生的噪點;

(3) 對樹干局部點云進行截取,提取某一高度的樹干直徑;

(4) 提取樹木的胸徑;

(5) 提取樹木的樹高;

(6) 利用樹高與樹木直徑數據提取樹木的材積;

(7) 將處理后的點云保存,并保存樹木結構參數。

2 關鍵技術與實現

2.1 點云的三維顯示

點云的三維顯示功能是點云數據處理最基礎也是最重要的功能之一。由于林木區域環境復雜,樹木密度高,所以由地面激光雷達采集的樹木點云數據規模往往非常大。對大規模點云數據進行可視化的同時保證系統的高速高效運行是點云顯示模塊設計的核心。

基于上述分析,本文基于VTK(visualization toolkit )庫開發點云數據的顯示模塊。VTK是一個源代碼開放、面向對象的計算機圖形、可視化技術及圖像處理軟件系統,擁有豐富的三維可視化算法,有著優秀的數據處理效率。[12〗。

本系統基于VTK封裝的點云顯示模塊主要代碼如下:

class PTVisualizer

{

public:

PTVisualizer (const std::string &name = "");

//設置窗口名稱

void setWindowName (const std::string &name);

//設置其他窗口屬性

void setBackgroundColor ( double r,double g,double b);

...

//向窗口添加點云

template bool

addPointCloud (const typename PointCloud &cloud,string cloudID = "tree");

//從窗口中移除點云

bool removePointCloud (string cloudID = "tree");

//更新窗口中的點云

template bool

updatePointCloud (const typename PointCloud &cloud,string cloudID = "tree");

//初始化相機參數

void initCameraParameters ();

.....

};

2.2 點云數據的基礎處理

1) 點云的校正

在地面激光雷達對林木區域進行掃描過程中,雷達的激光發射器不一定處于水平方向,這就會造成采集的點云數據整體會產生一個傾斜角θ。傾斜角度的存在會對樹木結構參數的提取造成誤差。在提取胸徑時需要截取胸高位置的點云切片,由于傾角的存在,會造成胸高點云切片變成樹干的一個斜截面而非正截面,從而對胸徑的提取造成誤差。所以需要對點云數據的進行角度校正。

對于點云數據的角度校正,采用逐點校正的方法。對于點云數據中的一個數據點p,為了校正p點的位置,需要使p點在p與z軸形成的平面α中繞原點o向水平方向旋轉θ。

為了求解p點旋轉后的坐標,令直線oc垂直于平面α,此時p點在α中旋轉θ,相當于p點繞旋轉軸oc向水平方向旋轉θ。

在三維坐標系中一點繞任意軸旋轉后的坐標可以由根據計算機圖形學的三維變化理[13]論推導出的式(1)計算得到。

(x′,y′,z′)T=(x,y,z)T·R

(1)

(2)

(3)

點云數據中單點校正的主要實現代碼如下:

double nx,ny,ny;

//求得旋轉軸標準化向量

nx=y/sqrt(x*x+y*y);

ny=-x/sqrt(x*x+y*y);

nz=0;

//求得旋轉角度的正弦余弦值

double c=cos(acos(-1)/180*7);

double s=sin(acos(-1)/180*7);

//左乘旋轉矩陣得到新的坐標

treePoint.x = (nx*nx*(1-c)+c) * x + (nx*ny*(1-c)-nz*s) * y + (nx*nz*(1-c)+ny*s) * z;

treePoint.y = (ny*nx*(1-c)+nz*s) * x + (ny*ny*(1-c)+

c) * y + (ny*nz*(1-c)-nx*s) * z;

treePoint.z = (nx*nz*(1-c)-ny*s) * x + (ny*nz*(1-c)+nx*s) * y + (nz*nz*(1-c)+c) * z;

2) 點云的濾波

在采集樹木點云數據的過程中,由于樹木以及植被目標表面的形狀,紋理與方向的影響,激光雷達發射的激光脈沖經反射后形狀發生改變,產生較大的偏差值,形成數據噪點[6]。本系統采取兩種濾波算法對數據噪點進行濾除。

(1) 基于密度的濾波方法,離群點一般與其他點的距離較遠,可以通過每個點一定范圍內是否有足夠數量的點來判斷該點是否為離群噪點。

(2) 雙邊濾波算法利用鄰近點的加權平均值來修正當前采樣點的位置,該方法運算速度快,可以較好地保證點云特征,去除噪聲,可以有效地去除點云數據中的小尺度噪聲[14]。

在上述濾波算法中最常用的操作是鄰近點查詢與范圍內點數量查詢。由于點云數據規模很大,如果將數據集中的點與搜索條件進行逐點對比,則搜索效率十分低下。為了快速地進行點云截取,更好地利用點云數據本身所包含的空間結構信息,本文采用K-D樹對樹木點云數據進行重新組織。K-D樹是一種分割K維數據空間的數據結構,主要應用于范圍搜索和最近鄰搜索[15]。在三維空間數據下,當數據規模較大時其有非常好的搜索效率。

點云濾波部分的主要代碼如下:

//利用樹木點云數據建立KD樹

KDtree KDPointCloud(treePoint);

//利用KDtree與原始點云建立濾波器

Filter filter(KDPointCloud,treePoint);

//調用濾波器的濾波方法進行濾波

filter.bilateralfilter ()

filter.densityfilter()

//返回經過濾波的點云數據

PointCloud newcloud=filter.getPointCloud()

2.3 樹木結構參數的提取

(1) 樹木胸徑提取

胸徑是指胸高位置的樹木直徑,所以胸徑的提取方法也是任意樹干位置直徑的提取方法。根據測樹學的研究發現:一株樹自下而上,其橫斷面形狀靠近基部由于干根部擴張多呈不規則外,從面積對比結果看,總的認為近似圓形[16]。所以可以對胸徑位置的點云數據進行圓形擬合得到一個近似于樹干橫斷面的圓形,從而計算胸徑。Pueschel研究對比了Lemen算法,Pratt算法,Taubin算法三種圓形擬合算法對樹木精度與有效性,發現lemon算法的精度好于Partt方法與Taubin方法[8]。

圖2 胸徑提取流程圖

但是Lemen算法算需要用到高斯牛頓方法這種迭代的方法進行計算,該方法的穩定性與初始值有關,有可能出現過擬合的現象或者無法在有限的時間內計算出結果。而Taubin方法由代數方法求解,可以快速得出結果。所以系統采用Lemen方法與Taubin方法相結合進行樹木胸徑的提取。胸徑提取的計算流程如圖2所示。

(2) 樹木高度提取

在研究通過單站點地面激光雷達掃描樹木點云中提取樹高的方法時發現地面坡度對準確提取樹高會產生一定的影響。在測樹學中,樹高是指從樹木樹干的根頸處到樹木稍頂的距離。由于所掃描的點云數據即包含樹干上的點,也包含地面點。若地勢相對平坦且樹木生長方向比較接近垂直方向,地面點與樹木的根頸處的掃面點基本處于同一高度,此時可以檢測樹木點云中的最高點與最低點,通過最高點與最低點在垂直方向的距離差值來確定樹高。但是當樹木所處位置有一定坡度的時候,此時點云數據中的地面點與樹木的根頸處的點處于不同高度,顯然此時不能直接用最高點與最低點之間的差值來表示。此時必須將樹木點與地面點進行分離,同時計算樹木所處位置的地面坡度等地面信息。

若已知樹木所在位置地平面方程,可以通過幾何關系推導出樹高計算公式:

(4)

其中(xA,yA,zA) 代表樹木點云中最高點的坐標,a,b,c,d 代表地平面方程的各個參數。

圖3 樹高提取流程圖

樹木所在地平面方程的提取,本系統首先利用聚類算法將地面點云與樹干點云進行分離,然后利用隨機采樣一致性算法對地面點云進行平面擬合從而得到地平面方程。樹高提取的計算流程如圖3所示。

(3) 樹木材積提取

在測樹學中對于單株立木的材積的測定方法主要是通過樹高和樹干直徑等因子來間接求算。由于根據樹木點云數據的特.點可以求取任意樹干位置的直徑,所以本文利用實驗正形數法求取樹木材積。

實驗正形數法是楊華根據孟憲宇提出的利用標準直徑測定立木材積的原理進一步研究得出的測量立木材積方法[17]。標準直徑測定方法如下:

(5)

其中V代表立木實際材積,d標代表對應立木材積的圓柱體直徑,h 代表立木樹高。經過對大量供試樣木干形分析中發現各樣木的d標/d0.1h近似等于0.7的恒比關系。其中d0.1h代表距離樹基0.1h 處的樹干直徑[16,17]。則材積計算公式可以改寫為:

(6)

圖4 材積提取流程圖

根據上述公式,可以通過求得樹高與高度的樹干直徑然后直接求解得到樹木的材積。樹木材積提取的計算流程如圖4所示。

3 功能測試

樹木點云數據處理軟件是根據樹木點云數據的空間結構等信息利用計算機可視化技術,以及數據處理算法實現樹木結構的空間展示以及樹木結構參數的求解。軟件系統采用Qt作為圖形界面開發工具并采用標準C++語言進行開發,所以該系統具有跨平臺的特性,可以在多種操作系統上編譯使用。

本文利用地面激光雷達掃描的塊林木區域的樹木點云數據對系統進行驗證。該點云數據文件大約1.3 GB。每個點包含了位置信息,顏色信息,掃描角度,反射強度等11個數據項。本系統在主頻為3.2 GHz的英特爾酷睿雙核,4 GB內存的PC上可以流暢查看點云數據,并可以成功提取樹木的胸徑、樹高、材積這三種樹木結構參數。其運行效果如圖5所示。

圖5 系統三維顯示與參數提取結果顯示圖

4 結 語

本文設計的三維樹木點云處理軟件系統結合計算機可視化技術與雷達數據處理技術,可以快速有效地提取樹木結構參數。可以快速準確地進行林業清查滿足林業信息化的要求,同時可以對人力難以到達的林木區域進行林木測量,節省了人力物力。后續將繼續研究樹木定位,樹木三維模型重建等工作,以使得本系統更加完善。

[1] 黃明,王晏民,付昕樂,等.地面激光掃描數據處理系統的設計與實現[J].測繪通報,2014(8):55-58.

[2] 王炎松,謝飛.古建保護對于三維激光掃描點云數據處理軟件系統的用戶需求——以古建測繪中的數據處理為例[J].華中建筑,2008,26 (4):130-132.

[3] 王晏民,王國利.地面激光雷達用于大型鋼結構建筑施工監測與質量檢測[J].測繪通報,2013(7):39-42.

[4] 張騰波,羅德安,黃鶴,等.基于地面激光雷達的土遺址保護研究[J].新探索,2013(4):67-72.

[5] 黃洪宇,陳崇成,鄒杰,等.基于地面激光雷達點云數據的單木三維建模綜述[J].林業科學,2013,49 (4):123-130.

[6] 李丹,龐勇,岳彩榮,等.基于 TLS 數據的單木胸徑和樹高提取研究[J].北京林業大學學報,2012,34(4):79-86.

[7] 李丹,龐勇,岳彩榮.地基激光雷達在森林參數反演中的應用[J].世界林業研究,2012,25(6):34-39.

[8] Pueschel P,Newnham G,Rock G,et al.The influence of scan mode and circle fitting on tree stem detection,stem diameter and volume extraction from terrestrial laser scans[J].ISPRS Journal of Photogrammetry and Remote Sensing,2013,77:44-56.

[9] 晏海平,吳祿慎,陳華偉.基于 VC 和 OpenGL 的三維點云處理軟件系統設計[J].計算機應用與軟件,2014,31(6):177-180.

[10] 莫建文,鄒路路,首照宇,等.跟蹤雷達三維場景顯示系統的設計與實現[J].計算機應用與軟件,2014,31 (5):141-144.

[11] 李中志,汪學剛.基于COM技術的雷達數據處理軟件系統設計[J].計算機應用與軟件,2010,27(5):27-29.

[12] 李嘉,胡懷中,胡軍,等.可視化三維圖形庫Visualization ToolKit3.2的原理及應用[J].計算機應用與軟件,2004,21 (2):5-6.

[13] 楊欽,徐永安,翟紅英.計算機圖形學[M].清華大學出版社,2005.

[14] 王麗輝,袁保宗.魯棒的模糊 C 均值和點云雙邊濾波去噪[J].北京交通大學學報:自然科學版,2008,32(2):18-21.

[15] 姚定忠,何軍,劉祎.一種基于 kd 樹的實時大規模地形可視化算法[J].科學技術與工程,2012 12(2):338-341.

[16] 孟憲宇,測樹學[M].北京:中國林業出版社,2006.

[17] 楊華,孟憲宇,程俊,等.利用正形數估測立木材積方法的研究[J].林業資源管理,2005(1):39-41.

DESIGNING 3D TREES POINT CLOUD DATA PROCESSING SOFTWARE SYSTEM

Bu Guochao Wang Pei*

(BeijingForestryUniversity,Beijing100083,China)

With the construction and development of forestry informatisation technology,it has become an important means of forest measurement that to employ terrestrial laser scanning to fast collect trees point cloud data and to extract from data the structural parameters (diameter at breast height,tree height,volume,etc.) of trees.To fill the gap in terms of domestic software system for trees point cloud data processing,we designed and implemented a 3D trees point cloud data processing software system by using a series of tree structure parameter extraction algorithms and combining the computer graphics visualisation technology.The system achieves the functions of 3D display and rotating translational view of trees point cloud data.It has basic point cloud data processing functions,and the parameters extraction function for diameter at breast height (DBH),tree height and volume.After validating with experimental data,the system was proved to have good performance and could extract trees structural parameters quickly and accurately.

Terrestrial laser scanning Tree structure DBH Tree height Software Point cloud

2014-10-23。中央高校基本科研業務費專項資金項目(XS2014025);中央高校基本科研業務費專項資金項目(YX2013-34)。步國超,碩士生,主研領域:激光雷達數據處理。汪沛,副教授。

TP391

A

10.3969/j.issn.1000-386x.2016.04.016

猜你喜歡
數據處理
驗證動量守恒定律實驗數據處理初探
認知診斷缺失數據處理方法的比較:零替換、多重插補與極大似然估計法*
心理學報(2022年4期)2022-04-12 07:38:02
ILWT-EEMD數據處理的ELM滾動軸承故障診斷
水泵技術(2021年3期)2021-08-14 02:09:20
ADS-B數據處理中心的設計與實現
電子測試(2018年4期)2018-05-09 07:28:12
MATLAB在化學工程與工藝實驗數據處理中的應用
基于希爾伯特- 黃變換的去噪法在外測數據處理中的應用
大數據處理中基于熱感知的能源冷卻技術
計算機工程(2015年4期)2015-07-05 08:28:04
Matlab在密立根油滴實驗數據處理中的應用
數據處理能力在求職中起關鍵作用
我國首個“突發事件基礎數據處理標準”發布
主站蜘蛛池模板: 国产一区二区三区日韩精品 | 日韩欧美在线观看| 麻豆精品在线视频| 国产日本一线在线观看免费| 99在线视频精品| 亚洲系列无码专区偷窥无码| 综合色区亚洲熟妇在线| 色亚洲成人| 免费无码网站| 国产黑人在线| 色呦呦手机在线精品| 精品国产一区二区三区在线观看| 91 九色视频丝袜| 天堂成人在线| 试看120秒男女啪啪免费| 天堂成人在线| 亚洲国产AV无码综合原创| 久久大香伊蕉在人线观看热2| 国产人碰人摸人爱免费视频| 青青青视频蜜桃一区二区| 色婷婷电影网| 福利姬国产精品一区在线| 中文字幕丝袜一区二区| 亚洲一级毛片在线观播放| 手机精品福利在线观看| 欧美午夜视频在线| 熟妇丰满人妻| 国产aⅴ无码专区亚洲av综合网| 亚洲人成网18禁| 久青草免费在线视频| 久久久久亚洲AV成人人电影软件| 久青草免费在线视频| 97免费在线观看视频| 日韩久草视频| 国产美女免费| 亚洲av综合网| 青青操视频在线| 精品国产免费第一区二区三区日韩| 在线观看无码av五月花| 2020极品精品国产 | 日韩国产综合精选| 欧美日本在线观看| 91探花国产综合在线精品| 亚洲IV视频免费在线光看| 亚洲成人播放| 久久人搡人人玩人妻精品一| 午夜一区二区三区| 四虎综合网| 国产产在线精品亚洲aavv| 91美女视频在线观看| www.亚洲天堂| 国产精品视频3p| 2024av在线无码中文最新| 伊人久久久大香线蕉综合直播| 国产对白刺激真实精品91| 亚洲中字无码AV电影在线观看| 中国精品久久| 高清欧美性猛交XXXX黑人猛交 | 国产精品自在线天天看片| 四虎精品国产AV二区| 国产成年女人特黄特色毛片免 | 亚洲男人天堂2020| 美女一级毛片无遮挡内谢| 免费无码又爽又黄又刺激网站 | 人妻一本久道久久综合久久鬼色| 日本a级免费| 美女潮喷出白浆在线观看视频| 欧美午夜理伦三级在线观看| 视频一区视频二区日韩专区| 在线观看无码av五月花| 亚洲色无码专线精品观看| 精品一区二区久久久久网站| 亚洲欧美一区二区三区麻豆| 国产乱视频网站| 亚洲制服丝袜第一页| 理论片一区| 久久久久免费看成人影片| 国产亚洲高清在线精品99| 99精品在线视频观看| 国产精品三级专区| 日韩av资源在线| 免费国产好深啊好涨好硬视频|