乐于分享
好东西不私藏

QGIS GeoAI 插件:点一下就能提取建筑、水体和树木,AI 矢量化真的来了?

QGIS GeoAI 插件:点一下就能提取建筑、水体和树木,AI 矢量化真的来了?
在 GIS 数据生产中,栅格影像矢量化一直是一项非常耗费时间的工作。
建筑轮廓要一栋一栋描,道路边线要一段一段勾,水体、林地和耕地图斑也需要不断放大影像、添加节点。即使操作人员经验丰富,面对大范围航空影像或遥感影像,仍然要投入大量时间。
那么,能不能让 AI 先识别影像中的目标,自动生成矢量边界,再由人工进行检查和修改?答案是:可以。
QGIS 中的 GeoAI 插件,就是目前较有代表性的一种开源解决方案。
一、GeoAI 是什么?
GeoAI 是一款面向地理空间影像分析的 QGIS 插件。它把多种计算机视觉和深度学习能力集成到 QGIS 的停靠面板中,让用户不必离开熟悉的 GIS 工作环境,就能完成目标检测、影像分割、模型训练和成果矢量化。
截至 2026 年 8 月,QGIS 官方插件仓库中的 GeoAI 稳定版本为 1.7.0,支持 QGIS 3.28 及以上版本,并采用 MIT 开源许可。
它目前包含的主要能力有:
  • 使用 Segment Anything 模型提取建筑、道路、树木等目标;
  • 使用 DeepForest 检测树冠及其他独立目标;
  • 使用 OmniWaterMask 自动提取水体;
  • 使用语义分割模型对影像像素进行分类;
  • 使用 Mask R-CNN 区分相邻的独立对象;
  • 使用视觉语言模型描述影像、回答问题和定位目标;
  • 将识别结果保存为 GeoTIFF、GeoPackage 或 Shapefile。
简单来说,它并不是一个单一的“栅格转矢量”工具,而是一套嵌入 QGIS 的 AI 影像分析工具箱。
二、最值得关注的功能:Segment Anything
对普通 GIS 用户来说,GeoAI 中最直观的功能,是基于 SAM 系列模型实现的 Segment Anything。
传统人工矢量化需要沿目标边界逐点绘制;使用这一功能时,用户只需要给模型一个提示,AI 就会尝试识别对应对象的完整范围。
目前主要支持以下几种交互方式。
1. 点选目标
在建筑、水塘、树冠或其他对象内部点一下,模型便会根据影像的颜色、纹理和边缘特征生成目标掩膜。
如果模型把旁边的树木、阴影或相邻建筑也包含进来,还可以添加“背景点”,告诉模型哪些部分不属于目标。
这种方式很像使用“智能魔棒”,但它不只是依据颜色进行选择,而是尝试理解影像中的完整对象。
2. 框选目标
当影像中的目标比较密集,或者单点提示容易选中错误对象时,可以先画一个矩形框限制识别范围。
例如,在建筑密集区框住其中一栋房屋,通常比只在屋顶上点一下更容易获得独立轮廓。
3. 使用文字提示
部分模型支持输入 building、tree、road 等文字,让 AI 在影像中寻找相应对象。
这种方式更接近人们想象中的“告诉 AI 要什么,它就自动找出来”。不过,文字分割的效果仍会受到模型版本、影像分辨率、目标类型和地区差异影响,不能简单理解为输入一个单词就能获得完整、准确的测绘成果。
4. 批量处理点位
如果已经拥有建筑中心点、树木位置点或其他候选点图层,可以将这些点作为批量提示输入模型。
模型会围绕每个点分别生成目标掩膜。这比逐个点击更加适合批量生产,也为“目标检测生成中心点—SAM 提取轮廓”的组合流程提供了可能。
三、从 AI 掩膜到 GIS 矢量
AI 分割首先得到的通常不是矢量面,而是一张二值掩膜:目标区域是一类像素,背景是另一类像素。
GeoAI 可以进一步把掩膜转换为 GIS 矢量,并输出为:
  • GeoPackage;
  • Shapefile;
  • GeoTIFF 掩膜。
在保存矢量结果时,还可以进行一定程度的后处理,例如:
  • 设置最小面积,过滤细小碎斑;
  • 设置简化容差,减少不必要的边界节点;
  • 对多边形进行正交化,使建筑边缘更接近直线和直角。
