ArcGIS深度学习处理流程(2)

0
分享 2020-09-18


ArcGIS 深度学习处理流程(2)

[/*]
[*]5、结果后处理能力[/*]
[/list] [/*]
[/list]

ArcGIS Pro 中的深度学习工具可以使用除标准机器学习分类技术以外的更多技术。
使用卷积神经网络或深度学习模型检测对象、对对象进行分类或对图像像素进行分类。集成外部深度学习模型框架,例如 TensorFlow、CNTK、PyTorch 和 Keras。多次使用模型定义文件来检测随时间的变化或检测不同感兴趣区域中的对象。生成面要素类来显示检测到的对象的位置,以供其他分析或工作流使用。利用 GPU 处理以及使用 CPU 进行分布式处理。
关于深度学习与ArcGIS概述,参考:深度学习与ArcGIS概述(1)
可在 ArcGIS Pro 中使用标准训练样本生成工具创建和导出训练样本。深度学习模型可以使用训练深度学习模型工具通过 PyTorch 框架进行训练,或者可以在 ArcGIS Pro 外部使用另一个深度学习框架进行训练。训练模型后,使用 Esri 模型定义文件 (.emd) 运行地理处理工具以检测影像中的要素或对其进行分类。

深度学习与ArcGIS处理流程梳理

第一步是深度学习环境配置
需要在克隆 Python 环境中安装适当的深度学习框架 Python API;否则,在将 Esri 模型定义文件添加到深度学习地理处理工具时,将发生错误。从数据科学家处获取相应的框架信息,并参考框架的文档获取安装帮助。有关示例,请参阅为 ArcGIS 设置深度学习框架。
参考 : ArcGIS深度学习环境配置
第二步:创建并导出训练样本
使用训练样本管理器选择或创建分类方案。
为感兴趣的类类别或类要素创建训练站点样本。保存训练样本文件。
运行导出训练数据进行深度学习地理处理工具,将源影像和训练样本转换为深度学习训练数据。源影像可以是图像服务、镶嵌数据集、栅格数据集或栅格文件夹。该工具的输出为影像片或样本,其中包含用于训练深度学习模型的训练场。工具的其他输出是由数据科学家填充的模板 .emd 文件。
第三步:训练深度学习模型
使用训练深度学习模型工具通过在上一步中生成的影像片训练深度学习模型。
第四步:在 ArcGIS Pro 中运行推理地理处理工具
使用使用深度学习检测对象、使用深度学习 对像素进行分类或使用深度学习对对象进行分类地理处理工具处理影像。如果经过训练的模型整合了自定义 Python 栅格函数及其他变量(如用于微调灵敏度的填充或置信度阈值),则这些变量将显示在地理处理工具的用户输入对话框中。数据类型(如字符串或数字)在 Python 栅格函数中指定。理想情况下,其他推断参数的个数限制应为两个。
Esri 模型定义参数值可以是 Esri 模型定义 JSON 文件 (.emd) 或 JSON 字符串。当在服务器上使用此工具时,JSON 字符串十分有用,因为您可以直接粘贴 JSON 字符串,而无需上传 .emd 文件。
使用深度学习检测对象工具的输出是要素类,用于显示模型检测到的对象,而使用深度学习对像素进行分类工具的输出则是分类栅格。使用深度学习对对象进行分类工具需要要素类和图像作为输入数据集,将生成一个要素类,其中每个要素中的每个对象均以类名称标注。



注:这么强大的工具只需要 Image Analyst 许可后即可使用。


1、标注对象以供深度学习

所有监督深度学习任务取决于标注的数据集,这意味着用户必须运用自己具备的知识来训练神经网络了解其正在识别的内容。神经网络将使用标注的对象来训练可用于对数据进行推断的模型。
图像注记(或标注)对于计算机视觉和学习(也称为深度学习任务)至关重要。要训练优质的深度学习模型,需要大量的标注数据。在获得适当的训练数据后,深度学习系统在要素提取、模式识别和解决复杂问题方面会非常准确。可使用 标注对象以供深度学习窗格快速准确地标注数据。
标注对象以供深度学习按钮位于影像选项卡的影像分类组中的分类工具下拉菜单中。该窗格分为两个部分。窗格顶部用于管理类,窗格底部用于管理样本集合以及将训练数据导出到深度学习框架。
创建类和标注对象
可通过窗格顶部管理对象类并手动创建用于训练深度学习模型的对象。可使用许多可用工具帮助您创建标注对象。
下表列出了所有推断工具共有的一些参数。还有一些参数仅适用于特定工具,例如 CropSizeFixed 和 BlackenAroundFeature 参数,二者仅适用于使用深度学习对对象进行分类工具。

训练样本管理器
在监督图像分类中,您需要训练分类器,以使用训练样本将像素或对象分配到给定的类。类类别由您的分类方案确定,可以使用训练样本管理器窗格生成训练样本。您可以使用训练样本管理器窗格中的工具为方案中的每个类类别创建训练样本,并提供有关样本数量和大小的信息,以帮助您提高分类模型的准确性。
可以在影像选项卡的影像分类组中的分类工具下拉菜单中使用训练样本管理器。您可以在内容窗格中选择要分类的栅格数据集以显示影像选项卡,同时确保您正在使用 2D 地图。如果活动地图是 3D 场景或突出显示的图像不是多波段影像,则分类工具将被禁用。


2、导出训练数据进行深度学习 (Image Analyst)

使用遥感影像将标注的矢量或栅格数据转换为深度学习训练数据集。输出为影像片文件夹和指定格式的元数据文件文件夹。
使用方法
该工具将创建训练数据集以支持第三方深度学习应用程序,如 Google TensorFlow、Keras、PyTorch 或 Microsoft CNTK。



深度学习类训练样本基于包含感兴趣的要素或类的小型子影像,该子影像被称为影像片。
使用现有的分类训练样本数据或 GIS 要素类数据(如建筑物覆盖区图层)生成包含来自源影像的类样本的影像片。影像片通常有 256 个像素行和 256 个像素列,除非训练样本大小更大。每个影像片可以包含一个或多个对象。如果使用标注切片元数据格式,则每个影像片只能有一个对象。
通过指定参考系统参数,可以将训练数据导出到地图空间、影像空间(顶向上)或像素空间(原始影像空间)中,以便将其用于深度学习模型训练。
该工具支持从影像集合中导出训练数据。您可以将影像文件夹添加为输入栅格。如果您的输入栅格为镶嵌数据集或影像服务,则您也可以指定处理模式,以便将镶嵌作为一个输入进行处理或每个栅格项目分别处理。
可以使用地理处理环境设置来调整像元大小和范围。


3、训练深度学习模型 (Image Analyst)

描述
使用导出训练数据进行深度学习工具的输出训练深度学习模型。
使用方法
要设置计算机以在 ArcGIS Pro 中使用深度学习框架,请参阅安装深度学习框架。
该工具将使用 PyTorch 深度学习框架进行训练。必须在您的计算机上安装 PyTorch 才能成功运行此工具。
该工具的输入训练数据必须包括从导出训练数据进行深度学习工具生成的影像和标注文件夹。
有关深度学习的详细信息,请参阅 :ArcGIS Pro 中的深度学习










4、深度学习推理工具



4.1使用深度学习检测对象 (Image Analyst)

用于运行输入栅格上的训练深度学习模型,以生成包含其找到对象的要素类。这些要素可以是所找到对象周围的边界框或面,也可以是对象中心的点。
训练深度学习模型包包含一个 Esri 模型定义 JSON 文件 (.emd)。该文件包含处理每个对象时调用的 Python 栅格函数的路径,以及使用 TensorFlow、PyTorch 或 Keras 等第三方训练软件创建的训练二进制深度学习模型文件的路径。

4.2使用深度学习分类对象 (Image Analyst)

用于运行输入栅格和可选要素类上的训练深度学习模型,以生成要素类或表,其中每个输入对象均分配一个类标注。
训练深度学习模型包包含一个 Esri 模型定义 JSON 文件 (.emd)。该文件包含处理每个对象时调用的 Python 栅格函数的路径,以及使用 PyTorch 或 Keras 等第三方训练软件创建的训练二进制深度学习模型文件的路径。

4.3使用深度学习分类像素 (Image Analyst)

用于运行输入栅格上的训练深度学习模型,以生成分类栅格,其中每个有效像素都被分配了一个类标注。
训练深度学习模型包包含一个 Esri 模型定义 JSON 文件 (.emd)。该文件包含处理每个栅格切片时调用的 Python 栅格函数的路径,以及使用 TensorFlow 或 PyTorch 等第三方训练软件创建的训练二进制深度学习模型文件的路径。


5、结果后处理能力

ArcGIS 深度学习提供了一个完整的空间数据科学平台、强大的空间分析处理能力,包含了大量的工具箱,涉及到地理空间分析的方方面面,面向数据科学家、数据分析师等角色主要用来满足基于空间数据进行数据处理、建模、挖掘与分析、ArcGIS平台管理和运维等方面的工作提供集成化的环境,这里就不一一列举出来了。


其中 ArcGIS Notebook Server 是在数据科学和机器学习的大背景下应势而生的产品,它将Esri的空间分析和数据科学领域的热点技术充分融合,是为GIS专家和数据科学家量身打造的分析利器。平台已经为您准备好,期待您在ArcGIS Notebooks 中开启您的数据科学之旅。




有没有对深度学习心怦怦,心动不如行动吧,come on!!!
走…

文章来源:https://blog.csdn.net/weixin_40625478/article/details/105090437

0 个评论

要回复文章请先登录注册