🚀 Restor基於SegFormer的TCD模型
這是一個語義分割模型,能夠在高分辨率(10釐米/像素)的航空影像中精確描繪樹木覆蓋情況,為相關領域的研究和應用提供了有力支持。
🚀 快速開始
你可以在 此Colab筆記本 中查看一個簡單的推理示例。
若要進行端到端的使用,我們建議你參考我們的預測和訓練 管道,它支持對任意大的圖像進行分塊預測、報告輸出等功能。
✨ 主要特性
- 該語義分割模型基於全球航空影像進行訓練,能夠在類似圖像中準確描繪樹木覆蓋情況。
- 模型不檢測單棵樹木,而是提供每個像素的樹木/非樹木分類。
- 模型架構基於SegFormer家族,與金字塔視覺變換器v2模型有許多相同的結構特徵和語義分割解碼頭。
📦 安裝指南
使用我們的管道對該模型進行典型訓練的命令如下:
tcd-train semantic segformer-mit-b1 data.output= ... data.root=/mnt/data/tcd/dataset/holdout data.tile_size=1024
💻 使用示例
基礎用法
from transformers import AutoImageProcessor
processor = AutoImageProcessor.from_pretrained('restor/tcd-segformer-mit-b1')
高級用法
暫未提供高級用法示例。
📚 詳細文檔
模型詳情
模型描述
此語義分割模型在全球航空影像上進行訓練,能夠在類似圖像中準確描繪樹木覆蓋情況。該模型不檢測單棵樹木,而是提供每個像素的樹木/非樹木分類。
- 開發者:Restor / 蘇黎世聯邦理工學院
- 資助方:該項目通過 Google.org影響贈款 得以實現。
- 模型類型:語義分割(二分類)
- 許可證:模型訓練代碼遵循Apache 2許可證提供。NVIDIA根據其自身的研究許可證發佈了SegFormer。用戶在部署前應檢查此許可證的條款。該模型在CC BY - NC影像上進行訓練。
- 微調模型:SegFormer家族
SegFormer是金字塔視覺變換器v2模型的一個變體,具有許多相同的結構特徵和語義分割解碼頭。在功能上,該架構與特徵金字塔網絡(FPN)非常相似,因為輸出預測基於在不同空間分辨率下組合網絡不同階段的特徵。
模型來源
- 倉庫:https://github.com/restor - foundation/tcd
- 論文:我們將很快發佈預印本。
使用場景
直接使用
該模型的主要用例是從航空影像中評估樹冠覆蓋率(即研究區域被樹冠覆蓋的百分比)。此模型適用於對單個圖像塊進行推理。若要對大型正射影像進行預測,則需要一個更高級的框架來管理源影像的分塊和預測結果的拼接。我們的倉庫提供了這樣一個管道的全面參考實現,並已在超大型圖像(國家規模)上進行了測試。
超出適用範圍的使用
- 儘管我們在全球多樣化的影像上訓練了該模型,但某些生態生物群落的影像在訓練數據集中的代表性不足,因此性能可能會有所不同。因此,我們建議用戶在將該模型用於任何關鍵任務之前,先在自己的影像上進行實驗。
- 該模型在分辨率為10釐米/像素的影像上進行訓練。你可能能夠在其他地理空間分辨率下獲得較好的預測結果,但結果可能不可靠。特別是,該模型本質上是在尋找“看起來像樹木的東西”,這高度依賴於分辨率。如果你想常規地對更高或更低分辨率的圖像進行預測,你應該在自己的數據集或重新採樣的訓練數據集上對該模型進行微調。
- 該模型不預測生物量、樹冠高度或其他派生信息。它僅預測某個像素被樹冠覆蓋的可能性。
- 就目前而言,該模型不適用於碳信用額估算。
偏差、風險和侷限性
該模型的主要侷限性在於對看起來像樹木或可能被誤認為是樹木的物體產生誤報。例如,大型灌木叢、灌木或看起來像樹冠的地被植物。
用於訓練該模型的數據集由非專家進行標註。考慮到數據集的規模、獨立測試數據的結果以及Restor在合作伙伴數據上的實際使用過程中的經驗評估,我們認為這是一個合理的權衡。然而,數據集中幾乎肯定存在錯誤的標籤,這可能會導致模型輸出的錯誤預測或其他偏差。我們觀察到,模型與訓練數據的“不一致”方式可能是正確的(即標籤的總體統計數據良好),我們正在努力重新評估所有訓練數據以去除虛假標籤。
我們提供交叉驗證結果以對預測性能進行可靠估計,以及在獨立影像(即模型從未見過的圖像)上的結果,以便用戶可以自行評估。我們不提供任何準確性保證,用戶應針對任何“關鍵任務”或生產用途進行自己的獨立測試。
訓練詳情
訓練數據
訓練數據集可在 此處 找到,你可以在那裡找到有關數據收集和標註過程的更多詳細信息。我們的圖像標籤大多遵循CC - BY 4.0許可證發佈,還有一小部分CC BY - NC和CC BY - SA影像。
訓練過程
我們在訓練過程中使用了5折交叉驗證來調整超參數,然後在“完整”訓練集上進行訓練,並在保留的圖像集上進行評估。該倉庫主分支中的模型應被視為發佈版本。
我們使用 Pytorch Lightning 作為訓練框架,超參數如下:
- 圖像大小:1024像素正方形
- 學習率:初始為1e4 - 1e5
- 學習率調度:在性能停滯時降低
- 優化器:AdamW
- 數據增強:隨機裁剪到1024x1024、任意旋轉、翻轉、顏色調整
- 訓練輪數:交叉驗證期間為75輪以確保收斂;最終模型為50輪
- 歸一化:使用ImageNet統計數據
速度、大小和時間
你應該能夠在CPU上評估該模型(甚至到mit - b5),但是如果你嘗試對大尺寸的圖像塊進行推理,則需要大量可用的RAM。一般來說,考慮到輸出分割掩碼的固定大小,我們發現1024像素的輸入已經是你能處理的最大尺寸了(即,以1024x1024像素的批量模式進行推理可能比嘗試預測單個2048x2048像素的圖像更好)。
所有模型都在配備24GB VRAM(NVIDIA RTX3090)的單個GPU上進行訓練,該GPU連接到具有64GB RAM的32核機器。除了最大的模型外,所有模型都可以在一天內使用這種規格的機器完成訓練。最小的模型訓練時間不到半天,而最大的模型訓練時間略超過一天。
評估
測試數據
訓練數據集可在 此處 找到。此模型(主分支)在所有“訓練”圖像上進行訓練,並在“測試”(保留)圖像上進行測試。

