没有合适的资源?快使用搜索试试~ 我知道了~
≥软件X 12(2020)100626原始软件出版物Laserchicken-一种用于从大规模LiDAR点云数据集进行C. Meijera,M.W.Grootesa,Z.Komab,Y.济甘河贡萨尔维斯湾安娜,G. van den Oorda,E.Ranguelovaa,N.Renauda,W.D.基斯林湾a荷兰eScience中心,科学园140,1098 XG Amsterdam,荷兰b阿姆斯特丹大学生物多样性和生态系统动力学研究所,邮政编码。Box 94240,1090 GE Amsterdam,荷兰ar t i cl e i nf o文章历史记录:收到2019年收到修订版2020年6月12日接受2020年保留字:LiDAR点云特征提取机载激光扫描(ALS)生物多样性生态三维植被结构a b st ra ctLiDAR提供的点云数据集已成为考古学、林业和生态学等许多研究领域不可或缺的一部分。在技术进步的推动下,这些数据集的数量稳步增加,现代机载激光扫描测量现在提供高分辨率,(超)国家规模,多TB的点云。然而,它们更广泛的科学利用受到了能够应对从大规模数据集中访问,处理和提取有意义信 息 的 挑战 的 开 源 软 件工 具 的 稀 缺 性 以及 现 有 工 具 的领 域 特 异 性 的 阻碍 。 在 这 里 , 我 们 介绍 了Laserchicken,一个用户可扩展的跨平台Python工具,用于提取灵活定义的点云数据子集的统计特性,旨在实现多TB数据集的高效,可扩展,分布式处理。我们展示了Laserchicken我们进一步讨论了它作为一个领域不可知的,灵活的工具,也可以促进在其他研究领域的新应用的©2020作者由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本0.4.2用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX_2019_325法律代码许可证Apache 2.0使用git的代码版本控制系统使用Python的软件代码语言、工具和服务(3. 六、编译要求,操作环境依赖性laspy,scikit-learn,scipy,pytest,mock,mockfile,python-dateutil,shapely,PyShp,pandas,click,colorama,psutil,numpy如果可用,链接到开发人员文档/手册问题支持电子邮件c. esciencecenter.nl软件元数据当前软件版本0.2.0此版本可执行文件的永久链接https://github.com/eEcoLiDAR/laserchicken/releases/tag/0.2.0法律软件许可证Apache 2.0计算平台/操作系统Linux,OS X,Microsoft Windows安装要求依赖项laspy,scikit-learn,scipy,pytest,mock,python file,python-dateutil,shapely,PyShp,pandas,click,colorama,psutil,numpy如果可用,请链接到用户手册-如果正式出版,请在参考列表中引用该出版物https://laserchicken.readthedocs.io问题支持电子邮件c. esciencecenter.nl*通讯作者。电子邮件地址:c. esciencecenter.nl(C. Meijer)。https://doi.org/10.1016/j.softx.2020.1006262352-7110/©2020作者。 由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softxC. Meijer,M.W.Grootes,Z.Koma等人软件X 12(2020)10062621. 动机和意义LiDAR能够对区域进行详细的3D表征,在许多领域都具有变革性[1例如,(土地)测量、考古学、林业和生态学/生物学已经广泛地采用从各种扫描平台操作的LiDAR系统,尤其是机载激光扫描(ALS)是能够覆盖大空间范围的可灵活部署的技术。对于大多数科学领域,期望的信息被编码在点的集合(来自发射的扫描脉冲的三维局部化返回)的属性中,或者共同位于预定义的空间范围中,或者与某个对象相关联因此,LiDAR数据集的开发需要定义合适的度量,称为特征,从而能够从点云提取相关信息。因此,各个领域都投入了大量精力来识别能够估计生物量和树木直径(林业)、栖息地结构(动物生态学[6,7])或单棵树(城市规划[8])等属性的特征,在任何可能需要新指标(和努力)的新环境中使用LiDAR与这些努力同时,LiDAR和数据存储技术的进步,导致LiDAR以相对低的成本可用,促进了大规模数据集的生成。例如,(超)国家规模的现代ALS数据集包含数百亿个数据点和数千TB的数据。数 据 ( 例 如 AHN 3 , 1LiDAR aérien 2015 , 2National LiDARDataset3)。这些数据集提供了覆盖数万至数十万平方公里地理范围的高空间分辨率数据,代表了研究领域中的一种变革性新资源,已知详细的局部环境信息(以米为尺度)很重要,但同时也跨越了大的地理范围。然而,它们的科学开发,例如在宏观生态学和全球变化生物学中,面临着许多挑战[9]。首先,数据量是一个重大挑战。从点云提取特征需要在其组成点上执行计算。由于这些数字高达数百亿,即使是最简单的计算也会在所需的CPU时间和数据访问方面带来挑战。然而,一个点子集的计算通常独立于数据集中更远的点,使得特征提取服从分布和并行化,即原则上易于处理。科学地利用AL-S/LiDAR数据的另一个问题是特征的域特异性。可扩展性和灵活性,即因此,使用户能够根据他们的要求定义适当的然而,正是这一方面,在非开源软件包中受到严重限制,这可能进一步导致开放,可访问和可复制的科学研究背景下的互操作性问题[10,11]。当前处理LiDAR数据的软件前景无法充分应对这些综合挑战。例如,在常用的软件和工具中,有些不是开源的(例如LAStools [12,13]和OPALS [14,15]),有些是开源的,有些是开源的。针对较小的数据量(例如,FUSION4),有些是完全适合他们的领域,因此缺乏灵活性(例如,lidR51 https://www.pdok.nl/introductie/-/article/actueel-hoogtebestand-nederland-ahn3-.2 http://donnees.ville.montreal.qc.ca/dataset/lidar-aerien-2015网站。3 https://environment.data.gov.uk网站。主要关注林业,仅限于基于区域的方法6),而且,至关重要的是,目前没有可用的免费开源软件(FOSS)工具支持通过工作负载分布的全面横向可扩展性。在这里,我们介绍了Laserchicken,一个开源的,用户可扩展的Python包,以同时灵活和有效的方式促进从点云数据集提取特征,适合于大规模数据量的可扩展分布式处理,并可在一系列计算环境中使用。2. 软件描述Laserchicken是一个Python库,由几个模块组成为了实现跨平台的可使用性和可扩展的分布式处理,该库一直保持轻量化,并仅专注于特征提取,提供针对单个进程执行而优化的功能在下文中,我们将重点介绍Laserchicken在Laserchicken中,LiDAR数据集被称为环境点云(EPC),并且要在其上计算度量的点的子集每个邻域由目标体积和目标点(例如,分别为特定大小的立方体及其质心)定义,所有点都包含在构成邻域的体积中(图2)。①的人。四个体积定义实现:一个无限的正方形细胞,一个无限的圆柱体,一个立方体和一个球体(图。①的人。所有目标点一起形成目标点云(TPC),如图1中的规则网格所示。二、TPC可以由用户自由定义。在邻域列表上计算特征,其中特征值与每个邻域的定义目标点相关联,从而形 成 富 集 目 标 点 云 ( eTPC ) 。 这 个 新 颖 的 概 念 形 成 了Laserchicken 灵 活 和 领 域 不 可 知 功 能 的 核 心 , 例 如 , 使Laserchicken能够无缝地用于以经典的基于区域的方法提取特征(见图1)。 2)通常用于宏观生态背景[7]和第3.1节,以及表征给定点周围点云的局部几何形状(例如,在球体内)以高分辨率探索和识别数据集中的结构(见第3.2节)。2.1. 软件构架Laserchicken由四个核心模块(加载,计算邻居,特征,导出)和两个可选模块(过滤器,归一化)组成,它们提供了特征提取的处理工作流程(图1)。 3),具有基于文件的输入(EPC和TPC)和输出(eTPC)。Laserchicken依赖于标准的Python库(numpy,scipy),并额外使用laspy,pylas和python file库进行输入和输出,以及shapely库来支持点的(地理)空间过滤。2.2. 工作流程和软件功能图3描述了Laserchicken的特征提取工作流程。本节的其余部分提供Laserchicken模块的描述4 http://forsys.cfr.washington.edu/fusion/fusion_overview.html。5 https://github.com/Jean-Romain/lidR网站。6 参见第3.1节。C. Meijer,M.W.Grootes,Z.Koma等人软件X 12(2020)1006263Fig. 1. 可用于定义邻域的体积几何图形(红色)示例(显示为红点;封闭):无限正方形单元(a),无限圆柱体(b),立方体(C)和球体(D)。(有关本图例中颜色的解释,请参阅本文的网络版本2.2.1. 模块:load加载模块提供了加载ASPRS LAS/LAZ中提供的点云数据集的功能,或以ASPRS格式提供的点云数据集,并用于两种输入点云。结合PDAL库[16],它提供了对全面点云数据格式的访问。1232.2.2. 模块:计算邻居计算邻居模块通过识别EPC中驻留在以目标点为中心的指定体积中的点来构建由TPC和目标体积定义的邻居,将每个点作为索引列表返回给EPC。计算大样本点的相邻点的这一基本步骤在计算上是昂贵的。Laserchicken使用作为基本卷类,使得Laserchicken能够利用有效的k=2维kD树。1234562.2.3. 模块:功能特征提取由特征模块执行,特征模块需要EPC、TPC、计算的邻域列表和请求的特征列表作为输入。对于每个目标点,它选择相关邻域的点,并计算这些点上所请求特征的向量。将该特征向量附加到目标点,从而定义eTPC。优化的ckDtree类(kdTrees是一个空间分区数据结构)来组织EPC1和EPC 2。以及在计算2之前的初始步骤中的kdTrees中的TPC的邻居,随后加速计算过程3通过使用关于kD树的点的索引来确定邻居。所有体积均使用圆柱体体积类型定义#E_x_p_d_c_d=l_a_d(“AHN 3. las#Exampleco deforcomputneighborsFROMLASERCHICKENIMPORTCOPUTE_NEIGHOODSfrLASERCHICKENIMPORTB UID_V OLUME目标=点云v_l_um=buil_v_l_um (targets,volume)#用于将数据从数据库中导出的Exampo r c om p or pompute_fe aturescompute_features(point_cloud,neghborhoods,targets,[C. Meijer,M.W.Grootes,Z.Koma等人软件X 12(2020)1006264图二. 目标点云(TPC,绿点)的图示,表示规则格网像元的质心,以及由下式定义的邻域(红点)方形无限单元靶体积(红色柱)。在每个目标点的邻域上计算特征,然后将其与目标点相关联,从而形成富集的目标点云(eTPC)。未包含在邻域中的点以黑色显示。(For参考文献的解释如欲在此图例中填上颜色,请参阅本文的网页版本。1234567目前,实现了许多功能,包括高度分布和特征向量的矩阵(表1)。需要多维线性代数运算(例如,特征向量和特征值)的计算上昂贵的计算已经使用numpy库的einsum函数来向量化以优化性能。它们的实现可以作为需要类似操作的新功能的模板。2.2.4. 模块:导出导出模块可将eTPC序列化为CSV、LAS/LAZ格式,以便用户选择软件进行进一步分析。最好使用XML格式,因为它可以灵活扩展,并提供经济的内存使用以及记录出处数据的选项。根据用例和域,转换为另一种格式(例如,GeoTiff)可能是可取的。我们注意到1232.2.5. 模块:Filter(可选)Laserchicken提供了在提取特征之前过滤EPC的选项。可以根据相对于指定阈值的单个属性值(例如,高于地面上的某个标准化高度)或根据其属性的特定值(例如,LAS标准分类)对点进行过滤还可以利用诸如多边形(例如,感兴趣的区域、土地覆盖类型)的(地理)空间层进行过滤,即,选择性地包括或排除点。12345678912342.2.6. 模块:Modules(可选)许 多 特 征 ( 表 1 ) 需 要 标 准 化 的 地 面 以 上 高 度 作 为 输 入 。Laserchicken提供了内部构建数字地形模型(DTM)并导出此数量的选项。为此,EPC被划分为小小区(例如,1 m或2. 5 m平方)。每个像元中的最低点作为的DTM。然后,为单元中的每个点指定相对于导出的DTM高度的归一化高度。这将导致严格的正高度,并在大于像元大小的尺度上平滑高程变化。规范化的EPC可以直接用于进一步的分析,或序列化到磁盘。1232.3. 分布和性能Laserchicken提供了一个在点云数据集上进行(矢量化)单流程操作的库。因此,尽管Laserchicken的实际重点在于处理大量数据集,如下所述,但我们简要地将库的性能与广泛使用的FOSS LiDAR处 理 工 具 lidR 进 行 了 基 准 测 试 。 7 然 而 , 我 们 注 意 到 , 与Laserchicken不同,它允许用户自由指定任何一组目标,lidR需要(并优化)在规则网格上提取特征。使用这两个库提取一组3个特征(第90百分位标准化身高、中位数标准化身高、0. 5米;见PDAL [16]和GDAL [26]库可以与Laserchicken7https://github.com/Jean-Romain/lidR。#用于提交已分配的功能的Examplecodee从一个简单的端口开始,输入数据将被重新加载。从一个地方开始。feature_extractorr. B和R_a_fea_ture_xtractimp orB和R_a_Fea_ture_xtractorRegister_new_feature_extractor(BandRatioFeatureExtractor(None,1,datat a key=register_new_feature_extractor(BandRatioFeatureExtractor(1,2,datatat a key=Register_new_feature_extractor(BandRatioFeatureExtractor(2,None,datat a key=register_new_feature_extractor(BandRatioFeatureExtractor(None,0,datat a key=#Exampleco deforex p ortingdatafomaserchickemportexp orte tat ply#Exampleco deforfilter从一个地方开始。filterimportselect_polygonpolygon=“POLYGON(“+\“131963.984125 549718.375000,“+\“132000.000125 549718.375000,“+\“132000.000125 549797.063000,“+\“131963.984125 549797.063000,“+\“131963.984125 549718.375000)“point_cloud= select_polygon(point_cloud,polygon)#Exampleco deforattribtefilteringg从一个地方开始。filterimporselect_above,select_belowpoints_below_1m=select_below(point_cloud,points_above_1m=select_above(point_cloud,#Examplecodefornormalingheigt从一个地方开始。normalizeimportnormalizenormalize(point_cloud)C. Meijer,M.W.Grootes,Z.Koma等人软件X 12(2020)1006265VNN个2D√∑∑−N1∑NjNj×××∼σ3∼Nσ4NN−1我表1Laserchicken中当前实现的功能特征名称正式描述使用示例参考点密度N其中V是目标体积或面积点云空间分布脉冲穿透率N地面总数回波比100·N3D偏度1·∑(Zi−Z<$)3植物分类[17]屋顶探测[18]植被、地面和屋顶分类和检测[19]峰度1·∑(Zi−Z<$)4植被、地面和屋顶分类和检测[19]标准偏差(Zi−Z<$)2N−1方差(Zi−Z<$)2ΣZ<$∑(Ri−R<$)2 其中R是湿地内芦苇的分类[20]湿地内芦苇的分类[20]改编自[20]平面拟合最小ZZmin湿地中的简单数字地形模型[20]最大ZZmax森林的高度和结构[21]平均Z1·Z i森林的高度和结构[21]森林的高度和结构[21]范围Z|Z最大值− Z最小值|森林的高度和结构[21]百分位数Z每10个百分位数的高度。森林的高度和结构[21]特征值λ1,λ2,λ3,其中|λ1| ≥ |λ2| ≥ |λ3|城市物体的分类[22]法向量特征向量v3屋顶检测[23]斜率tan(arccos(v3·k)),其中k=[0,0,1]T平面表面检测[24]熵Z−∑iPi· log2Pi,其中Pi=∑Ni植物高度多样性[25]和bini中的Ni个点系数方差Z1·<$∑(Zi−Z<$)2−城市树种分类[8]非地面密度绝对平均值Z<$100NN1·∑i∈non−ground[Zi>Z<$non−ground]城市树种分类[8]非接地频带比NZi
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功