【论文阅读】Spectral–Spatial Attention Network for Hyperspectral Image Classification

Spectral–Spatial Attention Network for Hyperspectral Image Classification

  • 论文地址
  • 摘要:
  • 1. 简介
    • 1.1.动机
    • 1.2.贡献
  • 2. 相关作品
    • 2.1.双向递归网络RNN
    • 2.2.CNN
    • 2.3. Attention Mechanism
  • 3. 方法
    • 3.1 Attention with RNN for Spectral Classification
    • 3.2. Attention with CNN for Spatial Classification
    • 3.3. Merge
  • 4.实验结果
    • 4.1 实现
    • 4.2.参数设置
    • 4.3 分类结果
  • 5.结论


论文地址

1、论文
2、源码


摘要:

卷积神经网络(CNN)和循环神经网络(RNN)等许多深度学习模型已成功应用于提取高光谱任务的深层特征。高光谱图像分类允许利用其丰富的信息来区分土地覆被的特征。在人类视觉系统注意力机制的激励下,本研究提出了一种用于高光谱图像分类的光谱-空间注意力网络。在我们的方法中,具有注意力的RNN可以学习连续光谱内的内光谱相关性,而具有注意力的CNN旨在关注空间维度上相邻像素之间的显着特征和空间相关性。实验结果表明,该方法能够充分利用光谱和空间信息获得有竞争力的性能。

关键词:高光谱图像分类;注意机制;RNN;美国有线电视新闻网

1. 简介

高光谱成像,也称为成像光谱学,捕获从同一区域反射或发射的电磁能量,覆盖从可见光到红外波长范围的数百个狭窄、连续的光谱带 [1-4]。由于其丰富的光谱信息,从陆地表面观测飞机或卫星捕获的高光谱图像 (HSI) 在环境监测、城市规划、采矿、国防和农业中变得越来越重要 [2,5,6]。这些图像被组合形成一个三维(x,y,λ)高光谱数据立方体用于处理和分析,其中x和y代表场景的两个空间维度,λ代表光谱维度(由一系列波长组成).高光谱图像分类,将每个像素向量分配给一组特定的类,是 HSI 分析中的主要任务之一,受到研究人员的广泛关注。已经提出了许多传统方法,例如支持向量机(SVM)[7]和k-最近邻(KNN)[2]。然而,这些方法忽略了空间轴上像素之间的相关性,造成了空间信息的浪费。姜等。 [8] 提出了一种无监督的超像素智能主成分分析,通过基于超像素分割对整个 HSI 进行分割来学习不同同质区域的内在低级特征。它充分利用了 HSI 中包含的空间信息。因此,基于光谱空间的方法提高了分类性能,因为它们结合了来自 HSI 的额外空间信息。例如,Roscher 等人。 [9] 通过增量获取光谱和空间信息导入向量机和判别性随机场的学习策略.这项工作的另一个亮点是HSI顺序分类的自我训练概念,其中包括包含新的训练样本以提高分类准确性,并删除非信息样本以提高内存和运行时效率。Li等人[10]利用HSI数据的光谱和空间信息构建了一系列广义复合核。Jiang等[11]开发了一种随机标签传播算法,该算法构建了一个光谱-空间概率传递矩阵,该矩阵同时考虑了光谱相似性和基于超像素的空间信息,以清除标签传播框架下的标签噪声。

1.1.动机

