利用 GeoAI 提取高分辨率土地覆被
创建工程并获取输入数据
首先,您将创建一个 ArcGIS Pro 工程并获取工作流所需的输入数据。
- 打开 ArcGIS Pro。 如果收到系统提示,请使用您的 ArcGIS 帐户登录。
注:
如果您没有 ArcGIS Pro 的访问权限或者 ArcGIS 组织账户,请参阅软件访问权限选项。
- 在新建工程下,选择地图。
- 在新建工程窗口中,设置以下参数:
- 对于名称,键入 Alexandra_Land_Cover。
- 对于位置,单击浏览按钮并选择所需文件夹位置。
- 单击确定。
工程随即打开。 现在,它仅显示默认底图。
您将添加代表南非亚历山德拉镇街区的无人机影像。 该影像的分辨率较高,其中每个像素代表地面上约 2.5 x 2.5 厘米的正方形。 由 South Africa Flying Labs 捕获。 该图层作为图像切片服务存储在 ArcGIS Online 中。
注:
South Africa Flying Labs 是一家非营利组织,该组织在南非制作无人机影像,并致力于为当地社区提供解决该国社会问题所需的知识和技能。
- 单击功能区上的地图选项卡。 在图层组中,单击添加数据按钮。
- 在添加数据窗口中的门户下,单击 ArcGIS Online。 在搜索框中键入 Alexandra_Orthomosaic owner:Esri_Tutorials 并按 Enter 键。 在结果列表中,单击名为 Alexandra_Orthomosaic 的图层,然后单击确定。
切片图像图层随即出现,并且地图将放大至该图层。
注:
此真正射图像图层源自多个无人机图像。 该图层在 Site Scan for ArcGIS 应用程序中生成,并直接从 Site Scan 保存至 ArcGIS Online。
要将本教程中提出的工作流应用于您自己的影像,请参阅教程末尾的将此工作流应用于您自己的影像部分以了解相关提示。
- 放大并在地图周围平移,从而更近距离地查看建筑物位置。
接下来,您将从 ArcGIS Living Atlas 下载High Resolution Land Cover Classification – USA 深度学习包。 此深度学习包是一个预训练模型,已在大型数据集上进行训练,用于精确地对土地覆被要素进行分类。 通过使用此预训练模型,您可以利用模型中嵌入的知识和专业知识来提取研究区域中的不同土地覆被类型。 与自己训练模型相比,这可以节省您的时间和精力。
- 转至 ArcGIS Living Atlas。
- 在搜索框中键入 High Resolution Land Cover Classification – USA 并按 Enter 键。
- 在搜索列表中,单击 High Resolution Land Cover Classification – USA 以转至模型的项目页面。
- 在模型的项目页面上,阅读说明以熟悉该模型。
该模型经过训练,可以使用分辨率为 80 到 100 厘米(或 0.8 到 1 米)的图像,这意味着该模型在输入为类似分辨率的图像时性能最佳。
- 单击下载。
注:
大多数 Web 浏览器默认将文件下载到计算机的 Downloads 文件夹中。
- 将已下载的深度学习包移至您的计算机上可轻松找到的位置。
- 按 Ctrl+S 以保存工程。
使用深度学习分类像素
现在,您将使用使用深度学习分类像素地理处理工具和已下载的预训练模型来生成土地覆被图层。
注:
在 ArcGIS Pro 中使用深度学习工具需要在计算机上安装正确的深度学习库。 如果您未安装这些文件,请保存工程,关闭 ArcGIS Pro,然后按照在 ArcGIS Pro 中为深度学习做好准备说明中所述的步骤进行操作。 在这些说明中,您还可以了解如何检查您的计算机硬件和软件能否运行深度学习工作流,以及获取其他有用的提示。 完成后,您可以重新打开工程并继续本教程。
- 单击功能区上的视图选项卡。 在窗口组中,单击地理处理。
- 在地理处理窗格的搜索框中,输入使用深度学习分类像素。 在结果列表中,单击使用深度学习分类像素将其打开。
- 在使用深度学习分类像素中,设置以下参数:
- 对于输入栅格,选择 Alexandra_Orthomosaic。
- 对于输出栅格数据集,键入 Land_Cover_Raster。
- 对于模型定义,单击浏览按钮。
- 在模型定义窗口中,浏览至已下载的 HighResolutionLandCoverClassification_USA.dlpk 深度学习包。 将其选中并单击确定。
几分钟后,模型参数将自动加载。
- 在参数下找到 batch_size 参数。
无法一次性对整个图像执行深度学习像素分类。 相反,该工具将根据 tile_size 参数值将图像分割为较小的切片。 批量大小为 4 意味着该工具将一次处理四个图像切片。 在运行该工具时,您可能会收到内存不足的错误提示,因为您的电脑没有足够的内存来进行该级别的处理。 在这种情况下,请尝试将 batch_size 值从 4 降至 2,或者甚至降至 1。 如果您拥有一台功能强大的计算机,您也可以增大 batch_size 值以加快处理速度。
现在,您将保留默认值 4,并且还将接受其他参数默认值。 接下来,您将设置工具运行时要使用的像元大小。
- 单击环境选项卡。
- 在栅格分析下,对于像元大小,键入 0.9(即 0.9 米或 90 厘米)。
无人机图像的原始像元(或像素)大小为 2.5 厘米(或 0.025 米)。 此分辨率非常高,会导致需要处理大量像素并且处理时间更长。 此外,较小的像元大小可能过于详细,无法对要素进行精确分类。 正如您之前了解到的,该模型需要像元大小为 80-100 厘米(或 0.8-1 米)的输入影像。 通过将处理像元大小调整为 0.9 米,在将该影像用作深度学习分类的输入之前,将自动按该更大的像元大小对其进行动态重采样。 经过重采样的影像将更加接近模型的预期。 由此将确保更快的流程和更精确的土地覆被分类结果。
注:
为了更好地理解像元大小设置如何影响结果,请参阅利用 Text SAM 进行多分辨率对象检测文章中的“影像像元大小”部分。
- 对于处理器类型,选择 GPU。 对于 GPU ID,选择 0。
注:
对于本教程,建议使用至少具有 4 GB 专用内存的 NVIDIA GPU。 如果您只有 CPU,则该过程仍可运行,但其运行时间将更长。 若为此情况,请选择 CPU 选项。 要了解有关 GPU 以及它们如何用于深度学习过程的更多信息,请参见 ArcGIS Pro 教程为深度学习做好准备中的检查 GPU 可用性一节。
- 接受所有默认值,然后单击运行。
工具处理过程中,您可以单击查看详细信息了解更多信息。
提示:
如果出现内存不足错误,请尝试将 batch_size 值从 4 减小到 2 甚至 1,然后重新运行程序。
几分钟后,结果图层 Land_Cover_Raster 将显示在内容窗格和地图上。 该图层为栅格图层,其中每个像素值代表九个土地覆被类别之一。
可以在内容窗格中查看土地覆被类型的列表。
- 放大并平移 Land_Cover_Raster 图层以进行探索。
您可以看到各种土地覆被要素,例如植被、建筑物、水体和道路。 此高分辨率栅格为了解亚历山德拉镇地区这些土地覆被类型的分布和范围提供了宝贵的见解。
注:
您可能会注意到,植被区域提取的整体精度较高,但建筑物区域提取的结果质量较差,特别在包含非正规住宅的区域更是如此。 根据影像分辨率以及现有建筑物的具体类型,结果的质量可能会有所不同,并且使用不同的方法提取不同的要素类型将非常有用。 利用 Text SAM 进行多分辨率对象检测文章中介绍了一种以高精度提取建筑物的强大方法。
- 在快速访问工具栏中,单击保存工程按钮以保存您的工程。
生成土地覆被要素图层
获得土地覆被栅格后,根据您的目标,从中派生多边形图层将非常有用。 由此可以使用 ArcGIS Pro 中提供的任何基于矢量的地理处理工具继续您的分析工作流。 可以使用栅格转面工具来执行此操作。 然后,您将符号化新图层。
- 在地理处理窗格中,单击后退按钮两次。
- 搜索并打开栅格转面工具。
- 在栅格转面工具中,设置以下参数:
- 对于输入栅格,键入 Land_Cover_Raster。
- 对于字段,选择 Class。
- 对于输出面要素,键入 Land_Cover_Features。
- 接受所有其他默认值,然后单击运行。
随即创建 Land_Cover_Features 图层并将其添加到地图中。
注:
图层的颜色是随机分配的,可能会有所不同。
在新图层中,不同的土地覆被图面已转换为多边形要素。 将为每个多边形分配一个土地覆被类型。 现在,您将符号化该图层,以使这些土地覆被类型可见。 您可以逐一符号化每种类型,并为每种类型选择不同的颜色。 但是,为了加快此工作流,您将使用已预设符号系统的图层文件。
- 下载 Land_Cover_Symbology.lyrx 图层文件。
- 在内容窗格中,确认已选择 Land_Cover_Features 图层。
- 在功能区上,单击要素图层选项卡。 在绘制组中,单击符号系统按钮。
随即显示符号系统窗格。
- 在符号系统窗格中,单击选项按钮,然后选择导入符号系统。
- 在应用图层的符号系统工具中,设置以下参数:
- 确认输入图层设置为 Land_Cover_Features。
- 对于符号系统图层,单击浏览按钮。 浏览至 Downloads 文件夹,选择 Land_Cover_Symbology.lyrx 文件,然后单击确定。
提示:
或者,可以将 Land_Cover_Symbology.lyrx 文件移至 Alexandra_Land_Cover 工程文件夹,然后在此处访问该文件。 如果您计划将此符号系统重复用于其他图层,则此操作将特别有用。
- 单击运行。
计算总植被面积
现在,您将确定此亚历山德拉街区中的绿地(或植被覆盖区域),并计算其覆盖的总面积。
- 在内容窗格中,右键单击 Land_Cover_Features 图层并选择属性表。
- 在 Land_Cover_Features 属性表中,定位 Class 字段。
将在此字段中存储土地覆被类型值。 两种土地覆被类型对应于植被覆盖区域:低植被和树冠。 您将生成一个包含这两种类型的查询。
- 单击按属性选择。
- 在按属性选择窗口的表达式下,构建表达式 Where Class includes the value(s) Low Vegetation, Tree Canopy。
- 单击确定。
现在,将在地图上选择与植被对应的所有多边形要素。
- 在属性表中,单击显示所选记录按钮。
存在 831 个代表植被的多边形。
注:
您可能会得到一个略有不同的数字。
现在,您需要确定这 831 个多边形总共覆盖的面积。
- 右键单击 Shape_Area 字段并选择浏览统计数据。
- 水平滚动并定位 Sum 单元格。
此值对应于所有当前所选多边形的表面积总和。
注:
您可能会得到一个略有不同的数字。
您可以得出结论,在此亚历山德拉街区中,绿地覆盖的总面积约为 403,990 平方米或 0.404 平方千米。
创建绿地图层
最后一步,您将使用导出要素工具创建一个图层,其中仅包含研究区域中的绿地。
- 在内容窗格中,右键单击 Land_Cover_Features 图层,指向数据,然后选择导出要素。
- 在导出要素窗口中,设置以下参数:
- 对于输入要素,确认选择 Land_Cover_Features。
- 确认已启用使用所选记录选项。
- 对于输出要素类,键入 Green_Spaces
启用使用所选记录选项后,仅将当前所选多边形要素导出至新图层。
- 单击确定。
新图层随即添加到地图。 您需要进行一些清理,才能更好地查看此新图层。
- 关闭 Land_Cover_Features 数据工程视图。 关闭属性表。
- 单击功能区上的地图选项卡。 在选择组中,单击清除以移除 Land_Cover_Features 图层上的要素选择。
- 在内容窗格中,单击 Land_Cover_Features 和 Land_Cover_Raster 复选框以关闭这些图层。
地图现在仅显示 Green_Spaces 图层,该图层显示在原始无人机影像上方。
- 按 Ctrl+S 以保存工程。
可以在任何地图或研究项目中使用 Green_Spaces 图层。 您也可以通过将其作为 web 图层发布至 ArcGIS Online,与您的社区进行共享。
将此工作流应用于您自己的影像(可选)
要将此工作流应用于您自己的影像,请记住以下几点:
- 存储您的影像的位置 - 在本教程中,您使用了在 Site Scan for ArcGIS 中根据原始无人机影像生成的图像图层,并直接从 Site Scan 将其保存至 ArcGIS Online。 当使用您自己的数据时,您可以同样将其托管在 ArcGIS Online 上。 另一个选项是使用存储在本地计算机上的影像。
了解模型的数据要求 - 正如您在 High Resolution Land Cover Classification – USA 描述页面上看到的,该模型需要输入 8 位、3 波段高分辨率 (80 - 100 cm) 影像。
- 准备影像 - 预期的三个波段是红色、绿色和蓝色(或 RGB)。 如果您的影像具有三个以上的波段,则您应该在继续深度学习过程之前提取相关波段。 该模型还期望影像具有 8 位像素深度。 如果影像具有不同的像素深度,例如 16 位,则应将其转换为 8 位。 有关如何实施这些更改的分步说明,请参阅通过迁移学习改进深度学习模型教程中的选择相关影像波段部分。
- 查找有关影像的信息 - 如果您不确定影像的属性(例如波段数、像素深度或像元大小),请在内容窗格中右键单击影像图层,然后选择属性。 在属性窗格中,单击源窗格,然后在栅格信息下找到波段数、像元大小 X、像元大小 Y 和像素深度值。
- 尝试像元大小 - 当您使用使用深度学习分类像素地理处理工具时,您可以尝试多个像元大小值来确定能够为您的影像提供最佳效果的值。 但是,0.9 应该非常适合该模型,因为其需要像元大小为 80-100 厘米(或 0.8-1 米)。 建议不要使用像元大小比模型所需像元大小更粗糙的影像。
在小范围内进行实验 - 在实验过程中,您可以将处理限制在较小的范围内以获得更快的结果。 在环境选项卡上的处理范围下,单击绘制范围按钮,然后在地图上绘制一个较小的多边形。
在本教程中,您使用了预训练深度学习模型将南非亚历山大镇街区的高分辨率无人机影像在像素级别上分类为土地覆被类型。 然后,您将详细的土地覆被栅格图层转换为矢量图层并将对其进行了符号化。 您选择了代表植被的多边形,并计算了其覆盖的总表面积。 最后,您获得了一个矢量图层,其中仅包含街区中的绿地。
有关使用 GeoAI 提取土地覆被的其他选项,请参阅文章解锁景观:使用预训练深度学习模型进行土地覆被测绘。
您可以在尝试 ArcGIS 中的深度学习系列中找到更多类似教程。
您可以在教程库中找到更多教程。