17.12. 分类¶
使用卫星图像进行制图通常涉及将像素值转换为主题信息,例如与土地覆盖相关的信息。
该操作称为分类,实现它的方法主要有两类:
unsupervised classification partitions the input image into several clusters according to some user-defined homogeneity criteria. Thematic classes can then be associated with each cluster (the most popular unsupervised classification algorithm is the K-Means algorithm);
supervised classification, using training samples (a set of numerical samples associated with the thematic class label) from which the algorithm will learn decision rules (also called classification models) which associate a pixel with its thematic class, which will then be applied to the whole image. There are several existing supervised classification algorithms (Support Vector Machine, Random Forests, Artificial Neural Networks, etc.).
在本节中,我们将重点关注监督像素分类,使用像素值(纯量或纯量)作为决策规则的输入。该方法在OTB 中分为几个步骤:
1)训练样本的选择和样本值的计算;
2)模型训练(在这一步中,学习决策规则训练样本);
3)分类:可选的后处理(分类地图正规化、合并几个分类图或一些单一分类内的类别);
4)评估验证样本的性能;
5)彩色分类地图制作,每种颜色对应到一个班级。
第一步(样本选择)在OTB 中作为一系列应用程序提供,可以对整个过程进行微调。 然而,为了简单起见,我们将说明 TrainImagesClassifier 的使用, 它链接了上面列出的前两个步骤(步骤1:训练样本选择和步骤2:模型训练)。 随后的步骤将使用一个应用程序执行。
总而言之,我们将使用以下应用程序:
TrainImagesClassifier: for training sample selection and training of the classification model;
ImageClassifier: to apply the trained model to the whole image;
ComputeConfusionMatrix: to compute the global performance of our classification chain;
ColorMapping: to produce colorized classification maps.
输入数据是2011年获取的9张图像Landsat-8时间序列和划定类别的多边形矢量数据集。
每个图像日期由七个光谱带组成(表5.30)。
Spectral band |
Wavelength (µm) |
Resolution (m) |
---|---|---|
Band 1 – Adrosols |
0.433–0.453 |
30 |
Band 2 – Blue |
0.450–0.515 |
30 |
Band 3 – Green |
0.525–0.600 |
30 |
Band 4 – Red |
0.630–0.680 |
30 |
Band 5 – Near infrared |
0.845–0.885 |
30 |
Band 6 – Short wavelength infrared |
1.560–1.660 |
30 |
Band 7 – Short wavelength infrared |
2.100–2.300 |
30 |
表5.30. Landsat-8的光谱带
这些频段已被连接到单个多频段图像中,这意味着每个像素都是63个分量(七个图像具有九个频段)的矢量 .
Training数据由一个包含在整个区域定义11个类别的多边形组成(表5.31和图5.35)。
Code |
Name |
Number of polygons |
---|---|---|
11 |
Summer crops |
7,898 |
12 |
Winter crops |
8,171 |
31 |
Deciduous forests |
867 |
32 |
Evergreen forests |
125 |
34 |
Grass |
45 |
36 |
Woody moorlands |
386 |
41 |
Buildings |
4,719 |
51 |
Water |
1,280 |
211 |
Meadow |
5,647 |
221 |
Orchardr |
204 |
22 |
Vineyard |
559 |
表5.31.训练数据
图5.35.训练样本可视化(每个点对应于训练多边形内选择的像素)。 有关该图的彩色版本,请参阅www.iste.co.uk/baghdadi/qgis1.zip
第一步包括从矢量文件中训练分类模型.
步的指示
打开的应用
在图形用户界面模式中启动OTB 应用程序 TrainImagesClassifier
(运行 otbgui_TrainImagesClassifier
)(图5.36)

