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

TNNLS 2024 | 基于残差超密集网络的高光谱图像空间光谱融合方法

A Spatio-Spectral Fusion Method for Hyperspectral Images Using Residual Hyper-Dense Network

IEEE Transactions on Neural Networks and Learning Systems 2024

这篇文章的研究背景是针对高光谱图像(HS)与全色图像(PAN)的空间-光谱融合问题。高光谱图像在光谱分辨率上具有优势,但空间分辨率较低,而全色图像空间分辨率较高但缺乏光谱信息。因此,通过融合这两种图像,可以提高高光谱图像的空间分辨率,从而更好地支持遥感应用[1]。

以往方法中存在的主要缺陷包括:

  1. 特征提取能力有限:传统方法在提取图像特征时表现不足,尤其是在处理高光谱和全色图像之间的复杂关系时[1]。
  2. 网络结构复杂性不足:现有深度学习模型(如DenseNets)虽然在某些任务中表现良好,但在处理空间-光谱融合问题时,未能充分利用多层次特征和跨流信息[1]。
  3. 梯度传递效率低:一些网络结构在训练过程中梯度传递效率较低,导致模型训练效果不佳[1]。

这篇文章提出了一种用于高光谱图像(HS)和全色图像(PAN)的时空光谱融合方法,称为残差超密集网络(RHDN)。具体研究方法如下:

  1. 网络结构设计:提出了一个两分支网络结构,分别处理高光谱图像在可见光范围内和范围外的特征。这种设计使得网络能够更有效地捕捉高光谱图像的特征 [1]。
  2. 特征提取策略:在每个分支中,采用双流策略分别处理PAN和HS图像。这种策略确保了两种不同类型的图像能够被独立处理,从而提高特征提取的准确性 [1]。
  3. 卷积神经网络(CNN)设计:设计了包含级联残差超密集块(RHDBs)的CNN,这些块允许同一流内部和不同流之间的层对直接连接,从而学习更复杂的HS和PAN图像之间的组合 [1]。
  4. 残差学习:采用了残差学习的方法,使得网络更加高效,能够更快地收敛并提高融合质量 [1]。
  5. 实验验证:通过大量的基准评估,验证了所提出的RHDN融合方法在多个广泛接受的最新方法上具有显著的优势 [1]。
    通过这些方法,作者成功提出了一种高效且高精度的时空光谱融合方法,显著提升了融合图像的空间分辨率 [1]。

A.建议的RHDB结构

一般来说,网络越深,泛域性能越好。然而,大多数基于CNN的深层架构都会导致梯度消失问题。为了解决这个问题,[33]中的研究开发了一种新的残差密集网络(RDN),以充分利用所有卷积层的分层特征。RDN建立在从残差密集块(RDB)的卷积层添加到所有后续层的直接访问以及从一个RDB添加到下一个RDBMS的每一层的直接连接的思想之上。

RDB设计密集连接的卷积层来提取丰富的局部特征[图1(a)]。RDN结构特别适合解决超分辨率问题,原因如下:1)它通过充分利用局部和全局特征实现了深度监控,2)所有层之间的密集连接有助于解决梯度消失问题。受RDB在超分辨率任务中的成功启发,人们提出了许多特征提取块[46]-[51]。

为了提高网络收敛速度,提出了一种具有深度RDB的深度残差密集网络(DRDN)[图1(d)],该网络从浅层特征引入了多跳连接[46]。在密集块的基础上,设计了剩余密集旁路块[图1(c)],该旁路块将密集连接块与旁路剩余块相结合[47]。Li等人[49]设计了一种多尺度残差块(MSRB)[图1(b)],该块采用不同大小的卷积核来检测不同尺度的特征,并在不同尺度特征之间应用跳跃连接。同样,提出了一种用于图像超分辨率的多尺度RDN,该RDN使用多个尺度来提取特征,并采用扩展卷积来增加感受野的面积[50]。分层密集块(HDB)旨在在不同阶段充分利用多尺度特征表示[51]。

