跳转到内容
QGIS
GeoAI
Comparison

eCognition 替代方案:无需许可证的面向对象影像分析

QGIS 中基于 Google Satellite 底图的俯瞰郊区街道,房屋屋顶以红色描边并半透明填充,每个屋顶都是可编辑的独立多边形,左侧边缘还有之前运行生成的蓝色、紫色、绿色和橙色多边形。拍摄于 2026 年 8 月 23 日。
QGIS 中基于 Google Satellite 底图的俯瞰郊区街道,房屋屋顶以红色描边并半透明填充,每个屋顶都是可编辑的独立多边形,左侧边缘还有之前运行生成的蓝色、紫色、绿色和橙色多边形。拍摄于 2026 年 8 月 23 日。

Trimble 官方产品页面上写着这句话:"Trimble eCognition is no longer actively sold. This page remains active for existing customers to access software downloads." 我于 2026 年 8 月 23 日看到这句话。因此,问题已经变了。现在不再是许可证是否值得续费,而是哪种免费工具可以覆盖工作的哪一部分,以及其中有一部分没有免费的替代方案。

我共同创办了 TerraLab,因此文末的 AI Segmentation 是我们的产品。列与其他工具完全相同,每项也保持一行限制。

eCognition 实际提供了什么

eCognition 是一个面向对象的影像分析环境,而不是一个用于查找建筑物的按钮,你需要手动控制其中的每个阶段。

首先是分割。多分辨率分割从单个像素开始,在同质性阈值允许的情况下合并相邻像素。你需要为对象大小设置尺度参数,在颜色和形状之间分配同质性权重,再在平滑度和紧致度之间分配形状权重。形状权重不能超过 0.9。这四个数字就是其中的技术诀窍,而且你需要针对每种传感器和每种景观重新调参。

接下来是你自己编写的类别层级:类别、继承的特征,以及基于光谱均值、纹理、面积、邻域和与父对象及子对象关系的隶属函数。然后运行,查看结果,修改数字,再运行一次。

真正重要的输出是保存为 .dcp 文件或打包为 .dax solution 的规则集,而不是多边形。这个文件就是方法。你可以交给同事,在 eCognition Server 上对一千个切片运行,每次都得到相同的分类结果,并向审计人员说明为什么某个多边形被判定为建筑物。

目前没有任何免费工具可以替代这一点。 下面的每种工具都能提供其中一个步骤,但没有任何一种能提供一个可移植、带版本控制的规则文件,让同事无需修改即可运行,并在审查中为其结果辩护。如果你的交付物是方法,而不是地图,请保留一台仍能打开 .dcp 文件的机器。

Trimble 的规则集文档多分辨率分割参考目前仍在线,并且可以免费阅读。

路线 1:你只需要分割步骤

这些工具会把影像切分成对象,但不会对对象进行分类。

1. Orfeo ToolBox

这是最接近 eCognition 分割阶段的免费工具,也是唯一为大型场景构建的工具。

  • 安装 OTB,然后安装 OrfeoToolbox Provider plugin,该 plugin 在 QGIS 3.36 中离开了 QGIS 核心。CookBook 中介绍了连接方式。命令行同样可用。
  • 运行于 你的机器,仅使用 CPU,无需账户。
  • 输入与输出 任意 raster。LargeScaleMeanShift 会串联平滑、分割、小区域合并和矢量化,并写入一个矢量文件,其中的多边形已经带有每个波段的均值和标准差。这张表可以继续供分类器使用。
  • 费用 免费,Apache 2.0。
  • 局限 默认参数:空间半径 5,范围半径 15,最小尺寸 50 个像素,切片大小为 500 x 500。预计需要运行多次,才能得到合适的对象大小。

orfeo-toolbox.org · LargeScaleMeanShift

Orfeo ToolBox 主页,页面显示 OTB 标志、介绍其为用于先进遥感的开源项目的文字,以及下载和文档部分的链接
Orfeo ToolBox,2026 年 8 月 23 日。Apache 2.0,Large-Scale Mean-Shift 链是执行分割的主力工具。

2. GRASS i.segment

它已经在 中,因为 GRASS 会随其一起提供。

  • 安装 不需要安装任何东西。GRASS provider 默认就在 Processing 中。
  • 运行于 你的机器,仅使用 CPU,无需账户。
  • 输入与输出 一个 imagery group。输出是 segment raster,i.segment.stats 会将其转换为可用于分类的逐对象统计数据。
  • 费用 免费,GPL。
  • 局限 需要耐心。它有两种方法,区域生长和 mean shift,而区域生长阈值没有实际物理意义,所以你只能通过二分法寻找。i.segment.uspo addon 会自动执行搜索,但需要数小时。

i.segment manual · i.segment.stats · i.segment.uspo

