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

历史标签如何时间迁移?

本文解析的论文是:
Lin, C.; Du, P.; Samat, A.; Li, E.; Wang, X.; Xia, J. Automatic Updating of Land Cover Maps in Rapidly Urbanizing Regions by Relational Knowledge Transferring from GlobeLand30. Remote Sens. 2019, 11, 1397. https://doi.org/10.3390/rs11121397
本篇论文的目的是在同一个区域中,如何利用历史已有的分类数据作为参考,来对其他时间的影像进行分类,已达到不用人为选择样本即可完成分类的目的。
注意:文章中的方法是针对同一个区域,进行不同时间的样本迁移,而关于不同区域相同时间或不同时空的样本迁移,后文会补充其他论文的解析。
先验:我们知道同一个区域,在不同时间内肯定会有变化,而区域较大的话,其不变的大于变化的概率会更大。如果我们找到此区域不变的区域,同时在此不变的区域中从历史标签中选择部分样本,同时利用一定的策略对此样本清洗一下(为什么要对历史标签中样本进行清洗呢,因为历史标签可能存在部分分类错误),那完全可以作为其他时间的真实标签作为训练样本。

根据先验的分析,需要具体完成以下几点:

  1. 样本如何清洗,历史数据从哪来?
  2. 不变区域如何获取?
    根据上述对论文的分析,以下分别展开描述;

1 样本获取清洗?

1.1 实验数据介绍

先简单描述一下相关的实验数据,如下,以南京和杭州两个区域为例,选择了landsat5/8作为数据源
在这里插入图片描述
辅助数据:
夜间灯光数据:DMSP/OLS NTL云免费年度合成数据的第四版
数字表面模型(DSM):日本宇宙航空研究开发机构开发的“ALOS World 3D”。
数字地形模型(DEM):日本经济、贸易和工业部(METI)和美国宇航局(NASA)共同开发的ASTER全球数字高程模型。

标签数据:
GlobeLand30数据集:包括耕地、森林、草地、水体、湿地、人造表面等十种类型。2010年的数据被用于本研究,整体准确率达到80.33%。
同时选择2010年的两个研究区的影像和标签数据配对,作为标签分类时的影像,因为真实对应标签的影像时间难以获取,所以选择同年份的遥感影像。

1.2 基本清洗

相关数据介绍之后,开始对2010年的影像和标签进行处理了,以清洗掉不符合影像中的类别或者是分类错误的标签。
方法:

基于GlobeLand30的统计结果,实验区域主要包含六种土地覆盖类型:耕地、森林、草地、水体、湿地和人造表面。灌木地和裸地的比例都不到0.03%,而永久性冰雪和冻原在实验区域并不存在。这六种土地覆盖类型足以构成快速城市化地区的类别体系,并且可以满足大多数城市地区研究和应用的需求。因此,提出的土地覆盖优化策略仅考虑与这六种类型相关的决策规则。
由于GlobeLand30的整体准确率低于85%,这意味着土地覆盖产品中存在许多分类错误的区域。为了最小化这些因素影响,提出了一种基于多模态数据集提供的土地覆盖信息的土地覆盖优化策略。该策略通过建立决策规则,整合了质量增强的NTL数据、从DSM提取的高程和坡度信息,以及从Landsat影像中提取的一系列指数。
我们计算了与植被、水和不透水表面相关的指数,以帮助制定决策规则。
归一化植被差异指数(NDVI)被广泛接受用于增强植被与非植被之间的差异。
改进的归一化水差异指数(MNDWI)可以显著增强水信息,尤其是在城市场景中。
生物物理组成指数(BCI)已被证明与不透水表面丰度的关系比其他指数更密切。
这三个指数被用来帮助制定决策规则。
基于先验知识,为六种土地覆盖类型建立了优化策略。耕地类别应包括灌溉农田、温室耕地、经济耕地等。BCI和NTL可以检测到耕地类别中的一些分类错误的像素,尤其是农村小屋。由于人类管理,耕地通常耕作在相对平坦的地形上,这与其他植被不同。人造表面主要包括城市地区、道路、农村小屋等。与其他土地覆盖类型不同,其对应的像素通常具有较大的BCI和NTL值,以及较小的MNDWI和NDVI值。NDVI可以纠正森林和草地的分类结果,MNDWI可以纠正水体的分类结果。为了获得更好的优化结果,另外两个指数被选为这三种土地覆盖类型的决策规则。
关于BCI指数:Deng, C.; Wu, C. BCI: A biophysical composition index for remote sensing of urban environments. Remote Sens.
Environ. 2012, 127, 247–259

