为遥感和卫星图像微调 CLIP
研究人员利用卫星图像和说明文字对 OpenAI 的 CLIP 模型进行了微调,证明了在遥感领域进行特定领域的微调对于实现高性能检索是必要的。由此产生的模型在将航空照片与其对应的文本描述进行匹配方面,显著优于基准 CLIP 模型。
技术方法与模型架构
该项目使用了 openai/clip-vit-base-patch32 模型的微调版本。该架构采用双编码器系统——一个文本编码器和一个图像编码器——利用对比学习将两种模态映射到一个联合嵌入空间。在这个空间中,匹配的图像-说明文字对被推得更近,而不相似的对则被推得更远。
训练基础设施
训练是使用以下技术栈进行的:
- 框架:Flax 和 JAX(一个具有自动微分功能的线性代数库)。
- 硬件:Google Cloud TPUs。
- 优化:表现最好的模型使用了 Adam 优化器,学习率为 5e-6,批大小为 1024(分布在 8 个 TPU 核心上,每个核心 128)。
数据集与数据增强
为了使模型适应卫星图像独特的视觉特征,团队使用了三个主要数据集:
- RSICD:主要数据集,包含来自 Google Earth、Baidu Map、MapABC 和 Tianditu 的约 10,000 张 RGB 图像(224x224),每张图像最多有五个说明文字。
- UCM:基于 UC Merced Land Use 数据集,包含 21 个类别的 2,100 张图像,每张图像有五个说明文字。
- Sydney:包含澳大利亚悉尼的 613 张图像,涵盖 7 个类别,每张图像有五个说明文字。
正则化策略
为了防止在这些相对较小的数据集上发生过拟合,团队实施了两种类型的增强:
- 图像增强:利用 PyTorch Torchvision 进行随机裁剪、随机缩放、颜色抖动以及随机水平和垂直翻转。
- 文本增强:采用使用 Marian MT 系列模型的反向翻译。说明文字被从英语翻译成法语、西班牙语、意大利语和葡萄牙语,然后翻译回英语,以增加对于描述少于五个唯一说明文字的图像的说明文字多样性。
损失函数图表显示,图像增强显著减少了过拟合,而图像和文本增强的结合提供了最大的过拟合减少量。
评估结果
评估是在 RSICD 测试集的子集上进行的,涵盖 30 个图像类别。通过为每张图像对 30 个格式为 "An aerial photograph of {category}" 的说明文字进行排名,并测量 top-k 准确率来测试模型。
| Model-name | k=1 | k=3 | k=5 | k=10 |
|---|---|---|---|---|
| baseline | 0.572 | 0.745 | 0.837 | 0.939 |
| Best Model (Adam, lr 5e-6) | 0.883 | 0.968 | 0.982 | 0.998 |
微调后的模型相对于基准模型实现了显著的性能提升,特别是在 k=1 时,准确率从 0.572 增加到 0.883。
实际应用与能力
微调后的 CLIP 模型实现了多种遥感能力:
- 文本到图像搜索:使用文本查询(例如 "beach"、"airport" 或特定的建筑物特征)在大型卫星图像集合中进行搜索。
- 图像到图像搜索:在语料库中寻找视觉上相似的卫星图像。
- 特征定位:通过将图像划分为补丁(patches)并对其进行编码,模型可以将文本向量与特定的图像补丁进行匹配,从而确定特征在特定区域出现的概率。
伦理考量
作者指出,虽然这项技术可以用于社会公益——例如监测气候变化或国防——但它也引发了关于其可能被威权国家用于军事和警察监视的伦理担忧。
未来研究方向
团队确定了几个进一步发展的领域:
- 图像说明文字生成:开发一个结合 CLIP 编码器与 GPT-3 解码器的序列到序列模型。
- 数据集扩展:在更多的图像-说明文字对上进行微调,以进一步提高性能。
- 泛化能力:研究微调如何影响在非 RSICD 数据上的性能,以及模型对训练集之外的类别的分类能力。
Sources
相关
- Dispatch
- 项目
- 项目
- 项目
- Dispatch