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











