【深度学习滑坡制图|论文解读3】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法
【深度学习滑坡制图|论文解读3】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法
【深度学习滑坡制图|论文解读3】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法
文章目录
- 【深度学习滑坡制图|论文解读3】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法
- 3. Methodology
- 3.1. Model architecture
- 3.1.1. Global Local feature extraction block
- 3.1.2. Detailed spatial spectral Aggregation block
- 3.2. Deep transfer learning method
欢迎宝子们点赞、关注、收藏!欢迎宝子们批评指正!
祝所有的硕博生都能遇到好的导师!好的审稿人!好的同门!顺利毕业!
大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文:
可访问艾思科蓝官网,浏览即将召开的学术会议列表。会议入口:https://ais.cn/u/mmmiUz
论文链接:https://www.sciencedirect.com/science/article/pii/S1569843223004363
3. Methodology
3.1. Model architecture
SCDUNet++的整体架构如图4所示。模型中的编码器采用了GLFE模块,这是一个混合卷积神经网络(CNN)-Transformer模块;同时,设计了DSSA模块,以便更精细地提取光谱和空间特征。此外,采用了嵌套解码器并配备密集跳跃连接(DSC),用于在每个阶段恢复特征的分辨率。最终,各阶段特征加权融合,以获得最终结果。实现代码可在https://github.com/lewuu/SCDUNetPP获取。
3.1.1. Global Local feature extraction block
在遥感影像中,滑坡特征间的巨大差异及地物间的相似性增加了区分滑坡的难度。GLFE模块通过浅层CNN结构和深层Swin Transformer结构组合,确保了更准确的信息提取(如图4(b)所示)。
给定输入滑坡图像 X i n ∈ R H × W × C X_{in}∈R^{H×W×C} Xin∈RH×W×C,将 X i n X_{in} Xin 划分为不重叠的补丁 X P ∈ R H / P × W / P × C X_{P}∈R^{H/P×W/P×C} XP∈RH/P×W/P×C,其中 P = 4 P=4 P=4(Liu et al., 2021),这些补丁经过线性嵌入,输入两个连续的Swin Transformer模块,以获取特征 F 3 ∈ R H / 4 × W / 4 × 2 N F_{3}∈R^{H/4×W/4×2N} F3∈RH/4×W/4×2N,其中 N = 32 N=32 N=32。前一阶段输出特征在第4至第5阶段经过补丁合并以实现下采样,随后进入六个和两个连续的Swin Transformer模块,分别得到特征 F 4 ∈ R H / 8 × W / 8 × 4 N F_{4}∈R^{H/8×W/8×4N} F4∈RH/8×W/8×4N和 F 5 ∈ R H / 16 × W / 16 × 8 N F_{5}∈R^{H/16×W/16×8N} F5∈RH/16×W/16×8N。
我们发现补丁切分会导致信息损失,从而影响精度。因此,在较浅层设计了两层CNN结构,以补充模型的局部特征提取能力(Yuan et al.,2023)。第一阶段通过两个3 × 3卷积模块获取特征 F 1 ∈ R H × W × N F_{1}∈R^{H×W×N} F1∈RH×W×N,第二阶段通过下采样和三个3 × 3卷积模块获得特征 F 2 ∈ R H / 2 × W / 2 × 2 N F_{2}∈R^{H/2×W/2×2N} F2∈RH/2×W/2×2N。
在三个Swin Transformer模块中,窗口大小为8,每个阶段的注意力头数量分别为{2, 4, 8},每个头的查询维度为32。此外,由于设计了较浅的网络深度({32, 64, 64, 128, 256}),该模型在参数量和训练难度上具有优势。
3.1.2. Detailed spatial spectral Aggregation block
由于多光谱图像包含比RGB图像更复杂的信息,DSSA模块接收来自光谱(图4 III)和浅层CNN(图4 I和图4 II)的特征输入,从而能够提取空间和光谱特征信息,使模型能够关注更全面和细致的特征。DSSA模块由三个膨胀率分别为{1, 2, 3}的膨胀卷积、一个空间池化模块和一个光谱池化模块组成,如图4(e)所示。
DSSA模块接收来自两个分支的输入:一是光谱张量 X S ∈ R H × W × C S X_{S}∈R^{H×W×C_S} XS∈RH×W×CS(图4 III),另一是GLFE模块中的特征 F 1 ∈ R H × W × N F_{1}∈R^{H×W×N} F1∈RH×W×N(图4 II)和 F 2 ∈ R H / 2 × W / 2 × 2 N F_{2}∈R^{H/2×W/2×2N} F2∈RH/2×W/2×2N(图4 I)。DSSA模块融合这两个分支的特征以获得张量 T i n ∈ R H × W × N T_{in}∈R^{H×W×N} Tin∈RH×W×N,其表达式如公式(5)所示:
其中, F u p ( ⋅ ) F_{up}(·) Fup(⋅)表示使用最近邻插值的上采样函数, C 1 × 1 ( ⋅ ) C_{1×1}(·) C1×1(⋅)和 C 3 × 3 ( ⋅ ) C_{3×3}(·) C3×3(⋅)分别代表具有批量归一化和GELU激活的1×1和3×3卷积层, © © c◯表示特征拼接操作。
在空间池化模块中,张量 T i n T_{in} Tin通过在垂直和水平方向上进行全局平均池化和全局最大池化得到向量 P a v g H ∈ R H × 1 × N P_{avgH}∈R^{H×1×N} PavgH∈RH×1×N、 P a v g W ∈ R 1 × W × N P_{avgW}∈R^{1×W×N} PavgW∈R1×W×N、 P m a x H ∈ R H × 1 × N P_{maxH}∈R^{H×1×N} PmaxH∈RH×1×N和 P m a x W ∈ R 1 × W × N P_{maxW}∈R^{1×W×N} PmaxW∈R1×W×N。这些向量的元素可以通过公式(6)至(9)计算得出。
其中, h ∈ [ 0 , H ) h∈[0,H) h∈[0,H), w ∈ [ 0 , W ) w∈[0,W) w∈[0,W), n ∈ [ 0 , N ) n∈[0,N) n∈[0,N)表示在垂直、水平和通道维度上的索引。垂直和水平向量相乘,以分别获得空间中的特征分布权重。随后,将这两个权重结合并通过卷积层进行压缩,以获得空间池化特征 T s p a t ∈ R H × W × N T_{spat}∈R^{H×W×N} Tspat∈RH×W×N,其表达式如公式(10)所示:
其中, ⊗ ⊗ ⊗ 表示矩阵乘法。在光谱池化模块中,张量 T i n T_{in} Tin被压缩以获得向量 P a v g ∈ R N P_{avg}∈R^N Pavg∈RN和 P m a x ∈ R N P_{max}∈R^N Pmax∈RN。这些向量中的元素可以通过公式(11)和(12)计算得出。
这两个向量被拼接并压缩,以获得光谱通道上的注意力权重。随后,这些权重被扩展,以获得大小匹配的光谱池化特征张量 T s p e c ∈ R H × W × N T_{spec}∈R^{H×W×N} Tspec∈RH×W×N,其表达式如公式(13)所示:
其中, F e x p a n d ( ⋅ ) F_{expand}(·) Fexpand(⋅)表示张量扩展函数。接下来,我们可以将从上述两个模块获得的特征与经过三次膨胀卷积处理后的 T i n T_{in} Tin特征叠加。然后进行压缩,以获得DSSA模块的最终特征 T p s s d ∈ R H × W × N T_{pssd}∈R^{H×W×N} Tpssd∈RH×W×N,其表达式如公式(14)所示:
其中, C i ( ⋅ ) C_{i}(·) Ci(⋅)表示膨胀率为 i i i 的膨胀卷积。
3.2. Deep transfer learning method
我们采用了一种简单的基于模型的迁移学习(DTL)方法来评估DTL在提升局部模型(LM)及我们模型转移性能方面的可行性,如图5所示。源领域模型某些层的参数被转移到目标模型,使目标模型能够从源领域学习知识。随后,目标模型可以使用少量目标数据进行微调,从而获得适用于目标领域的模型(Wambugu et al., 2021;Wang et al., 2022)。
在遥感影像(RSIs)中,滑坡与背景的分布极为不平衡。为确保训练的有效性,我们将Lovász-Softmax损失(Berman et al., 2018)与Tversky损失(Salehi et al., 2017)结合,形成了平衡的Lovász-Softmax Tversky损失。其表达式如公式(15)所示:
其中, c c c 为类别 C C C 的子类, m ( c ) m(c) m(c) 是属于类别 C C C 的 c c c 的像素误差向量, Δ J c ΔJ_c ΔJc 是损失因子。 p 0 i p_{0i} p0i 和 p 1 i p_{1i} p1i 分别表示第 i i i 个像素为滑坡和非滑坡的概率, g 0 i g_{0i} g0i 和 g 1 i g_{1i} g1i 分别表示滑坡和非滑坡的真实标签。参数 α α α 和 β β β 分别设置为 0.3 和 0.7。
结果通过精确度、召回率、F1分数、交并比(IoU)、均值交并比(MIoU)和Matthews相关系数(MCC)进行评估。这些指标是基于真正例(TP)、假正例(FP)、假负例(FN)和真负例(TN)计算的,其表达式如公式(16)至(21)所示:
(1) 数据集划分
- 训练集、验证集和泸定地区的两个测试区域按比例划分为6:2:1:1。九寨沟地区的两个数据集被用作测试集。
(2) 数据增强
对训练数据应用了在线增强,包括:
- (i) 以1/4的概率旋转90°、180°、270°或不旋转;
- (ii)以1/3的概率进行上下翻转、左右翻转或不翻转;
- (iii) 以0.8的概率进行随机裁剪; (iv) 以0.4的概率进行随机擦除。
(3) 超参数详情
- 我们的模型是在PyTorch框架下构建的,使用AdamW优化器进行训练,权重衰减设为1e-4。初始学习率设置为1e-4,最小学习率设置为9e-6,采用余弦衰减策略。所有实验均在NVIDIA GeForce RTX 2060 12G GPU上进行。
欢迎宝子们点赞、关注、收藏!欢迎宝子们批评指正!
祝所有的硕博生都能遇到好的导师!好的审稿人!好的同门!顺利毕业!
大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文:
可访问艾思科蓝官网,浏览即将召开的学术会议列表。会议入口:https://ais.cn/u/mmmiUz
相关文章:

