数据增强新方法SUMix:解决Mixup混合后的图像的内容与其标签不匹配问题

news2024/9/23 13:28:58

数据增强新方法SUMix:解决Mixup混合后的图像的内容与其标签不匹配问题

    • 提出背景
      • 当前混合方法的问题
      • MixUp 操作
      • 标签混合
      • 混合交叉熵(MCE)
      • 混合交叉熵(MCE)的核心作用
      • 混合交叉熵(MCE)的功能
    • CutMix
      • 原始样本
      • CutMix 操作
      • 混合样本
    • SUMix 对比 CutMix
      • 图表部分(左侧)
      • 可视化部分(右侧)
      • SUMix 训练流程
      • 左侧图解:SUMix的训练流程
      • 右侧图解:语义和不确定性空间
    • 解法拆解
      • 解法:SUMix的具体实现方法
      • 逻辑链
    • 增强效果
      • 表格 1:在CIFAR-100、Tiny-ImageNet 和 ImageNet-1K 上的性能
      • 表格 2:在CUB200、FGVC-Aircrafts 和 Stanford-Cars 上的性能
      • 表格 3:在使用Vision Transformer模型的CIFAR100上的性能
      • 表格 4:在CIFAR100上基于显著性的混合方法的性能
      • 不同混合数据增强方法在不同遮挡比率

 


论文:SUMix: Mixup with Semantic and Uncertain Information

代码:https://github.com/JinXins/SUMix

提出背景

  1. 问题识别:在深度学习中,混合图像可以帮助模型更好地泛化。

    然而,当一个图像的部分随机被另一个图像的部分替换时(如CutMix或SaliencyMix方法所做的),结果可能会造成混淆。

    组合后的图像可能无法正确反映其应代表的标签,这可能会误导训练过程。

  2. 提出的解决方案 - SUMix:为了解决这个问题,作者提出了一种新技术叫做SUMix。

  3. 数据增强方法

    • 现有技术:通过操作现有数据创建新的变体。
       
      例如,在计算机视觉任务中,使用旋转或缩放图像;在自然语言处理任务中,通过更换相近词或随机拼写错误来生成新数据。

    • 数据增强的分类

      1. 对比组合方法:使用仿射矩阵变换和颜色增强来创建新图像。
      2. 混合方法:通过线性组合一对样本及其标签来创建新样本。
      3. 生成方法:使用像生成对抗网络(GANs)这样的模型创建全新的合成数据。
  4. 混合方法及其变体简介

    • Mixup:这种简单但有效的方法通过线性插值图像及其对应标签来创建虚拟样本,改善了模型的泛化能力。
    • CutMix:是Mixup的一种改进,不仅混合标签,还通过切割和粘贴一个图像的部分到另一个图像上来空间组合图像。
       
      这在特定任务中显示出改善,如Pascal VOC对象检测和MS-COCO图像描述。

当前混合方法的问题

  • 标签不匹配:在某些情况下,从一个图像中切割的区域并粘贴到另一个图像上可能会覆盖重要特征,导致混合图像失去有意义的信息。
     
    这个问题至关重要,因为它可能导致模型训练错误,因为标签与视觉内容不匹配。

在传统的 Mixup 方法中,直接混合两个图像及其标签可能导致模型训练时出现标签不匹配问题,即混合后的图像的内容与其标签不完全对应。

混合比率学习:

  • 问题:传统的混合方法通常使用固定或随机确定的混合比率 λ \lambda λ,这可能不适用于所有样本。
  • 解决方案:SUMix 提议根据图像的语义内容学习混合比率 λ \lambda λ。这种方法旨在更好地对齐混合样本的特征和标签,减少不匹配的风险。

  • CutMix:这种方法涉及从一个图像中剪切一块区域并将其粘贴到另一个图像中。

    在这个例子中,熊猫的一部分被剪切并粘贴到了鲨鱼图像中。

    这导致鲨鱼在视觉上被部分遮挡,可能会使模型难以识别出“鲨鱼”的标签。

  • ResizeMix:与CutMix类似,但调整了粘贴图像的尺寸,使其更大或更小。

    这里显示的熊猫比在CutMix中的更大,更容易被注意到,但同时也遮挡了更多的鲨鱼图像。

  • SaliencyMix:这种方法试图将图像中最显著(最容易引起注意的)部分结合起来。

    然而,在这个例子中,由于熊猫和鲨鱼都不是特别突出,这可能导致两个类别都不够明显。

  • FMix:这种方法通过使用傅里叶变换来混合图像,可能产生更抽象的混合效果。

    这里,熊猫的大部分身体覆盖了鲨鱼,使得鲨鱼难以被识别。

