当前位置: 首页 > news >正文

遥感图像分类领域的混淆矩阵

混淆矩阵是分类精度的评定指标。

对检核分类精度的样区内所有的像元,统计其分类图中的类别与实际类别之间的混淆程度。

混淆矩阵中,对角线上元素为被正确分类的样本数目,非对角线上的元素为错分的样本数。

名字解释
生产者(制图) 精度地表真实为A类,分类图像的像元归为A的概率
用户精度假定分类器将像元归到A类时,地表真实类别是A的概率
总体分类精度等于被正确分类的像元总和除以总像元数,地表真实图像或地表真实感兴趣区限定了像元的真实分类。被正确分类的像元沿着混淆矩阵的对角线分布,它显示出被分类到正确地表真实分类中的像元数。像元总数等于所有地表真实分类中的像元总和。
Kappa系数所有地表真实分类中的像元总数(N) 乘以混淆矩阵对角线(Xkk) 的和,再减去某一类中地表真实像元总数与该类中被分类像元总数之积对所有类别求和的结果,再除以总像元数的平方差减去某一类中地表真实像元总数与该类中被分类像元总数之积对所有类别求和的结果所得到的。

我知道看上面的文字看起来特烧脑,下面我们一起来看个例子:
在这里插入图片描述
对这个例子的通俗描述(有可能不太准确)为:我们在实际地物上共取了 650 个像素点:有137个像素点属于类别1、有130个像素点属于类别2、有134个像素点属于类别3、有123个像素点属于类别4、有126个像素点属于类别5;但是呢,实验过程中分的太均匀了,给每一类都分到了130个像素点。

ok,分类完成了,怎样衡量这次分类实验的精度呢?前辈么就提出了四个量:生产者(制图) 精度、用户精度、总体分类精度、Kappa系数。看它们的字面意思不太好理解,那么我们可以这样记:生产精度可以衡量漏分误差,用户精度可以衡量多分误差(简称:生漏用多,越用越多)


为啥这样叫呢?我谈谈我的理解:

我们左下角那个137,它代表我们选取的像素点中有137个属于类别1,但是实际上呢,这137个像素点中只有100个被正确地分到了类别1,其他的都被漏掉了,这不是漏分是啥?

我们再看右上角那个130,它代表这次分类实验中有130个像素点被分到了类别1,但是呢?这130个像素点中,只有100个是真正属于类别1的,其他的都被多分到类别1了。

至于总体分类精度就是 被正确分类的像素点之和占总共像素点的比例。

kappa 系数这玩意描述起来着实酸爽,还是看看公式好了,公式也不难。


Kappa系数是用于测定两幅图像之间的吻合度或精度的指标;
Kappa系数和总体精度的区别在于:总体精度只考虑了位于对角线上的像素数量,Kappa系数既考虑了对角线上被正确分类的像素,又考虑了不在对角线上的各种漏分和错分错误。

Kappa系数分类质量
<0.00很差
0.00~0.20
0.20~0.40一般
0.40~0.60
0.60~0.80很好
0.80~1.00极好

PS:最近看了好几篇论文,在进行遥感影像分类精度评估的时候都用到了混淆矩阵,足以说明其在遥感分类界的地位,故写这篇博客来详细介绍一下。

相关文章:

  • 模式识别+Matlab 最大似然分类(MLC)【贝叶斯(Bayes)分类法】
  • “北斗”知多少?
  • 2坐标格式转换 ∈ C# 编程笔记
  • 1坐标格式转换 ∈ C# 编程笔记
  • 2坐标转换 四参数/七参数/正形变换 ∈ C# 编程笔记
  • 闭合附和导线近似平差 ∈ C# 编程笔记
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • Matlab 各种画图 ∈ Matlab 使用笔记
  • C#一个解决方案创建多个项目
  • 夜光遥感卫星调研
  • 回归拟合中的基本概念和公式汇编(SSE, MSE, RMSE, RMS, STD, 方差, SSR, SST, R-square, Adjusted_R-squ, 相关度)
  • 立方体相册
  • 中国行政单位划分
  • Matlab 画地图之 m_map
  • 火影手游饰品分解
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • CAP 一致性协议及应用解析
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • gulp 教程
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • IP路由与转发
  • jquery cookie
  • jQuery(一)
  • node-glob通配符
  • Python3爬取英雄联盟英雄皮肤大图
  • Python语法速览与机器学习开发环境搭建
  • vue2.0项目引入element-ui
  • Vue实战(四)登录/注册页的实现
  • 电商搜索引擎的架构设计和性能优化
  • 动态魔术使用DBMS_SQL
  • 多线程事务回滚
  • 深度解析利用ES6进行Promise封装总结
  • 首页查询功能的一次实现过程
  • 一个项目push到多个远程Git仓库
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • HanLP分词命名实体提取详解
  • # Maven错误Error executing Maven
  • #1014 : Trie树
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • $ git push -u origin master 推送到远程库出错
  • (04)odoo视图操作
  • (1)(1.13) SiK无线电高级配置(五)
  • (1)(1.9) MSP (version 4.2)
  • (安卓)跳转应用市场APP详情页的方式
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (生成器)yield与(迭代器)generator
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)母版页和相对路径
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .net core Swagger 过滤部分Api