前面我们介绍过arcgis+人工智能之深度学习介绍:arcgis10.8深度学习介绍
本文目的:我们简要介绍目前arcgis集成了那些机器学习算法,我们知道常用的机器学习算法库是scikit-learn;那么我们arcgis有哪些可以直接使用的机器学习算法呢?
答:目前已经集成的有:ISO 聚类、随机树、支持向量机 (SVM)、最大似然法这四种机器学习算法,这也是我们本篇的主角;
影像分类是从多波段遥感影像中提取信息类别(例如土地覆盖类别)的过程。
工作流涉及从预处理到分割、训练样本选择、训练、分类和评估精度的多个步骤。
每个步骤可以是迭代的,并且该过程需要深入了解输入影像、分类模式、分类方法、预期结果和可接受的精度。
从上图中,我们可以注意到我们arcgis中的机器学习算法其实是在影像分割和分类流程中的嵌入的一个流程;那么下面我对这 四种机器学习简的介绍下:
ISO 聚类 - ISO 聚类分类器将执行非监督分类。此分类器可处理非常大的分割影像,这些影像的属性表可能会变得很大。另外,此工具还可接受来自第三方应用程序的分割 RGB 栅格。此工具适用于 Esri 支持的标准栅格文件以及分割栅格数据集。
最大似然法 - 最大似然法分类器是一种传统的影像分类技术。该分类基于两条原则:多维空间中每个类样本中的像素呈正态分布和贝叶斯决策理论。
随机树 - 随机树分类器是一种强大的影像分类技术,它可防止过度拟合,并可处理分割影像及其他辅助栅格数据集。对于标准影像输入,该工具接受具有任意位深度的多波段影像,它还会基于输入训练要素文件对各像素执行随机树分类。
支持向量机 (SVM) - SVM 分类器提供了一种强大的监督分类方法,可用于处理分割栅格输入或标准影像。它不那么容易被噪音、关联波段以及每个类中不平衡的训练场数量或大小所影响。这是一种被研究人员广泛采用的分类方法。
分类器说明
ISO 聚类:
ISO 聚类分类器使用 K 均值方法执行无监督分类。此分类器可处理非常大的分割影像,这些影像的属性表可能会变得很大。另外,此工具还可接受来自第三方应用程序的分割 RGB 栅格。此工具适用于 Esri 支持的标准栅格文件以及分割栅格数据集。如果在配置页面上选择非监督作为分类方法,则只有分类器可用。
最大似然法:
最大似然法分类器是一种传统参数的影像分类技术。为了获得可靠的结果,每个类别应由具有正态分布的统计显著性数量的训练样本表示,并且代表每个类的训练样本的相对数量应该相似。
随机树:
随机树分类器是一种先进的机器学习技术,可防止过度拟合,可处理分割影像和其他辅助栅格数据集以及多光谱影像。对于标准影像输入,该工具接受具有任意位深度的多波段影像,它还会基于输入训练要素文件执行随机树分类(有时称为随机森林分类)。
如果执行基于对象分类,则可以选择任意或所有用于训练分类器的分割影像属性。
支持向量机:
支持向量机分类器是一种先进的机器学习分类方法,可用于处理分割栅格输入或标准影像。它不那么容易被噪音、关联波段以及每个类中不平衡的训练场数量或大小所影响。这种分类方法被广泛使用。如果执行基于对象分类,则可以选择任意或所有用于训练分类器的分割影像属性。
其次是我们的Image Analyst 中的影像分割和分类工具集:
影像分割和分类工具提供了一种基于对象从影像中提取要素的方法。这些对象通过影像分割过程创建,其中将紧密邻近且具有相似光谱特性的像素分组到同一分割中。可将具有某些形状、光谱特性和空间特征的分割进一步分组到对象中。然后可将对象分组到表示地面上真实世界要素的类中。还可以在像素影像(例如传统未分割影像)上执行影像分类。
面向对象的要素提取过程是由涵盖三个主要功能区域(图像分割、得出关于分割的分析信息、分类)的工具所支持的工作流。一个工具的数据输出是后续工具的输入,其目的是为了生成有意义的面向对象的要素类地图。面向对象的过程类似于传统影像,是一个基于像素的分类过程,使用了监督和非监督分类技术。该过程不是对像素进行分类,而是对分割进行分类,分割可被视为超级像素。每个分割或超级像素可由生成分类影像的分类工具所使用的一组属性来表示。
下面是说明面向对象要素提取工作流的地理处理模型。
面向对象的要素提取工作流
使用影像分割和分类工具,可准备要在创建分类栅格数据集时使用的分割栅格。
下表列出了可用的影像分割和分类工具,并对每个工具进行了简要描述。
影像分割和分类工具集的工具
工具 | 说明 |
---|---|
分类栅格 | 根据 Esri 分类器定义文件 (.ecd) 和栅格数据集输入对栅格数据集进行分类。.ecd 文件包含执行 Esri 支持的特定类型分类所需的所有信息。对此工具的输入必须与用于生成所需 .ecd 文件的输入相匹配。 |
计算混淆矩阵 | 使用漏分误差和错分误差计算混淆矩阵,然后派生出分类地图与参考数据之间的一致性 kappa 指数和整体精度。 |
计算分割影像属性 | 计算一组与分割影像相关的属性。输入栅格可以是单波段或 3 波段的 8 位分割影像。 |
创建精度评估点 | 创建用于分类后精度评估的随机采样点。 |
从种子点生成训练样本 | 从种子点(如精度评估点或训练样本点)生成训练样本。典型用例是从现有源(如专题栅格或要素类)生成训练样本。 |
检查训练样本 | 估计个人训练样本的精度。交叉验证精度是使用 .ecd 文件中先前生成的分类训练结果及训练样本进行计算的。输出包括以下内容:包含误分类类值的栅格数据集,包含每个训练样本精度得分的训练样本数据集。 |
线性光谱解混 | 用于执行亚像素分类和计算单个像素的不同土地覆被类型的分数丰度。 |
移除栅格影像分割块伪影 | 某些区域过程(例如影像分割)在影像切片边界附近会有不一致现象。该工具可校正作为栅格函数执行的分割过程中被切片边界切割的线段或对象。该加工过程包括在 Mean Shift 影像分割工具中,因此只应在非该工具制作的分割影像上使用。 |
Mean Shift 影像分割 | 将相邻并具有相似光谱特征的像素组合到一个分割块中。 |
训练 Iso 聚类分类器 | 使用 Iso 聚类分类定义生成 Esri 分类器定义文件 (.ecd)。 |
训练最大似然法分类器 | 使用最大似然法分类器 (MLC) 分类定义生成 Esri 分类器定义文件 (.ecd)。 |
训练随机树分类器 | 使用随机树分类方法生成 Esri 分类器定义文件 (.ecd)。 |
训练支持向量机分类器 | 使用支持向量机 (SVM) 分类定义生成 Esri 分类器定义文件 (.ecd)。 |
更新精度评估点 | 更新属性表中的 Target 字段,将参考点与分类的影像进行比较。 |
影像分割
影像分割基于Mean Shift 方法。该技术使用移动窗口来计算平均像素值以确定每个分割中应该包括的像素。当窗口在影像上方移动时,迭代式地重新计算值以确保每个分割都是合适的。结果是将影像像素分组到以中间色为特征的分割中。
Mean Shift 影像分割工具可接受任何 Esri 支持的栅格并可输出关键属性设置为分割的 3 波段 8 位彩色分割影像。影像分割的特征取决于三个参数:光谱详细级别、空间详细级别和最小分割大小。您可以改变感兴趣要素特征的详细信息。例如,如果对隔绝要素比对单个建筑物更感兴趣,则可将空间细节参数调整为较小的数字,这样会使结果更平滑且更概括。
下图是已分割的彩色红外 WorldView-2 场景,由 DigitalGlobe 赞助提供。分割影像显示了分组在一起的相似区域,该区域内没有过多斑点。它对区域进行了概化以使所有要素可作为较大的连续区域,而更传统的分类可能有很多随机像素散布在整个影像上。
原始数据:
分割后的数据:
收集训练样本数据意味着描绘一组表示特定要素的像素,这些像素可根据影像描绘。然后将影像中的所有像素与指定的并分配给特定类的类定义进行统计性比较。训练样本不应包含任何不属于感兴趣类的不需要的像素。只选择每个类中正确的像素时,结果通常以钟形正态分布为特征。确保训练样本面包含大量的像素,尤其是在使用最大似然法分类器时。例如,10 乘 10 块像素等于 100 像素,对于训练面是一个合理且具有统计显著性的大小。
分割栅格数据集与像素影像不同,每个分割(有时被称为超级像素)由一组值来表示。虽然从影像获取包含 100 像素的训练样本面很容易,但从分割栅格数据集获取 100 个分割却需要更多工作。
参数分类器(例如最大似然法分类器)需要统计意义上的大量样本才能生成有意义的概率密度函数。要获得具有统计显著性的样本,每个类应该有 20 个以上样本。这意味着每个类(例如裸土、落叶树或柏油路面)应该采集至少 20 个分割才能定义每个要素类。
平滑度将会影响每个分割的大小和类似程度。使用高平滑系数的分割栅格将可能包含大型分割和源影像中显示的多种类型的要素。由于平滑效果,建议在分割栅格数据集上采集训练样本。这将有助于确保训练样本采集自单独的离散分割。
分析信息
与分割图层相关联的分析信息由分类器训练工具进行计算,并取决于指定的分类器类型。使用合适的训练工具对数据进行分类:
上述工具是面向对象工作流中最常用的工具。附加工具计算分割影像属性支持从第三方应用程序(或向第三方应用程序)添加并导出分割栅格。该工具可添加分割影像和额外的栅格以计算每个分割影像的属性,并将此信息通过相关属性表输出为索引栅格文件。
该工具的目的是允许进一步对分割栅格进行分析。可以在第三方统计应用程序或图形应用程序中对属性进行分析,也可以将属性用作 Esri 不支持的其他分类器的输入。该工具还支持从第三方包中获取分割栅格,从而扩展 Esri 功能,进而提供灵活性以利用第三方数据和应用程序包。
分类栅格工具可执行由 Esri 分类器定义文件指定的影像分类。工具输入包括要分类的影像、可选的第二个栅格(分割栅格或其他栅格图层,如 DEM)和分类器定义文件以生成分类的栅格数据集。分类栅格工具将与训练工具得到相同的输入。请注意,分类栅格工具包含所有支持的分类器。根据分类器定义文件中包含的属性和信息使用正确的分类器。因此,由训练 ISO 聚类分类器、训练最大似然法分类器、训练支持向量机分类器或训练随机树分类器工具生成的分类器定义文件可在运行分类栅格时激活相应的分类器。
输出是专题分类栅格数据集,各类分别在相关属性表中标识,并根据训练过程中开发的方案进行配色。
精度评估是任何分类工程的重要组成部分;它将分类影像与被认为是精确的另一数据源或参考数据相比较。参考数据可在户外采集(称为实际地表数据),但是,这样做不仅耗时而且成本较高。还可以通过解译高分辨率影像、现有分类影像、或 GIS 数据图层获取参考数据。
分类地图精度的最常见评估方法是,根据参考数据创建一组随机点并将其与混淆矩阵中的分类数据进行比较。尽管此过程需两步,但您可能需要 对不同的分类方法或训练场的结果进行比较,否则您可能不会得到参考数据,而只能依赖您创建分类时使用的影像。要适应其他这些工作流,精度评估的两步过程适用于以下工具: 创建精度评估点、 更新精度评估点以及 计算混淆矩阵。
首先是我们的分类向导工具
工作流涉及从预处理到分割、训练样本选择、训练、分类和评估精度的多个步骤。每个步骤可以是迭代的,并且该过程需要深入了解输入影像、分类模式、分类方法、预期结果和可接受的精度。
工具 | 说明 |
---|---|
分类向导 | 分类向导可指导用户完成整个分类工作流。它提供了由最佳做法和简化用户体验组成的解决方案,指导用户以高效的方式完成分类过程。 |
分割 | 分割是基于对象的分类工作流的重要组成部分。此过程可将颜色相似并具有特定形状特征的相邻像素分成一组。 |
训练样本管理器 | 训练样本管理器页面分为两个部分:顶部的方案管理部分以及底部的训练样本部分。可通过分类方案将影像中的所有要素分为不同的类。训练样本是已经定义为特定类的区域,且该类需要与分类方案相对应。 |
分类 | 可通过非监督或监督分类技术对数据进行分类。这一步骤将根据指定的分类算法和参数,将影像处理为类。 |
合并类 | 执行监督分类之后,您可能希望将其中一些类合并为概化程度更高的类。您仅限于处理方案中的父类。 |
分配类 | 执行非监督分类后,需要根据方案将结果组织到有意义的类名称中。 |
精度评估 | 精度评估使用参考数据集来确定分类结果的精度。用 0 - 1 表示精度,其中 1 表示精度为 100%。 |
重分类器 | 对影像进行分类后,在分类结果中可能遇到较小误差。可对单个要素或对象进行编辑。 |
根据分析人员与计算机在分类过程中的交互情况,将有两种分类方法:监督和非监督。
在监督分类中,您需要确定希望向哪些类类别分配像素或分割影像。这些类类别即为您的分类方案。分类完成后,您需要检查生成的分类数据集,并根据方案将错误的类或类面重新分配至合适的类。
您可通过非监督分类,让计算机根据像素光谱特性的统计差异自行决定在您的影像中显示哪些类。完成非监督分类后,您需要将生成的类分配到方案中的类类别。
您所选择的分类方法类型有两个选项:基于对象和基于像素。
基于像素是一种传统的方法,根据各个像素自身决定其所属的类。该方法并不考虑来自相邻像素的任何信息。该方法会在分类结果中造成斑白效果。
基于对象的方法可根据相邻像素在分割过程中的相似程度将相邻像素分组到一起。在决定像素的分组方式时,分割将会考虑到颜色特征和形状特征。由于此方法实际上平均了像素的值并考虑到了地理信息,因此通过分割创建的对象更接近影像中的实际要素并可产生更清晰的分类结果。
ArcGIS Pro 中提供的分类向导可指导分析师完成分类工作流并帮助他们获得可接受的结果。
分类向导可指导用户完成从始至终的整个分类工作流。分类向导提供由最佳实践和简化的用户体验组成的指导工作流,以便您在不错过任何步骤的情况下执行影像分类。有经验的用户可以使用影像分类组的分类工具下拉菜单中可用的单个工具。这些工具与分类向导包含的工具相同。
可在影像选项卡的影像分类组中找到分类向导。在内容窗格中选择要分类的栅格数据集以显示影象选项卡,同时确保您正在使用 2D 地图。如果活动地图是 3D 场景,或者突出显示的影像不是多波段影像,则分类向导将被禁用。
单击影像选项卡上的分类向导按钮 分类向导 以打开和停靠向导。第一页是配置页面,可在其中设置分类工程。此处设置的参数将确定后续向导页面中可用的步骤和功能。
分类方法
您将使用两种方法对影像进行分类。
选项名称 | 说明 |
---|---|
非监督 | 分类的结果是在没有训练样本的情况下确定的。基于 ISO 聚类分类器将像素或分割影像统计分配到类。基于光谱和空间特性将像素分组成类。您提供要计算的类的数量,并在分类完成后识别和合并各个类。 |
监督 | 分类的结果取决于提供的训练样本。训练样本是您要在影像中分类的所有类的代表站点。这些站点将被存储为点或面要素类,每个要素都具有相应的类名称,并根据用户对源数据和预期结果的了解对站点进行创建或选择。使用训练样本的特性对影像中的所有其他像素进行分类。这是默认选项。 |
分类类型
对于监督和非监督分类,分类类型有两种选择。
选项名称 | 说明 |
---|---|
基于像素 | 基于每个像素执行分类,其中单个像素的光谱特性确定其将分配到的类。在基于像素的方法中不考虑相邻像素的特性。这被认为是更传统的分类方法,并且可以在分类影像中产生斑白效果。 |
基于对象 | 对像素的局部邻域执行分类,将其与分割影像的过程组合在一起。在将像素分类为对象时,分割影像会考虑颜色和形状特性。由分割产生的对象更接近真实世界要素,并可产生更清晰的分类结果。这是默认选项。 |
分类方案
分类方案确定了用于监督分类的类的数量和类型。方案可以是分级的,这意味着可以有包含子类的类。例如,您可以为一个森林类指定常绿林和落叶树森林的子类。方案将保存在 Esri 分类方案 (.ecs) 文件中,该文件使用 JSON 语法。您可以选择下列选项以指定分类方案:
浏览至现有方案。
从表示训练样本的现有要素类生成方案。如果您计划引用现有的训练样本数据集,请选择此选项。
从现有栅格类地图生成方案。
使用北美洲的美国国家土地覆被数据集的默认模式。如果要创建自定义方案,请选择此选项并在训练样本管理器页面进行修改。
输出位置
这是一个工作空间或目录,用来存储分类向导中创建的所有输出,包括训练数据、分割影像、自定义方案、精度评估信息以及分类结果。
如果您选择将基于对象分类作为分类类型,则这仅是一个选项。如果您已创建分割影像,可参考现有数据集。否则,作为下一页上的步骤,您将需要创建分割影像。
注:
如果之前尚未创建分割栅格,请在训练分类器之前创建它。这是一项计算密集型操作,创建分割栅格数据集可能需要很长时间。对于大型数据集,强烈建议您事先创建分割栅格,并在配置分类工程时将其指定为输入。
单击运行后,将训练分类器。
运行完毕后,可以使用外观选项卡上的卷帘工具直观地验证源影像结果。您可以使用不同的设置或使用不同的分类器比较结果,方法是:单击上一个并调整设置,或选择要运行的其他分类器。然后,您可以使用以下方法比较不同的分类结果:使用卷帘工具或在内容窗格单击打开和关闭图层。对分类结果感到满意后,单击下一个。
单击运行将分类结果保存到指定的输出目录或工程数据库。或者,您可以选择保存输出类定义文件 (.ecd)。
如果您选择将监督作为分类方法,则这仅是一个选项。您可以使用分类工具下拉列表中的训练样本管理器来创建训练样本,或者您也可以提供现有的训练样本文件。这可以是包含训练样本的 shapefile 或要素类,并且必须与分类模式相对应。训练样本文件中需要以下字段名称:
classname - 指示类类别名称的文本字段。
classvalue - 包含每个类类别的整数值的长整型字段。
仅在您选择非监督作为分类方法时,才会显示此页面。根据您指定的类的数目,使用源影像的像素或细分特性,已创建了许多类。现在,您需要根据使用中的分类方案为每个类分配含义。分配类页面的顶部显示了方案中的类列表,底部则显示生成的类列表。
从页面顶部的方案列表中选择一个类。
单击分配工具,在您希望分配到方案类的类地图上选择类。您在分配类的过程中可以查看基础影像,以验证新建类是否合理。按 L 键可切换已分类影像的透明度。检查该表后您将发现,系统已使用被分配“旧类”的类对旧类进行了更新。将更新类颜色以反映该方案。
如果要取消选中内容窗格的类地图以便显示源影像,则可以单击影像中的要素(例如,灰色屋顶或草坪),这一操作将继续重新分配类地图中的相应类。
对影像进行分类后,在分类结果中可能遇到较小误差。要处理这些,较为容易的方法是编辑最终分类影像,而不是重新创建训练场和重新进行分类步骤。该重新分类页面允许您对分类影像中的各个要素或对象进行编辑。这是一个后处理步骤,用于应付分类过程中出现的错误。您所做的所有更改都会显示在编辑日志中,您可以选择打开或关闭您所做的任何编辑。通过重分类影像清除错误后,您可以查看基础影像以验证对象是否合理。按 L 键可切换已分类影像的透明度。
选择当前类和新类进行重新分类。
对区域内对象或类进行重新分类。
使用重分类对象 重分类对象 工具,在分类影像上绘制一个圆。作为圆的起源的线段将被更改为新类。
使用在区域内重分类 在区域内重分类 工具,在分类影像上绘制一个面。此面内的当前类将更改为新类。
使用编辑日志验证要保留或放弃的编辑,并为存储在配置页面输出位置中的最终分类数据集命名。
执行监督分类后,您可以将多个类合并为更广泛的类。原始类名称将列在合并类页面的旧类列中。在此您可以根据需要对整个类进行更改,但仅限于对方案中的父类进行更改。例如,在此页面上,您可将落叶林更改为森林,但无法将落叶林更改为水。如需进行此类编辑或更改单个要素,您需要使用重分类器页面。
精度评估
您的影像分类结果将与精确度评估配置页面提供的参考数据相比较。参考数据集的分类方案必须与已分类影像的分类方案相匹配。
随机点的数量
将生成的随机点总数。
根据采样策略和类数,实际数量可能会超出此数量但绝不会低于此数量。默认随机生成的点数为 500。
采样策略
指定要使用的采样方案。
分层随机 - 创建每个类中随机分布的点,其中每个类的点数与其相对区域是成比例的。这是默认设置。
均衡化分层随机 - 创建每个类中随机分布的点,其中每个类具有相同的点数。
随机 - 创建在整个影像中随机分布的点。
分析对角线
用 0 - 1 表示精度,其中 1 表示精度为 100%。颜色从浅蓝色过渡到深蓝色,颜色越深表示精度越高。沿对角线的值表示类别分配的总体精度。