SelectiveMAE:用高效掩码图像建模驯服海量卫星影像

SelectiveMAE:用高效掩码图像建模驯服海量卫星影像

ICCV 2025 | 遥感基础模型预训练新范式


项目内容
标题Harnessing Massive Satellite Imagery with Efficient Masked Image Modeling
会议ICCV 2025
作者Fengxiang Wang (国防科大), Hongzhen Wang (清华), Di Wang (武大), Zonghao Guo (清华), Zhenyu Zhong (南开), Long Lan (国防科大), Wenjing Yang (国防科大), Jing Zhang (武大)
单位国防科技大学、清华大学、武汉大学、南开大学、中关村学院
代码GitHub
数据集OpticalRS-13M / OpticalRS-4M
模型HuggingFace Models
许可Apache License 2.0

本文提出了一套完整的遥感基础模型预训练管线:先构建了1300万张光学遥感图像的大规模数据集 OpticalRS-13M,再设计了面向遥感图像特性的高效掩码图像建模方法 SelectiveMAE,在训练效率提升2倍以上的同时,下游任务精度全面超越现有方法。


遥感图像与自然图像有本质区别,这直接决定了不能简单套用自然场景的预训练方法:

稀疏前景,密集背景。 一张224×224的遥感图像中,真正包含语义信息的前景区域可能不足20%,其余都是大面积的天空、水体、裸地等冗余背景。这意味着传统MAE对所有patch一视同仁地做重建,大量计算浪费在了毫无信息量的像素上。

场景多样性不足。 现有遥感数据集规模有限。ImageNet-21k有1400万样本,而遥感领域最大的公开光学数据集 MillionAID 仅有100万张。数据量的天花板直接制约了MIM方法学习通用表征的能力。

计算开销巨大。 在100万张遥感图像上用MAE预训练ViT-B需要107小时(8块A100)。如果扩展到千万量级,训练时间将变得不可接受。

问题具体表现
数据集规模不足现有RS数据集约100万样本,远小于ImageNet-21k的1400万
数据多样性欠缺多数数据集仅覆盖场景分类,缺乏细粒度目标和事件信息
重建效率低下MAE重建75%的patch,其中大量是冗余背景
收敛速度慢大规模数据集上的MIM训练耗时过长

┌─────────────────────────────────────────────────────────────────────┐
│                    SelectiveMAE 预训练管线                          │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  ┌──────────────┐    ┌──────────────────┐    ┌──────────────────┐   │
│  │ OpticalRS-13M │    │   SelectiveMAE   │    │  下游任务微调     │   │
│  │  数据集构建    │───>│  高效MIM预训练    │───>│  分类/检测/分割   │   │
│  └──────────────┘    └──────────────────┘    └──────────────────┘   │
│         │                    │                                        │
│         ▼                    ▼                                        │
│  ┌──────────────┐    ┌──────────────────┐                           │
│  │ 排除/切片/去重 │    │  PSTS模块        │                           │
│  │ 1300万张图像   │    │  渐进式语义token  │                           │
│  └──────────────┘    │  选择策略         │                           │
│                      └──────────────────┘                           │
└─────────────────────────────────────────────────────────────────────┘

OpticalRS-13M 的构建遵循 DiRS原则(Diversity, Richness, Scalability):

公开遥感数据源
┌─────────────┐
│   排除(Exclusion)  │  去除低质量、非光学图像
└─────────────┘
┌─────────────┐
│   切片(Slicing)    │  将大尺寸图像切成统一大小patch
└─────────────┘
┌─────────────┐
│  去重(Deduplication) │  基于感知哈希去除重复图像
└─────────────┘
  OpticalRS-13M
  (13,203,698张图像)
  (总像素: 2,630,362,174,503)
  (平均每张: 199,214像素)
数据集图像数量数据类型覆盖任务
MillionAID100万光学场景分类
SeCo100万光学时序变化
CACo100万光学变化检测
SSL4EO-S12数百万多光谱/SAR多任务
SatLasPretrain243k多光谱多任务
OpticalRS-13M1300万光学多任务+事件