【深度学习滑坡制图|论文解读3】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法
【深度学习滑坡制图|论文解读3】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法 【深度学习滑坡制图|论文解读3】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法 文章目录 【深度学习滑坡制图|论文解读3】基于融合CNN-Transformer网络和…...

《计算机原理与系统结构》学习系列——处理器(下)
系列文章目录 目录 流水线冒险数据冒险数据相关与数据冒险寄存器先读后写旁路取数使用型冒险阻塞 控制冒险分支引发的控制冒险假设分支不发生动态分支预测双预测位动态分支预测缩短分支延迟带冒险控制的单周期流水线图 异常MIPS中的异常MIPS中的异常处理另一种异常处理机制非精…...

JDK新特性(8-21)数据类型-直接内存
目录 Jdk 新特性 JDK 8 特性 默认方法实现作用:可以使接口更加灵活,不破坏现有实现的情况下添加新的方法。 函数式接口 StreamAPI JDK 9 特性 JDK 10 特性 JDK 11 特性 JDK 14 特性 JDK 17 特性 JDK 21 特性 数据类型 基本数据类型和引用数据类型的区别…...

003-Kotlin界面开发之声明式编程范式
概念本源 在界面程序开发中,有两个非常典型的编程范式:命令式编程和声明式编程。命令式编程是指通过编写一系列命令来描述程序的运行逻辑,而声明式编程则是通过编写一系列声明来描述程序的状态。在命令式编程中,程序员需要关心程…...