GRASS GIS 主页,显示 GRASS 标志、介绍其为地理空间处理引擎的标语,以及下载和文档导航
GRASS GIS,2026 年 8 月 23 日。它的分割和分类模块通过 QGIS Processing toolbox 提供,无需安装任何东西。

3. SAGA

这是无需阅读手册就能最快看到分割结果的方法。

  • 安装 Processing Saga NextGen Provider plugin,以及 SAGA 本身。它已经离开了 QGIS 核心 Processing 集合。
  • 运行于 你的机器,仅使用 CPU,无需账户。
  • 输入与输出 输入 grids,输出 segment grid 和可选的多边形。
  • 费用 免费。GPL,API 使用 LGPL。
  • 局限 任何需要扩展或重复运行的工作。它的 Imagery、Segmentation library 包含 Seeded Region Growing、Superpixel Segmentation、Watershed Segmentation 和三个辅助工具,尝试起来很快。但它没有对象特征框架,因此统计步骤需要你自己构建。

saga-gis.sourceforge.io

4. scikit-image 和 RSGISLib

适合那些更愿意编写分割过程,而不是点击按钮的人。

  • 安装 一个 Python 环境。scikit-image 可以通过 pip 或 conda 安装,RSGISLib 使用 conda,安装更重。
  • 运行于 你的机器,仅使用 CPU,无需账户。
  • 输入与输出 输入数组,输出标签数组。地理参考需要由你通过 rasterio 或 GDAL 自行处理。
  • 费用 免费。scikit-image 使用 BSD-3-Clause,RSGISLib 使用 GPL v3。
  • 局限 各种连接工作。Felzenszwalb、quickshift、SLIC 和 watershed 每个都只需要几行代码,但它们都不知道 CRS 是什么。RSGISLib 的 Shepherd segmentation 是已发布方案中最接近 eCognition 的一种,但它只能从 conda-forge 安装,而且截至 2026 年 8 月 23 日其网站无法通过 https 响应,因此请使用代码仓库。

scikit-image segmentation examples · RSGISLib repository

路线 2:你需要监督分类

你绘制训练区域,工具学习这些区域,然后为整个 raster 加上标签。这是免费软件真正能够覆盖的 eCognition 的另一半。

5. Semi-Automatic Classification Plugin

这是大多数 eCognition 用户转向的工具,而且他们的选择有道理。

  • 安装 plugin,然后让它获取依赖项。它基于 Remotior Sensus,并使用 scikit-learn 和 PyTorch。
  • 运行于 你的机器,仅使用 CPU 也可以,无需账户。它有一个可选工具用于下载 Landsat 和 Sentinel-2 场景,这是它唯一与服务器通信的时刻。
  • 输入与输出 一个多波段 raster,加上你绘制的训练区域。输出包括分类 raster、精度报告,以及在你要求时生成的矢量 layer。算法包括 maximum likelihood、minimum distance、spectral angle mapping、random forest、support vector machine 和 multi-layer perceptron。
  • 费用 免费,GPL v3。
  • 局限 对象。它分类的是像素,而不是 segment,因此屋顶会变得斑驳,你需要之后再清理。

Manual · Plugin listing

6. dzetsaka

规模更小,学习速度更快,而且大约一分钟就能训练出一个模型。

  • 安装 plugin。当你选择的算法缺少对应 library 时,它会建议通过 pip 安装,并在 QGIS 日志中显示进度,因此你很少需要打开终端。
  • 运行于 你的机器,仅使用 CPU,无需账户。
  • 输入与输出 一个 raster,加上包含感兴趣区域的 shapefile。输出是分类 raster 和保存的模型文件。它提供十一个算法,从只需要 QGIS 的 Gaussian mixture model,到 XGBoost 和 CatBoost。
  • 费用 免费,GPL v3。
  • 局限 文本标签。ROI 列必须保存类别编号,而不是名称。

Repository · Plugin listing

7. GRASS i.maxlikr.learn.ml2

已经安装好了,也是最适合脚本化的一对工具。

  • 安装 使用 i.maxlik 不需要安装任何东西。r.learn.ml2 是 addon,需要 scikit-learn。
  • 运行于 你的机器,仅使用 CPU,无需账户。
  • 输入与输出 第一个工具使用 i.gensig 生成的 signature file,第二个使用 raster stack 加标签。输出都是分类 raster。
  • 费用 免费,GPL。
  • 局限 难以发现。参数名称假设你已经了解 GRASS 数据模型。一旦熟悉,它们就能直接放进 bash 或 Python pipeline,是所有免费方案中最接近 eCognition Server 批处理的工具。

i.maxlik · r.learn.ml2

8. Orfeo TrainImagesClassifier