深度学习算法因其出色的预测能力而被引入现代 HSI 分析,并且它们可以提取更多的判别特征并实现比传统浅层分类器更好的性能 [2,12]。已经提出用于高光谱数据分析的深度模型,例如具有 1D [13,14]、2D [15] 和 3D [16] 卷积层的网络。具有 1D 网络的方法以光谱作为输入,仅使用光谱信息来学习特征。牟等人。 [13] 利用循环神经网络 (RNN) 将 HSI 中的像素光谱建模为用于分类的一维序列,他们发现修改后的门控循环单元 (GRU) 优于传统方法和基线卷积神经网络 (CNN)。鉴于空间信息已被证明有助于改进 HSI 分类结果的解释,因此推动了基于深度光谱空间特征的分类模型的研究。例如,杨等人。 [15] 设计了一个双 CNN 模型来联合学习光谱特征和空间特征。曹等。 [17] 在统一贝叶斯框架中使用 CNN 结合马尔可夫随机场对 HSI 像素向量进行分类。空间光谱统一网络 [18] 将基于光谱维带分组的长短期记忆 (LSTM) 模型与用于空间特征的 2D CNN 相结合,并将光谱有限元 (FE)、空间 FE 和分类器训练集成到一个统一的网络中神经网络。结果表明,充分利用光谱和空间信息可以显着提高准确性。注意机制成为人类感知的重要组成部分,它基于人类视觉不会一次处理整个图像的合理假设,它仅在“高分辨率”下关注整个视觉空间的特定部分,而在“低分辨率”下感知周围环境 [19,20]。因此,这种机制提高了对包含最有价值信息的特征的敏感性。已经进行了几次尝试将注意力机制作为一种有效的技术处理纳入视觉任务,以增强某些特征并因此提高性能。它已被证明在许多应用程序中是有效的,包括图像字幕 [21]、匹配 [22–25] 和显着性检测 [26]。注意机制使模型能够专注于特征空间的关键部分并区分不相关的信息 [27] ].它首先被引入用于语言翻译 [28],它学会了在翻译句子时专注于特定的单词或短语,显示出巨大的性能提升,尤其是在长序列上。将HSI中的光谱维度数据视为序列数据,注意力机制可以通过上述方法完全捕获相邻光谱之间的高光谱相关性。Lin等人提出的自注意力机制。 [29] 使用注意力分数对所有特征进行加权以获得显着特征。裴等。 [30] 在卷积层中设计了一种特定的空间索引注意机制,以提取每个单独图像中的显着面部区域,并设计了一个时间注意层,为每个帧分配注意权重。受他们的启发,由于相邻空间位置的局部特征在 HSI 的空间域中具有很高的相关性,因此添加注意机制有助于学习空间依赖性和显着性特征。

1.2.贡献

本文的主要贡献涉及以下三个方面:
• 我们设计了一个具有光谱注意双向 RNN 分支和空间注意 CNN 分支的联合网络,以提取 HSI 分类的光谱空间特征。注意力机制用于强调两个分支上有意义的特征,如图 1 所示。我们的目标是通过使用注意力机制来提高表示能力,即关注相邻光谱维度之间的相关性和空间依赖性域,以及抑制不必要的特征。
• 具有注意机制的双向 RNN 设计用于后向和前向的光谱信息。对于每个像素,一个光谱向量被分解成一组有序的单一数据,并一个一个地馈入 GRU 单元。额外的注意力权重加强了频谱通道之间的频谱相关性。我们将注意力 RNN 与普通双向 RNN 进行了比较,表 7-9 中的实验结果证明了其对光谱信息分类的有效性。
• 对于空间轴,我们将注意力添加到 2D CNN 并在像素周围的图像补丁。与每个图像区域的平均考虑相比,注意力参数为关键部分分配更大的权重,使模型关注主要特征。表7-9中attention CNN和CNN的分类结果表明,通过增加attention weight,中心像素的分类效果更好。
本文的其余部分组织如下。
第 2 节简要介绍了相关工作。
第 3 节描述了所提出的 HSI 分类方法,包括双分支网络和协同训练。
本工作中使用的数据集信息和实验结果在第 4 节中给出。
最后,第 5 节简要总结了本文。

2. 相关作品

本节主要回顾双向RNN、CNN的背景信息及注意力机制

2.1.双向递归网络RNN