指標
我們報告了保留數據集上的F1分數、準確率和交併比(IoU),以及5折交叉驗證分割的結果。交叉驗證結果在以下圖表中以最小/最大誤差線的形式可視化。
結果

環境影響
此估計是此處介紹的SegFormer系列模型的最大訓練時間(方面)的估計。較小的模型,如mit - b0
,訓練時間不到半天。
- 硬件類型:NVIDIA RTX3090
- 使用時長:< 36小時
- 碳排放:每個模型5.44千克二氧化碳當量
碳排放使用 Lacoste等人(2019) 提出的 機器學習影響計算器 進行估計。
此估計未考慮實驗所需的時間、失敗的訓練運行等。例如,由於我們使用了交叉驗證,每個模型實際所需的時間大約是此估計的6倍 - 每一折一次運行,再加上最終運行。
在野外工作中,在CPU上進行高效推理是可行的,但會犧牲推理延遲。一次典型的單電池無人機飛行數據可以在幾分鐘內處理完成。
引用
我們將很快提供論文的預印本版本。在此期間,請按以下方式引用:
BibTeX:
@unpublished{restortcd,
author = "Veitch-Michaelis, Josh and Cottam, Andrew and Schweizer, Daniella Schweizer and Broadbent, Eben N. and Dao, David and Zhang, Ce and Almeyda Zambrano, Angelica and Max, Simeon",
title = "OAM-TCD: A globally diverse dataset of high-resolution tree cover maps",
note = "In prep.",
month = "06",
year = "2024"
}
模型卡片作者
Josh Veitch - Michaelis,2024年;代表數據集作者。
模型卡片聯繫方式
如有疑問或需要進一步信息,請聯繫 josh [at] restor.eco。
📄 許可證
模型訓練代碼遵循Apache 2許可證提供。NVIDIA根據其自身的研究許可證發佈了SegFormer。用戶在部署前應檢查此許可證的條款。該模型在CC BY - NC影像上進行訓練。