这些图像示例说明了在使用这些混合方法时可能出现的问题:当混合后的图像与原始标签不完全对应时,可能会导致模型学习到错误的信息。

例如,如果一个混合图像主要显示熊猫但仍带有“鲨鱼”的标签,模型可能会因为视觉上的混淆而难以准确识别和分类。

这种标签不匹配的问题是数据增强方法需要解决的关键挑战之一,因为它直接影响到模型的训练质量和最终的性能。

  • 解耦混合:突出显示了传统Mixup方法可能由于标签不匹配而对模型的损失函数产生不利影响的问题。
  1. 测试和结果:新方法在五个不同的图像基准测试上进行了测试。

    结果表明,与涉及切割和混合图像部分的其他方法相比,SUMix也提高了图像分类器的性能。

 


假设你有两张图像,一张是猫的图像(我们称之为图像 A),另一张是狗的图像(称之为图像 B)。

在深度学习训练中,我们通常会给每张图像一个标签来指示图像内容,例如图像 A 的标签是“猫”,图像 B 的标签是“狗”。

MixUp 操作

在一种称为 MixUp 的数据增强技术中,我们不仅仅是简单地从数据集中选取图像进行学习,而是将两张图像混合在一起生成一张新的图像。

比如,如果我们设定一个比例 ( λ = 0.7 ) (\lambda = 0.7) (λ=0.7),这意味着新图像中有 70% 来自图像 A(猫),30% 来自图像 B(狗)。

标签混合

对于混合后的图像,我们同样混合两个标签。

按照上面的比例,新图像的标签将是 70% 的“猫”和 30% 的“狗”。

这听起来可能有点奇怪,因为通常一个图像只能对应一个标签。

但在 MixUp 训练方法中,这种混合标签的方式可以帮助模型学习更复杂的图像特征,提高模型处理不清晰或重叠图像的能力。

混合交叉熵(MCE)

然而,这种标签混合可能导致一个问题:混合图像的标签可能不太精确,有时候会使模型混淆。

为了解决这个问题,我们可以使用一种特殊的损失函数——混合交叉熵(MCE)。

这种损失函数特别设计来处理混合标签的情况,它通过以下公式计算损失:

[ L M C E = − ( λ × log ⁡ ( f θ ( X ^ ) 猫 ) + ( 1 − λ ) × log ⁡ ( f θ ( X ^ ) 狗 ) ) ] [ L_{MCE} = -\left( \lambda \times \log(f_{\theta}(\hat{X})_{\text{猫}}) + (1 - \lambda) \times \log(f_{\theta}(\hat{X})_{\text{狗}}) \right) ] [LMCE=(λ×log(fθ(X^))+(1λ)×log(fθ(X^)))]

这里, ( f θ ( X ^ ) 猫 ) ( f_{\theta}(\hat{X})_{\text{猫}} ) (fθ(X^)) ( f θ ( X ^ ) 狗 ) ( f_{\theta}(\hat{X})_{\text{狗}} ) (fθ(X^)) 分别是模型预测混合图像为“猫”和“狗”的概率。

这个公式的意义在于,它考虑到了混合图像的复杂性和标签的不确定性,从而使模型在训练时能更准确地理解和学习这种混合的情况。

混合交叉熵(MCE)的核心作用

当我们使用MixUp技术将两个不同的图像混合在一起时(如猫和狗的图像混合),我们同样混合了这些图像的标签。

如果混合的比例是 70% 猫和 30% 狗,那么我们的目标是希望模型能够识别出这张新图像70%像猫和30%像狗。

这里的挑战是,标准的损失函数(如简单的交叉熵)通常只针对单一、明确的标签设计,不适用于处理这种混合标签的情况。

