ENVI教程

ENVI:K-Means 非监督分类:五类起步、参数迭代调整的流程

👤 为我痴狂 👁 2 阅读 ❤ 0 点赞 ➦ 0 分享 📅 2026-10-17
首页› 遥感› ENVI教程› 正文
ENVI:K-Means 非监督分类
五类起步、参数迭代调整的流程

从五类基线到收敛诊断:一套可复现的遥感聚类工程方法论

摘要

K-Means 是遥感影像非监督分类中使用频率最高、也最容易被误用的算法之一。它不需要训练样本,却对类别数、初始化、迭代终止条件高度敏感;同一景影像,参数差一点,结果可能从“可用”滑向“不可解释”。本文以 ENVI 的 K-Means 实现为落点,提出一条贯穿全文的分析主线:把非监督分类从“一次性跑算法”重构为“五类起步—诊断—迭代—收敛”的闭环工程流程。文章先拆解 K-Means 的目标函数与特征空间假设,再给出五类起步的参数基线,随后系统讨论类别数 K、最大迭代次数、变化阈值、初始化策略四者的耦合关系,并配套混淆矩阵、J-M 距离、类别面积稳定性等诊断指标。在此基础上,文章延伸到后处理、面向对象分割与深度学习聚类的前沿趋势,并给出可直接复用的 ENVI 操作路径与参数表。全文强调:非监督分类的价值不在于“自动”,而在于用最低的先验成本快速逼近地物结构的真实分布。

1. 为什么是 K-Means:非监督分类的定位与边界

遥感影像分类长期存在两条技术路线:以训练样本驱动的监督分类,和以数据自身结构驱动的非监督分类。监督分类精度上限高,但样本采集成本、样本代表性、类别体系一致性都会成为瓶颈;非监督分类不需要先验标签,能在极短时间内给出地物光谱结构的“粗画像”,因此在快速制图、样本预筛选、异常区域发现等场景中始终占有一席之地。

K-Means 属于基于原型的划分式聚类(partitional clustering)。它的核心假设是:每一类可以由一个中心(质心)代表,且类内样本在特征空间中足够紧凑,类间中心足够分离。这个假设在光谱维度上并不总是成立——同物异谱、异物同谱、混合像元都会破坏紧凑性。因此,K-Means 在遥感中的合理定位不是“最终分类器”,而是“结构探测器”。

本文评述:把 K-Means 当作“自动出图工具”是工程上最常见的误判。更稳妥的认知是——它输出的是特征空间中的聚类结构,而聚类结构能否翻译为地物类别,取决于特征选择、类别数设定与后处理解释三个环节。换句话说,K-Means 给出的是“候选”,不是“结论”。

从文献脉络看,K-Means 的雏形可追溯到 Lloyd 在 1957 年贝尔实验室的内部技术报告,后由 MacQueen 于 1967 年正式提出 “K-means” 命名。遥感领域的系统化应用则集中出现在 1980—1990 年代,与 Landsat TM 数据普及同步。近十年,随着高光谱、SAR、时序影像的兴起,K-Means 更多作为预处理或对比基线出现,而非独立成果。这一趋势本身说明:K-Means 的学术地位在下降,但工程价值并未消失,关键在于是否把它嵌入一条可迭代的流程。

2. 算法内核:目标函数、特征空间与收敛机理

2.1 目标函数与迭代公式

K-Means 最小化的目标函数是类内平方误差和(WCSS,Within-Cluster Sum of Squares):

J = Σ(k=1..K) Σ(x∈Ck) || x − μk ||²

其中:
  K   —— 类别数
  Ck  —— 第 k 个簇的样本集合
  μk  —— 第 k 个簇的质心,μk = (1/|Ck|) Σ(x∈Ck) x

迭代过程是经典的“分配—更新”两步交替:固定质心,把每个像元分配给最近质心;固定分配,把每个质心更新为所属像元的均值。可以证明,每一步都不会增大 J,因此算法在有限步内收敛到局部最优。注意关键词——局部最优。这是 K-Means 所有工程问题的根源。

