[LiDAR資料模擬]系列(2) HELIOS的TLS點雲模擬流程
關鍵詞:地基鐳射雷達
點雲模擬
XML檔案
作者:李二
日期:07/05/2020 - 08/05/2020
我目前僅僅使用了TLS模式進行模擬,所以先講一下TLS的模擬經驗。
ALS和MLS的模擬,以後肯定也會做一下
1. 明確模擬資料需求
在正式模擬自己的資料之前,一定要明確好自己的模擬資料需求,畢竟一次TLS的模擬耗時挺長的(在儘可能貼近野外測量引數設定條件下)。
比如我這裡要做森林樣方的TLS點雲模擬,目的是評估不同的布站模式 scan design
的資料獲取質量以及對樹木引數計算的影響,因此需求儘可能逼近野外TLS測量時的掃描器引數設定、森林樣方樹木情況。
針對森林樣方場景:根據一些現有的實測森林樣方樹木位置、胸徑、樹高等資訊,通過某些樹木三維模型構建軟體(例如
OnyxTree
)來建立樹木OBJ
模型檔案。
為求逼近野外樣方,可製作多個不同大小和樹種的樹木模型。 一種稍微討巧的方法是,對一棵樹進行縮放變換(在輸入檔案中設定),以得到不同胸徑樹高的模型。
針對掃描器引數:根據所需
scanner
系統,在HELIOS的庫中選擇(比如下面的例子)或者自定義掃描器(參照所想模擬的掃描器的配置specification
即可),這些一般不用關心。需要重點關心的是一些具體的掃描引數設定configuration
:
TLS的位置 天頂掃描範圍 zenith
和方位掃描範圍azimuth
掃描角度解析度或者角度步長 angular resolution
2. 規劃輸入檔案
令HELIOS模擬,則必須告訴其使用者定義的場景是什麼樣的,鐳射掃描器是什麼樣的,搭載在什麼平臺上,在哪裡掃描以及掃描範圍與解析度等。
HELIOS是通過XML檔案
的形式進行輸入資料管理的。下圖則展示了HELIOS所需要的輸入檔案以及功能,還有各檔案之間的關聯。
2.1. scene xml檔案
第一步是設定場景:我們以森林樣方為例,HELIOS的場景XML檔案可以設定地形以及地表每棵樹的obj檔案以及座標變換(
旋轉
、平移
、縮放
):地形設定:平地條件下,可以採用預設的
groundplane.obj
而無需修改。有地形條件下,可以採用地形的obj檔案(<filter type="objloader">
)或者GeoTIFF檔案(如上一期所述,會自動轉換為三角面片,<filter type="geotiffloader
(作者未給出例子,需要確認,mark一下))。HELIOS也支援對地形進行縮放(xml檔案中filter元素下的scale
屬性)樹木模型設定:我們需要指定樣方中每一棵樹的obj模型檔案路徑,這與地形設定時是類似的。需要注意的是:obj模型的軸方向與我們常見的並不相同,需要事先用
cloudcompare
調整好方向。不過也可以不事先調整,設定pitch
屬性也沒問題。 小注:我建議事先調整一下,否則在rotate
引數設定時不太直觀,可參考我的提問。樹木座標變換:為了製作看上去更為真實的森林樣方,我們可以對樹木模型的尺寸、傾角、位置等進行變換。
通過 scale
調整模型的大小(DART可以分別調整三個軸的縮放比例,但HELIOS只能統一調整)通過 translate
調整樹木的三維位置。注意,當平臺地表時,;當有地形時,需要根據地形進行調整通過 rotate
調整樹木的旋轉。包含yaw
,pitch
,roll
,這與通常的轉角定義與範圍是一致的。當需要直立樹木時,則(注意這是在obj檔案方向調整之後的設定)。當需要傾斜樹木時,則。
具體的設定方式可以根據xml檔案的樹結構形式,自行設定。這裡我提供了一個MATLAB指令碼檔案,可以自動化批量設定。
2.2. scanner xml檔案
第二步是設定掃描器: 掃描器的xml檔案一般不需要我們額外設定,直接指定一個掃描器即可,如Riegl VZ-400。HELIOS提供了脈衝式和相位式兩種型別鐳射掃描器可供選擇。注意,不要修改庫中已有的引數。
如果確有需要設定其他型號的感測器,可以在xml檔案中仿照已有引數自定義。
2.3. platform xml檔案
第三步是設定平臺:我們也不需要對平臺進行額外設定,選擇自己所採用的平臺即可,比如地基平臺就選擇
tripod
,無人機平臺就選Quadrocopter
,千萬不要選錯了,否則掃描結果就變了。
需要注意,這裡已然設定的平臺的高度為1.5 m
了,因此在後面的survey檔案中設定掃描器位置與高度時,需要減去這個1.5 m。比如如果想設定掃描器高度為1.7 m,則survey檔案中。
(小注:目前HELIOS在平臺高度設定這裡有個小bug,解決方法任何情況下都設定onGround = false
即可)
2.4. survey xml檔案
第四步是設定測量檔案:survey檔案中需要指定場景、平臺、掃描器,以及TLS的位置(或ULS的航點)與掃描configuration。
掃描範圍與解析度設定
headRotateStart_deg
和headRotateStop_deg
設定方位方向的掃描範圍,取值範圍0~360°scanAngle_deg
設定天頂方向的掃描範圍,取值0~90°,FOV = 2 * scanAngle_deg
pulseFreq_hz
設定脈衝頻率,需要參考真實掃描器的引數,不要隨意修改scanFreq_hz
設定掃描線頻率,取值範圍參考canners_tls.xml
檔案,掃描解析度主要通過該引數進行調整
掃描解析度計算公式 方位解析度= headRotatePerSec_deg / scanFreq_hz
。例如:2º/s / 50Hz = 0.04º天頂解析度= 2 x scanAngle_deg x scanFreq_hz / pulseFreq_hz
。例如:2 x 40º x 50Hz / 100000Hz = 0.04º小注:如想修改解析度,在掃描範圍保持不變的情況下,修改 scanFreq_hz
具體的設定方式可以根據xml檔案的樹結構形式(下圖),自行設定。
相關推薦
[LiDAR資料模擬]系列(2) HELIOS的TLS點雲模擬流程
關鍵詞:地基鐳射雷達 點雲模擬 XML檔案 作者:李二 日期:07/05/2020 - 08/05/2020 我目前僅僅使用了TLS模式進行模擬,所以先講一下TLS的模擬經驗。 ALS和MLS的模擬,以後肯定也會做一下 1. 明確模擬資料需求 在正式模擬自己的資料之前,一定要明確好自己的模擬資料需求,畢竟
python爬蟲系列(2.3-requests庫模擬使用者登入)
一、模擬登入拉鉤網 import re import requests class LoginLaGou(object): """ 模擬登入拉鉤網 """
CT三維重建及三維視覺化資料:opengl+VTK+PCL點雲庫
自己做過邊緣輪廓三維重建方面的工作,今天看到一篇CT三維重建的介紹性質的文章挺感興趣的,附錄一下: CT三維重建主要有六種基本後處理方法 多層面重建(MPR) 最大密度投影(MIP) 表面陰影遮蓋(SSD) 容積漫遊技術(VRT)
C# 資料操作系列 - 2. ADO.NET操作
# 0.前言 在上一篇中初略的介紹了一下SQL的基本寫法,這一篇開始我們正式步入C#操作資料庫的範圍。通過這一系列的內容,我想大家能對於資料庫互動有了一定的認識和基礎。閒話不多說,先給大家介紹一個C#操作資料庫的方式。 # 1. ADO.NET的介紹 在ADO.NET出現之前,C#連線資料庫有很多種方式
隨機模擬【2】:隨機模擬的研究範圍和特徵-2
本系列同步釋出於本人的知乎專欄:確定性隨機 個人覺得隨機模擬有一個很大的優勢,那就是用類似於思想實驗的方式對理論進行驗證,同時也能夠解決很多理論上無法最終解析的事情,給出一個近似但很實際用處的結論。 3. 優惠券收集問題 曾經在知乎上看過這樣一個問題: 話說古代中國帝王都是後宮佳麗三千,問若每天晚上皇
[硬體]點雲資料採集2
採用GMapping定位,增加一個垂直掃描的2D鐳射實時採集三維點雲。 發現GMapping的定位精度還是沒有辦法滿足高精度點雲採集位姿的需要。尤其是當旋轉的速度比較大的時候,位姿精度更差。原因是掃描匹配可以獲取較高精度的位姿,但是兩次掃描匹配之間的運動只有里程計相對運動資料,因此里程計誤差嚴重。
點雲深度學習系列2——PointNet/PointCNN程式碼比較(變換矩陣部分)
PointNet與PointCNN從文章到程式碼都有很多相似之處,兩者對比看待,或許更有助於我們理解。 眾所周知,PointNet中使用了maxpooling和T-net,作者文章中起到關鍵作用的是maxpooling,而T-net對效能的提升作用也還是有的(兩個T-net
[LiDAR資料模擬]系列(1) HELIOS模擬平臺介紹
關鍵詞:LiDAR 鐳射雷達 點雲模擬 作者:李二 日期:06/05/2020 - 07/05/2020 寫在前面:我前段時間的一個工作(地基鐳射雷達TLS的新型布站策略)需要用到模擬的TLS點雲資料來驗證新型布站模式的效能,因此需要找一個LiDAR模擬平臺來完成以上任務。 據我所知,目前典型的常用的兩個
Azure Stack技術深入淺出系列2:談Azure Stack在私有雲/混合雲生態中的定位
azure stack 雲計算 微軟 azure一、 國內私有雲業務前景就在今年4月,工信部發布《雲計算發展三年行動計劃(2017-2019)》,提出2019年雲計算產業規模將達到4300億。雲計算已成為國家新一代信息產業發展的重要戰略。從中國整個IT投入來看,政府、央企、國企以及大型民企占據主要份額,這些企
[PCL]2 點雲法向量計算NormalEstimation
參考:http://www.cnblogs.com/yhlx125/p/5137850.html 從GitHub的程式碼版本庫下載原始碼https://github.com/PointCloudLibrary/pcl,用CMake生成VS專案,檢視PCL的原始碼位於pcl_featu
kitti LIDAR點雲二進位制檔案的讀取和顯示
import numpy as np import mayavi.mlab pointcloud = np.fromfile(str("000010.bin"), dtype=np.float32, count=-1).reshape([-1,4]) print(poin
kitti LIDAR點雲生成鳥瞰圖BEV
import numpy as np from PIL import Image import matplotlib.pyplot as plt # 點雲讀取 pointcloud = np.fromfile(str("000010.bin"), dtype=np.float32, count
三維點雲資料集
轉載! 三維點雲 幾何空間的三維掃描資料(加紋理)GeometryHub(幾何空間) 歐特克的研究——數字210金歐特克的樣品掃描和影象資料研究辦公室。 自治系統實驗室(乙)鐳射和Kinect結構化和非結構化的資料環境。 這一組有一個有用的相關
3D點雲資料分析:pointNet++論文分析及閱讀筆記
PointNet的缺點: PointNet不捕獲由度量空間點引起的區域性結構,限制了它識別細粒度圖案和泛化到複雜場景的能力。 利用度量空間距離,我們的網路能夠通過增加上下文尺度來學習區域性特徵。 點集通常採用不同的密度進行取樣,這導致在統一密度下訓練的網路的效能大大降低。
【深度學習】三維點雲資料集總結
點雲資料集總結 三維點雲資料,三維深度學習 1.ShapeNet ShapeNet是一個豐富標註的大規模點雲資料集,其中包含了55中常見的物品類別和513000個三維模型。 2.ShapeNetSem 這是一個小的資料庫,包含了270類的12000個物
PCL學習筆記——讀入txt格式點雲資料,寫入到PCD檔案中
讀入txt格式點雲資料,寫入PCD檔案中 // An highlighted block // pointclouds_octree.cpp: 定義控制檯應用程式的入口點。 // #include "stdafx.h" #include<iostream> #include
Atitit 面試技術點最小化問題法總結 目錄 1. Web 前端 1 1.1. Jq 常用操作哪些?? 1 1.2. 查詢後如何繫結後端資料到表格 2 1.3. 提交後怎麼接受表單資料 2 2.
Atitit 面試技術點最小化問題法總結 目錄 1. Web 前端 1 1.1. Jq 常用操作哪些?? 1 1.2. 查詢後如何繫結後端資料到表格 2 1.3. 提交後怎麼接受表單資料 2 2. Mvc Springmvc 2 2.1
Matlab讀取點雲資料 + 顯示
求matlab讀取三維點雲資料的程式。 clear A=importdata(‘data.txt’); [IX,IY]=size(A); x=A(:,1); y=A(:,1); y=A(:,2); z=A(:,3); plot3(x,y,z,’.’);
【資訊保安超級實踐系列】企業在雲環境下資料基礎設施的安全
企業在雲環境下資料基礎設施的安全實踐當越來越多的企業開始採用雲服務,安全問題往往成為待考慮的問題。在傳統IT環境中,企業預設的邏輯架構是可信的,資料在自己手裡,系統部署在自己的資料中心,有自己很清晰的網路安全邊界,邊界之間會有一個相對比較清晰的防火牆做隔離,有可控的安全策略的管理。 然而一旦雲化之後,企業雲資
3D點雲地圖地面去除(2):Progressive Morphological Filter
Progressive Morphological Filter論文:http://users.cis.fiu.edu/~chens/PDF/TGRS.pdf 本演算法本身用於處理高空獲取的鐳射雷達資料,把地面與非地面的物體分割,來獲取地貌3d地圖的,目前已經整合在PCL中。 具體的演算