torchgeo/torchgeo

TorchGeo: datasets, samplers, transforms, and pre-trained models for geospatial data

TorchGeo – 用於 PyTorch 的地理空間深度學習工具包

功能簡介 – TorchGeo 是一個相容於 PyTorch 的函式庫,它封裝了現成的地理空間數據集、採樣器、轉換與預訓練模型。可以將其視為衛星與航空影像領域的 torchvision

重要性 – 遙感數據具有額外的複雜性:許多光譜波段、變化的空間解析度以及不同的座標參考系統 (CRS)。TorchGeo 隱藏了這些底層細節,使機器學習研究人員可以專注於模型,遙感專家可以在不編寫底層數據處理程式碼的情況下實驗深度學習流水線。

核心特性(如 README 中所述)

  • 數據集與元數據處理 – 為常用數據源(Landsat 7/8, Sentinel, Cropland Data Layer, VHR-10 等)提供 GeoDataset 子類。數據集可以透過集合運算子(| 表示聯集,& 表示交集)進行組合,這些運算子會自動對齊 CRS 與解析度。
  • 採樣器RandomPatchSampler 等允許您從海量影像中提取固定大小的補丁(例如 256 × 256),並回傳每個 epoch 可配置數量的樣本。
  • 基準測試集合 – 提供用於分類、回歸、語義分割、目標檢測、變化檢測等的即用型標記數據集,鏡像了 torchvision 的 API 風格。
  • 預訓練權重 – 透過 torchvision 多權重 API 與 timm 模型庫支援多光譜權重(例如 Sentinel-2-pre-trained ResNet-18)。
  • Lightning 整合 – 提供帶有內建增強 (kornia) 與通道統計資訊的 Lightning DataModuleTask 物件(例如 SemanticSegmentation),從而實現幾行程式碼的訓練腳本或透過 torchgeo/LightningCLI 進行完整的 CLI 使用。
  • 安裝 – 可透過 PyPI、conda-forge 與 spack 取得;也可以使用 uv 安裝。
  • 社群與文件 – 包括 Slack、OSGeo、Radiant Earth、Hugging Face、YouTube 頻道以及包含教學與 API 參考的完整 ReadTheDocs 網站。

典型工作流程

  1. 匯入數據集(例如 Landsat8)並可選地將其與其他數據集(例如 CDL)合併。
  2. 建立一個採樣器來提取補丁。
  3. 將數據集封裝在 DataLoader 中(或使用提供的 Lightning DataModule)。
  4. 使用 PyTorch Lightning 訓練模型——無論是自定義架構還是預訓練模型。

引用 – 如果您使用 TorchGeo 發布研究成果,請引用 ACM Transactions on Spatial Algorithms and Systems 論文 (2025)。


以上所有細節均直接取自專案的 README;未添加任何外部假設。

相關

  • 專案
  • 專案
  • Dispatch
  • 專案
  • 專案