专栏名称: GIS前沿
分享测绘地信资讯,交流行业软件技巧。
目录
相关文章推荐
生态梦网  ·  相互转告!生态城医院又一全新门诊正式开诊啦 ·  12 小时前  
生态梦网  ·  央美老师亲自辅导!这家艺术工作室2025年来 ... ·  12 小时前  
生态梦网  ·  赶快收藏!生态城公交线路全攻略 ·  昨天  
生态梦网  ·  5项签约!滨海新区在日本东京有大动作 ·  3 天前  
51好读  ›  专栏  ›  GIS前沿

ArcGIS Pro中通过深度学习进行建筑矢量提前(附练习数据下载)

GIS前沿  · 公众号  ·  · 2024-03-18 10:25

正文

在本教程中,任务是生成多个社区的建筑物覆盖区图层,以支持城市规划活动。使用深度学习在 ArcGIS Pro 中提取航空影像中的建筑物覆盖区。选择由 ArcGIS Living Atlas 提供的预训练模型,并使用 迁移学习方法 微调模型针对西雅图市影像的性能。


设置工程

首先,您将下载一个包含本教程所有数据的工程,并在 ArcGIS Pro 中将其打开。然后,您要将影像添加到工程文件夹。

1.下载 Seattle_Building_Detection.zip 文件并在计算机上找到下载的文件。文末有练习数据下载链接。 文末有数据下载链接

注:

大多数 Web 浏览器默认将文件下载到计算机的 Downloads 文件夹中。

2.右键单击 Seattle_Building_Detection.zip 文件,然后将其提取到计算机上的某个位置(例如 C: 盘上的某个文件夹)。

3.打开提取的 Seattle_Building_Detection 文件夹,然后双击 Seattle_Building_Detection.aprx 以在 ArcGIS Pro 中打开工程。


4.如果出现提示,请登录到您的 ArcGIS 组织账户或使用授权用户账户登录 ArcGIS Enterprise。

  1. 注:

    如果您没有 ArcGIS Pro 的访问权限或者 ArcGIS 组织账户,请参阅软件访问权限选项。

工程随即打开。


地图仅包含默认地形底图。在此工作流中,您将使用航空影像检测建筑物。现在,您要将该影像添加到地图。

5.单击功能区上的 视图 选项卡。在 窗口 组中,单击 目录窗格


随即显示 目录 窗格。

6.在 目录 窗格中,依次展开 文件夹 Seattle_Building_Detection Imagery_data

7.右键单击 Seattle_imagery.jp2 ,然后选择 添加到当前地图


8.如果系统提示您计算统计数据,请单击

对影像执行某些任务需要统计数据,例如使用拉伸渲染图像。影像将显示在地图上。该影像表示西雅图区域。


注:

此航空影像来自美国国家农业影像计划 (NAIP) 网站。覆盖整个美国区域的 NAIP 影像可通过 USGS Earth Explorer 网站下载。

9.进行放大和平移以检查影像。可以观察到影像中有许多建筑物。

选择一个预训练模型并进行检查

您希望使用深度学习提取航空影像中的建筑物。如果您还没有可用的深度学习模型,则需要先从头开始训练一个模型,为其提供大量示例以向模型展示什么是建筑物。高性能模型可能需要接触成千上万个示例。作为替代方法,您可以使用已训练的模型。您将检索一个这样的模型,并了解其规范。

注:

在 ArcGIS Pro 中使用深度学习工具需要在计算机上安装正确的深度学习库。如果您未安装这些文件,请保存工程,关闭 ArcGIS Pro,然后按照在 ArcGIS Pro 中为深度学习做好准备中提供的步骤说明操作。在这些说明中,您还可以了解如何检查您的计算机硬件和软件能否运行深度学习工作流,以及获取其他有用的提示。完成后,您可以重新打开工程并继续本教程。

1.转至 ArcGIS Living Atlas of the World 网站。

2.在搜索框中,输入 Pretrained model ,然后按 Enter 键。


3.浏览结果列表以查看可用的 50 多个预训练模型。


