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

TGRS 2024 | 基于光谱相关的高光谱图像超分辨率融合网络

10.1109/TGRS.2024.3423422

研究背景及以往方法存在的问题

高光谱图像超分辨率(HSI-SR)旨在通过融合低空间分辨率 HSI 与高空间分辨率 MSI,提升 HSI 的空间分辨率。现有方法在模态差异处理、波段相关性利用、细节保留等方面存在不足,具体问题如下:

1. 模态差异导致特征丢失

HSI 与 MSI 的本质差异:HSI 具有高光谱分辨率但空间分辨率低,MSI 则相反,两者在空间分辨率(如 20m vs. 4m)和光谱波段数(如 200+ vs. 3-10)上存在显著差异(图 1 (a))。

跨模态融合挑战:传统方法(如贝叶斯模型、矩阵分解)难以有效建模 HSI 与 MSI 的模态差异,尤其在跨传感器场景下(如不同卫星数据源),模态差异加剧,导致空间细节或光谱信息丢失。例如,基于矩阵分解的方法将 3D 数据展开为 2D,破坏数据结构,无法保留光谱 - 空间耦合特征。

2. 波段相关性利用不足导致光谱失真

HSI 波段的内在关联:HSI 相邻波段(如 450nm 与 460nm)的光谱反射率具有强相似性(图 1 (b)),但传统卷积操作(如 2D 卷积)独立处理每个波段,忽略波段间的依赖关系。

光谱特征混淆:普通卷积未捕捉波段间的连续性和规律性,导致重建图像的光谱曲线失真。例如,植被的 “红边” 特征(红光与近红外波段的反射率差异)可能被破坏,影响地物分类精度(表 I 中传统方法 SAM 值较高)。

3. 全局与局部信息整合不足导致细节丢失

空间细节保留缺陷:现有方法要么聚焦全局空间关系(如低秩模型),要么仅关注局部高频信息(如浅层卷积),难以同时保留复杂边界和纹理细节(图 1 (c))。

边缘与纹理模糊:例如,SFIM、GSA 等方法在融合结果中出现块状效应或边缘模糊,而深度学习方法(如 uSDN)虽提升空间分辨率,但因缺乏局部细节感知,导致建筑物边缘、植被纹理等细节丢失(实验部分误差图对比)。

4. 深度学习方法的局限性

复杂网络与跨模态挑战:现有深度学习方法(如 3D CNN、自编码器)依赖复杂架构,且未显式建模 HSI 的光谱相关性和 MSI 的空间细节,导致跨模态融合时特征失衡。

无监督学习的不足:无监督方法(如 DIP 变体)虽无需训练数据,但缺乏对物理模型(如光谱混合模型)的约束,生成的丰度矩阵和光谱矩阵物理意义不明确,光谱失真问题仍显著(如 MIAE 方法的 SAM 值较高)。

5. 传统模型依赖手工先验,泛化性差

手工先验的局限性:基于贝叶斯、张量分解的方法依赖稀疏性、低秩等手工设计的先验,难以适应复杂场景(如城市高异质性区域),且计算成本高(如 CSTF、GLPHS 方法在真实数据中表现不佳)。

  1. 显著的模态差异导致特征丢失(图 1 (a)):

高光谱图像(HSI)与多光谱图像(MSI)在空间和光谱分辨率上存在巨大差异(如图中 OHS - 1 和 GF - 2 传感器获取的图像所示)。这种模态差异使得特征在融合过程中易丢失。尽管有研究提出跨尺度非局部注意力模块尝试解决模态差异,但建模不充分限制了方法对复杂模态变化的适应能力,尤其在跨传感器场景中,模态差异被放大,融合问题的复杂性更为突出。

  1. 波段相关性利用不足导致光谱失真(图 1 (b)):

图 1 (b) 展示了高光谱图像中相邻波段具有高度相似的依赖关系,但常规卷积操作往往忽略这种光谱相关性,进而加剧光谱特征的混淆。虽然有研究构建了光谱退化引导的分组卷积,但该方法在波段组内独立工作,未能充分考虑网络组件间的整体一致性,导致光谱失真问题仍存在。

  1. 全局与局部信息整合不足导致细节遗漏(图 1 (c)):

