Skip To Content

在 ArcGIS Notebooks 中使用深度学习模型

深度学习是一种快速发展的机器学习数据分析方法,它使用神经网络来模拟人脑的过程。 当与 GIS 集成时,它可以提供更好的数据处理和更准确的数据分析。

机器学习算法通常面临三大挑战:分析大量数据、计算资源不足以及算法的效率和准确性。 通过集成 ArcGIS Notebook Server 和深度学习算法,可以更好地应对这些挑战。

ArcGIS Notebook Server 深度学习

ArcGIS Notebook Server 中可用的影像数据深度学习模型分为四个主要类别:

  • 对象分类 - 用于确定要素的类别。 例如,它可用于确定建筑物在自然灾害后是否受损。
  • 对象检测 - 在边界框内的图像中查找对象的定位过程。 例如,对象检测可用于检测图像中的游泳池。
  • 像素分类 - 用于将类别分配给图像中的像素。 例如,像素分类可用于土地覆被分类。
  • 实例分类 - 用于集成对象检测和像素分类。 实例分类可用于检测对象并进一步对其进行分类。 例如,像素分类可用于损失检测,不仅可以识别损失,还可以进一步对损失严重程度进行分类。
注:

ArcGIS Notebook Server 还支持专用于表格、点云和其他结构化数据集的模型。

预训练模型与训练模型

您可以在 ArcGIS 中使用两种深度学习模型方法:

  • 预训练模型 - 用于从数据中推断出初步见解,而无需大量训练数据或较长的模型训练时间。 虽然速度更快,但使用预训练模型时准确性会有所降低。 可以重新训练这些模型以提高其准确性。
    • 示例:通过 UNet 分类器使用稀疏训练数据进行土地覆被分类,并将其用作预训练模型
      unet = UnetClassifier(data, backbone='resnet34', ignore_classes=[0])
      unet.show_results()
      unet.per_class_metrics()
  • 训练深度学习模型 - 通过在具有足够资源和训练时间的大型数据集上训练深度学习模型,可以开发出更准确的模型。
    • 示例:通过 UNet 分类器使用稀疏训练数据进行土地覆被分类,并重新训练模型
      unet = UnetClassifier(data, backbone='resnet34', ignore_classes=[0])
      unet.lr_find()
      unet.fit(10, lr)                   #10 iterations of model fitting
      unet.show_results()
      unet.per_class_metrics()
预训练与训练深度学习模型

ArcGIS Notebooks 中运行深度学习模型

要在 ArcGIS Notebooks 中使用深度学习模型,请按照以下步骤操作:

注:

深度学习的运算量非常大,建议您使用强大的 GPU 来处理大型数据集。

  1. 在可下载数据存档文件的 04_gis_analysts_data_scientists 组中选择一个深度学习模型
  2. 下载您将使用的模型的 .ipynb 文件。
  3. 单击门户的内容页面。
  4. 单击新建项目并上传您下载的模型的 .ipynb 文件。
  5. 打开由 .ipynb 模型文件创建的笔记本。
  6. 添加要进行分析的数据。
  7. 运行笔记本的以下部分:

    1. 准备输入数据
    2. 可视化训练数据
    3. 加载模型架构
    4. 训练模型
      注:

      如果您只希望使用预训练模型,则可以跳过此部分。

    5. 保存模型
    6. 推断