创建训练样本
对汤加科洛瓦伊种植园每棵棕榈树的健康状况进行清查和评估,这需要花费大量的时间和劳动力。 为简化此过程,您将在 ArcGIS Pro 中使用深度学习模型来识别树木,然后根据植被绿度的测量值计算其健康状况。 第一步是找到显示汤加科洛瓦伊的影像,该影像具有足够精细的空间和光谱分辨率来识别树木。 获得此影像后,您将创建训练样本并将其转换为可供深度学习模型使用的格式。 为了让模型识别出它的查找任务,您需要定义棕榈树的影像,以便识别相似的像素和树木大小。
注:
在 ArcGIS Pro 中使用深度学习工具需要在计算机上安装正确的深度学习库。 如果您未安装这些文件,请确保已关闭 ArcGIS Pro,然后按照在 ArcGIS Pro 中为深度学习做好准备中提供的步骤说明操作。 在这些说明中,您还可以了解如何检查您的计算机硬件和软件能否运行深度学习工作流,以及获取其他有用的提示。 完成后,您即可继续本教程。
下载影像
在提取要素时,准确的高分辨率影像是必不可少的。 如果像素尺寸小到足以区分棕榈树冠,该模型将只能识别棕榈树。 此外,要计算树木的健康状况,您需要一个带有光谱波段的影像,以供您生成植被健康指数。 您需要从 OpenAerialMap 中找到并下载此研究的影像,其中 OpenAerialMap 是一个高分辨率、多光谱影像的开源存储库。
- 转至 OpenAerialMap 网站。
- 单击开始浏览。
在交互式地图视图中,可以缩放、平移和搜索地球上任何地方的影像。 将地图拆分为格网。 当您指向格网框时,即会出现一个数字。 此数字表示该框的可用影像数。
- 在搜索框中,输入 Kolovai,然后按 Enter。 在结果列表中单击 Kolovai。
地图将缩放到 Kolovai。 这是汤加塔布岛上的一个小镇,拥有椰子种植园。
- 如有必要,将地图缩放以查看 Kolovai 的标签。 单击 Kolovai 正上方的格网框。
- 在侧窗格中,单击 Cristiano Giovando 提供的 Kolovai UAV4R Subset (OSM-Fit)。
- 单击“下载”按钮下载原始 .tif 文件。 将图像保存到您选择的位置。
由于文件较大,下载可能需要几分钟。
默认文件名称为 5b1b6fb2-5024-4681-a175-9b667174f48c。
浏览数据
要开始分类过程,您将下载一个 ArcGIS Pro 工程,其中包含一些引导您执行创建训练样本操作的书签。
- 下载 Palm_Tree_Detection .zip 文件,并将其内容提取到计算机上合适的位置。
由于文件较大,下载可能需要几分钟。
- 如有必要,打开解压的 Palm_Tree_Detection 文件夹。 打开 Kolovai 文件夹。 双击 Kolovai ArcGIS 工程文件。
- 在功能区地图选项卡的图层组中,单击添加数据。
随即显示添加数据窗口。
- 在添加数据窗口中的计算机下,浏览至您从 OpenAerialMap 下载的 Kolovai 影像(回想一下,该文件名为 5b1b6fb2-5024-4681-a175-9b667174f48c)。 选择 .tif 文件,然后单击确定。
注:
如果出现计算统计数据窗口,单击是。
Kolovai 影像随即添加到地图。 该图层按其唯一标识符列在内容窗格中,这是没有意义的。 最好将图层重命名为您理解的内容。
- 在内容窗格中,单击当前图层名称两次,然后输入影像。 按 Enter 键。
- 平移和缩放地图以了解棕榈农场的外观。
此影像中有大量的椰子树。 通过字段或通过视觉检查影像的方式进行单独计数需要花费数天的时间。 为了使深度学习模型能够帮您完成这项工作,您需要创建一部分棕榈树样本来训练您的模型。
创建训练方案
在训练深度学习模型或任何影像分类模型时,创建良好的训练样本至关重要。 这通常也是该过程中最耗时的一步。 为了向深度学习模型提供在提取影像中所有棕榈树时所需的信息,您需要为多棵棕榈树创建要素,以向模型示教椰子树可能具有的大小、形状和光谱特征。 通过“标注对象以供深度学习使用”工具创建和管理训练样本。
注:
创建训练数据集需要将数百个要素数字化,并且可能非常耗时。 如果您不想创建训练样本,已在 Provided Results 文件夹中的 Results 地理数据库中提供了一个数据集。 您可以前进到“创建影像片”部分。
- 在内容窗格中,确保已选中 Imagery 图层。
- 单击功能区上的影像选项卡。 在影像分类组中,单击分类工具,然后选择标注对象以供深度学习使用。
影像分类窗格随即显示,其中包含空白方案。 您将创建一个方案,其中只有一个类,因为您仅对从影像中提取椰子树感兴趣。
- 在影像分类窗格中,右键单击新建方案并选择编辑属性。
- 对于名称,输入 Coconut Palms。
- 单击保存。
在影像分类窗格中对此方案进行重命名。 您现在可向其中添加类。
- 右键单击 Coconut Palms,然后选择添加新类。
添加新类窗格随即显示。 您将为用于训练模型的类设置一些参数。
- 对于名称,输入 Palm。
接下来是值,或者是训练模型时计算机使用的代码。 为棕榈树指定的值为 1。
- 对于值,输入 1。
最后,您将选择在识别要素时使用的颜色。 可选择任意颜色,但由于您要在影像上数字化的大部分要素为绿色,因此黄色的可见性较强。
- 对于颜色,选择一种明亮的黄色,例如太阳黄。
提示:
要查看颜色的名称,请指向该色块。
- 单击确定。
Palm 类即会添加到影像分类窗格中的 Coconut Palms 方案。 您将使用 Palm 类创建要素,以便训练深度学习模型。
创建训练样本
为了确保您捕获的样本是该区域中具有代表性的树木样本,您需要对整个影像中的要素进行数字化处理。 以称为影像片的特定格式将这些要素读入深度学习模型。 影像片是从源影像切割而来的影像小块。 在“影像分类”窗格中创建足够数量的要素后,您便可将它们导出为带有元数据的影像片。
- 单击功能区上的地图选项卡。 在导航组中,单击书签,然后选择 Training Location 1。
地图将缩放到您将识别的棕榈树样本的第一个区域。
- 在影像分类窗格中,选择 Palm 类,然后单击圆形工具。
您将使用此工具在当前显示中的每棵棕榈树周围绘制圆。 从该要素中心向外绘制圆,以测量此要素的半径。
- 在地图上,单击棕榈树的中心并在单棵树周围绘制圆。
新的 palm 记录将添加到影像分类窗格的标注对象组。 您将为每棵树创建一条棕榈树记录,以确保有许多影像片标记了所有棕榈树。
- 在地图显示中的每棵树周围绘制圆。
注:
如果需要额外的指导来帮助您了解如何绘制这些圆,或者如果想跳过数字化树木操作,您下载的文件夹中提供了一个训练样本数据集。 在功能区地图选项卡的图层组中,单击添加数据。 浏览至 Databases 文件夹,然后双击 Results 地理数据库。 单击 PalmTraining,然后单击确定。
完成第一个书签的范围后,您即会在训练样本管理器窗格中记录大约 180 个样本。
以下是一些有助于您识别树木的详细信息:
- 您可以缩放和平移地图以使数字化更容易,但请确保在书签范围内尽可能多地数字化树木。
- 如果您不确定一棵树的确切位置,可以跳过它。 您希望确保创建准确的训练样本。
- 所绘制的圆可以重叠。
- 您的最终模型将考虑您识别的树木的大小,因此请确保标记小型和大型棕榈树。
- 在剩余的六个 Training Location 书签上为每棵棕榈树创建训练样本。
数字化训练样本过程可能比较耗时,但是在此过程中能够获得大量样本,因此这样做是值得的。 您为模型提供的作为训练数据的样本越多,结果就越准确。
例如,用于训练本教程所提供模型的训练数据集有 600 多个样本。
- 创建样本完成后,在影像分类窗格中,单击保存。
- 在保存当前训练样本窗口中的工程下,单击数据库,然后双击默认工程地理数据库 Kolovai.gdb。
- 将要素类命名为 PalmTraining 并单击保存。
- 关闭影像分类窗格。 如果出现标注对象窗口,单击是。
尽管您已将训练样本保存到地理数据库,但需要刷新地理数据库才能访问此数据集。
- 单击功能区上的视图选项卡。 在窗口组中,单击目录窗格。
随即显示目录窗格。
- 展开数据库。 右键单击 Kolovai,并选择刷新。
PalmTraining 要素类现已可见。
- 在快速访问工具栏上,单击保存。
创建影像片
训练模型之前的最后一步是将训练样本导出为正确的格式,如影像片。
- 在 ArcGIS Pro 应用程序窗口顶部的命令搜索中,键入导出训练数据进行深度学习。 单击导出训练数据进行深度学习。
将出现地理处理窗格。
您将设置参数,以创建影像片。 首先,您将选择要用于训练的影像。
- 对于输入栅格,选择 Imagery。
接下来,您将创建一个文件夹以存储影像片。
- 对于输出文件夹,输入 imagechips。
接下来,您将选择包含您创建的训练样本的要素类。
- 对于输入要素类或分类栅格或表,浏览至 Kolovai 地理数据库。 单击 PalmTraining,然后单击确定。
注:
如果您没有绘制训练样本,则提供了一个数据集供您使用。 浏览至数据库并打开 Results 地理数据库。 选择 PalmTraining,然后单击确定。
接下来,您将从训练数据中选择包含您绘制的每个要素的类值的字段。 回想一下,棕榈树类值为 1。
- 对于类值字段,选择 Classvalue。
接下来,您将选择影像片的输出格式。 您选择的格式取决于要训练的深度学习模型的类型。
- 对于图像格式,选择 JPEG 格式。
接下来,您将设置每个影像片的大小(以像素为单位)。 影像片的大小由您尝试检测的要素的大小决定。 如果要素大于切片的 x 和 y 尺寸,则您的模型将无法提供良好的结果。
- 对于切片大小 X 和切片大小 Y,输入 448。
现在,您将确保输出格式正确。 这也取决于您正在创建的深度学习模型的类型。
- 对于元数据格式,确保已选择 PASCAL 可视化对象类。
在运行该工具并创建影像片之前,您将设置工具环境。 您尤其需要知道影像的分辨率。 最佳做法是创建影像片时使用与您的输入影像相同的分辨率。
- 单击环境选项卡。
- 在栅格分析下,对于像元大小,选择与图层影像相同。
- 单击运行。
工具需要几分钟才能运行完成,具体取决于您的计算机硬件。
影像片已创建并可以用于训练深度学习模型。
- 保存工程。
在本模块中,您已下载并向工程添加了开源影像,使用训练样本管理器窗格创建了训练样本,并将其导出为与深度学习模型兼容的格式来进行训练。 接下来,您将创建深度学习模型并识别种植园的所有树木。
使用深度学习模型检测棕榈树
开始检测棕榈树之前,您需要训练模型。 数据训练模型需要获取您的训练样本并将其多次放入神经网络。 这个计算密集型进程将由地理处理工具处理,但是通过此方式模型可以学习何处是棕榈树,何处不是。 得到模型后,您要将其应用至影像以自动识别树木。
训练深度学习模型
训练深度学习模型地理处理工具使用已标注的影像片来确定给定影像中的哪些像素组合代表棕榈树。 您将使用这些训练样本来训练单帧检测器 (SSD) 深度学习模型。
训练模型可能需要一个小时以上的运行时间,具体取决于您的计算机硬件。 建议您的计算机配备专用的图形处理单元 (GPU)。 如果不想训练模型,工程的 Provided Results 文件夹中提供了一个深度学习模型。 或者,您可以跳转到本教程的“棕榈树检测”部分。
- 在功能区上的命令搜索中,输入训练深度学习模型。 选择训练深度学习模型。
将出现地理处理窗格。
首先,您要将工具设置为使用训练样本。
- 在地理处理窗格中,对于输入训练数据,浏览至 Kolovai 工程文件夹。 选择 imagechips 文件夹,然后单击确定。
文件夹可能需要几秒钟时间进行加载。
已通过导出训练数据进行深度学习工具创建了 imagechips 文件夹,其中包含两个文件夹、两个文本文件、一个 .json 文件和一个 .emd 文件。 esri_model_definition.emd 文件是一个模板,将由训练模型的数据科学家填写,其中包含用于训练的影像的深度学习框架、训练模型的文件路径、类名、模型类型和影像规范等信息。 .emd 文件是经过训练的模型与 ArcGIS Pro 之间的桥梁。
接下来,您将创建一个文件夹以存储模型。
- 对于输出模型,输入 classify_palms。
接下来,您将设置模型要运行的轮数。 一个轮数代表整个训练数据集的完整周期。 在每轮中,您存储在 imagechips 文件夹中的训练数据集都将通过神经网络向前和向后传递一次。
- 对于最大轮数,输入 50。
接下来,您将确保训练适用于检测影像中对象的正确的训练模型。 模型类型将确定用于训练模型的深度学习算法和神经网络。 在这种情况下,将使用单帧检测器方法,因为已针对对象检测进行了优化。
- 展开模型参数并确保将模型类型设置为单帧检测器(对象检测)。
接下来,您将设置批量大小。 此参数可确定每次训练的训练样本数。
- 对于批量大小,输入 8。
接下来,您将确保模型运行全部 100 轮。
- 展开高级并取消选中当模型停止改进时停止复选框。
- 接收其余的默认参数。
根据您选择的模型类型不同,模型参数(用于训练模型的参数值)也会有所不同,并且可以自定义。 有关选择模型参数的更多信息,请参见训练深度学习模型文档。
最后,如果您具有 GPU,可将此工具设置为在电脑的 GPU 上运行,从而使处理更快。 否则,跳过下一步。
- 如果您的计算机具有 GPU,可以单击环境选项卡。 在处理器类型下,对于处理器类型,选择 GPU。
- 单击运行。
注:
此工具的运行可能需要一个小时以上的时间。
如果模型运行失败,缩小批量大小参数可能有帮助。 您可能不得不将此参数设置为 4 或 2 并重新运行工具。 但是,这样可能会降低训练的模型结果的质量。
棕榈树检测
从影像中提取要素时,其中大部分工作是准备数据、创建训练样本和训练模型。 现在这些步骤已完成,您需要使用经过训练的模型来检测整个影像中的棕榈树。 对象检测过程通常需要进行多次测试才能获得最佳结果。 您可以更改些许参数,以使模型发挥最佳性能。 为了快速测试这些参数,请先尝试在图像的一小部分内检测树木。 对结果满意后,再把检测工具的范围扩展到完整图像。
注:
如果您在之前的部分中未训练模型,可使用 Provided Results 文件夹中为您提供的深度学习包。
要素分类是一个 GPU 密集型进程,可能需要一段时间才能完成,具体取决于您的计算机硬件。 如果您选择不检测棕榈树,则已经提供了结果,您可以跳至“优化检测到的要素”部分。
- 单击功能区上的地图选项卡。 在导航组中,单击书签。 选择检测区域。
- 在功能区的命令搜索中,输入使用深度学习检测对象。 选择使用深度学习检测对象。
首先,您将设置要从中检测要素的影像。
- 在使用深度学习检测对象工具中,对于输入栅格,选择影像。
接下来,您将为已检测对象的要素类命名。
- 对于输出检测对象,输入 DetectedPalms。
接下来,您将选择创建的用于检测棕榈树的模型。
- 对于模型定义,浏览至 classify_palms 文件夹。 单击 classify_palms.dlpk 深度学习模型包文件。 单击确定。
注:
如果您未训练深度学习模型,请浏览至工程文件夹。 打开 Provided Results 文件夹。 打开 classify_palms。 单击 classify_palms.dlpk 深度学习模型包文件。 单击确定。
接下来,您将设置一些模型参数。 参数用于调整模型的运行方式,以获得最佳结果。
在卷积神经网络建模中执行影像卷积时,实际上是收缩了数据,与内部像素相比,在分析过程中影像边缘的像素使用得更少。 填充参数为影像的外边缘添加了一个额外的像素边界。 由此可以减少由有效边缘像素和收缩带来的信息丢失。 将其保留为默认值。
threshold 参数是置信度阈值 - 将对象标记为棕榈树时的可接受置信度是多少? 可以调整该数字以获得所需精度。
- 对于 threshold,输入 0.2。
接下来,您将设置 nms_overlap 参数。 此参数将控制每个要素允许的相交程度。 如果此参数数值较小,则指示该对象不能重叠,需将其视为单个要素。
- 对于 nms_overlap,保留默认值 0.1。
接下来,您将设置批量大小。
- 对于 batch_size,输入 8。
运行工具之前,您将进行一些环境设置。
- 单击环境选项卡。
接下来,您将设置处理范围。 此参数将强制工具仅处理当前地图范围内的影像。 由于对象检测是硬件使用密集型进程,因此在对完整的影像数据集运行检测之前,最好对较小区域运行工具以测试参数。
- 在处理范围下,将范围设置为当前显示范围。
关闭当前显示范围后,将显示范围的地理边界框坐标。
- 在栅格分析下,对于像元大小,选择与图层影像相同。
- 或者如果您的计算机已配备 GPU,在处理器类型下,对于处理器类型,选择 GPU。
- 单击运行。
无论是在 CPU、GPU 还是 RAM 上运行,该工具都可能需要一些时间才能运行,具体取决于您的硬件情况。
观察结果。 您可以尝试多个参数以查看其对结果的影响。
具有可得到较好结果的参数后,您将在整个影像范围内检测棕榈树。
- 在环境选项卡上,对于处理范围,选择默认。
- 单击运行。
由于工具在完整影像数据集上运行,因此处理时间可能增加,具体取决于您的计算机硬件。
注:
如果您不运行检测棕榈树的模型,可使用已提供的棕榈树数据集。 要将 DetectedPalms 要素类添加到地图,在功能区的地图选项卡上的图层组中,单击添加数据。 浏览至 Kolovai 文件夹和 Provided Results 文件夹,打开 Results 地理数据库,然后双击 DetectedPalms 要素类。
工具完成后,观察结果。 最终结果的颜色可能与提供的图像有所不同。
您将注意到一些棕榈树具有重叠要素。 这意味着许多树木已被多次识别,导致树木总数计数错误。 在更改符号系统以使此问题更加清晰后,您将使用地理处理工具移除这些重叠要素。
- 在内容窗格中,双击 DetectedPalms 图层的符号。
随即显示符号系统窗格。
- 单击属性选项卡。
- 在外观下,设置以下内容:
- 对于颜色,选择无颜色。
- 对于轮廓颜色,选择太阳黄。
- 对于轮廓宽度,输入 1.5。
- 单击应用。
再次观察您的结果,符号系统现已更改。
接下来,您将移除重复的面。
- 保存工程。
优化检测到的要素
确保准确计数棕榈树十分重要。 由于许多树已被多次计数,您将使用非极大值抑制工具来解决此问题。 但是,您必须小心棕榈树的树冠可能重叠。 因此,您将移除明显与同一棵树重复的要素,同时确保不移除具有部分重叠的不同树木。
- 在功能区的命令搜索中,输入非极大值抑制。 选择非极大值抑制。
首先,您将选择模型创建的棕榈树图层。
- 对于输入要素类,选择 DetectedPalms。
注:
如果您已跳过之前的部分,则已提供棕榈树数据集。 要将 DetectedPalms 要素类添加到地图,在功能区的地图选项卡上的图层组中,单击添加数据。 浏览至 Kolovai 文件夹和 Provided Results 文件夹,打开 Results 地理数据库,然后双击 DetectedPalms 要素类。
数据集中的每棵棕榈树都有一个置信度得分,以表示模型对每个棕榈树要素的识别准确度。 您要将此字段输入工具。
- 对于置信度得分字段,选择 Confidence。
每个检测到的要素也已标记为适当的类别。 回想一下,此模型具有一个类别,棕榈树。 这是您使用模型时记录的类别。
- 对于类值字段,选择 Class。
- 对于输出要素类,输入 DetectedPalms_NMS。
最大重叠比决定两个要素之间可以有多少重叠,超出此值将被视为同一要素。 较高的值表示两个要素之间可以存在更多重叠。 置信度较低的要素将被移除。 您要将工具设置为移除重叠部分超过 50% 树木。
- 对于最大重叠比,输入 0.5。
- 单击运行。
新图层将添加到内容窗格中。 与 DetectedPalms 图层具有相同的符号系统。
- 在内容窗格中,关闭 Detected Palms 图层。
您将看到新图层中有较少的树木包含重叠。
您可以根据需要使用不同的最大重叠比值重新运行工具,从而获得最佳结果。
- 从地图中移除 DetectedPalms 图层。
- 在内容窗格中,单击 DetectedPalms_NMS 两次并将其重命名为 Detected Palm Trees。
- 关闭 Detected Palm Trees 图层。
- 保存工程。
您刚刚已训练模型并使用模型检测了棕榈树。 接下来,您将使用栅格函数来估算研究区域中检测到的每棵树的植被健康状况。
注:
重要的是要意识到您的模型结果在最初可能并不完美。 训练和实施深度学习模型是一个需要多次迭代才能提供最佳结果的过程。 通过执行以下操作可以获得更好的结果:
- 增加初始要素样本量
- 确保您的训练样本可准确捕获想要检测的要素
- 确保您的训练样本包含不同大小的要素。
- 调整地理处理工具的参数
- 使用训练深度学习模型工具的高级参数重新训练现有模型。
评估植被健康情况
在上一模块中,您使用深度学习模型从影像中提取了椰子树。 在本模块中,您将使用相同的影像,通过计算植被健康指数来评估植被健康情况。
为评估植被健康情况,您需要计算可视化大气阻抗指数 (VARI),该指数可仅使用可见波长的反射率值间接测量叶面积指数 (LAI) 和植被覆盖度 (VF):
(Rg - Rr) / (Rg + Rr - R(Rg - Rb))
其中,Rr、Rg 和 Rb 分别是红色、绿色和蓝色波段的反射率值(Gitelson 等人于 2002 年提出)。
通常,您将使用可见光和近红外 (NIR) 波长波段来评估植被健康情况,这与归一化差值植被指数 (NDVI) 是一样的。 但是,您从 OpenAerialMap 下载的影像是一个包含三个波段的多波段影像,三个波段均位于可见光电磁光谱内,因此您需要使用 VARI 作为替代。
计算 VARI
VARI 测量需要 OpenAerialMap 影像内三个波段的输入。 要计算 VARI,您需要使用波段算术栅格函数。 栅格函数比地理处理工具要快,因为它们不需要创建新的栅格数据集, 而是在您平移和缩放时对像素执行实时分析。
- 单击功能区上的影像选项卡。 在分析组中,单击栅格函数。
随即显示栅格函数窗格。
- 在栅格函数窗格中,搜索并选择波段算术栅格函数。
- 在波段算术属性函数中,设置以下参数:
- 对于栅格,选择 Imagery 栅格图层。
- 对于方法,选择 VARI。 此函数需要您为公式提供与输入波段对应的波段指数。 波段指数参数下的输入显示为“红绿蓝”,因此您需要按照该顺序提供红、绿、蓝色波段的对应波段指数。 请确保在每个波段之间添加一个空格。
- 对于波段指数,输入 1 2 3。
- 单击新建图层。
VARI 图层将添加到内容窗格,命名为 Band Arithmetic_Imagery。 通过在区域中进行缩放和平移,您可以看到诸如海岸线、道路、建筑物和领域等要素。
- 在内容窗格中,确保已选中 Band Arithmetic_Imagery 图层。
接下来,您将更改栅格在地图上的绘制方式,以使 VARI 符号系统更加清晰。
- 在功能区上,单击栅格图层选项卡。
- 在渲染组中,单击拉伸类型下拉菜单,然后选择标准差。
- 在内容窗格中,将 Band Arithmetic_Imagery 重命名为 VARI。
将 VARI 提取到 Coconut Palms
用一个栅格图层显示 VARI 很有帮助,但不一定可操作。 要判断哪些树木需要关注,您需要了解每棵树的平均 VARI。 要查找每棵树的 VARI 值,您需要提取基础平均 VARI 值,并对其进行符号化,以显示哪些树是健康的,哪些树需要保养。
首先,您需要将面要素转换为点。
- 在功能区上的命令搜索中,输入要素转点。 选择要素转点。
- 在要素转点工具中,输入以下参数:
- 对于输入要素,选择 Detected Palm Trees 图层。
- 对于输出要素类,输入 PalmTree_Points。
- 单击运行。
在每个检测到的面的质心,有一个点要素类。 如果您放大到各种位置,并使用测量工具,您将看到棕榈树的平均半径大约为 3 米。 在下一步中,您将创建一个面图层,其中每个点周围具有 3 米的缓冲区。
注:
可在功能区的地图选项卡的查询组中找到测量工具。
- 在功能区上的命令搜索中,输入成对缓冲。 选择成对缓冲。
- 在成对缓冲工具中,输入以下参数:
- 对于输入要素,选择 PalmTree_Points。
- 对于输出要素类,输入 PalmTreeBuffer。
- 对于距离,输入 3,然后选择米。
- 单击运行。
您有一个面要素类,用于描绘每棵棕榈树树冠的位置和总体形状。
- 在内容窗格中,关闭 VARI 和 PalmTree_Points 图层。
您的地图显示影像中估计的棕榈树树冠位置。
接下来,您将提取每个面的平均 VARI 值。 以表格显示分区统计工具一次检查您创建的每个面,找到该面内的所有 VARI 像素并计算面的平均 VARI 值。
- 在功能区上的命令搜索中,输入以表格显示分区统计。 选择以表格显示分区统计。
- 在以表格显示分区统计工具中,输入以下参数:
- 对于输入栅格或要素区域数据,选择 PalmTreeBuffer。
- 对于区域字段,选择 ORIG_FID。
- 对于输入值栅格,选择 VARI。
- 对于输出表,输入 MeanVARI_per_Palm。
- 确保在计算中忽略 NoData 处于选中状态。
- 对于统计类型,选择平均值。
将区域字段设置为 ORIG_FID 可以确保您单独获取每棵树的统计数据。 此属性是来自原始 DetectPalms 图层的唯一 ID。
- 单击运行。
输出表将添加到内容窗格的底部。 如果您将其打开,可以看到原始 FID 值和一个名为 MEAN 的包含平均 VARI 值的列。 您可以将此表连接到 PalmTreeBuffer 图层,从而得到一个包含每棵检测到的棕榈树的平均 VARI 的要素类。
- 在功能区上的命令搜索中,输入连接字段。 选择连接字段。
- 在连接字段工具中,输入以下参数:
- 对于输入表,选择 PalmTreeBuffer。
- 对于输入连接字段,选择 ORIG_FID。
- 对于连接表,选择 MeanVARI_per_Palm。
- 对于连接表字段,选择 ORIG_FID。
- 对于传输字段,选择 MEAN。
- 单击运行。
PalmTreeBuffer 图层现在已添加了一个名为 MEAN 的字段。 您可以对图层进行重命名和符号化,从而更好地理解数据。
- 在内容窗格中,将 PalmTreeBuffer 重命名为 Palm Trees VARI。
- 在内容窗格中,确认选中 Palm Trees VARI。 在功能区要素图层选项卡的绘图组中,单击符号系统。
随即显示符号系统窗格。
- 对于主符号系统,选择分级色彩。
- 对于字段,选择 MEAN。
- 如有必要,可在方法中选择自然间断点分级法 (Jenks),并将类设置为 4。
- 对于配色方案,单击下拉菜单并选中显示所有和显示名称。 滚动并选择红-黄-绿(4 类)配色方案。
- 在类别下,单击每个标注,并按照从上到下的顺序将这些类依次重命名为:Needs Inspection、Declining Health、Moderate 和 Healthy。
现在,地图中的要素类显示了影像中每棵棕榈树的位置和健康情况。
- 保存工程。
可选:分配外业任务并监控工程进度
使用 ArcGIS Pro 进行要素提取和影像分析最大的一点优势在于它可以和整个 ArcGIS 平台集成在一起。 在上一教程中,您使用了 ArcGIS Pro 中的深度学习工具从影像中识别了椰子树。 棕榈树可以存储为要素类中的要素,可用于 GIS。 要扩展工作流,您可以将结果发布到云、配置 web 应用程序模板以获得质量保证、向外业中的工作人员分配树木检查任务和使用仪表盘监控工程进度。
发布到 ArcGIS Online
要使用可配置应用程序处理数据,您需要在 ArcGIS Online 或 ArcGIS Enterprise 中将棕榈树发布为要素服务。 在 ArcGIS Pro 中,右键单击内容窗格中的 PalmTreesVARI 图层,并选择共享,然后选择共享为 Web 图层。 将发布到您的 ArcGIS Online 帐户。
使用应用程序模板检查深度学习精度
深度学习工具所提供的结果精度与训练样本的精度和经过训练的模型的质量成正比。 换言之,结果并非总是完美的。 您可以通过检查存储在深度学习结果中的置信度得分低于给定值的树木,来评估模型结果的质量。 无需使用 ArcGIS Pro 中的属性过滤器缩放到每个记录,Image Visit 可配置 web 应用程序允许您快速检查 web 应用程序中结果的精度。
使用 ArcGIS Workforce 执行外业验证
ArcGIS Workforce 是一款移动应用程序解决方案,可借助要素位置协调外业工作人员。 您可以使用 Workforce 应用程序将任务分配给组织中的成员,这样,可以将 VARI 评分列为“需要检查”的所有树木分配给某个外业工作人员,以便他们进行检查并标记建议的处理方式。
使用 ArcGIS Dashboards 监控工程进度
最后,您可以使用 ArcGIS Dashboards 监控您的 ArcGIS Workforce 工程中所分派任务的进度。ArcGIS Dashboards 是一款可配置 Web 应用程序,可针对人员、服务和任务的实时操作视图提供可视化和分析。
在本教程中,您获取了开源无人机影像并创建了影像中棕榈树的训练样本。 这些影像片将提供给数据科学家,他们将通过经过训练的深度学习模型来提取影像中的 11,000 多棵棕榈树。
您了解了深度学习和影像分析以及 ArcGIS 系统中的可配置应用程序。 如果您拥有深度学习模型的影像和相关知识,即可将此工作流用于任意数量的任务。 例如,您可以使用这些工具评估自然灾害带来的结构损坏,计算城区中车辆的数量或查找地质危险区域附近的结构。
您可以在教程库中找到更多教程。