【遥感入门系列】遥感分类技术之遥感解译
遥感的最终成果之一就是从遥感图像上获取信息,遥感分类是获取信息的重要手段。同时遥感图像分类也是目前遥感技术中的热点研究方向,每年都有新的分类方法推出。
本小节主要内容:
- 遥感分类基本概念
- 常见遥感分类方法
1 遥感分类概述
遥感图像通过亮度值或像元值的高低差异(反映地物的光谱信息)及空间变化(反映地物的空间信息)来表示不同地物的差异,这是区分不同图像地物的物理基础。遥感图像分类就是利用计算机通过对遥感图像中各类地物的光谱信息和空间信息进行分析,选择特征,将图像中每个像元按照某种规则或算法划分为不同的类别,然后获得遥感图像中与实际地物的对应信息,从而实现遥感图像的分类。
不同的地物具有不同的波谱特征,同类的地物具有相似的波谱特征,由不同探测波段组成的多波段数字图像是地物特征的量化,遥感图像分类正是基于图像中所反映的同类地物的光谱相似性和异类地物的光谱差异性的基础上进行的,根据图像的特征向量,建立判别函数,最终实现将遥感图像自动分成若干地物类型。遥感图像分类由于遥感图像的数据量大和成像复杂等特点,使得遥感图像具有一些特点和原则。
遥感图像分类比起一般的数字图像分类具有自身的特点,概况来讲遥感图像分类的特点有如下几点:
(1)数据量大。遥感图像通常具有较多的光谱波段,每个像元在不同波段具有不同的波谱特征,所以遥感图像分类是处理多波段的运算。
(2)复杂性。虽然大多数的地物符合“同类地物具备相同的波谱特征,不同地物具有不同的波谱特征”的原则,但是大多数情况下,研究的同类地物会具有不同的光谱特征,即“同物异谱”,而相同的光谱特征表示了不同的地物,即“异物同谱”。
(3)需要预处理。在对遥感图像分类前,往往需要做一定的预处理,原始图像的特征波段间往往存在比较强的相关性,同时由于处理多波段遥感数据的计算量大的原因,在分类前采用特征判别,决定一定的预处理方法,不但可以减少计算量,同时为可以处理多波段数据提供一种方式。
遥感图像分类方法广义上可以归纳为三大类:
计算机自动分类可分为:基于光谱的计算机分类(监督分类与非监督分类),基于专家知识的决策树分类,面向对象图像分类和深度学习图像分类。
另外还有定量反演、遥感动态监测、DEM提取等。
可能还有人会说还有机器学习,其实遥感领域上个世纪就已经提出了机器学习的概念,早就有神经网络、支持向量机等机器学习算法,在遥感领域归属为监督分类范畴。
2 基于光谱的计算机分类
(1) 非监督分类
非监督分类:也称为聚类分析或点群分类。在多光谱图像中搜寻、定义其自然相似光谱集群的过程。它不必对图像地物获取先验知识,仅依靠图像上不同类地物光谱(或纹理) 信息进行特征提取,再统计特征的差别来达到分类的目的,最后对已分出的各个类别的实际属性进行确认。
目前比较常见也较为成熟的是ISODATA、链状方法等。遥感图像的非监督分类一般包括以下6个步骤:
图:非监督分类流程
- 图像分析:分析图像,大体上判断主要地物的类别数量。
- 分类器选择:选择一个合适的分类方法。
- 图像分类:设置好分类器的参数对图像进行分类。
- 类别定义:一般需要多设置几个类别,之后重新判别与合并非监督分类的结果。
- 分类重编码:对定义好类别的重新定义类别ID。
- 结果验证:对分类结果进行评价,确定分类的精度和可靠性。
(2) 监督分类
监督分类:又称训练分类法,用被确认类别的样本像元去识别其他未知类别像元的过程。它就是在分类之前通过目视判读和野外调查,对遥感图像上某些样区中图像地物的类别属性有了先验知识,对每一种类别选取一定数量的训练样本,计算机计算每种训练样区的统计或其他信息,同时用这些种子类别对判决函数进行训练,使其符合于对各种子类别分类的要求, 随后用训练好的判决函数去对其他待分数据进行分类。使每个像元和训练样本作比较,按不同的规则将其划分到和其最相似的样本类,以此完成对整个图像的分类。
遥感图像的监督分类一般包括以下6个步骤:
图:监督分类一般流程
- 类别定义:根据分类目的、图像数据自身的特征和分类区收集的信息确定分类系统;
- 特征判别:对图像进行特征判断,评价图像质量,决定是否需要进行图像增强等预处理;
- 样本选择:为了建立分类函数,需要对每一类别选取一定数目的样本;
- 分类器选择:根据分类的复杂度、精度需求等确定哪一种分类器;
- 图像分类:利用选择的分类器对图像数据进行分类,有的时候还需要进行分类后处理;
- 结果验证:对分类结果进行评价,确定分类的精度和可靠性。
3 基于专家知识的决策树分类
基于知识的决策树分类是基于遥感影像数据及其他空间数据,通过专家经验总结、简单的数学统计和归纳方法等,获得分类规则并进行遥感分类。分类规则易于理解,分类过程也符合人的认知过程,最大的特点是利用的多源数据。
专家知识决策树分类的步骤大体上可分为四步:知识(规则)定义、规则输入、决策树运行和分类后处理。
图:基于专家知识的决策树分类一般流程
(1)知识(规则)定义
规则的定义是讲知识用数学语言表达的过程,可以通过一些算法获取,也可以通过经验总结获得。
(2)规则输入
将分类规则录入分类器中,不同的平台有着不同规则录入界面。
(3)决策树运行
运行分类器或者是算法程序。
(4)分类后处理
这步骤与监督/非监督分类的分类后处理类似。
4 面向对象图像分类
“同物异谱,同谱异物”会对影像分类产生的影响,加上高分辨率影像的光谱信息不是很丰富,还有经常伴有光谱相互影响的现象,这对基于像素的分类方法提出了一种挑战,面向对象的影像分类技术可以一定程度减少上述影响。
面向对象分类技术集合临近像元为对象用来识别感兴趣的光谱要素,充分利用高分辨率的全色和多光谱数据的空间,纹理,和光谱信息来分割和分类的特点,以高精度的分类结果或者矢量输出。
面向对象图像分类主要分成两部分过程:影像对象构建和对象的分类。如下图为ENVI中的FX工具的面向对象图像分类流程。
图: FX操作流程示意图(*项为可选操作步骤)
- 影像对象构建主要用了影像分割技术,常用分割方法包括基于多尺度的、基于灰度的、纹理的、基于知识的及基于分水岭的等分割算法。比较常用的就是多尺度分割算法,这种方法综合遥感图像的光谱特征和形状特征,计算图像中每个波段的光谱异质性与形状异质性的综合特征值,然后根据各个波段所占的权重,计算图像所有波段的加权值,当分割出对象或基元的光谱和形状综合加权值小于某个指定的阈值时,进行重复迭代运算,直到所有分割对象的综合加权值大于指定阈值即完成图像的多尺度分割操作。
- 影像对象的分类,目前常用的方法是“监督分类”和“基于知识分类”。这里的监督分类和我们常说的监督分类是有区别的,它分类时和样本的对比参数更多,不仅仅是光谱信息,还包括空间、纹理等信息。基于知识分类也是根据影像对象的熟悉来设定规则进行分类。
5 深度学习图像分类
深度学习是一种更复杂的机器学习形式,它使系统能够自动发现数据中的表现特征。深度学习与机器学习的区别在于,它能够在没有外部指导或干预的情况下,持续快速地改进自己的预测。深度学习算法学习模式通过遍历神经网络中的一系列层来得出结论,类似于大脑处理信息的方式。
对于遥感,深度学习尝试发现图像中的空间和光谱特征,通常用于查找诸如车辆、公用设施、道路等特征。通过使用一组标记的像素数据作为样本对深度学习模型进行训练,用于发现这些特定目标。
如下为ENVI中的深度学习工具图像分类流程。
6 总结
如下表为四大类自动分类方法的一个大概的对比。
类型 | 基本原理 | 影像的最小单元 | 适用数据源 | 缺 陷 |
传统基于光谱的分类方法 | 地物的光谱信息特征 | 单个的影像像元 | 中低分辨率多光谱和高光谱影像 | 丰富的空间信息利用率几乎为零 |
基于专家知识决策树 | 根据光谱特征、空间关系和其他上下文关系归类像元 | 单个的影像像元 | 多源数据 | 知识获取比较复杂 |
面向对象的分类方法 | 几何信息、结构信息以及光谱信息 | 一个个影像对象 | 中高分辨率多光谱和全色影像 | 速度比较慢 |
深度学习图像分类方法 | 几何信息、结构信息以及光谱信息 | 对象、像素 | 中高分辨率多光谱和全色影像 | 需要大量样本训练 |
相关文章:

