edit | blame | history | raw

变化检测

这是一个可独立运行的 CPU Demo,用 geoai-py 0.42.0 的 ChangeStar 接口对双期
影像生成变化概率栅格、二值变化栅格和变化图斑 GeoJSON。能力边界为 A(直接
GeoAI 能力)
;OpenCV 只负责普通 JPG 的特征配准和尺寸处理,Rasterio/GeoPandas
负责无 CRS 输入的栅格与矢量写出。

输入契约

  • --before:第一期影像(用户样例为 baseData/07-16.jpg)。
  • --after:第二期影像(用户样例为 baseData/07-19.jpg)。
  • 普通图片模式支持 JPG/PNG 和无 CRS 的 TIFF,先转换为内部 RGB GeoTIFF 并使用
    像素坐标;GeoTIFF 模式要求两期输入都是带相同 CRS 的 RGB GeoTIFF。若像元大小、原点、
    旋转方向或尺寸不同,流程只在处理副本中将第二期双线性重投影到第一期网格;不会改写原始 TIFF。
  • 自动模式会在两期输入都具备有效 CRS/仿射变换时启用 GeoTIFF 模式,否则使用普通
    图片模式。带 CRS 的 GeoTIFF 会保留空间参考,普通 JPG/PNG 结果不能解释为米或经纬度。

运行

& .\.venvs\00-change-detection\Scripts\python.exe `
  .\capabilities\00-change-detection\run_change_detection.py `
  --before .\baseData\07-16.jpg `
  --after .\baseData\07-19.jpg `
  --threshold 0.5 `
  --processing-mode auto `
  --output .\shared\outputs\00-change-detection\validation-real-20260817

带空间参考的双期 GeoTIFF 可显式使用 --processing-mode geotiff --max-dimension 0
普通图片可使用 --processing-mode image --max-dimension 2048。省略模式时使用
auto,省略 --max-dimension 时普通图片默认 1024,带 CRS 的 GeoTIFF 默认保持原始尺寸。

首次运行会从 Hugging Face 缓存 ChangeStar s1_s1c1_vitb 权重;CPU 运行时间与
机器和缩放参数有关。--max-dimension 默认 1024,--tile-size 默认 512,适合
先做代表性验证;增加尺寸或批量运行前应先人工检查配准和误报。每次运行可单独
选择 0.010.99 的变化概率阈值,默认值为 0.5;实际阈值会写入
run_metadata.jsonthresholds.change_probability
处理分辨率也可按运行选择长边上限:1024(快速预览,默认)、1536(标准)、
2048(小目标优先)或 3072(高细节)。分辨率越高越容易保留车辆等小目标,
但 CPU 耗时和内存占用会增加;实际处理尺寸记录在 run_metadata.json
max_dimensionprocessed_shape 中。
GeoTIFF 模式还支持 0,表示保持原始像素尺寸和地理分辨率;普通图片的 0
自动回退到 1024

输出

每次运行目录包含:

  • before.tifafter_registered.tif:处理输入;GeoTIFF 模式保留 CRS 和仿射变换。
  • change_probability.tif:模型输出的 float32 变化概率。
  • change_mask_raw.tifchange_mask.tif:阈值前后二值栅格(0/255)。
  • change_overlay.png:第二期影像上的红色变化叠加和双期对比。
  • changes.geojson:通过 geoai.masks_to_vector 导出的变化图斑,附带面积和概率
    统计;无变化时也会写出空 FeatureCollection
  • change_features.json:图斑面积、概率统计和像素边界。
  • run_metadata.json:版本、模型、阈值、配准、缩放、耗时、坐标和限制说明。

验收口径

已验证两类代表性样本:

  1. 正常基线:07-16.jpg 与自身比较,期望变化比例接近 0,检查管线的空变化
    输出、GeoJSON 和元数据是否完整。
  2. 困难真实样本:07-16.jpg07-19.jpg,检查特征配准、有效区域遮罩、栅格
    和矢量输出是否可读。该样本是近景边坡照片,不是 ChangeStar 训练分布,不能
    据此宣称工程变化检测准确率。

另外对城市停车场双期样本做了分辨率对照:1024 档位输出 1 个图斑,2048
档位输出 16 个图斑,更多车辆和停车区域变化被覆盖;2048 档位 CPU 用时约
84 秒,仍存在误报和漏检,结果不能视为车辆变化检测准确率。

没有人工变化真值,Demo 不报告 precision、recall、IoU 或“变化类型”。后续若要
用于边坡/排洪沟等业务,需要同 CRS 正射影像、人工掩膜、误报/漏报统计和许可审查。

许可

  • geoai-py 0.42.0:MIT。
  • torchange 0.0.4:Apache-2.0;ever-beta 的 PyPI 元数据标为保留权利,需
    单独复核。
  • ChangeStar 权重 EVER-Z/Changen2-ChangeStar1x256CC BY-NC-SA 4.0,当前
    只能用于非商业验证,不可直接用于商业产品。
  • 用户提供的 baseData 图片:版权/使用授权未知,需由数据提供方确认。