仅专注于全局空间关系或局部高频信息会严重影响融合结果的质量。如图 1 (c) 所示,HSI 与 MSI 在特征细节上的差异,使得融合图像中某些区域的边缘出现模糊,这正是全局和局部信息未充分整合导致精细细节遗漏的体现。

 

所提出的融合框架SCFN如图2所示,它由两个具有编码器-解码器结构的图像重建网络组成。HSI重建网络的解码器权重富含与MSI重建网络共享的光谱特征。MSI重建网络的编码部分能够提取丰富的纹理结构和精细细节特征,将这些特征与解码器共享的光谱信息相结合。这种权重共享机制允许将HSI重建网络中提取的丰富光谱特征的知识转移到MSI重建网络。该网络能够更好地综合光谱和空间信息,从而得到更准确和详细的重建结果。所提出的DSCM提高了带间相关性的利用率,特别是旨在减轻频谱失真。设计的GAB可以强调边缘细节的清晰度,同时保持整体一致性和上下文信息。

 

A. Band correlation capture guided by DSCM

LR HSI重建网络的编码器由两个1×1卷积层和提出的DSCM组成。由于大量HSI频带中包含复杂和冗余的信息,以及相邻频带之间的频谱依赖性。所提出的DSCM结合了光谱带之间的内在相关性,以提取光谱域特征并减轻光谱失真。编码器提取的特征用于通过解码器重建频谱信息,解码器由五个1´1卷积层组成。所提出的DSCM由群卷积组成,并采用密集连接沿信道维度连接所获得的特征图。使用群卷积不仅可以减少网络的参数量,还可以防止过拟合并实现类似的正则化效果[65]。此外,它可以利用HSI相邻光谱带之间的相关性来避免正常卷积引起的光谱混淆[66]。这种相关性充分利用了每组中相似频带之间的互补关系和共享特征。这些频带之间的光谱互补性使得相邻频带中的信息能够相互补充,从而保持了整体光谱特征的完整性。结合密集连接,每层生成的特征图可以连接起来重用。设计的DSCM通过带内相关性显著有助于捕获LR HSI的空间光谱特征,并有效地减轻光谱失真。

组卷积形式的特征提取不仅减少了参数量,而且充分利用了相邻谱带之间的相关性来减轻谱失真。在本文中,'g'的值设置为4,如图3所示。

B. GAB for Fine Detail Preservation