如果只使用传统的交叉熵损失函数,它可能会强迫模型选择最主要的一个类别(在这个例子中是“猫”),而忽略较小比例的类别(“狗”),这不利于模型全面学习图像中的所有特征。

混合交叉熵(MCE)的功能

为了解决这个问题,混合交叉熵(MCE)被设计出来,它特别适合处理带有混合标签的数据。

MCE损失函数通过以下方式工作:

  • 计算每个类别的损失:对于每个类别(猫和狗),计算模型预测该类别的概率的对数损失,并根据其在混合标签中的比例(70%对猫,30%对狗)加权这些损失。

    这意味着模型需要同时考虑到图像中的猫和狗的特征,而不是仅仅优化对主要类别的预测。

  • 优化模型训练:通过这种方式,MCE使得模型在训练过程中不仅要学习识别主要类别,还要注意到较小比例的类别。

    这样的训练方式帮助模型更好地理解和解释混合的数据,从而在实际应用中,当面对类似的混合场景或部分遮挡、不清晰的图像时,能表现出更好的鲁棒性和适应性。

MCE损失函数的设计允许模型更全面地学习和理解图像中的复杂和混合的信息,而不是简单地归类到单一最可能的类别。

这种方法特别适合于训练需要处理不完整、遮挡或复杂场景中对象的模型。

 


CutMix

在这里插入图片描述

图中展示了两个原始图像(左边)和它们经过 CutMix 操作后生成的混合图像(右边)。

原始样本

  • 左侧部分展示了两个原始图像和它们各自的标签:
    • 第一个图像是一只狗,在水中游泳,标签是“dog”。
    • 第二个图像是一只坐在垫子上的猫,标签是“cat”。

这两个图像都附有它们各自的 one-hot 标签。

One-hot 标签是一种编码方式,在这种方式中,每个标签都是一个向量,其中一个元素设为1,表示类别,其余元素设为0。

CutMix 操作

  • 中间部分说明了如何通过 CutMix 方法将两个图像混合在一起。

CutMix 是一种数据增强技术,它通过在一个图像中剪切并粘贴另一个图像的一部分来创建新的图像。

在这个例子中,混合比例设为 0.5,意味着试图在两个类别之间平均分配图像内容。

混合样本

  • 右侧部分展示了经过 CutMix 操作后的结果图像和它们的混合标签:
    • 混合的图像是猫的脸部被粘贴到了狗的图像上。
    • 混合标签现在是狗和猫标签的结合,根据混合比例重新定义,每个类别的贡献都是50%。

这种方法的主要优点是可以通过实际模拟物体的遮挡来增强模型的鲁棒性和泛化能力。

在混合图像中,模型需要识别和处理部分遮挡的对象,这有助于改善模型处理真实世界图像的能力,因为真实世界中的图像往往比训练集中的图像更为复杂和多变。

SUMix 对比 CutMix

在这里插入图片描述

这幅图展示了使用SUMix和其他混合数据增强技术在Tiny-ImageNet数据集上基于ResNeXt-50模型的分类性能比较,以及使用类激活映射(CAM)来可视化不同方法处理结果的效果。

图表部分(左侧)

  • 图表显示了四种不同数据增强方法(CutMix, FMix, SaliencyMix, ResizeMix)以及不使用SUMix(Vanilla)和使用SUMix后的Top-1准确率对比。
    • 橙色柱表示应用了SUMix后的结果。
    • 蓝色柱表示未使用SUMix的基线结果。
    • 可以观察到,在所有方法中,应用SUMix通常能提高模型的Top-1准确率,这表明SUMix能有效提升模型处理图像分类任务的能力。

可视化部分(右侧)

  • 展示了不同方法下的类激活映射(CAM)可视化比较:

    • Vanilla(基础模型,未使用混合技术)
    • CutMix
    • SUMix
    • 这部分通过色彩变化展示了模型在识别图像中特定类别(如鸟类)时关注的区域。
    • CAM可视化帮助我们理解模型在做出分类决策时重点关注的图像部分。
    • 从图中可以看出,使用SUMix的模型在识别图像中的对象时,关注区域更集中且清晰,这可能解释了为什么SUMix能提高分类准确率:它可能帮助模型更有效地学习和识别图像中的关键特征。
  • 这幅图有效地展示了SUMix如何改善深度学习模型在复杂图像分类任务中的表现,尤其是通过更精确的特征学习和关键区域识别。

