ArcGIS深度学习怎么做?样本库如何制作?
很多同学第一次做“ArcGIS深度学习怎么做?样本库如何制作?”时,最容易卡在两个地方:一是不知道 ArcGIS Pro 里的深度学习流程从哪里开始,二是不清楚训练样本到底要按什么标准制作。本文按实际项目流程,把 ArcGIS 深度学习从影像准备、样本标注、样本导出、模型训练到结果检查讲清楚,重点放在“样本库如何制作”这个关键环节。

引言:ArcGIS深度学习先从一个明确任务开始
ArcGIS 深度学习不是一上来就“训练模型”,而是先明确要解决什么遥感解译问题。常见任务包括建筑物提取、道路提取、地块分类、水体识别、树冠检测、车辆检测等。
不同任务对应的样本类型、标注方式和模型参数都不一样。如果任务没有定义清楚,后面制作的样本库很可能无法训练出可用模型。
在 ArcGIS Pro 中,常用流程可以概括为:
- 准备遥感影像或正射影像。
- 建立训练样本标注图层。
- 使用深度学习标注工具制作样本。
- 导出训练数据。
- 训练深度学习模型。
- 使用模型进行目标检测、像素分类或对象分类。
- 检查结果并补样本、重训模型。
背景:ArcGIS深度学习适合解决哪些GIS问题
ArcGIS 深度学习主要用于从影像、栅格或点云等数据中自动识别目标。对 GIS 用户来说,它的价值不是替代全部人工判读,而是把重复性强、规则相对稳定的识别工作自动化。
比较典型的应用场景有:
- 建筑物提取:从高分辨率影像中提取建筑物轮廓。
- 道路识别:识别道路中心线或道路面。
- 地物分类:把影像像元分为水体、植被、裸地、建设用地等类别。
- 目标检测:检测车辆、船只、油罐、光伏板等具体目标。
- 变化监测:结合多期影像识别新增建设、土地覆盖变化等。
但要注意,ArcGIS 深度学习效果高度依赖样本库质量。影像分辨率、标注一致性、样本数量、类别平衡、地物差异都会影响最终结果。
原理:样本库为什么决定ArcGIS深度学习效果
深度学习模型本质上是从样本中学习“影像特征”和“标签结果”之间的关系。样本库就是告诉模型:什么样的纹理、颜色、形状、阴影和空间结构应该被识别为某一类对象。
例如做建筑物提取时,模型并不知道“建筑物”是什么。它只能从你标注的屋顶边界、颜色变化、阴影特征和空间形态中学习规律。如果样本中只标了规整小区楼房,模型遇到厂房、农村房屋、彩钢棚时就容易漏检。
ArcGIS 深度学习样本库通常包含三类内容:
- 原始影像切片:从遥感影像中裁切出的训练图片。
- 标签数据:表示目标位置或类别的标注结果。
- 元数据文件:记录类别、切片大小、坐标参考、训练格式等信息。
不同任务的标签形式不同:
| 任务类型 | 样本标注方式 | 适合场景 |
|---|---|---|
| 目标检测 | 矩形框标注 | 车辆、船只、树木、光伏板等单体目标识别 |
| 像素分类 | 面状或栅格类别标注 | 水体、植被、建设用地、裸地等地物分类 |
| 实例分割 | 精确面状轮廓标注 | 建筑物轮廓、地块边界、单株树冠等 |
| 对象分类 | 已有对象加类别字段 | 对图斑、地块、建筑物对象进行分类 |
步骤:ArcGIS深度学习怎么做
步骤一:准备可用于训练的影像数据
建议使用经过几何校正、投影统一、云雾较少、分辨率稳定的影像。影像质量越稳定,模型越容易学习到有效特征。
准备影像时重点检查:
- 影像是否有正确坐标系。
- 不同影像之间分辨率是否一致或接近。
- 是否存在明显拉伸、错位、黑边、云雾和拼接缝。
- 影像是否覆盖足够多的目标类型和背景类型。
- 训练区和未来应用区的影像来源是否相似。
如果训练影像是无人机正射影像,而应用影像是卫星影像,模型效果通常会明显下降,因为两者的视角、分辨率和纹理特征差异较大。
步骤二:确定深度学习任务类型
在制作样本库前,先判断你的任务属于哪一种。这个判断会直接影响标注方式和导出训练数据格式。
- 如果目标是“找出每一辆车在哪里”,优先考虑目标检测。
- 如果目标是“把每个像元分成水体或非水体”,优先考虑像素分类。
- 如果目标是“提取每栋建筑物的准确边界”,优先考虑实例分割。
- 如果目标是“给已有地块图斑判断种植类型”,可以考虑对象分类。
很多初学者会把所有任务都当成目标检测处理,这是常见误区。比如建筑物提取如果只用矩形框,得到的是框,不是建筑物轮廓;如果项目需要面状边界,就应该使用面状标注或实例分割思路。
步骤三:在ArcGIS Pro中创建标注样本
ArcGIS Pro 中可以使用深度学习相关工具和影像标注工作流制作训练样本。实际操作时,一般先创建一个要素类作为标签图层,再在影像上逐个标注目标。
建议样本图层至少包含以下字段:
| 字段名 | 用途 | 示例 |
|---|---|---|
| ClassName | 类别名称 | Building、Water、Road |
| ClassValue | 类别编码 | 1、2、3 |
| Remark | 备注 | 阴影建筑、疑似水体 |
制作样本时要遵循统一标准。比如建筑物标注,是只标屋顶,还是标建筑物占地轮廓?道路标注,是标道路面,还是标中心线?这些规则要在项目开始时固定下来。
步骤四:样本库如何制作才更可靠
ArcGIS 深度学习样本库制作的核心不是“越多越好”,而是“覆盖充分、标注准确、类别均衡、边界一致”。建议按以下原则制作。
- 覆盖不同场景:城区、郊区、农村、工业区、山区等都应有样本。
- 覆盖不同外观:同一类目标可能有不同颜色、大小、形状和纹理。
- 覆盖困难样本:阴影、遮挡、相似背景、边界模糊区域都要适当加入。
- 加入负样本:容易误判的非目标区域也要覆盖,例如把停车棚误判成建筑物。
- 保证标注一致:同类对象边界标准必须统一,不能一部分精细、一部分粗略。
如果是目标检测任务,矩形框应尽量贴近目标,不要包含过多背景。如果是像素分类任务,类别边界要尽量准确,尤其是水陆交界、道路边缘、建筑物阴影附近。
样本库质量检查的一个简单方法是:随机抽取几十个样本,让另一个人按照同一规则检查。如果他无法判断你的标注标准,说明样本规范还不够清楚。
步骤五:导出训练数据
样本标注完成后,需要使用 ArcGIS Pro 的导出训练数据工具,将影像和标签切分成深度学习框架可读取的训练数据。常见参数包括切片大小、步长、影像格式、元数据格式和类别字段。
参数设置建议如下:
| 参数 | 建议 | 说明 |
|---|---|---|
| 切片大小 | 根据目标尺度选择 | 目标较小可用较小切片,场景复杂可适当增大 |
| 步长 | 小于或等于切片大小 | 步长越小,重叠越多,样本数量越多 |
| 类别字段 | 使用稳定的类别编码字段 | 避免用临时备注字段作为类别来源 |
| 输出格式 | 按模型类型选择 | 目标检测、像素分类、实例分割格式不同 |
导出后不要急着训练,先检查输出文件夹。确认是否生成了影像切片、标签文件和说明文件,并随机打开几张切片检查标签位置是否正确。
步骤六:训练ArcGIS深度学习模型
训练模型时,需要选择合适的模型类型,并设置训练轮数、批大小、学习率等参数。初学者不建议一开始就大幅修改参数,可以先使用默认或推荐值跑通流程。
训练前建议确认:
- ArcGIS Pro 的深度学习库是否安装完整。
- 显卡驱动和深度学习环境是否可用。
- 训练数据路径不要包含过多特殊字符。
- 训练样本数量是否足够支撑当前类别数。
- 训练集和验证集是否合理划分。
训练过程中要观察损失值和验证结果。如果训练损失下降但验证效果很差,可能是过拟合;如果训练损失一直不下降,可能是样本标注、类别配置或学习率设置有问题。
步骤七:应用模型并检查结果
模型训练完成后,可以在 ArcGIS Pro 中使用深度学习推理工具对新影像进行识别。输出结果可能是栅格分类图、目标框、面状要素或概率结果,具体取决于任务类型。
检查结果时不要只看局部效果,要从以下几个角度验证:
- 目标是否有明显漏检。
- 非目标区域是否被误检。
- 边界是否偏移或破碎。
- 不同地貌、不同影像亮度下效果是否稳定。
- 训练区以外区域是否仍然可用。
如果结果不理想,通常不是简单调一个参数就能解决,而是要回到样本库,补充模型识别失败的典型场景。
常见坑:ArcGIS深度学习样本库制作容易出错的地方
坑一:只标目标,不标容易混淆的背景
例如做水体识别时,只标清澈水面,不标阴影、深色屋顶、湿地、鱼塘边缘,模型很容易把深色区域都识别成水体。负样本和困难背景是样本库的重要组成部分。
坑二:样本集中在一个区域
如果建筑物样本全部来自一个小区,模型可能只适应该小区的屋顶颜色和形态。换到农村、工业园或老城区后,漏检和误检都会增加。
坑三:标注边界标准不一致
同样是建筑物,有的标到屋檐,有的标到阴影,有的只标主体屋顶,这会让模型学到混乱边界。样本库制作前必须先写清楚标注规范。
坑四:类别数量太多但样本太少
初学者常希望一次区分很多类别,例如水体、草地、林地、耕地、道路、建筑物、裸地、阴影等。但如果每个类别样本都很少,模型难以稳定学习。建议先从少量核心类别开始。
坑五:影像预处理前后不一致
训练时使用经过增强、裁剪或重采样的影像,推理时却使用未经处理的原始影像,可能导致模型表现不稳定。训练数据和应用数据应尽量保持一致的分辨率、波段组合和显示特征。
方法比较:ArcGIS深度学习、传统监督分类和人工解译怎么选
| 方法 | 适合情况 | 优点 | 限制 |
|---|---|---|---|
| ArcGIS深度学习 | 目标形态复杂、样本较多、需要批量自动识别 | 能学习纹理、形状和上下文特征 | 依赖样本库和计算环境,调试成本较高 |
| 传统监督分类 | 类别光谱差异明显、影像波段信息较好 | 流程简单,解释性较强 | 对复杂目标轮廓和高分辨率纹理利用有限 |
| 人工解译 | 范围小、精度要求高、目标复杂且样本不足 | 判断灵活,结果可控 | 效率低,难以大范围重复生产 |
| 规则提取 | 目标特征明确,例如阈值、坡度、高程条件明显 | 实现快,参数可解释 | 泛化能力弱,复杂场景容易失效 |
如果项目是小范围高精度制图,人工解译可能更稳。如果项目需要在大范围影像中反复提取同类目标,并且能投入样本制作成本,ArcGIS 深度学习更值得尝试。
检查清单:训练前先核对这些内容
- 是否明确了任务类型:目标检测、像素分类、实例分割或对象分类。
- 训练影像和应用影像的分辨率、波段、坐标系是否一致或接近。
- 样本标注规则是否写清楚,并且所有标注人员执行一致。
- 每个类别是否有足够样本,是否存在严重类别不平衡。
- 是否包含阴影、遮挡、边界模糊、相似背景等困难样本。
- 是否检查过导出的训练切片和标签是否对齐。
- 训练集和验证集是否来自不同位置或不同影像块,避免只验证重复场景。
- 模型推理结果是否经过人工抽查和误差分析。
- 是否记录了样本版本、训练参数和模型输出路径,方便复现。
FAQ:ArcGIS深度学习样本库制作常见问题
ArcGIS深度学习需要多少样本才够?
没有固定数量。样本是否够用取决于目标复杂度、影像分辨率、类别数量和场景差异。简单目标、场景单一时样本需求较少;复杂目标、跨区域应用时需要更多样本。建议先制作一版小样本库跑通流程,再根据误检和漏检结果补充样本。
样本库是不是越大越好?
不是。大量低质量样本会降低模型效果。相比数量,更重要的是标注准确、类别均衡、场景覆盖充分。重复标注同一种简单场景,提升有限;补充模型容易出错的场景更有价值。
ArcGIS深度学习样本可以用已有矢量数据吗?
可以,但要先检查已有矢量数据和影像是否对齐。如果建筑物矢量边界与影像屋顶明显错位,直接作为样本会让模型学习到错误标签。使用历史矢量数据时,还要检查地物是否已经发生变化。
做建筑物提取应该用目标检测还是实例分割?
如果只需要知道建筑物大概位置,可以使用目标检测;如果需要建筑物轮廓面,建议使用实例分割或面状标注方式。项目成果要求决定样本制作方式,不要只根据工具是否好用来选择。
为什么训练结果在样本区很好,换一个区域就变差?
这通常说明样本库泛化不足。样本可能只覆盖了单一地区、单一影像来源或单一目标形态。解决方法是补充不同区域、不同地貌、不同光照和不同目标外观的样本,并重新训练模型。
导出训练数据后一定要检查吗?
一定要检查。很多问题发生在导出阶段,例如标签字段选错、切片与标注错位、类别编码不一致、空白切片过多等。如果不检查,后面训练失败也很难定位原因。
结论:ArcGIS深度学习的关键是样本库质量
ArcGIS 深度学习的完整流程并不复杂:准备影像、制作样本库、导出训练数据、训练模型、应用模型、检查结果。但真正决定效果的,是样本库是否可靠。
如果你刚开始做 ArcGIS 深度学习,建议不要一开始就追求复杂模型。先选一个明确任务,制作一套小而规范的样本库,跑通训练和推理流程,再根据错误结果持续补样本。这样比盲目堆参数、换模型更有效。
简单记住一句话:模型能学到什么,取决于样本库告诉了它什么。把样本库做好,ArcGIS 深度学习才有稳定产出的基础。