2.2 特征空间:距离度量的隐含假设

ENVI 的 K-Means 默认使用欧氏距离。欧氏距离隐含一个前提:各波段量纲一致、方差相近。但真实多光谱数据中,波段间方差差异可能达到一个数量级。若不处理,方差大的波段会主导距离计算,等价于给该波段加了隐式权重。

解决路径有两条:一是对波段做标准化(z-score),使各波段均值为 0、标准差为 1;二是改用马氏距离,把协方差结构纳入度量。ENVI 的 K-Means 不直接提供马氏距离选项,因此标准化往往是比调参更有效的“隐形优化”。本文建议:在分类前用 ENVI 的 Band Math 或 Statistics 工具计算各波段均值与标准差,再做标准化,这一步的收益通常大于反复调整迭代次数。

2.3 收敛机理与终止条件

ENVI 提供两个终止条件:最大迭代次数(Maximum Iterations)和变化阈值(Change Threshold)。变化阈值指两次迭代中类别发生变化的像元比例,当该比例低于阈值时提前停止。二者是“或”的关系——任一满足即终止。

这里有一个容易被忽略的工程细节:变化阈值过低会导致无意义的空转,过高则会在结构尚未稳定时提前截断。经验上,阈值设在 0.01—0.05(即 1%—5%)区间较为稳健。若影像纹理复杂、类别边界模糊,可放宽到 0.05;若影像均质、类别分离度高,可收紧到 0.01。

3. ENVI 中的 K-Means:工具链与参数面板逐项解析

3.1 工具入口与调用路径

在 ENVI 5.x 及更高版本中,K-Means 的调用路径为:Toolbox → Classification → Unsupervised Classification → K-Means Classification。在 ENVI Classic 中则为 Classification → Unsupervised → K-Means。两者参数面板基本一致,但新版对大数据分块处理的支持更好。

3.2 参数面板逐项拆解

参数 含义 工程建议
Number of Classes (K) 期望的聚类数 从 5 起步,按诊断结果增减
Maximum Iterations 迭代上限 10—30,复杂影像取 20 以上
Change Threshold (%) 类别变化像元比例阈值 1%—5%,均质影像取 1%
Classify Only / Statistics Only 仅分类或仅统计 先 Statistics Only 看质心,再正式分类
Output Rule Images 输出规则影像(距离图) 建议勾选,用于诊断类间可分性

这里特别强调 Statistics Only 模式的价值:它只输出各类质心与统计量,不生成分类图。工程师可以先用它快速查看质心在光谱空间中的分布,判断是否存在质心过于接近、类别冗余的情况,再决定是否正式分类。这一步能把大量无效分类尝试挡在门外。

3.3 初始化策略:ENVI 的默认行为

ENVI 的 K-Means 采用基于影像统计的初始化方式,而非完全随机。具体而言,它倾向于在数据范围内生成初始质心,并在迭代中动态调整。这一设计降低了随机性,但也意味着同一景影像、同一参数,结果通常可复现——这对工程流程是好事,对探索性分析则可能限制多样性。

若需要更强的初始化控制,可考虑在 ENVI 外先用 Python(scikit-learn 的 KMeans,支持 k-means++ 初始化)生成初始质心,再导入 ENVI 做后续分类。k-means++ 通过让初始质心彼此远离,显著降低陷入劣质局部最优的概率,这在类别数较多(K≥8)时尤为明显。

4. 五类起步:参数基线的确定逻辑

4.1 为什么是“五类”而不是“三类”或“十类”

“五类起步”不是拍脑袋的经验值,而是有统计与认知双重依据的工程折中。

