🌲 森林干扰监测:以 LandTrendr 为例

🌲 什么是森林干扰?

在聊 LandTrendr 之前,先说清楚一个基本概念——什么是森林干扰(Forest Disturbance)。

森林干扰是指在短时间内对森林生态系统造成显著变化的干扰事件,会导致森林结构、生物量、树种组成等发生明显改变。干扰可以分为两大类:

  • 🔴 自然干扰:火灾、虫害爆发、台风/风暴、病虫害、洪水等
  • 🟡 人为干扰:皆伐(完全砍伐)、择伐(选择性砍伐)、土地利用变化(毁林开荒)、基础设施建设等

这些干扰会打乱森林的正常演替进程,影响碳汇功能、生物多样性,甚至威胁人类财产安全。因此,及时发现森林干扰的位置、时间和强度,是森林资源管理的第一步。


🔬 LandTrendr 是什么?

LandTrendr(Landscape Change Tracker,全称”光谱-时间分割算法”)最初由美国俄勒冈州立大学(OSU)的 eMapR 实验室开发,是一种专门用于中等分辨率卫星影像时间序列变化检测的算法。

它的核心思想是:

每一个像素的光谱历史都在讲述一个故事,LandTrendr 负责把这个故事”缩写”成关键情节——它找到光谱轨迹发生”质变”的转折点(断点),记录变化发生的年份,从而将冗长嘈杂的多年观测数据精简成几段有意义的直线。

LandTrendr 最初在 IDL(交互式数据语言)环境中运行,后来被移植到 Google Earth Engine(GEE)云平台——这一步意义重大:GEE 提供了海量计算资源,让过去在本地需要跑几天的大区域森林监测,现在几分钟就能完成。


📡 核心原理:光谱-时间分割

Step 1:从一个波段/指数说起

算法每次只处理一个光谱波段或植被指数的时间序列。对于森林干扰监测,最常用的是 NBR(归一化燃烧比)

NBR = (NIR - SWIR) / (NIR + SWIR)

NBR 对森林损失极为敏感——健康森林 NBR 值高,一旦发生火灾或砍伐,NBR 会迅速下降。因此用 NBR 追踪森林变化非常灵敏。

Step 2:找”断点”(Breakpoint)

算法把一连串年的光谱值拟合成折线图,然后识别出那些转折点——即光谱值发生了”质变”而非小幅波动的年份。这些转折点叫顶点(Vertex)断点,每个断点对应一个变化年份。

Step 3:分段落,提取特征

断点把整条时间线切成若干段,每段是一段相对稳定的时期(可能代表”正常生长”或”持续退化”)。然后可以计算每段的:

  • 起始值(扰动前的基础光谱值)
  • 结束值(扰动后的光谱值)
  • Δ值(变化幅度 = 结束值 – 起始值,反映干扰严重程度)
  • 持续时间(从干扰到恢复用了多少年)

Step 4:”事后增强”插值

找到断点后,顶点之间的年份值可以被插值填充——这相当于用”前因后果”修正了那些被云遮挡或大气噪声影响的观测,让整条时间序列更干净、连贯。

更妙的是:可以用 NBR 找断点,然后把断点年份”迁移”到其他波段(如 SWIR、红边等),一次性获得同一时期多维光谱信息——非常适合训练分类器识别干扰类型(是火烧?还是皆伐?还是虫害?)。


🛰️ 在 GEE 上跑 LandTrendr

数据输入

GEE 上通常使用 USGS Landsat 地表反射率产品(Tier 1),需要提前:

  1. 去云处理:用 CFMASK 掩膜掉云、雪、阴影
  2. 年度合成:取生长季(北半球6-9月)多景影像的中位数/moid 合成,得到每年一张”干净”的图
  3. 计算指数:NBR、NDVI 等

核心参数

运行 LandTrendr 需要设定几个关键参数(根据研究区特点调整):

  • maxSegments:允许的最大段数(通常 6-10)
  • spikeThreshold:抖动的容忍度,越低越容忍噪声
  • vertexCountOvershoot:允许超出最大段数的比例
  • recoveryThreshold:恢复阈值,判断一段光谱下跌是”真干扰”还是”噪声”
  • pvalThreshold:Fitted 显著性检验阈值
  • minObservations:最少有效观测年数

GEE 代码示例(核心结构)

// 加载 Landsat NBR 时间序列
var lt = require('users/emapr/lte:LT-LandTrendr');
var ltParams = {
  maxSegments: 8,
  spikeThreshold: 0.9,
  recoveryThreshold: 0.25,
  // ...
};
var ltResult = lt.run(ltCollection, ltParams);

