使用训练模型对点云进行分类 (3D Analyst)

摘要

使用 PointCNN 分类模型对点云进行分类。

使用情况

  • 该工具通过深度学习框架使用 PointCNN 实施。

    要设置计算机以在 ArcGIS Pro 中使用深度学习框架,请参阅安装 ArcGIS 的深度学习框架

  • 该工具默认情况下对输入点云中的所有点进行分类。 如果输入点云中的任何现有类代码均已正确分类,请确保通过现有类代码处理现有类代码参数指示应编辑或保留哪些类代码,以排除那些要修改的点。

    了解有关通过深度学习对点云进行分类的详细信息。

  • 输入点云必须具有与用于开发分类模型的训练数据相同的属性,并且值范围必须相似。 例如,如果训练模型使用具有特定值范围的强度属性,则点云必须具有相同范围内的强度值。 点密度和分布也应与训练模型时使用的数据相似。

  • 如果输入点云的空间参考未使用投影坐标系,则可以使用输出坐标系环境定义在分类点时将使用的投影坐标系。

参数

标注说明数据类型
目标点云

将进行分类的点云。

LAS Dataset Layer
输入模型定义

输入 Esri 模型定义文件 (*.emd) 或深度学习包 (*.dlpk) 将用于分类点云。 也可以使用在 ArcGIS OnlineArcGIS Living Atlas 上发布的深度学习包的网址。

File; String
目标分类

训练模型中的类代码,将用于对输入点云进行分类。 除非已指定子集,否则默认情况下将使用输入模型中的所有类。

String
现有类代码处理
(可选)

指定如何定义输入点云中的可编辑点。

  • 编辑所有点
  • 编辑所选点
  • 保留所选点
String
现有类代码
(可选)

将根据现有类代码处理参数值编辑点或保留原始类代码名称的类。

Long
计算统计数据
(可选)

指定是否将计算 LAS 数据集引用的 .las 文件的统计数据。 计算统计数据时会为每个 .las 文件提供一个空间索引,从而提高了分析和显示性能。 统计数据还可通过将 LAS 属性(例如分类代码和返回信息)显示限制为 .las 文件中存在的值来提升过滤和符号系统体验。

  • 选中 - 将计算统计数据。 这是默认设置。
  • 未选中 - 不计算统计数据。
Boolean
处理边界

面边界,可用于定义要通过输入点云处理的点的子集。 边界要素之外的点将不会进行评估。

Feature Layer
更新金字塔
(可选)

指定修改类代码后,LAS 数据集金字塔是否会更新。

  • 选中 - LAS 数据集金字塔将更新。 这是默认设置。
  • 未选中 - LAS 数据集金字塔不会更新。
Boolean

派生输出

标注说明数据类型
输出点云

通过深度学习模型进行分类的点云。

Feature Layer

arcpy.ddd.ClassifyPointCloudUsingTrainedModel(in_point_cloud, in_trained_model, output_classes, {in_class_mode}, {target_classes}, {compute_stats}, boundary, {update_pyramid})
名称说明数据类型
in_point_cloud

将进行分类的点云。

LAS Dataset Layer
in_trained_model

输入 Esri 模型定义文件 (*.emd) 或深度学习包 (*.dlpk) 将用于分类点云。 也可以使用在 ArcGIS OnlineArcGIS Living Atlas 上发布的深度学习包的网址。

File; String
output_classes
[output_classes,...]

训练模型中的类代码,将用于对输入点云进行分类。 除非已指定子集,否则默认情况下将使用输入模型中的所有类。

String
in_class_mode
(可选)

指定如何定义输入点云中的可编辑点。

  • EDIT_ALL将会编辑输入点云中的所有点。 这是默认设置。
  • EDIT_SELECTED仅会编辑具有在 target_classes 参数中指定的类代码的点;所有其他点保持不变。
  • PRESERVE_SELECTED将会保留具有在 target_classes 参数中指定的类代码的点;将会编辑其余点。
String
target_classes
[target_classes,...]
(可选)

将根据 in_class_mode 参数值编辑点或保留原始类代码名称的类。

Long
compute_stats
(可选)

指定是否将计算 LAS 数据集引用的 .las 文件的统计数据。 计算统计数据时会为每个 .las 文件提供一个空间索引,从而提高了分析和显示性能。 统计数据还可通过将 LAS 属性(例如分类代码和返回信息)显示限制为 .las 文件中存在的值来提升过滤和符号系统体验。

  • COMPUTE_STATS将计算统计数据。 这是默认设置。
  • NO_COMPUTE_STATS不计算统计数据。
Boolean
boundary

面边界,可用于定义要通过输入点云处理的点的子集。 边界要素之外的点将不会进行评估。

Feature Layer
update_pyramid
(可选)

指定修改类代码后,LAS 数据集金字塔是否会更新。

  • UPDATE_PYRAMIDLAS 数据集金字塔将更新。 这是默认设置。
  • NO_UPDATE_PYRAMIDLAS 数据集金字塔不会更新。
Boolean

派生输出

名称说明数据类型
out_point_cloud

通过深度学习模型进行分类的点云。

Feature Layer

代码示例

ClassifyPointCloudUsingTrainedModel 示例(独立脚本)

下面的示例演示了如何在 Python 窗口中使用此工具。

import arcpy
arcpy.env.workspace = 'C:/data/'
arcpy.ddd.ClassifyPointCloudUsingTrainedModel('2018_survey.lasd', 'electrical_infrastructure_classification.emd', 
                                              [14, 15], 'EDIT_SELECTED', [0,1])

许可信息

  • Basic: 需要 3D Analyst
  • Standard: 需要 3D Analyst
  • Advanced: 需要 3D Analyst

相关主题