库名称:transformers
标签:
- 语义分割
- 视觉
- 生态学
数据集:
- restor/tcd
流水线标签:图像分割
小部件:
- 示例图片:samples/610160855a90f10006fd303e_10_00418.tif
示例标题:城市场景
许可证:cc
评估指标:
- 准确率
- F1分数
- 交并比(IoU)
Restor基于SegFormer的TCD模型卡
这是一个语义分割模型,能够在高分辨率(10厘米/像素)航拍图像中描绘树木覆盖情况。
本模型卡适用于所有上传至Hugging Face的类似模型。模型名称指代特定的架构变体(例如nvidia-mit-b0到nvidia-mit-b5),但训练和评估的总体细节相同。
本仓库针对tcd-segformer-mit-b2
模型。
模型详情
模型描述
该语义分割模型基于全球航拍图像训练,能够准确描绘类似图像中的树木覆盖情况。模型不检测单棵树,而是提供逐像素的树木/非树木分类。
- 开发者: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合作伙伴数据上的实际使用评估,我们认为这是一个合理的权衡。然而,数据集中几乎肯定存在错误的标签,这可能导致错误的预测或模型输出的其他偏差。我们观察到模型倾向于以可能正确的方式与训练数据“不一致”(即标签的聚合统计数据是好的),我们正在重新评估所有训练数据以去除虚假标签。
我们提供交叉验证结果以给出预测性能的稳健估计,以及在独立图像(即模型从未见过的图像)上的结果,以便用户自行评估。我们不提供任何准确性保证,用户应对任何“关键任务”或生产用途进行独立测试。
没有比在自己的数据上尝试模型并进行自己的评估更好的方法;我们强烈鼓励实验!
如何开始使用模型
用户可以在这个Colab笔记本中看到推理的简要示例。
对于端到端使用,我们引导用户参考我们的预测和训练管道,该管道还支持在任意大图像上进行分块预测、报告输出等。
训练详情
训练数据
训练数据集可在此处找到,用户可以了解更多关于收集和标注过程的细节。我们的图像标签主要基于CC-BY 4.0许可证发布,小部分为CC BY-NC和CC BY-SA图像。
训练过程
我们使用5折交叉验证过程在训练期间调整超参数,然后在“完整”训练集上训练并在保留的图像集上评估。本仓库主分支中的模型应视为发布版本。
我们使用Pytorch Lightning作为训练框架,超参数如下。训练过程直接,对于有深度神经网络训练经验的用户来说应该很熟悉。
使用我们的管道训练该模型的典型命令:
tcd-train semantic segformer-mit-b2 data.output= ... data.root=/mnt/data/tcd/dataset/holdout data.tile_size=1024
预处理
本仓库包含一个可与模型一起使用的预处理器配置,假设用户使用transformers
库。
用户可以轻松加载此预处理器,例如:
from transformers import AutoImageProcessor
processor = AutoImageProcessor.from_pretrained('restor/tcd-segformer-mit-b2')
注意我们不调整输入图像的大小(以尊重源图像的地理空间比例),并假设归一化在此处理步骤中完成,而不是作为数据集转换。
训练超参数
- 图像大小:1024像素正方形
- 学习率:初始1e4-1e5
- 学习率调度:在平台期降低
- 优化器:AdamW
- 数据增强:随机裁剪至1024x1024,任意旋转、翻转、颜色调整
- 训练轮数:交叉验证期间75轮以确保收敛;最终模型50轮
- 归一化:Imagenet统计量
速度、大小和时间
用户可以在CPU上评估模型(即使mit-b5),但如果尝试推断大尺寸图像块,则需要大量可用内存。通常我们发现1024像素的输入是理想的最大尺寸,考虑到输出分割掩码的固定大小(即可能最好在1024x1024像素下进行批量推断,而不是尝试预测单个2048x2048像素的图像)。
所有模型均在配备24GB显存(NVIDIA RTX3090)的单GPU上训练,机器配置为32核CPU和64GB内存。除最大模型外,所有模型均可在此规格的机器上在一天内完成训练。最小模型不到半天,最大模型略多于一天。
我们从用户(实地)收到的反馈是,土地所有者通常对航拍调查结果感兴趣,但在偏远地区数据带宽往往是限制因素。我们的目标之一是支持这种实地使用,以便进行航拍调查的用户可以离线并在合理的时间内(即大约一小时)处理结果。
评估
我们报告在OAM-TCD保留集上的评估结果。
测试数据
训练数据集可在此处找到。
该模型(main
分支)在所有train
图像上训练,并在test
(保留)图像上测试。

评估指标
我们报告保留数据集上的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。