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

mathematics-2024《Graph Convolutional Network for Image Restoration: A Survey》

推荐深蓝学院的《深度神经网络加速:cuDNN 与 TensorRT》,课程面向就业,细致讲解CUDA运算的理论支撑与实践,学完可以系统化掌握CUDA基础编程知识以及TensorRT实战,并且能够利用GPU开发高性能、高并发的软件系统,感兴趣可以直接看看链接:深蓝学院《深度神经网络加速:cuDNN 与 TensorRT》
在这里插入图片描述

核心思想

该论文的核心思想是系统性地综述了图卷积网络(Graph Convolutional Networks, GCNs)在图像修复(image restoration)领域的应用,重点探讨了GCNs在图像去噪(image denoising)、超分辨率(image super-resolution)和去模糊(image deblurring)等任务中的潜力与优势。论文强调了GCNs在处理非欧几里得数据结构(如图像的像素关系图)方面的独特能力,特别是其能够捕捉图像中的长距离依赖(long-range dependencies)并保留局部结构信息,从而提升修复效果。论文通过对比传统方法(如基于滤波和基于模型的方法)与基于学习的GCN方法,展示了GCNs在复杂图像修复任务中的优越性,并指出了未来的研究方向和挑战。


目标函数

在图像修复任务中,GCNs的目标函数通常设计为最小化修复图像与真实清晰图像之间的差异,同时考虑图像的拓扑结构信息。具体来说,目标函数可以分为以下几类:

  1. 图像去噪目标函数
    对于去噪任务,目标函数通常基于均方误差(Mean Squared Error, MSE)或结构相似性(Structural Similarity, SSIM)等指标,结合GCNs的图结构特性。例如,论文中提到的AdarGCN和CP-GCN等方法的目标函数可以表示为:
    L = 1 N ∑ i = 1 N ∥ I ^ i − I i ∥ 2 2 + λ R ( G ) , \mathcal{L} = \frac{1}{N} \sum_{i=1}^N \left\| \hat{I}_i - I_i \right\|_2^2 + \lambda \mathcal{R}(\mathcal{G}), L=N1i=1N I^iIi 22+λR(G),
    其中:

    • I ^ i \hat{I}_i I^i 表示GCN预测的去噪图像像素值, I i I_i Ii 为对应的真实清晰图像像素值。
    • R ( G ) \mathcal{R}(\mathcal{G}) R(G) 是正则化项,基于图结构 G \mathcal{G} G(包括节点和边信息),用于约束图的拓扑特性或防止过拟合。
    • λ \lambda λ 是正则化权重。
  2. 超分辨率目标函数
    对于超分辨率任务,目标函数旨在最小化低分辨率图像经过GCN上采样后的输出与高分辨率真实图像之间的差异。例如,GCEDSR方法的目标函数可能为:
    L = 1 N ∑ i = 1 N ∥ GCN ( I i L R ) − I i H R ∥ 2 2 + μ L perceptual , \mathcal{L} = \frac{1}{N} \sum_{i=1}^N \left\| \text{GCN}(I^{LR}_i) - I^{HR}_i \right\|_2^2 + \mu \mathcal{L}_{\text{perceptual}}, L=N1i=1N GCN(IiLR)IiHR 22+μLperceptual,
    其中:

    • I i L R I^{LR}_i IiLR I i H R I^{HR}_i IiHR 分别为低分辨率输入和高分辨率目标图像。
    • L perceptual \mathcal{L}_{\text{perceptual}} Lperceptual 是感知损失(perceptual loss),基于预训练网络(如VGG)提取的高级特征差异。
    • μ \mu μ 是感知损失的权重。
  3. 去模糊目标函数
    去模糊任务的目标函数通常结合像素级损失和结构级损失。例如,WIG-Net方法的目标函数可能为:
    L = ∥ I ^ − I ∥ 2 2 + γ L gradient + η L graph , \mathcal{L} = \left\| \hat{I} - I \right\|_2^2 + \gamma \mathcal{L}_{\text{gradient}} + \eta \mathcal{L}_{\text{graph}}, L= I^I 22+γLgradient+ηLgraph,
    其中:

    • L gradient \mathcal{L}_{\text{gradient}} Lgradient 是梯度损失,鼓励恢复图像保留清晰的边缘信息。
    • L graph \mathcal{L}_{\text{graph}} Lgraph 是基于图结构的损失,约束GCN输出的拓扑一致性。
    • γ \gamma γ η \eta η 是权重参数。