通过连接循环扩展了传统的前馈神经网络,在解决涉及顺序数据分析的许多具有挑战性的问题(如语音识别和语言建模)方面引起了极大的关注[31,32]。与前馈神经网络不同,RNN之所以被称为递归神经网络,是因为它具有递归隐藏状态,其每一步的激活都取决于先前的计算。RNN具有记忆功能,可以记住到目前为止计算的信息。
RNN 的架构如图 2 的左侧所示。对于 RNN 中的隐藏层,它在每次迭代时都保持隐藏状态,它接收输入向量 x,并生成输出向量 y。双向RNN(Bi-RNN)的展开结构如图2的右侧所示,显示了计算过程。Bi-RNN将两个方向相反的隐藏层连接到单个输出,允许它们接收来自过去和未来状态的信息。这些输出状态都没有连接到相反方向的输入。通过同时使用输入数据的两个方向,可以使用过去和未来的信息来计算输出。
引入LSTM [33]和GRU [34]来学习长期依赖关系并缓解梯度消失问题。这两种架构与 RNN 没有任何根本区别,但它们使用不同的函数来计算隐藏状态。与LSTM相比,GRU不保持单元状态C,而是使用两个门而不是三个门。GRU 具有较少的参数,因此可以更快地训练,并且需要更少的数据来泛化.

2.2.CNN

另一种流行的视觉任务深度学习模型是CNN [35]。从根本上说,哺乳动物的视觉系统具有空间层次结构。受此启发,CNN 具有可训练的多层架构,该架构由一系列卷积层、非线性层和交替堆叠的池化层组成。它用于学习边缘或纹理等低级特征以及具有更多判别性信息的高级特征[36-40]。典型的CNN结构如图3所示。
在卷积层中,每个隐藏层单元不是完全连接到输入,而是通过共享权重连接到输入周围的局部感受野,这可能是大小为 m × n 的 k 个二维特征图。卷积层计算输入特征映射xi的卷积,卷积核Wi大小为l × l × q,然后是逐元素非线性激活函数。第 i 个特征图的活动是第 l 层的 Ci = ∑qj Wi × Xj + bi,其中 bi 是第 i 个特征图的偏差项,Xj 是前一层的第 j 个通道。
非线性激活函数汇总多个输入位置的响应,并通常通过整流线性单元 (ReLU) f (x) = max(0, x) 计算输出特征图 pi = f(ci)。池化层计算每个特征图的小块内的最大值或平均值,最常见的类型是最大池化。池化操作通过降低特征图的分辨率来提供不变性。完成堆叠层后,通常采用全连接层和softmax层来预测分类标签。与其他神经网络相比,CNN由于权重共享和局部连接方案,其连接和参数更少,更容易训练。

2.3. Attention Mechanism

神经网络利用注意力机制关注给定信息的某一部分,每个像素都有独立的权重,突出判别有效的特征,弱化不利于分类的信息。Spatial Transformer Networks [41] 智能地关注特定的特定部分图像区域是一个特殊的关注案例。此外,Kim 等人。 [42] 使用联合剩余注意模型,利用注意机制选择最有价值的视觉信息,以增强视觉问答问题的语言特征选择和特征提取。此外,杨等人。 [43] 提出了一种注意机制,在过渡层上提取额外的有意义的信息,并传递给下一个特征提取块,用于后续的特征开发。对于 HSI 分类,通过堆叠所提出的注意起始模块构建了一个建议的网络 [20],它可以通过在注意起始模块之间动态路由来自适应地学习网络架构。他们设计了一种新颖的神经网络,它有一个带有反馈注意机制的“主干分支”和一个带有门控制注意机制的“掩码分支”,用于对超高分辨率遥感图像进行逐像素分类。如之前的研究所述,许多网络都采用了注意力机制,通过全局信息对原始数据的内部关系和依赖关系进行建模,将更高的优先级分配给信息量更大的区域。获取的注意力权重图可用于特征重新校准。它模拟了导致人类视觉系统立即被复杂图像中的一小部分重要信息吸引的生物过程。我们可以重新学习基于特征的权重以获得更多相关和值得注意的信息。

3. 方法

在我们的方法中,三个小节起着至关重要的作用:
基于双向 RNN 的光谱注意特征学习器、基于 CNN 的空间注意特征学习器和协同训练模型。