QT pro项目工程的条件编译
QT pro项目工程的条件编译 前言 项目场景:项目中用到同一型号两个相机,同时导入两个版本有冲突,编译不通过, 故从编译就区分相机导入调用,使用宏区分 一、定义宏 在pro文件中定义宏: DEFINES USE_Cam…...

深度学习之经典网络-AlexNet详解
AlexNet 是一种经典的卷积神经网络(CNN)架构,在 2012 年的 ImageNet 大规模视觉识别挑战赛(ILSVRC)中表现优异,将 CNN 引入深度学习的新时代。AlexNet 的设计在多方面改进了卷积神经网络的架构,…...

部署Prometheus、Grafana、Zipkin、Kiali监控度量Istio
1. 模块简介 Prometheus 是一个开源的监控系统和时间序列数据库。Istio 使用 Prometheus 来记录指标,跟踪 Istio 和网格中的应用程序的健康状况。Grafana 是一个用于分析和监控的开放平台。Grafana 可以连接到各种数据源,并使用图形、表格、热图等将数据…...

结合 Spring Boot Native 和 Spring Boot 构建高性能服务器架构
随着云计算和微服务架构的普及,开发者们不断寻求提高应用性能和用户体验的解决方案。Spring Boot Native 的出现,利用 GraalVM 的原生映像特性,使得 Java 应用的启动速度和资源占用得到了显著改善。本文将深入探讨如何将前端应用使用 Spring …...