目标函数的优化过程

GCNs的目标函数优化通常通过梯度下降法或其变种(如Adam优化器)实现,结合图结构的特性进行迭代更新。优化过程包括以下步骤:

  1. 图结构构建

    • 将图像表示为图 G = ( V , E ) \mathcal{G} = (V, E) G=(V,E),其中节点 V V V 表示像素或图像块,边 E E E 表示像素间的关系(如邻接关系或特征相似性)。
    • 使用邻接矩阵 A A A 表示边权重,归一化后的形式为 D ~ − 1 2 A ~ D ~ − 1 2 \tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} D~21A~D~21,其中 A ~ = A + I N \tilde{A} = A + I_N A~=A+IN(加入自环), D ~ \tilde{D} D~ 为度矩阵。
  2. 特征传播与聚合

    • GCN通过消息传递机制更新节点特征。每一层的特征更新公式为:
      H ( l + 1 ) = σ ( D ~ − 1 2 A ~ D ~ − 1 2 H ( l ) W ( l ) ) , H^{(l+1)} = \sigma \left( \tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} H^{(l)} W^{(l)} \right), H(l+1)=σ(D~21A~D~21H(l)W(l)),
      其中 H ( l ) H^{(l)} H(l) 是第 l l l 层的节点特征矩阵, W ( l ) W^{(l)} W(l) 是可学习的权重矩阵, σ \sigma σ 是激活函数(如ReLU)。
  3. 损失计算

    • 根据目标函数(如MSE、感知损失或图结构损失),计算当前预测输出与真实图像之间的损失。
  4. 反向传播与参数更新

    • 通过自动微分计算损失对网络参数(包括权重矩阵 W ( l ) W^{(l)} W(l) 和图结构相关参数)的梯度。
    • 使用优化器(如Adam)更新参数:
      θ ← θ − η ∇ θ L , \theta \leftarrow \theta - \eta \nabla_{\theta} \mathcal{L}, θθηθL,
      其中 η \eta η 是学习率, ∇ θ L \nabla_{\theta} \mathcal{L} θL 是损失对参数的梯度。
  5. 迭代优化

    • 重复上述步骤直到损失收敛或达到预设的迭代次数。

主要贡献点

该论文的主要贡献点包括:

  1. 系统性综述

    • 提供了GCNs在图像修复领域的全面综述,涵盖图像去噪、超分辨率和去模糊三大任务,填补了相关领域综述的空白。
  2. 方法分类与分析

    • 将GCN方法分类为图像去噪、超分辨率、去模糊以及与大模型(LLMs)结合的方法,并分析了每类方法的动机、原理和性能。
  3. 性能比较

    • 通过公开数据集(如Set5、Set14、Urban100、BSD100)对GCN方法与传统方法进行了定量和定性比较,展示了GCN在捕捉长距离依赖和提升图像质量方面的优越性。
  4. 未来方向与挑战

    • 提出了GCN在图像修复中的潜在研究方向(如网络优化、多模态融合、轻量化设计)和挑战(如图结构构建、计算成本、泛化能力),为后续研究提供了指导。

实验结果

论文通过在标准数据集上进行实验,比较了GCN方法与传统方法的性能。以下是关键实验结果的总结:

  1. 图像去噪

    • 在BSD68和Set12数据集上,GCN方法(如AdarGCN、CP-GCN、GAiA-Net)在峰值信噪比(PSNR)和SSIM指标上优于传统方法(如BM3D)和CNN基方法(如DnCNN)。
    • 例如,CP-GCN在BSD68数据集上针对高斯噪声( σ = 50 \sigma=50 σ=50)的PSNR达到28.45 dB,优于DnCNN的28.01 dB。
  2. 超分辨率

    • 在Set5、Set14、Urban100和BSD100数据集上,GCEDSR方法在不同放大倍数( × 2 , × 4 , × 8 \times 2, \times 4, \times 8 ×2,×4,×8)下表现出色。例如,在Set5数据集上,GCEDSR在 × 4 \times 4 ×4放大倍数的PSNR为32.61 dB,SSIM为0.9001,优于EDSR(32.46 dB / 0.8968)。
    • 随着放大倍数增加,所有方法的性能下降,但GCN方法在恢复高频细节方面更具优势。
  3. 去模糊

    • 在GoPro数据集上,WIG-Net等GCN方法在PSNR和SSIM上优于传统去模糊方法(如DeblurGAN)。例如,WIG-Net的PSNR达到30.12 dB,优于DeblurGAN的29.55 dB。
    • GCN方法在处理复杂运动模糊时表现出更好的结构保留能力。
  4. 综合分析

    • GCN方法在捕捉长距离依赖和复杂拓扑结构方面优于CNN方法,尤其是在处理非均匀噪声或复杂场景时。
    • 定性结果显示,GCN方法生成的图像在纹理细节和结构完整性上更接近真实图像。