将它与 LargeScaleMeanShift 配合使用,你就拥有了真正的面向对象链路:分割、计算逐对象统计数据、分类。

  • 安装 OTB,方法同上。
  • 运行于 你的机器,仅使用 CPU,无需账户。
  • 输入与输出 输入影像和训练矢量对。输出模型文件,以及在你要求时生成的混淆矩阵。它不会写入影像或矢量,因此之后需要使用 ImageClassifierVectorClassifier 应用模型。
  • 费用 免费,Apache 2.0。
  • 局限 第一次使用时不友好。它基于 LibSVM、OpenCV machine learning 和 Shark ML,每个组件都有自己的参数区块。请在运行前阅读 CookBook 页面,而不是运行之后才读。

TrainImagesClassifier

路线 3:你想直接得到对象,而不编写规则集

这是基于模型的工具。你放弃调参和审计记录,但可以今天就得到结果。

9. Deepness

对 raster 运行你提供的任意 ONNX 模型,并以切片方式处理。

  • 安装 plugin,然后在首次启动时由 pip 安装 OpenCV 和 ONNX Runtime。
  • 运行于 你的机器。CPU 可以运行,GPU 需要你自行配置 CUDA。无需账户,任何内容都不会离开你的机器。
  • 输入与输出 任意 raster layer,包括 XYZ 或 WMS 底图,以及你的 ONNX 模型。输出是矢量或 raster layer。
  • 费用 免费,Apache 2.0。
  • 局限 超出模型训练范围的影像。使用 25 cm 影像训练的模型无法读取 5 cm 无人机航拍影像,而 plugin 也无法提醒你这一点。

Repository

10. Geo-SAM

在 QGIS 面板中使用 Segment Anything,一次处理一个 prompt。

  • 安装 plugin,自 2.0 版本起可以在 plugin manager 中安装。它会在 QGIS 内部自行下载 checkpoints。
  • 运行于 你的机器,在 laptop CPU 上也足够快。无需账户,任何内容都不会离开你的机器。
  • 输入与输出 一个 raster 文件,或一个 XYZ、WMS 或 WMTS layer。每次点击或框选返回一个多边形,并保存为 Shapefile。
  • 费用 免费,MIT。
  • 局限 面积型工作。它一次只返回一个对象。自 2.0 起有两种模式,在预编码模式中,你只能在此前编码的范围内使用 prompt。

Repository · Plugin listing

11. samgeo

使用相同的模型,但通过 Python package 处理整个场景。

  • 安装 一个 Python 环境,然后安装 package。第一次使用时预留一个下午。
  • 运行于 你的机器,建议使用 GPU。无需账户,但权重文件确实需要下载。
  • 输入与输出 一个 GeoTIFF,或由它获取的底图切片。输出 mask raster,以及 GeoJSON、Shapefile 或 GeoPackage。
  • 费用 免费,MIT。
  • 局限 办公室 laptop,以及 CRS 不匹配的情况,因为它不会执行重投影。这是一个 library,因此除非你添加其配套 plugin,否则需要自己编写代码。

samgeo.gishub.org · Repository

12. GeoAI

每项任务都有一个面板,同时还提供用于训练自有模型的工具。

  • 安装 plugin,以及底层的 PyTorch stack。项目说明 CUDA 依赖会让安装变得困难,这一点确实如此。
  • 运行于 你的机器,实际使用中需要 NVIDIA 显卡。无需账户,任何内容都不会离开你的机器。
  • 输入与输出 一个 raster layer。输出多边形和 mask,每项任务对应一个面板。
  • 费用 免费,MIT。
  • 局限 安装过程,通常比影像本身更容易出问题。一旦运行起来,它是这里工具箱最宽泛的一种:Segment Anything、tree crowns、water masks、Mask R-CNN。

Repository · Plugin listing

13. Mapflow

绘制一个区域,选择一个类别,然后从他们的服务器获取矢量结果。

  • 安装 只需要安装 plugin。
  • 运行于 Geoalert 的服务器。无需 GPU,但需要账户,每项任务都会将影像发送到你的机器之外。
  • 输入与输出 你绘制的一个区域。按类别输出矢量 layer。
  • 费用 按 credits 计费,每个 credit 为 $0.10。建筑物每平方公里需要 10 个 credits,zoom 18 底图额外需要 3 个,因此约为每平方公里 $1.30。免费层级包含 250 个 credits,最多覆盖 25 平方公里。
  • 局限 密集建筑环境。联排住宅会合并为一个多边形,这一点在他们自己的截图中也能看到。

mapflow.ai

14. AI Segmentation,我们的产品