这表明SUMix不仅提高了模型的准确性,还可能增强了模型对图像中重要特征的解析能力,这对于复杂场景中的对象识别尤其重要。

SUMix 训练流程

在这里插入图片描述

这张图是一个关于SUMix训练过程的框架图,它详细展示了如何处理混合图像样本并通过模型来提取语义和不确定性信息,以及如何应用这些信息来调整混合比率和损失函数。

左侧图解:SUMix的训练流程

  • 输入图像:展示了使用CutMix方法混合的两个图像(熊猫和鲨鱼),并指出混合后鲨鱼部分被覆盖的问题。
  • 特征提取:通过共享权重的网络 ( f θ ) ( f_\theta ) (fθ) 对混合后的图像进行编码,提取特征。
  • 特征处理
    • U ω U_\omega Uω:一个线性层,用于从特征中提取不确定性信息 ( u a , b ) ( u_{a,b} ) (ua,b)
    • u ~ \tilde{u} u~:处理后的不确定性值。
    • z ~ \tilde{z} z~:从编码后的特征中提取出的语义信息。
  • 损失函数:结合语义信息 ( z ~ ) ( \tilde{z} ) (z~) 和不确定性信息 ( u ~ ) ( \tilde{u} ) (u~),使用特殊的损失函数 ( L M C E ) ( L_{MCE} ) (LMCE) 进行训练,这有助于调整混合比率并改进模型性能。

右侧图解:语义和不确定性空间

  • 图中展示了如何计算原始样本和混合样本之间的语义距离(α)和不确定性距离(β)。
  • 语义距离 α \alpha α:指原始样本和混合样本在语义层面上的差异。
  • 不确定性距离 β \beta β:指在不确定性方面的差异,这通常与标签不匹配和特征覆盖有关。
  • 空间表示:展示了如何通过计算这些距离来优化模型的混合比率,以期通过减少不确定性和增强语义相关性来提高模型性能。

这张图的目的是说明SUMix如何在训练过程中综合利用语义和不确定性信息来优化混合图像的处理。

通过调整混合比率和优化损失函数,SUMix旨在解决传统混合方法中的标签不匹配问题,并提高深度学习模型对复杂图像数据的处理能力。

解法拆解

SUMix的目的是提高深度学习模型在面对混合数据样本时的标签匹配精度和泛化能力。

这是通过优化混合图像样本的生成过程并增强对混合样本不确定性的管理来实现的。

解法:SUMix的具体实现方法

  1. 动态混合比率学习(因为需要精确控制混合样本的信息比例)

    • 子解法:使用可学习的相似度函数动态计算混合比率λ。
      • 之所以使用动态混合比率学习,是因为固定的混合比率可能不适合所有类型的图像组合,特别是当两个图像在视觉内容上差异较大时。
      • 例如,将一张猫的图像和一张狗的图像混合,如果混合比率不能根据图像内容动态调整,可能会导致关键特征的丢失,从而影响模型的学习效果。
  2. 不确定性建模(因为混合样本的不确定性需要明确量化和管理)

    • 子解法:设计正则化项来量化和管理混合样本的不确定性。
      • 之所以采用不确定性建模,是因为混合图像带来的标签不明确性可能导致学习过程中的误差累积。
      • 例如,在图像分类任务中,混合了猫和狗的图像如果不恰当地处理其标签不确定性,模型可能无法正确学习到猫和狗的区分特征。