如图显示了用于优化GlobeLand30的策略。变量σi表示不同土地覆盖类别的不同特征的阈值。为了自动实现土地覆盖类别,应用Otsu的二值化算法进行阈值决策。
在这里插入图片描述

通过上述方法完成了初步的数据清洗,由于分类数据集本来精度也挺高,在对标签进行纠偏之后,有的文献就直接将其应用到2010年的影像上进行训练分类了。但这时候依然无法完成向其他时间的迁移,这时候有人在把其他时间,比如2020年的影像和历史标签,比如这里的2010的标签利用上述方法进行清洗,然后作为训练样本进行分类。
这没有考虑到影像和标签时间差异较大,如果清洗效果不好的话,后直接影响到后面分类效果。
ps:不复杂的区域,这样做,其实精度可能也还行。
而本文处理后续还有进一步的数据清洗,以获取高精度的样本。

1.3 进一步清洗

基于上述决策规则的策略用于从GlobeLand30中移除可能分类错误的像素。此外,设计了知识转移过程的工作流程。工作流程包括三个主要步骤:
(1) 使用优化过程的输出执行基于光谱特征(SC)的聚类;
(2) 根据聚类结果使用区分标准分配训练集T1;
(3) 识别变化和未变化区域,并使用转移的土地覆盖知识标记X2中的未变化像素。在上述三个步骤之后,历史地图中的土地覆盖知识被转移到新的卫星图像上。这三个步骤的详细描述如下。
在这里插入图片描述