MSI重建网络的架构由编码器、解码器和下采样结构组成。编码器用于重建空间特征,解码器权重从HSI分支共享中导出,以学习频谱信息。通过方程(3)中的退化函数SRF对目标图像的光谱域进行降采样,以获得重建的HR MSI。设计的GAB构成MSI重建网络的编码器,用于提取图像的全局上下文信息和边缘细节。GAB首先由4个具有跳跃连接的全连接层组成,以在捕获全局结构的同时降低输入图像的维度。为了生成纹理细节清晰、视觉愉悦的图像,该模块引入了空间注意力机制。边缘细节作为图像中重要的结构特征起着至关重要的作用,对物体识别和理解至关重要。基于全连接层获得的全局上下文结构特征,进行最大池化和平均池化,以生成捕获不同信息的特征图。然后,通过与更大的感受野卷积进行特征融合。最后,通过将sigmoid操作生成的权重叠加回输入特征图中,增强了精细的局部细节。空间注意力的计算公式为:Ms(I)=s(Conv([AvgPool(I);MaxPool(I)])(5),s表示sigmoid函数,Conv()表示7´7卷积运算,[AvgPool(I);MaxPool(I)]是通过池化生成的特征图。MSI解码器还由五个1´1卷积组成,因为MSI解码器的权重来自共享的HSI分支网络。此外,解码器旨在恢复频谱域中的特征,这两个网络的中间特征表示需要有一些相似性。具体表现为Ah和Am在光谱维度上是一致的。C.损失函数和训练策略

C.损失函数和训练策略

为了在跨传感器场景中获得更令人满意的融合结果,并采用无监督训练策略,我们分别为两个不同的图像重建网络设计了损失函数。许多先前的SR重建任务使用L2损失作为损失函数,但它对微小差异不够敏感[33]。L1损失是图像重建网络的更好选择[68]。通过计算输入图像LR HSI H、HR MSI M和重建网络生成的两幅图像的损失来最小化损失,从而学习和训练网络。LR HSI重建网络的损失包括L1损失和光谱角映射器(SAM)损失。L1损失在指导图像重建中起着重要作用。它引导模型减少重建图像和真实图像之间的绝对差异,从而有助于生成高质量的结果。

SAM损失进一步加强了对光谱维度的约束,确保重建图像在光谱特征方面与真实数据更加一致和准确。HR MSI重建网络主要用于提取空间维度上的丰富特征信息,并在网络中输出目标图像X。因此,网络的重建损失主要包括L1损失、SAM损失和多尺度结构相似性(MS-SSIM)损失。尽管会出现亮度变化和颜色偏差,但MS-SSIM损失对高频信息(如图像边缘和细节)很敏感。L1损失函数在保持亮度和颜色不变以弥补缺点方面做得更好。SAM损失可以使重建的图像具有较小的光谱失真。

实验验证

在 Indian Pines、Salinas、Pavia University 等数据集上,SCFN 的 PSNR、SSIM、SAM 等指标均优于现有方法(如 SFIM、CNMF、uSDN),尤其在光谱保真度(SAM 值降低 30%-50%)和空间细节(SSIM 接近 0.99)上表现突出,证明了 DSCM 和 GAB 模块的有效性(见表 I-III 及 ablation 实验)。真实数据实验(OHS 与 GF-2 卫星数据)进一步验证了方法的实用性,重建图像边缘更锐利,植被、建筑物等地物细节更清晰(图 12)。

消融实验

进行消融实验以验证所提出框架中每个组件的功效,包括DSCM、GAB和关节损失函数。帕维亚大学被选中进行消融实验,因为它有更复杂的场景和边界细节。表四显示了消融实验的详细结果。在消融实验中,我们逐一替换了所提出框架的组件。表IV(a)显示了用四个卷积层替换DSCM后的结果,表IV(b)表明GAB被四个完全连接的层替换,表四(c)使用L1损耗替换联合损耗函数。所提出的DSCM对于捕获光谱带之间的相关性、有效提取光谱域特征和减轻光谱失真非常重要。设计的GAB擅长保留图像的全局上下文信息,并强调感知边缘细节的能力。联合损失不仅为无监督学习提供了一种有效的训练策略,而且被证明有利于解决跨传感器图像融合问题。当这些组件耦合在一起时,融合超分辨率重建的性能显著提高。

 

相关文章:

TGRS 2024 | 基于光谱相关的高光谱图像超分辨率融合网络

10.1109/TGRS.2024.3423422 研究背景及以往方法存在的问题 高光谱图像超分辨率(HSI-SR)旨在通过融合低空间分辨率 HSI 与高空间分辨率 MSI,提升 HSI 的空间分辨率。现有方法在模态差异处理、波段相关性利用、细节保留等方面存在不足&#x…...

小张的工厂进化史——工厂模式

小张的工厂进化史——工厂模式 一、简单工厂模式:全能生产线二、工厂方法模式:分品牌代工三、抽象工厂模式:生态产品族四、三种模式核心对比表五、结合Spring实现简单工厂(实践) 小张从华强北起家,最初只有…...

jupyter notebook 无法启动- markupsafe导致

一、运行jupyter notebook和Spyder报错:(已安装了Anaconda,以前可打开) 1.背景:为了部署机器学习模型,按教程直接安装了flask 和markupsafe,导致jupyter notebook,Spyder 打不开。 pip install flas…...

GPT - GPT(Generative Pre-trained Transformer)模型框架

本节代码主要为实现了一个简化版的 GPT(Generative Pre-trained Transformer)模型。GPT 是一种基于 Transformer 架构的语言生成模型,主要用于生成自然语言文本。 1. 模型结构 初始化部分 class GPT(nn.Module):def __init__(self, vocab…...

数据中台、BI业务访谈(三):如何选择合适的访谈对象

大家在日常中有没有遇到这种情况,感觉所有的事情都准备的很充分了,反复的演练,结果一上去就发现事情完全没有按照自己预想的来。智者千虑,必有一失。满满自信的去,结果是铩羽归来。 这种情况很正常,就跟打…...

计算机网络-TCP可靠传输机制

计算机网络-TCP可靠传输机制 3. TCP可靠传输机制3.1 序列号与确认号机制3.1.1 序列号与确认号的基本概念3.1.2 序列号与确认号的工作原理3.1.3 序列号与确认号在Linux内核中的实现TCP控制块中的序列号和确认号字段序列号的初始化发送数据时的序列号处理接收数据时的确认号处理 …...

计算机网络- 传输层安全性

传输层安全性 7. 传输层安全性7.1 传输层安全基础7.1.1 安全需求机密性(Confidentiality)完整性(Integrity)真实性(Authenticity)不可否认性(Non-repudiation) 7.1.2 常见安全威胁窃…...

【C++取经之路】lambda和bind

目录 引言 lambda语法 lambda捕获列表解析 1)值捕获 2)引用捕获 3)隐式捕获 lambda的工作原理 lambda进阶用法 泛型lambda 立即调用 lambda 与 function bind语法 bind的调用逻辑 bind核心用途 绑定参数 调整参数顺序 bind的…...

