GeoAI 是什么?地理空间人工智能的定义与 QGIS 用法
发布于 更新于
GeoAI 是在地理数据上运行的机器学习:卫星和航空影像、点云、矢量图层,由模型读取,再把目标、类别或变化以可编辑的数据交还给您。返回的结果落在您的工程 CRS 中,是一个图层,可以像其他图层一样用 QGIS 打开。它只接手工作中最耗时的中间环节,不替您做任何决定。
它不是懂您项目的聊天机器人。它读不懂客户的规格书、您的属性规则,也读不懂您去年春天做的调查,它里面的任何东西都代替不了地面实测。这个词本身也很宽泛:2005 年的随机森林分类器和去年的分割模型,都被当作 GeoAI 在卖,所以当厂商提起这个词,先问清楚对方指的是哪一种,因为两者的硬件开销和失败方式完全不同。
我们开发了这个领域中的一款 QGIS 插件,所以读这篇文章时,请记得这是谁写的。


为什么重要
大多数 GIS 工作中最耗时的是描绘:摆正建筑墙角、补上屋顶掩膜里的洞、把 300 个树冠一个顶点一个顶点地勾出来。第一个小时之后,这类工作就没有任何技巧可言,只剩耗时间,而这正是模型最擅长的事。
它并不适合所有工作。不到 50 个要素时,就手工数字化吧:开着捕捉,您画完时模型还没下载完权重,而且结果与您的规格丝毫不差。涉及法律效力的内容我也不会交给它,比如地籍边界、保护区、赔偿认定,因为模型给出的是候选结果,候选结果不是实测。我的原则是:GeoAI 只用于第一遍,永远不用于最后一遍。
怎么运作
您把一张图交给训练好的模型,它还回几何图形。有三类方法承担这项工作,各自的特点不同。
分割模型,比如 Segment Anything 系列,学习的是一个东西在哪里结束、下一个在哪里开始。它们是用普通照片训练出来的,并不知道建筑是做什么用的。凡是边界清晰的地方,它们迁移到遥感影像上效果都很好。哪款 QGIS 插件运行哪个版本,请参阅 SAM 指南。
图生图模型会凭空生成新像素。去云、换季节、生成清理后的场地视图,都是这么实现的。输出是同一范围、带坐标的栅格,它是画出来的东西,所以永远不要放进作为证据的图层。
经典机器学习指随机森林或支持向量机,逐像素读取波段值。它已有二十年历史,成本低,对于使用自己训练多边形的多光谱土地覆盖分类,仍然是最合适的选择。在 QGIS 中,SCP 和 dzetsaka 可以免费完成这项工作。
现在人们拿它做什么
按我信任的程度排序,目前有五类用途。
| 任务 | 模型类型 | 运行环境 |
|---|---|---|
| 从影像中提取目标 | 分割,Segment Anything 系列 | 本地显卡,或服务器 |
| 土地覆盖分类 | 经典机器学习 | 任何笔记本电脑 |
| 看两期变化 | 分割模型,输入一对影像 | 服务器或显卡 |
| 补数据、整数据 | 无模型,使用基础几何算法 | 任何笔记本电脑 |
| 用自然语言提问 | 分割,用对象名称作为提示词 | 服务器,在我们的插件中 |
从影像中提取目标是其中最强的一项,遥遥领先。您圈出一块区域,说出想要什么,就能拿回多边形:建筑物、树冠、汽车、游泳池、光伏板。边缘清晰的地方,轮廓就干净。田界模糊、融进灌木丛的地方,模型和您一样吃力。
土地覆盖分类给每个像素定一个类别:水体、建成区、裸土、森林。有好的训练多边形和多光谱波段时,老办法依然胜出,而且在任何笔记本电脑上都能运行。
看两期变化是将同一地点的两张正射影像交给模型,让它标记发生变化的位置。如果供应商说明了模型名称,通常这是一个双输入分割模型,而不是单输入模型:Picterra 将其命名为 ChangeStar,Esri 的变化检测器则引用了 STANet。有些供应商销售变化检测产品,却从不说明内部使用了什么。免费的方案完全不使用模型,而是将一张影像与另一张影像相减。对于新建筑或被清理的地块等明显变化,这种方法有效。但季节性色彩变化和不同的太阳角度会产生误报,因此需要安排人工检查每个标记。
补数据、整数据包括将建筑物角点变成直角、封闭屋顶掩膜中的孔洞,以及简化逐像素描绘出的轮廓。这是三类方法中唯一一个不适用任何一类的部分。随工具提供的是比深度学习更早出现的几何算法:QGIS 使用 Simplify 和 Orthogonalize,Esri 使用 Regularize Building Footprint。研究中已经出现了基于学习的方法,但目前没有一种随 QGIS 提供。虽然不起眼,却是最能节省时间的部分。
用自然语言提问就是输入 solar panels,不用选择模型和波段组合。适合用来查找对象,但别指望它回答关于您属性表的问题。
跑起来要多少钱
硬件。 本地模型需要一块显卡。Segment Anything 3 完全没有 CPU 路径,因此所有 Mac 和使用集成显卡的机器都无法在本地运行。如果模型运行在服务器上,一台办公笔记本电脑就够了,这就是我们做的取舍。
影像。 地面分辨率比模型更能决定成败。我们自己的调参大致按每像素 0.05 m 检测光伏板、0.09 m 检测汽车、0.18 m 检测建筑物。比这更粗,目标就成了一团模糊,没有任何模型能挽回。
时间。 检测只需几分钟,复核要久得多,估算工期时漏掉复核的人,一定会误期。
费用。 免费的 QGIS 方案除了您的 GPU 和一下午的 Python 之外不花一分钱。我们的方案每月提供 1.5 km² 的自动检测,无需绑定银行卡,在您自己的机器上点选分割不限次数,Pro 套餐的 AI Segmentation 每月 €39,不含增值税。在 Esri 一侧,现成的影像模型需要 ArcGIS Pro Professional 或更高级别的许可,QGIS 与 ArcGIS Pro 对比为每种许可标出了价格。
在 QGIS 中自己动手
先走免费路线,因为这类工作中有相当一部分,免费的方案反而更好。对于使用自己训练多边形的多光谱土地覆盖分类,SCP 和 dzetsaka 可以在 QGIS 中免费完成,任何笔记本电脑都能运行。
在自己机器上做分割,是更难的那一半。免费插件需要显卡,还要花一下午折腾 Python,哪个插件运行哪个模型版本,请参阅 SAM 指南。建筑物轮廓指南在同一片街区上把免费路线和付费路线各走了一遍,您可以掂量各自的代价。
云端选项
下面的插件是我们开发的,所以这一节讲的是我们自己的工具。
打开插件管理器
插件 > 管理并安装插件...(Plugins > Manage and Install Plugins)。需要 QGIS 3.22 或更高版本。
安装 AI Segmentation
无需再下载其他内容,也不用搭建 Python 环境。
在面板中登录
一个邮箱,点一下。免费额度按月续期,无需绑定银行卡。
在已打开的影像上绘制区域
任何可见的栅格都行:GeoTIFF、无人机正射影像、XYZ 底图。免费账户每月包含 1.5 km² 的地面范围。
输入对象,然后复核
building、tree、car。按置信度和大小筛选,修正错误的结果,导出 GeoPackage。
然后把输出结果与您手工数字化的结果对比。只有这个对比才算数。
记住这几条
GeoAI 是在地理数据上运行的机器学习,交回来的是您工程 CRS 中的一个图层,永远不是对您项目的回答。
50 个要素上下,就手工数字化。您会比模型下载完权重更早完成,而且结果符合您的规格。
模型给出的是候选结果,候选结果不是实测,所以地籍边界、保护区、赔偿认定,都要使用经过人工检查的图层。
Segment Anything 3 完全没有 CPU 路径,本地运行时,所有 Mac 和使用集成显卡的机器都不行。
地面分辨率比模型更能决定成败。不存在单一的精度数字,因为精度会随您的影像以及您提取的对象而变化。
网上常讲错的地方
单一的精度数字。 精度会随您的影像以及您提取的对象而变化。拿一个数字套用所有情况的,给出的都是营销数字。
没见过您那片区域的训练数据。 现成的建筑物图层是最清楚的例子。罗安达同一个 1 平方公里,在 OpenStreetMap 里是空的,Microsoft 有 3,140 个建筑物轮廓,Google Open Buildings 有 4,468 个。