我们先来看SC聚类:
在文章中提到的"spectral characteristic-based clusters"方法(利用了不同土地覆盖类型在光谱曲线上的独特形状来进行分类。这种方法的目的是将具有相似光谱特性的像素聚集在一起,形成不同的类别或"聚类",以便于后续的土地覆盖分类。
其原理如下:

光谱曲线向量:在每一类像元中的每个像素,计算一个光谱曲线向量,该向量包含了像素在不同波段间的反射率差异。这些差异是通过比较每个波段的反射率值来计算的,使用如下公式:
在这里插入图片描述
其中( s_{m,p,q} )是像素( m )在波段( p )和( q )的光谱曲线特征值,( x_{m,p} )和( x_{m,q} )分别是该像素在波段( p )和( q )的反射率值,( f )是一个二值化函数,当反射率差异大于0时取1,否则取0。
其实Sm就是一个波段与其他波段的差值,如b1,b2,b3, 进行f(b2-b1),f(b3-b2),f(b3-b1),根据正负确定0/1,这样组成每个像元的光谱曲线向量。

聚类操作:接下来,根据计算出的光谱曲线向量,将相同的曲线分类为一个子类。注意这里是在每个标签类别所在的像元里面,计算这些像元的光谱曲线向量,然后将向量一样的进一步划分为子类,和一般的k-means分类不一样。

统计直方图:对每个类别所在的像元里面的每个子类的聚类的像素数量进行统计,形成一个直方图,这有助于识别哪些聚类代表了图像中的主要土地覆盖类型。
去除小聚类:最后,移除那些像素数量很少的聚类,因为它们可能不代表主要的土地覆盖类型,或者可能是由于噪声或异常值造成的。

至此,在每个类别所在像元内部,进一步划分若干个子类,这些子类按照像元数量进行直方图统计,因为就算是一个类别,其内部之间也是有差异的,只不过这种差异可能比和其他的类别之间的较小而已。

那如何判定类间差异和类类之间的差异大小,以进一步筛选出子类呢?
为了分类目的,不同土地覆盖类别的训练样本应该具有足够的可分性。从这个角度来看,基于类相似性为SC聚类输出定义了区分标准。因此,根据不同土地覆盖类别中子类的区分标准进一步选择聚类结果。类相似性是根据J-M距离来衡量的。对于不同土地覆盖类别的子类i和子类j,计算它们之间的J-M距离。
区分标准如下:通过J-M距离成对计算每个直方图中除第一类之外的所有子类的类相似性。对于给定的子类i和不同土地覆盖类别中的子类j,如果J-M距离的结果低于用户定义的阈值(假定为1),则建议删除这对。
最终剩余的子类构成了训练集T1。

至此,利用JM距离对各子类进一步筛选,以去掉可分离性较小的像元,剩下的样本组成T1样本集。

2 不变区域获取

以上完成了样本清洗工作,目前已经有2010年相对于遥感影像的质量较好的一组样本集T1。

刚刚强调过,如果直接选择其他时间的遥感影像,比如2020年,完成上述的清洗工作,获取的样本可以直接作为2020年遥感影像的训练样本进行分类,但考虑到精度问题,这里不是这样做。

现在考虑如何将样本进行迁移工作,我们知道一个区域在不同时间肯定有变化的,而变化分为变化区域和不变区域,如果找到不变区域,将不变区域中的T1样本集中的标签取出来作为其他时间的训练样本不就行了?

基于此思路,文中直接将其他时间遥感影像,如2018年遥感影像的各波段和2010影像波段直接做差,然后求和,计算出变化强度特征,然后利用OTSU方法进行阈值分割获取不变区域mask
在这里插入图片描述

然后利用mask和T1相交,即获取不变区域的各类别样本的稳定标签。
关于变化检测的方法可参考:
变化检测综述

至此获取到其他时间的稳定的训练样本,进入到正常分类流程即可,选择合适的分类特征和分类器即可。

总结:

本文主要利用历史标签数据完成了在不同时间上的样本迁移,前提是要在同一个区域,在其他时间获取到稳定的样本之后,可以完成高精度的分类。

欢迎点赞,收藏,关注,支持小生,打造一个好的遥感领域知识分享专栏 。遥感学习专栏

同时欢迎私信咨询讨论学习,咨询讨论的方向不限于:地物分类/语义分割(如水体,云,建筑物,耕地,冬小麦等各种地物类型的提取),变化检测,夜光遥感数据处理,目标检测,图像处理(几何矫正,辐射矫正(大气校正),图像去噪等),遥感时空融合,定量遥感(土壤盐渍化/水质参数反演/气溶胶反演/森林参数(生物量,植被覆盖度,植被生产力等)/地表温度/地表反射率等反演)以及高光谱数据处理等领域以及深度学习,机器学习等技术算法讨论,以及相关实验指导/论文指导,考研复习等多方面。

相关文章:

历史标签如何时间迁移?

本文解析的论文是: Lin, C.; Du, P.; Samat, A.; Li, E.; Wang, X.; Xia, J. Automatic Updating of Land Cover Maps in Rapidly Urbanizing Regions by Relational Knowledge Transferring from GlobeLand30. Remote Sens. 2019, 11, 1397. https://doi.org/10.33…...

Jenkins参数化构建

目录 一. 准备ansible 二. Gitlab新建子项目 三. Jenkins建立任务,进行初步配置 四. 导入nginx主机的公钥 五. 配置ansible执行脚本 六. 构建测试 一. 准备ansible 在jenkins主机中安装ansible [rootjenkins ~]# yum install -y epel-release [rootjenkins…...

函数实例讲解(三)

文章目录 常用的三个数学函数1、绝对值函数ABS2、取整数部分INT3、求余数函数MOD 求极值函数max、min1、Max2、Min 附加条件下求平均数1、AVERAGE2、AVERAGEIF3、AVERAGEIFS VLOOKUP与COLUMN1、VLOOKUP2、COLUMN 查找函数LOOKUP1、基础语法2、向量形式3、数组形式 常用的三个数…...

如何选择适合自己的编程语言?大学新生入门编程最佳路径指南

编程已成为当代大学生的必备技能,但面对众多编程语言和学习资源,新生们常常感到迷茫。如何选择适合自己的编程语言?如何制定有效的学习计划?如何避免常见的学习陷阱?本文将为你提供详细的指导,为你的大学生…...

编程的法则 依赖倒置原则 (Dependency Inversion Principle)包括如何实践

编程的法则 依赖倒置原则 (Dependency Inversion Principle)包括如何实践 flyfish 2017-07-19 2024-07-18 在软件工程中,存在着层次结构,其中上层的业务逻辑依赖于下层的实现细节。如果是直接的依赖关系可能会导致问题&#xf…...

[数据集][目标检测]肾结石检测数据集VOC+YOLO格式1299张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):1299 标注数量(xml文件个数):1299 标注数量(txt文件个数):1299 标注…...