OpticalRS-13M 的核心优势:

  • 规模碾压:至少是现有光学遥感数据集的4倍
  • 类别丰富:包含12个主类别,涵盖目标级和事件级标签(如火灾、洪水、滑坡、震后等)
  • 特征多样:t-SNE可视化显示特征分布远比其他数据集分散

论文用一个简单的实验证明了OpticalRS-13M的价值:在100万张OpticalRS-13M子集上用MAE预训练ViT-B 800个epoch,AID分类精度达到96.26%/97.98%(TR=20%/50%),而用同样数量的MillionAID数据只有94.92%/97.38%。

更有趣的是,论文发现了一个"数据集多样性悖论":在1300万张图像上只训练67个epoch(等价吞吐量)的效果反而不如在400万张上训练200个epoch。作者认为这是因为OpticalRS-13M太丰富了,少量epoch不足以让MIM充分学习,属于欠拟合。延长训练到800个epoch后,精度显著提升。

SelectiveMAE 的设计基于两个关键观察:

  1. 不需要重建所有patch:遥感图像中大量背景patch信息冗余,只需重建语义丰富的部分
  2. 不需要编码所有patch:可以只选择语义最丰富的token送入encoder,进一步加速

传统MAE重建75%的masked patch。SelectiveMAE引入重建比例 $r \in [0, m]$(默认25%),只选择HOG特征值最高的patch进行重建:

$$token_R = {x_i^p \mid i \in top_{\lfloor r \times N \rfloor}(HOG({x_i^p}_{i=1}^{m \times N}))}$$

其中 $HOG(\cdot)$ 计算每个patch的梯度直方图特征,$top_n(\cdot)$ 返回前n个最高值的索引集合。

这个设计的直觉是:HOG特征值高的patch通常包含边缘、纹理等语义信息,而平坦的背景区域HOG值很低。用HOG而非随机选择来做部分重建,确保了重建目标都是有信息量的。

这是SelectiveMAE最核心的创新。当mask比例提高到85%(只编码15%的patch)时,直接训练会导致梯度爆炸。PSTS模块借鉴课程学习的思想,设计了一个渐进式的token选择策略。

训练阶段1 (近→远)          训练阶段2 (远→近)          训练阶段3 (随机)
┌─────────────┐            ┌─────────────┐            ┌─────────────┐
│ ■ ■ □ □ □ □ │            │ ■ □ □ □ □ □ │            │ ■ □ □ □ □ □ │
│ ■ ■ □ □ □ □ │            │ □ □ □ □ □ ■ │            │ □ □ □ ■ □ □ │
│ □ □ □ □ □ □ │            │ □ □ □ □ □ □ │            │ □ □ □ □ □ □ │
│ □ □ □ □ □ □ │            │ □ □ □ □ □ □ │            │ □ □ □ □ □ ■ │
└─────────────┘            └─────────────┘            └─────────────┘
  ■ = 编码token              ■ = 编码token              ■ = 编码token
  □ = masked token           □ = masked token           □ = masked token

初始化阶段:用HOG选择语义最丰富的初始token集合 $S_I$,比例为 $s = (1-m)/2$(约7.5%)。

渐进选择:在每个训练epoch,从未选择的token集合 $S_U$ 中,根据与 $S_I$ 的余弦距离选择额外的token:

$$\mathcal{D}(\mathbf{S}_U, \mathbf{S}_I) = 1 - \frac{\mathbf{S}_U (\mathbf{S}_I)^T}{|\mathbf{S}_U| \cdot |\mathbf{S}_I|}$$

距离度量随训练阶段变化:

$$distance(S_U \to S_I)i = \begin{cases} -\min_j(\mathcal{D}(S_U, S_I){i,j}), & \zeta = 1 \text{ (近)} \ \max_j(\mathcal{D}(S_U, S_I){i,j}), & \zeta = 2 \text{ (远)} \ random_j(\mathcal{D}(S_U, S_I){i,j}), & \text{otherwise (随机)} \end{cases}$$

三阶段策略

  • 阶段1(近):选择与初始token最相似的patch,编码和重建目标语义相近,训练简单
  • 阶段2(远):选择与初始token差异最大的patch,学习互补语义依赖
  • 阶段3(随机):随机选择,增加多样性

这种"从易到难"的课程学习策略,使得模型在极低的可见patch比例(15%编码 + 25%重建 = 40%总patch)下也能稳定训练。