上述特征提取块是为图像超分辨率任务而设计的。HS图像超分辨率任务只有一个输入HS图像,超分辨率网络仅从HS图像中提取特征。HS和PAN图像的空间光谱融合处理不仅有一个输入HS图像,还有一个输入PAN图像。对于HS泛扫任务,现有的方法直接级联PAN和HS图像,然后使用特征提取块提取特征并重建HS图像,这不利于提取PAN图像的空间信息。为了解决这一缺点,我们提出了一种用于HS pansharpening的RHDB,它扩展了HS和PAN特征提取流内部和之间的低级和高级特征之间的密集连接。

与CA模块不同的是,SA模块注重泛色法中有利于空间细节增强的信息区域。CA和SA模块改善了两个流的所有级别之间的信息流和梯度,从而提高了学习表示的有效性。RHDB以前馈方式连接两个流的所有前一层的所有特征输出。密集的连接发生在两个流的所有层内和层之间。与仅从自身流中提取特征的双流块(TSB)相比,RHDB不仅充分利用了自身流中的层次特征,还充分利用了不同流中的互补特征。因此,RHDB通过探索流内和流间层之间的层次特征,展示了更强大的特征表示。

B.Baseline

在本研究中,考虑了一个基线(如图4所示)。它由四个子网络组成:1)浅层特征提取(SFEN);2) 深度特征提取(DFEN);3) FFN;以及4)细节重建(DRN)。PAN图像的空间和光谱特性与HS图像明显不同。PAN图像通常以空间细节为特征。HS图像显示出丰富的光谱信息,但空间内容有限。因此,我们开发了一种新的双流特征提取子网络来学习PAN图像和HS图像的浅层特征表示。SFEN是一个DFEN,用于提取深层特征。这些深层特征被馈送到FFN进行特征融合。根据泛搜索的一般思想,提取的细节应通过DRN重建并注入插值的HS图像中以生成HR-HS图像。

在第一节挑战的描述中,已经表明,当PAN图像仅覆盖可见光谱,HS图像不仅覆盖可见光谱而且覆盖SWIR光谱范围时,可见光谱外范围内缺失的空间信息更难估计。换句话说,预计应分别估计HS图像在可见光谱范围内和PAN图像未覆盖的光谱范围内的缺失空间细节。因此,在所提出的RHDN pansharpening方法中,设计了两个特征提取分支来估计可见光谱内外缺失的空间细节。每个分支包含两个流,用于提取HS和PAN图像的特征。我们提出的RHDN模型保持了基线的高级结构设计(见图4),并包含两个特征提取分支,如图5所示。实验结果表明,与基线相比,所提出的RHDN模型在空间增强和光谱保真度方面具有优势。

C.拟议RHDN的网络结构

图5显示了拟议RHDN方法的架构,该方法由四个主要步骤组成:SFEN、DFEN、FFN和DRN。

RHDN的整体结构包含四个主要步骤:

  • 浅层特征提取(Shallow Feature Extraction, SFEN)
  • 深层特征提取(Deep Feature Extraction, DFEN)
  • 密集特征融合网络(Dense Feature Fusion Network, FFN)
  • 细节重建(Detail Reconstruction, DRN)

1) 浅层特征提取:所提出的RHDN方法包含一个具有深层结构的双分支网络,可以分别捕获可见光谱范围内外的HS图像的特征。在每个分支,我们采用双流特征提取子网络来提取PAN和HS图像的细节。通过计算可见光谱范围内的子带来获得可见分支中HS流的输入,记为Hv。可见分支Bv的HS流以SFEN开始,其中堆叠了N个卷积块以提取浅特征表示

PAN SFEN流保持与HS特征提取流类似的结构。考虑到相邻像素,它与HS SFEN流的像素有很大不同。在PAN-SFEN步骤中,使用具有3×3卷积核的两个卷积块,以使用更大的感受野充分利用相邻像素的空间信息

  • HS流:使用1×1卷积核提取HS图像的光谱特征。
  • PAN流:使用3×3卷积核提取PAN图像的空间信息,充分利用相邻像素的空间信息[6][7]。

