准备点云对象检测训练数据 (3D Analyst 工具)
汇总
创建点云训练数据,以使用深度学习创建对象检测模型。
插图

用法
点云对象检测训练数据由一个带有
.pcotd扩展名的目录定义,该目录包含两个子目录:一个包含用于训练模型的数据,另一个包含用于在整个训练过程中验证模型的数据。 必须始终指定输入点云以及表示用于训练和验证的对象边界框的单独多面体要素。 可以提供边界多边形来限制导出用于训练的数据。 验证数据可以通过以下方式定义:除了输入点云之外,还提供验证点云。 该数据集必须引用与输入点云不同的点集。 还可以指定边界来裁剪验证点云。
仅提供具有训练和验证边界的输入点云。 这将导致训练和验证数据均源自同一输入点云,因此无需为验证点云参数指定数据集。 避免两个边界多边形数据集之间重叠,这样您就不会使用相同的点云数据进行训练和验证。
将点云中存在的每种对象类型包含在多面体边界框中。 训练或验证数据中无法识别的对象将导致模型无法有效学习如何识别对象。 如果点云包含未识别的对象,请使用边界要素将导出的训练数据集限制到对象正确包含在边界框中的位置。
表示对象的点不需要分类为在用于对象检测的训练数据集中使用。 这简化了标记对象的任务,仅将边界框创建为多面体要素。 可以通过多面体要素类的交互式 3D 编辑来生成边界框。 但是,如果对象由分类点云表示,则可以通过 从点云提取对象 工具创建这些点的边界框。
输入点云应具有相当一致的点密度。 评估点云以确定其是否包含点密度较高的位置,例如通过重叠飞行测线测量或闲置地面扫描仪采集的区域。 对于具有重叠航线的机载激光雷达数据,可使用 分类 LAS 重叠 工具标记重叠点,以实现更一致的点分布。 具有过采样热点的其他类型的点云可以使用 稀疏化 LAS 工具稀疏化为常规分布。
点云中的点可以通过其类代码从训练数据中排除,以通过减少必须处理的点的数量来帮助提高训练模型的性能。 排除的点应该属于可以轻易分类的类,并且不一定为正在训练模型的对象提供足够的上下文。 考虑过滤掉分类为重叠或噪点的点。 如果在训练数据的生成期间计算距地面的高度,则还可以过滤出地面分类点。
如果可能,请指定一个块大小,使其能够充分捕获将用于训练模型的对象。 虽然每个块可能不总是包含整个对象,但是在训练数据中创建的重叠块将捕获对象的足够数量的变化表示,以便训练成功的模型。
块的点限制应反映数据的块大小和平均点间距。 给定块中的点数可以使用 用作栅格数据的 LAS 点统计 工具进行估算,方法参数设置为点计数选项并将所需的块大小作为输出栅格的像元大小。 此栅格的 影像直方图 可以说明数据集中每个块的点分布。 如果直方图显示具有大幅变化的大量块,则其可以指示存在包含密集点集合构成的潜在热点的不规则采样数据。 如果块包含的点多于块的点限制,则将多次创建该块,以确保在训练数据中表示其所有点。 例如,如果点限制为 10,000,并且给定的块包含 22,000 个点,则将创建三个包含 10,000 个点的块,以确保每个块中的均匀采样。 还应该避免块的点限制显著高于大多数块的标称点数量的情况。 在一些架构中,数据会进行上采样以满足点限制。 由于这些原因,使用与覆盖训练数据中的大多数块的预期点计数接近的块大小和块点限制。 创建训练数据后,工具的消息窗口中将显示直方图,并将其图像存储在包含训练数据和验证数据的文件夹中。 可以检查该直方图以确定是否指定了适当的块大小和点限制组合。 如果这些值指示点限制欠佳,则使用更合适的块点限制参数值重新运行工具。
块点限制应考虑计算机上将用于训练的专用 GPU 内存容量。 训练期间的内存分配将取决于每个块的点数、所使用的属性以及在给定批次中同时处理的总块数。 如果需要更大的块大小和点限制来有效地训练模型,则可以在训练步骤中减少批大小,以确保可以处理更多的点。
确保将输出写入具有足够磁盘空间以容纳训练数据的位置。 此工具创建未压缩 HDF5 文件的部分重叠块,这些文件复制四个块中的每个点。 在超过最大点限制的块中,某些点可能重复四次以上。 生成的训练数据占用的磁盘空间至少是源点云数据的三倍。
该工具的消息窗口显示每种类型对象的四分位比。 该比率是通过将第三个四分位数中的物体体积除以第一个四分位数来计算的。 该指标可作为对象之间大小变异性的指标。 四分位比越大表明物体体积的变异性越大,而四分位数越小则表明变异性越小。 如果体积存在显著变化,您可能需要调整 训练点云对象检测模型 工具的架构设置参数中的体素参数以获得准确的模型。
参数
| 标注 | 说明 | 数据类型 |
|---|---|---|
|
输入点云 |
将用于创建对象检测训练数据的点云。 |
LAS Dataset Layer; File |
|
输入训练要素 |
多面体要素将识别将用于训练模型的对象。 |
Feature Layer |
|
输入验证要素 |
多面体要素将识别在训练过程中用于验证模型的对象。 |
Feature Layer |
|
块大小 |
将从输入点云创建的每个训练数据块的直径。 一般规则是块大小应该足够大,以捕获感兴趣的对象及其周围的上下文。 |
Linear Unit |
|
输出训练数据 |
输出训练数据( |
File |
|
训练边界要素 (可选) |
用于描绘输入点云中点的子集的面要素,该子集将用于训练模型。 未提供验证点云参数值时,此参数是必需的。 |
Feature Layer |
|
训练代码字段 (可选) |
该字段标识训练多面体要素中每种类型对象的唯一 ID。 如果未定义字段,则为对象分配 ID 0。 |
Field |
|
验证点云 (可选) |
在训练过程中将用于验证深度学习模型的点云。 此数据集必须引用与输入点云不同的点集,以确保训练模型的质量。 如果未提供验证点云,则可通过为训练边界要素和验证边界要素参数提供面要素类,使用输入点云来定义训练和验证数据集。 |
LAS Dataset Layer; File |
|
验证边界要素 (可选) |
描绘在训练过程中用于验证模型的点子集的面要素。 如果未提供验证点云,则点将源自输入点云,并且训练边界要素参数将需要面。 |
Feature Layer |
|
验证代码字段 (可选) |
该字段标识验证多面体要素中每种类型对象的唯一 ID。 如果未定义字段,则为对象分配 ID 0。 |
Field |
|
块点限制 (可选) |
可以存储在每个训练数据块中的最大点数。 当块包含的点超过此值时,将在同一位置创建多个块,以确保在训练时使用所有点。 默认值为 500,000。 |
Long |
|
参考高度面 (可选) |
将用于为点云数据中的每个点提供相对高度值的栅格表面。 在分析中,将不考虑不与栅格重叠的点。 |
Raster Layer |
|
排除类代码 (可选) |
将从训练数据中排除的类代码。 可以指定 0 到 255 范围内的任何值。 |
Long |
|
仅导出包含对象的训练块 (可选) |
指定训练数据是否仅包含包含对象的块,或者是否也包含不包含对象的块。 用于验证的数据不会受到该参数的影响。
|
Boolean |
环境
当前工作空间, 临时工作空间, 范围, 输出坐标系, 地理变换, 并行处理因子
许可信息
- 基本: 需要 3D Analyst
- 标准: 需要 3D Analyst
- 高级: 需要 3D Analyst