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倍以上的同时,下游任务精度全面超越现有方法。
1. 解决的核心问题
1.1 遥感图像的独特挑战
遥感图像与自然图像有本质区别,这直接决定了不能简单套用自然场景的预训练方法:
稀疏前景,密集背景。 一张224×224的遥感图像中,真正包含语义信息的前景区域可能不足20%,其余都是大面积的天空、水体、裸地等冗余背景。这意味着传统MAE对所有patch一视同仁地做重建,大量计算浪费在了毫无信息量的像素上。
场景多样性不足。 现有遥感数据集规模有限。ImageNet-21k有1400万样本,而遥感领域最大的公开光学数据集 MillionAID 仅有100万张。数据量的天花板直接制约了MIM方法学习通用表征的能力。
计算开销巨大。 在100万张遥感图像上用MAE预训练ViT-B需要107小时(8块A100)。如果扩展到千万量级,训练时间将变得不可接受。
1.2 现有MIM方法的局限
| 问题 | 具体表现 |
|---|---|
| 数据集规模不足 | 现有RS数据集约100万样本,远小于ImageNet-21k的1400万 |
| 数据多样性欠缺 | 多数数据集仅覆盖场景分类,缺乏细粒度目标和事件信息 |
| 重建效率低下 | MAE重建75%的patch,其中大量是冗余背景 |
| 收敛速度慢 | 大规模数据集上的MIM训练耗时过长 |
2. 解决方案
2.1 整体架构
┌─────────────────────────────────────────────────────────────────────┐
│ SelectiveMAE 预训练管线 │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────────┐ ┌──────────────────┐ │
│ │ OpticalRS-13M │ │ SelectiveMAE │ │ 下游任务微调 │ │
│ │ 数据集构建 │───>│ 高效MIM预训练 │───>│ 分类/检测/分割 │ │
│ └──────────────┘ └──────────────────┘ └──────────────────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────────┐ │
│ │ 排除/切片/去重 │ │ PSTS模块 │ │
│ │ 1300万张图像 │ │ 渐进式语义token │ │
│ └──────────────┘ │ 选择策略 │ │
│ └──────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘2.2 OpticalRS-13M 数据集
构建流程
OpticalRS-13M 的构建遵循 DiRS原则(Diversity, Richness, Scalability):
公开遥感数据源
│
▼
┌─────────────┐
│ 排除(Exclusion) │ 去除低质量、非光学图像
└─────────────┘
│
▼
┌─────────────┐
│ 切片(Slicing) │ 将大尺寸图像切成统一大小patch
└─────────────┘
│
▼
┌─────────────┐
│ 去重(Deduplication) │ 基于感知哈希去除重复图像
└─────────────┘
│
▼
OpticalRS-13M
(13,203,698张图像)
(总像素: 2,630,362,174,503)
(平均每张: 199,214像素)数据集对比
| 数据集 | 图像数量 | 数据类型 | 覆盖任务 |
|---|---|---|---|
| MillionAID | 100万 | 光学 | 场景分类 |
| SeCo | 100万 | 光学 | 时序变化 |
| CACo | 100万 | 光学 | 变化检测 |
| SSL4EO-S12 | 数百万 | 多光谱/SAR | 多任务 |
| SatLasPretrain | 243k | 多光谱 | 多任务 |
| OpticalRS-13M | 1300万 | 光学 | 多任务+事件 |
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后,精度显著提升。
2.3 SelectiveMAE 方法
核心思想
SelectiveMAE 的设计基于两个关键观察:
- 不需要重建所有patch:遥感图像中大量背景patch信息冗余,只需重建语义丰富的部分
- 不需要编码所有patch:可以只选择语义最丰富的token送入encoder,进一步加速
方法细节
(1) 部分重建(Partial Reconstruction)
传统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而非随机选择来做部分重建,确保了重建目标都是有信息量的。
(2) PSTS模块(Progressive Semantic Token Selection)
这是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 │ 计算重建损失
└─────────────┘2.4 关键超参数
| 参数 | 默认值 | 说明 |
|---|---|---|
| mask_ratio (m) | 0.85 | encoder只看15%的patch |
| kept_mask_ratio (r) | 0.25 | decoder只重建25%的patch |
| decoder_depth | 12 | 解码器深度 |
| base_lr | 1.5e-4 | 基础学习率 |
| weight_decay | 0.05 | 权重衰减 |
| epochs | 800 | 预训练轮数 |
| warmup_epochs | 30 | 学习率warmup |
| batch_size | 256 | 每GPU batch大小 |
3. 实验验证
3.1 实验设置
预训练配置:
- 硬件:8× NVIDIA A100 GPU
- 数据集:OpticalRS-4M(400万子集)和OpticalRS-13M(全量)
- Backbone:ViT-S/B/L
- 预训练epoch:800
下游任务:
| 任务 | 数据集 | 评估指标 | 框架 |
|---|---|---|---|
| 场景分类 | AID, RESISC-45 | OA (Overall Accuracy) | 线性探测 |
| 水平目标检测 | DIOR | mAP50 | Faster-RCNN |
| 旋转目标检测 | DIOR-R | mAP50 | Oriented-RCNN |
| 语义分割 | LoveDA, SpaceNetv1 | mIoU, mF1 | UperNet |
3.2 核心结果
下游任务性能对比
| 模型 | Backbone | 分类 AID | 分类 RESISC-45 | 检测 DIOR | 检测 DIOR-R | 分割 LoveDA | 分割 SpaceNetv1 |
|---|---|---|---|---|---|---|---|
| SeCo | ResNet-50 | 93.47/95.99 | 89.64/92.91 | - | - | 43.63 | 77.09 |
| GASSL | ResNet-50 | 93.55/95.92 | 90.86/93.06 | 67.40 | 65.65 | 48.76 | 78.51 |
| SatMAE | ViT-L | 95.02/96.94 | 91.72/94.10 | 70.89 | 65.66 | - | 78.07 |
| ScaleMAE | ViT-L | 96.44/97.58 | 92.63/95.04 | 73.81 | 66.47 | - | - |
| RingMo | Swin-B | 96.90/98.34 | 94.25/95.67 | 75.90 | - | - | - |
| RVSA | ViT-B+RVSA | 97.03/98.50 | 93.93/95.69 | 75.80 | 68.06 | 51.95 | - |
| OREOLE | ViT-G | 96.71/- | -/- | 77.40 | 71.31 | 54.00 | - |
| SelectiveMAE† | ViT-B | 96.90/98.12 | 93.35/94.58 | 75.70 | 67.78 | 53.05 | 79.50 |
| SelectiveMAE† | ViT-L | 97.25/98.50 | 94.57/95.77 | 77.80 | 70.31 | 54.31 | 79.46 |
| SelectiveMAE | ViT-B | 97.10/98.28 | 93.70/95.48 | 75.80 | 67.69 | 52.68 | 79.44 |
| SelectiveMAE | ViT-L | 97.49/98.52 | 94.73/96.36 | 78.70 | 71.75 | 53.92 | 79.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) | 加速比 |
|---|---|---|---|---|---|
| MAE | ViT-B | 1M | 51 | 17,628 | 1× |
| SelectiveMAE | ViT-B | 1M | 24 | 9,570 | 2.1× |
| MAE | ViT-L | 1M | 57 | 30,530 | 1× |
| SelectiveMAE | ViT-L | 1M | 25 | 18,790 | 2.3× |
| MAE | ViT-B | 4M | 177 | 17,628 | 1× |
| SelectiveMAE | ViT-B | 4M | 86 | 9,570 | 2.1× |
关键发现:
- ViT-L的加速比(2.3×)高于ViT-B(2.1×),说明SelectiveMAE对大模型更友好
- GPU内存降低1.6~1.8倍,因为只处理40%的patch
- 当数据量从1M扩展到4M时,绝对时间节省从27小时增加到81小时,扩展性优秀
3.3 消融实验
HOG选择策略的有效性
| 方法 | 参数量 | 吞吐量/分钟 | AID (TR=20%/50%) | RESISC-45 (TR=10%/20%) |
|---|---|---|---|---|
| Adamae特征 | 2.36M | 498k | 88.78/91.25 | 85.72/87.44 |
| Swin-B特征 | 88M | 356k | 93.21/96.48 | 89.94/93.72 |
| HOG | 0 | 556k | 93.17/96.12 | 89.21/92.31 |
HOG的优势:零参数、最快速度,精度与Swin-B特征接近。对于遥感图像这种低层特征丰富的场景,HOG是性价比最高的选择。
PSTS消融实验
| 选择模式 | 相似度度量 | AID (TR=20%/50%) | RESISC-45 (TR=10%/20%) |
|---|---|---|---|
| near-far-random | 欧氏距离 | 93.02/95.96 | 88.97/92.07 |
| near-far-random | 曼哈顿距离 | 92.92/95.89 | 89.17/91.92 |
| far-near-random | 余弦距离 | 90.12/92.78 | 85.81/88.80 |
| near-far-random | 余弦距离 | 93.17/96.12 | 89.21/92.31 |
关键发现:
- “near-far-random"三阶段策略显著优于"far-near-random”,验证了课程学习的有效性
- 余弦距离略优于其他距离度量
- 选择模式的影响远大于距离度量的选择
与CrossMAE的对比
| 方法 | 吞吐量/分钟 | AID (TR=20%/50%) | RESISC-45 (TR=10%/20%) |
|---|---|---|---|
| CrossMAE (ViT-B) | 475k | 96.12/97.18 | 92.08/94.12 |
| SelectiveMAE (ViT-B) | 556k | 96.78/98.12 | 93.35/94.58 |
SelectiveMAE在精度和速度上都优于CrossMAE。虽然SelectiveMAE借鉴了CrossMAE的交叉注意力解码器,但增加了面向遥感的HOG选择和PSTS模块,针对性更强。
4. 深度评价
4.1 核心洞察
洞察1:遥感图像的"信息密度"问题。 论文准确抓住了遥感图像与自然图像的本质区别:信息分布极度不均匀。一张遥感图像中,真正有价值的区域可能只占10-20%,其余都是冗余背景。这个观察直接驱动了"只编码和重建语义丰富patch"的设计。
洞察2:MIM训练中的"课程学习"。 直接用极低比例的可见patch训练会导致梯度爆炸,这个现象在论文中有清晰的实验验证。PSTS模块的"近→远→随机"三阶段策略,本质上是在告诉模型:先学简单的(语义相近的patch重建),再学难的(语义互补的patch重建),最后随机化防止过拟合。
洞察3:数据集规模与训练效率的权衡。 论文发现了一个反直觉的现象:在1300万张图像上训练67个epoch的效果不如在400万张上训练200个epoch。这不是数据集的问题,而是训练不充分的问题。延长到800个epoch后,1300万数据的优势就体现出来了。这说明大规模数据集需要配套足够长的训练schedule。
4.2 技术贡献
| 贡献 | 影响力 | 创新程度 |
|---|---|---|
| OpticalRS-13M数据集 | ★★★★★ | ★★★ |
| SelectiveMAE方法 | ★★★★ | ★★★★ |
| PSTS模块 | ★★★★ | ★★★★★ |
| HOG选择策略 | ★★★ | ★★★ |
PSTS模块是本文最具创新性的贡献。它用一个简洁的数学框架(余弦距离 + 课程学习)解决了"极低可见patch比例下的训练不稳定"问题,而且不需要额外的可学习参数。
4.3 优点
- 管线完整性:从数据集构建到预训练方法到下游任务验证,形成了完整的闭环
- 效率提升显著:2倍以上加速 + 1.6-1.8倍内存节省,对大规模预训练有实际意义
- 实验充分:覆盖分类、检测、分割三大任务,6个数据基,多种backbone
- 工程友好:代码开源,依赖MMDetection/MMSegmentation等主流框架,易于复现
- 可扩展性好:数据量增大时加速优势更明显
4.4 局限性
HOG特征的局限性:HOG是手工设计的低层特征,对于高层语义信息的捕获能力有限。虽然消融实验显示Swin-B特征略优于HOG,但作者以"效率"为由选择了HOG。一个更好的方案可能是用轻量级网络在线提取特征。
PSTS的额外开销:虽然PSTS本身没有可学习参数,但每个epoch都需要计算余弦距离矩阵,这个计算开销在论文中没有量化。对于超大规模数据集,这个开销可能不可忽略。
缺乏与更多MIM方法的对比:论文主要与MAE和CrossMAE对比,缺少与SimMIM、BEiT、iBOT等方法的系统对比。虽然引用了这些方法,但没有在相同条件下的实验结果。
数据集构建细节不够透明:OpticalRS-13M的构建涉及"排除、切片、去重"三个步骤,但具体的排除标准、切片策略、去重阈值等细节在主论文中不够详细。
仅覆盖光学遥感:论文明确只处理可见光遥感图像,没有涉及SAR、多光谱、高光谱等其他重要的遥感数据类型。
下游任务微调细节:论文使用了MMDetection和MMSegmentation框架,但具体的微调超参数(学习率、epoch、数据增强等)在主论文中没有详细说明,需要查看代码。
4.5 未来方向
- 多模态扩展:将SelectiveMAE的思想扩展到SAR、多光谱、高光谱等多模态遥感数据
- 动态HOG替代:用可学习的轻量级网络替代HOG特征,实现端到端的token选择
- 自适应mask比例:根据图像内容自动调整mask比例和重建比例
- 与大语言模型结合:将SelectiveMAE预训练的视觉编码器与LLM结合,构建遥感多模态大模型
- 时序建模:将PSTS扩展到时序遥感图像,学习变化检测的表征
5. 总结
SelectiveMAE 这篇论文的核心价值在于它不是简单地把自然场景的MAE方法搬到遥感领域,而是深入分析了遥感图像的独特特性(稀疏前景、密集背景),并据此设计了针对性的解决方案。
OpticalRS-13M 数据集填补了遥感领域大规模光学数据集的空白,1300万张图像的规模足以支撑大规模MIM预训练。SelectiveMAE 方法通过HOG选择和PSTS模块,在训练效率和下游性能之间找到了一个很好的平衡点。尤其是PSTS模块,用一个简洁的课程学习策略解决了极低可见patch比例下的训练不稳定问题,这个思路对其他领域的MIM研究也有启发意义。
当然,论文也有一些不足,比如HOG特征的表达能力有限、缺乏与更多MIM方法的对比、数据集构建细节不够透明等。但总体而言,这是一篇工作量扎实、实验充分、有实际应用价值的遥感基础模型论文。
对于遥感AI研究者来说,OpticalRS-13M数据集和SelectiveMAE代码都是值得关注的资源。对于更广泛的MIM研究社区,PSTS模块的"近→远→随机"渐进式选择策略也值得借鉴。
参考信息
- 论文:arXiv:2406.11933
- 代码:GitHub - MiliLab/SelectiveMAE
- 数据集:OpticalRS-13M | OpticalRS-4M
- 模型权重:HuggingFace - MiliLab/SelectiveMAE
本文基于论文原文和GitHub代码仓库撰写,旨在提供技术深度解读,不构成对论文的官方评价。