2) 深度特征提取:DFEN子网络主要由RHDB组成,它允许同一流中的层对和不同流之间的层对直接连接。SFEN子网络的两个流的特征被馈送到这个后续的DFEN子网络中。假设Bv分支的DFEN由L个RHDB组成。

DFEN子网络由多个残差超密集块(Residual Hyper-Dense Block, RHDB)组成。RHDB允许在同一流内和不同流之间建立直接连接,充分利用来自PAN和HS图像的多层次特征。具体表现为:

  • 密集连接:RHDB通过在不同的流之间建立密集连接,增强了特征的表示能力[8]。
  • 通道注意力(CA)和空间注意力(SA)模块:分别用于增强HS和PAN图像的特征表示,CA模块关注通道间的关系,SA模块关注空间细节[9]。

3) 密集FFN:当使用一组RHDB提取分层特征时,会进行密集FFN以融合从前一层提取的特征。FFN遵循级联,由一个卷积块组成(见图5)。

4) 细节重建:Bo保持了与Bv相似的结构。正如我们前面提到的,定义泛锐化模型的困难在于如何在PAN图像未覆盖的光谱范围内产生良好的性能。因此,关于Bo的DFEN子网,它与Bv的子网有很大的不同。Bo的DFEN含有比Bv更多的RHDB。然后将两个子网络Fv,D和Fo,D的特征沿着光谱维度连接起来,并馈入以下DRN子网络,其中堆叠两个卷积块以提高表示能力,并采用一个卷积层来重建细节图。

5) 细节重建(DRN):DRN通过卷积块和残差块的堆叠,重建细节图。最终的高分辨率HS图像通过将重建的细节注入到插值后的HS图像中生成[11]。

6)损失函数

RHDN使用L1损失函数来训练网络,目标是最小化重建HS图像与参考HS图像之间的残差误差[12]。

7)高分辨率HS图像重建

通过训练RHDN网络,估计HS图像的缺失细节,并最终生成高分辨率HS图像[13]。

实验:

1. 数据集与实验设置

实验使用了三个公开的高光谱数据集:Pavia Center、Houston和Botswana。每个数据集的处理步骤包括:

    从参考高光谱图像生成模拟的低分辨率高光谱图像(LR-HS)和高分辨率全色图像(HR-PAN),使用Wald协议进行降采样和模糊处理 [53]。
    将图像分割为多个不重叠的 patch,并进一步划分为更小的 patch 以增加训练样本数量 [1]。

2. 对比方法与质量评估

论文将提出的 RHDN 方法与七种经典的高光谱图像融合方法和六种基于卷积神经网络(CNN)的先进方法进行了对比。经典方法包括 GSA、GFPCA、MTF-GLP、MTF-GLP-HPM、CNMF、Hysure 和 BayesSparse;CNN 方法包括 PNN、HyperPNN1、HyperPNN2、LPPNet、MSRN 和 RDN。评估指标包括光谱角映射(SAM)、交叉相关(CC)、均方根误差(RMSE)和全局相对误差(ERGAS)[55][56]。
3. 实验结果与分析

实验结果表明,RHDN 在所有数据集上均表现出优异的性能,特别是在空间增强和光谱保真度方面:

    Houston数据集:RHDN 在视觉对比和定量指标(如 SAM、CC、RMSE 和 ERGAS)上均优于其他方法,尤其是在空间细节的保留和光谱信息的恢复方面 [1]。
    Pavia Center数据集:RHDN 在视觉和定量评估中均表现出色,特别是在光谱保真度方面,显著优于其他经典和基于 CNN 的方法 [1]。
    Botswana数据集:RHDN 在处理光谱范围外的缺失空间细节时表现出色,进一步验证了其在复杂场景下的鲁棒性 [1]。

4. 消融研究

