标注 | 说明 | 数据类型 |
输入栅格 | 待分类的栅格数据集。 首选输入项为 8 位 3 波段分割栅格数据集,其中所有位于同一分割的像素具有相同的颜色。 输入也可以是 8 位单波段灰度分割栅格。 如果没有可用的分割栅格,可使用任何 Esri 支持的栅格数据集 | Raster Layer; Mosaic Layer; Image Service; String |
输入训练样本文件 | 用于描绘训练场的训练样本文件或图层。 它们可以是包含训练样本的 shapefile 或要素类。 训练样本文件中需要以下字段名称:
| Feature Layer |
输出分类器定义文件 | 包含属性信息、统计数据、超平面矢量和分类器所需的其他信息的输出 JSON 格式文件。 将创建 .ecd 文件。 | File |
附加输入栅格 (可选) | 将对其他栅格数据集(如多光谱影像或 DEM)进行整合,从而为分类生成属性和其他所需信息。 设置此参数属于可选操作。 | Raster Layer; Mosaic Layer; Image Service; String |
每个类的最大样本数 (可选) | 用于定义每个类的最大样本数。 如果输入为非分割栅格,建议使用默认值 500。 值小于或等于 0 表示系统将使用训练场中的所有样本来训练分类器。 | Long |
所用的分割影像属性 (可选) | 指定要包括在与输出栅格相关联的属性表中的属性。 仅当在输入栅格上将分割关键属性设置为 true 时,此参数才会激活。 如果该工具中的唯一输入是分割影像,则默认属性为聚合颜色、像素计数、紧密度和垂直度。 如果将附加输入栅格值作为输入与分割影像一起添加进来,则还可以使用平均数字值和标准差属性。
| String |
维度值字段 (可选) | 在输入训练样本要素类中包含维度值。 使用 Image Analyst 工具箱中使用 CCDC 分析变化工具的变化分析栅格输出来分类栅格数据的时间序列时,需要使用此参数。 | Field |
需要 Spatial Analyst 许可。
获得 Image Analyst 许可后可用。
摘要
使用支持向量机 (SVM) 分类定义生成 Esri 分类器定义文件 (.ecd)。
使用情况
SVM 分类器是一种监督分类方法。 非常适合用于处理分割栅格输入,还可以处理标准影像。 是研究团体常用的一种分类方法。
对于标准影像输入,工具接受具有任意位深度的多波段影像,它还会基于输入训练要素文件基于像素执行 SVM 分类。
对于关键属性设置为分割影像的分割栅格,此工具将计算 RGB 分割栅格中的索引影像及相关的分割影像属性。 计算的属性将用于生成要在独立分类工具中使用的分类器定义文件。 可根据任意 Esri 支持的影像计算每个分割影像的属性。
使用 SVM 分类器而不是最大似然分类方法有几个优点:
- SVM 分类器需要的样本较少,且不需要样本呈正态分布。
- 它不那么容易被噪音、关联波段以及每个类中不平衡的训练场数量或大小所影响。
任何 Esri 支持的栅格都可用作输入,包括栅格产品、分割栅格、镶嵌、影像服务或通用栅格数据集。 分割栅格必须为 8 位 3 波段栅格。
要创建训练样本文件,请使用分类工具下拉菜单中的训练样本管理器窗格。
仅在其中一个栅格图层输入为分隔影像的情况下激活分割属性参数。
使用连续变化检测和分类 (CCDC) 算法对时间序列栅格数据进行分类需要两步过程。 首先,运行使用 CCDC 分析变化工具,该工具具有 Image Analyst 扩展许可。 接下来,将这些结果用作此训练工具的输入。
训练样本数据必须通过训练样本管理器多次进行收集。 训练样本要素类的一个字段中列出了每个样本的维度值,该字段在维度值字段参数中指定。
参数
TrainSupportVectorMachineClassifier(in_raster, in_training_features, out_classifier_definition, {in_additional_raster}, {max_samples_per_class}, {used_attributes}, {dimension_value_field})
名称 | 说明 | 数据类型 |
in_raster | 待分类的栅格数据集。 首选输入项为 8 位 3 波段分割栅格数据集,其中所有位于同一分割的像素具有相同的颜色。 输入也可以是 8 位单波段灰度分割栅格。 如果没有可用的分割栅格,可使用任何 Esri 支持的栅格数据集 | Raster Layer; Mosaic Layer; Image Service; String |
in_training_features | 用于描绘训练场的训练样本文件或图层。 它们可以是包含训练样本的 shapefile 或要素类。 训练样本文件中需要以下字段名称:
| Feature Layer |
out_classifier_definition | 包含属性信息、统计数据、超平面矢量和分类器所需的其他信息的输出 JSON 格式文件。 将创建 .ecd 文件。 | File |
in_additional_raster (可选) | 将对其他栅格数据集(如多光谱影像或 DEM)进行整合,从而为分类生成属性和其他所需信息。 设置此参数属于可选操作。 | Raster Layer; Mosaic Layer; Image Service; String |
max_samples_per_class (可选) | 用于定义每个类的最大样本数。 如果输入为非分割栅格,建议使用默认值 500。 值小于或等于 0 表示系统将使用训练场中的所有样本来训练分类器。 | Long |
used_attributes [used_attributes;used_attributes,...] (可选) | 指定要包括在与输出栅格相关联的属性表中的属性。
仅当在输入栅格上将分割关键属性设置为 true 时,此参数才可用。 如果仅对此工具输入分割影像,则默认属性为 COLOR、COUNT、COMPACTNESS 和 RECTANGULARITY。 如果将 in_additional_raster 值作为输入与分割影像一起添加进来,则还可以使用 MEAN 和 STD 属性。 | String |
dimension_value_field (可选) | 在输入训练样本要素类中包含维度值。 使用 Image Analyst 工具箱中使用 CCDC 分析变化工具的变化分析栅格输出来分类栅格数据的时间序列时,需要使用此参数。 | Field |
代码示例
此 Python 示例使用 SVM 分类器对分割栅格进行分类。
import arcpy
from arcpy.sa import *
arcpy.gp.TrainSupportVectorMachineClassifier(
"c:/test/moncton_seg.tif", "c:/test/train.gdb/train_features",
"c:/output/moncton_sig_SVM.ecd", "c:/test/moncton.tif", "10",
"COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY")
此 Python 脚本使用 SVM 分类器对分割栅格进行分类。
# Import system modules
import arcpy
from arcpy.sa import *
# Set local variables
inSegRaster = "c:/test/moncton_seg.tif"
train_features = "c:/test/train.gdb/train_features"
out_definition = "c:/output/moncton_sig.ecd"
in_additional_raster = "c:/moncton.tif"
maxNumSamples = "10"
attributes = "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY"
#Execute
arcpy.gp.TrainSupportVectorMachineClassifier(
inSegRaster, train_features, out_definition,
in_additional_raster, maxNumSamples, attributes)
该 Python 脚本使用 SVM 分类器,通过来自使用 CCDC 分析变化工具的输出对时间序列多维栅格进行分类。
# Import system modules
import arcpy
from arcpy.sa import *
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Set local variables
in_changeAnalysisRaster = "c:/test/LandsatCCDC.crf"
train_features = "c:/test/train.gdb/train_features"
out_definition = "c:/output/change_detection.ecd"
additional_raster = ''
attributes = None
dimension_field = "DateTime"
# Execute
arcpy.sa.TrainSupportVectorMachineClassifier(
in_changeAnalysisRaster, train_features, out_definition,
additional_raster, attributes, dimension_field)
许可信息
- Basic: 需要 Spatial Analyst 或 Image Analyst
- Standard: 需要 Spatial Analyst 或 Image Analyst
- Advanced: 需要 Spatial Analyst 或 Image Analyst