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 数据集上进行训练。
- 在广泛的下游任务上进行了评估:回归(温度、降水、收入、住房、海拔、人口密度)和分类(国家、生物群落、生态区、物种)。
- 开源,包含训练代码、命令行界面和易于使用的笔记本。
相关
- 项目
- 项目
- 项目
- 项目