NeighborMAE: Exploiting Spatial Dependencies between Neighboring Earth Observation Images in Masked Autoencoders Pretraining¶
会议: CVPR 2026
论文: CVF Open Access
代码: https://github.com/LeungTsang/NeighborMAE
领域: 遥感 / 自监督
关键词: 掩码图像建模, 地球观测, 自监督预训练, 空间依赖, MAE
一句话总结¶
NeighborMAE 把 MAE 从"重建单张遥感图"改成"联合重建一对地理上相邻的图像",靠相对位置编码、随 IoU 自适应的掩码比例和按可见性加权的重建损失,让模型显式学到相邻地物之间的空间依赖,在多个遥感分类/分割下游任务上稳定超过 SatMAE、ScaleMAE 等同类基线。
研究背景与动机¶
领域现状:在地球观测(Earth Observation, EO)领域,掩码图像建模(Masked Image Modeling, MIM)已经是主流自监督范式。MAE 系列(SatMAE、ScaleMAE、SatMAE++、CROMA、DOFA 等)通过遮住一张卫星图的大部分 patch、再让模型重建,从海量无标注卫星影像里学到可迁移表征,已经被广泛扩展到多光谱、多时相、多模态数据上。
现有痛点:几乎所有 MIM 框架都把每张影像 tile 当成孤立样本来处理——遮一张、重建这一张。但地球表面是连续的,一张卫星图只是一张巨大、空间连贯的"马赛克拼图"里的一小块。相邻区域的影像(来自卫星重访、不同任务的重叠拍摄、或空间裁剪)共享地形结构、土地利用连续性、人造设施延伸等大量上下文信息,却被现有 MIM 完全忽略。对比学习里这些相邻 tile 常被当成正样本用,但在 MIM 重建里几乎没人碰。
核心矛盾:学相邻图像的空间依赖,不等于简单把输入图放大成一张更大的静态图。相邻视角往往采集时间不同、视角几何不同、传感器不同,带来的是真实的"变化中的空间关系",而不是同一张图的不同区域。直接把两张相邻图拼起来联合重建,又会引入捷径学习:如果一个被遮的像素在邻图对应位置恰好可见且没怎么变化,模型只要"复制粘贴"邻图就能蒙混过关,学不到东西。
本文目标:(1) 在 MIM 框架里显式建模相邻 EO 图像之间的空间(及顺带的时间)依赖;(2) 同时保证预训练任务依然足够难,不被相邻图带来的额外信息"喂软"。
核心 idea:把 MAE 的重建对象从"一张图"换成"一对相邻图"——所有可见 patch 拼在一起进 encoder,让 self-attention 跨图建立联系,再联合重建两张图;并用 IoU 驱动的动态掩码和可见性加权损失堵住捷径。
方法详解¶
整体框架¶
NeighborMAE 建立在原版 MAE 之上:encoder 只吃可见 patch、decoder 用 mask token 补全被遮区域、在像素空间做重建。它的关键改动是把一对相邻图像作为一个训练样本联合处理。整条流程是:先从数据集里按地理坐标的交并比(IoU)采样出一对相邻图 \((I_i, I_j)\);经过随机裁剪等增强、并据此重新计算各自的地理边界框;把两张图的相对位置统一编码进一个共享坐标系;根据这对图的重叠程度决定掩码比例;然后两张图的可见 patch 拼接进 MAE,通过 self-attention 联合重建;最后用按"输入可见性"设计的权重去缩放跨图可见像素的重建损失,避免模型走复制捷径。预训练完成后,encoder 作为骨干迁移到下游分类/分割。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["EO 数据集<br/>(带地理元数据)"] --> B["相邻图像采样<br/>IoU > α 查表取 (Ii, Ij)"]
B -->|随机裁剪增强<br/>重算边界框| C["相对位置编码<br/>归一化到共享坐标系"]
C --> D["动态掩码比例<br/>随 IoU 在 [m1, m2] 调整"]
D --> E["联合 MAE 重建<br/>双图 patch 拼接 + self-attention"]
E --> F["可见性加权损失<br/>self/cross/not-visible 三类像素"]
F --> G["空间感知表征<br/>迁移到分类/分割"]
关键设计¶
1. 相邻图像采样:用地理 IoU 把"相邻"定义清楚并预先查表
要联合重建一对相邻图,第一步是定义什么叫"相邻"。本文用最直接的标准:两张图在地表的覆盖范围有重叠就算潜在邻居。给定带元数据的数据集 \(D\),用每张图的地理参考边界框 \((\phi_{min}, \phi_{max}, \lambda_{min}, \lambda_{max})\)(经纬度范围)计算两两 IoU,超过阈值 \(\alpha\) 就算邻居:
这个邻居集合离线预计算并存成查找表,训练时对每个采样到的 \(I_i\) 直接从 \(\mathcal{N}(I_i)\) 里随机抽一张 \(I_j\),避免在线搜索拖慢训练。阈值 \(\alpha\) 按数据集调:object-centric 的 fMoW 设 0.1(排除"一张图只是另一张的极小裁剪"这种弱依赖),而滑窗密集裁出的 Satellogic 设 0.0(让紧邻 patch 也算邻居)。值得注意的是,采样只看空间覆盖,不对时间、任务、云量做任何约束——这些差异是数据集自带的,反而提供了有用的多样性。
2. 相对位置编码:把两张图的相对位置塞进一个共享坐标系
模型要学空间依赖,就必须知道两张图"谁在谁的左上/右下、重叠多少"。但下游应用未必有地理元数据,所以不能直接喂绝对经纬度。本文把这对图的边界框用它们自身经纬度的最小/最大值归一化到 \([0,1]\),得到每张图在共享坐标系里的 \(top_i, bottom_i, left_i, right_i\)(例如单图输入时归一化框退化成常数 \((0,1,0,1)\))。这样的相对位置完全在图像坐标系里计算,不依赖地表绝对距离,迁移时也保持一致。归一化后把 patch 级别的边界框用标准正弦位置编码映射到 ViT 维度,再加上一个可学习的 image-level embedding 来区分"这个 token 属于哪张图"。随机裁剪增强会改变覆盖范围,所以裁剪后要按裁剪参数(左上角 + 裁剪尺寸)重新推算边界框,这一步保证即使两张图原本同覆盖(时间重访),裁剪后仍有真实的空间偏移可学。
3. 动态掩码比例:重叠越多遮得越狠,维持重建难度
引入邻图等于给模型多喂了信息,重建任务会变简单——尤其当两张图高度重叠、近似"序列"时,类似把 MAE 用到视频上时往往需要更高掩码率。固定掩码率会让高重叠样本太容易、低重叠样本又可能太难。本文让掩码比例随这对增强后图像的 IoU 线性插值:
重叠越大(信息越冗余),掩码率越往上界 \(m_2\) 推,把任务重新拉难;几乎不重叠时退回下界 \(m_1\)(与原版 MAE 一致)。实验里 \(m_1=0.75\)、\(m_2=0.85\) 最优,正好说明"无重叠时保持 MAE 的 0.75,全重叠时升到 0.85"这个直觉是对的。
4. 可见性加权损失:按"邻图能不能抄到"给跨图可见像素打折,堵死复制捷径
这是防捷径的核心。联合重建时,把 \(I_i\) 里要重建的像素分成三类:self-visible(在本图就没被遮)、cross-visible(本图被遮、但在邻图对应位置可见)、not-visible(两张图都看不到)。危险在 cross-visible:如果该像素跨图可见且变化不大,模型只要从邻图"复制粘贴"就能预测,等于没学到任何空间推理。
本文先用坐标变换建立两张图的像素对应:用变换矩阵 \(T_i\) 把 \(I_i'\) 的像素从图像坐标变到共享坐标系,再用 \(T_j^{-1}\) 变到 \(I_j'\) 的图像坐标,于是 \(I_i'\) 里像素 \(p_i\) 在邻图的对应像素为 \(p_i^j = T_j^{-1} T_i\, p_i\)。然后给每个像素的 MSE 重建损失乘权重:
self-visible 像素权重为 0(和 MAE 一样不重建已见区域);not-visible 像素权重为 1(正常重建);关键是 cross-visible 像素:分子是"直接拿邻图对应像素当预测"的误差,分母是"模型实际预测"的误差。如果邻图和本图该像素几乎一样(分子很小),说明这就是个能被复制的捷径,权重被压低、几乎不计损失;如果邻图对应位置变化很大(分子大),权重封顶为 1,正常重建。这个权重从梯度图里 detach,只当缩放系数用。直觉就是:能抄的不奖励、变化大的照常学。
损失函数 / 训练策略¶
重建用 MSE,按上述可见性权重缩放后求和。骨干为 ViT-Large-16,fMoW 上训 800 epoch、Satellogic 上训 50 epoch,batch size 2048,学习率 \(1.5\text{e-}4 \times bs/256\)。为了和普通 MAE 在"计算量/epoch"上公平对齐,NeighborMAE 的 epoch 数按"训练过的图像总数等于数据集大小"来定义,batch size 也按实际图像数(而非图像对数)算。
实验关键数据¶
主实验¶
ViT-Large-16,在 fMoW-RGB 或 Satellogic-RGB 上预训练,迁移到 7 个 RGB 遥感下游任务(5 分类 + 2 分割),每格为 "冻结骨干 / 全量微调",报 3 次独立运行均值。
| 任务(指标) | MAE (fMoW) | NeighborMAE (fMoW) | NeighborMAE (Satl.) | DOFA |
|---|---|---|---|---|
| fMoW 分类 (Acc) | 66.8 / 78.2 | 68.8 / 79.3 | 58.8 / 77.9 | 62.6 / 78.0 |
| UC Merced (Acc) | 87.8 / 94.5 | 91.4 / 97.6 | 88.8 / 96.2 | 96.4 / 98.3 |
| RESISC45 (Acc) | 89.8 / 96.0 | 91.0 / 96.6 | 88.5 / 95.6 | 94.5 / 97.4 |
| FireRisk (Acc) | 60.7 / 63.5 | 61.4 / 64.2 | 60.4 / 64.0 | 60.3 / 64.0 |
| ForestNet (Acc) | 50.1 / 55.5 | 52.4 / 57.0 | 51.5 / 56.8 | 43.8 / 54.0 |
| FBP 分割 (mIoU) | 58.8 / 63.9 | 60.3 / 66.6 | 58.4 / 63.7 | 59.7 / 66.2 |
| PASTIS-HD 分割 (mIoU) | 31.1 / 33.9 | 31.8 / 36.1 | 32.5 / 35.4 | 32.2 / 35.6 |
相对直接基线 MAE:fMoW 分类线性探测 +2.0%、微调 +1.1%;分割上 FBP 微调 +2.7% mIoU、PASTIS-HD +2.2% mIoU。同 research line 里(SatMAE/ScaleMAE/SatMAE++/CrossScale),NeighborMAE 在 in-domain fMoW 分类、火灾风险、森林砍伐等任务上明显领先;对比用大规模多模态多光谱数据训的 SOTA 模型 DOFA,在 RGB 任务上整体打平、fMoW 上甚至略超(DOFA 在 UC Merced/RESISC45 等场景分类上更强)。
消融实验¶
增益来源(同 token 预算下对比不同"扩展输入"方式,ViT-Base):
| 输入方式 | fMoW Acc | FBP mIoU |
|---|---|---|
| (a) base 单图 | 58.0 / 76.5 | 53.5 / 58.2 |
| (b) 单纯放大图幅 | 58.2 / 76.7 | 53.8 / 58.6 |
| (c) 空间相邻图 | 58.7 / 76.8 | 54.1 / 58.9 |
| (d) 同地多时相图 | 58.2 / 77.0 | 54.5 / 58.7 |
| (e) 多时相相邻图 | 61.7 / 77.7 | 56.0 / 60.4 |
| 组件消融 | 配置 | fMoW Acc | 说明 |
|---|---|---|---|
| 动态掩码 | 固定 0.75 | 61.0 / 77.4 | 不随 IoU 调,掉点 |
| 动态掩码 | 固定 0.80 | 60.8 / 77.3 | 比动态差 |
| 动态掩码 | m1=0.75, m2=0.85 | 61.7 / 77.7 | 最优 |
| 加权损失 (Satl.) | full 全重建 | 50.2 / 74.1 | 含所有未遮像素,严重退化 |
| 加权损失 (Satl.) | cross 权重=1 | 51.8 / 75.1 | 不打折,掉点 |
| 加权损失 (Satl.) | ours | 52.4 / 75.8 | 按可见性压低 cross 权重 |
关键发现¶
- 真正的增益来自"相邻"而非"更多 token":单纯放大图幅 (b) 几乎不涨,换成相邻图 (c) 才开始涨,而空间+时间一起的 (e) 增益最大(fMoW Acc 58.0→61.7)——说明相邻图带来的"变化中的空间多样性"才是关键,且空间与时间依赖存在协同。
- 加权损失在低时间变化数据上才显威力:fMoW 本身多为长期多时相、变化大,cross-visible 像素本来就难抄,加权效果接近 full weighting;但 Satellogic 重访少、邻图常来自同一张图的裁剪,"复制捷径"风险高,此时压低 cross-visible 权重明显涨点(去掉它从 52.4 掉到 51.8)。
- 代价很小:相比 MAE,联合编解码两张图因 self-attention 的 \(O(n^2)\) 略增开销(batch time 0.122s→0.134s,显存 15.5→19.6 GB/GPU),但远比多尺度重建的 SatMAE++(0.381s,58.7 GB)便宜——后者的上采样极其费算力。
亮点与洞察¶
- 重新定义了 MIM 的"样本单位":把训练样本从"一张孤立 tile"升级成"一对地理相邻图",挖的是 EO 数据里早就存在、却被对比学习独占的空间连续性信号,思路简单但切中要害。
- 可见性加权损失是很可复用的防捷径 trick:用"邻图直接当预测的误差"作分子去自适应判断"这个像素能不能被抄",能抄的自动降权、变化大的照常学,比一刀切排除 cross-visible 像素更细腻。这套"用 baseline 预测难度反向加权损失"的思路可迁移到任何带冗余对应关系的重建任务。
- 动态掩码把"信息越多任务越易"这件事量化进了 IoU:用一个标量 IoU 线性控制难度,省事且解释性强,最优区间 [0.75, 0.85] 也正好对上"无重叠=MAE 原值、全重叠=更狠"的直觉。
- 相对位置编码绕开了对绝对地理元数据的依赖:归一化到共享坐标系,下游没有经纬度也能用,单图退化成常数框,工程上很干净。
局限与展望¶
- 只做了 RGB:作者明确把多光谱、多模态扩展留作 future work(为隔离空间依赖、与前作公平对比才限定 RGB);而 EO 的真正价值很大一部分在多光谱,当前结果还不能代表完整能力。
- 只支持两张相邻图:self-attention 的 \(O(n^2)\) 复杂度让扩展到更多邻居代价陡增,作者承认要靠 token 缩减或新架构才能 scale。
- 依赖地理元数据采样邻居:预训练阶段需要地理参考边界框来建查找表,对没有元数据的数据集不适用(虽然下游不需要)。
- 对 DOFA 等大规模模型只是"打平":在场景分类类任务(UC Merced/RESISC45)仍落后 DOFA 较多,说明 RGB-only + 中等数据规模的上限有限,增益主要体现在火灾/森林等专门任务上。
相关工作与启发¶
- vs MAE / SatMAE:它们重建单张图,NeighborMAE 联合重建一对相邻图,多出跨图 self-attention 学空间依赖;在同设置下稳定超过两者。
- vs ScaleMAE / SatMAE++:后者通过多尺度重建"部分"捕捉空间信息,但靠合成的多尺度线索且上采样极贵;NeighborMAE 用真实相邻图的自然空间连续性,更便宜、增益更直接。
- vs Cross-Scale MAE:它也用数据增强造的相邻图,但只把它们分开处理、喂给辅助的对比目标,没在重建里联合建模;NeighborMAE 是直接在重建目标里联合两张真实相邻图。
- vs 对比学习(SeCo / Tile2Vec / GASSL):这些把地理/时间相近的 tile 当正样本,依赖预设相似度假设和手工增强,遇到地物边界等"空间近但语义不同"会失灵;NeighborMAE 用重建目标天然规避了相似度假设,更鲁棒。
评分¶
- 新颖性: ⭐⭐⭐⭐ 第一个在 MIM 重建目标里联合建模真实相邻 EO 图、并配套防捷径机制,角度被忽略但很扎实。
- 实验充分度: ⭐⭐⭐⭐ 两个预训练集 × 7 个下游任务 × 冻结/微调,消融把"增益来源/掩码/损失"逐项拆清;缺多光谱与三邻图以上的验证。
- 写作质量: ⭐⭐⭐⭐ 动机清晰、公式完整、消融设计(尤其"增益来源"对照)很有说服力。
- 价值: ⭐⭐⭐⭐ 给 EO 自监督指出一条便宜可落地的方向,防捷径加权损失有跨任务复用价值。