torchgeo/torchgeo
TorchGeo: datasets, samplers, transforms, and pre-trained models for geospatial data
What it solves
TorchGeo 簡化了将深度学习应用于地理空间数据。它解决了处理遥感影像时面临的挑战,因为不同卫星与传感器之间的谱段、空间分辨率与坐标参考系统 (CRS) 通常会有所不同。
How it works
TorchGeo 作为一个 PyTorch 领域库 (类似于 torchvision),为地理空间数据提供专门的工具:
- Geospatial Datasets & Samplers: It 允许用户使用交集 (
&) 与联集 (|) 运算符来组合多个数据集,并自动处理重投影至匹配的 CRS 与分辨率。它包含采样器 (例如RandomPatchSampler),通过提取小块图像 (patches) 来处理极大的图像。 - Benchmark Datasets: 它提供用于常见任务 (例如图像分类、语义分割、目标检测) 的现成数据集。
- Pre-trained Weights: 它提供在多光谱传感器 (例如 Sentinel-2) 上预训练的模型,超越了标准的 RGB ImageNet 权重,以更好地适应遥感数据。
- Lightning Integration: 它提供 PyTorch Lightning datamodules 与 trainers,以减少模板代码并确保实验的可重复性。
Who it’s for
- Machine learning experts 想要在不需要深厚的遥感专业知识的情况下处理地理空间数据。
- Remote sensing experts 想要为自己的数据探索机器学习解决方案。
Highlights
- Automatic CRS/Resolution Handling: 自动确保在组合数据集时,坐标参考系统与分辨率能够匹配。
- Multispectral Support: 第一个支持多种多光谱传感器预训练权重的库。
- Flexible Dataset Composition: 使用集合运算符来合并或交集图像与标签数据集。
- C-Line Interface: 支持通过 LightningCLI 进行命令行训练,以便进行基于配置的实验。