【遥感入门系列】遥感分类技术之遥感解译
遥感的最终成果之一就是从遥感图像上获取信息,遥感分类是获取信息的重要手段。同时遥感图像分类也是目前遥感技术中的热点研究方向,每年都有新的分类方法推出。 本小节主要内容: 遥感分类基本概念常见遥感分类方法 1 遥感分类概述 遥感图…...

解决:IDEA无法下载源码,Cannot download sources, sources not found for: xxxx
原因 Maven版本太高,遇到http协议的镜像网站会阻塞,要改为使用https协议的镜像网站 解决方案 1.打开设置 2. 拿到settings.xml路径 3. 将步骤2里箭头2的User settings file:settings.xml打开,作以下修改 保存即可。如果还不行…...

什么是IDE,新手改如何选择IDE?
IDE 是 Integrated Development Environment(集成开发环境)的缩写,它是一种软件应用程序,为程序员提供了一站式的开发环境,整合了多种工具和服务,以便高效地创建、修改、编译、调试和运行软件程序。IDE 集成…...

springBoot+Vue汽车销售源码
源码描述: 汽车销售管理系统源码基于spring boot以及Vue开发。 针对汽车销售提供客户信息、车辆信息、订单信息、销售人员管理、 财务报表等功能,提供经理和销售两种角色进行管理。 技术架构: idea(推荐)、jdk1.8、mysql5.X(不能为8驱动不匹配)、ma…...