为了验证 RHDN 中不同组件的有效性,论文进行了多项消融实验:

    RHDB数量对性能的影响:实验表明,随着 RHDB 数量的增加,网络性能逐渐提升,但当 RHDB 数量过多时,性能提升有限。最终选择在每个分支中使用不同数量的 RHDB 以达到最佳性能[1]。
    RHDB与其他特征提取块的对比:相比于仅从单一流中提取特征的块,RHDB 通过在不同流之间建立连接,显著提升了特征表示能力 [1]。
    基线模型与 RHDN 的对比:RHDN 使用两个独立的特征提取分支来处理可见光谱范围内外的高光谱图像,相较于基线模型,在光谱范围外的细节估计上表现更优 [1]。

        基线和RHDN的光谱曲线比较:本文提出的基线(如图4所示)利用一个特征提取分支同时学习PAN和HS图像的特征。在所提出的RHDN方法中(如图5所示),设计了两个特征提取分支,用于捕获可见光谱内外HS图像的特征,并从PAN图像中估计可见光谱内外缺失的空间细节。为了验证所提出的RHDN方法的有效性,我们比较了RHDN和基线获得的融合结果的光谱曲线。图12显示了从博茨瓦纳数据集中随机选择的三个像素的光谱曲线的比较结果。从图12中可以看出,拟议基线和拟议RHDN在可见光谱(400-760nm)中的光谱曲线与参考图像的光谱曲线非常相似。然而,在SWIR光谱范围内(可见光谱外),参考光谱曲线与RHDN生成的光谱曲线之间的差异远小于参考光谱曲线和基线生成的光谱线之间的差异。这证明了所提出的RHDN方法利用两个单独的分支来提取可见光谱内外的特征,可以更有效地估计缺失的细节信息,并产生更好的融合性能。

5. 计算时间

与 CNN 方法相比,RHDN 需要更多的计算时间,但其在稳定性和收敛性方面表现良好,且其计算时间在可接受范围内 [1]。
6. 结论

实验结果表明,RHDN 在空间增强和光谱保真度方面均优于现有的经典和基于 CNN 的方法。未来的研究方向包括将点扩散函数(PSF)引入深度学习模型中 [1]。
通过上述实验,论文验证了 RHDN 在高光谱图像融合任务中的有效性,并展示了其在处理复杂场景下的优越性能。

相关文章:

TNNLS 2024 | 基于残差超密集网络的高光谱图像空间光谱融合方法

A Spatio-Spectral Fusion Method for Hyperspectral Images Using Residual Hyper-Dense Network IEEE Transactions on Neural Networks and Learning Systems 2024 这篇文章的研究背景是针对高光谱图像(HS)与全色图像(PAN)的…...

深入探究 JVM 堆的垃圾回收机制(二)— 回收

GC Roots 枚举需要遍历整个应用程序的上下文,而在进行可达性分析或者垃圾回收时,如果我们还是进行全堆扫描及收集,那么会非常耗时。JVM 将堆分为新生代及老生代,它们的回收频率及算法不一样。 1 回收算法 在进行可达性分析时&am…...

【ELK】节省存储 之 压缩存储方式调整

目录 集群版本: 7.17.6 解释几个概念: 段(Segment) 合并(Merge) 索引设置: 压缩方式(index.codec): 测试设置前提条件 对比 在创建的时候指定压缩类型(index.codec) 对比 在…...

MATLAB 控制系统设计与仿真 - 26

状态空间控制系统概述 状态空间描述 现代控制理论是建立在状态空间基础上的控制系统分析和设计理论,它用状态变量来刻画系统的内部特征,用‘一节微分方程组’来描述系统的动态特性。系统的状态空间模型描述了系统输入/输出与内部状态之间的关系&#x…...

下载与快速上手 NVM:Node.js 版本管理工具

一、准备工作:卸载旧版 Node.js 重要提示:在安装 NVM 前,请先彻底删除已安装的 Node.js,避免路径冲突: 检查安装路径 bash where node常见路径: C:\Program Files\nodejs\C:\Users\用户名\AppData\Local\n…...

SQL Server Management Studio(SSMS)安装教程

