PDAL点云处理库介绍
點(diǎn)擊“藍(lán)字”關(guān)注點(diǎn)云PCL,選擇“星標(biāo)”獲取最新文章
PDAL是點(diǎn)云數(shù)據(jù)處理的庫(kù)。這是一個(gè)C/C++開源庫(kù),用于點(diǎn)云數(shù)據(jù)的轉(zhuǎn)換和處理。盡管該庫(kù)中許多工具的重點(diǎn)和發(fā)展都起源于激光雷達(dá)點(diǎn)云數(shù)據(jù)的處理,但它也不限于激光雷達(dá)數(shù)據(jù)。
什么是PDAL?
PDAL是點(diǎn)云數(shù)據(jù)處理的庫(kù)。這是一個(gè)C/C++開源庫(kù),用于點(diǎn)云數(shù)據(jù)的轉(zhuǎn)換和處理。盡管該庫(kù)中許多工具的重點(diǎn)和發(fā)展都起源于激光雷達(dá)點(diǎn)云數(shù)據(jù)的處理,但它也不限于激光雷達(dá)數(shù)據(jù)。
一個(gè)簡(jiǎn)單的PDAL點(diǎn)云處理流程,由讀文件、濾波模塊和寫點(diǎn)云模塊組成
組成此操作以將數(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可以為點(diǎn)云的濾波、剪裁、平鋪、轉(zhuǎn)換為處理流程以及必要時(shí)重用等操作組成中間模塊。它允許您將這些流程定義為JSON文件,并提供一個(gè)pipeline來執(zhí)行它們。
它與其他工具有何不同?
LAStools
Martin Isenburg(https://www.cs.unc.edu/~isenburg/)
的LAStools是可用于激光雷達(dá)處理的最常見的開源處理工具套件之一。PDAL在許多重要方面的理念不同:
1,PDAL的所有模塊都是在OSI許可下作為開源軟件發(fā)布的。
2,PDAL允許開發(fā)人員在處理流程作為專有擴(kuò)展模塊。這些可能是自定義格式讀取器、專門的算法或整個(gè)方案。
3,PDAL可以對(duì)任何格式的點(diǎn)云數(shù)據(jù)進(jìn)行操作,而不僅僅是ASPRS LAS。LAStools可以讀取和寫入除LAS以外的其他格式,但會(huì)將所有數(shù)據(jù)與其對(duì)LAS數(shù)據(jù)的內(nèi)部處理相關(guān)聯(lián),從而將其限制為L(zhǎng)AS格式提供的維度類型。
4,PDAL由用戶使用其聲明性JSON語(yǔ)法進(jìn)行協(xié)調(diào)。LAStools是通過將許多小型的、專門化的命令行實(shí)用程序與復(fù)雜的參數(shù)連接在一起。
5,PDAL是一個(gè)開源項(xiàng)目,它的所有開發(fā)活動(dòng)都可以在線獲得https://github.com/PDAL/PDAL
與PCL的區(qū)別
PCL是點(diǎn)云數(shù)據(jù)的一個(gè)補(bǔ)充而不是替代的開源軟件處理的套件。PCL庫(kù)的開發(fā)專注于算法開發(fā)、機(jī)器人和計(jì)算機(jī)視覺以及實(shí)時(shí)激光掃描儀處理。PDAL可以讀寫PCL的PCD格式。
與Potree的區(qū)別
Potree是一個(gè)WebGL HTML5點(diǎn)云渲染器,使用ASPRS LAS和LASzip壓縮LAS。你可以在https://github.com/potree/potree/進(jìn)行訪問
其他開源點(diǎn)云庫(kù)
其他開源點(diǎn)云軟件傾向于桌面GUI,而不是以庫(kù)為中心。它們包括一些處理操作,有時(shí)甚至嵌入PDAL之類的工具。這些其他工具包括:
libLAS
CloudCompare
Fusion
OrfeoToolbox
libLAS項(xiàng)目是一個(gè)早于PDAL的開源項(xiàng)目,它提供了PDAL提供的一些處理功能。它目前處于維護(hù)模式,因?yàn)樗蕾囉贚AS,相關(guān)的LAStools功能作為開源庫(kù)發(fā)布,以及Python LAS軟件的完成。
PDAL是從何而來?
PDAL借鑒了另一個(gè)非常流行的開源項(xiàng)目GDAL。GDAL是地理空間數(shù)據(jù)抽象庫(kù),它在整個(gè)地理空間軟件行業(yè)中用于為各種光柵和矢量格式提供處理支持。PDAL為點(diǎn)云數(shù)據(jù)類型提供了相同的功能。PDAL是在為美國(guó)陸軍工程兵團(tuán)CRREL網(wǎng)格項(xiàng)目開發(fā)數(shù)據(jù)庫(kù)存儲(chǔ)和訪問功能的基礎(chǔ)上發(fā)展起來的。正在蔓延到libLAS中的功能被引入了一個(gè)新的庫(kù)中,它的設(shè)計(jì)初衷是模仿地理空間軟件領(lǐng)域中成功的提取、轉(zhuǎn)換和加載庫(kù)。隨著其他軟件開發(fā)人員使用PDAL為他們的軟件提供點(diǎn)云數(shù)據(jù)轉(zhuǎn)換和處理能力,PDAL已經(jīng)吸引了更多的貢獻(xiàn)者。
點(diǎn)云數(shù)據(jù)與柵格或矢量地理數(shù)據(jù)有何不同?
點(diǎn)云數(shù)據(jù)確實(shí)非常像許多地理空間從業(yè)者所熟悉的典型矢量點(diǎn)數(shù)據(jù)類型,但它們的龐大的數(shù)量會(huì)帶來一些重大挑戰(zhàn)。除了它們的X、Y和Z位置之外,每個(gè)點(diǎn)通常都有其他事物的完整屬性信息,如強(qiáng)度、時(shí)間、RGB等。點(diǎn)云數(shù)據(jù)的典型矢量可能會(huì)達(dá)到一百萬(wàn)個(gè)左右的特征。所以這樣的點(diǎn)云很快就會(huì)進(jìn)入數(shù)十億甚至萬(wàn)億的規(guī)模,因此必須使用專門的處理和管理技術(shù)來有效地處理如此多的數(shù)據(jù)。用于提取和利用點(diǎn)云數(shù)據(jù)的算法也明顯不同于典型的矢量GIS工作流程,數(shù)據(jù)組織對(duì)于有效利用可用計(jì)算非常重要。這些特性需要一個(gè)面向這些方法的庫(kù),PDAL實(shí)現(xiàn)了這一點(diǎn)。
PDAL擅長(zhǎng)哪些任務(wù)?
PDAL在點(diǎn)云數(shù)據(jù)轉(zhuǎn)換工作流程中非常有用。它允許用戶通過為內(nèi)容提供抽象API將算法應(yīng)用于數(shù)據(jù),從而讓用戶不用擔(dān)心許多數(shù)據(jù)格式問題。PDAL的格式問題確實(shí)帶來了一些間接成本。但是在大多數(shù)情況下,這并不重要,對(duì)于具有特定數(shù)據(jù)的特定處理工作流,專用工具肯定會(huì)優(yōu)于它。PDAL還提供了一個(gè)簡(jiǎn)單的命令行,它通過Numpy擴(kuò)展了簡(jiǎn)單的通用Python處理。這些特性使它對(duì)軟件開發(fā)人員、數(shù)據(jù)管理人員和科學(xué)研究人員具有吸引力。
PDAL的弱點(diǎn)是什么?
PDAL沒有提供友好的GUI界面,需要對(duì)點(diǎn)云的濾波、讀寫器有一定的了解。
PDAL首先是一個(gè)軟件庫(kù)。一個(gè)成功的軟件庫(kù)必須滿足軟件開發(fā)人員的需求,他們使用它為自己的軟件提供軟件功能。除了用作軟件庫(kù)之外,PDAL還提供了一些命令行應(yīng)用程序,用戶可以利用這些應(yīng)用程序方便地用PDAL點(diǎn)云轉(zhuǎn)換、過濾和處理數(shù)據(jù)。最后,PDAL以嵌入式操作和Python擴(kuò)展的形式提供Python支持。
核心C++軟件庫(kù)
PDAL提供了一個(gè)C++ API開發(fā)軟件,可以在自己的軟件中提供點(diǎn)云處理能力。PDAL是跨平臺(tái)C++,可以在Linux、OS X和Windows上編譯運(yùn)行。
開源庫(kù) https://github.com/PDAL/PDAL.git
資源
三維點(diǎn)云論文及相關(guān)應(yīng)用分享
【點(diǎn)云論文速讀】基于激光雷達(dá)的里程計(jì)及3D點(diǎn)云地圖中的定位方法
3D目標(biāo)檢測(cè):MV3D-Net
三維點(diǎn)云分割綜述(上)
3D-MiniNet: 從點(diǎn)云中學(xué)習(xí)2D表示以實(shí)現(xiàn)快速有效的3D LIDAR語(yǔ)義分割(2020)
win下使用QT添加VTK插件實(shí)現(xiàn)點(diǎn)云可視化GUI
JSNet:3D點(diǎn)云的聯(lián)合實(shí)例和語(yǔ)義分割
大場(chǎng)景三維點(diǎn)云的語(yǔ)義分割綜述
PCL中outofcore模塊---基于核外八叉樹的大規(guī)模點(diǎn)云的顯示
基于局部凹凸性進(jìn)行目標(biāo)分割
基于三維卷積神經(jīng)網(wǎng)絡(luò)的點(diǎn)云標(biāo)記
點(diǎn)云的超體素(SuperVoxel)
基于超點(diǎn)圖的大規(guī)模點(diǎn)云分割
更多文章可查看:點(diǎn)云學(xué)習(xí)歷史文章大匯總
SLAM及AR相關(guān)分享
【開源方案共享】ORB-SLAM3開源啦!
【論文速讀】AVP-SLAM:自動(dòng)泊車系統(tǒng)中的語(yǔ)義SLAM
【點(diǎn)云論文速讀】StructSLAM:結(jié)構(gòu)化線特征SLAM
SLAM和AR綜述
常用的3D深度相機(jī)
AR設(shè)備單目視覺慣導(dǎo)SLAM算法綜述與評(píng)價(jià)
SLAM綜述(4)激光與視覺融合SLAM
Kimera實(shí)時(shí)重建的語(yǔ)義SLAM系統(tǒng)
SLAM綜述(3)-視覺與慣導(dǎo),視覺與深度學(xué)習(xí)SLAM
易擴(kuò)展的SLAM框架-OpenVSLAM
高翔:非結(jié)構(gòu)化道路激光SLAM中的挑戰(zhàn)
SLAM綜述之Lidar SLAM
基于魚眼相機(jī)的SLAM方法介紹
往期線上分享錄播匯總
第一期B站錄播之三維模型檢索技術(shù)
第二期B站錄播之深度學(xué)習(xí)在3D場(chǎng)景中的應(yīng)用
第三期B站錄播之CMake進(jìn)階學(xué)習(xí)
第四期B站錄播之點(diǎn)云物體及六自由度姿態(tài)估計(jì)
第五期B站錄播之點(diǎn)云深度學(xué)習(xí)語(yǔ)義分割拓展
第六期B站錄播之Pointnetlk解讀
[線上分享錄播]點(diǎn)云配準(zhǔn)概述及其在激光SLAM中的應(yīng)用
[線上分享錄播]cloudcompare插件開發(fā)
[線上分享錄播]基于點(diǎn)云數(shù)據(jù)的?Mesh重建與處理
[線上分享錄播]機(jī)器人力反饋遙操作技術(shù)及機(jī)器人視覺分享
[線上分享錄播]地面點(diǎn)云配準(zhǔn)與機(jī)載點(diǎn)云航帶平差
如果你對(duì)本文感興趣,請(qǐng)點(diǎn)擊“原文閱讀”獲取知識(shí)星球二維碼,務(wù)必按照“姓名+學(xué)校/公司+研究方向”備注加入免費(fèi)知識(shí)星球,免費(fèi)下載pdf文檔,和更多熱愛分享的小伙伴一起交流吧!
以上內(nèi)容如有錯(cuò)誤請(qǐng)留言評(píng)論,歡迎指正交流。如有侵權(quán),請(qǐng)聯(lián)系刪除
掃描二維碼
? ? ? ? ? ? ? ? ? ?關(guān)注我們
讓我們一起分享一起學(xué)習(xí)吧!期待有想法,樂于分享的小伙伴加入免費(fèi)星球注入愛分享的新鮮活力。分享的主題包含但不限于三維視覺,點(diǎn)云,高精地圖,自動(dòng)駕駛,以及機(jī)器人等相關(guān)的領(lǐng)域。
分享及合作方式:微信“920177957”(需要按要求備注) 聯(lián)系郵箱:dianyunpcl@163.com,歡迎企業(yè)來聯(lián)系公眾號(hào)展開合作。
點(diǎn)一下“在看”你會(huì)更好看耶
總結(jié)
以上是生活随笔為你收集整理的PDAL点云处理库介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于平面几何精确且鲁棒的尺度恢复单目视觉
- 下一篇: 【系列文章】面向自动驾驶的三维点云处理与