microsoft/satclip

PyTorch implementation of SatCLIP

它解决了什么问题

SatCLIP 为地球上的任何坐标创建了一个单一的、可重用的表示(向量)。与其将原始经纬度输入模型,不如使用 SatCLIP 的位置嵌入作为许多不同任务的输入,例如预测温度、收入或生物群落类型。它通过观察该地点的卫星图像来学习该地点的情况,因此嵌入捕获了有意义的地理和环境特征。

工作原理

SatCLIP 使用对比学习进行训练,这与 OpenAI 的 CLIP 模型中使用的想法相同。训练数据由成对的数据组成:卫星图像和拍摄该图像的坐标。两个编码器一起训练:一个将卫星图像转换为向量的图像编码器,以及一个将坐标(经度/纬度)转换为向量的位置编码器。在训练过程中,模型学习使匹配对的两个向量相似,而不匹配对的向量不同。训练后,您只需要位置编码器:给它任何坐标,它就会输出一个总结该位置的向量。该模型是在一个名为 S2‑100K 的新数据集上训练的,该数据集包含从 Sentinel‑2 采样的 100,000 张多光谱卫星图像(256×256 像素,12 个波段,10 米分辨率)。

适用人群

从事地理空间机器学习任务的研究人员和开发人员,例如预测环境变量、分类区域或定位图像。对于任何需要预训练位置嵌入而无需从头构建的人来说,它也很有用。该项目提供 Python 代码、预训练模型和示例笔记本。

亮点

  • 提供适用于三种视觉骨干网络(ResNet‑18, ResNet‑50, ViT‑B/16)和两种空间分辨率设置的预训练模型。
  • 在作者发布的包含 100,000 张多光谱卫星图像的 S2‑100K 数据集上进行训练。
  • 在广泛的下游任务上进行了评估:回归(温度、降水、收入、住房、海拔、人口密度)和分类(国家、生物群落、生态区、物种)。
  • 开源,包含训练代码、命令行界面和易于使用的笔记本。

相关

  • 项目
  • 项目
  • 项目
  • 项目