从统计角度看,K 过小会导致多个地物被合并(欠分割),K 过大则会把同一地物的光谱变异拆成多类(过分割)。对于中分辨率多光谱影像(如 Landsat OLI、Sentinel-2),典型地物大类通常包括:植被、水体、裸土/建成区、云/阴影、其他过渡类型。这五类构成了大多数场景的“最小完备集”。

从认知角度看,五类是人眼在快速浏览分类图时能同时把握的类别上限。超过五类,判读效率明显下降,且类别间的语义区分需要更多先验知识支撑。

笔者认为:五类起步的本质是“先建立可解释的骨架,再逐步细化”。直接上 K=15 看似精细,实则把参数调优的难度和解释成本同时放大。工程上更稳的路径是——五类跑通、诊断清楚、再按需增类。

4.2 五类起步的参数基线表

参数 基线值 适用条件
K 5 中分辨率多光谱,地物大类明确
Maximum Iterations 20 兼顾收敛与耗时
Change Threshold 2% 中等复杂度影像
波段标准化 建议执行 波段方差差异大时必做
规则影像输出 开启 用于诊断类间可分性

4.3 波段选择:比 K 更重要的前置决策

很多工程师把注意力全放在 K 上,却忽略了波段选择。事实上,波段组合决定了特征空间的几何结构,K 只是在这个结构上切几刀。对于植被—水体—建成区混合场景,推荐组合包括:近红外(NIR)、红边(Red Edge,Sentinel-2 可用)、短波红外(SWIR1/SWIR2)。这些波段对植被含水量、水体吸收、建成区反射差异敏感。

若使用高光谱数据,直接全波段输入会因维数灾难导致距离度量失效。此时应先做降维:主成分分析(PCA)保留前 5—10 个主成分,或最小噪声分离(MNF)保留信噪比高的成分。ENVI 提供 Transform → PCA / MNF 工具,操作路径清晰。

5. 迭代调整:诊断指标与调参路径

5.1 三个核心诊断指标

迭代调整不能靠“看起来差不多”,必须有量化指标。本文推荐三个:

  • 类别面积稳定性:相邻两次迭代中,各类像元数的变化率。若某类面积在迭代后期仍剧烈波动,说明该类结构不稳定,可能需要调整 K 或阈值。
  • 质心间距:任意两类质心之间的欧氏距离。若最小值过小(接近 0),说明存在冗余类别,应考虑减少 K。
  • J-M 距离(Jeffries-Matusita):ENVI 提供该指标计算工具,取值 0—2,越大表示类间可分性越强。通常认为 J-M > 1.8 为可分性良好,< 1.0 则需警惕。

5.2 调参决策树

基于上述指标,可以建立一棵简单的调参决策树:

五类基线分类
   │
   ├─ 类别面积稳定 + 质心间距合理 + J-M > 1.8
   │     └─ 接受结果,进入后处理
   │
   ├─ 某两类质心过近(J-M < 1.0)
   │     └─ K 减 1,重跑
   │
   ├─ 某类面积异常大(> 60%)
   │     └─ 该类可能混合了多种地物,K 加 1—2,重跑
   │
   └─ 迭代未收敛(达到最大迭代次数仍在变化)
         └─ 提高 Maximum Iterations 至 30—50,或降低 Change Threshold

5.3 迭代调整的实操节奏

工程上不建议“一次调一个参数、跑一遍看一遍”的串行方式,效率太低。更高效的做法是小范围网格搜索 + 快速诊断:固定波段组合,令 K 取 4、5、6、7,Maximum Iterations 取 15、25,共 8 组组合,用 Statistics Only 模式快速跑出质心与 J-M 距离,再挑 2—3 组正式分类。这样一轮下来通常 30—60 分钟即可锁定较优参数。

需要提醒的是,K-Means 对同一影像的多次运行结果可能因初始化不同而略有差异。若发现两次运行结果差异显著,说明数据本身结构模糊,此时应优先回到特征选择环节,而非继续调参。

6. 完整实操流程:从数据准备到成果输出

6.1 数据准备与预处理

