news 2026/2/3 19:05:54

PCI Geomatica 基于非监督与监督的影像地物分类

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PCI Geomatica 基于非监督与监督的影像地物分类

来谈谈并实操pci中的监督分类和非监督分类。

一.实验原理与方法

3.1分离度:

Bhattacharyya Distance:用于衡量两类地物光谱分布的重叠程度,取值范围为[0, 2]。数值越接近 2,表示两类分离度越好;越接近 0,表示重叠度越高(分离度差)。Transformed Divergence:是对散度的变换,取值范围同样为[0, 2],数值越接近 2,分离度越好。

Bhattacharrya距离和变换差异两种方式都以02之间的实数来表示。0表示两类之间的特 征完全重叠,2表示两类之间特征完全分离。这些距离表明了相关类之间的精确性。可分离的值 越大,最终的分类结果就越好。如果该数值处于1.92.0之间,那么说明两者之间具备良好的 分离性。

3.2 分类方法:监督分类,非监督分类

1.监督分类

基于已知地物的训练样本光谱特征构建分类模型,再将模型应用于整幅影像完成分类。

2.非监督分类

无需人工选取训练样本,直接依据影像像素光谱特征的自身统计规律进行分类。以K-Mean 算法(迭代自组织数据分析技术)为例:先随机初始化若干聚类中心,计算每个像素到各聚类中心的距离并归为最近聚类;再根据聚类的均值、标准差等统计量调整中心,重复迭代至聚类中心无显著变化或达到预设次数,最终实现地物类别的自动划分。

3.3核心算法

3.3.1监督分类

1. Minimum Distance(最小距离法)

基于 “像元光谱与类别中心的距离” 分类:先计算每个类别(由样本定义)的光谱均值(形成 “类别中心”),再计算待分类像元与所有类别中心的欧氏距离,将像元归为距离最近的类别。

优点:计算速度极快(仅需算距离),对计算机性能要求低,操作简单(无需复杂参数设置)。缺点:仅用 “均值” 代表类别光谱特征,忽略类别内部的光谱离散度(如标准差),若不同类别光谱重叠较多,易误分。

适用场景:数据量极大、需快速出结果的场景(如大范围粗分类)。类别内部光谱均一、类别间光谱差异显著的情况(如区分水体与植被)。

2. Parallelepiped(平行六面体法)

基于 “光谱区间边界” 分类:先根据样本计算每个类别在各波段的光谱均值 ±n 倍标准差(n 通常取 1-2,形成 “光谱区间”),再构建一个多波段的 “平行六面体” 空间;待分类像元若落在某类的平行六面体内,就归为该类;若落在多个体内则标记为 “混合像元”,若都不落在则标记为 “未知类”。

优点:计算速度快,能通过 “标准差倍数” 灵活控制类别边界,可有效过滤极端值(噪声)。缺点:假设类别在各波段的光谱分布是独立的(实际可能不独立),若类别光谱边界重叠,易产生大量混合像元或未知类。

适用场景:类别内部光谱离散度小、各波段光谱分布相对独立的情况(如区分裸地与建筑)。需明确排除 “疑似像元”(标记未知类)的场景(如精细分类前的初筛)。

3. Maximum Likelihood(最大似然法)

基于 “概率统计” 分类:假设每个类别的光谱服从正态分布,先通过样本计算类别(均值、协方差矩阵等)的统计参数,再计算待分类像元属于每个类别的 “后验概率”,将像元归为概率最大的类别。

优点:考虑了类别内部的光谱离散度(协方差),能处理光谱部分重叠的情况,分类精度通常是三者中最高的。缺点:计算复杂度高(需算协方差矩阵、概率),对样本量要求高(需足够样本支撑正态分布假设),对噪声较敏感。

适用场景:对分类精度要求高的场景(如土地利用详查、生态监测)。样本量充足、类别光谱分布接近正态分布的情况(如多光谱数据的精细分类)。

3.3.2非监督分类