FPS游戏框架漫谈第五天
今天想了想整理下AnimatorManager 他的职责是负责动画的播放,那么在介绍该对象具备的对外接口,必须先介绍下拥有动画的对象他是怎么管理动画数据的,打个比方如果我们一个把武器需要播放开火动画,那么我们基于unity引擎可视化动画编…...

83.如何设计高可用系统
文章目录 一、简介二、导致系统不可用的常见原因三、高可用系统设计基本原则四、容错性设计五、弹性伸缩六、可观测七、安全防护设计八、自动化 一、简介 什么是高可用 高可用是指系统在面对各种故障和异常情况时,仍能够提供稳定、可靠的服务。对于企业和用户而言&…...

Map和Set讲解
🎥 个人主页:Dikz12📕格言:那些在暗处执拗生长的花,终有一日会馥郁传香欢迎大家👍点赞✍评论⭐收藏 目录 集合框架 模型 Set 常见方法和说明 Set总结 Map说明 Map常见方法和说明 Map 中HashMap的 …...

PHP集成开发环境 PhpStorm 2023 for mac中文激活版
PhpStorm 2023 for Mac是一款功能强大的PHP集成开发环境(IDE),旨在帮助开发者更高效地编写、调试和测试PHP代码。该软件针对Mac用户设计,提供了丰富的功能和工具,以简化开发过程并提高开发效率。 软件下载:…...

数学建模 - 线性规划入门:Gurobi + python
在工程管理、经济管理、科学研究、军事作战训练及日常生产生活等众多领域中,人们常常会遇到各种优化问题。例如,在生产经营中,我们总是希望制定最优的生产计划,充分利用已有的人力、物力资源,获得最大的经济效益&#…...

SpringBoot security 安全认证(二)——登录拦截器
本节内容:实现登录拦截器,除了登录接口之外所有接口访问都要携带Token,并且对Token合法性进行验证,实现登录状态的保持。 核心内容: 1、要实现登录拦截器,从Request请求中获取token,从缓存中获…...

详解WebRTC rtc::Thread实现
rtc::Thread介绍 rtc::Thread类不仅仅实现了线程这个执行器(比如posix底层调用pthread相关接口创建线程,管理线程等),还包括消息队列(message_queue)的实现,rtc::Thread启动后就作为一个永不停止的event l…...

阿赵UE学习笔记——13、贴花
阿赵UE学习笔记目录 大家好,我是阿赵。 继续学习虚幻引擎的使用。这次介绍一种特殊的材质类型,贴花。 一、获取贴花资源 在没有分析贴花的原理之前,可以先去获得一些免费的贴花资源来使用,比如在Quixel上面就有专门的一个资源…...

简单说说mysql的日志
今天我们通过mysql日志了解mysqld的错误日志、慢查询日志、二进制日志,redolog, undolog等。揭示它们的作用和用途,让我们工作中更能驾驭mysql。 redo 日志 如果mysql事务提交后发生了宕机现象,那怎么保证数据的持久性与完整性?…...

如何在CentOS安装DataEase数据分析服务并实现远程访问管理界面
如何在CentOS安装DataEase数据分析服务并实现远程访问管理界面 前言1. 安装DataEase2. 本地访问测试3. 安装 cpolar内网穿透软件4. 配置DataEase公网访问地址5. 公网远程访问Data Ease6. 固定Data Ease公网地址 🌈你好呀!我是 是Yu欸 🌌 202…...

HTTP请求传递参数方式【2024-02-01】
1、HTTP请求传递参数分类 1.1、按照请求方式分类 GET方法:通过查询字符串(Query String,每个参数由参数名和参数值组成,使用等号 连接,不同参数之间使用 & 符号分隔)的方式或直接将参数放在URL中来传递参数POST…...