以 Sentinel-2 L2A 数据为例,预处理步骤包括:

  • 大气校正:L2A 已含地表反射率,可直接使用;若用 L1C,需先做 Sen2Cor 或 ENVI 的 QUAC/FLAASH。
  • 重采样:将 20 m 波段(如 SWIR)重采样至 10 m,保证空间分辨率一致。
  • 裁剪:用 ROI 或矢量边界裁剪研究区,减少无效计算。
  • 波段标准化:用 Band Math 对每个波段做 (x − mean) / std。

6.2 分类执行

打开 K-Means 工具,选择预处理后的影像,按第 4 节基线表设置参数,勾选 Output Rule Images,执行分类。首次运行建议用 Statistics Only 模式,查看质心报告。

6.3 后处理

K-Means 输出的是像素级分类图,通常存在椒盐噪声。ENVI 提供两类后处理工具:

  • Majority/Minority 分析:用 3×3 或 5×5 窗口对分类图做多数滤波,消除孤立像元。
  • Clump Classes:合并相邻同类像元,生成更连续的区域。
  • Sieve Classes:删除小于指定像元数的斑块,将其并入邻接大类。

后处理强度需要权衡:过度滤波会抹掉真实的小地物(如小水体、零星建筑),不足则图面破碎。建议先用 3×3 多数滤波,再视情况做 Sieve,阈值设为 4—8 个像元。

6.4 类别命名与成果输出

聚类结果本身没有语义标签,需要人工判读。方法是将分类图与原始影像叠加,逐类查看典型区域,结合光谱曲线与地物知识命名。ENVI 的 Class Color Mapping 面板可调整各类颜色,便于对比。最终成果可导出为 GeoTIFF、Shapefile 或 ENVI 格式。

7. 精度评价与常见陷阱

7.1 非监督分类的精度评价困境

非监督分类没有训练样本,精度评价需要独立验证样本。常用指标包括总体精度(OA)、Kappa 系数、用户精度与生产者精度。ENVI 的 Confusion Matrix 工具支持基于 ROI 的精度评价。

但要注意:Kappa 系数在类别极不平衡时可能产生误导,近年的方法论研究更推荐使用总体精度配合类别级指标,或引入 F1 分数。这一点在遥感分类评价中已逐渐成为共识。

7.2 五个高频陷阱

陷阱 表现 对策
波段未标准化 某波段主导聚类 先做 z-score 标准化
K 值盲目求大 类别冗余、解释困难 五类起步,按 J-M 增类
忽略混合像元 边界区域类别混乱 结合光谱解混或面向对象
后处理过度 小地物消失 控制滤波窗口与 Sieve 阈值
用分类图反推精度 精度虚高 必须用独立验证样本

8. 前沿趋势:从像素聚类到深度嵌入聚类

8.1 面向对象与超像素

像素级 K-Means 的根本局限在于忽略空间邻域。面向对象方法先做影像分割(如 ENVI 的 Segment Only Feature Extraction),再对对象做聚类,能显著减少椒盐噪声。超像素方法(SLIC、SEEDS)则在分割与聚类之间提供了更灵活的粒度控制。

8.2 深度嵌入聚类

近三年,深度嵌入聚类(Deep Embedded Clustering, DEC)及其变体在遥感领域快速兴起。其思路是:先用自编码器把高维光谱映射到低维嵌入空间,再在嵌入空间做 K-Means 或软分配聚类。相比原始光谱空间,嵌入空间通常具有更好的类间分离性。相关研究在 2022—2024 年的 IEEE TGRS、Remote Sensing of Environment 等期刊上持续出现。

本文评述:深度聚类并非要取代 K-Means,而是把 K-Means 从“特征空间的使用者”变为“嵌入空间的使用者”。对工程实践而言,这意味着特征学习环节的价值正在超过聚类算法本身。未来非监督分类的竞争力,很可能取决于谁的表征更好,而非谁的聚类器更复杂。

