在本模块中,我们将讨论以下概念:
图像分类人类自然倾向于将空间信息组织成组。从上面,我们识别出常见的地貌,如湖泊和河流、建筑物和道路、森林和沙漠。我们将这种具有相似特征的对象分组称为“图像分类”。但在全球范围内手动对对象进行分类和赋值将是一项无休止的任务。值得庆幸的是,使用遥感数据将不同的景观特征划分为分类类别已成为过去 40 年生态研究的主要内容。从农业发展和土地覆盖变化,到造林实践和污染监测,所有领域都进行了分类。
非监督与监督分类的图像分类方法可以分为两类。首先,非监督分类涉及将潜在的预测变量应用于地理区域,并要求预测算法或先验回归系数来完成图像分类的工作。第二个,监督分类,需要创建独立的训练数据:概率模型可以用来发现观察条件和一组预测变量之间的关联的信息。
现在我们可以开始构建我们的预测器列表。您可能会阅读有关可以处理“高维”预测器列表的分类算法。这仅仅意味着可以包含大量潜在的解释变量。基于我们正在研究的生态系统的现有知识,我们可以选择一组初始变量,我们假设这些变量可以解释和预测景观中白杨的存在。将以下代码附加到您的脚本将构建一个多波段图像,其中包含我们所需的所有预测变量,包括一些与植被相关的光谱指数。打印predictors对象应该会在代码下方显示控制台输出。
来自对象的打印语句的文本predictors,列出了每个波段以及相应的预测器名称。
要将值提取到点,我们必须首先导入我们的点数据集。幸运的是,我们已经准备好使用特定的 FeatureCollection ID 直接调用它。这些点表示白杨树存在和不存在的区域,因此我们将变量命名为PA。导入的训练数据可能要复杂得多,但为了我们的目的,一个简单的二元分类就可以解决问题。一旦我们加载我们的训练数据,我们将需要在每个点从我们的预测器中提取值。
将下面的代码添加到我们现有的脚本中,我们可以看到我们的训练数据已经加载完毕。随意根据您的个人喜好调整颜色,但结果应类似于下图所示。
包含有关白杨林存在和不存在位置信息的点数据。
)。正如 George Box 的名言所说,“所有模型都是错误的,但有些是有用的”,知道使用特定系统和算法的注意事项是很好的。
打印trainingclassifer对象后来自控制台选项卡的结果。请注意,我们可以验证我们选择了哪些模型选项,因为这些值是为numberOfTrees和打印的seed。
在承认 Google Earth Engine 中参数限制的警告之后,在我们使用模型的结果进行任何预测之前,了解我们对模型结果的信任程度仍然是一个好主意。评估分类器准确性的一种方法是查看混淆矩阵。请记住,这只是衡量我们训练数据的准确性!
将以下代码附加到您的脚本并重新运行以生成控制台输出,如下所示。这不是最漂亮的可视化,但它表明这似乎是一个高度准确的白杨存在和缺失模型。
对于可接受的模型精度,没有硬性规定。这将取决于您的数据集、研究领域和文献中设定的期望。话虽如此,我们的模型以非常高的精度生成,因此我们可以相当舒服地使用我们的模型对整个景观进行预测。不管模型的准确性如何,生态知识也可以帮助指导模型结果的解释。树木的预测不应出现在树线以上或峡谷底部的高山植被上。无论您是所在领域的专家还是仅使用常识,始终建议对模型输出进行目视检查。附加最后一段代码以完成建模演练并查看您的预测结果。
使用我们的 randomForest 模型对整个景观进行预测的结果。白杨存在以蓝色表示,不存在以白色表示。
在本单元中,我们介绍了 Google 地球引擎中的图像分类。我们讨论了分类方法的一些基本定义和一般特征,包括一种称为 randomForest 的机器学习算法。然后,我们使用 randomForest 来帮助我们通过结合来自遥感预测器和现场数据的信息来生成美国科罗拉多州西部白杨存在和不存在的景观尺度预测。