Error: Projects must list all files or use an ‘include‘ pattern.
博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…...

移动应用开发的方式
移动应用开发的方式(三种) Native App: 本地应用程序(原生App) Web App:网页应用程序(移动web) Hybrid App:混合应用程序(混合App) hybrid应用场景 1、微信公众号&…...

C#学习笔记_类(Class)
类的定义 类的定义是以关键字 class 开始,后跟类的名称。类的主体,包含在一对花括号内。 语法格式如下: 访问标识符 class 类名 {//变量定义访问标识符 数据类型 变量名;访问标识符 数据类型 变量名;访问标识符 数据类型 变量名;......//方…...

壹[1],Xamarin开发环境配置
1,环境 VS2022 注: 1,本来计划使用AndroidStudio,但是也是一堆莫名的配置让人搞得很神伤,还是回归C#。 2,MAUI操作类似,但是很多错误解来解去,且调试起来很卡。 3,最…...

SAM:基于 prompt 的通用图像分割模型
Paper: Kirillov A, Mintun E, Ravi N, et al. Segment anything[J]. arXiv preprint arXiv:2304.02643, 2023. Introduction: https://segment-anything.com/ Code: https://github.com/facebookresearch/segment-anything SAM 是 Meta AI 开发的一款基于 prompt 的通用视觉大…...

2024美赛数学建模C题思路+模型+代码+论文
2024美赛A-F题思路代码模型论文:2.2开赛第一时间更新,获取见文末名片 美赛流程以及经验分享 今天主要和大家分享一下我之前参加美赛的经验,主要分两部分来讲。一部分是美赛流程,另一部分是美赛经验。 一 美赛流程 比赛前&#x…...

npm run serve和npm run dev的区别
1. 功能:通常,"npm run serve"用于启动开发服务器,提供实时的开发环境,支持自动重新加载和热模块替换。这样可以在开发过程中实时查看代码更改的效果。而"npm run dev"可以是一个自定义的指令,用于…...

已解决:winform开发中删除某方法导致窗体设计报错
一、报错截图 二、解决方案 第一步,点击上图的转到代码 第二步,注释掉报错的部分(代码前面加//) 第三步,重新编译 最后,恢复正常...

开源软件的影响力
开源软件如何推动技术创新 开源软件通过开放源代码,为全球开发者提供了共同的平台,促进了协作、交流,并推动了软件技术的创新和发展。以下是一些关键方面的分析: 透明度与信任: 开源软件的源代码是公开可见的,这种透明度带来了更高水平的信任。开发者和用户能够审查代码,…...

postgresql lc_ctype不同值之间的转换
LC_CTYPE 用于决定字元是否为数字,字母,空格,标点符号,及大小写等[1]。将 LC_CTYPE 设为「C」表示 isupper(c) 或 tolower(c) 等 C 语言函数[2]仅针对 US-ASCII 范围内的字元给出预期结果。因为像 upper()、lower() 或 initcap 这类型的Postgres SQL 语句是在libc 函数上实…...

纸盒生产ERP软件怎么样?常用纸盒生产ERP系统有哪几种
市场上的纸盒种类繁多,这些差异化的商品对应多元化的销售渠道和营销策略,日常的经营管理工作较为繁琐。而纸盒生产涉及原材料、发料、车间、工时评估、排产、质检、委外、工单等诸多流程,想要随时掌握各环节进度,及时处理存在的问…...

2024年重庆市考报名照上传失败的原因
2024年重庆市考报名照需要根据以下要求生成: 1、近期6个月,免冠证件照。 2、照片背景白底或者蓝底或者红底背景。 3、照片文件jpg格式,大小在20KB以下 4、照片像素大小,295*413像素 5、照片必须使用审核工具审核后才能上传...

2023年出版的新书中提到的《人月神话》(202402更新)(1)
DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 《人月神话》于1975年出版,1995年出二十周年版。自出版以来,该书被大量的书籍和文章引用,直到现在热潮不退。 2023年,清华大学出版社推…...

gtkmm xml ui 例子(from string)
文章目录 前言来看一个从字符串中生成UI的例子 前言 glade生成的xml格式不被gtkmm4支持, 需要作修改 来看一个从字符串中生成UI的例子 #include <gtkmm/application.h> #include <gtkmm.h> #include <iostream> using namespace std;class ExampleWindow :…...

第2章 Linux 中执行命令
第2章 Linux 中执行命令 命令格式 命令 [选项] [参数....] 在linux 中命令分为内部命令和外部命令。 ctrll 可以清屏 查看帮助的命令 在使用命令之前,我们可以通过帮助来查看这个命令的格式和使用方式。在 Linux 中有两个帮助命令, help 和 man help…...