在我们的工作中,注意力非常受关注。对于光谱分类,考虑到每个像素都可以表示为包含丰富光谱特征的连续光谱曲线,我们可以通过attention来关注特征的波段间关系。在空间维度上,我们将空间特征视为光谱特征的补充;该分支改进了兴趣的表示,并通过利用对 CNN 的空间注意力来关注特征的空间间关系。然后,我们连接两个分支并将它们馈送到完全连接的层以学习高级联合光谱空间特征并在softmax层之后获得预测类。

3.1 Attention with RNN for Spectral Classification

RNN 是对各种时序问题进行建模的流行架构,而 Bi-RNN 被提出来充分利用后一信息和前一信息。通过将高光谱像素的所有光谱视为一个序列,我们开发了一个 Bi-RNN 模型,它包含一个前向 GRU 层和一个后向 GRU 层,如图 4 所示。我们的模型处理向前和向后方向的输入到具有两个独立隐藏层的相同输出层。

它的输入是一个高光谱向量 x, x = (x1, x2, . . . , xn) 的谱向量,双向隐藏向量的计算公式为:
在这里插入图片描述

其中t的范围从第一个光谱波段1到最后一个n th, 系数矩阵 W ←和 W → 来自本步的输入,V → 来自上一步的隐藏状态 ht−1,V ←来自后续步骤的 ht+1,f 是隐藏层的非线性激活,输入的存储器作为该编码器的输出为 gt:
在这里插入图片描述

其中 concat(·) 是前向隐藏状态和后向隐藏状态之间的串联函数。
在这里插入图片描述

Bi-RNN 允许将光谱向量一个一个地馈入,以学习具有前向和后向方向的连续光谱特征。如果我们直接对每个光谱波段的数据进行求和和平均,则意味着每个光谱通道对分类任务的贡献相同。事实上,频谱是一条有波峰和波谷的连续曲线,而不是具有固定值的直线。因此,频谱中的某些波段应该具有较小的权重,而那些关键的频谱波段应该具有较大的权重。
在 Bi-RNN 中引入注意力机制,我们的模型为每个光谱通道分配适当的权重,使模型捕获内部光谱关系并更好地分类。与以相同方式处理输入的传统 RNN 模型相比,我们添加注意层解码不同的光谱信息以学习许多特征。我们的注意力层可以定义如下:
在这里插入图片描述

其中 Wi 和 Wi’ 是变换矩阵,bi 和 bi’ 是bias项,softmax(·)是将非归一化输出映射到一个概率分布,并约束输出在区间(0, 1)。

因此我们可以计算像素 x 的预测标签 yt 如下:
在这里插入图片描述

其中 U(·) 是对所有状态求和的函数,这些状态由相应的注意力权重加权。

等式 ( 4)是一层神经网络。该层将 Bi-RNN 的状态重新排列在其当前向量空间中,然后通过 tanh 激活对其进行变换,得到 eit 作为 ht 的新隐藏表示。
注意权重 α 通过 softmax 层产生,如等式(5)所示,其中我们根据 et 与另一个通道向量的相关性来衡量输入的重要性。
在获得新学习的注意权重后,我们使用等式(6)中所示的软注意操作更新标签表示向量 y。
使用注意机制,我们的模型采用更合理的解释,即一些光谱数据起关键作用,一些光谱数据起关键作用。其中没有意义。同时,我们的Bi-RNN模型能够更好地刻画高光谱原始数据的光谱特征,更加注重相邻波段的相关性,使训练模型更加准确。

3.2. Attention with CNN for Spatial Classification

我们的 CNN 模型旨在提取稳健的空间特征。我们在空间 CNN 上添加的注意力机制侧重于空间相邻像素与整个输入块上的重要特征之间的依赖性。第 4 节中针对 CNN 和注意力 CNN 的实验表明,注意力权重对空间分类有很大贡献。注意力 CNN 架构如图 5 所示。
在这里插入图片描述