逻辑链

  1. 是否需要调整混合比率?

    • 为什么要调整?:在处理混合图像时,不同图像的特征可能需要不同的重视程度。

    • 例如,如果一张图像主要是背景,而另一张图像包含一个物体,我们可能想要在生成的混合图像中给予物体更高的比重。

    • 如何调整?:通过一个可学习的函数来动态计算每个图像应该贡献多少信息到最终的混合图像中。

    • 这个比率称为混合比率λ。

    • 决策分支

      • :如果图像之间的视觉内容差异很大,例如一张图像是城市景观,另一张是海滩景观,我们需要动态调整混合比率,以确保生成的图像既包含城市的元素也不丢失海滩的特色。
      • :如果图像内容相似或者混合比率的精确度不是特别关键,可以使用传统的固定混合比率。
  2. 是否需要管理混合样本的不确定性?

    • 为什么要管理?:混合生成的图像可能在视觉上不如原始图像明确,这会导致模型学习时产生误解。

    • 例如,如果猫和狗的图像被混合,而混合的方式让猫的特征在视觉上变得不明显,模型可能难以识别出“猫”的特征。

    • 如何管理?:通过引入一个正则化项来量化和处理这种不确定性。这可以帮助模型更好地理解哪部分信息是确定的,哪部分是不确定的。

    • 决策分支

      • :如果在混合后的样本中存在标签信息的不确定性或视觉特征的模糊性,例如一部分被认为是猫的图像实际上看起来更像背景,那么实施不确定性建模,通过正则化项来优化这种不确定性。
      • :如果所有混合样本都足够清晰且标签准确,可能不需要额外的不确定性管理。

这个决策树是一个链条型的逻辑链,先判断是否需要调整混合比率,然后基于混合比率调整的结果进一步判断是否需要管理不确定性。

这样的结构有助于有针对性地优化混合数据增强过程,确保生成的图像既保持了必要的信息也优化了学习效果。

增强效果

表格 1:在CIFAR-100、Tiny-ImageNet 和 ImageNet-1K 上的性能

在这里插入图片描述

  • 列信息:该表格被划分为三个主要的数据集:CIFAR-100、Tiny-ImageNet 和 ImageNet-1K,为不同模型如 ResNet18、ResNeXt50 和 W-ResNet28-8 提供性能指标。
  • 行信息:列出了 CutMix、FMix、SaliencyMix 和 ResizeMix 等不同的混合方法及其相应的Top-1准确率。带星号(*)的行表示与相应方法一起使用了SUMix。
  • 发现:在几乎所有方法和模型中,应用SUMix一致地提高了准确率。例如,在CIFAR-100中,平均增益从+0.82%到+1.07%不等。

表格 2:在CUB200、FGVC-Aircrafts 和 Stanford-Cars 上的性能

在这里插入图片描述

  • 列信息:使用的数据集包括 CUB200、FGVC-Aircrafts 和 Stanford-Cars,为像 ResNet18 和 ResNeXt50 这样的模型提供性能指标。
  • 行信息:与表格 1 类似,列出了各种混合方法与及不使用和使用SUMix的情况(通过星号标示)。
  • 发现:SUMix的增强效果明显,尽管在FGVC-Aircrafts和Stanford-Cars中的提升较为适度。尤其是在CUB200中,使用SUMix后在ResNeXt50模型上显示出显著的性能提升。

表格 3:在使用Vision Transformer模型的CIFAR100上的性能

在这里插入图片描述

  • 列信息:评估的模型包括 DeiT-Small 和 Swin-Tiny,专注于CIFAR100。
  • 行信息:表中显示了基本混合方法及其使用SUMix增强版本的性能。
  • 发现:SUMix倾向于提升性能,特别是在像 Swin-Tiny 这样的新型模型架构中,改进更为明显。

表格 4:在CIFAR100上基于显著性的混合方法的性能

在这里插入图片描述

  • 列信息:为ResNet18和ResNeXt50提供性能数据。
  • 行信息:这个表格特别比较了如 PuzzleMix 和 AutoMix 这样的基于显著性的混合方法,分别在不使用和使用SUMix的情况下的性能。
  • 发现:同样,SUMix的加入在所有方面都增强了性能,特别是在处理复杂图像特征的模型中,提升尤为突出。

这些表格总体上表明,SUMix在添加到各种混合方法中时,一致地增强了在广泛的数据集和架构上的模型准确性。

这证明了SUMix在缓解许多混合方法中固有的标签不匹配问题上的有效性,并突出了其在增强深度学习模型的学习鲁棒性,特别是在复杂的视觉识别任务中的潜力。

不同混合数据增强方法在不同遮挡比率