// 提取干扰年份和干扰幅度
var disturbance = ltResult.select(['Year', 'NBR']);
Map.addLayer(disturbance);

(实际使用需要完整的预处理流程和参数调优,此处仅展示核心逻辑)


📊 LandTrendr 在森林干扰监测中的应用

这个算法自诞生以来,在森林监测领域应用极广,尤其在以下场景表现出色:

1. 火烧迹地监测

火烧后 NBR 会急剧下降,LandTrendr 能精准定位火烧年份,并追踪火烧后的植被恢复进程。美国、澳大利亚、巴西等国的林火监测研究大量采用此方法。

2. 采伐干扰检测

皆伐区 NBR 下降幅度大且突然,LandTrendr 能识别出具体的采伐年份。南方人工林区(广东、广西、福建等)的采伐监测是典型应用场景。

3. 病虫害监测

重度虫害会导致植被退化,NBR 会出现类似干扰的下降特征,可以辅助识别松材线虫等病虫害暴发区域。

4. 干扰类型自动分类

这是近年来的前沿方向:先用 LandTrendr 提取干扰事件,然后用随机森林等机器学习算法,结合干扰光谱特征(幅度、恢复速度、多波段信息),自动区分火烧/采伐/病虫害等干扰类型。


🇨🇳 国内应用现状

LandTrendr 近年来在国内也得到了大量应用,尤其在南方人工林区的研究中表现突出:

  • 海南岛:基于 LandTrendr 算法和森林资源清查数据,监测海南岛森林扰动,发现不同植被指数对不同扰动类型敏感度存在差异
  • 成都市:基于 GEE + LandTrendr 监测 2000-2022 年森林扰动时空动态,结合皮尔逊相关分析探究驱动因子
  • 南太行山区:监测华北平原生态屏障区的森林干扰与恢复过程
  • 滇东喀斯特地区:针对地形破碎、混合干扰频发的复杂环境,构建 GEE-LT 监测框架
  • 亚热带森林(湖南等地):结合 LandTrendr + 随机森林,区分干扰类型,揭示时空格局

💡 优势与局限

✅ 优势

  • 算法成熟:经过大量研究和应用验证
  • GEE 加持:云端处理,无需本地高算力,大区域秒级运算
  • 可复现性强:参数透明,结果可重复
  • 可同时提取干扰年份、幅度、恢复进程——数据信息丰富

⚠️ 局限

  • 依赖单波段/指数:每次分割只看一个光谱维度,多源信息需要后续融合
  • 混合干扰分辨难:当多种干扰同时发生时(如火烧后人工更新),单一 NBR 难以区分
  • 对小面积斑块不敏感:Landsat 30m 分辨率限制了对小块林地干扰的检测能力
  • 参数依赖经验:不同植被类型、生态区需要不同参数模板

🔗 与李明诗老师研究的关联

回到开头——南京林业大学的李明诗副教授,其研究团队长期关注遥感时间序列森林干扰监测方向。

李老师团队在 2021 年发表于《遥感学报》的综述文章《长时间序列多源遥感数据的森林干扰监测算法研究进展》中,对 LandTrendr、CCDC 等算法做了系统评述,指出 LandTrendr 在中国本土卫星数据应用中的优势和挑战。

李老师指导的研究生也多次使用 LandTrendr 方法,对南方人工林进行干扰与恢复制图分析。如果你想深入学习这个方向:

  1. 先读懂 LandTrendr 的光谱-时间分割逻辑
  2. 在 GEE 上跑通一个最小示例(哪怕只是一小块林地)
  3. 尝试调整参数,对比不同阈值对结果的影响

这一步一步的动手实践,正是这个方向最重要的科研素养。


📚 参考文献

  • Kennedy R E, et al. (2010). Quantifying vegetation recovery from disturbance with Landsat time series. Remote Sensing of Environment.
  • Braaten J D. LandTrendr (LT) Spectral-Temporal Segmentation API. eMapR Lab, OSU. https://emapr.github.io/LT-GEE
  • 沈文娟, 李明诗. (2021). 长时间序列多源遥感数据的森林干扰监测算法研究进展. 遥感学报.
  • 吕佳成等. 基于LandTrendr算法的南太行森林干扰与恢复监测研究.

本文参考了 eMapR Lab 官方文档、腾讯云开发者社区教程及国内相关学术论文。