首先,为了融合所有波段的空间信息并抑制噪声,我们通过主成分分析(PCA)将HSI的维度降低到低维子空间。目标像素与其邻域之间的关系越紧密,为目标像素创建的补丁就越小。例如,在 PCA 之后,帕维亚大学数据集的前三个组成部分被保留,因为它们几乎包含 99.3% 的信息。在每个像素周围,我们创建一个大小为 k × k × 3 的补丁作为相邻区域作为空间分支的输入。通过添加注意力机制,我们的 CNN 模型可以估计不同图像区域内部的显着性和相关性。
与光谱注意力不同,空间注意力关注信息部分的位置,这是一种互补。 CNN 注意力被添加在卷积层之前。对于大小为 m×n×c 的输入相邻区域 S,我们通过利用特征的内部空间关系。空间注意力由与特征图大小相同的m×n的权重矩阵α表示,α的元素αij表示由位于(i,j)的c个PCA通道组成的像素向量Sij的注意力权重相邻区域。特别地,空间注意力权重图α是通过两个步骤计算的。
第一步是通过单层神经网络得到分布式表示,如式(7)。
在第二步中,一个 sigmoid 函数计算 αij,它评估第 i 个位置和第 j 个位置之间的影响。
此外,越相似的特征表示表明所贡献的两个位置的相关性越大。

空间注意力模型的定义如下所示:
在这里插入图片描述

其中 Ws ∈ Rk×C 和 Wz ∈ Rk 是映射图像视觉特征的变换矩阵,bs ∈ Rk 和 bz ∈ Rl 是模型偏差,σ(·) 是一个 sigmoid 函数,它也可以将注意力权重约束到位于区间(0, 1)。

对于每一个patch,卷积层以滑动窗口为核进行移动穿越,通过计算点对点的内积,可以定位到该patch中的相似特征。
池化层选择值来减少特征映射维度。
卷积层的内核为 5 × 5,最大池化层的步幅为 2。完全连接 (FC) 层拥有 1024 个单元。表 1 列出了空间注意力网络的其余设置。
在这里插入图片描述

3.3. Merge

在我们的方法中,最后一步将两个分支连接起来共同训练它们,完整的框架如图 6 所示。
所提出的带有注意力网络的 Bi-RNN 和带有注意力网络的 CNN 被用作光谱特征学习器和空间特征学习者分别。
为了同时利用光谱相关性和空间特征并提取集成的光谱空间特征,我们将 Bi-RNN 中的最后一个全连接层与 CNN 中的最后一个全连接层连接起来,形成一个新的全连接层,然后是另一个FC 层表示联合光谱空间特征和 softmax 回归层来预测每个类别的概率分布。

具有注意机制的光谱 RNN 更侧重于可区分的基本特征和内部光谱相关性,
但注意空间 CNN 补充了邻居信息具有空间结构特征和内部空间相关性,使分类图更均匀,精度更高。
合并层融合并平衡了空间和光谱信息,其结果在类概率估计中具有最大的多样性。

与手工制作的特征相比,在该端到端框架中训练的深度联合光谱空间特征更多判别力和鲁棒性。由Bi-RNN和CNN组成的协同训练网络,两者都加入了注意力机制,增强了提取特征的有效性,提升了高光谱分类的准确性。
在这里插入图片描述

4.实验结果

在本节中,我们介绍了实验中使用的三个公共数据集以及所提出的光谱空间注意网络(SSAN)的配置。此外,还介绍了基于所提出方法和其他比较方法的分类性能。所有实验均使用 NVIDIA RTX 2080Ti GPU、tensorflow-gpu 1.9.0 和 Keras 2.1.0 以及 python 3.6.

4.1 实现

数据描述为了评估我们的方法,我们在三个公共 HSI 分类数据集上训练和测试它,即 Pavia University 数据集、Pavia Center 数据集和 Indian Pines 数据集,它们被广泛用于评估分类算法。