算法实现过程

以下以图像去噪任务中的AdarGCN方法为例,详细解释GCN算法的实现过程:

  1. 输入准备

    • 输入为噪声图像 I noisy ∈ R H × W × C I_{\text{noisy}} \in \mathbb{R}^{H \times W \times C} InoisyRH×W×C,其中 H H H W W W 为图像高宽, C C C 为通道数。
    • 将图像分割为像素或图像块,构造图 G = ( V , E ) \mathcal{G} = (V, E) G=(V,E),其中节点 V V V 表示像素/块,边 E E E 根据像素间的空间距离或特征相似性定义。
    • 计算邻接矩阵 A A A,通常基于k近邻算法(k-NN)或余弦相似性:
      A i j = { exp ⁡ ( − ∥ f i − f j ∥ 2 2 σ 2 ) , if  j ∈ N i , 0 , otherwise , A_{ij} = \begin{cases} \exp\left(-\frac{\|f_i - f_j\|_2^2}{\sigma^2}\right), & \text{if } j \in \mathcal{N}_i, \\ 0, & \text{otherwise}, \end{cases} Aij={exp(σ2fifj22),0,if jNi,otherwise,
      其中 f i f_i fi f j f_j fj 是节点 i i i j j j 的特征向量, N i \mathcal{N}_i Ni 是节点 i i i 的邻居集。
  2. GCN网络架构

    • 初始化:将输入图像的像素特征(或提取的CNN特征)作为节点特征矩阵 H ( 0 ) ∈ R N × F H^{(0)} \in \mathbb{R}^{N \times F} H(0)RN×F,其中 N N N 是节点数, F F F 是特征维度。
    • GCN层:堆叠多个GCN层,每层执行特征聚合和变换:
      H ( l + 1 ) = σ ( D ~ − 1 2 A ~ D ~ − 1 2 H ( l ) W ( l ) ) , H^{(l+1)} = \sigma \left( \tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} H^{(l)} W^{(l)} \right), H(l+1)=σ(D~21A~D~21H(l)W(l)),
      其中 A ~ = A + I N \tilde{A} = A + I_N A~=A+IN D ~ \tilde{D} D~ 是度矩阵, W ( l ) ∈ R F l × F l + 1 W^{(l)} \in \mathbb{R}^{F_l \times F_{l+1}} W(l)RFl×Fl+1 是权重矩阵。
    • 自适应聚合:AdarGCN引入自适应权重机制,动态调整邻接矩阵 A A A
      A ′ = Softmax ( MLP ( [ H i ( l ) , H j ( l ) ] ) ) , A' = \text{Softmax} \left( \text{MLP} \left( [H^{(l)}_i, H^{(l)}_j] \right) \right), A=Softmax(MLP([Hi(l),Hj(l)])),
      其中 MLP \text{MLP} MLP 是一个多层感知机, [ H i ( l ) , H j ( l ) ] [H^{(l)}_i, H^{(l)}_j] [Hi(l),Hj(l)] 是节点对的特征拼接。
  3. 输出层

    • 最后一层GCN输出节点特征 H ( L ) H^{(L)} H(L),通过全连接层或卷积层映射回图像空间,生成去噪图像 I ^ \hat{I} I^
      I ^ = Conv ( H ( L ) ) . \hat{I} = \text{Conv} \left( H^{(L)} \right). I^=Conv(H(L)).
  4. 损失函数

    • 使用MSE损失计算预测图像与真实图像的差异:
      L = 1 N ∑ i = 1 N ∥ I ^ i − I i ∥ 2 2 . \mathcal{L} = \frac{1}{N} \sum_{i=1}^N \left\| \hat{I}_i - I_i \right\|_2^2. L=N1i=1N I^iIi 22.
    • 可选地加入正则化项,如图平滑损失:
      L graph = ∑ i , j A i j ∥ H i − H j ∥ 2 2 . \mathcal{L}_{\text{graph}} = \sum_{i,j} A_{ij} \left\| H_i - H_j \right\|_2^2. Lgraph=i,jAijHiHj22.
  5. 训练过程

    • 使用Adam优化器,设置学习率(如 1 0 − 3 10^{-3} 103),批量大小(如32)。
    • 在训练集(如BSD68)上迭代优化,验证集上监控PSNR和SSIM。
    • 提前停止或学习率调度以防止过拟合。
  6. 测试与评估

    • 在测试集(如Set12)上评估模型,计算PSNR、SSIM等指标。
    • 定性分析输出图像的纹理和结构恢复效果。

总结

该论文通过系统综述和实验验证,展示了GCNs在图像修复领域的强大潜力,尤其是在处理复杂像素关系和长距离依赖方面的优势。其目标函数结合像素级损失和图结构约束,通过梯度下降优化实现高效训练。实验结果表明,GCN方法在去噪、超分辨率和去模糊任务中均优于传统方法,为未来研究提供了重要参考。算法实现过程清晰,结合图结构构建和GCN特征传播,适合处理非欧几里得数据结构的图像修复任务。

相关文章:

mathematics-2024《Graph Convolutional Network for Image Restoration: A Survey》

推荐深蓝学院的《深度神经网络加速:cuDNN 与 TensorRT》,课程面向就业,细致讲解CUDA运算的理论支撑与实践,学完可以系统化掌握CUDA基础编程知识以及TensorRT实战,并且能够利用GPU开发高性能、高并发的软件系统&#xf…...

ssti刷刷刷

[NewStarCTF 公开赛赛道]BabySSTI_One 测试发现过滤关键字,但是特殊符号中括号、双引号、点都能用 可以考虑拼接或者编码,这里使用拼接 ?name{{()["__cla"~"ss__"]}}?name{{()["__cla"~"ss__"]["__ba&…...

Zephyr OS Nordic芯片的Flash 操作

目录 概述 1. 软硬件环境 1.1 软件开发环境 1.2 硬件环境 2 Flash操作库函数 2.1 nRF52832的Flash 2.2 Nordic 特有的 Flash 操作 2.2.1 nrfx_nvmc_bytes_write 函数 2.2.2 nrfx_nvmc_page_erase函数 2.2.3 nrfx_nvmc_write_done_check 函数 3 操作Flash的接口函数…...

傅里叶变换实战:图像去噪与边缘提取

傅里叶变换在图像处理中的应用与实践详解(超详细教程实战代码) 🚀 本文从零开始详解傅里叶变换在图像处理中的应用,手把手教你实现图像去噪与边缘提取!全文配套Python代码,新手也能轻松上手! 一…...

go-中间件的使用

中间件介绍 Gin框架允许开发者在处理请求的过程中加入用户自己的钩子(Hook)函数这个钩子函数就是中间件,中间件适合处理一些公共的业务逻辑比如登录认证,权限校验,数据分页,记录日志,耗时统计 1.定义全局中间件 pac…...

昇腾NPU环境搭建

如果进入服务器输入npu-smi info可以看到npu情况,请直接跳转第三步 STEP1: 服务器安装依赖 sudo yum install -y gcc gcc-c make cmake unzip zlib-devel libffi-devel openssl-devel pciutils net-tools sqlite-devel lapack-devel gcc-gfortran python3-develyu…...

【HTML5学习笔记2】html标签(下)

1表格标签 1.1表格作用 显示数据 1.2基本语法 <table><tr> 一行<td>单元格1</td></tr> </table> 1.3表头单元格标签 表头单元格会加粗并且居中 <table><tr> 一行<th>单元格1</th></tr> </table&g…...

开源轻量级地图解决方案leaflet

Leaflet 地图&#xff1a;开源轻量级地图解决方案 Leaflet 是一个开源的 JavaScript 库&#xff0c;用于在网页中嵌入交互式地图。它以轻量级、灵活性和易用性著称&#xff0c;适用于需要快速集成地图功能的项目。以下是关于 Leaflet 的详细介绍和使用指南。 1. Leaflet 的核心…...

LLM学习笔记(六)线性代数

公式速查表 1. 向量与矩阵&#xff1a;表示、转换与知识存储的基础 向量表示 (Vectors): 语义的载体 在LLM中&#xff0c;向量 x ∈ R d \mathbf{x}\in\mathbb{R}^d x∈Rd 是信息的基本单元&#xff0c;承载着丰富的语义信息&#xff1a; 词嵌入向量 (Word Embeddings)&am…...

Vue 3.0双向数据绑定实现原理

Vue3 的数据双向绑定是通过响应式系统来实现的。相比于 Vue2&#xff0c;Vue3 在响应式系统上做了很多改进&#xff0c;主要使用了 Proxy 对象来替代原来的 Object.defineProperty。本文将介绍 Vue3 数据双向绑定的主要特点和实现方式。 1. 响应式系统 1.1. Proxy对象 Vue3 …...

Quasar组件 Carousel走马灯

通过对比两个q-carousel组件来&#xff0c;了解该组件的属性 官方文档请参阅&#xff1a;Carousel 预览 源代码 <template><div class"q-pa-md"><div class"q-gutter-md"><q-carouselv-model"slide"transition-prev&quo…...

Vue 2.0学习

个人简介 &#x1f468;‍&#x1f4bb;‍个人主页&#xff1a; 魔术师 &#x1f4d6;学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全栈发展 &#x1f6b4;个人状态&#xff1a; 研发工程师&#xff0c;现效力于政务服务网事业 &#x1f1e8;&#x1f1f3;人生格言&…...

LangFlow技术深度解析:可视化编排LangChain应用的新范式 -(3)组件系统

Component System | langflow-ai/langflow | DeepWiki 组件系统 相关源文件 组件系统是核心基础设施&#xff0c;使 Langflow 能够在工作流中创建、配置和连接模块化构建块。该系统通过为组件提供一致的接口来定义其输入、输出、执行行为以及与其他组件的连接&#xff0c;从…...

【Win32 API】 lstrcmpA()

作用 比较两个字符字符串&#xff08;比较区分大小写&#xff09;。 lstrcmp 函数通过从第一个字符开始检查&#xff0c;若相等&#xff0c;则检查下一个&#xff0c;直到找到不相等或到达字符串的末尾。 函数 int lstrcmpA(LPCSTR lpString1, LPCSTR lpString2); 参数 lpStr…...

LabVIEW光谱检测系统

腔衰荡光谱技术&#xff08;CRDS&#xff09;凭借高精度和高灵敏度特性&#xff0c;成为微量气体浓度检测的常用方法&#xff0c;而准确获取衰荡时间是该技术应用的关键。基于LabVIEW平台设计腔衰荡信号在线处理系统&#xff0c;实现对衰荡信号的实时采集、平均、拟合、显示和保…...

深入解读WPDRRC信息安全模型:构建中国特色的信息安全防护体系

目录 前言1 WPDRRC模型概述2 模型结构详解2.1 预警&#xff08;Warning&#xff09;2.2 保护&#xff08;Protect&#xff09;2.3 检测&#xff08;Detect&#xff09;2.4 响应&#xff08;React&#xff09;2.5 恢复&#xff08;Restore&#xff09;2.6 反击&#xff08;Count…...

uniapp-商城-59-后台 新增商品(属性的选中,进行过滤展示,filter,some,every和map)

前面讲了属性的添加&#xff0c;添加完成后&#xff0c;数据库中已经存在数据了&#xff0c;这时再继续商品的添加时&#xff0c;就可以进行属性的选择了。 在商品添加过程中&#xff0c;属性选择是一个关键步骤。首先&#xff0c;界面需要展示嵌套的属性数据&#xff0c;用户通…...

RDIFramework.NET Web敏捷开发框架 V6.2发布(.NET6+、Framework双引擎)

1、框架介绍 .NET6、Framework双引擎、全网唯一 RDIFramework.NET敏捷开发框架&#xff0c;是我司重磅推出的支持.NET6和.NET Framework双引擎的快速信息化系统开发、整合框架&#xff0c;为企业快速构建企业级的应用提供了强大支持。 依托框架强大的基座&#xff0c;开发人员只…...

JMeter 教程:编写 GET 请求脚本访问百度首页

目录 练习要求&#xff1a; 练习步骤&#xff1a; 效果图&#xff1a; 练习要求&#xff1a; 练习步骤&#xff1a; 效果图&#xff1a;...

JSP 实现二级联动下拉菜单:一次加载,前端动态更新

在Web开发中,二级联动下拉菜单(或多级联动)是一种非常常见的用户交互形式,例如选择省份后动态加载对应的城市列表。本文将详细介绍一种在JSP中实现二级联动的方法:后端一次性将所有联动数据加载到前端,然后通过JavaScript在客户端动态更新二级下拉菜单。这种方法对于数据…...

Room数据库

Room数据库 Room是Android Jetpack组件中的一款SQLite数据库抽象层框架&#xff0c;旨在简化本地数据库操作&#xff0c;提供编译时SQL校验、类型与安全、与LiveData/Flow无缝集成等特性。 1. 什么是Room 定义&#xff1a; Room 是 Android Jetpack 提供的一个 ORM&#xff…...

文件上传Ⅲ

#文件-解析方案-执行权限&解码还原 1、执行权限 文件上传后存储目录不给执行权限&#xff08;即它并不限制你上传文件的类型&#xff0c;但不会让相应存有后门代码的PHP文件执行&#xff0c;但是PNG图片是可以访问的&#xff09; 2、解码还原 数据做存储&#xff0c;解…...

前端取经路——量子UI:响应式交互新范式

嘿&#xff0c;老铁们好啊&#xff01;我是老十三&#xff0c;一枚普通的前端切图仔&#xff08;不&#xff0c;开玩笑的&#xff0c;我是正经开发&#xff09;。最近前端技术简直跟坐火箭一样&#xff0c;飞速发展&#xff01;今天我就跟大家唠唠从状态管理到实时渲染&#xf…...

15 C 语言字符类型详解:转义字符、格式化输出、字符类型本质、ASCII 码编程实战、最值宏汇总

1 字符类型概述 在 C 语言中&#xff0c;字符类型 char 用于表示单个字符&#xff0c;例如一个数字、一个字母或一个符号。 char 类型的字面量是用单引号括起来的单个字符&#xff0c;例如 A、5 或 #。 当需要表示多个字符组成的序列时&#xff0c;就涉及到了字符串。在 C 语言…...

AlphaEvolve:LLM驱动的算法进化革命与科学发现新范式

AlphaEvolve&#xff1a;LLM驱动的算法进化革命与科学发现新范式 本文聚焦Google DeepMind最新发布的AlphaEvolve&#xff0c;探讨其如何通过LLM与进化算法的结合&#xff0c;在数学难题突破、计算基础设施优化等领域实现革命性进展。从48次乘法优化44矩阵相乘到数据中心资源利…...

比较文本搜索策略 pgsearch、tsvector 和外部引擎

大家好&#xff0c;这里是架构资源栈&#xff01;点击上方关注&#xff0c;添加“星标”&#xff0c;一起学习大厂前沿架构&#xff01; 在应用程序中实现搜索功能时&#xff0c;您需要选择合适的文本搜索方法。本指南比较了 PostgreSQL 的内置搜索引擎tsvector、pg_search扩展…...

58. 区间和

题目链接&#xff1a; 58. 区间和 题目描述&#xff1a; 给定一个整数数组 Array&#xff0c;请计算该数组在每个指定区间内元素的总和。 输入描述 第一行输入为整数数组 Array 的长度 n&#xff0c;接下来 n 行&#xff0c;每行一个整数&#xff0c;表示数组的元素。随后…...

MySQL中表的增删改查(CRUD)

一.在表中增加数据&#xff08;Create&#xff09; INSERT [INTO] TB_NAME [(COLUMN1,COLUMN2,...)] VALUES (value_list1),(value_list2),...;into可以省略可仅选择部分列选择插入&#xff0c;column即选择的列&#xff0c; 如图例可以选择仅在valuelist中插入age和id如果不指…...

SQL练习(6/81)

目录 1.寻找连续值 方法一&#xff1a;使用自连接&#xff08;Self-Join&#xff09; 方法二&#xff1a;使用窗口函数&#xff08;Window Functions&#xff09; 2.寻找有重复的值 GROUP BY子句 HAVING子句 常用聚合函数&#xff1a; 3.找不存在某属性的值 not in no…...

Android 中 打开文件选择器(ACTION_OPEN_DOCUMENT )

在 Android 中&#xff0c;打开文件选择器&#xff08;File Picker&#xff09;通常是指启动一个系统提供的界面&#xff0c;让用户可以选择存储在设备上的文件。可以通过发送一个带有 Intent.ACTION_OPEN_DOCUMENT 或 Intent.ACTION_GET_CONTENT 的 Intent 来实现。 1、启动文…...

AWS中国区CloudFront证书管理和应用指南

在AWS中国区使用CloudFront时,SSL/TLS证书的管理和应用是一个重要的环节。本文将详细介绍如何在AWS中国区上传、管理和应用SSL证书到CloudFront分配。 1. 准备证书文件 首先,我们需要准备好SSL证书相关的文件。通常,这包括: 私钥文件(.key)公钥证书文件(.crt)证书链文…...

Python之三大基本库——Matplotlib

好久没来总结了&#xff0c;今天刚好有时间&#xff0c;我们来继续总结一下python中的matplotlib 一、什么是Matplotlib ‌Matplotlib‌是一个Python的2D绘图库&#xff0c;主要用于将数据绘制成各种图表&#xff0c;如折线图、柱状图、散点图、直方图、饼图等。它以各种硬拷贝…...

随笔:hhhhh

第一题 ∫ − ∞ ∞ x e x − e x d x ∫ 0 ∞ ln ⁡ t ⋅ e ln ⁡ t − t ⋅ 1 t d t ∫ 0 ∞ ln ⁡ t ⋅ e − t ⋅ 1 t ⋅ t d t ∫ 0 ∞ ln ⁡ t ⋅ e − t d t ψ ( 1 ) − γ \begin{align*} \int_{-\infty}^{\infty}xe^{x-e^x}\text{d}x&\int_{0}^{\infty}…...

计算机网络-----6分层结构

目录 “分层” 的设计思想&#xff1a; 计算机网络要完成的功能&#xff1a; 计算机网络的分层结构&#xff1a; 网络体系结构的概念&#xff1a; 各层之间的关系&#xff1a; 数据的传输过程 水平视角&#xff1a; 垂直视角&#xff1a; 相关概念 协议三要素&#x…...

初识SOC:RK3588

目录 一、高性能计算与边缘计算 二、多媒体处理与显示 三、图形与游戏开发 四、物联网与嵌入式系统 五、操作系统兼容性 RK3588作为瑞芯微推出的高性能处理器&#xff0c;凭借其多核架构、高算力NPU和多媒体处理能力&#xff0c;可广泛应用于以下领域&#xff1a; 一、高…...

卡顿检测与 Choreographer 原理

一、卡顿检测的原理 卡顿的本质是主线程&#xff08;UI 线程&#xff09;未能及时完成某帧的渲染任务&#xff08;超过 16.6ms&#xff0c;以 60Hz 屏幕为例&#xff09;&#xff0c;导致丢帧&#xff08;Frame Drop&#xff09;。检测卡顿的核心思路是监控主线程任务的执行时…...

第十天——贪心算法——深度总结

文章目录 贪心算法深度解析&#xff1a;原理与应用 1. 贪心算法的基本原理 1.1 贪心选择性质 1.2 最优子结构 1.3 贪心算法与动态规划的对比 2. 贪心算法的应用场景 3. 具体应用案例 3.1 分配饼干 (Assign Cookies) 3.2 分糖果 (Candy Distribution) 3.3 种花问题 (C…...

python自学笔记2 数据类型

字符串操作 f字符串&#xff1a; for index, char in enumerate(greeting_str):print(f"字符&#xff1a;{char}, 索引&#xff1a;{index}")f字符串可以方便的在字符串中插入变量 字符串切片 指定步长&#xff1a; print(greeting_str[::2])指定步长为2的取字符…...

nacos配置文件快速部署另一种方法

提交nacos配置的另一种一种方法,批命令/shell: 以下脚本直接把当前目录下的所有yaml文件一键提交到nacos上 前提是要先安装curl 以及 jq 然后 把下面的shell保存为 import-all.sh 然后 chmod x import-all.sh && ./import-all.sh 就好了. 记得修改一下的NAMESPACE_…...

RTK哪个品牌好?2025年RTK主流品牌深度解析

在测绘领域&#xff0c;RTK 技术的发展日新月异&#xff0c;选择一款性能卓越、稳定可靠的 RTK 设备至关重要。2025 年&#xff0c;市场上涌现出众多优秀品牌&#xff0c;本文将深入解析几大主流品牌的核心竞争力。 华测导航&#xff08;CHCNAV&#xff09;&#xff1a;技术创…...

游戏引擎学习第285天:“Traversables 的事务性占用”

回顾并为当天的工作做准备 我们有一个关于玩家移动的概念&#xff0c;玩家可以在点之间移动&#xff0c;而且当这些点移动时&#xff0c;玩家会随之移动。现在这个部分基本上已经在工作了。我们本来想实现的一个功能是&#xff1a;当玩家移动到某个点时&#xff0c;这个点能“…...

HNUST湖南科技大学-安卓Android期中复习

使用说明&#xff1a;除了选择判断就看习题外&#xff0c;推荐重点复习三四章多复习案例&#xff0c;这里应该是编程空题&#xff0c;把界面控件、活动单元熟悉一下。第五章&#xff08;数据存储方式&#xff0c;尤其是文件存储&#xff09;、第六章&#xff08;重点内容提供者…...

一种应用非常广泛的开源RTOS(实时操作系统):nuttx

什么是NuttX&#xff1f; NuttX&#xff08;读音接近“纳特-艾克斯”&#xff09;是一种应用非常广泛的开源RTOS&#xff08;实时操作系统&#xff09;&#xff0c;由Gregory Nutt博士主要推动开发。RTOS&#xff0c;即 Real-Time Operating System&#xff0c;直译为“实时操…...

WebSocket 客户端 DLL 模块设计说明(基于 WebSocket++ + Boost.Asio)

WebSocket 客户端 DLL 模块设计说明&#xff08;基于 WebSocket Boost.Asio&#xff09; &#x1f4cc; 目录 一、模块总览二、导出接口说明&#xff08;EXPORTS&#xff09;三、状态变量功能解读四、连接启动流程详解五、事件回调说明六、消息发送流程七、心跳与断连 JSON …...

微信小程序:封装request请求、解决请求路径问题

一、创建文件 1、创建请求文件 创建工具类文件request.js,目的是用于发送请求 二、js接口封装 1、写入接口路径 创建一个变量BASE_URL专门存储api请求地址 2、获取全局的token变量 从缓存中取出token的数据 3、执行请求 (1)方法中接收传递的参数 function request(url,…...

Ubuntu24.04 安装 5080显卡驱动以及cuda

前言 之前使用Ubuntu22.04版本一直报错,然后换了24.04版本才能正常安装 一. 配置基础环境 Linux系统进行环境开发环境配置-CSDN博客 二. 安装显卡驱动 1.安装驱动 按以下步骤来&#xff1a; sudo apt update && sudo apt upgrade -y#下载最新内核并安装 sudo add…...

Jenkins的流水线执行shell脚本执行jar命令后项目未启动未输出日志问题处理

现象 在流水线里配置了启动脚本例如&#xff0c;nohup java -jar xxx.jar >nohup.out 2>&1 & 但是在服务器发现服务并未启动,且nohup日志里没输出日志,这样的原因是jenkins在执行完脚本后&#xff0c;就退出了这个进程。 解决 在启动脚本执行jar命令的上一步…...

Core Web Vitals 全链路优化:从浏览器引擎到网络协议深度调优

Core Web Vitals 全链路优化:从浏览器引擎到网络协议深度调优 一、浏览器渲染引擎级优化 1.1 合成器线程优化策略 • 分层加速:通过will-change属性创建独立的合成层 .accelerated {will-change: transform;backface-visibility: hidden; }• 光栅化策略调整:使用image-r…...

【网络编程】十、详解 UDP 协议

文章目录 Ⅰ. 传输层概述1、进程之间的通信2、再谈端口号端口号的引出五元组标识一个通信端口号范围划分常见的知名端口号查看知名端口号协议号 VS 端口号 3、两个问题一个端口号是否可以被多个进程绑定&#xff1f;一个进程是否可以绑定多个端口号&#xff1f; 4、部分常见指令…...

求职困境:开发、AI、运维、自动化

文章目录 问&#xff1a;我的技术栈是web全栈&#xff08;js&#xff0c;css&#xff0c;html&#xff0c;react&#xff0c;typscript&#xff09;&#xff0c;C开发&#xff0c;python开发&#xff0c;音视频图像开发&#xff0c;神经网络深度学习开发&#xff0c;运维&#…...