Algorithm 1: Progressive Semantic Token Selection (PSTS)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Input: 训练epoch数 T, 总训练阶段数 N_g, mask比例 m, 数据集 X
Output: 每个epoch的选中token集合 S_K

for t = 1 to T do:
    # 从数据集采样,通过embedding层得到token集合 S_N
    sample x ~ X
    S_N = Embedding(x)
    
    # 初始选择比例 s = (1-m)/2
    s = 0.5 * (1 - m)
    
    # 用HOG选择初始token集合 S_I
    S_I = top_{floor(s*N)}(HOG(S_N))
    
    # 初始化未选择集合 S_U = S_N \ S_I
    S_U = S_N \ S_I
    
    # 确定当前训练阶段
    zeta = ceil(N_g * t / T)
    
    # 计算距离并选择额外token
    for each token_i in S_U:
        if zeta == 1:  # 近阶段
            dist_i = -min_j(cosine_dist(token_i, S_I))
        elif zeta == 2:  # 远阶段
            dist_i = max_j(cosine_dist(token_i, S_I))
        else:  # 随机阶段
            dist_i = random_j(cosine_dist(token_i, S_I))
    
    # 选择 top_{N*(1-m-s)} 个token
    S* = top_{floor(N*(1-m-s))}(dist)
    
    # 更新选中集合和未选择集合
    S_K = S_I ∪ S*
    S_U = S_U \ S*
    
    # 用S_K进行编码,用高HOG值的masked token进行重建
    loss = MAE_Loss(Encoder(S_K), Decoder(S_K, masked_tokens))
    loss.backward()
输入图像 (224×224)
┌─────────────────┐
│  Patch Embedding │  将图像切分为196个16×16的patch
│  + Position Emb  │
└─────────────────┘
┌─────────────────┐
│   HOG特征计算    │  计算每个patch的梯度直方图
└─────────────────┘
┌─────────────────┐
│  PSTS模块        │  渐进式选择语义丰富的token
│  - 初始化: HOG选择│  选择约7.5%的高HOG值patch
│  - 渐进: 余弦距离 │  根据训练阶段选择额外patch
│  - 最终: 40%patch │  15%编码 + 25%重建
└─────────────────┘
      ├──────────────────────┐
      ▼                      ▼
┌─────────────┐        ┌─────────────┐
│  ViT Encoder │        │  重建目标    │
│  (15% patch) │        │ (25% patch) │
│  标准Transformer│       │ 高HOG值mask │
└─────────────┘        └─────────────┘
      │                      │
      └──────────┬───────────┘
          ┌─────────────┐
          │ CrossMAE    │  轻量级解码器
          │ Decoder     │  使用交叉注意力
          │ (12层)      │  重建masked patch的像素值
          └─────────────┘
          ┌─────────────┐
          │  MSE Loss   │  计算重建损失
          └─────────────┘
参数默认值说明
mask_ratio (m)0.85encoder只看15%的patch
kept_mask_ratio (r)0.25decoder只重建25%的patch
decoder_depth12解码器深度
base_lr1.5e-4基础学习率
weight_decay0.05权重衰减
epochs800预训练轮数
warmup_epochs30学习率warmup
batch_size256每GPU batch大小

预训练配置

  • 硬件:8× NVIDIA A100 GPU
  • 数据集:OpticalRS-4M(400万子集)和OpticalRS-13M(全量)
  • Backbone:ViT-S/B/L
  • 预训练epoch:800

下游任务