• Pavia Center:第一个数据集由ROSIS获得。在去除 13 个噪声通道后,我们使用了 102 个光谱带。该图像为 1096 × 715 像素,覆盖帕维亚中心。可用的训练样本包含九个城市土地覆盖类别。
•Pavia University:第二个数据集由 ROSIS 传感器在帕维亚上空飞行期间获得。 ROSIS-03 传感器在 430 至 860nm 的 115 个光谱通道中记录了原始图像。去除 12 个噪声波段,剩下的 103 个波段被采用。图像的空间大小为 610 × 340 像素。地面实况地图包含九种不同的城市土地覆盖类型,每个类别有超过 1000 个标记像素。
• Indian Pines:第三个数据集由 AVIRIS 传感器在印第安纳州西北部的 Indian Pines 试验场收集。去除覆盖吸水特征的波段,本文使用剩余的 200 个 145×145 像素的波段。原始数据由代表土地覆盖类型的 16 个已识别类别的观测值组成。

在我们的实验中,训练集是从地面参考数据中随机生成的,其余参考样本由测试集组成。对于深度学习模型,训练集由标记样本和验证样本组成。为了克服类别不平衡问题,我们不按每个类的平均百分比拆分数据集,而是在 Pavia Center 数据集和 Pavia University 数据集中随机选择每个注释类的 100 个标记样本和 100 个验证样本用于训练集,详情如下在表 2 和表 3 中。对于 Indian Pines 数据集中的相同问题,该数据集的某些类样本少于 100。表 4 提供了有关不同类的详细信息以及相应的训练集和测试集。

在 Pavia Center 数据集中,我们选择四个主成分,它们可能包含原始数据的 99% 信息,然后提取图像补丁作为 CNN 分支输入。同样,在帕维亚中心数据集中选择三个主成分,为印度松树数据集选择四个主成分。

4.2.参数设置

对我们的实验有显着影响的主要有三个参数:学习率、空间大小和dropout。在本节中,我们详细评估了性能对我们提出的模型的不同参数设置的敏感性。
(1)学习率:首先,我们测试了不同学习率的影响。学习率控制每次更新模型权重时的学习过程和分配误差的大小。在极端情况下,学习率可能太大而导致训练时期出现振荡,或者太小而无法收敛。我们模型的学习率选自 [0.0003, 0.0005, 0.0008, 0.001, 0.003, 0.005, 0.01],基于分类精度的最佳学习率对于 Pavia Center 数据集为 0.005,对于 Pavia University 数据集为 0.0005, Indian Pines 数据集为 0.0005。
(2) 空间大小:从 CNN 学习的空间特征严重依赖于空间相邻区域的大小。由于我们已经修复了减少的通道数,我们测试了空间大小 [15 × 15、19 × 19、23 × 23、27 × 27、31 × 31] 以捕获足够的空间信息。结果列在表 5 中,所有这些都是在 10,000 次训练迭代中获得的,批量大小为 128,每个数据集的学习率都是最优的。更大尺寸的软空间输入将提供更多机会学习更多空间特征。然而,更大尺寸的空间区域也会带来不必要的信息和过度平滑现象的可能性的负面影响。为了公平比较,我们在不同的分类方法中固定了 27×27 的空间大小。
(3)dropout:在训练过程中,神经网络在神经元之间产生相互依赖性,导致训练数据过度拟合。Dropout 是神经网络中的一种正则化方法,有助于减少相互依赖的学习并防止过度拟合。我们用不同的辍学比例对其进行测试。表 6 中的结果表示,帕维亚大学数据集的辍学率为 60%,帕维亚中心数据集的辍学率为 50%,并且印度松树数据集获得了最高的精度。

4.3 分类结果

Xxxxx

5.结论

在这项研究中,提出了一种新的双分支协同训练方法来提取基于 ARNN 和 ACNN 的光谱空间特征,用于 HSI 分类。受人类感知强调信息特征并抑制不必要信息的图像方式(称为注意力机制)的启发,我们将这种机制纳入了我们的模型。 ARNN 和 ACNN 分别从光谱和空间信息中学习特征,它们可以在连续光谱域中掌握大量的光谱间相关性,并通过增加注意力权重来关注空间维度上相邻像素之间的相似空间特征。具体来说,我们在 ARNN 中使用双向 RNN 来学习光谱中的前向和后向信息。协同训练网络可以学习更高层次的空间-光谱联合特征,并继承 ARNN 和 ACNN 的特征。对三个公共数据集的实验结果分析表明,我们的方法不仅比其他方法表现更好,而且提取了更多同质的判别特征表示。我们的工作证明了本文中注意机制在 HSI 分类中的有效性,我们计划在不久的将来,将我们的方法推广到其他更复杂的遥感应用,例如分解和变化检测。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/322911.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】vector的迭代器失效问题(什么是迭代器失效?那些操作会导致迭代器失效?如何避免迭代器失效?)