这一步非常重要,因为 AI 直接生成的边界往往带有像素锯齿、细小孔洞和不规则节点。如果不经过清理,虽然画面上“看着像”,却很难直接用于正式的 GIS 数据库。
需要特别注意的是:正交化只能让轮廓变得规整,并不能把错误的轮廓变成正确的轮廓。
如果树木遮挡了屋顶,或者阴影被模型误认为建筑的一部分,后处理最多只能把错误边界修整得更平滑,真实范围仍然需要人工判断。
四、除了 SAM,GeoAI 还能做什么?
1. 自动提取水体
GeoAI 集成了 OmniWaterMask,可用于从卫星或航空影像中识别湖泊、水库、河流和池塘。
该模块支持大影像分块推理、多光谱波段顺序配置,以及平滑边界、过滤小图斑等处理。还可以选择结合 OpenStreetMap 中的水体、建筑和道路数据进行辅助优化。
对于边界清楚的开阔水面,自动提取通常具有较高的实用价值;但狭窄河流、建筑阴影、深色屋顶和浑浊水面仍可能造成漏判或误判。
2. 检测树冠和独立目标
Tree Segmentation 模块主要基于 DeepForest,可以在单幅影像或大型地理影像切片中检测树冠,并以矢量或栅格格式输出结果。
用户可以调整切片大小、重叠范围、置信度和去重阈值。除了树冠,插件提供的相关模型还可用于鸟类、牲畜、鸟巢和枯死树等特定目标的检测。
不过,“检测到一棵树”和“精确勾画树冠”不是同一件事。目标检测结果可能只是矩形框;如果需要精细树冠面,还要进一步结合分割模型。
3. 训练自己的语义分割模型
通用模型并不一定适合所有地区和所有影像。如果项目长期处理同一种数据,例如固定分辨率的无人机影像,并持续提取大棚、建筑、水体或光伏板,就可以考虑训练专用模型。
GeoAI 提供了相对完整的语义分割流程:
  1. 输入栅格影像和已有矢量标签;
  2. 自动生成训练影像和标签切片;
  3. 选择 U-Net、DeepLabV3+、FPN、SegFormer 等模型;
  4. 设置参数并训练模型;
  5. 在新影像上运行推理;
  6. 将分类结果转换为栅格或矢量成果。
这种方式的前期成本高于直接使用 SAM,但对重复性强、数据规模大的任务更有价值。
4. 区分相邻的独立对象
语义分割主要判断“这个像素属于哪一类”,可能把相邻建筑识别成一个整体。实例分割则不仅判断类别,还尝试区分每一个独立对象。
GeoAI 的实例分割模块支持 Mask R-CNN,可用于单栋建筑、单株树木、车辆、大棚或独立设施等对象的训练和识别。
它对训练标签的要求也更高:每个对象都需要作为独立实例进行标注。
5. 用自然语言理解影像
插件还集成了 Moondream 视觉语言模型,可以描述影像内容、回答有关影像的问题、检测指定对象,或者以点和矩形框的形式定位目标。
这类能力适合影像浏览、快速探索和辅助制作训练样本,但目前更像“智能看图助手”,不宜直接当作精确测绘工具。
五、简单教程demo
各位朋友可以观看简短视频演示快速了解如何在QGIS中使用GeoAI插件。
视频demo : https://youtu.be/Esr_e6_P1is
完整视频教程:https://youtu.be/8-OhlqeoyiY
整个过程中,AI 负责快速生成候选轮廓,人负责判断轮廓是否符合实际情况和数据生产标准。这也代表了目前 AI 矢量化更合理的工作模式:
六、安装并不像普通插件那么简单
GeoAI 插件本体可以直接从 QGIS 官方插件仓库安装:
  1. 打开 QGIS;
  2. 进入“插件—管理并安装插件”;
  3. 搜索 GeoAI;
  4. 安装并启用插件;
  5. 打开任意 GeoAI 面板;
  6. 按提示安装 AI 依赖。
当前版本提供内置依赖安装功能,也能自动检测 NVIDIA CUDA 和 Apple MPS。不过,深度学习环境仍是使用这类插件时最容易遇到问题的环节。
GeoAI 的基础要求包括:
  • QGIS 3.28 或更高版本;
  • Python 3.10 或更高版本;
  • PyTorch;
  • GeoAI、SamGeo、DeepForest、OmniWaterMask 等相关依赖;
  • 推荐使用支持 CUDA 的 NVIDIA 显卡。
常见问题包括 Python 包冲突、CUDA 与 PyTorch 版本不匹配、模型下载失败、单位网络限制以及显存不足。官方文档建议在需要精确控制环境时使用 Pixi 管理 QGIS 和深度学习依赖。
如果没有独立显卡,部分较小的模型仍可尝试使用 CPU,但速度会明显下降。官方目前特别说明,SAM3 需要 NVIDIA CUDA GPU,不能在纯 CPU 环境中运行。
因此,第一次测试时不要直接加载几十 GB 的整幅正射影像。更稳妥的做法是先裁剪一个具有代表性的小区域,确认模型效果和运行环境后再扩大范围。
结语
QGIS GeoAI 把 SAM、语义分割、实例分割、树冠检测、水体提取和视觉语言模型带进了日常 GIS 软件。
它降低了地理空间 AI 的试用门槛,也提供了一条非常现实的技术路线:先让 AI 完成初步识别和矢量化,再由专业人员控制成果质量。
对于长期从事遥感解译、基础地理数据生产或人工矢量化的用户来说,这类工具值得关注,也值得用自己的真实数据进行测试。
毕竟,演示中的“一键提取”是否真的有用,最终还是要看它能为实际项目减少多少人工修改时间。
你认为 AI 最适合提取哪一类 GIS 要素?建筑、水体、道路,还是地块?欢迎留言交流。
参考资料
  1. QGIS 官方插件仓库:https://plugins.qgis.org/plugins/geoai/
2. GeoAI 官方文档:https://opengeoai.org/qgis_plugin/
3. GeoAI GitHub 项目: https://github.com/opengeos/geoai
4. SamGeo QGIS Plugin: https://github.com/opengeos/qgis-samgeo-plugin