ArcGIS影像调色(三原色)三原色调整
本期主要介绍ArcGIS影像调色(三原色) ArcGIS影像调色(三原色),对比度、亮度、gamma。红绿蓝三原色调整。 视频学习 ArcGIS影像调色(三原色)...

SQLite从入门到精通面试题及参考答案
目录 SQLite 是什么? SQLite 的优点有哪些? 轻量级与易于部署 零配置和低维护成本 良好的兼容性和跨平台性 高性能和可靠性 SQLite 的局限性有哪些? 并发处理能力有限 缺乏用户管理和权限控制功能 有限的扩展性 有限的网络支持 SQLite 和其他数据库系统(如 MyS…...

【C/C++】字符/字符串函数(0)(补充)——由ctype.h提供
零.导言 除了字符分类函数,字符转换函数也是一类字符/字符串函数。 C语言提供了两种字符转换函数,分别是 toupper , tolower。 一.什么是字符转换函数? 顾名思义,即转换字符的函数,如大写字母转小写字母&am…...

Git 的特殊配置文件
文章目录 1.前言2.Git 标准配置文件.gitignore作用格式示例 .gitattributes作用格式示例 .gitmodules作用格式示例 .gitconfig作用格式示例 3.非 Git 标准约定文件.gitkeep简介示例 .gitacls作用格式示例 参考文献 1.前言 Git 是一个强大的版本控制系统,它使用多个…...

数据的表现形式(1)
数据的表现形式 西文字符编码 ASCII码(美国信息交换标准码) 计算机内部用一个字节(8位二进制),来存放一个7位ASCII码,最高位为“0”,共 可以表示128个不同字符 ASCII码中,0是48&…...

《高频电子线路》—— 调幅
文章内容来源于【中国大学MOOC 华中科技大学通信(高频)电子线路精品公开课】,此篇文章仅作为笔记分享。 调幅 普通调幅 AM 普通调幅,也属于线性调制,需要了解其时域和频域。 时域(表达式) vΩ…...

ubuntu22.04安装ROS2Humble
参考链接 Ubuntu22.04——ROS2安装以及小海龟画圆 Ubuntu 22.04 安装 ros noetic Slam_in_autonomous_driving(一) 环境配置...

软中端,硬中断(学习笔记)
/proc/softirqs 提供了软中断的运行情况; /proc/interrupts 提供了硬中断的运行情况。 以下图片展示的是软中断内容: 在查看 /proc/softirqs 文件内容时,你要特别注意以下这两点。 第一,要注意软中断的类型,也就是这…...

scIDST:弱监督学习推断单细胞转录组数据中的疾病进展阶段
背景:患者来源组织中的单个细胞,每个都处于不同的病理阶段,因此这种细胞变异性阻碍了随后的差异基因表达分析。 结果:为了克服这种异质性问题,作者提出了一种新的深度学习方法,scIDST,该方法可以…...

Linux 下执行定时任务之 Systemd Timers
不知道 ECS 因为什么缘故,上面安装的 MySQL 服务老是不定期挂掉,本来想通过 Linux 得 Cron 配置个半小时的定时检测任务,结果一直没有执行,因此又尝试使用了 Systemd Timers 进行了重新配置,简要做个记录。 Systemd Ti…...

flutter 专题二 Flutter状态管理之Riverpod 0.8.4
一 、flutter 有哪些状态管理方式 Flutter的状态管理方式有很多,Redux、 Bloc、 MobX、Provider等等。单单一个Provider,我也见到了各种组合,例如ChangeNotifier Provider / StateNotifier Provider( freezed)。各…...

【Linux】从零开始使用多路转接IO --- poll
碌碌无为,则余生太长; 欲有所为,则人生苦短。 --- 中岛敦 《山月记》--- 从零开始使用多路转接IO 1 前言1 poll接口介绍3 代码编写4 总结 1 前言 上一篇文章我们学习了多路转接中的Select,其操作很简单,但有一些缺…...

Docker配置宿主机目录和网络映射
容器挂载宿主机目录 在Docker中,你可以通过-v或--volume选项将宿主机的目录挂载到容器中。这可以让你在容器和宿主机之间共享文件。 例如,如果你想将宿主机的/home/user/data目录挂载到容器的/data目录,你可以使用以下命令: do…...

第十七课 component组件解析
component组件解析 component组件的写法在众多组件写法中算是比较简单的,component组件结构组成如下: 1)组件名 2)组件模板 3)利用Vue对象进行生成 基础示例: <div id"app"><test>…...