在这里插入图片描述
这幅图展示了不同混合数据增强方法在不同遮挡比率下的鲁棒性测试结果。

图顶部显示了一系列逐步增加遮挡的鸟类图像,从完全可见(0%遮挡)到完全不可见(100%遮挡)。

下方的四个图表分别比较了使用SUMix和传统混合方法(CutMix、FMix、SaliencyMix和ResizeMix)在ImageNet-1K数据集上的Top-1准确率表现。

  1. CutMix vs. SUMix

    • 图表展示了随着遮挡比率的增加,CutMix和SUMix的分类准确率如何变化。
    • 红线(SUMix)在所有遮挡级别下都保持比蓝线(CutMix)更高的准确率,显示SUMix在处理遮挡时更为有效。
  2. FMix vs. SUMix

    • 同样,FMix的性能(蓝线)随着遮挡的增加而下降,而SUMix(红线)表现出更好的稳定性和准确性。
  3. SaliencyMix vs. SUMix

    • SaliencyMix在遮挡情况下的表现也是逐渐下降,但SUMix依旧表现出较高的鲁棒性。
  4. ResizeMix vs. SUMix

    • ResizeMix在遮挡条件下的表现类似于其他方法,而SUMix显示出更优的性能保持。

这幅图表明,SUMix在各种遮挡条件下提供了比传统混合方法更优的性能和稳定性。

SUMix通过改善对遮挡的处理,能够有效提高深度学习模型在现实世界应用中的适应性和准确性,这在图像识别任务中尤为重要。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

$accumulator(聚合)

$accumulator 是 MongoDB 聚合管道中用于自定义数据处理逻辑的一个算子,它允许用户使用 JavaScript 编写代码来控制数据的初始化、累积、合并和最终输出。下面是对 $accumulator 各个部分的详细解释: init: 这是一个 JavaScript 函数,用于初…

数据结构回顾(Java)

1.数组 线性表 定义的方式 int[] anew int[10] 为什么查询快? 1.可以借助O(1)时间复杂度访问某一元素, 2.地址连续,逻辑连续 3.数组长度一旦确定就不可以被修改 当需要扩容的时候需要将老数组的内容复制过来 在Java中数组是一个对象 Ar…

多样化数据可视化方法的全面示例:基于Python的多样化数据可视化

文章目录 前言代码效果展示 前言 本文演示了使用Python进行温度数据的多样化可视化方法。通过导入、处理和分析气象数据,我们生成了多种图表,包括直方图、核密度估计图、箱型图、小提琴图、条形图、山脊图、经验累积分布函数图和折线图。这些图表帮助我…

国内体外诊断行业翘楚『迈克生物』SRM项目启动,企企通赋能IVD产业打造高效采购供应链体系

IVD行业(体外诊断行业)在医疗领域被誉为“医生的眼睛”,是现代检验医学的重要构成部分,在临床应用中贯穿了疾病预防、初步诊断、治疗方案选择、疗效评价等疾病治疗的全过程,在现代医学疾病诊断中发挥着重要作用。 随着…

springboot1——快速构建项目

需求 第一步:创建maven工程(非web项目) 第二步:导入起步依赖 点击: 下拉复制: 粘贴:!!这是springboot工程需要继承的父工程 下拉复制: 粘贴:!&#xf…

JAVA:常用的链表指南

请关注微信公众号:拾荒的小海螺 博客地址:http://lsk-ww.cn/ 1、简述 链表是一种常见的数据结构,它通过一系列节点(Node)来表示一个序列。每个节点包含数据和指向下一个节点的引用。链表的种类有很多,包括…

网络文件系统—NFS

目录 一、概述 二、NFS挂载原理 三、NFS相关协议及软件安装管理 1.协议: 2.软件: 四、NFS系统守护进程 五、NFS服务器的配置 六、NFS服务器的启动与停止 1. 启动NFS服务器 2.查询NFS服务器状态 3.停止NFS服务器 4.设置NFS服务器的自动启动状…

games103作业2(未完)

PBD方法 首先是每个质点的力的分析,不考虑碰撞和弹簧弹力的情况下,每个质点受重力的影响,所以需要对每个质点进行速度和位置的重力影响更新。 float t 0.0333f; float damping 0.99f; int[] E; float[] L; Vector3[] V; Vector3 gra…