“在本地运行,数据不出您的电脑。” 小模型在自己机器上运行时确实如此。但每一种云端模式都会把影像发到某个地方,我们的也一样,老实的做法是讲清楚您当前使用的是哪种模式。
可以直接交付的输出。 每次运行返回的都比您要的多:通风口、天窗、阴影、院子里的小棚子。它们都是真实存在、轮廓也正确的对象,只是都不是您想要的。把清理的时间算进预算。
大家常问
GeoAI 和遥感是一回事吗?
不是。遥感是量测。GeoAI 是读取量测结果的办法之一,与指数、阈值和您的眼睛并列。
需要写代码吗?
经典路线需要一点。在 QGIS 中做分割则不需要,因为插件已经封装好了。对几百幅图块运行同一个流程时,还是 Python 更有优势,PyQGIS 就是用它来驱动 QGIS 的方式。
需要 GPU 吗?
只有模型运行在您自己的机器上时才需要。Segment Anything 3 完全没有 CPU 路径,Mac 或使用集成显卡的笔记本无法在本地运行它。服务器端的工具则都不需要。
GeoAI 的精度怎么样?
没有单一的数字,因为精度会随您的影像以及您提取的对象而变化。预计每次运行返回的都比您要的多,建筑物中会混入通风口、天窗和院中小棚,请把清理时间算进预算。
最后输出的是什么?
带有标签、类别、置信度分数和面积的多边形,位于您的工程 CRS 中。我们的分割插件会把它们写入带样式的 GeoPackage。复核仍由您负责。
相关概念请看什么是建筑物轮廓,它讲的是 GeoAI 最常提取的那类对象;QGIS AI 中心则列出了这个领域中每个插件运行前所需的条件。
打开。它只接手工作中最耗时的中间环节,不替您做任何决定。