任务数据集评估指标框架
场景分类AID, RESISC-45OA (Overall Accuracy)线性探测
水平目标检测DIORmAP50Faster-RCNN
旋转目标检测DIOR-RmAP50Oriented-RCNN
语义分割LoveDA, SpaceNetv1mIoU, mF1UperNet
模型Backbone分类 AID分类 RESISC-45检测 DIOR检测 DIOR-R分割 LoveDA分割 SpaceNetv1
SeCoResNet-5093.47/95.9989.64/92.91--43.6377.09
GASSLResNet-5093.55/95.9290.86/93.0667.4065.6548.7678.51
SatMAEViT-L95.02/96.9491.72/94.1070.8965.66-78.07
ScaleMAEViT-L96.44/97.5892.63/95.0473.8166.47--
RingMoSwin-B96.90/98.3494.25/95.6775.90---
RVSAViT-B+RVSA97.03/98.5093.93/95.6975.8068.0651.95-
OREOLEViT-G96.71/--/-77.4071.3154.00-
SelectiveMAE†ViT-B96.90/98.1293.35/94.5875.7067.7853.0579.50
SelectiveMAE†ViT-L97.25/98.5094.57/95.7777.8070.3154.3179.46
SelectiveMAEViT-B97.10/98.2893.70/95.4875.8067.6952.6879.44
SelectiveMAEViT-L97.49/98.5294.73/96.3678.7071.7553.9279.48

†表示在OpticalRS-4M子集上预训练

关键发现

  • SelectiveMAE (ViT-L) 在DIOR检测上达到78.70 mAP50,超越了参数量接近10亿的OREOLE (ViT-G) 的77.40
  • 在语义分割任务上,SelectiveMAE (ViT-B) 的LoveDA mIoU达到53.05,超越所有对比方法
  • 使用完整13M数据预训练比4M子集有进一步提升,尤其在检测任务上
模型Backbone数据量训练时间(h)GPU内存(MB)加速比
MAEViT-B1M5117,628
SelectiveMAEViT-B1M249,5702.1×
MAEViT-L1M5730,530
SelectiveMAEViT-L1M2518,7902.3×
MAEViT-B4M17717,628
SelectiveMAEViT-B4M869,5702.1×

关键发现

  • ViT-L的加速比(2.3×)高于ViT-B(2.1×),说明SelectiveMAE对大模型更友好
  • GPU内存降低1.6~1.8倍,因为只处理40%的patch
  • 当数据量从1M扩展到4M时,绝对时间节省从27小时增加到81小时,扩展性优秀
方法参数量吞吐量/分钟AID (TR=20%/50%)RESISC-45 (TR=10%/20%)
Adamae特征2.36M498k88.78/91.2585.72/87.44
Swin-B特征88M356k93.21/96.4889.94/93.72
HOG0556k93.17/96.1289.21/92.31

HOG的优势:零参数、最快速度,精度与Swin-B特征接近。对于遥感图像这种低层特征丰富的场景,HOG是性价比最高的选择。

选择模式相似度度量AID (TR=20%/50%)RESISC-45 (TR=10%/20%)
near-far-random欧氏距离93.02/95.9688.97/92.07
near-far-random曼哈顿距离92.92/95.8989.17/91.92
far-near-random余弦距离90.12/92.7885.81/88.80
near-far-random余弦距离93.17/96.1289.21/92.31

关键发现

  • “near-far-random"三阶段策略显著优于"far-near-random”,验证了课程学习的有效性
  • 余弦距离略优于其他距离度量
  • 选择模式的影响远大于距离度量的选择
方法吞吐量/分钟AID (TR=20%/50%)RESISC-45 (TR=10%/20%)
CrossMAE (ViT-B)475k96.12/97.1892.08/94.12
SelectiveMAE (ViT-B)556k96.78/98.1293.35/94.58

SelectiveMAE在精度和速度上都优于CrossMAE。虽然SelectiveMAE借鉴了CrossMAE的交叉注意力解码器,但增加了面向遥感的HOG选择和PSTS模块,针对性更强。


洞察1:遥感图像的"信息密度"问题。 论文准确抓住了遥感图像与自然图像的本质区别:信息分布极度不均匀。一张遥感图像中,真正有价值的区域可能只占10-20%,其余都是冗余背景。这个观察直接驱动了"只编码和重建语义丰富patch"的设计。

洞察2:MIM训练中的"课程学习"。 直接用极低比例的可见patch训练会导致梯度爆炸,这个现象在论文中有清晰的实验验证。PSTS模块的"近→远→随机"三阶段策略,本质上是在告诉模型:先学简单的(语义相近的patch重建),再学难的(语义互补的patch重建),最后随机化防止过拟合。