求余和求模是不是一样的,就要看看计算机中的 fix 和 floor 区别
在计算机中,fix和floor是两个不同的取整函数,它们各自有不同的取整规则。以下是fix和floor的详细区别: 一、定义与功能 fix函数 定义:fix函数是朝零方向取整的函数,即它会返回小于或等于(对于正数…...

00 递推和递归的核心讲解
递归的步骤 说 f(n)含义返回/xx f(n)等价式子在第二步中观察趋势,发现边界值(分类递归)和终止值(return) 递归优化思路 记忆化 递推/动态规划的步骤 说f(n)含义循环 关系式列 初值 综上,题目分为两类&a…...

深度学习常用开源数据集介绍【持续更新】
DIV2K 介绍:DIV2K是一个专为 图像超分辨率(SR) 任务设计的高质量数据集,广泛应用于计算机视觉领域的研究和开发。它包含800张高分辨率(HR)训练图像和100张高分辨率验证图像,每张图像都具有极高…...

rust编写的系统监测器
系统监测器 技术栈 rusttaurivue3vue-echartsrsbuild 软件介绍 用于查看电脑的硬件信息,实时监测cpu,内存,硬盘,网络,进程等系统资源 图形化,动态化展示,美观实用 软件截图 下载 https:/…...

【MyBatis源码】CacheKey缓存键的原理分析
文章目录 Mybatis缓存设计缓存KEY的设计CacheKey类主体CacheKey组成CacheKey如何保证缓存key的唯一性 Mybatis缓存设计 MyBatis 每秒过滤众多数据库查询操作,这对 MyBatis 缓存键的设计提出了很高的要求。MyBatis缓存键要满足以下几点。 无碰撞:必须保证…...

034_Structural_Transient_In_Matlab结构动力学问题求解
结构动态问题 问题描述 我们试着给前面已经做过的问题上加一点有趣的东西。 结构静力学求解 当时求解这个问题,在最外面的竖直切面加载了一个静态的固定的力。下面我们试试看在上方的表面增加一个脉冲压力载荷。 采用统一的有限元框架,定义问题&…...

项目模块十五:HttpResponse模块
一、模块设计思路 存储HTTP应答要素,提供简单接口 二、成员变量 int _status; // 应答状态码 unordered_map<string, string> _headers; // 报头字段 string _body; // 应答正文 bool _redirect_flag; // 是否重定向信息 stri…...

推荐一款优秀的pdf编辑器:Ashampoo PDF Pro
Ashampoo PDF Pro是管理和编辑 PDF 文档的完整解决方案。程序拥有您创建、转换、编辑和保护文档所需的一切功能。根据需要可以创建特定大小的文档,跨设备可读,还可以保护文件。现在您还能像编辑Word文档一样编辑PDF! 软件特点 轻松处理文字 如 Microso…...