PDAL是點云數(shù)據(jù)處理的庫。這是一個C/C++開源庫,用于點云數(shù)據(jù)的轉(zhuǎn)換和處理。盡管該庫中許多工具的重點和發(fā)展都起源于激光雷達點云數(shù)據(jù)的處理,但它也不限于激光雷達數(shù)據(jù)。
什么是PDAL?
PDAL是點云數(shù)據(jù)處理的庫。這是一個C/C++開源庫,用于點云數(shù)據(jù)的轉(zhuǎn)換和處理。盡管該庫中許多工具的重點和發(fā)展都起源于激光雷達點云數(shù)據(jù)的處理,但它也不限于激光雷達數(shù)據(jù)。
一個簡單的PDAL點云處理流程,由讀文件、濾波模塊和寫點云模塊組成
組成此操作以將數(shù)據(jù)重新投影并加載到PostgreSQL的PDAL JSON流程如下所示:
{"pipeline":[{"type":"readers.las","filename":"input.las"},{"type":"filters.reprojection","out_srs":"EPSG:3857"},{"type":"writers.pgpointcloud","connection":"host='localhost' dbname='lidar' user='hobu'","table":"output","srid":"3857"}]}
PDAL可以為點云的濾波、剪裁、平鋪、轉(zhuǎn)換為處理流程以及必要時重用等操作組成中間模塊。它允許您將這些流程定義為JSON文件,并提供一個pipeline來執(zhí)行它們。
它與其他工具有何不同?
LAStools
Martin Isenburg(https://www.cs.unc.edu/~isenburg/)
的LAStools是可用于激光雷達處理的最常見的開源處理工具套件之一。PDAL在許多重要方面的理念不同:
1,PDAL的所有模塊都是在OSI許可下作為開源軟件發(fā)布的。
2,PDAL允許開發(fā)人員在處理流程作為專有擴展模塊。這些可能是自定義格式讀取器、專門的算法或整個方案。
3,PDAL可以對任何格式的點云數(shù)據(jù)進行操作,而不僅僅是ASPRS LAS。LAStools可以讀取和寫入除LAS以外的其他格式,但會將所有數(shù)據(jù)與其對LAS數(shù)據(jù)的內(nèi)部處理相關(guān)聯(lián),從而將其限制為LAS格式提供的維度類型。
4,PDAL由用戶使用其聲明性JSON語法進行協(xié)調(diào)。LAStools是通過將許多小型的、專門化的命令行實用程序與復(fù)雜的參數(shù)連接在一起。
5,PDAL是一個開源項目,它的所有開發(fā)活動都可以在線獲得https://github.com/PDAL/PDAL
與PCL的區(qū)別
PCL是點云數(shù)據(jù)的一個補充而不是替代的開源軟件處理的套件。PCL庫的開發(fā)專注于算法開發(fā)、機器人和計算機視覺以及實時激光掃描儀處理。PDAL可以讀寫PCL的PCD格式。
與Potree的區(qū)別
Potree是一個WebGL HTML5點云渲染器,使用ASPRS LAS和LASzip壓縮LAS。你可以在https://github.com/potree/potree/進行訪問
其他開源點云庫
其他開源點云軟件傾向于桌面GUI,而不是以庫為中心。它們包括一些處理操作,有時甚至嵌入PDAL之類的工具。這些其他工具包括:
libLAS
CloudCompare
Fusion
OrfeoToolbox
libLAS項目是一個早于PDAL的開源項目,它提供了PDAL提供的一些處理功能。它目前處于維護模式,因為它依賴于LAS,相關(guān)的LAStools功能作為開源庫發(fā)布,以及Python LAS軟件的完成。
PDAL是從何而來?
PDAL借鑒了另一個非常流行的開源項目GDAL。GDAL是地理空間數(shù)據(jù)抽象庫,它在整個地理空間軟件行業(yè)中用于為各種光柵和矢量格式提供處理支持。PDAL為點云數(shù)據(jù)類型提供了相同的功能。PDAL是在為美國陸軍工程兵團CRREL網(wǎng)格項目開發(fā)數(shù)據(jù)庫存儲和訪問功能的基礎(chǔ)上發(fā)展起來的。正在蔓延到libLAS中的功能被引入了一個新的庫中,它的設(shè)計初衷是模仿地理空間軟件領(lǐng)域中成功的提取、轉(zhuǎn)換和加載庫。隨著其他軟件開發(fā)人員使用PDAL為他們的軟件提供點云數(shù)據(jù)轉(zhuǎn)換和處理能力,PDAL已經(jīng)吸引了更多的貢獻者。
點云數(shù)據(jù)與柵格或矢量地理數(shù)據(jù)有何不同?
點云數(shù)據(jù)確實非常像許多地理空間從業(yè)者所熟悉的典型矢量點數(shù)據(jù)類型,但它們的龐大的數(shù)量會帶來一些重大挑戰(zhàn)。除了它們的X、Y和Z位置之外,每個點通常都有其他事物的完整屬性信息,如強度、時間、RGB等。點云數(shù)據(jù)的典型矢量可能會達到一百萬個左右的特征。所以這樣的點云很快就會進入數(shù)十億甚至萬億的規(guī)模,因此必須使用專門的處理和管理技術(shù)來有效地處理如此多的數(shù)據(jù)。用于提取和利用點云數(shù)據(jù)的算法也明顯不同于典型的矢量GIS工作流程,數(shù)據(jù)組織對于有效利用可用計算非常重要。這些特性需要一個面向這些方法的庫,PDAL實現(xiàn)了這一點。
PDAL擅長哪些任務(wù)?
PDAL在點云數(shù)據(jù)轉(zhuǎn)換工作流程中非常有用。它允許用戶通過為內(nèi)容提供抽象API將算法應(yīng)用于數(shù)據(jù),從而讓用戶不用擔心許多數(shù)據(jù)格式問題。PDAL的格式問題確實帶來了一些間接成本。但是在大多數(shù)情況下,這并不重要,對于具有特定數(shù)據(jù)的特定處理工作流,專用工具肯定會優(yōu)于它。PDAL還提供了一個簡單的命令行,它通過Numpy擴展了簡單的通用Python處理。這些特性使它對軟件開發(fā)人員、數(shù)據(jù)管理人員和科學(xué)研究人員具有吸引力。
PDAL的弱點是什么?
PDAL沒有提供友好的GUI界面,需要對點云的濾波、讀寫器有一定的了解。
PDAL首先是一個軟件庫。一個成功的軟件庫必須滿足軟件開發(fā)人員的需求,他們使用它為自己的軟件提供軟件功能。除了用作軟件庫之外,PDAL還提供了一些命令行應(yīng)用程序,用戶可以利用這些應(yīng)用程序方便地用PDAL點云轉(zhuǎn)換、過濾和處理數(shù)據(jù)。最后,PDAL以嵌入式操作和Python擴展的形式提供Python支持。
核心C++軟件庫
PDAL提供了一個C++ API開發(fā)軟件,可以在自己的軟件中提供點云處理能力。PDAL是跨平臺C++,可以在Linux、OS X和Windows上編譯運行。
開源庫 https://github.com/PDAL/PDAL.git
責(zé)任編輯:lq
-
數(shù)據(jù)處理
+關(guān)注
關(guān)注
0文章
600瀏覽量
28577 -
C++
+關(guān)注
關(guān)注
22文章
2109瀏覽量
73685 -
激光雷達
+關(guān)注
關(guān)注
968文章
3981瀏覽量
190003
原文標題:PDAL點云處理庫介紹
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論