【超分:光谱响应函数】
Spectral Response Function-Guided Deep Optimization-Driven Network for Spectral Super-Resolution
(光谱响应函数引导的深度优化驱动网络光谱超分辨)
高光谱图像(HSI)是许多研究工作的关键。光谱超分辨率(SSR)是一种用于从HR多光谱图像获得高空间分辨率(HR)HSI的方法。传统的SSR方法包括模型驱动算法和深度学习。通过展开变分方法,本文提出了一种具有深度空间谱先验的优化驱动卷积神经网络(CNN),从而产生物理上可解释的网络。与完全数据驱动的CNN不同,辅助光谱响应函数(SRF)用于引导CNN对具有光谱相关性的频带进行分组。此外,信道注意模块(CAM)和重新制定的频谱角映射损失函数,以实现一个有效的重建模型。最后,通过对自然图像和遥感图像两类数据集的实验,验证了该方法的光谱增强效果,并对遥感数据集的分类结果验证了该方法增强信息的有效性。
INTRODUCTION
高分辨光谱成像技术是一种利用高分辨率的场景辐射来全面探索物体光谱特性的技术。高光谱图像(HSI)的处理,如分割、分类、检测和跟踪,由于其丰富的光谱信息而得到越来越多的关注。HS成像也被开发用于从遥感到医学成像的众多应用。
HS传感器获取具有精细波长范围中的多个光谱带的场景辐射。然而,当光谱分辨率高时,每个检测器元件感测到较少的能量辐射。传感器需要长的曝光时间来获得每个频带的可接受的信噪比。与红绿蓝(RGB)和多光谱图像(MSI)相比,HSI通常缺乏良好的空间分辨率。这种限制影响了用于需要高空间分辨率(HR)的应用的HSI的可用性。许多研究者提出了通过低空间分辨率(LR)HSI的图像超分辨率(SR)来直接重建HR HSI,以增强HSI的空间细节。Akgun等人提出了一种模型,可以将HS观测值表示为加权线性组合,并使用集合论方法作为解决方案。Gu等人提出了一种SR算法,该算法使用基于光谱分解的间接方法,并设计了基于学习的SR映射作为反向传播神经网络。上述方法仅利用LR HSI来重建HR HSI。然而,当LR和HR之间的比率大时,观察到差的空间增强。
随着探测器元件的发展,目前设计了大量的传感器来实现空间细节和时间变化的良好表示。然而,这些传感器对于非常高的HR(≤10 m)仅捕获三个或四个光谱带,特别是对于遥感卫星,例如Sentinel-2,GaoFen-2,QuickBird和WorldView。虽然MSI通常具有HR,但是它们不能通过仅使用几个光谱通道来完全表示对象的光谱特性。
结合HSI和MSI各自的优势,一些研究者使用HR MSI作为辅助数据来提高HSI的空间分辨率。Hardie等人提出了一种新的最大后验(MAP)估计器,用于提高空间分辨率。MAP估计器使用基于矢量量化的空间变化统计模型来利用局部相关性。Kawakami等人通过最初将解混算法应用于HS输入,然后将解混问题视为对输入因式分解的搜索,将HSI与来自RGB相机的图像融合。Akhtar等人提出了使用非参数贝叶斯稀疏表示的MSI和HSI的融合算法。Meng等人提出了一种基于MAP框架的与HSI和多源HR观测相关的综合关系模型。Palsson等人提出了一种在低维PC子空间中进行MSI和HSI融合的新方法;因此,仅必须估计前几个PC,而不是所有谱带。基于融合的方法可以通过HR空间细节注入实质上提高图像的空间分辨率。然而,在许多情况下,与覆盖相同区域并且在类似时间采集的LR HSI相对应的HR MSI并不总是容易获得的。虽然HR MSI数据是可用的,多传感器数据的注册和预处理是困难的。此外,这种困难影响算法的准确性和性能。
光谱超分辨率(SSR)方法是在没有辅助HS图像的情况下,通过提高MS图像的光谱分辨率来克服HRHS图像的不可用性,其重点是光谱变换而不是空间分辨率增强。2008年,Parmar等人首先通过稀疏恢复从RGB图像重建HS图像。受此研究的启发,Arad和Ben-Shahar提出了通过使用正交匹配追踪算法来计算每个RGB像素的字典表示。Wu等人通过预先训练过完备字典作为锚点来执行基于Timofte等人提出的A+算法的最近邻搜索,从空间SR大大改进了Arad的方法。2018年,Akhtar和Mian在高斯过程下对自然光谱进行建模,并将其与RGB图像相结合以恢复HS图像。没有字典学习,Nguyen等人探索了一种训练径向基函数网络的策略,该网络呈现光谱变换以使用训练图像恢复场景反射率。深度学习,特别是卷积神经网络(CNN),最近引起了越来越多的关注,并已被证明在分割,分类,去噪和空间SR等领域优于大多数传统方法。受语义分割架构Tiramisu的启发,Galliani等人提出了具有56个卷积层的DenseUnet,以显示良好的性能。为了证明可以通过浅层学习实现可比的性能,Can等人提出了一种中等深度的残差CNN来恢复RGB图像的光谱信息。Shi等人设计了一种具有密集块的深度CNN和一种新的融合方案,以处理光谱响应函数(SRF)未知的情况。逐像素优化波段,Gewali等人提出了一种深度残差CNN来学习优化的MS频带和从MS信号重建HS光谱的变换。Arun等人探索了一种基于CNN的编码-解码架构,以在改进恢复之前对空间-频谱进行建模。然而,基于深度学习的模型类似于数据驱动的黑盒子,具有理想的特征学习和非线性映射能力。最近,特定于问题的可解释性已被确定为CNN发展的重要组成部分。一些研究工作试图实现这一目的。他们中的大多数都试图将深度学习与物理模型驱动的方法结合起来。通过学习变分模型或MAP框架的正则化项,CNN被用来实现一些物理映射,作为许多图像处理任务中的近似算子和去噪器,例如去噪,压缩感知,数据融合和去模糊。然而,这些方法只是利用了预训练的CNN先验,而没有在模型驱动的优化中更新它。此外,这些算法的训练分为两个阶段:学习优化和变分优化,难以继承深度学习的数据驱动优势。
在这篇文章中,构建了一个端到端优化驱动的CNN与频谱退化模型,并根据SRF对不同的频谱范围进行分组以进行重建。SRF用于引导频谱相似频带中的CNN组以进一步增强频谱信息。不是交替运行变分模型和CNN,而是提出了一种具有深度空间谱先验和参数自学习的优化驱动CNN。所提出的CNN以端到端的方式重复更新中间HS图像。
贡献如下:
1)将数据驱动方法与优化算法相结合,提出了一种端到端优化驱动的CNN,以提高模型的可解释性。在该模型中引入通道注意模块(CAM),将考虑波段谱差异的参数自学习嵌入到CNN中。
2)SRF被用作指导,以帮助CNN对合适的频谱带进行分组,以重建HS信息并从所提出的CNN中的真实频谱通道范围学习良好的频谱细节。
3)空间-频谱卷积层用于对深度空间-频谱先验进行建模。此外,所提出的网络采用了一个快速的空间-光谱损失函数重新制定从L1和光谱角映射器(SAM)的损失,以达到快速收敛和良好的空间-光谱约束。
PROPOSED METHOD
首先,在本节中对MS和HS成像之间的光谱退化进行建模。在此模型的基础上,制定SSR问题,并分为两个子问题。最后,通过使用CNN学习物理映射,全面展示了所提出的具有联合空间-光谱HSI先验(HSRnet)的SSR网络。所提出的方法的框架如图1所示。所提出的框架可以分为两个部分,包括初始恢复网络和优化阶段与基于注意力的参数自学习和空间光谱网络(SSNs),这遵循基于模型的方法中的数据流。
Model Formulation
令X ∈ R W × H × C R^{W×H×C} RW×H×C表示观察到的HSI,其中C是光谱通道的数量,W和H分别是宽度和高度,并且Y∈ R W × H × c R^{W×H×c} RW×H×c表示观察到的MSI,其中c < C是多光谱带的数量,特别是对于RGB图像,其中c = 3。在SRF中变化,传感器获得具有不同频带的不同MS或HS数据。变换矩阵Φ∈ R C × c R^{C×c} RC×c可以用于如下描述MS和HS成像之间的光谱退化:
谱变换矩阵与SRF密切相关,可以通过一些方法近似估计,例如Hysure 和RWL 1-SF 。根据(1),阐明了MSIs和HSIs之间的关系。然而,在SSR中,从低维数据获得高维立方体是一个欠定问题。可以通过采用最小化问题的一些先验来近似地预测高维HSI,以如下约束解空间:

其中γ是折衷参数,并且R(·)是正则化函数。如在(2)中,最小化问题由两部分约束。第一项是根据退化模型限制解的数据保真度项,并且第二正则化项用HSI先验约束预测的X^。
变量分裂技术可用于进一步解决该最小化问题并分离(2)中的两项。引入辅助变量H,将(2)重新公式化,得到约束优化问题,如下所示:

根据半二次分裂方法,代价函数然后被转换成
其中μ是在不同迭代中具有各种值的惩罚参数。使用变量分裂技术,(4)可以通过迭代地求解两个子问题来求解:
考虑到X-subproblem,,而不是直接将X-subproblem,作为最小二乘问题来求解,本文采用了由梯度下降算法更新的近似解,如下所示:

此外,先验包括两个含义:一是对空间信息的约束,如边缘清晰度、纹理特征、局部光滑性、非局部自相似性、非高斯性等;另一个是对光谱信息的限制,如光谱之间的稀疏性和高相关性。与总变差或稀疏先验不同,HSI先验包含一个以上的属性,应使用非线性建模以提高准确性。
基于深度学习的方法具有良好的非线性学习能力,被证明能够执行许多图像恢复任务。在本文中,由于HSI先验的非线性,提出了SSN来实现如(8)所描述的优化。通过提取空间和光谱信息,中间结果按照(6)的约束被更新。因此,H的优化被重写为
其中Spa_Spec(·)表示SSN。详情将在第II-B节中描述。通过一种新的H更新方法,将原来的交替更新H和X直到收敛的优化方法改写为X的统一更新。考虑到(7)和(9),重构优化如下:
在梯度下降算法和HSI先验的帮助下,所提出的方法是用三个部分的线性组合来更新中间 X k X^{k} Xk,这三个部分包括初始恢复可靠性、变换后的 X k X^{k} Xk和 X k X^{k} Xk的空间-谱先验。初始的恢复 Φ T Φ^{T} ΦTY和Φ-以及参数ε和μ也被卷积层替换,因为CNN已经被用于对HSI先验进行建模,如下所示:
SRF-Guided Initial Restoration
如在章节I中所描述的,SRF可以从成像的角度提供MS和HS频带之间的光谱相关性。因此,与传统的基于深度学习的方法不同,SRF引导被引入作为辅助操作,其可以实现有效的SSR性能。辅助物理操作在许多类型的研究中为处理图像恢复给予了很大的帮助。在所提出的CNN中,提出了一种新的SRF引导的IRN块,通过光谱辐射特性对波段进行分组,并使用不同的算子重建初始SSR结果 X 0 X^{0} X0。SRF引导的初始恢复网络如图2所示。
整个块是两层CNN。此外,使用SRF作为指导来单独地识别用于不同频谱范围的重构卷积层。详情如下。首先,计算RGB/MS图像的光谱梯度,以构建维度为W × H ×(2c − 1)的数据立方体,如图3所示。
之后,数据立方体被馈送到3 × 3卷积层以提取光谱特征。然后,通过根据SRF利用频谱相关性进行分组,将这些特征馈送到SRF引导的卷积层中。频谱分组用于避免由于不同通道之间的过大频谱差异而引起的重建失真。尽管如此,在同一组中的乐队之间仍然会有一些差异,这是不可避免的。所提出的策略,确保组内频带重建是由多光谱通道的相同组合。通过根据SRF粗略地表示来自成像的相似性的光谱相关性,SRF引导的卷积层不必针对相同的传感器进行调整,这改进了该模块的泛化。
例如,在由RGB图像和具有31个波段的HSI组成的CAVE数据集中,可以基于RGB成像中的波段贡献将光谱范围分为三组,包括仅对蓝色波段有贡献、对蓝色和绿色波段有贡献以及对绿色和红色波段有贡献,这被大量实验证明是最好的。然后,将分组的频谱特征馈送到卷积层中。因此,SRF引导的卷积层起到频谱分组恢复的作用。换句话说,具有高光谱相关性的HS通道将由相同的卷积算子组构造。
以SRF为指导,IRN块可以将具有高光谱相关性的光谱带分组。这种分组避免了引入干扰频谱恢复的不相关频谱信息。
Deep Spatial–Spectral Prior
如第II-A节中所讨论的,HSI先验可以由SSN建模,如图4所示。SSN包括串联的两个子网:一个用于空间信息提取,另一个用于光谱特征提取。
中间重建的HSI被馈送到第一个3 × 3卷积层,以考虑空间邻域的影响来计算额外的特征映射,并将HSI数据转换到高维空间中。这种变换为光谱信息的后续学习提供了额外的提取特征。第二个3 × 3卷积层用作从冗余特征中进行下一次频谱优化的选择;此外,减少特征图的数量可以加速网络计算。最后一个1 × 1卷积层实现了每个光谱向量逐像素的微调。利用数据驱动的训练,可以将微调学习为频谱优化处理。此外,1 × 1卷积层可以显着改善低级图像处理的效果,这可以进一步促进HSI先验的SSN学习。还应用将输入添加到空间网络的输出的跳过连接。这种连接可以加速网络计算,同时迫使网络进一步关注变化的细节。
配备SSNs,所提出的方法可以隐式地引入HS之前,进一步约束的解决方案空间,并实现改进的SSR结果。
Optimization Stages in HSRnet
通过应用梯度下降算法和深度空间谱先验,可以通过将X更新为(11)来解决SSR问题,这被视为优化过程。当展开优化时,包括多个阶段的网络可以用作以深度学习方式实现优化更新的替代方案,如图5中的优化阶段所示。
原始RGB/MS图像Y首先被馈送到IRN块中以用于初始估计 X 0 X^{0} X0 = IRN(Y)。给定初始HSI恢复 X 0 X^{0} X0,可以以前馈方式对迭代优化进行建模,该迭代优化可以被训练以学习HSI先验并同时匹配光谱退化模型。如(11)所示,第k次更新需要三个部分。第一项是T( X k − 1 X^{k−1} Xk−1),这是 X k − 1 X^{k−1} Xk−1之前的频谱变换,由大小为C × 3 × 3 ×C的卷积层计算。第二项是ε·IRN(Y),其是ε的加权初始估计 X 0 X^{0} X0。最后一个是εμ · Spa_Spec( X k − 1 X^{k−1} Xk−1),Hk的εμ加权结果,它是来自 X k − 1 X^{k−1} Xk−1的结果,被馈送到HSI先验的SSN中。参数ε和μ由具有注意机制的块学习。
Attention-Based Parametric Self-Learning
步长ε和平衡参数μ在每次迭代中相应地改变,以迭代地优化中间变量 X k X^{k} Xk。由于训练中的反向传播,本文中的所有参数都可以学习,这是一种数据驱动的方式,无需人工干预。然而,传统方法中的参数对于不同的光谱通道都是相似的。这种相似性对于具有不同辐射特性的光谱带可能是不合适的方式,因为不同的最佳信噪比和输入数据中引入的不同光谱信息。考虑到不同频带中的辐射差异和CAM在信道加权中的良好性能,CAM块被应用于所提出的HSRnet,如图6所示。CAM可以帮助HSRnet专注于需要紧急优化的波段,通过利用通道间的关系的功能与高权重。
CAM块包括具有最大池化和均值池化的两个池化层、两个3 × 3卷积层和一个sigmoid函数。首先,将重构的HSI馈送到池化层以提取全局权重。在池化层之后,全局权重被转发到两个卷积层并求和。最后,信道权重在元素乘法之前由Sigmoid激活。
引入信道注意力,HSRnet可以很容易地学习不同的参数作为每次迭代的向量,而不是固定值。该条件可以保证网络在谱优化中自适应调整权值,实现更好的重建效果。
Fast Joint Spatial–Spectral Loss
本文中应用了L1损失和SAM损失函数,如下所示,以提高光谱分辨率并同时保留空间细节
然而,SAM损失的应用在实践中是困难的,由于计算的复杂性和GPU加速的计算作为一个向量的形式的能力。受[46]的启发,利用变换的RMSE损失,其被示为
相关文章:
【超分:光谱响应函数】
Spectral Response Function-Guided Deep Optimization-Driven Network for Spectral Super-Resolution (光谱响应函数引导的深度优化驱动网络光谱超分辨) 高光谱图像(HSI)是许多研究工作的关键。光谱超分辨率(SSR&a…...
IoT 物联网 JavaScript 全栈开发,构建家居环境监控系统实战
智能家居环境监测端到端场景,全栈JavaScript开发,串联Ruff硬件、温湿度和空气质量传感器、阿里云 IoT、Serverless函数计算、百度ECharts可视化、最终以微信小程序形式在微信里实时展示家中实时温度,湿度,PM2.5指数。 01 技术架构…...
jupyter notebook可以打开,但无法打开.ipynb文件,报错500 : Internal Server Error
1、错误信息 2、解决办法 打开Anaconda Promt界面,进入自己的虚拟环境。在命令行输入以下指令: pip install --upgrade nbconvert...
latex图片编号+表格编号
对编号重新自定义 \renewcommand{\thefigure}{数字编号x}重新命名图的编号\renewcommand{\thetable}{数字编号x}重新命名表的编号编号含义 平时看书经常看到“图1.2”这样的编号,含义是第1章的第2幅插图;或者“图1.1.2”,含义是第1章第1节的…...
【1day】用友时空KSOA平台 imagefield接口SQL注入漏洞学习
注:该文章来自作者日常学习笔记,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与作者无关。 目录...
linux之美
linux系统和window系统区别 Linux和Windows是两个不同的操作系统。Linux是一个开源操作系统,而Windows是一个商业操作系统。 Linux可以访问源代码并根据用户的需求进行修改,而Windows无法访问源代码。 Linux是免费的,而Windows是商业操作系…...
5、超链接标签
5、超链接标签 超链接标签就是我们常说的a标签 <a href"path" target"目标窗口位置">连接文本或图像</a> <!-- href(必填项):连接路径 target:连接在哪个窗口打开?是在新页面打开…...
CCF CSP认证历年题目自练 Day15
CCF CSP认证历年题目自练 Day15 题目一 试题编号: 201709-1 试题名称: 打酱油 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 小明带着N元钱去买酱油。酱油10块钱一瓶,商家进行促销…...
APP的收费模式及特点
移动应用(APP)的收费模式多种多样,可以根据开发者的需求、目标受众和应用的性质来选择。以下是一些常见的APP收费模式及其特点,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎…...
opencv: 解决保存视频失败的问题
摘要:opencv能读取视频,但保存视频时报错。 一、首先要确保已经下载了openh264.dll文件,否则保存的视频无法打开,详细可以浏览这个:opencv:保存视频。 二、保存视频时出现一下问题: OpenCV:…...
源码编译安装zstd
目录 1 下载源码https://github.com/facebook/zstd 2 解压 3 在解压后的目录里输入make 4 sudo make install 安装完毕 5 输入whereis zstd 检查安装结果 1 下载源码https://github.com/facebook/zstd 2 解压 3 在解压后的目录里输入make 4 sudo make install 安装完毕…...
LabVIEW开发实时自动化多物镜云计算全玻片成像装置
LabVIEW开发实时自动化多物镜云计算全玻片成像装置 数字病理学领域正在迅速发展,这主要是由于计算机处理能力、数据传输速度、软件创新和云存储解决方案方面的技术进步。因此,病理科室不仅将数字成像用于图像存档等简单任务,还用于远程病理学…...
【深度学习实验】卷积神经网络(二):自定义简单的二维卷积神经网络
目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入必要的工具包 1. 二维互相关运算(corr2d) 2. 二维卷积层类(Conv2D) a. __init__(初始化) b. forward(前向传…...
Socket网络编程练习题三:客户端上传文件到服务器
题目 客户端:将本地文件上传到服务器,接收服务器的反馈服务端:接收客户端上传的文件,上传完毕之后给出反馈 代码实战 1、客户端代码 package com.heima;import java.io.*; import java.net.Socket;public class Client {publi…...
Excel技巧之【锁定工作簿】
Excel工作簿是Excel工作区中一个或多个工作表的集合,我们知道Excel可以设置锁定工作表,防止意外或被他人修改,但可能有小伙伴不知道,Excel工作簿也同样可以设置锁定,防止更改。 那工作簿锁定后会怎么样呢?…...
用于自然语言处理的 Python:理解文本数据
一、说明 Python是一种功能强大的编程语言,在自然语言处理(NLP)领域获得了极大的普及。凭借其丰富的库集,Python 为处理和分析文本数据提供了一个全面的生态系统。在本文中,我们将介绍 Python for NLP 的一些基础知识&…...
历史服务器
二、配置历史服务器 在spark-3.1.1-bin-hadoop2.7/conf/spark-defaults.conf添加以下配置,其中d:/log/spark为日志保存位置 spark.eventLog.enabled true spark.eventLog.dir file:///d:/log/spark spark.eventLog.compress true spark.history.fs.logDirectory fil…...
竞赛无人机搭积木式编程(四)---2023年TI电赛G题空地协同智能消防系统(无人机部分)
竞赛无人机搭积木式编程(四) ---2023年TI电赛G题空地协同智能消防系统(无人机部分) 无名小哥 2023年9月15日 赛题分析与解题思路综述 飞控用户在学习了TI电赛往届真题开源方案以及用户自定义航点自动飞行功能方案讲解后&#x…...
深入理解JavaScript中的事件冒泡与事件捕获
在JavaScript中,事件是交互式网页开发中的关键概念之一。了解事件冒泡和事件捕获是成为一名优秀的前端开发者所必需的技能之一。本文将深入探讨这两个概念,解释它们是如何工作的,以及如何在实际应用中使用它们来处理事件。 一.什么是事件冒泡…...
纯css html 真实水滴效果
惯例,不多说直接上图 秉承着开源精神,我们将这段代码无私地分享给大家,因为我们深信,信息的共享和互相学习是推动科技进步的关键。我们鼓励大家在使用这段代码的同时,也能够将其中的原理、思想和经验分享给更多的人。 这份代码是我们团队用心…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
怎么让Comfyui导出的图像不包含工作流信息,
为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐) 在 save_images 方法中,删除或注释掉所有与 metadata …...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
从面试角度回答Android中ContentProvider启动原理
Android中ContentProvider原理的面试角度解析,分为已启动和未启动两种场景: 一、ContentProvider已启动的情况 1. 核心流程 触发条件:当其他组件(如Activity、Service)通过ContentR…...
