torchgeo: 一個用於處理多光譜地理空間與遙感數據深度學習的 PyTorch 領域函式庫

torchgeo: 一個用於處理多光譜地理空間與遙感數據深度學習的 PyTorch 領域函式庫

它解決了什麼問題

TorchGeo 簡化了將深度學習應用於地理空間數據的過程。它解決了處理遙感影像時面臨的挑戰,因為不同衛星和感測器的光譜波段、空間解析度以及座標參考系統 (CRS) 通常會有所不同。

運作原理

TorchGeo 作為一個 PyTorch 領域函式庫(類似於 torchvision),為地理空間數據提供專業工具:

  • 地理空間數據集與取樣器 (Samplers):它允許使用者使用交集 (&) 和聯集 (|) 運算子來組合多個數據集,並自動處理重投影以符合匹配的 CRS 和解析度。它包含取樣器(例如 RandomPatchSampler),透過提取用於訓練的小型補丁 (patches) 來處理極大型影像。
  • 基準數據集 (Benchmark Datasets):它為常見任務(如影像分類、語義分割和物件偵測)提供即插即用的數據集。
  • 預訓練權重:它提供在多光譜感測器(例如 Sentinel-2)上預訓練的模型,超越了標準的 RGB ImageNet 權重,以更好地適應遙感數據。
  • Lightning 集成:它提供 PyTorch Lightning datamodules 和 trainers,以減少樣板程式碼並確保實驗的可重複性。

對象是誰

  • 機器學習專家:希望在不需要深厚的遙感專業知識的情況下處理地理空間數據。

  • 遙感專家:希望為其數據探索機器學習解決方案。 \n## 重點特色

  • 自動 CRS/解析度處理:在組合數據集時,自動確保座標參考系統和解析度相匹配。

  • 多光譜支援:第一個支援各種多光譜感測器預訓練權重的函式庫。

  • 靈活的數據集組合:使用類集合運算子來合併或取交集影像與標籤數據集。

  • C-Line 介面:透過 LightningCLI 支援命令列訓練,以便進行基於配置的實驗。

Sources