目录 一、前言 二、什么是迭代器失效? 三、哪些操作会导致迭代器失效? 四、如何避免迭代器失效? 🥝 insert迭代器失效 ✨迭代器失效 ------ 扩容导致的野指针 ✨迭代器失效 ------ 迭代器指向的位置意义发生改变 &#x1f347…

李飞飞团队 AI4S 最新洞察:16 项创新技术汇总,覆盖生物/材料/医疗/问诊……

不久前,斯坦福大学 Human-Center Artificial Intelligence (HAI) 研究中心重磅发布了《2024年人工智能指数报告》。 作为斯坦福 HAI 的第七部力作,这份报告长达 502 页,全面追踪了 2023 年全球人工智能的发展趋势。相比往年,扩大了…

如何进行资产梳理

前言 为什么要进行资产梳理? 资产梳理方式一: 一、安全防护设备资产 二、对外开放服务项目资产 三、项目外包业务流程资产 资产梳理方式二: 一、业务资源梳理 二、设备资产梳理 三、第三方的服务信息梳理 风险梳理 风险有哪些? 一,账号权限风…

《QT实用小工具·五十一》带动画的 CheckBox

1、概述 源码放在文章末尾 该项目实现了带动画效果的多选框&#xff0c;鼠标放在上面或者选中都会呈现炫酷的动画效果&#xff0c;demo演示如下&#xff1a; 项目部分代码如下所示&#xff1a; #ifndef LINEARCHECKBOX_H #define LINEARCHECKBOX_H#include <QCheckBox> …

活动回放 | 如何进行全增量一体的异构数据库实时同步

以 AI领域为代表的新技术不断涌现&#xff0c;新的应用风口也逐渐清晰。为了加紧跟上技术发展的步伐&#xff0c;越来越多的企业开始着手&#xff0c;对仍以传统关系型数据库为主的应用后端进行现代化升级。 这就涉及到如何在不影响并保持现有业务系统正常运转的前提下&#xf…

RK3568 学习笔记 : u-boot 千兆网络无法 ping 通PC问题的解决方法二

参考 RK3568 学习笔记 : u-boot 千兆网络无法 ping 通PC问题的解决 前言 rk3568 rockchip 提供的 u-boot&#xff0c;默认的设备树需要读取 单独分区 resouce.img 镜像中的 设备树文件&#xff0c;也就是 Linux 内核的设备树 dtb 文件&#xff0c;gmac 网络才能正常的 ping 通…

C/C++ 初级球球大作战练手

效果演示&#xff1a; https://live.csdn.net/v/385490 游戏初始化 #include <stdbool.h> #include<stdio.h> #include<stdlib.h> #include<time.h> #include<graphics.h> #include <algorithm> #include<math.h> #include<mmsy…

有刷电机、无刷电机

阅读引言&#xff1a; 最近在备赛&#xff0c; 自己之前虽然用过电机&#xff0c; 但是发现在一些高要求的应用场景&#xff0c; 发现自己对电机的知识理解得不是很透彻&#xff0c; 所以写下这篇文章。 目录 一、 有刷电机内部原理 二、有刷电机一些关键参数 三、无刷电机内…

986: 哈夫曼译码

解法&#xff1a;先把代码粘贴到编译器&#xff08;vs&#xff09;上&#xff0c;分享一个一键去除空白行的操作&#xff0c;ctrlf调出查找窗口&#xff0c;输入查找(?<\r\n)\r\n&#xff0c;选择正则表达式&#xff0c;替换就可以发现会去掉一百多行空白行。 本题只需要利…

【c1】数据类型,运算符/循环,数组/指针,结构体,main参数,static/extern,typedef