绘制一个区域,用普通语言输入对象名称,然后将所有匹配对象作为多边形返回。

  • 安装 只需要安装 plugin。不需要权重、CUDA 或 Python 环境。
  • 运行于 两种 cloud 模式运行在我们的服务器上,Semi-Auto 中的小型 local model 运行在你的机器上。两种方式都不需要 GPU。需要免费账户。
  • 输入与输出 正射影像和底图。输出一个带样式的 GeoPackage,每个对象一个多边形,并包含标签、类别、置信度分数和面积。
  • 费用 免费计划每月包含 3 km² 的 Automatic detection 和 50 次 Semi-Auto object detections,无需银行卡。Pro 每月 €39,包含 300 km² 和 2,000 次 object detections。在你自己的机器上运行 Semi-Auto 不计数。
  • 局限 禁止任何上传的规则。两种 cloud 模式都会将影像发送到服务器,只有小型 local model 会留在机器上。我们读取影像,不读取其他内容,因此扫描的地籍图纸不会产生结果。

Product page · Registry entry

QGIS plugin repository 中 TerraLab 的 AI Segmentation 条目,plugin ID 为 4670,About 标签页介绍了两种模式。Semi-Auto 会询问分割运行在哪里,其中 My computer 不发送任何内容,而 Cloud AI 会围绕每次点击发送一个小的影像裁剪区域,Automatic 则会将你绘制区域内的影像发送到 detection service。
我们的 repository 条目,2026 年 8 月 23 日。About 文本准确说明了每种模式下哪些内容会离开你的机器,这正是下表向所有工具提出的问题。

在 QGIS 中免费试用 AI Segmentation,无需银行卡

横向比较

ToolWhat you installGPUAccountImagery stays localWhat you feed itWhat you get outCost for real workLicence
Orfeo ToolBoxOTB, plus the QGIS providerNoNoYesAny rasterVector polygons with per-band mean and std devFreeApache 2.0
GRASS i.segmentNothing, it ships with QGISNoNoYesAn imagery groupSegment raster, plus stats from an addonFreeGPL
SAGASAGA NextGen provider pluginNoNoYesGridsSegment grid, optional polygonsFreeGPL, API LGPL
scikit-image, RSGISLibA Python environmentNoNoYesArrays you georeference yourselfLabel arraysFreeBSD-3, GPL v3
SCPThe plugin, then its dependenciesNoNoYesBands plus training areasClassified raster, accuracy reportFreeGPL v3
dzetsakaThe plugin, deps installed for youNoNoYesRaster plus a numbered ROI shapefileClassified raster and a model fileFreeGPL v3
GRASS i.maxlik, r.learn.ml2Nothing, then one addonNoNoYesSignature file or raster stackClassified rasterFreeGPL
Orfeo TrainImagesClassifierOTBNoNoYesImage and training vector pairsA model file, not a mapFreeApache 2.0
DeepnessPlugin, then OpenCV and ONNX RuntimeOptionalNoYesAny raster, plus your ONNX modelVector or raster layerFreeApache 2.0
Geo-SAMPlugin, deps handled for youOptionalNoYesRaster, XYZ, WMS or WMTSOne polygon per click or boxFreeMIT
samgeoA Python environmentYes for SAM 3NoYesGeoTIFF or fetched tilesMask rasters plus vector filesFreeMIT
GeoAIPlugin, plus a PyTorch stackNVIDIA in practiceNoYesRaster layerPolygons and masks by taskFreeMIT
MapflowThe pluginNoYesNoAn area you drawVector layers by classAbout $1.30 per km² of buildingsGPL v3
AI Segmentation (ours)The pluginNoYesNo for the two cloud modesA zone plus a wordStyled GeoPackage, one polygon per object3 km² a month free, €39 for 300 km²GPLv2 plugin, paid service
eCognitionThe suiteOptionalLicenceYesImagery, plus a rule set you writeObjects, classes and a portable .dcpQuote only, and no longer actively soldProprietary

如何选择

  • 你的交付物是方法,而不是地图。 这里没有任何工具可以替代 .dcp。保留一台能够打开规则集的机器,并在它报废前,将方法重建为有文档记录的 Processing model 或 Python script。
  • 你先进行了分割,然后按对象分类。 Orfeo 的两部分都要用:使用 LargeScaleMeanShift 生成对象,使用 TrainImagesClassifier 生成标签。这是唯一一个能够端到端保留对象统计数据的免费链路。
  • 你主要是绘制训练区域,然后点击分类。 使用 SCP 获取精度报告,使用 dzetsaka 在一分钟内得到模型。
  • 你希望今天下午就从影像中得到建筑物。 使用带有现成模型的 Deepness,或者在影像可以离开机器的情况下使用 Mapflow 或我们的产品。
  • 影像绝不能离开机器。 这个答案会排除 Mapflow 和我们的两种 cloud 模式,其他工具都可以保留。

今晚先在一个切片上运行 i.segment。它已经在你的 Processing toolbox 中,不需要任何费用,用二十分钟调整阈值,就能告诉你 eCognition 工作中有多少属于分割,又有多少属于规则集。

八个 AI plugin 的比较会更深入地介绍基于模型的部分。QGIS AI hub列出了其余工具。