4.在搜索框中,输入 Building Footprint Extraction ,然后按 Enter 键。

结果列表包含用于世界上不同区域的预训练深度学习模型。由于您的感兴趣区域位于美国,所以您将选择针对该区域训练的模型。



5.在结果列表中,单击 Building Footprint Extraction – USA


模型的描述页面随即显示。其中包含大量有关模型的重要信息。最需要了解的是模型预期的输入类型。如果您的输入数据与模型训练数据的类型不够相似,则模型会表现不佳。

6.花费一些时间来阅读该页面的内容。尤其需要查看以下示例图片中显示的部分:


您了解了模型的一些基本资料:

该模型似乎非常适合您的工程,因此您将下载模型。

  • 输入 - 模型预期使用 8 位 3 波段高分辨率 (10-40 cm) 影像作为输入。要了解您的数据是否符合这些规范,您需要进一步调查数据。您将在本教程中进一步执行此操作。

  • 输出 - 模型将生成一个包含建筑物覆盖区的要素类。获取建筑物覆盖区面作为输出正是您需要的。

  • 适用地理位置 - 此模型应适用于美国。这一点很完美,因为您的感兴趣区域位于美国。

  • 模型架构 - 该模型使用 MaskRCNN 模型架构。您应记录此信息,因为在工作流的后续部分会需要它。


  • 7.在 概述 下,单击 下载



  • 片刻之后,下载将完成。

    8.在计算机上找到已下载的文件 usa_building_footprints.dlpk

    提示:

    大多数 Web 浏览器默认将文件下载到计算机的 Downloads 文件夹中。

    9.在 Seattle_Building_Detection 文件夹中创建一个名为 Pretrained_model 的文件夹。


    10.将 usa_building_footprints.dlpk 模型文件从下载位置移动到 Pretrained_model 文件夹。

    检查影像属性

    现在,您将进行研究以了解您的数据与理想的 8 位 3 波段高分辨率 (10-40 cm) 影像输入的匹配程度。

    1.在 ArcGIS Pro 中,返回到 Seattle_Building_Detection 工程。

    2.在 内容 窗格中,右键单击 Seattle_imagery.jp2 ,然后选择 属性


    3.在 图层属性 窗口中,单击 并展开 栅格信息


    4.查找 波段数 字段。


    其值为 4 。NAIP 项目采集由红、绿、蓝和近红外四个光谱波段组成的多光谱影像。近红外波段通常用于可视化植被健康。而模型预期为三个波段(红、绿和蓝)。您需要修复此差异。

    5.查找 像元大小 X 像元大小 Y 字段。


    两个字段的值均为 1。这意味着影像中的每个像元(或像素)的测量值为 1 米乘 1 米。此 NAIP 影像确实采用 1 米的分辨率捕获。该分辨率低于模型建议的 10-40 cm 分辨率。您还需要修复此问题。

    6.查找 像素深度 字段。


    其值为 8 位 ,即与模型要求的 8 位 相匹配。

    7.单击 确定 关闭 图层属性 窗口。

    您将学习另一种可视化波段数的方式。

    8.在 内容 窗格中,右键单击 Seattle_imagery.jp2 ,然后选择 符号系统


    9.在 符号系统 窗格中,对于 红色 ,单击 Band_1 以展开下拉列表。


    其中列出了四个波段。当查看多光谱影像时,在给定时间只能显示三个波段,通过红色、绿色和蓝色通道将所选的三个波段组合成 RGB 合成。但是,您可以看到影像中显示四个波段,且它们可以用于不同的分析目的。

    10.关闭 符号系统 窗格。


    您发现您的影像与预训练模型的预期之间有两个条件不匹配:波段数和分辨率。在此工作流的后续部分,您将了解如何修复这两个问题。

    选择相关的影像波段

    现在,您将修复波段不匹配问题。您的影像具有四个光谱波段:

    • 波段 1 - 红

    • 波段 2 - 绿

    • 波段 3 - 蓝

    • 波段 4 - 近红外

    而模型预期采用三波段输入(红、绿、蓝)。要修复该问题,您需要生成一个仅包含 NAIP 影像的前三个波段的新图层,以便更符合模型的预期。此步骤十分重要,如果跳过此步骤,模型可能表现不佳。

    注:

    了解您的影像的准确波段顺序至关重要。例如,一些其他类型影像的波段顺序可能有所不同:波段 1 - 蓝、波段 2 - 绿、波段 3 - 红。您可以在影像的属性或文档中查找该信息。

    您将使用栅格函数生成新的三波段图层。

    1.在功能区 影像 选项卡的 分析 组中,单击 栅格函数 按钮。


    2.在 栅格函数 窗格的搜索框中,输入 提取波段 。在 数据管理 下,单击 提取波段


    3.设置以下 提取波段 参数值:

    • 对于 栅格 ,选择 Seattle_imagery.jp2

    • 对于 组合 ,验证值是否为 1 2 3 ,参照波段 1(红)、波段 2(绿)和波段 3(蓝)。

    • 对于 缺失波段操作 ,选择 失败


  • 缺失波段操作 指定列出的其中一个波段不可用时将执行的操作。 失败 表示栅格函数将终止且运行失败。您选择此选项的原因是,要成功完成本教程,三个波段都必须存在。


  • 4.单击 新建图层



    名为 Extract Bands_Seattle_imagery.jp2 的新图层将显示在 内容 窗格中。通过栅格函数创建的图层将动态计算,不会保存在磁盘上。在当前情况下,您希望将生成的图层作为 TIFF 文件保留在计算机上。您将使用 导出栅格 来执行此操作。

    5.右键单击 Extract Bands_Seattle_imagery.jp2 ,然后选择 数据 导出栅格


    6.在 输出栅格 窗格中,对于 输出栅格数据集 ,单击 浏览 按钮。


    7.在 输出位置 窗口中,浏览至 文件夹 > Seattle Building Detection > Imagery Data ,对于 名称 ,输入 Seattle_RGB.tif ,然后单击 保存


    8.在 输出位置 窗口中,接受所有其他默认值,然后单击 导出


    新的 Seattle_RGB.tif 图层将显示在 内容 窗格中。

    9.关闭 导出栅格 窗格。

    现在,您将验证波段数。

    10.在 内容 窗格中,右键单击 Seattle_RGB.tif ,然后选择 属性

    11.在 图层属性 窗口中,单击 并展开 栅格信息

    12.查找 波段数 字段。



    字段值为 3 ,确定图层现在包含三个波段,符合预训练模型的预期。

    13.关闭 图层属性 窗口。

    现在,您将移除在工作流的其余部分不再需要的影像图层。

    14.在 内容 窗格中,右键单击 Extract Bands_Seattle_imagery.jp2 ,然后选择 移除

    15.同样,移除 Seattle_imagery.jp2

    您将保存工程。

    16.在 快速访问工具栏 上单击 保存 按钮。


    现在,您已拥有三波段影像图层,这符合预训练模型的预期。

    了解迁移学习的需求

    现在,您必须修复分辨率不匹配问题,模型预期使用较高的分辨率 (10-40 cm),而 NAIP 影像采用较低的 1 米分辨率捕获。如果将 Building Footprint Extraction – USA 预训练模型直接应用于 Seattle_RGB.tif 图层,您会得到质量较差的结果,如以下示例图像所示:

    在该图像中,检测到的建筑物显示为粉色。由于分辨率不匹配,该模型可以检测到较大的建筑物,但很难识别任何较小的建筑物。

    注:

    要查看直接成功使用 Building Footprint Extraction – USA 预训练模型的工作流示例,请参阅在 ArcGIS Pro 中识别面临山体滑坡风险的基础设施教程。

    使用迁移学习是一种可修复此问题的方法。 迁移学习是机器学习中的一种技术,从任务中学到的知识将被重用以提高相关任务的性能。在本例中,原来的任务是在 10-40 cm 分辨率的影像中检测建筑物,新任务是在 1 米分辨率的影像中检测建筑物。

    注:

    迁移学习也可用于影像分辨率不匹配以外的其他原因。例如,从已训练的用于检测特定国家建筑物的模型入手,您可以使用迁移学习使模型学习检测其他国家的建筑物。

    迁移学习的一个主要优点是,与从头开始训练模型相比,它所需要的训练数据量较小,所需的训练时间较短。

    注:

    如果您的影像和预期输入之间的差异过大,则迁移学习的效果也会受限。例如,如果您拥有 30 米分辨率的卫星影像,在其中几乎看不到较小的建筑物,那么通过微调模型使其在该影像上得到较好的效果是不现实的。新任务与原始任务的差异越大,迁移学习的效果越不明显。

    在本教程的其余部分中,您将学习如何执行迁移学习以微调预训练模型,从而提高其针对您的数据的性能。


    准备用于迁移学习的训练样本

    要执行迁移学习,首先需要生成训练示例,以向模型展示数据中建筑物的外观。如果您从头开始训练模型,可能需要成千上万个建筑物样本。幸好,借助迁移学习,您仅需要几百个样本。在教程的这一部分中,您将学习如何生成训练样本。首先,您将创建一个用于存储样本的空要素类。然后,您将绘制表示建筑物的面并将其添加到要素类。最后,您需将要素类和影像导出至用于迁移学习的训练片。

    创建要素类

    首先,您将创建要素类。

    1.在功能区 视图 选项卡的 窗口 组中,单击 地理处理


    将出现
    地理处理 窗格。

    2.在 地理处理 窗格的搜索框内,输入 创建要素类 。在结果列表中,单击 创建要素类 工具以将其打开。

    3.设置以下参数值:

    • 对于 要素类名称 ,输入 Training_examples

    • 对于 几何类型 ,验证是否已选择

    • 对于 坐标系 ,选择 Seattle_RGB.tif



    4.接受所有其他默认值,然后单击运行。

    内容 窗格中,将显示新的 Training_examples 要素类。当前仪表盘为空。

    绘制训练示例

    现在,您将描绘建筑物覆盖区,这些覆盖区将在 Training_examples 图层保存为面要素。

    1.在功能区 编辑 选项卡的 要素 组中,单击 创建

    创建要素 窗格随即显示。

    2.在 创建要素 窗格中,单击 Training_examples ,然后单击 按钮。

    3.


    构造工具栏随即显示在地图上。默认情况下,设置为 线 模式,该模式用于绘制直线。


    4.在构造工具栏上,单击 直角线 按钮。


    5.直角线 模式将所有直线约束为直线,将所有角度约束为直角。这在绘制建筑物覆盖区时很有帮助,因为大多数建筑物均为 90 度直角。在绘制期间,您可以根据需要在此模式和 线 模式之间切换。

    6.在功能区上,单击 地图 选项卡,在 导航 组中单击 书签 ,然后选择 Labeling extent


    您将在此区域中开始绘制用于描绘建筑物的面。此过程也称为标注,因为您在告知模型感兴趣对象在影像中的位置。


    注:

    决定要在影像中的哪个位置创建训练示例时,请选择一个具有该地理位置典型建筑物的区域。

    7.在地图上,选择一个特定建筑物,然后单击其中一个角(或折点)。

    8.顺时针单击它的每个角。

    9.在最后一个角的位置双击以完成面。


    注:

    要素类的颜色(此处为浅绿色)是随机指定的,在您的工程中,颜色可能有所不同。

    10.按照同样的方式,在同一区域再创建两个或三个面。

    提示:

    如果您不喜欢创建的面,可以将其删除。在功能区 编辑 选项卡的 选择 组中,单击 选择 。在地图上,单击面。在 编辑 选项卡的 要素 组中,单击 删除


    您要将面要素保存到要素类。

    11.在构造工具栏上,单击 完成 按钮。


    12.在功能区 编辑 选项卡的 管理编辑内容 组中,单击 保存


    13.关闭 创建要素 窗格。

    在真实项目中,您可能需要再描绘 200 或 300 个建筑物。但是,为了使本教程尽可能简洁,您将使用我们为您准备的一组训练示例(约 200 个)。

    14.在 地理处理 窗格的底部,单击 目录 以返回至改窗格。


    15.在 目录 窗格中,展开 数据库 Output_provided.gdb

    16.右键单击 Training_examples_larger_set ,然后选择 添加至当前地图


    该训练样本集随即显示。


    可以观察到已选择一个矩形范围,并且已为该范围内的每个建筑物创建面。您将移除 Training_examples 图层,因为不再需要该图层。

    17.在 内容 窗格中,右键单击 Training_examples 图层,然后选择 移除


    18.按 Ctrl+S 以保存工程。

    现在,您拥有一个包含超过 200 个训练样本的图层。

    添加类字段

    现在,您已描绘建筑物覆盖区面,您必须将其全部指定为属于一个特定的类。在某些工作流中,标注的对象可能属于不同的类(或类别),例如建筑物覆盖区、树木或车辆。在本教程中,仅有一个类:建筑物覆盖区。您将向 Training_examples_larger_set 图层添加一个 Class 字段并填充字段。

    1.在 内容 窗格中,右键单击 Training_examples_larger_set 图层并选择 属性表


    图层的属性表随即出现,其中显示各个面的相关信息。

    2.在 Training_examples_larger_set 属性表中,单击 添加


    3.在 字段:Training_examples_larger_set 选项卡上,在表的最后一行输入以下信息。

    • 对于 字段名称 ,输入 Class

    • 对于 数据类型 ,单击 长整型 ,然后将其更改为 短整型

    短整型 数据类型存储整数值。



    4. 字段 卡的 更改 组中 ,单击 保存


    5.关闭 字段:Training_examples_larger_set 窗口。

    Class 字段已创建完成,您将使用数值填充此字段。您随机决定使用数值 1 表示建筑物覆盖区类。

    6.在 Training_examples_larger_set 属性表中,单击 计算

    7.在 计算字段 窗口中,设置以下参数值:


    • 对于 字段名称 ,选择 Class

    • 对于 Class = ,输入 1

    8.接受所有其他默认值,然后单击 确定

    9.在 Class 列,验证值 1 是否已分配至每个面要素。

    通过 Class 字段,模型将了解所有训练样本均为同一种对象:由 1 表示的建筑物覆盖区。

    10.关闭 Training_examples_larger_set 属性表。

    了解有关训练片和裁剪影像的详细信息

    深度学习模型不能在一次运行中针对大型区域执行训练,它只能处理较小的裁切影像,即影像片。影像片由影像切片和相应的标签切片组成,标签切片显示对象(在本例中为建筑物)的位置。这些影像片将在迁移学习训练过程中传入模型。

    图中显示了训练片,及其影像切片(左)和相应的标注切片(右)。


    您将使用 Seattle_RGB.tif 影像和 Training_examples 图层来生成训练片。有一点十分重要,即避免生成包含未标注建筑物的影像片。这种影像片的存在等同于向模型展示建筑物,同时声明它们不是建筑物。这会使模型困惑,进而降低其性能。为防止此情况,您将创建一个影像片,该影像片限于训练样本所在的范围。

    示例显示一个影像片,其中的一些建筑物未被标注。必须避免使用此类影像片。


    1.在 目录 窗格的底部,单击 地理处理


    2.在 地理处理 窗格中,单击 后退 按钮。


    3.搜索并打开 裁剪栅格 工具。


    4.设置以下 裁剪栅格 参数值:


    • 对于 输入栅格 ,选择 Seattle_RGB.tif

    • 对于 输出范围 ,选择 Training_examples_larger_set

    • 对于 输出栅格数据集 ,单击 浏览 按钮。在 输出栅格数据集 窗口中,浏览至 文件夹 > Seattle_Building_Detection > Imagery_data ,对于 名称 ,输入 Seattle_RGB_clip.tif ,然后单击 保存



    5.单击 运行

    内容 窗格中,将显示 Seattle_RGB_clip.tif 图层。

    6.在 内容 窗格中,单击 Seattle_RGB.tif 旁边的框以关闭该图层。


    在地图上,您现在仅会看到裁剪的图层和训练样本。影像中显示的所有建筑物都有对应的建筑物面。


    生成训练片

    现在,您将生成训练片。首先,您将创建一个文件夹,以存储与迁移学习过程相关的数据元素。

    1.单击 目录 选项卡以切换窗格。


    2.如有必要,展开 文件夹 ,然后展开 Seattle_Building_Detection


    3.右键单击 Seattle_Building_Detection ,指向 新建 ,然后选择 文件夹



    4.对于 新文件夹名称 ,输入 Transfer_learning_data 然后按 Enter 键。



    5.单击 地理处理 选项卡以切换窗格。


    6.在 地理处理 窗格中,单击 后退 按钮。


    7.搜索并打开 导出训练数据进行深度学习 工具。



    8.为 导出训练数据进行深度学习 工具设置以下参数值:


    • 对于 输入栅格 ,选择 Seattle_RGB_clip.tif

    • 对于 输出文件夹 ,单击 浏览 按钮。在 输出文件夹 窗口中,浏览至 文件夹 > Seattle_Building_Detection > Transfer_learning_data 。对于 名称 ,输入 Training_chips,然后单击 确定

    • 对于 输入要素类 ,选择 Training_examples_larger_set


    从裁剪影像生成的影像片和训练数据将存储在名为 Training_chips 的文件夹中。



    9.对于 类值字段 ,选择 Class


    根据您之前的定义, Class 字段指定了哪些对象属于哪些标注(在本例中,所有对象均属于类 1 ,表示建筑物覆盖区)。


    10.对于 切片大小 X 切片大小 Y ,验证值是否为 256


    这些参数用于确定影像片在 X 和 Y 方向的大小(以像素为单位)。在本例中,默认值 256 是不错的选择。

    注:

    您希望使您的训练片与用于训练原始模型的影像片尽可能地相似。原始模型使用 512 x 512 的影像片训练,这些影像片使用 10-40 cm 分辨率的数据生成。您的 NAIP 影像的分辨率为 1 米。该分辨率下 256 x 256 像素的影像片覆盖的面积大致等同于 40cm 分辨率下 512 x 512 的影像片覆盖的面积。因此,选择 256 x 256 的影像片大小很合适。

    要了解预训练模型中最初使用的影像片大小,其中一种方法是查看 dlpk 包。在 Microsoft File Explorer 中,在单独的文件夹中创建一个 usa_building_footprints.dlpk 文件的副本,然后将其扩展名从 .dlpk 更改为 .zip 。右键单击 .zip 文件并提取文件。在提取的文件中,找到 usa_building_footprints.emd 并将其扩展名改为 .txt 。在文本编辑器中打开 usa_building_footprints.txt ,然后查找行 "ImageHeight" "ImageWidth"


    11.对于 步幅 X 步幅 Y ,输入 64。


    此参数控制创建下一个影像片时在 X 和 Y 方向上移动的距离(以像素为单位)。此值取决于您拥有的训练数据量。可以将此值设置得更小,从而尽可能多地生成影像片。您可以使用此值进行试验,但在本教程中,已发现值 64 的运行效果较好。

    12.对于 元数据格式 ,选择 RCNN 掩膜


    不同的深度学习模型类型需要影像片采用不同的元数据格式。在工作流前面的部分,您注意到预训练模型基于 MaskRCNN 架构。在此,您必须选择该模型对应的值。

    提示:

    要了解有关任意工具参数的详细信息,请指向该参数然后单击其旁边的信息按钮。


    13.接受所有默认值,然后单击 运行

    片刻之后,该过程将完成。

    检查训练片

    您将检查其中一些生成的影像片。

    1.在 目录 窗格中,依次展开 文件夹 Seattle_Building_Detection Transfer_learning_data Training_chips

    2.影像切片位于 images 文件夹中,而标注切片位于 labels 文件夹中。

    3.展开 images 文件夹,右键单击第一个影像 000000000000.tif ,然后选择 添加到当前地图 。如果系统提示您计算统计数据,单击


    4.在 内容 窗格中,关闭 Training_examples_larger_set Seattle_RGB_clip.tif 以便更好地查看切片。


    5.在 目录 窗格中,折叠 images 文件夹,展开 labels 1 文件夹,然后向地图添加第一个标注切片 000000000000.tif 。如果系统提示您计算统计数据,单击

    注:

    影像和标注对可以通过其一致的名称来识别。

    6.在 内容 窗格中,单击以打开和关闭标注切片,从而显示其下方的影像切片。

    7.单击其中一些标注切片像素,以在信息弹出窗口中查看其值。

    注:

    在标注切片上,不表示建筑物的像素的值为 0 。所有表示建筑物的像素的值均大于 0 。特殊值来自原始建筑物面的对象 ID,例如之前的示例图上的 28

    8.可以选择性地向地图添加更多影像和标注切片对,并进行检查。

    9.完成后,从 内容 窗格中移除所有切片,然后再次打开 Training_examples_larger_set Seattle_RGB.tif 图层。

    10.在 目录 窗格中,折叠 Training_chips 文件夹。

    11.按 Ctrl+S 以保存您的工程。

    您已生成训练片,现在即可开始迁移学习过程。


    执行迁移学习并提取建筑物

    现在,您将执行迁移学习。您将使用生成的影像片进一步训练 usa_building_footprints.dlpk 预训练模型。然后,会将微调模型用于西雅图的影像并观察到现在的模型性能已显著提高。

    微调模型

    首先,您将使用 训练深度学习模型 工具对模型进行微调。

    1.切换到 地理处理 窗格,然后单击 返回 按钮。

    2.在 地理处理 窗格中,搜索并打开 训练深度学习模型 工具。


    3.为 训练深度学习模型 工具设置以下参数值:

    • 对于 输入训练数据 ,单击 浏览 按钮。浏览至 文件夹 > Seattle_Building_Detection > Transfer_learning_data 。选择 Training_chips ,然后单击 确定

    • 对于 输出模型 ,单击 浏览 按钮。浏览至 文件夹 > Seattle_Building_Detection > Imagery_data > Transfer_learning_data 。输入 Seattle_1m_Building_Footprints_model ,然后单击 确定


    Seattle_1m_Building_Footprints_model
    将是通过迁移学习过程生成的新微调模型的名称。

    提示:

    如果将每个模型及其对应的训练片保存在同一文件夹中,则更容易记住在哪些数据上训练了哪些模型。


    4.展 高级 部分 设置 以下

    • 对于 预训练模型 ,单击 浏览 按钮。浏览至用于保存 usa_building_footprints.dlpk 预训练模型的文件夹,选择该文件夹,然后单击 确定

    • 验证是否已选中 冻结模型 复选框。



    冻结模型 选项可确保只有模型的最终图层会受到新训练数据的影响,而其核心图层保持不变。在许多迁移学习案例中都需要选择此设置,因为它可以避免模型遗忘其核心知识的风险。

    注:

    如果您在 输入训练数据 旁边看到错误指示符,则表示您安装的深度学习库不是正确的版本。按 Ctrl+S 以保存您的工程,关闭 ArcGIS Pro 并按照说明安装适用于 ArcGIS 的深度学习框架。如果您之前安装过深度学习库,请按照 从先前版本进行升级 下列出的说明操作。安装完成后,您可以重新打开 ArcGIS Pro 工程,然后继续本教程。


    5.展开 模型参数 部分,并验证 批量大小 是否设置为 4

    1. 提示:

      要了解有关任意工具参数的详细信息,请单击参数旁边的信息按钮。

    6 .在 地理处理 窗格中, 单击 环境 选项卡。 对于 处理器类型 ,选 GPU



    1. 注:

      本教程假定您的计算机具有 GPU 功能。如果计算机没有 GPU,您仍可使用 CPU 执行该过程,但用于处理数据的时间可能更长。如果情况为后者,请选择 CPU 选项。

    7.接受所有默认值,然后单击 运行







    请到「今天看啥」查看全文