1.K -均值聚类算法(K-means clustering algorithm

K - 均值聚类算法是一种通过迭代求解实现聚类分析的经典算法,核心逻辑如下:① 算法假设:待分类数据集可划分为 K 个类别,每个类别的样本在特征空间内呈类球形聚集分布,因此可用各类别样本的中心(聚类中心)代表该类别。② 迭代过程:每处理一个样本 x 时,会根据当前各类别中已有的样本重新计算聚类中心。③ 终止条件:上述迭代过程重复执行,直至满足终止条件:无(或最小数量)样本被重新分配至不同聚类,或无(或最小数量)聚类中心发生变化。④ 核心缺点:仅能按照预先指定的类别数 K 进行分类,分类数目在算法执行过程中无法动态调整。

2.Fuzzy K-Means算法(模糊 K-Means算法)

① 算法定义:作为 K-Means 聚类算法的改进版本,模糊 K-Means 算法引入 “隶属度” 概念,实现数据点的 “软分配”(即一个数据点可部分隶属于多个类别),适用于处理数据点归属具有模糊性的场景。② 核心步骤:a. 预先设定聚类的类别个数 K;b. 从样本集中选取 k 个样本作为初始簇中心 C;c. 计算所有数据点对各簇中心的隶属度,构建隶属度矩阵;d. 基于隶属度矩阵重新更新各簇中心;e. 循环执行步骤 c 和 d,直至簇中心不再变化,或满足其他终止条件(如隶属度矩阵的误差小于预设阈值)。

3.ISODATA算法(动态聚类算法)

① 算法基础:在 K - 均值算法的基础上扩展而来,核心新增了对聚类结果的 “合并” 和 “分裂” 操作,实现聚类中心数目的动态调整。② 核心特征:

相似性:与 K - 均值算法一致,均采用类别样本的均值作为聚类中心的表达;

差异性:聚类中心的数目并非固定值,而是在算法执行过程中反复调整 —— 类别会根据预设规则进行合并或分裂,且合并、分裂操作受一组预先设定的参数约束。

③ 算法流程(共十四步):

a. 第一步至第六步:预设算法参数、完成初始分类,并为后续的合并、分裂操作准备必要数据;

b. 第七步:判断算法执行方向,包括结束算法、优先分裂、优先合并或常规分裂;

c. 第八步至第十步:执行聚类的分裂过程;

d. 第十一步至第十三步:执行聚类的合并过程;

e. 第十四步:判断是否重新启动算法迭代。

3.4 目标类与光谱类

光谱类 (spectral class)是基于光谱特征形成的类别。不同的地物具有不同的光谱特征,同类地物具有相同或相似的光谱特征,光谱类就是根据这些光谱特征的相似性和差异性来划分的。例如,房屋的阳面和阴面由于光照条件不同,其光谱特征也不同,可能会被划分为不同的光谱类。

目标类 (object class)也称为信息类 (information class),是根据实际需要待分的类别,是人为划分的。它是基于特定的应用目的或知识体系,将具有不同光谱特征的地物组合在一起形成的类别。例如,城市类可以由道路、建筑物、水体、绿地等不同地物组成,这些地物的光谱特征各不相同,但从实际应用的角度来看,它们都属于城市这个目标类。

3.5 精度评价

1.混淆矩阵(Confusion Matrix

混淆矩阵是评价分类 / 聚类结果准确性的基础工具,通过矩阵形式直观呈现模型预测结果与真实标签的匹配情况。以二分类为例(多分类可扩展),混淆矩阵为 2×2 矩阵,行代表真实类别,列代表预测类别,直观展示分类错误的类型(如将 A 类误分为 B 类的数量),作为计算总精度、Kappa 系数等评价指标的基础。

核心元素包括:

  • 真阳性(TP):真实为正类,预测为正类;
  • 假阳性(FP):真实为负类,预测为正类;
  • 真阴性(TN):真实为负类,预测为负类;
  • 假阴性(FN):真实为正类,预测为负类。

2.总精度(Overall Accuracy, OA

总精度是最直接的分类准确性评价指标,反映整体预测正确的样本比例。

计算公式总精度 = (所有预测正确的样本数) / (总样本数)即:OA = (TP + TN) / (TP + FP + TN + FN)(二分类)多分类下:OA = (混淆矩阵主对角线元素之和) / (矩阵所有元素之和)计算简单、直观易懂,能快速反映整体分类效果;对不平衡数据敏感(如某类样本占比极高时,即使其他类预测全错,总精度也可能偏高)。

3.Kappa系数(Kappa Coefficient

Kappa 系数是考虑了 “随机猜测误差” 的分类精度评价指标,比总精度更客观,取值范围为 [-1, 1]。通过对比 “实际分类正确率” 与 “随机分类正确率”,剔除随机因素对结果的影响,更真实反映模型的分类能力。

3.6分类结果评价

1.生产者精度(Producer's Accuracy, PA

  • 定义:某类真实样本中被正确预测的比例,反映 “真实类别被准确识别” 的能力(也称召回率 / 灵敏度)。
  • 公式:PA(第 i 类)= 第 i 类真实且预测正确的样本数 / 第 i 类真实总样本数。
  • 适用场景:关注 “不遗漏某类样本” 时(如灾害监测中识别危险区域)。

2.用户精度(User's Accuracy, UA

  • 定义:某类预测样本中真实属于该类的比例,反映 “预测结果的可靠性”(也称精确率)。
  • 公式:UA(第 i 类)= 第 i 类真实且预测正确的样本数 / 第 i 类预测总样本数。
  • 适用场景:关注 “预测结果可信度” 时(如资源勘探中预测矿点的准确性)。

通过实验操作来过一下整个流程吧

二.流程简图and开始操作:

先简单讲一下非监督分类在pci中的具体操作letsgo


注意一下:以下有一些指标参数精度不好,仅做记录示范用,自己做需要注意一下......

我使用的数据如下:

①gf6 8m以及2m(融合后)数据

②s2数据

【S2B_MSIL2A_20250512T023529_N0511_R089_T50RQP_20250512T043829.SAFE】

③目标周边的卫星影像(高精度版本)


以下是gf8m数据k-means的非监督分类操作,其他数据和方法操作也是相似的

gf8m非监督分类操作

K-Means

初始化分类会话:

  • 在 Focus 中打开数据。
  • 在地图树列表下,右键单击文件。
  • 选择 Classification 选项下的二级选项 Unsupervised。
  • 分类过程对话框随之弹出:

图2 主菜单打开非监督分类

  • 将Red, Green, Blue三个色彩分别设置为通道,在Input Channels栏下选择要参与分类的波段,在此选择1到4。
  • 在Output Channel栏下选择分类结果输出的通道,在此选择5。如果文件中没有空通道,单击Add Layer按钮进行添加。该通道将存储分类结果。单击OK,非监督分类对话框打开。

图3 指定输入波段,add layer作为输出波段

图4 使用K-Means进行非监督分类

在非监督分类对话框中,选择 K-Means 算法。 Max Class(最大类别)输入12,点击ok。此时Focus开始执行K-Means的非监督分类运算。运算完毕后,分类结果自动显示在Focus中,同时会弹出分类报告。

相关参数设置备注:

  • Max Class:最大类别数,即算法最多将图像划分为多少类。图中设为12,意味着最终分类结果最多有12个类别。
  • Max Iteration:最大迭代次数,即算法迭代计算聚类中心的最大轮数。设为16表示最多迭代16次后停止计算。
  • Min Threshold:最小阈值,用于判断迭代是否收敛。当聚类中心的变化量小于该阈值时,算法认为已收敛,提前停止迭代(图中为0.01)。
  • Max Sample Size:最大样本量,即参与聚类计算的最大像元数量。设为262144是为了平衡计算效率与结果精度(避免全图像元参与导致计算量过大)。
  • Background:用于指定背景像元(如无信息的黑边、无效值区域),这些像元在分类时会被忽略。

分类完毕后,随着分类结果自动加载到Focus中,对话框弹出。报告内容包括分类时间、文件名、分类参数配置、类别数以及各类别的大小等信息。报告列出了分类产生的类别的数量以及每个类别的详细信息。分类报告显示了每个类别都有多少个像素,以及该类在四个输入影像通道中的平均亮度值和标准差。报告如下:

图5 k-Means分类结果报告

进行类合并

非监督分类通常并不能恰好提供真实地类所期望的数量。在分类完成后可使用合并工具将几个单独的类别合并成一个类别。以原图像作为底图,依次识别,将光谱类转换为目标类。详细步骤如下:

设置参考影像

  • 关闭分类元数据的可见性。用户可将其修改为典型的色彩组合,便于识别。
  • 单击地图树中.pix图层左侧的+号。
  • 将波段组合调整为4,3,2后对全图进行一个自适应增强。
  • 打开分类元数据的可见性。

图6 修改为典型的色彩组合

类合并

1. 在地图树上,右键单击Classification Metalayer。

2. 选择Post-classification Analysis并单击Aggregation。

图7设置类合并

3. 在输入通道中,选择通道5。该通道便是将要进行合并的通道,是非监督分类的结果。

4. 在输出通道中,选择通道6。合并的结果将会保存到该通道中。

5. 单击OK。合并窗口打开。

图8 设置输入结果(K-Means以及输出通道)

图9合并窗口

类合并面板操作

1. 在 View Controls中选择 Current Classes。此时面板上将会显示输入类列表中选中的类别。

2. 在 Input Classes列表中,保持CTRL键按下,并选择Class-07,Class-06。由于这2类是当前被选中的类,因此在 Focus视图区域只显示这2个类。在类合并过程中,需要将分类结果与参考或原始影像进行对比,关闭 Classification Metalayer的可视性,并查看下方覆盖的参考影像。

监督分类

4.2.1初始化监督分类

监督分类与非监督分类最大的不同在于监督分类需要进行训练区的选择,因此在分类步骤上也稍有不同。在训练区的选择方式上,可以通过手动采集也可以导入现有分类模板。监督分类要求对现有数据有先验知识,需要对待分类的影像有比较清楚的认识。这有助于帮助 Focus决定数据类别的统计标准(特征)。以下先选择采用手动采集。

1.启动监督分类

2.设置输入及输出通道

  • Session Configuration窗口内,单击RedGreenBlue表单元下对应的光谱波段。
  • Input Channels栏下选择要参与分类的波段,在此选择1到 9。
  • Training Channel栏下选择通道 14,用来存放训练样区数据。
  • Output Channel栏下选择分类结果输出的通道,在此选择15
  • 单击OK,训练区编辑器对话框打开。
  • Focus同时会在地图树上添加一个分类元数据层。原始局层包含三个层:训练通道、用户选择的三波段色彩组合以及输出层。

设置训练通道,结果输出通道

3.采集训练样本

①单击Class菜单项中的New,新建一个类别。Class-01出现在编辑面板中。

②将Name栏下的Class-01改为目标类型的名字 water1。

③采集训练区,在Focus窗口中,单击矢量绘制工具,选择Polygon多边形采集工具。

④采用多边形绘制工具在影像中相应的部分选取多个训练区。以下选样本总共分为7类,分别为water1,water2,road,building1(旧),building2(新),forest,bare

⑤如此重复上述几步,建立多个分类类别。可识别的分类样本越多,分类的准确性就越高。如果样本选择错误,可以通过Edit菜单下的clear功能清除所选样本,或用delete删除。如果仅是部分样本错误,可以通过工具栏上的Raster Erase(橡皮擦)擦除错误区域。

依次选择纯净样本

  1. 特征可分离性

Tools工具栏中,选择Signature Separability,特征可分离性对话框弹出。

查看特征与分离度

分离度检验

由以上分离度检验(上面分离度不好!自己做还是需要注意一下的,以上仅仅是演示记录)

Training Site Editor对话框的Tools菜单下,选择Histogram,各类的直方图便显示如下:

直方图

4.2.2执行监督分类

系统提供了三种监督分类算法:Minimum DistanceParallelepiped,和Maximum Likelihood。监督分类的训练区选择完毕并检查关闭后,Focus并不执行分类运算,在执行监督分类时,需要在FocusMaps标签下,右键单击Classification MetaLayer并选 择Run Classification选项,监督分类对话框打开。

三种方法打开示意

重新调整之后的CONFUSION MATRIX与Kappa系数

你需要根据报告结果进行训练样本选择的优化(报告类似于上面)

4.2.3生成随机点,给随机点指定类,进行精度评价

(1)生成随机检查点

①在精度评定窗口,单击Generate Random SampleGenerate Random Samples窗口打开。

②在Number of samples处,输入 300

③激活Stratify Samples to class percentages选项,根据影像中每个类别所占的百分比来随记生成每个类别的检查点的数量。

单击OK此时随机样本点列表便填充到精度评定窗口中,并且在地图树中的精度评定元数据层中添加了一个随机样本矢量点层。

大概长这样

(2)给检查点指定类

①从 Random Sample List 中选择首个样本点;

②在 Focus 界面,放大影像至能清晰观察该样本点地物性质;

③在 Assign Reference Class to Sample 表中,选定该点对应的地物类型;

④点击 Transfer 按钮,完成首个样本点属性指定;

⑤系统自动跳转至第二个样本点,重复 1-4 步,直至所有样本点属性指定完毕。

Sample Report Listing

Error(Confusion)Matrix

Accuracy Statistics

精度报告窗口

上面就可以看到生产者精度,用户精度,kappa了(我弄的有点低...自己操作的时候训练区要注意一点)

p.s.手动选择训练样本的时候可以参考的波段设置

更换不同波段组合来辅助判断,例如:

①区分植被(经典假彩色,突出植被特征)

波段组合:红 = 波段 4(近红外,0.77~0.89μm)、绿 = 波段 3(红波段,0.63~0.69μm)、蓝 = 波段 2(绿波段,0.52~0.59μm)。

效果:健康植被因近红外反射率高呈现鲜艳红色,与水体(黑色)、建筑(灰 / 蓝色)形成强烈视觉差异,能快速识别植被覆盖区域(如森林、农田)。

②红边波段增强版(细化植被类型 /生长状态)

波段组合:红 = 波段 6(红边 II,0.73~0.77μm)、绿 = 波段 5(红边 I,0.69~0.73μm)、蓝 = 波段 4(近红外,0.77~0.89μm)。

效果:红边波段对植被叶绿素变化极敏感,可区分不同植被类型(如针叶林、阔叶林)或植被生长阶段(如作物生育期),适合农业、林业精细化监测。

备注:此类不适用,在此处植被位置集中,种类单一。

③自然真彩色显示(还原地物真实色彩)

波段组合:红 = 波段 3(红波段,0.63~0.69μm)、绿 = 波段 2(绿波段,0.52~0.59μm)、蓝 = 波段 1(蓝波段,0.45~0.52μm)。

效果:呈现地物自然色彩,便于直观识别建筑、道路、水体的外观特征,适用于基础视觉解译。

④水体与湿度监测(区分水体、土壤湿度)

波段组合:红 = 波段 8(黄波段,0.59~0.63μm)、绿 = 波段 4(近红外,0.77~0.89μm)、蓝 = 波段 3(红波段,0.63~0.69μm)。

效果:水体在黄波段和近红外波段的吸收 / 反射特性差异明显,呈现深色调,可清晰识别河流、湖泊;同时能反映土壤和植被的湿度差异(如湿地、干旱区)。

⑤城市地物提取(区分建筑、道路)

波段组合:红 = 波段 7(紫外波段,0.40~0.45μm)、绿 = 波段 3(红波段,0.63~0.69μm)、蓝 = 波段 1(蓝波段,0.45~0.52μm)。

效果:建筑和道路在该组合下呈现独特的灰 / 棕色调,与植被(红色)、水体(深色)区分度高,便于提取城市建成区。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/29 10:57:44

0基础,想学习网络安全,看这一篇就够了

前言 肯定有很多人都听说过网络安全工程师这个职业,虽然比不上现在的前后端那么大红大紫,但也是一个不可小觑的技术职业,但你是否知道,网络安全工程师只是一个大的类,根据所作的工作内容不同可分为多个分支&#xff0…

作者头像 李华
网站建设 2026/1/29 10:57:23

Go项目配置管理终极指南:环境变量与配置文件的完美融合

Go项目配置管理终极指南:环境变量与配置文件的完美融合 【免费下载链接】go-clean-template Clean Architecture template for Golang services 项目地址: https://gitcode.com/gh_mirrors/go/go-clean-template 在Go项目开发中,你是否曾为不同环…

作者头像 李华
网站建设 2026/1/29 14:08:23

属于程序员的副业,从 0 到月入 2000,我靠挖“洞”致富!

【网络安全就业方向】网络安全专业的学生毕业后可以从事什么样的工作? 前言 2025年的今天,慎重进入网安行业吧,目前来说信息安全方向的就业对于学历的容忍度比软件开发要大得多,还有很多高中被挖过来的大佬。 理由很简单&#…

作者头像 李华
网站建设 2026/1/28 21:31:27

React Hooks常用方法

React 目前强烈推荐使用函数组件(Functional Components)结合 Hooks 来开发。它更简洁、灵活、可复用性更强,是现代 React 开发的主流方式。 本文重点介绍函数组件中最常用的 Hooks,帮助你快速掌握状态管理、副作用处理等核心能力…

作者头像 李华
网站建设 2026/1/29 13:30:42

自动化用户体验指标监控:提升软件测试的全新维度

随着数字化转型的加速,用户对软件产品的期望已从“能用”升级为“好用”。作为软件测试从业者,我们面临的挑战不再局限于发现代码漏洞,更需关注用户体验的量化管理。自动化用户体验指标监控通过数据驱动方法,将主观感受转化为客观…

作者头像 李华