洞察3:数据集规模与训练效率的权衡。 论文发现了一个反直觉的现象:在1300万张图像上训练67个epoch的效果不如在400万张上训练200个epoch。这不是数据集的问题,而是训练不充分的问题。延长到800个epoch后,1300万数据的优势就体现出来了。这说明大规模数据集需要配套足够长的训练schedule。

贡献影响力创新程度
OpticalRS-13M数据集★★★★★★★★
SelectiveMAE方法★★★★★★★★
PSTS模块★★★★★★★★★
HOG选择策略★★★★★★

PSTS模块是本文最具创新性的贡献。它用一个简洁的数学框架(余弦距离 + 课程学习)解决了"极低可见patch比例下的训练不稳定"问题,而且不需要额外的可学习参数。

  1. 管线完整性:从数据集构建到预训练方法到下游任务验证,形成了完整的闭环
  2. 效率提升显著:2倍以上加速 + 1.6-1.8倍内存节省,对大规模预训练有实际意义
  3. 实验充分:覆盖分类、检测、分割三大任务,6个数据基,多种backbone
  4. 工程友好:代码开源,依赖MMDetection/MMSegmentation等主流框架,易于复现
  5. 可扩展性好:数据量增大时加速优势更明显
  1. HOG特征的局限性:HOG是手工设计的低层特征,对于高层语义信息的捕获能力有限。虽然消融实验显示Swin-B特征略优于HOG,但作者以"效率"为由选择了HOG。一个更好的方案可能是用轻量级网络在线提取特征。

  2. PSTS的额外开销:虽然PSTS本身没有可学习参数,但每个epoch都需要计算余弦距离矩阵,这个计算开销在论文中没有量化。对于超大规模数据集,这个开销可能不可忽略。

  3. 缺乏与更多MIM方法的对比:论文主要与MAE和CrossMAE对比,缺少与SimMIM、BEiT、iBOT等方法的系统对比。虽然引用了这些方法,但没有在相同条件下的实验结果。

  4. 数据集构建细节不够透明:OpticalRS-13M的构建涉及"排除、切片、去重"三个步骤,但具体的排除标准、切片策略、去重阈值等细节在主论文中不够详细。

  5. 仅覆盖光学遥感:论文明确只处理可见光遥感图像,没有涉及SAR、多光谱、高光谱等其他重要的遥感数据类型。

  6. 下游任务微调细节:论文使用了MMDetection和MMSegmentation框架,但具体的微调超参数(学习率、epoch、数据增强等)在主论文中没有详细说明,需要查看代码。

  1. 多模态扩展:将SelectiveMAE的思想扩展到SAR、多光谱、高光谱等多模态遥感数据
  2. 动态HOG替代:用可学习的轻量级网络替代HOG特征,实现端到端的token选择
  3. 自适应mask比例:根据图像内容自动调整mask比例和重建比例
  4. 与大语言模型结合:将SelectiveMAE预训练的视觉编码器与LLM结合,构建遥感多模态大模型
  5. 时序建模:将PSTS扩展到时序遥感图像,学习变化检测的表征

SelectiveMAE 这篇论文的核心价值在于它不是简单地把自然场景的MAE方法搬到遥感领域,而是深入分析了遥感图像的独特特性(稀疏前景、密集背景),并据此设计了针对性的解决方案。

OpticalRS-13M 数据集填补了遥感领域大规模光学数据集的空白,1300万张图像的规模足以支撑大规模MIM预训练。SelectiveMAE 方法通过HOG选择和PSTS模块,在训练效率和下游性能之间找到了一个很好的平衡点。尤其是PSTS模块,用一个简洁的课程学习策略解决了极低可见patch比例下的训练不稳定问题,这个思路对其他领域的MIM研究也有启发意义。

当然,论文也有一些不足,比如HOG特征的表达能力有限、缺乏与更多MIM方法的对比、数据集构建细节不够透明等。但总体而言,这是一篇工作量扎实、实验充分、有实际应用价值的遥感基础模型论文。

对于遥感AI研究者来说,OpticalRS-13M数据集和SelectiveMAE代码都是值得关注的资源。对于更广泛的MIM研究社区,PSTS模块的"近→远→随机"渐进式选择策略也值得借鉴。



本文基于论文原文和GitHub代码仓库撰写,旨在提供技术深度解读,不构成对论文的官方评价。