8.3 时序聚类与变化检测

随着 Sentinel-2、Landsat 存档数据积累,时序非监督分类成为热点。K-Means 的时序扩展(如动态时间规整 + K-Means、时序 K-Means)可用于作物类型识别、城市扩张监测。这一方向的挑战在于:时序维度引入后,距离度量与类别数的确定都更加复杂,需要新的诊断指标。

9. 结论与工程建议

回到本文的主线:K-Means 非监督分类的工程价值,不在于算法本身有多强,而在于它能否被嵌入一条可诊断、可迭代、可复现的流程。五类起步提供了稳定的基线,诊断指标提供了调整依据,迭代路径提供了收敛方向。三者结合,才能把“跑一次看看”变成“跑一轮定稿”。

具体建议可归纳为四条:

  • 先标准化波段,再谈调参;
  • 五类起步,用 J-M 距离和类别面积稳定性决定增类或减类;
  • Statistics Only 模式是低成本试错的关键;
  • 后处理要克制,精度评价要独立。

对于希望进一步拓展的读者,可参考以下资源:ENVI 官方文档中的 K-Means 章节、NV5 Geospatial 的教程视频、以及 scikit-learn 的聚类用户指南(用于对比不同初始化策略)。这些资源能帮助把 ENVI 的操作经验与算法原理打通。

主要参考文献

[1] MacQueen J. Some methods for classification and analysis of multivariate observations. Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability, 1967, 1: 281–297.

[2] Lloyd S P. Least squares quantization in PCM. IEEE Transactions on Information Theory, 1982, 28(2): 129–137.

[3] Arthur D, Vassilvitskii S. k-means++: The advantages of careful seeding. Proceedings of the Eighteenth Annual ACM-SIAM Symposium on Discrete Algorithms, 2007: 1027–1035.

[4] Jain A K. Data clustering: 50 years beyond K-means. Pattern Recognition Letters, 2010, 31(8): 651–666.

[5] Xie J, Girshick R, Farhadi A. Unsupervised deep embedding for clustering analysis. Proceedings of the 33rd International Conference on Machine Learning, 2016: 478–487.

[6] NV5 Geospatial. ENVI User Guide: K-Means Classification. 2023.

[7] 张兵, 高连如. 高光谱图像分类与目标探测. 北京: 科学出版社, 2021.

[8] 童庆禧, 张兵, 郑兰芬. 高光谱遥感——原理、技术与应用. 北京: 高等教育出版社, 2006.

[9] 模拟数据说明:文中参数基线表与调参决策树为基于公开算法原理与工程经验的整合性总结,非来自单一数据集实验,特此标注。

文章声明

本文内容仅为作者学习、思考、经验、笔记的总结,仅供技术交流与参考。文中观点仅代表笔者个人思辨,不构成任何学术建议、商业建议或专业建议。所有数据来源已标注,引用时请以原始文献为准。

内容仅供学习参考。如需引用,请以原始文献为准。  |  全文约 12500 字  |  参考文献 60 篇(主要 9 篇)

🔒 复制本站文章内容需登录并达到 L3。当前:未登录

分享到

💬
微信
📷
朋友圈
🐧
QQ好友
🌐
QQ空间
👁
微博
📌
钉钉
🔗
复制链接
📑
复制图文

微信扫一扫分享

打开微信「扫一扫」,扫描二维码后在微信中分享给好友或朋友圈。

💬 评论 (0)

评论功能已关闭

⏸️ 本站暂未开放评论功能,不能进行评论,此为规划的后续开发预留
首页| 关于本网| 网站声明| 联系我们| 网站纠错| 服务| 网站地图
黔ICP备19010680号-1  |  邮箱:six528528@163.com
贵公网安备 52010302001819号
Copyright 2019-2026 http://www.databrush.com/ All rights reserved.
QQ
QQ扫一扫
Logo
DBN数据刷