目录 一、SSMS的下载 二、SSMS 的安装 三、连接服务器 四、卸载 SSMS 一、SSMS的下载 1.进入 SQL Server Management Studio 官方下载页面:SQL Server Management Studio点击进入下载页面 2.点击链接开始下载,浏览器右上角会显示下载进度;…...

运维知识:Linux下Vim编辑器使用详解

运维知识:Linux下Vim编辑器使用详解 引言 在Linux的世界里,Vim不仅仅是一个文本编辑器,更是程序员的「瑞士军刀」。从1991年Bram Moolenaar发布第一个版本至今,Vim以其高效的模态编辑、高度可定制性和跨平台兼容性,成…...

复习HCIA

一、网络基础概念 1. OSI七层模型与TCP/IP四层模型 OSI七层模型详解: 物理层(Physical Layer): 功能:传输原始比特流(0/1),定义电气、机械特性(如电压、线缆类型&#…...

在QT中进行控件提升操作

目录 一、概述 二、功能需求 三、提升操作 1)拖入标准控件 2)自定义类 3)提升控件 一、概述 QT中提供的标准控件能够满足我们大多数情况下的功能需求,但是在一些特殊应用场合,我们可能需要对控件的功能进行扩展&am…...

Linux下JDK1.8安装配置

目录 1.下载完上传到Linux系统中 2.解压JDK压缩包 3.配置JDK环境变量 4.设置环境变量生效 5.查看环境变量是否配置成功 官网下载地址:Java Downloads | Oracle 1.下载完上传到Linux系统中 2.解压JDK压缩包 tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local (解压…...

JVM 知识点梳理

JDK 、JRE、JVM JDK( Java Development Kit ) Java开发工具包 JRE 开发命令工具(运行java.exe、编译javac.exe、javaw.exe) JRE( Java Runtime Environment )Java运行环境 JVM Java核心类库(l…...

求职招聘网站源码,找工作招工系统,支持H5和各种小程序

招聘找活招工平台系统源码 招聘求职找工作软件 发布信息积分充值招聘系统,里面带纤细教程 功能介绍: 招工小程序主要针对工地招工工人找工作,工地可以发布招工信息,工人可以发布找活信息,招工信息可以置顶,置顶需要积分,积分可以通过签到、分享邀请好友、充值获取,后…...

拓展 Coco AI 功能 - 智能检索 Hexo 博客

在之前的文章中,我们成功让 Coco AI 检索 Hugo 博客,这对于博客作者来说是一大福音。然而,从 Hexo 迁移到 Hugo 的成本不容小觑,毕竟大多数开发者对 Node.js 更熟悉,而 Golang 相对陌生。那么,既然 Coco AI…...

深入解析 Java Stream API:从 List 到 Map 的优雅转换!!!

🚀 深入解析 Java Stream API:从 List 到 Map 的优雅转换 🔧 大家好!👋 今天我们来聊聊 Java 8 中一个非常常见的操作:使用 Stream API 将 List 转换为 Map。🎉 具体来说,我们将深入…...

【一起学Rust | Tauri2.0框架】基于 Rust 与 Tauri 2.0 框架实现全局状态管理

前言 在现代应用程序开发中,状态管理是构建复杂且可维护应用的关键。随着应用程序规模的增长,组件之间共享和同步状态变得越来越具有挑战性。如果处理不当,状态管理可能会导致代码混乱、难以调试,并最终影响应用程序的性能和可扩…...

金桔网桥路由版3

上一集我们讲到了二层云交换机,我把在云上搭建的桥接模式的VPN服务器称为二层云交换机。 那么现在我家到办公室的网络结构就变成这样的, 这样的好处就是我的电视盒子通过网线看电视,走的是OpenWrt路由器通过二层云交换机由办公室的OpenWrt路由…...

前沿分享|处理LLM幻觉问题-CoN|笔记链:增强检索增强语言模型的鲁棒性

检索增强语言模型(RALMs)在大型语言模型的能力方面取得了重大进步,特别是在减少事实幻觉方面,这得益于外部知识来源的利用。 然而,检索到的信息的可靠性并不总是有保证。 检索到无关数据可能导致误导性回答&#xff…...

OpenWrt开发第4篇:设置开发板的IP-基于Raspberry Pi 4B开发板

文/指尖动听知识库-谷谷 文章为付费内容,商业行为,禁止私自转载及抄袭,违者必究!!! 文章专栏:Openwrt开发-基于Raspberry Pi 4B开发板 有时候开发过程中经常会使用其他路由器,很多时候固件烧上去之后板子IP基本都是192.168.1.1,这时就需要修改板子的IP,下面介绍一下板…...

浅谈跨平台框架的演变(H5混合开发->RN->Flutter)

引言 这里分为四个阶段: 第一阶段 : 原生开发 第二阶段 : H5混合开发 第三阶段: 跨平台RN 第四阶段: 跨平台Flutter 正文 第一阶段: 原生开发 开发成本比较大 : 需要Android 和ios 开发两…...

Android数据加密方案

Android数据加密方案 前言 在移动应用开发中,数据安全是一个永恒的话题。Android应用中往往需要存储和传输敏感数据,如用户密码、支付信息、个人隐私等。本文将深入介绍Android平台上的数据加密方案,帮助开发者构建安全可靠的数据保护机制。 基础知识 1. 加密算法分类 …...

深入理解traceroute命令及其原理

traceroute 是一个网络诊断工具(Windows上叫tracert),用于显示数据包从本地主机到远程主机经过的路由(跳数)。它可以帮助您了解数据包在网络中的传输路径,以及每跳的延迟情况。这对于网络故障排除、分析网络…...

PostgreSQL_安装

目录 前置: 安装过程: 1 下载软件 2 创建安装文件夹和放置数据的文件夹 3 双击安装 4 连接服务 前置: PostgreSQL 15 windows 10 专业版 安装过程: 1 下载软件 PostgreSQL: Downloads 大小326MB 2 创建安装文件夹和放…...

leetcode684.冗余连接

依旧是并查集问题,这道题目正好给定顶点数目和边的数目相等,只要找到其中的一条边删除将图转化为树就行,而这个多余的边起始就是并查集的添加过程中二者是同一个根(两个顶点早已经联通了),这时直接返回这条…...

Python学习第二十一天

爬虫 概念 网络爬虫(Web Crawler),也称为网络蜘蛛(Web Spider),是一种自动化程序,用于从互联网上抓取数据。爬虫通过模拟浏览器行为,访问目标网站并提取所需的信息,然后…...

matlab近似计算联合密度分布

在 Matlab 中,当A和B是两个序列数据时,可以通过以下步骤来近似求出A大于B的概率分布:数据准备:确保序列A和B具有相同的长度。如果长度不同,需要进行相应的处理(例如截取或插值)。计算A大于B的逻…...

OpenCV图像处理基础2

接着上一篇OpenCV图像处理基础1继续说。 图像阈值处理 1、简单阈值处理 ret, thresholded_image = cv2.threshold(image, thresh, maxval, cv2.THRESH_BINARY)thresh 是阈值,maxval 是最大值。 2、自适应阈值处理 thresholded_image = cv2.adaptiveThreshold(image, maxv…...

Prometheus Exporter系列-Mysql_Exporter一键部署

新项目旧项目都需要给研发配置mysql监控,这里mysql监控对应aws 阿里云 腾讯云 华为云的云mysql产品或开源自建mysql。 exporter安装虽然简单,经常手动操作不免让人心烦,一键完成省去繁琐的常规操作。 配置信息对的情况下测试多次都可以正常安…...

A l密码学(Deepseek)

我:qwertyuiopasdfghjklzxcvbnm deepseek:深度思考中. Okay, lets see. The user input is "qwertyuiopasdfghjklzxcvbnm". At first glance, it looks like a jumbled sequence of letters with some spaces or maybe other characters in …...

​「Java-API帮助文档」

「Java-API帮助文档」,链接:https://pan.quark.cn/s/d7ced3b48f33 java.applet提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。java.awt包含用于创建用户界面和绘制图形图像的所有类。java.awt.color提供用于颜色空间的类。java…...

卷积神经网络 - 梯度和反向传播算法

在卷积网络中,参数为卷积核中权重以及偏置。和全连接前馈网络类似,卷积网络也可以通过误差反向传播算法来进行参数学习。本文我们从数学角度,来学习卷积神经网络梯度的推导和其反向传播算法的原理。 一、梯度:损失函数 L 关于第 …...

ripro 主题激活 问题写入授权Token失败,可能无文件写入权限

ripro 主题激活 问题 写入授权Token失败,可能无文件写入权限 找到主题下面的functions.php文件,给其他写入权限。就好了。...

MySQL 中,查看执行频次、慢查询日志、SHOW PROFILE和 EXPLAIN性能分析和优化

在 MySQL 中,查看执行频次、慢查询日志、SHOW PROFILE 和 EXPLAIN 是性能分析和优化的核心工具。以下是它们的详细用法和高级语法: 一、查看 SQL 执行频次 通过 SHOW STATUS 命令可以查看 SQL 的执行频次,帮助定位高频查询。 1. 查看全局 SQL 执行频次 SHOW GLOBAL STATU…...

Springdoc 全部注解一文解释清楚

文章目录 **1. 核心注解****Tag-Class类上** **2. 方法级别注解****Operation-方法描述****ApiResponse 和 ApiResponses-方法的返回结果** **3. 参数相关注解****Parameter-方法参数****Parameters方法参数(单个)** **4. 实体模型相关注解****Schema-描…...

1.angular介绍

初級使用视频添加链接描述 angular工具 angular.module(‘名’, [依赖模块]) 模块 angular.bind(*) : 修改this指向 angualr.copy() // a angular.copy(a, b) —a完全覆盖了b,c就是a angular.extend(a, b) a里面集成了b属性 angular.isArray angular.isDate angular.isDefin…...

StarRocks vs Doris:深度剖析与选型分析

StarRocks vs Doris:深度剖析与选型分析 在大数据技术蓬勃发展的当下,企业对于高效的数据分析工具的需求日益增长。StarRocks 和 Doris 作为两款优秀的 MPP(大规模并行处理)数据库,在数据仓库和数据分析领域备受关注。…...

Ambari、Bigtop源码编译最新支持情况汇总

以下是目前的版本情况 支持了绝大部分的组件编译及安装 版本组件名称组件版本env 版本v1.0.5Ozone1.4.11.0.5Impala4.4.11.0.5Nightingale7.7.21.0.5Categraf0.4.11.0.5VictoriaMetrics1.109.11.0.5Cloudbeaver24.3.31.0.5Celeborn0.5.31.0.5v1.0.4Doris2.1.71.0.4v1.0.3Phoen…...

【sql靶场】第23、25,25a关过滤绕过保姆级教程

目录 【sql靶场】第23、25-28关过滤绕过保姆级教程 第二十三关 第二十五关 1.爆出数据库 2.爆出表名 3.爆出字段 4.爆出账号密码 【sql靶场】第23、25,25a关过滤绕过保姆级教程 第二十三关 从本关开始又是get传参,并且还有了对某些字符或字段的过…...

coding ability 展开第五幕(二分查找算法)超详细!!!!

. . 文章目录 前言二分查找搜索插入的位置思路 x的平方根思路 山脉数组的峰顶索引思路 寻找旋转排序数组中的最小值思路 总结 前言 本专栏上篇博客已经把滑动指针收尾啦 现在还是想到核心——一段连续的区间,有时候加上哈希表用起来很爽 今天我们来学习新的算法知识…...

存算分离是否真的有必要?从架构之争到 Doris 实战解析

引言:一场关于 “存与算” 的N年辩论 在数据库与大数据领域,“存算一体” 与 “存算分离” 的架构之争从未停歇。有人质疑:“存算分离真的有必要吗?本地盘性能难道不够?” 答案并非非黑即白 —— 技术选型的关键&…...

卸载conda,poetry常用命令,vscode使用poetry虚拟环境

~/miniconda3/bin/conda init bash ~/miniconda3/bin/conda init zsh conda info 查看当前环境的配置信息 conda install package-name conda install package-nameversion 安装依赖包 conda uninstall package-nameversion 卸载依赖包 conda update package-name 更新依赖包…...

【总结】Pytest vs Behave,BDD 测试框架哪家强?

引言 在测试驱动开发(TDD)和行为驱动开发(BDD)流行的今天,Pytest和 Behave 成为了 Python 生态中最常见的自动化测试框架。那么,究竟该选择哪一个?它们各自有哪些优缺点?本篇文章将为你全面解析! 1. 什么是 Pytest&a…...

INT202 Complexity of Algroithms 算法的复杂度 Pt.2 Search Algorithm 搜索算法

文章目录 1.树的数据结构1.1 有序数据(Ordered Data)1.1.1 有序字典(Ordered Dictonary)1.1.1.1 排序表(Sorted Tables) 1.2 二分查找(Binary Search)1.2.1 二分查找的时间复杂度 1.3 二叉搜索树&#xff0…...

springmvc中使用interceptor拦截

HandlerInterceptor 是Spring MVC中用于在请求处理之前、之后以及完成之后执行逻辑的接口。它与Servlet的Filter类似,但更加灵活,因为它可以访问Spring的上下文和模型数据。HandlerInterceptor 常用于日志记录、权限验证、性能监控等场景。 ### **1. 创…...

C++编译汇编八股总结

汇编的四个阶段? 预编译(预处理): 预编译是源代码在编译之前进行的一些处理,主要包括宏定义展开、条件编译指令处理和头文件展开等。 编译: 编译器根据源代码的语法和语义规则,将源代码进行词法…...

基于ArcGIS和ETOPO-2022 DEM数据分层绘制全球海陆分布

第〇部分 前言 一幅带有地理空间参考、且包含海陆分布的DEM图像在研究区的绘制中非常常见,本文将实现以下图像的绘制 关键步骤: (1)NOAA-NCEI官方下载最新的ETOPO-2022 DEM数据 (2)在ArcGIS(…...

【LangChain入门 4 Prompts组件】提示词追加示例 FewShotPromptTemplate和示例选择器ExampleSelector

文章目录 一、提示词追加示例 FewShotPromptTemplate二、使用示例选择器 example_selector三、关键类介绍3.1 PromptTemplate3.2 FewShotPromptTemplate3.3 SemanticSimilarityExampleSelector 提示词中包含交互样本的作用是为了帮助模型更好地理解用户的意图,从而更…...

Android Compose 切换按钮深度剖析:从源码到实践(六)

Android Compose 切换按钮深度剖析:从源码到实践 一、引言 在现代 Android 应用开发中,用户交互体验至关重要。切换按钮(Toggle Button)作为一种常见的交互组件,允许用户在两种状态之间进行切换,例如开 /…...

挖矿病毒应急响应处置手册

挖矿病毒应急响应处置手册 文章目录 挖矿病毒应急响应处置手册0x00 概述0x01 了解基本情况1.1 如何发现1.1.1 异常外联1.1.2 主机异常1.2 事件的时间节点1.3 临时处置情况1.4 网络拓扑情况0x02 判断是否属于挖矿2.1 属于挖矿2.1.1 根据告警和流量信息初步判断挖矿类型2.1.2 win…...

VSCode - 查看 PDF 文件

VSCode 原生并不支持 查看 PDF 文件,需要额外安装插件。 这里我使用 vscode-pdf,效果还不错,有需要的可以搜索安装。 效果: 2025-03-18(二)...

vue3:八、登录界面实现-忘记密码

该文章实现登录界面的忘记密码功能,点击忘记密码文本,打开dialog对话框 一、页面效果 加入忘记密码,在记住密码的同一行中,实现flex-between 二、对话框实现 1、新建组件页面 2、引入dialog组件到组件页面 参考路径 Dialog 对…...