图5.36. otbetts_TrainImagesClassiver
选择输入图像
使用文件选择器,在“InputImage列表”字段中选择连接的图像。
选择包含训练多边形的矢量文件使用文件选择器, 在“输入矢量数据列表”字段中选择包含参考多边形“training.shp”的文件。
选择包含训练多边形的载体文件中包含类标识符的字段在“区分字段的名称”中,输入值“BER”, 这是载体文件中与类标识符对应的字段的名称。
选择算法
Orfeo
Toolbox提供了许多用于监督分类的机器学习算法。在本例中,我们将使用“Random Forest”算法。
在“Classifier to use for the training”下拉菜单中选择它。
选择输出图像
要选择输出路径,请编辑“输出模型”字段。
执行
单击“执行”运行该过程。
结果分析
应用程序的结果是以文本格式保存的训练模型。该格式特定于训练算法,不允许用户执行分析。 我们现在将通过使用Image Classification应用程序将该模型应用于整个图像来分析该模型的性能。
表5.32.使用 TranImagesClassifier
应用程序对Landsat-8图像进行培训
我们现在可以将此分类模型应用于另一张图像。 在这里,我们将将其应用于整个Landsat-8时间序列。
之后,我们使用 ComputeConfusionMatrix 应用程序来评估分类地图的全球性能。 对于培训步骤期间的绩效评估,此应用程序使我们能够:
take into account all available pixels in the ground truth;
assess the performance of a classification map that has be further processed (for instance with a regularization step).
步骤
指令
打开的应用
以图形用户界面模式启动IMAClassifier应用程序(执行 otbgui_IMAClassifier
)(图5.37)。

图5.37. otbgui_ImageClassifier
选择输入图像和分类模型
使用文件选择器,在“输入图像”字段中选择连接的Landsat-8图像。 在“模型文件”字段中选择模型文件。
选择输出图像
要选择输出图像的路径,请编辑“输出图像”字段。
执行
单击“执行”运行处理。
结果分析
在QGIS中打开输出图像。你观察到什么?每个像素的值与归属于它的类相对应。 为了更好地可视化结果,可以修改QGIS中的图像渲染,为每个可能的类标签关联不同的颜色。
表5.33.使用“图像分类器”应用程序对Landsat-8图像进行分类
事实上,如果验证样本不可用,则TrainImagesClassifier显示的Kappa系数是根据训练集计算的, 这会产生不切实际的、高估的模型性能评估。
步骤
指令
打开的应用
以图形用户界面模式启动OTB 应用程序ComputeConfusionMatrix
(运行 otbgui_ComputeConfusionMatrix
)。

图5.38. otbgui_ComputeConfusionMatrix
选择输入图像
使用文件选择器,在“输入图像”字段中选择上一步骤中生成的分类地图。
选择将包含混淆矩阵的文件
使用文件选择器,选择扩展名为“.text”的输出文件。
选择参考格式
在下拉菜单中,选择载体文件格式:“地面实况作为矢量数据文件”。
选择参考文件
在“输入参考载体数据”字段中,选择"testing.shp"文件。
定义包含类信息的载体文件字段
在“字段名称”字段中,选择“BER”,这是包含类ID的载体文件 "testing.shp" 的字段的名称。
执行
单击执行来运行处理。
分析结果分析应用程序的输出。
Kappa系数的值为0.8。
表5.34.使用 ComputeConfusionMatrix
应用程序计算分类性能
Image Classifier 的输出是将每个像素与类标签关联起来的图像。 为了可视化此图像,ColorMapping 应用程序允许我们将一个RB颜色与每个标签关联起来, 从而生成一个彩色图像以用于可视化。我们将使用 ColorMapping 应用程序的自定义模式, 使用以文本格式编写的颜色表来生成彩色地图(图5.35)。
步骤
指令
打开的应用
以图形用户界面模式启动 ColorMapping OTB
应用程序。

图5.39. otbgui_ColorMapping
选择输入图像
使用文件选择器,在“输入图像”字段中选择上一步骤中生成的分类地图。
选择输出图像
使用文件选择器,在“输出图像”字段中选择扩展名为tif的文件。
选择模式
在“颜色映射方法”下拉菜单中,选择“使用自定义标签查找表的颜色映射”字段。
选择包含颜色表的文件在“查找表文件”字段中,选择 "color_map.txt" 文件。
运行
单击“Execute”运行处理(图5.40)。
结果分析
分析应用程序的输出。
表5.35.使用 ColorMapping
应用程序生成可视化图像

图5.40.基于像素的监督分类结果应用于整个Landsat-8时间序列。有关该图的彩色版本, 请参阅www.iste.co.uk/baghdadi/qgis1.zip