RS-02 GeoFM Benchmark Leakage Audit
RS-02 GeoFM Benchmark Leakage Audit
研究问题:geospatial foundation model 评测中的训练-测试泄漏如何影响 SOTA,尤其是地理区域重叠、时间重叠、同源瓦片、下游数据被预训练数据覆盖四类问题。本文面向光学/多光谱遥感优先,方法也可用于多模态 GeoFM;涉及 SAR 的模型只作为评测设置参考。
1. 问题由来
GeoFM 的预训练数据通常来自全球尺度 Sentinel-2、Landsat、NAIP、航空影像、气象/地理辅助数据和公开下游数据集合并。模型越大,越容易出现一个尴尬问题:下游 benchmark 的测试图像、相邻瓦片、同一 Sentinel/Landsat scene、同一年同一区域影像,可能已经在预训练中出现过。
这会让 SOTA 被高估,尤其在以下场景中:
- 地理区域重叠:训练或预训练见过同一城市、同一农田地块、同一灾区附近区域,测试看似独立但空间自相关很强。
- 时间重叠:测试年份、季节或灾害前后影像被预训练覆盖,模型可能记住局部地物状态,而不是真正泛化。
- 同源瓦片泄漏:大幅影像被切成 patch 后随机划分,训练/测试 patch 共享同一 parent scene 或 mosaic。
- 下游数据覆盖:模型预训练直接使用了下游 benchmark 的影像、标签衍生产品、caption/QA 或同源公开数据。
2024-2026 的趋势是:PANGAEA、PhilEO Bench、Copernicus-Bench、GEOBench-VLM 等开始统一评测;EarthShift 和 REOBench 开始强调真实分布偏移;No One Knows the State of the Art in Geospatial Foundation Models 则把问题进一步推到“GeoFM SOTA 是否可被清晰比较”的层面。我的判断是:未来两年,GeoFM 论文如果没有清楚的数据血缘和泄漏审计,很难让评测结论真正站稳。
2. 重点来源
| 来源 | 年份 | 链接 | 与泄漏审计的关系 |
|---|---|---|---|
| PANGAEA: A Global and Inclusive Benchmark for Geospatial Foundation Models | 2024/2025 | arXiv, project, GitHub | 跨任务、跨区域、跨模态统一评测,是审计协议的主目标之一。 |
| EarthShift: a benchmark for measuring robustness to real-world distribution shifts in Earth observation | 2026 | arXiv, project | 明确把真实世界 shift 放进 benchmark,可用于“去泄漏后性能下降”对照。 |
| No One Knows the State of the Art in Geospatial Foundation Models | 2026 | arXiv | 直接指出 GeoFM SOTA 比较不稳定、评测协议和透明度不足。 |
| Prithvi-EO-2.0 | 2024 | arXiv, GitHub, HF | HLS 多时相预训练,适合审计同 MGRS tile、同日期、同区域覆盖。 |
| Clay Foundation Model | 2024/2025 | docs, GitHub, HF | 多传感器、多时相工程化开源模型,模型卡/数据卡透明度适合做 audit case。 |
| SkySense | 2024 CVPR | CVF, GitHub | 大规模多模态遥感 FM,代表高性能但数据源复杂的评测场景。 |
| Galileo | 2025 | arXiv, GitHub | 全球/局部多模态 EO 表征,适合审计跨区域与下游任务覆盖。 |
| TerraMind | 2025 | arXiv, GitHub | 任意模态到任意模态 EO 生成/表征,适合审计“预训练是否见过下游目标模态或标签产品”。 |
| PhilEO Bench | 2024 | project, arXiv, HF | few-shot/n-shot GeoFM benchmark,可用来验证去泄漏 split 后的样本效率变化。 |
| Copernicus-FM / Copernicus-Bench | 2025 | arXiv, GitHub, HF | Copernicus 数据预训练和层级任务评测,适合做同源 Copernicus 数据覆盖审计。 |
| REOBench | 2025 | arXiv, GitHub, HF | 光学遥感扰动鲁棒性 benchmark,可作为泄漏之外的 robustness 对照。 |
3. 方法脉络:从随机划分到数据血缘审计
3.1 传统随机划分的问题
很多遥感数据集来自若干城市或少量大幅影像。随机切 patch 会让训练和测试共享同一城市纹理、同一传感器条件、同一季节,甚至同一 parent image。对于建筑、道路、作物和土地覆盖任务,这种空间自相关足以显著抬高测试分数。
3.2 空间留出与时序留出
更强的做法是 leave-city-out、leave-region-out、leave-country-out、leave-season-out 和 leave-year-out。但这仍然不够,因为预训练语料可能已经覆盖了测试区域。对 GeoFM 来说,必须审计“预训练数据 vs 下游测试数据”,而不是只审计“下游训练 vs 下游测试”。
3.3 同源瓦片与 parent-scene 审计
遥感影像常有清晰 parent ID,例如 Sentinel-2 MGRS tile、Landsat path/row、NAIP tile、Maxar/航空影像 mosaic id。若训练和测试 patch 来自同一 parent scene,即使 patch 没有像素重叠,也会共享成像条件和空间上下文。GeoFM 评测应报告 parent-scene overlap rate。
3.4 近重复与 embedding 审计
当数据缺少完整元数据时,需要用 pixel hash、感知哈希、CLIP/GeoFM embedding 近邻和地理近邻共同去重。仅靠文件名或经纬度不够,因为公开数据集常经过重采样、裁剪、压缩和增强。
3.5 下游标签和衍生产品污染
更隐蔽的一类泄漏来自标签产品:预训练任务可能使用已有 land cover map、building footprint、road map 或 caption/QA,后续 benchmark 又用同源产品作为标签。此时模型不一定见过测试影像,但可能见过测试标签的衍生来源。
4. 可复现 Leakage Audit Protocol
4.1 输入
对每个模型和 benchmark,收集以下元数据:
- 模型侧:预训练数据集列表、时间范围、空间范围、传感器、产品级别、采样策略、是否包含公开下游数据、是否包含标签/文本/矢量产品。
- benchmark 侧:每个样本的 footprint、acquisition time、sensor、GSD、parent scene id、tile id、split、label source。
- 文件侧:原始文件名、STAC item、checksum、图像尺寸、重采样方式。
推荐统一成 STAC-like schema:
{
"sample_id": "string",
"dataset": "PANGAEA_or_downstream_name",
"split": "train|val|test|pretrain",
"sensor": "Sentinel-2|Landsat|NAIP|...",
"product_level": "L1C|L2A|HLS|...",
"datetime": "YYYY-MM-DD",
"footprint_wkt": "POLYGON(...)",
"parent_scene_id": "string_or_null",
"gsd_m": 10,
"label_source": "manual|OSM|ESA_WorldCover|auto|unknown",
"asset_hash": "optional"
}4.2 审计指标
| 指标 | 定义 | 用途 |
|---|---|---|
| Spatial Overlap Rate | test footprint 与 pretrain/train footprint 的 IoU 或 buffer overlap 比例 | 发现同区域泄漏 |
| Parent Scene Match Rate | test 样本 parent scene id 在 pretrain/train 中出现的比例 | 发现同源瓦片泄漏 |
| Temporal Proximity Rate | test 与 pretrain/train 在同区域内时间差小于阈值的比例 | 发现同季节/同事件泄漏 |
| Near-Duplicate Rate | pHash/embedding/top-k nearest neighbor 超过阈值的比例 | 发现重采样、裁剪、压缩后的重复 |
| Label Source Collision | benchmark label source 与 pretraining auxiliary product 是否同源 | 发现标签产品污染 |
| Unknown Provenance Rate | 无法确认空间/时间/父场景/标签来源的样本比例 | 衡量模型评测透明度 |
4.3 风险等级
| 等级 | 名称 | 判定示例 | 建议处理 |
|---|---|---|---|
| L0 | Clean/Documented | 无空间重叠,时间和 parent scene 不重叠,数据血缘清楚 | 可作为主结果 |
| L1 | Nearby Context | 测试区域周边 buffer 内出现训练/预训练样本 | 报告敏感性分析 |
| L2 | Same Region/Season | 同城市或同 MGRS tile,同季节但不同 parent scene | 单独报告 region-holdout |
| L3 | Parent Scene Leakage | 同一 parent scene/mosaic 被训练和测试共享 | 不应作为主 SOTA |
| L4 | Near-Duplicate Leakage | 图像近重复或裁剪自同一像素区域 | 必须剔除 |
| L5 | Label/Product Leakage | 预训练使用了测试标签同源产品或下游测试集 | 必须隔离并声明 |
| UX | Unknown | 元数据不足无法判断 | 不能只报单一分数,应作为高风险不确定项 |
4.4 实验设计
对每个模型做四组评测:
- Reported split:复现实验原始 split。
- De-overlapped split:移除 L3-L5 样本,L2 样本单独标注。
- Spatial buffer split:测试区域周围 1/5/10/50 km buffer 内的训练/预训练样本剔除。
- Leave-domain split:按城市、国家、生态区、季节、年份、传感器分别留出。
报告这些数:
- 原始分数:mIoU、F1、mAP、OA、RMSE 或任务指标。
- 去泄漏分数:同样指标。
- Leakage Sensitivity:
(reported_score - clean_score) / reported_score。 - Robustness Ratio:
clean_score / in_domain_score。 - Unknown Provenance Rate:越高,结论越弱。
4.5 最小可复现实验
建议先做一个小而完整的 proof-of-concept:
| 模块 | 推荐选择 |
|---|---|
| 模型 | Prithvi-EO-2.0、Clay、SkySense 或 Galileo 中至少 2 个开源模型 |
| benchmark | PANGAEA 中 2-3 个光学任务 + PhilEO Bench 或 EarthShift 一个鲁棒任务 |
| 任务 | land cover segmentation、crop/building mapping、flood/wildfire binary mapping |
| 元数据 | STAC footprint、日期、sensor、MGRS tile/scene id、label source |
| 审计方法 | spatial join + parent scene matching + temporal delta + embedding nearest neighbor |
| 输出 | 原始 split vs de-overlapped split 的性能差和风险报告 |
5. 可能的实现路线
5.1 数据表构建
把所有样本转成 samples.parquet:
sample_iddatasetsplitgeometrydatetimesensorparent_scene_idlabel_sourceasset_uri
5.2 空间/时间审计
用 GeoPandas 或 DuckDB Spatial 做空间连接:
- test vs pretrain/train IoU。
- test centroid 到最近 pretrain/train footprint 距离。
- 同区域时间差分布。
- buffer 距离敏感性曲线。
5.3 近重复审计
三层去重:
- 精确 hash:找完全重复文件。
- perceptual hash:找重采样/压缩后的近重复。
- embedding kNN:用 Clay/Prithvi/DINOv2/RemoteCLIP feature 找语义和视觉近重复,再人工抽查。
5.4 标签产品审计
对每个标签记录来源:
- manual polygon/mask。
- OSM/building footprint/road map。
- ESA WorldCover/Dynamic World/GlobCover 等土地覆盖产品。
- VLM/SAM/GroundingDINO 自动生成。
若模型预训练或辅助任务使用同一产品,标为 L5 或至少 UX。
6. 未来研究方向
方向 A:GeoFM 数据血缘卡
给每个 GeoFM 增加“pretraining provenance card”:列出传感器、时间范围、空间覆盖、公开 benchmark 是否排除、标签产品是否使用、不可公开数据比例。贡献点不是新模型,而是让模型评测可审计。
方向 B:Leakage-aware leaderboard
为 PANGAEA/EarthShift 类 benchmark 增加 leakage risk column:主排名只看 L0-L1;L2-L5 分数只能作为辅助结果。这样可以解释为什么某模型 reported SOTA 高但 clean split 掉分明显。
方向 C:空间自相关校正指标
传统置信区间假设样本独立,不适合遥感 patch。可以引入 spatial block bootstrap 或 variogram-aware confidence interval,让 benchmark 报告更真实的不确定性。
方向 D:近重复自动审计工具
做一个开源工具 geofm-leakage-audit:输入 STAC catalog 和模型数据卡,输出 overlap report、risk heatmap、near-duplicate gallery 和 clean split。这个方向工程味重,但很容易服务多个论文。
方向 E:预训练数据不可公开时的黑盒审计
很多商业或大规模模型不能公开完整预训练数据。可研究 membership inference 的遥感版本:基于模型 embedding、loss、nearest-neighbor consistency 和区域留出表现,估计测试样本是否可能在预训练中出现。
7. 一页论文 proposal
题目:Leakage-Aware Evaluation for Geospatial Foundation Models
核心假设:当前 GeoFM benchmark 的一部分性能来自空间、时间、同源瓦片和标签产品泄漏;系统审计并清洗后,模型排名和泛化结论会发生可测变化。
方法:
- 建立 STAC-like provenance schema。
- 定义 L0-L5/UX 泄漏风险等级。
- 对 PANGAEA、PhilEO Bench、EarthShift 的若干任务构建 clean/de-overlapped splits。
- 评测 Prithvi-EO-2.0、Clay、SkySense/Galileo/TerraMind 可用 checkpoint 或公开 embedding。
- 发布 audit tool 和 leaderboard report。
实验:
- 主实验:reported split vs clean split。
- 消融:只去空间重叠、只去 parent scene、只去 temporal overlap、只去 near duplicate。
- 泛化:leave-city、leave-country、leave-season、leave-sensor。
- 稳健性:不同 buffer 半径与不同 pHash/embedding 阈值。
风险:
- 模型预训练数据不完全公开,部分只能标 UX。
- 有些 benchmark 缺少精确 footprint,需要从文件名或 STAC 回填。
- 去泄漏后数据量变小,需要报告样本量和置信区间。
预期贡献:
- 给 GeoFM 评测提供可复现审计协议。
- 解释 SOTA 排名不稳定的部分原因。
- 让后续 GeoFM 论文更难依赖隐性数据覆盖获得高分。
8. 下一步阅读与执行清单
- 逐篇读 PANGAEA、EarthShift、No One Knows the SOTA,抽取它们对数据划分和鲁棒性的定义。
- 下载或查看 Prithvi-EO-2.0、Clay、Galileo、TerraMind 的 model/data card,记录预训练时间范围、传感器和数据透明度。
- 选 2 个公开 benchmark 做样本级 metadata 表。
- 写最小
audit_report.ipynb:空间重叠、parent scene、时间差、near duplicate。 - 先用 linear probe 复现实验,不急着 full fine-tune,快速观察 clean split 掉分幅度。
评论