AF3 ProteinDataset类的初始化方法解读

AlphaFold3 protein_dataset模块 ProteinDataset 类主要负责从结构化的蛋白质数据中构建一个可供模型训练/推理使用的数据集,ProteinDataset 类的 __init__ 方法用于初始化一个蛋白质数据集对象。 源代码: def __init__(self,dataset_folder,features_folder="./data/t…...

博客园账户注册全流程指南(附常见问题)

博客园账户注册全流程指南(附常见问题) 引言 博客园作为国内老牌技术社区,是程序员们分享知识、交流技术的圣地。本文将手把手教你完成从注册到开通博客的全流程,附常见问题解答,助你轻松开启技术博客之旅。 一、注…...

算法复习笔记

算法复习 最大公约数枚举abc反序数 模拟xxx定律打印数字菱形今年的第几天?vector完数VS盈数剩下的树 排序和查找顺序查找二分查找找位置 字符串统计单词浮点数加法 线性数据结构队列约瑟夫问题(队列)计算表达式(栈) 递…...

spring boot 引入fastjson,com.alibaba.fastjson不存在(Springboot-测试项目)

spring boot 引入fastjson&#xff0c;com.alibaba.fastjson不存在&#xff08;Springboot-测试项目&#xff09; 先解决最初的的包不找到问题&#xff0c;适用所有包找不到跟进。 <mirrors><!-- mirror| Specifies a repository mirror site to use instead of a g…...

新闻推荐系统(springboot+vue+mysql)含万字文档+运行说明文档

新闻推荐系统(springbootvuemysql)含万字文档运行说明文档 该系统是一个新闻推荐系统&#xff0c;分为管理员和用户两个角色。管理员模块包括个人中心、用户管理、排行榜管理、新闻管理、我的收藏管理和系统管理等功能。管理员可以通过这些功能进行用户信息管理、查看和编辑用…...

UE4 踩坑记录

1、Using git status to determine working set for adaptive non-unity build 我删除了一个没用的资源&#xff0c;结果就报这个错&#xff0c;原因就是这条命令导致的&#xff0c; 如果这个项目是git项目&#xff0c; ue编译时会优先通过 git status检查哪些文件被修改&#…...

【解决方案】vscode 不小心打开了列选择模式,选择时只能选中同一列的数据。

vscode 不小心打开了列选择模式&#xff0c;选择时只能选中同一列的数据。 解决方案&#xff1a; 1.通过命令面板关闭&#xff1a; 按下 Ctrl Shift P&#xff08;Windows/Linux&#xff09;或 Cmd Shift P&#xff08;macOS&#xff09;&#xff0c;输入 切换列选择模式…...

国标GB28181视频平台EasyCVR如何搭建汽车修理厂远程视频网络监控方案

一、背景分析 近年我国汽车保有量持续攀升&#xff0c;与之相伴的汽车保养维修需求也逐渐提高。随着社会经济的发展&#xff0c;消费者对汽车维修服务质量的要求越来越高&#xff0c;这使得汽车维修店的安全防范与人员管理问题面临着巨大挑战。 多数汽车维修店分布分散&#…...

【Go】windows下的Go安装与配置,并运行第一个Go程序

【Go】windows下的Go安装与配置&#xff0c;并运行第一个Go程序 安装环境&#xff1a;windows10 64位 安装版本&#xff1a;go1.16 windows/amd64 一、安装配置步骤 1.到官方网址下载安装包 https://golang.google.cn/dl/ 默认情况下 .msi 文件会安装在 c:\Go 目录下。可自行配…...

Linux 线程:从零构建多线程应用:系统化解析线程API与底层设计逻辑

线程 线程的概述 在之前&#xff0c;我们常把进程定义为 程序执行的实例&#xff0c;实际不然&#xff0c;进程实际上只是维护应用程序的各种资源&#xff0c;并不执行什么。真正执行具体任务的是线程。 那为什么之前直接执行a.out的时候&#xff0c;没有这种感受呢&#xf…...

榕壹云无人共享系统:基于SpringBoot+MySQL+UniApp的物联网共享解决方案

无人共享经济下的技术革新 随着无人值守经济模式的快速发展,传统共享设备面临管理成本高、效率低下等问题。榕壹云无人共享系统依托SpringBoot+MySQL+UniApp技术栈,结合物联网与移动互联网技术,为商家提供低成本、高可用的无人化运营解决方案。本文将详细解析该系统的技术架…...

技术书籍推荐(002):电子书免费下载

20. 利用Python进行数据分析 免费 电子书 PDF 下载 书籍简介&#xff1a; 本书聚焦于使用Python进行数据处理和分析。详细介绍了Python中用于数据分析的重要库&#xff0c;如NumPy&#xff08;提供高效的数值计算功能&#xff0c;包括数组操作、数学函数等&#xff09;、panda…...

安全序列(DP)

#include <bits/stdc.h> using namespace std; const int MOD1e97; const int N1e65; int f[N]; int main() {int n,k;cin>>n>>k;f[0]1;for(int i1;i<n;i){f[i]f[i-1]; // 不放桶&#xff1a;延续前一位的所有方案if(i-k-1>0){f[i](f[i]f[i-k…...

数据可视化 —— 堆形图应用(大全)

一、案例一&#xff1a;温度堆积图 # 导入 matplotlib 库中的 pyplot 模块&#xff0c;这个模块提供了类似于 MATLAB 的绘图接口&#xff0c; # 方便我们创建各种类型的可视化图表&#xff0c;比如折线图、柱状图、散点图等 import matplotlib.pyplot as plt # 导入 numpy 库&…...

利用 pyecharts 实现地图的数据可视化——第七次人口普查数据的2d、3d展示(关键词:2d 、3d 、map、 geo、涟漪点)

参考文档&#xff1a;链接: link_pyecharts 官方文档 1、map() 传入省份全称&#xff0c;date_pair 是列表套列表 [ [ ],[ ] … ] 2、geo() 传入省份简称&#xff0c;date_pair 是列表套元组 [ ( ),( ) … ] 1、准备数据 population_data&#xff1a;简称经纬度 population_da…...

字节跳动开源 LangManus:不止是 Manus 平替,更是下一代 AI 自动化引擎

当 “AI 自动化” 成为科技领域最炙手可热的关键词&#xff0c;我们仿佛置身于一场激动人心的变革前夜。各行各业都在翘首以盼&#xff0c;期待 AI 技术能够真正解放生产力&#xff0c;将人类从繁琐重复的工作中解脱出来。在这个充满无限可能的时代&#xff0c;字节跳动悄然发布…...

第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 A 组真题

文章目录 1 幸运数题目描述&#xff1a;答案&#xff1a;4430091 代码&#xff1a; 2 有奖问答题目描述&#xff1a;重点&#xff1a;答案&#xff1a;8335366 代码&#xff1a; 3 平方差题目描述&#xff1a;思路&#xff1a;数学找规律代码&#xff1a; 4 更小的数题目描述&a…...

springboot+tabula解析pdf中的表格数据

场景 在日常业务需求中&#xff0c;往往会遇到解析pdf数据获取文本的需求&#xff0c;常见的做法是使用 pdfbox 来做&#xff0c;但是它只适合做一些简单的段落文本解析&#xff0c;无法处理表格这种复杂类型&#xff0c;因为单元格中的文本有换行的情况&#xff0c;无法对应到…...

静态链接part1

比较多这一部分&#xff0c;包含了编译和链接&#xff0c;书还没看完就先记录一下其中编译的一部分 编译 gcc编译分为预处理、编译、汇编、链接四个步骤 预处理 也称预编译&#xff0c;主要处理的是源代码文件中以“#”开始的预编译指令&#xff0c;这里简单讲一下规则&…...

golang通过STMP协议发送邮件功能详细操作

一.简介 在 Go 语言中接入 IMAP 和 SMTP 服务来进行邮件的发送和接收操作,可以通过使用一些现有的第三方库来简化操作,常见的库有 go-imap 和 gomail&#xff0c;它们可以帮助我们连接和操作 IMAP 邮箱&#xff08;读取邮件&#xff09;以及通过 SMTP 发送邮件 二.实现 1. IMA…...

分布式锁在秒杀场景中的Python实现与CAP权衡

目录 一、分布式锁的前世今生 二、秒杀系统的 “硬核” 挑战 三、Python 实现分布式锁的 “实战演练” Redis 实现:快准狠 ZooKeeper 实现:稳如老狗 数据库实现:老实本分 四、CAP 理论的 “三角恋” 五、性能优化的 “锦囊妙计” 锁粒度控制:粗细有道 超时机制:别…...

数据驱动的温暖守护:智慧康养平台如何实现 “千人千面” 的精准照护?

在当今数字化时代&#xff0c;七彩喜智慧康养平台借助数据的力量&#xff0c;正逐步打破传统养老服务模式的局限&#xff0c;实现 “千人千面” 的精准照护。 通过收集、分析和利用大量与老年人相关的数据&#xff0c;这些平台能够深入了解每位老人的独特需求&#xff0c;并据…...

基于SSM的校园美食交流系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…...

多线程进阶

进阶的内容&#xff0c;就关于线程的面试题为主了&#xff0c;涉及到的内容在工作中使用较少&#xff0c;但面试会考&#xff01;&#xff01;&#xff01; 锁的策略 加锁的过程中&#xff0c;在处理冲突的过程中&#xff0c;涉及到的一些不同的处理方法&#xff0c;此处的锁…...

聊一聊接口测试时遇到第三方服务时怎么办

目录 一、使用 Mock 或 Stub 模拟第三方服务 二、利用第三方服务的沙箱&#xff08;Sandbox&#xff09;环境 三、测试隔离与数据清理 四、处理异步回调 五、容错与异常测试 六、契约测试 在我们进行接口测试时&#xff0c;有的时候会遇到要调用第三方服务即外部的API&am…...

《Python星球日记》第22天:NumPy 基础

名人说&#xff1a;路漫漫其修远兮&#xff0c;吾将上下而求索。—— 屈原《离骚》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、NumPy 简介1. 什么是 NumPy&#xff1f;为什么使用 NumPy&#xff1f;2. 安…...

Spring Boot 中 Bean 的生命周期详解

Spring Boot 中 Bean 的生命周期详解 一、引言 在 Spring Boot 应用中&#xff0c;Bean 是构成应用程序的基础组件。理解 Bean 的生命周期对于开发高效、稳定的 Spring Boot 应用至关重要。本文将深入探讨 Spring Boot 中 Bean 的完整生命周期过程。 二、Bean 生命周期的基本…...

结构化需求分析:功能、数据与行为的全景建模

目录 前言1 功能模型&#xff1a;数据流图&#xff08;DFD&#xff09;的结构与应用1.1 数据流图的基本构成要素1.2 数据流图的层次化设计1.3 数据流图的建模价值 2 数据模型&#xff1a;ER图揭示数据结构与关系2.1 ER图的基本组成2.2 建模过程与注意事项2.3 数据模型的价值体现…...

OpenCompass模型评估

OpenCompass面向大模型的开源方和使用者&#xff0c; 提供开源、高效、全面的大模型评测开放平台。 一、OpenCompass文档 1.基础安装 使用Conda准备 OpenCompass 运行环境&#xff1a; conda create --name opencompass python3.10 -y conda activate opencompass2. 安装 Op…...

基于51单片机语音实时采集系统

基于51单片机语音实时采集 &#xff08;程序&#xff0b;原理图&#xff0b;PCB&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 系统由STC89C52单片机ISD4004录音芯片LM386功放模块小喇叭LCD1602按键指示灯电源构成 1.可通过按键随时选择相应的录音进行播…...

NeuroImage:膝关节炎如何影响大脑?静态与动态功能网络变化全解析

膝骨关节炎&#xff08;KOA&#xff09;是导致老年人活动受限和残疾的主要原因之一。这种疾病不仅引起关节疼痛&#xff0c;还会显著影响患者的生活质量。然而&#xff0c;目前对于KOA患者大脑功能网络的异常变化及其与临床症状之间的关系尚不清楚。 2024年4月10日&#xff0c;…...

高级java每日一道面试题-2025年4月01日-微服务篇[Nacos篇]-Nacos集群的数据一致性是如何保证的?

如果有遗漏,评论区告诉我进行补充 面试官: Nacos集群的数据一致性是如何保证的&#xff1f; 我回答: Nacos 集群数据一致性保障机制详解 在 Java 高级面试中&#xff0c;Nacos 集群的数据一致性保障是考察分布式系统核心能力的关键点。以下是 Nacos 通过多种机制和技术确保…...

阿里云 OSS 在 ZKmall开源商城的应用实践

ZKmall开源商城通过深度整合阿里云OSS&#xff08;对象存储服务&#xff09;&#xff0c;构建了高效、安全的文件存储与管理体系&#xff0c;支撑商品图片、用户上传内容等非结构化数据的存储与分发。结合阿里云OSS的技术特性与ZKmall的微服务架构&#xff0c;其实践方案可总结…...

【Linux】线程池与封装线程

目录 一、线程池&#xff1a; 1、池化技术&#xff1a; 2、线程池优点&#xff1a; 3、线程池应用场景&#xff1a; 4、线程池实现&#xff1a; 二、封装线程&#xff1a; 三、单例模式&#xff1a; 四、其他锁&#xff1a; 五、读者写者问题 一、线程池&#xff1a; …...

protobuf的应用

1.版本和引用 syntax "proto3"; // proto2 package tutorial; // package类似C命名空间 // 可以引用本地的&#xff0c;也可以引用include里面的 import "google/protobuf/timestamp.proto"; // 已经写好的proto文件是可以引用 我们版本选择pr…...

linux shell编程之条件语句(二)

目录 一. 条件测试操作 1. 文件测试 2. 整数值比较 3. 字符串比较 4. 逻辑测试 二. if 条件语句 1. if 语句的结构 (1) 单分支 if 语句 (2) 双分支 if 语句 (3) 多分支 if 语句 2. if 语句应用示例 (1) 单分支 if 语句应用 (2) 双分支 if 语句应用 (3) 多分支 …...

图论整理复习

回溯&#xff1a; 模板&#xff1a; void backtracking(参数) {if (终止条件) {存放结果;return;}for (选择&#xff1a;本层集合中元素&#xff08;树中节点孩子的数量就是集合的大小&#xff09;) {处理节点;backtracking(路径&#xff0c;选择列表); // 递归回溯&#xff…...

企业指标设计方法指南

该文档聚焦企业指标设计方法,适用于企业中负责战略规划、业务运营、数据分析、指标管理等相关工作的人员,如企业高管、部门经理、数据分析师等。 主要内容围绕指标设计展开:首先指出指标设计面临的困境,包括权责不清、口径不统一、缺乏标准规范、报表体系混乱、指标…...

AIP-217 不可达资源

编号217原文链接AIP-217: Unreachable resources状态批准创建日期2019-08-26更新日期2019-08-26 有时&#xff0c;用户可能会请求一系列资源&#xff0c;而其中某些资源暂时不可用。最典型的场景是跨集合读。例如用户可能请求返回多个上级位置的资源&#xff0c;但其中某个位置…...

SAP系统控制检验批

问题&#xff1a;同一批物料多检验批问题 现象&#xff1a;同一物料多采购订单同一天到货时&#xff0c;对其采购订单分别收货&#xff0c;导致系统产生多个检验批&#xff0c;需分别请检单、检验报告等&#xff0c;使质量部工作复杂化。 原因&#xff1a;物料主数据质量试图设…...

JavaScript 代码混淆与反混淆技术详解

一、代码混淆&#xff1a;让别人看不懂你的代码 混淆技术就是一种“代码伪装术”&#xff0c;目的是让别人很难看懂你的代码逻辑&#xff0c;从而保护你的核心算法或敏感信息。 1. 变量名压缩 原理&#xff1a;把变量名改成乱码&#xff0c;比如把calculatePrice改成a&#…...

Android studio | From Zero To One ——手机弹幕

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 滚动显示 代码activity_main.xmlactivity_fullscreen.xmlAndroidManife…...