pxe安装部署

RHEL7为例: ifconfig查看ip 一.环境配置 1.配置软件仓库: mkdir /rhel7 mount /dev/cdrom /rhel7 echo mount /dev/cdrom /rhel74 >> /etc/rc.d/rc,local chmod x /etc/rc.d/rc.local 2.关闭火墙和selinux,下载…...

Linux用户-sudo命令

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注我,我尽量把自己会的都分享给大家,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 Linux是一个多用户多任务操作系统,这意味着它可以同时支持多个用户登录并使用系统。…...

Unity强化工程 之 SpriteEditer Multiple

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正 1. SpriteEditer Multiple Automatic slicing - Unity 手册 这是用于裁剪图集的模式 应用之后精灵编辑器会看到Slice亮…...

大数据Flink(一百零九):阿里云Flink的基本名称概念

文章目录 阿里云Flink的基本名称概念 一、层次结构 二、​​​​​​​​​​​​​​概念说明 1、工作空间(Workspace) 2、项目空间(Namespace) 3、资源(Resource) 4、草稿(Draft&#…...

如何利用AI工具延长摸鱼时间、准点下班?

你好同学,我是沐爸,欢迎点赞、收藏和关注!个人知乎、公众号"沐爸空间" 俗话说,不会摸鱼的程序猿不是好的程序猿。同学,你是不是也在为不能准点下班、每天加班、没有时间提升自己而烦恼? 接下来…...

Yarn:一个快速、可靠且安全的JavaScript包管理工具

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,还请三连支持一波哇ヾ(@^∇^@)ノ) 目录 一、Yarn简介 二、Yarn的安装 1. 使用npm安装Yarn 2. 在macOS上…...

上线前端系统

上线一个静态的前端系统(续) 在eleme服务器上 启动服务 启动rpcbind [rooteleme-static ~]# systemctl restart rpcbind 启动nfs [rooteleme-static ~]# systemctl restart nfs 重启服务 启动smb [rootstatic-server img]# systemctl start smb…...

制作一个不依赖任何基础镜像的docker镜像

1、比如官方提供的hello-world镜像 #docker pull hello-world #docker images hello-world latest feb5d9fea6a5 2 years ago 13.3kB 可以看到这个镜像只有13.3kB 2、# docker run hello-world 只能打印一些信息 3、这个hello-world镜像的dockerfile就下面3行语…...

【拓扑排序topsort】——启动!!!

B3644 【模板】拓扑排序 / 家谱树 #include<bits/stdc.h> #define int long long #define fi first #define se second #define pb push_back #define PII pair<int,int > #define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0) using namespace std; …...

计算机网络-http协议和https的加密原理

HTTP&#xff08;HyperText Transfer Protocol&#xff0c;超文本传输协议&#xff09;是用于在万维网&#xff08;World Wide Web&#xff09;上传输超文本的基础协议。它定义了客户端&#xff08;通常是浏览器&#xff09;和服务器之间的文本数据传输格式和规则。以下是HTTP的…...

共享`pexlinux`数据文件的网络服务

实验环境准备&#xff1a; 1.红帽7主机 2.要全图形安装 3.配置网络为手动&#xff0c;配置网络可用 4.关闭vmware DHCP功能 一、kickstart自动安装脚本制作 1.安装图形化生成kickstart自动脚本安装工具 2.启动图形制作工具 3.图形配置脚本 这里使用的共享方式是http&#xff0…...

HC32F4A0 10路串口UART 配置

HC32 小华MCU 使用一段时间了&#xff0c;反正芯片BUG 是比较多了&#xff0c;比如串口接收错误后导致再也无法接收&#xff0c;PWM模块无法输出 低电平 &#xff0c; CAN 接收错误导致 输出引脚 CAN_TXD 一直输出脉冲 。。。&#xff1b;好的一面也存在吧&#xff0c;IO 引脚…...

拯救PyCharm:击退IDE崩溃的终极策略

拯救PyCharm&#xff1a;击退IDE崩溃的终极策略 PyCharm&#xff0c;作为开发界的明星IDE之一&#xff0c;以其强大的功能和灵活的定制性深受广大开发者喜爱。然而&#xff0c;即便是这样一款卓越的开发工具&#xff0c;也可能会遇到崩溃的问题&#xff0c;影响开发效率和工作…...