【数学建模】——数学规划模型

目录 一、线性规划(Linear Programming) 1.1 线性规划的基本概念 1.2 线性规划的图解法 模型建立: 二、整数规划(Integer Programming) 2.1 整数规划的基本概念 2.2 整数规划的求解方法 三、非线性规划&#x…

<数据集>绝缘子缺陷检测数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:2139张 标注数量(xml文件个数):2139 标注数量(txt文件个数):2139 标注类别数:8 标注类别名称:[insulator, broken disc, pollution-flashover, Two glass, Glassdirt…

220V降压5ⅤIC-AH8652

220V降压至5V的IC - AH8652 在电子设计中,电压转换是一个常见的需求,尤其是在需要将高电压转换为低电压以供电给微电子设备时。AH8652是一款专为降压转换设计的集成电路,它能够将220V的交流输入电压转换为稳定的5V直流输出,非常适…

Camunda如何通过外部任务与其他系统自动交互

文章目录 简介流程图外部系统pom.xmllogback.xml监听类 启动流程实例常见问题Public Key Retrieval is not allowed的解决方法java.lang.reflect.InaccessibleObjectException 流程图xml 简介 前面我们已经介绍了Camunda的基本操作、任务、表: Camunda组件与服务与…

spring6之容器:IOC

容器:IOC 控制反转(Ioc) IoC容器在Spring的实现 Spring 的 IoC 容器就是 IoC思想的一个落地的产品实现。IoC容器中管理的组件也叫做 bean。在创建 bean 之前,首先需要创建IoC 容器。Spring 提供了IoC 容器的两种实现方式&#xf…

华为HCIP Datacom H12-821 卷39

1.填空题 请2001 :0DB8:0000:C030:0000: 000: 09A0:CDEF地址进行压缩。() (若答案中存在字母,请采用大写格式) 参考答案:2001 :DB8:0:C030: :9A0:CDEF 解析: IPv6地址的表示方法 IPv6地址总长度为128比特,通常分为8组&#xff0c…

防御综合实验作业2

办公区设备可以通过电信链路和移动链路上网(多对多的NAT,并且需要保留一个公网IP NAT策略: 安全策略: 测试: 分公司设备可以通过总公司的移动链路和电信链路访问到Dmz区的http服务器 是怎么转换的,首先分公司的用户需…

温度如何影响输入失调电压

目录 一、概念理解 二、仿真理解 一、概念理解 在手册中有这样一个参数:输入失调电压漂移(input offset voltage drift / offset drift) 以上图为例,这个参数理解为:常温下(25℃)每增减1摄氏度…

【STM32开发笔记】搭建VSCode+PyOCD的STM32开发环境

【STM32开发笔记】搭建VSCodePyOCD的STM32开发环境 一、安装软件1.1 安装STM32CubeMX1.2 安装VSCode1.3 安装Arm GNU Toolchain1.4 安装Make for Windows1.5 安装Python1.6 安装PyOCD 二、安装插件2.1 VSCode插件2.2 PyOCD支持包 三、创建项目3.1 创建STM32CubeMX项目3.2 查阅原…

PostgreSQL 中如何处理数据的并发读写和锁等待超时?

🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会!📚领书:PostgreSQL 入门到精通.pdf 文章目录 PostgreSQL 中如何处理数据的并发读写和锁等待超时一、并发读写的基本概念(一)…

org/openxmlformats/schemas/spreadsheetml/x2006/main/CTWorkbook$Factory

org/openxmlformats/schemas/spreadsheetml/x2006/main/CTWorkbook$Factory POI的问题 在操作Excel时,出现这个问题是因为缺少了poi-ooxml-schema jar包,并且与poi的jar包版本一致

html02-标签继续学习

1.列表标签 1.1 列表标签的使用场景 场景&#xff1a;在网页中按照 行 展示关联性的内容&#xff0c;如&#xff1a;新闻列表、排行榜、账单等 特点&#xff1a;按照行的方式&#xff0c;整齐显示内容 种类&#xff1a;无序列表、有序列表、自定义列表 1.2无序列表 <!--…