使用 Keras 和 ArcGIS Pro 通过 Mask-RCNN/DeepLabV3+ 进行 EagleView 高分辨率图像语义分割
机器学习中的计算机视觉为 GIS 提供了巨大的机会。其任务包括获取、处理、分析和理解数字图像的方法,以及从现实世界中提取高维数据以产生数字或符号信息,例如以决策的形式。在过去的几年中,计算机视觉越来越多地从传统的统计方法转向最先进的深度学习神经网络技术。
在这篇博客中,我将分享一些使用 Keras 和 ESRI ArcGIS Pro 工具以及深度学习和迁移学习技术从超高分辨率 3 英寸 EagleView(Pictometry)图像构建建筑足迹图像分割网络模型的经验实践。
2018 年,ESRI 和微软与切萨皮克自然保护区合作,训练深度神经网络模型,以根据 1 米 NAIP 分辨率航空图像数据源预测土地覆盖。该神经网络的架构与 Ronnenberger 等人的 U-net ( 2015 ) 类似,是一种常用的语义分割模型。每年,佐治亚州科布县的 GIS 核心小组都会收到来自 EagleView(Pictometry) 的 3 英寸超高分辨率正射影像。深度学习模型能否应用于这种超高分辨率正射图像来对土地覆盖进行分类或提取建筑物足迹?存在几个挑战——超高分辨率图像通常呈现多种植被类型和重叠;建筑物和树木在图像中产生沉重的阴影,这可能会错误分类真实的地面物体。
一开始,我非常保守,因为我决定使用纯 CPU 笔记本电脑来训练大约 3800 张图像。考虑到土地覆盖和建筑足迹的复杂性,这对于深度学习来说是一个相当小的数据集,因为如果你阅读教科书,通常会说深度学习需要大量的训练数据才能获得更好的性能。但这也是一个现实的分类问题:在现实世界中,即使是小规模的图像数据也可能非常难以收集,而且成本高昂,有时甚至几乎不可能。能够使用小型数据集并训练强大的分类器是有能力的数据科学家的一项关键技能。经过多次尝试和运行,结果非常有希望,特别是对于最先进的 Deeplabv3+ 和 Mask-RCNN 模型。
研究区域和训练图像数据集准备
图 1 — 科布县 2018 年 3 英寸 EagleView 图像覆盖 433 个 1x1 英里图块。
科布县的地理区域覆盖了 433 个 1 x 1 英里的象形图,分辨率为 3 英寸。县 GIS 组在某些区域具有建筑物足迹多边形图层。出于训练目的,选择了靠近县中心的一张图像图块作为图像训练数据集(图 1)。建筑物足迹多边形要素图层用于作为地面实况掩模标签进行处理。ArcGIS Pro 2.4 版本中的“导出深度学习训练数据”。地理处理工具用于导出实例分割数据集的图像和掩模(图2)。输出图像的尺寸为512x512x3,旋转设置为90度以生成更多图像以防止过度拟合并帮助模型更好地泛化。
图 2 — ArcGIS