深入解析Unix命令:掌握wc、whereis和which的使用技巧

目录 1. wc命令 2. whereis命令 3. which命令 结论 在Unix和类Unix系统中&#xff0c;wc、whereis和which是三个常用的命令行工具&#xff0c;每个都有着独特的功能和用途。让我们逐个来了解它们的作用和使用方法。 1. wc命令 wc命令是"word count"的缩写&…...

奥运会大规模使用中国AI大模型!

B站&#xff1a;啥都会一点的研究生公众号&#xff1a;啥都会一点的研究生 AI圈最近又发生了啥新鲜事&#xff1f; 巴黎奥运会大规模使用中国 AI 大模型 巴黎奥运会成为一场科技与体育的盛宴&#xff0c;其中包括了大量中国科技的应用。AI 技术将在多个方面发挥作用&#xf…...

Linux中的线程3

死锁 在Linux操作系统中&#xff0c;死锁&#xff08;Deadlock&#xff09;是指两个或多个进程&#xff08;或线程&#xff09;在执行过程中&#xff0c;因互相持有对方所需的资源而又都在等待对方释放资源&#xff0c;导致它们都无法继续执行下去的一种状态。这种僵局会浪费系…...

内网权限维持——利用WMI进行权限维持

文章目录 一、WMI事件订阅机制简介二、利用事件订阅进行权限维持三、防御方式 一、WMI事件订阅机制简介 WMI&#xff08;Windows Management Instrumentation&#xff0c;Windows管理规范&#xff09;是windows提供的一种能够直接与系统进行交互的机制&#xff0c;旨在为系统中…...

【数据结构算法经典题目刨析(c语言)】括号匹配问题(图文详解)

&#x1f493; 博客主页&#xff1a;C-SDN花园GGbond ⏩ 文章专栏&#xff1a;数据结构经典题目刨析(c语言) 目录 一、题目描述 二、解题思路 三、代码实现 一、题目描述 二、解题思路 问题要求将三种类型括号匹配&#xff0c;其中包括顺序匹配和数量匹配 使用栈的后进先…...

浅谈 Spring AOP框架 (1)

文章目录 一、什么是 Spring AOP二、为什么要使用 Spring AOP三、AOP 的一些应用场景四、AOP 的组成五、如何使用 Spring AOP六、Spring AOP 的实现原理6.1、JDK 和 CGLIB 的区别 一、什么是 Spring AOP AOP (Aspect Oriented Programming) &#xff1a;面向切面编程&#xff…...

Linux 面试准备 - 2024

复习一下&#xff0c;资料来自慕课网课程 Linux 速成班和一些网上面试资料。 1. Linux 内核功能 1. 内存管理 2. 进程管理 3. 设备驱动程序 4. 系统调用和安全防护 2. 文件系统 - 一切皆文件 2.1 文件目录 /根目录etc配置文件bin必要命令usr 二级目录&#xff08;非用户…...

C++笔记---类和对象(中)

1. 类的默认成员函数 默认成员函数就是用户没有显式实现&#xff0c;编译器会自动生成的成员函数称为默认成员函数。 一个类&#xff0c;我们不写的情况下编译器会默认生成以下6个默认成员函数&#xff0c;分别为&#xff1a;构造函数&#xff0c;析构函数&#xff0c;拷贝构…...

【C++】入门基础知识

河流之所以能够到达目的地&#xff0c;是因为它懂得怎样避开障碍。&#x1f493;&#x1f493;&#x1f493; 目录 ✨说在前面 &#x1f34b;知识点一&#xff1a;C的发展历史 • &#x1f330;1.C发展历史 • &#x1f330;2.C的迭代与更新 • &#x1f330;3.编程语言排…...

AI的应用场景和未来展望

AI&#xff08;人工智能&#xff09;的应用场景广泛且多样&#xff0c;已经深入到我们生活的方方面面&#xff0c;成为现代社会不可或缺的一部分。 AI的应用场景 1、通用软件与工具型应用 办公软件&#xff1a;如钉钉、飞书等&#xff0c;通过AI技术提供内容生成与摘要、智能…...

vim、sublime、notepad文本编辑器的使用

VIM&#xff1a; Windows上配置gvim并作为C和C的IDE Windows上配置gvim并作为C和C的IDE | Reasuon sublime notepad...