异常检测论文1
本文仅作为个人阅读文献,做笔记记录。
<>
\usepackage[dvipsnames]{xcolor}
一、摘要部分:
我们发现,现有的数据集偏向于局部结构异常,如划痕、凹痕或污染。特别是,它们缺乏违反逻辑约束形式的异常,例如,允许的对象出现在无效位置。
这篇文章贡献了新的异常检测数据集用于检测局部的结构异常和全局的逻辑异常。
提出一种种新的算法:在结构和逻辑异常的联合检测方面优于现有技术。该技术由局部和全局网络分支组成。第一个分支检查与输入图像中的空间位置无关的受限区域,并且主要负责检测全新的局部结构。第二个分支学习通过瓶颈的训练数据的全局一致性表示,该瓶颈能够检测到违反长范围依赖关系的情况,该长范围依赖关系是许多逻辑异常的关键特征。
二、概念介绍
那么什么是结构异常,什么是逻辑异常呢?
以下图为例:
图中,最左边是无异常的ok图,中间出现颜色变化的,这种就是属于结构异常,最右边的是颜色、形状这些都没变化,变化的是小黑圆圈的数量。
现有的大量最先进的无监督异常检测方法都是通过提取预训练网络的局部特征分布来进行建模的。
这些异常检测方法擅长检测MVTec Logical Costraints Anomaly Detection(MVTec LOCO AD) 数据集上的颜色等局部特征。但是这些方法天然地会受限于特征描述符的感受野之内的信息,这就让它难以检测那些违反长范围依赖的异常。
感受野本身由于是局部描述,因此不足以理解图像中的长范围长距离关系依赖!
由于一些VAEs或者GANs的方法具备捕捉整张图像的信息的潜在能力,因此他们可以潜在地检测出上图中最右边多出一个圆圈这种异常。但是这些方法会倾向于产生一些模糊和不准确的重构(这就会导致增加误检),当然这些方法通常会在检测逻辑异常上会优于上面提到的局部特征方法。
三、动机以及文章贡献
基于以上,论文中将异常分为了结构异常和逻辑异常,并且说明了现存方法在两种类型的异常的不同表现。
文中将结构异常定义为:出现在局部限制区域中并且在无异常数据中不存在的新视觉结构。如:颜色变化
文中将逻辑异常定义为:违反了数据中的底层逻辑约束,并且可能需要一种方法来捕获长范围长距离依赖性。例如,电路接线错误、小瓶液位变化或缺少基本组件。
文章贡献点:
(1)引入一个同时覆盖结构和逻辑异常的无监督的新数据集用于评估无监督定位算法。
它包含 5 个不同对象类别的 3644 张图像,灵感来自现实世界的工业检测场景。 结构异常表现为制造产品中的划痕、凹痕或污染。 逻辑异常违反了底层约束,例如,一个允许的对象出现在一个无效的位置,或者一个必要的对象根本不存在。
(2)为了比较我们数据集上不同方法的性能,需要合适的性能度量。 文中发现常用指标不能直接用于评估方法检测逻辑异常的能力。 为此,文章引入了一个性能指标,它采用不同的模式,考虑到数据集中存在的缺陷。 此性能度量是对无监督异常检测的既定度量的概括。
(3)
提出了一种新的方法来对异常进行无监督的像素精确定位。 与现有方法相比,它改进了结构和逻辑异常联合检测的结果。 该方法由一个局部分支和一个全局分支组成,以上分支分别负责检测结构和逻辑异常,受最近成功使用预训练网络的局部特征进行异常检测的启发,我们的局部分支包含一个匹配此类局部描述符的回归网络。 提出方法的全局分支旨在通过一个瓶颈学习训练数据的全局一致性表示来克服捕获输入图像的整个上下文的困难。 在推理过程中,两个分支中的回归错误表明存在异常。 针对最先进方法的广泛评估显示了我们的方法在检测逻辑异常以及两种异常类型的组合定位方面的优越性。
三、方法技术
文献中除了提出MVTec LOCO AD数据集,还提出了GCAD (Global Context Anomaly Detection)方法,
该方法可以同时检测结构异常和逻辑异常。
一个全局特征编码器 E g l o E _ {glo} Eglo是由预训练的局部特征编码器 E l o c E _ {loc} Eloc进行训练的得到的( E g l o E _ {glo} Eglo通过一个瓶颈层来捕获无异常训练数据的全局上下文)。
E g l o E _ {glo} Eglo和 R g l o R _ {glo} Rglo的联合训练,通过低维瓶颈促进高维特征的精准匹配。
3.1 Local Model Branch:
局部模型分支。该分支主要受到最近成功的异常分割方法的推动,该方法从预训练的 CNN 中提取的局部特征的分布进行建模。 这类方法在已建立的异常定位基准上实现了最先进的性能,其中大多数异常符合我们对结构异常的定义。
文中模型的这个分支是基于学生-教师方法的。 由于此方法计算图像中的局部受限区域的异常分数,而与其在输入图像中的空间位置无关,因此我们将此分支称为模型的局部分支。
它由一个编码器网络 E l o c E _ {loc} Eloc组成,该网络在从 ImageNet 数据集裁剪的大量图像块上进行了预训练。 在预训练期间,鼓励 E l o c E _ {loc} Eloc通过从预训练分类网络中进行知识蒸馏来提取局部图像块的表达描述符。本文是将在ImageNet上训练的ResNet-18分类器蒸馏成一个稠密块特征描述符网络(通过快速稠密特征提取技术)。 E l o c E _ {loc} Eloc的网络架构和以及ImageNet 上的预训练协议的详细描述可以在原始的 Student-Teacher 论文中找到。
注意:预训练完成后,当优化文中提出的异常检测模型的时候固定 E l o c E _ {loc} Eloc的权重。用公式表达即:
在每个像素位置上, E l o c E _ {loc} Eloc都生成一个 d l o c d _ {loc} dloc维的一个特征描述子。即
E l o c ( I ) ∈ R w × h × d l o c E _ {loc}(I)\in\mathbb{R}^{w\times h\times d _ {loc}} Eloc(I)∈Rw×h×dloc.
每一个特征都描述了一个局部的原图输入影像的 p × p p\times p p×p区域的图像块。
局部分支还包含回归网络 R l o c R _ {loc} Rloc,其用随机权重初始化并被训练以匹配 E l o c E _ {loc} Eloc在无异常训练数据上的输出。它输出一个形状与 E l o c E _ {loc} Eloc生成的形状相同的特征图,即: R l o c ( I ) ∈ R w × h × d l o c R _ {loc}(I)\in\mathbb{R}^{w\times h\times d _ {loc}} Rloc(I)∈Rw×h×dloc.我们使用具有跳跃连接的高容量网络来完成此任务,并最小化Frobenius范数的平方:
L l o c ( I ) L _ {loc}(I) Lloc(I) = ∥ \lVert ∥ E l o c ( I ) E _ {loc}(I) Eloc(I) - R l o c ( I ) R _ {loc}(I) Rloc(I) ∥ \rVert ∥ F 2 {_ {F}^2} F2.
如果在推理过程中,图像包含在训练过程中未观察到的新的局部结构,并且这些结构落入预训练的特征提取器的感受野内,则 E l o c E _ {loc} Eloc将产生 R l o c R _ {loc} Rloc不熟悉的新的局部特征描述符。这会导致很大的回归误差。因此,我们期望我们模型的局部分支在检测结构异常方面表现良好。
3.2 Global Model Branch:
E l o c E _ {loc} Eloc只检查大小为 p × p p\times p p×p像素大小的有限感受野,特别地, E l o c E _ {loc} Eloc是不编码提取的训练特征的位置组成。因此,我们的局部分支天生地就不适合检测那些违背具备长范围长距离依赖关系的异常,这个长距离依赖关系是许多逻辑异常的特征,例如输入图像中目标丢失或者目标额外增多。为了解决这个问题,论文中就在模型中增加了第二个分支用来分析整幅图像的全局上下文。因此,我们将这个新分支称为全局分支。它的设计灵感来自图1中的观察结果,即将输入数据压缩到低维瓶颈的方法具有捕获逻辑约束的能力,并且无法重新生成违反逻辑约束的输入图像。
论文中全局分支由两个网络 E g l o E _ {glo} Eglo和 R g l o R _ {glo} Rglo组成。 E l o g E _ {log} Elog是一个编码器网络,它在每个像素位置产生维度为 d g l o d _ {glo} dglo的描述符, E g l o ( I ) ∈ R w × h × d g l o E _ {glo}(I)\in\mathbb{R}^{w\times h\times d _ {glo}} Eglo(I)∈Rw×h×dglo.
与自动编码器类似,鼓励 E g l o E _ {glo} Eglo生成与训练数据全局一致的特征图。为此, E g l o E _ {glo} Eglo在g维的低维瓶颈上进行编码。与自动编码器相反, E g l o E _ {glo} Eglo不会重建输入图像。它是通过将局部特征编码器 E l o c E _ {loc} Eloc的知识来蒸馏提取到全局分支来进行训练!
为了让 E g l o E _ {glo} Eglo的特征描述符与 E l o c E _ {loc} Eloc的输出层维度相匹配,我们引入一个上采样网络 U U U,它执行一系列 1 × 1 1\times1 1×1的卷积。对于训练,我们最小化:
L k d ( I ) L _ {kd}(I) Lkd(I) = ∥ \lVert ∥ E l o c ( I ) E _ {loc}(I) Eloc(I) - U ( E g l o ( I ) ) U(E _ {glo}(I)) U(Eglo(I)) ∥ \rVert ∥ F 2 {_ {F}^2} F2.
原则上,可以通过将 E l o c E _ {loc} Eloc的特征直接与 U ο E g l o U\omicron E _ {glo} UοEglo的特征进行比较来进行计算异常分数。然而,我们的消融实验研究表明由于 E g l o E _ {glo} Eglo的低维度的瓶颈层,所以高维度的且详细的 E l o c E _ {loc} Eloc特征图只能由 E g l o E _ {glo} Eglo来近似复现生成。直接进行比较的话,由于不正确的特征重构,将会导致在异常图中出现许多误检。为了避免这个问题,全局分支的第二个网络 R g l o R _ {glo} Rglo被训练为使用损失项来匹配 E g l o E _ {glo} Eglo的输出,使用的损失项为:
L g l o ( I ) L _ {glo}(I) Lglo(I) = ∥ \lVert ∥ E g l o ( I ) E _ {glo}(I) Eglo(I) - R g l o ( I ) R _ {glo}(I) Rglo(I) ∥ \rVert ∥ F 2 {_ {F}^2} F2.
其中 R g l o R _ {glo} Rglo旨在将局部图像区域精确地变换为相应的特征向量,而不考虑训练数据的潜在逻辑约束。为了实现这一点, R g l o R _ {glo} Rglo不包含任何瓶颈层,并且被设计为带有跳跃连接的高容量网络。
备注:高容量网络可以理解为:网络中的神经单元数非常多,层数越多,神经网络的拟合能力越强。但是训练速度,难度越大,越容易产生过拟合。其中网络容量可以认为与网络的可训练参数成正比,也可以理解为高容量的网络就是参数量很大的网络! \color{Red}{备注:高容量网络可以理解为:网络中的神经单元数非常多,层数越多,神经网络的拟合能力越强。但是训练速度,难度越大,越容易产生过拟合。其中网络容量可以认为与网络的可训练参数成正比,也可以理解为高容量的网络就是参数量很大的网络!} 备注:高容量网络可以理解为:网络中的神经单元数非常多,层数越多,神经网络的拟合能力越强。但是训练速度,难度越大,越容易产生过拟合。其中网络容量可以认为与网络的可训练参数成正比,也可以理解为高容量的网络就是参数量很大的网络!
E g l o E _ {glo} Eglo和 R g l o R _ {glo} Rglo之间结构的差异在我们的方法中是非常重要的。 R g l o R _ {glo} Rglo的高容量使得它可以准确地重构 E g l o E _ {glo} Eglo的特征,这点与 E g l o E _ {glo} Eglo和 U ο E g l o U\omicron E _ {glo} UοEglo之间的重构误差进行比较可以减少误检的数量。跳跃连接使得 R g l o R _ {glo} Rglo能够在不捕获训练数据的全局上下文的情况下解决回归任务。因此,对于违反全局约束的异常测试图像, E g l o E _ {glo} Eglo和 R g l o R _ {glo} Rglo的输出不同。这点可以获取(需要分析长范围(长距离)依赖关系的)逻辑异常的定位。
3.3 Combination of the Two Branches:
我们端到端地使用单个损失项的累加所得的和训练整个模型,整个单个损失项是分别通过被匹配的特征的深度来进行的归一化,即:
L ( I ) L (I) L(I) = 1 d l o c L k d ( I ) \frac{1}{d _ {loc}}L _ {kd}(I) dloc1Lkd(I) + 1 d g l o L g l o ( I ) \frac{1}{d _ {glo}}L _ {glo}(I) dglo1Lglo(I) + 1 d l o c L l o c ( I ) \frac{1}{d _ {loc}}L _ {loc}(I) dloc1Lloc(I) .
由于 L k d L _ {kd} Lkd和 L g l o L _ {glo} Lglo的联合优化,这个全局特征编码器被鼓励去学习训练数据的有意义的描述符,并同时输出可以被特征回归网络容易匹配的表示。在学习的特征空间中计算残差有助于通过低维瓶颈对更高维度的特征进行精确匹配。
3.4 Scoring Functions for Anomaly Localization
在推理过程中,可以通过将图像编码器网络的特征与相对应的回归网络的特征进行比较来计算测试图像 J ∈ R w × h × n J\in\mathbb{R}^{w\times h\times n} J∈Rw×h×n的逐像素异常的分数,即分别通过以下计算:
A l o c A _ {loc} Aloc = ∥ \lVert ∥ E l o c ( J ) E _ {loc}(J) Eloc(J) - R l o c ( J ) R _ {loc}(J) Rloc(J) ∥ \rVert ∥ 2 {^2} 2 ∈ R w × h \in\mathbb{R}^{w\times h} ∈Rw×h.
A g l o A _ {glo} Aglo = ∥ \lVert ∥ E g l o ( J ) E _ {glo}(J) Eglo(J) - R g l o ( J ) R _ {glo}(J) Rglo(J) ∥ \rVert ∥ 2 {^2} 2 ∈ R w × h \in\mathbb{R}^{w\times h} ∈Rw×h.
这儿,范数取在各自的特征维度( d l o c d _ {loc} dloc和 d g l o d _ {glo} dglo)上。回归误差大表示有异常的像素。 A l o c A _ {loc} Aloc主要负责检测结构异常的, A g l o A _ {glo} Aglo主要负责检测网络的逻辑异常的。
由于 E g l o E _ {glo} Eglo和 R g l o R _ {glo} Rglo网络的权重都是被随机初始化的,因此不存在对于两个网络在结构异常上表现不同这种训练动机。论文中的实验表明:全局分支确实是主要负责检测逻辑异常,然而局部分支在检测结构异常上表现得更好。
为了得到整个模型得异常图,我们在训练后计算验证集中所有图像 I I I的 A l o c ( I ) A _ {loc}(I) Aloc(I)和 A g l o ( I ) A _ {glo}(I) Aglo(I)。
我们然后分别计算所有图片的结果分数的均值 μ l o c \mu _ {loc} μloc、 μ g l o \mu _ {glo} μglo以及标准差 σ l o c \sigma _{loc} σloc、 σ g l o \sigma _{glo} σglo。
在推理阶段,我们归一化单独的异常分数图并且定义这个组合异常分数图,如下:
A A A = A l o c − μ l o c σ l o c \frac{A _ {loc} - \mu _ {loc}}{\sigma _ {loc}} σlocAloc−μloc + A g l o − μ g l o σ g l o \frac{A _ {glo} - \mu _ {glo}}{\sigma _ {glo}} σgloAglo−μglo.
注意我们数据集中的验证集仅仅包含无异常的影像。这里,我们使用相对应的异常图像仅仅是为了去调节两个分支的异常分数的尺度值。
3.5 Anomaly Detection on Multiple Scales
对于 E l o c {E _ {loc}} Eloc的感受野大小 p p p的选择,这个是对于异常定位的性能是有非常大的影响的,特别地是当异常对象的尺寸变化非常大的时候。为了更少地依赖感受野大小的特殊选择,我们在多个感受野大小 p p p下训练了多个模型。
然后通过计算这些模型对应的异常分数图的逐像素的平均值来将这些模型的异常分数图进行结合。
设 p p p是所有评估的感受野的集合,且 A ( p ) A^{(p)} A(p)是从具有 p ∈ P p\in P p∈P大小感受野模型所获得的异常图。
不同感受野对应的异常分数图是通过计算 1 [ p ] Σ p ∈ P A ( p ) \frac{1}{[p]}{\Sigma} _ {p\in P}A^{(p)} [p]1Σp∈PA(p) .
四、全局特征编码器 E g l o E_ {glo} Eglo的网络结构
E g l o E_ {glo} Eglo输出的 d g l o d_ {glo} dglo特征通过一个上采样网络 U U U转换为 d l o c d_ {loc} dloc特征。这个上采样网络 U U U是由3个带有非线性激活函数的 1 × 1 1\times1 1×1卷积组成。
上采样网络 U U U的输出与与预训练网络 E l o c E_ {loc} Eloc给出的描述符相匹配。最后,两个回归网络 R l o c R_ {loc} Rloc和 R g l o R_ {glo} Rglo有一个与U-Net相似的结构。
这个与U-Net相似的结构我们使用了一个可公开访问的实现( https://github.com/jvanvugt/pytorch-unet.),其中包括五个下采样块、五个上采样块和一个大小为16×16×1024的瓶颈。
在训练之前,我们对预训练的网络 E l o c E_ {loc} Eloc的特征进行归一化。对于每个 d l o c d_ {loc} dloc特征维度,我们计算训练数据集上所有描述符的平均值和标准差。然后我们更新 E l o c E_ {loc} Eloc的最后一层的权重参数去输出归一化后的特征。
在头50轮次训练,我们仅仅训练全局特征编码器 E g l o E_ {glo} Eglo、上采样网络 U U U和局部回归网络 R l o c R_ {loc} Rloc;在剩下的450轮次训练中,优化全局回归网络 R g l o R_ {glo} Rglo。
五、局部特征编码器 E l o c E_ {loc} Eloc的网络结构
使用的网络架构和训练配置与(Bergmann, P., Fauser, M., Sattlegger, D., & Steger, C. (2020). Uninformed students: Student–teacher anomaly detection with discriminative latent embeddings. In 2020 IEEE/CVF Conference on
Computer Vision and Pattern Recognition (CVPR), pp 4182–4191.)
是一样的。
未完待续。。。。
相关文章:

异常检测论文1
本文仅作为个人阅读文献,做笔记记录。 <> \usepackage[dvipsnames]{xcolor} 一、摘要部分: 我们发现,现有的数据集偏向于局部结构异常,如划痕、凹痕或污染。特别是,它们缺乏违反逻辑约束形式的异常࿰…...

linux搭建hadoop环境
1、安装JDK (1)下载安装JDK:确保计算机联网之后命令行输入下面命令安装JDK sudo apt-get install sun-java8-jdk (2)配置计算机Java环境:打开/etc/profile,在文件最后输入下面…...

02 Maven创建及使用
maven作用 主要用作基于java平台的项目 maven能提供一种项目配置 maven能自动从maven的中央仓库帮我们自动下载并管路项目依赖的jar包 提供了标准的目录结构 中央仓库两种类型:共有的中央仓库:私有中央仓库 使用mvn -v查看是否安装成功 修改本地仓库的的位置 在setting…...

如何在 Rocky Linux 上检查磁盘空间?
在 Rocky Linux 上检查磁盘空间是系统管理和维护的重要任务之一。磁盘空间的监控和管理可以帮助我们及时发现和解决存储空间不足的问题,以确保系统的正常运行。本文将详细介绍在 Rocky Linux 上检查磁盘空间的方法。 方法 1:使用 df 命令 df 命令是 Li…...

【软考系统规划与管理师笔记】第2篇 信息技术知识1
目录 1 软件工程 1.1 软件需求分析与定义 1.2 软件设计、测试与维护 1.3 软件质量保证及质量评价 1.4 软件配置管理 1.5 软件过程管理 1.6 软件复用 2 面向对象系统分析与设计 2.1 面向对象设计的基本概念 2.2统一建模语言与可视化建模 3. 应用集成技术 3.1 数据库与…...

【无标题】ELISA-3(加装跟踪装置)—让群体协作更智能!
群体智能是近年来发展迅速的一个人工智能学科领域,通过对蚂蚁、蜜蜂等为代表的社会性昆虫群体行为的研究,实现分布式等智能行为。作为新一代人工智能的重要方向,群体智能通常用于无人机、机器人集群的协同作业。目前,群体智能在基…...

Dubbo源码解析一服务暴露与发现
Dubbo 服务暴露与发现 1. Spring中自定义Schema1.1 案例使用1.2 dubbo中的相关对象 2. 服务暴露机制2.1 术语解释2.2 流程机制2.3 源码分析2.3.1 导出入口2.3.2 导出服务到本地2.3.3 导出服务到远程(重点)2.3.4 开启Netty服务2.3.5 服务注册2.3.6 总结 3. 服务发现3.1 服务发现…...

有哪些工具软件一旦用了就离不开?
💖前言 目前,随着科技的快速发展,电脑已经进入了许许多多人的生活 ,在平日的学习、工作和生活里,我们会用的各种各样的强大软件。市面上除了某些大公司开发在强大软件,还有各路大神开发具有某些功能的强大…...

ObjectARX如何判断点和多段线的关系
目录 1 基本思路2 相关知识点2.1 ECS坐标系概述2.2 其他点坐标转换接口2.3 如何获取多段线的顶点ECS坐标 3 实现例程3.1 接口实现3.2 测试代码 4 实现效果 在CAD的二次开发中,点和多段线的关系是一个非常重要且常见的问题,本文实现例程以张帆所著《Objec…...

四、DRF序列化器create方法与update方法
上一章: 二、Django REST Framework (DRF)序列化&反序列化&数据校验_做测试的喵酱的博客-CSDN博客 下一章: 五、DRF 模型序列化器ModelSerializer_做测试的喵酱的博客-CSDN博客 一、背景 1、创建请求,post,用户输入…...

洛谷P8792 最大公约数
[蓝桥杯 2022 国 A] 最大公约数 题目描述 给定一个数组,每次操作可以选择数组中任意两个相邻的元素 x , y x, y x,y 并将其中的一个元素替换为 gcd ( x , y ) \gcd(x, y) gcd(x,y),其中 gcd ( x , y ) \gcd(x, y) gcd(x,y) 表示 x x x 和 y…...

【SpringBoot集成Nacos+Dubbo】企业级项目集成微服务组件,实现RPC远程调用
文章目录 一、需求环境/版本 二、须知2.1、什么是RPC?2.2、什么是Dubbo?2.3、什么是Nacos? 三、普通的SpringBoot项目集成微服务组件方案(笔者给出两种)方案一(推荐)1、导入maven依赖࿰…...

MySQL主从同步(开GTID)
目录 一、搭建简单的主从同步 二、mysql删除主从(若没有配置过可以不用进行这一步) 1、停止slave服务器的主从同步 2、重置master服务 三、开启GTID 1、Master配置 2、Slave配置 一、搭建简单的主从同步 GTID原理:http://t.csdn.cn/g…...

打造精细化调研,这些产品榜上有名,你用了吗?
调查问卷是一种流行的数据收集工具,研究人员、营销人员和企业使用它来征求目标受众的反馈意见。调查问卷工具使创建、分发和分析调查问卷的过程变得更加简单和高效。想要做好一份调查问卷,选择一款好用的工具是少不了的。不过,在众多的问卷工…...
[golang gin框架] 37.ElasticSearch 全文搜索引擎的使用
一.全文搜索引擎 ElasticSearch 的介绍,以及安装配置前的准备工作 介绍 ElasticSearch 是一个基于 Lucene 的 搜索服务器,它提供了一个 分布式多用户能力的 全文搜索引擎,基于 RESTful web 接口,Elasticsearch 是用 Java 开发的,并作为 Apach…...

赋的几个发展阶段
赋,起源于战国,形成于汉代,是由楚辞衍化出来的,也继承了《诗经》讽刺的传统。关于诗和赋的区别,晋代文学家陆机在《文赋》里曾说: 诗缘情而绮靡,赋体物而浏亮。 也就是说,诗是用来抒发主观感情…...

Model-Free TD Control: Sarsa
import time import random # 相对于Q 效果会差一些 class Env():def __init__(self, length, height):# define the height and length of the mapself.length lengthself.height height# define the agents start positionself.x 0self.y 0def render(self, frames50):fo…...

CloudBase CMS的开发注意事项
引言 在进行基于云开发的微信小程序开发时为了减轻工作量打算用CloudBase CMS来减轻工作量,随后去了解并体验了CloudBase CMS的使用,总体来说还有些许问题没有解决,对减轻后台管理工作并没有起到很大的作用。 项目情景 使用CloudBase CMS来管…...

大佬联合署名!反对 ACL 设置匿名期!
夕小瑶科技说 原创 作者 | 智商掉了一地、Python 近日,自然语言处理领域的多位知名学者联合发起了一项反对 ACL 设置匿名期的联合署名行动,包括著名学者 William Wang 和 Yoav Goldberg 在内,还有Christopher Potts、Hal Daume、Luke Zettl…...

【JavaSE】Java基础语法(十四):Static
文章目录 概述特点与应用注意事项为什么一个静态方法中只能访问用static修饰的成员? 概述 Java中的static是一个修饰符(也可称关键字),可以用于修饰变量、方法和代码块。 特点与应用 static修饰的成员具有以下特点: 被类的所有对…...

1.Linux初识
在 Linux 系统中,sudo 是一个重要的命令,可以允许普通用户以管理员权限来运行特定的命令。通过 sudo 命令,普通用户可以暂时获取管理员权限,执行需要管理员身份才能执行的操作。 下面是一些关于 sudo 命令的用法: 以管…...

进程(二)
这一节我们写个MFC剪切板程序 1.下载相应的组件 工具->工具视图,因为之前已经下载过一部分了,这里如果创建MFC报错的话,就要把没下载的补上 此项目需要MFC库 解决方法 2.创建MFC程序 3.打开资源视图,直接在菜单栏顶部搜索…...

《消息队列高手课》课程笔记(二)
消息模型:主题和队列有什么区别? 两类消息模型 早期的消息队列,就是按照“队列”的数据结构来设计的。 生产者(Producer)发消息就是入队操作,消费者(Consumer)收消息就是出队也就是…...

以“智”提质丨信创呼叫
随着人工智能、大数据、云计算等新兴技术飞速发展,呼叫中心、全媒体智能客服等现已被广泛应用于多个行业领域。其中,呼叫中心作为政企对外服务的重要窗口,已从“传统电话营销”发展到“智能呼叫中心”阶段,以客户服务为核心&#…...

Pool与PG的说明以及Ceph的IO流程
Pool与PG的说明以及Ceph的IO流程 Pool与PG Ceph中的数据是以对象的形式存储在存储池(pool)中的。每个存储池都被划分为若干个存储组(PG),每个存储组同时也是一个数据分片(shard)。存储组是Ceph用来实现数据的分布式存储和高可用的重要组成部分。每个存储组包含若干…...

20230529_Hadoop_集群操作命令
HDFS_集群操作命令: 一、集群启停命令 # 启动Hadoop的HDFS进程start-dfs.sh# 关闭Hadoop的HDFS进程stop-dfs.sh# 单独关闭某一个进程hadoop-daemon.sh start[/stop] namenode[/datanode/secondarynamenode]二、HDFS文件系统的基本信息 数据的路径表达方式ÿ…...

边缘计算AI硬件智能分析网关V1版的接入流程与使用步骤
我们的AI边缘计算网关硬件——智能分析网关目前有两个版本:V1版与V2版,两个版本都能实现对监控视频的智能识别和分析,支持抓拍、记录、告警等,在AI算法的种类上和视频接入上,两个版本存在些许的区别。V1的基础算法有人…...

【redis】Stream、String 超详细介绍
文章目录 一、Stream1.1 写入数据XADD条目 ID 的格式 1.2 获取数据XRANGE 和 XREVRANGEXREAD 监听新条目非阻塞形式阻塞形式 1.3 消费者组XGROUP 创建消费者组XREADGROUP 通过消费者组消费XACK 确认消息消费者组示例 1.4 XPENDING 和 XCLAIM 认领 其他消费者 的待处理消息XPEND…...

算法基础学习笔记——⑫最小生成树\二分图\质数\约数
✨博主:命运之光 ✨专栏:算法基础学习 目录 ✨最小生成树 🍓朴素Prim 🍓Kruskal算法 ✨二分图 🍓匈牙利算法 ✨质数 🍓(1)质数的判定——试除法 🍓(2&…...

了解信号的传输方式、编码与调制、信道的极限容量
1.了解信号的传输方式、编码与调制、信道的极限容量 笔记来源: 湖科大教书匠:传输方式 声明:该学习笔记来自湖科大教书匠,笔记仅做学习参考 1.1 了解信号的传输方式 串行传输与并行传输 同步传输与异步传输 为什么需要收发双发…...