文章目录 1.数据类型&#xff1a;编译器&#xff08;compiler&#xff09;与解释器&#xff08;interpreter&#xff09;&#xff0c;中文里的汉字和标点符号是两个字节&#xff0c;不能算一个字符&#xff08;单引号&#xff09;2.运算符/循环&#xff1a;sizeof/size_t3.数组…

6份不用辞职就能赚钱的副业,上班族必看!

在这个经济浪潮中&#xff0c;生活成本的上升与工资增长的缓慢形成了鲜明对比。对于许多上班族来说&#xff0c;寻找额外收入的途径显得尤为迫切。 今天&#xff0c;就让我们一起探索那些适合在业余时间开展的副业&#xff0c;为你的财务自由之路添砖加瓦。 1. 闲鱼二手手机售卖…

【镜像仿真篇】磁盘镜像仿真常见错误

【镜像仿真篇】磁盘镜像仿真常见错误 记系统镜像仿真常见错误集—【蘇小沐】 1、实验环境 2023AFS39.E01&#xff08;Windows11系统镜像&#xff09;Arsenal Image Mounter&#xff0c;[v3.10.262]‍Vmware Workstation 17 Pro&#xff0c;[v17.5.1]Windows 11 专业工作站版…

某盾BLACKBOX逆向关键点

需要准备的东西&#xff1a; 1、原JS码 2、AST解混淆码 3、token(来源于JSON) 一、原JS码很好获取&#xff0c;每次页面刷新&#xff0c;混淆的代码都会变&#xff0c;这是正常&#xff0c;以下为部分代码 while (Qooo0) {switch (Qooo0) {case 110 14 - 55: {function O0…

TensorFlow、pytorch和python对应的版本关系

安装深度学习框架的时候需要考虑版本的关系&#xff0c;不然装了用不了就尴尬了。 深度学习首先得问题就是用CPU跑&#xff0c;还是GPU跑。。当然有英伟达显卡的都想用GPU跑&#xff0c;不然买显卡是做啥、、GPU跑得多块&#xff0c;一下就训练完了。但是有的同学没得gpu&…

Fortinet的安全愿景SASO概述

FTNT SASE的独特方法&#xff0c;使其成为一家适应性极强的厂商&#xff0c;能够应对不断变化的网络和网络安全环境。FTNT开发了一种名为Secure Access Service Omni&#xff08;SASO&#xff09;的变体&#xff0c;以更准确地反映FTNT在融合网络和安全功能方面的实力。我们预计…

Linux内存管理——Swap

swap space 一个磁盘区域&#xff0c;作为内存使用。当系统内存不足时&#xff0c;会将一些很久不使用的数据转移到swap space中。 优点&#xff1a;扩展了内存空间 缺点&#xff1a;用磁盘做内存&#xff0c;读写效率降低。 swappiness swappiness的值表示建议swap space替…

Java线程池(更新中)

1.线程池介绍 顾名思义&#xff0c;线程池就是管理一系列线程的资源池&#xff0c;其提供了一种限制和管理线程资源的方式。每个线程池还维护一些基本统计信息&#xff0c;例如已完成任务的数量。 总结一下使用线程池的好处&#xff1a; 降低资源消耗。通过重复利用已创建的…

Mac 上安装多版本的 JDK 且实现 自由切换

背景 当前电脑上已经安装了 jdk8; 现在再安装 jdk17。 期望 完成 jdk17 的安装&#xff0c;并且完成 环境变量 的配置&#xff0c;实现自由切换。 前置补充知识 jdk 的安装路径 可以通过查看以下目录中的内容&#xff0c;确认当前已经安装的 jdk 版本。 cd /Library/Java/Java…

框架漏洞RCE-1

一、前提 1、命令执行漏洞&#xff1a;直接调用操作系统命令。攻击者构造恶意命令&#xff0c;将命令拼接到正常的输入中&#xff0c;达到恶意攻击的目的。 (1)、常见命令执行函数 PHP&#xff1a;exec、shell_exec、system、passthru、popen、proc_open、反引号等 ASP.N…