对比学习与图像去雾在24TIP和CVPR经典图像去雾论文中的良好结合,展示出模型良好的泛化能力(本期内容较详细 多)

news2024/11/20 18:38:18

今天主要内容是图像去雾,对比学习,无监督学习,要分享的三篇论文分别是:
21CVPR Contrastive Learning for Compact Single Image Dehazing
24 TIP UCL-Dehaze: Toward Real-World Image Dehazing via Unsupervised Contrastive Learning
24 CVPR ODCR: Orthogonal Decoupling Contrastive Regularization for Unpaired Image Dehazing
以及关于对比学习和模型泛化能力的碎碎念
下面开始正题

引言

相信很多做深度学习的同学对“对比学习”都不陌生,,今天的学习笔记·和·对比学习,图像去雾 都有联系,所以先回顾一下什么是对比学习:

对比学习的概念:

对比学习(Contrastive Learning)是一种自监督学习方法,通过比较数据样本之间的相似性和差异性来学习数据的良好特征或表征。其核心目标是通过对比相似和不相似样本,使模型学习到更加鲁棒的特征表示。

对比学习的基本思想源自表征学习中的相似性度量。在对比学习中,给定一个样本,模型需要判断哪些样本与它相似(正样本对),哪些样本与它不相似(负样本对)。这种相似性可以通过定义相似度函数(如余弦相似度)来衡量。模型的目标是最大化相似样本对之间的相似性,同时最小化不相似样本对之间的相似性。

对比学习包含几个关键组件:

数据增强:通过随机裁剪、翻转、颜色扰动等操作生成正样本对。
特征编码器:通常使用深度卷积神经网络(CNN)或预训练的Transformer模型提取样本的特征。
投影头:将特征编码器提取的高维特征通过小型全连接网络映射到较低维的空间。
相似度函数:常用的相似度度量包括欧几里得距离和余弦相似度,用于计算样本对之间的相似性。
对比损失函数:如InfoNCE损失,帮助模型学习区分正负样本对。

对比学习在许多领域都有广泛的应用

例如计算机视觉、自然语言处理和音频处理等。例如,在计算机视觉领域,对比学习被广泛应用于图像识别、目标检测和人脸识别等任务。在自然语言处理领域,对比学习被用于文本分类、情感分析、机器翻译等任务。此外,在音频处理领域,对比学习也被用于语音识别和音频分类等任务。

对比学习的成功在很大程度上取决于损失函数的设计。例如,InfoNCE损失函数就是基于互信息最大化的思想,通过优化正样本对的一致性并惩罚不匹配的负样本对来实现学习目标。此外,对比学习模型通常需要大量计算资源,但通过使用记忆库(Memory Bank)或动态量化等技术可以减少资源消耗

关于对比学习的概念我们先介绍到这,最近看了几篇与对比学习相关的顶刊和顶会图像去雾论文,都比较精彩,并且也都有一定的关联,今天总结一些亮点,一起学习一下:

在开始引入一下24年的两篇论文之前,我们先来看一篇关于对比正则化图像去雾比较经典的21年CVPR论文

题目:Contrastive Learning for Compact Single Image Dehazing
链接:https://openaccess.thecvf.com/content/CVPR2021/papers/Wu_Contrastive_Learning_for_Compact_Single_Image_Dehazing_CVPR_2021_paper.pdf
代码链接:https://github.com/GlassyWu/AECR-Net.

这一篇论文是我刚接触对比正则化的时候看的一篇论文,很亮眼,先来看他的摘要:

摘要:

Single image dehazing is a challenging ill-posed problem due to the severe information degeneration. However,
existing deep learning based dehazing methods only adopt clear images as positive samples to guide the training of dehazing network while negative information is unexploited.Moreover, most of them focus on strengthening the dehazing network with an increase of depth and width, leading to a significant requirement of computation and memory. In this paper, we propose a novel contrastive regularization (CR) built upon contrastive learning to exploit both the information of hazy images and clear images as negative and positive samples, respectively. CR ensures that the restored image is pulled to closer to the clear image and pushed to far away from the hazy image in the representation space. Furthermore, considering trade-off between performance and memory storage, we develop a compact dehazing network based on autoencoder-like (AE) framework. It involves an adaptive mixup operation and a dynamic feature enhancement module, which can benefit from preserving information flow adaptively and expanding the receptive field to improve the network’s transformation capability, respectively. We term our dehazing network with autoencoder and contrastive regularization as AECR-Net. The extensive experiments on synthetic and real-world datasets demonstrate that our AECR-Net surpass the state-of-the-art approaches
单图像去雾是一个具有挑战性的不适定问题,因为严重的信息退化。然而,现有的基于深度学习的去雾方法只采用清晰图像作为正样本来指导去雾网络的训练,而负面信息却没有被利用。此外,它们中的大多数专注于通过增加深度和宽度来加强去雾网络,这导致对计算和内存的显著需求。在本文中,我们提出了一种新的对比正则化(CR),它建立在对比学习的基础上,利用雾化图像和清晰图像的信息分别作为负样本和正样本。CR确保恢复的图像在表示空间中被拉得更接近清晰图像,并被推得远离雾化图像。此外,考虑到性能和内存存储之间的权衡,我们开发了一个基于自动编码器(AE)框架的紧凑去雾网络。它涉及一个自适应混合操作和一个动态特征增强模块,分别可以从自适应地保留信息流和扩展接受域来提高网络的转换能力中受益。我们将我们的自动编码器和对比正则化的去雾网络称为AECR-Net。在合成和真实世界数据集上的广泛实验表明,我们的AECR-Net超越了最先进的方法。

再看本文的问题背景:

单图像去雾是一个具有挑战性的不适定问题,因为雾会导致图像中严重信息退化。现有的基于深度学习的去雾方法通常只使用清晰图像作为正样本来指导去雾网络的训练,而没有利用负面信息。此外,这些方法大多通过增加网络的深度和宽度来加强去雾网络,导致对计算和内存的显著需求。

研究目标:

提出一种新的对比正则化(CR)方法,利用雾化图像和清晰图像的信息分别作为负样本和正样本,以此来改善去雾效果。

方法论:

对比正则化(CR):提出了一种新的对比正则化方法,通过对比学习利用雾化和清晰图像的信息。CR确保恢复的图像在表示空间中更接近清晰图像,同时远离雾化图像。
自适应混合(Mixup)操作:提出了一种自适应的Mixup操作,它允许来自下采样部分的浅层特征自适应地流向上采样部分的高层特征,有助于特征保留。
动态特征增强(DFE)模块:通过可变形卷积动态扩展接受域,以融合更多的空间结构化信息,显著提高去雾网络的性能。
自动编码器(AE)框架:开发了一个基于自动编码器框架的紧凑去雾网络,通过在低分辨率空间进行密集卷积计算并减少层数,从而减少参数数量。

实验:

在合成和真实世界的多个数据集上进行了广泛的实验,证明了AECR-Net在去雾性能上超越了现有的最先进方法。

网络架构:

提出的AECR-Net结合了自动编码器和对比正则化,网络结构轻量化,参数数量少,同时保持了高性能。
在这里插入图片描述
该网络框图很清晰的表现了本文中提出的对比学习方法,请记住这里出现的“positives and negatives”以及“push and pull”,我们后面要介绍道的两篇经典论文也会出现类似的“idea”

创新点:

提出了一种新的对比正则化方法,可以作为通用正则化来进一步提高各种最先进去雾网络的性能。
提出了自适应Mixup和DFE模块,有助于去雾模型自适应地保留信息流,并增强网络的转换能力。

结论:

AECR-Net通过对比正则化和高度紧凑的自动编码器框架去雾网络,有效地生成了高质量的无雾图像,实现了性能和参数数量之间的最佳权衡。

因为该篇论文中提到的算法很大程度上改进了浓雾和非均匀雾数据集上的去雾效果,无论是定性比较还是定量比较,都比较有参考意义,则也是去雾领域上比较经典的论文之一。

接下来就是要给大家介绍的另两篇与图像去雾,对比学习等概念相关的论文了。

第一篇:24年发表在IEEE TRANSACTIONS ON IMAGE PROCESSING(简称TIP)期刊上的论文

论文题目:UCL-Dehaze: Toward Real-World Image Dehazing via Unsupervised Contrastive Learning
即:利用无监督的对比学习处理真实世界中的图像去雾任务
主要内容是:为图像去雾领域提供了一种新的无监督学习方法,通过利用真实世界的图像数据,提高了去雾效果的真实感和泛化能力。

Abstract— While the wisdom of training an image dehazing model on synthetic hazy data can alleviate the difficulty of collecting
real-world hazy/clean image pairs, it brings the well-known domain shift problem. From a different yet new perspective, this paper
explores contrastive learning with an adversarial training effort to leverage unpaired real-world hazy and clean images, thus alleviating
the domain shift problem and enhancing the network’s generalization ability in real-world scenarios. We propose an effective unsupervised contrastive learning paradigm for image dehazing, dubbed UCL-Dehaze. Unpaired real-world clean and hazy images are easily captured, and will serve as the important positive and negative samples respectively when training our UCL-Dehaze network. To train the network more effectively, we formulate a new self-contrastive perceptual loss function, which encourages the restored images to approach the positive samples and keep away from the negative samples in the embedding space. Besides the overall network architecture of UCL-Dehaze, adversarial training is utilized to align the distributions between the positive samples and the dehazed images.Compared with recent image dehazing works, UCL-Dehaze does not require
paired data during training and utilizes unpaired positive/negativedata to better enhance the dehazing performance. We conduct
comprehensive experiments to evaluate our UCL-Dehaze and demonstrat its superiority over the state-of-the-arts, even only 1,800 unpaired real-world imagesare used to train our network.

摘要:尽管在合成的雾化数据上训练图像去雾模型可以减轻收集真实世界雾化/清晰图像对的难度,但它带来了众所周知的领域偏移问题。从一个新的不同角度,本文探索了对比学习与对抗性训练相结合,利用未配对的真实世界雾化和清晰图像,从而减轻领域偏移问题,并增强网络在真实世界场景中的泛化能力。我们提出了一种有效的无监督对比学习范式用于图像去雾,称为UCL-Dehaze。未配对的真实世界清晰和雾化图像可以轻松捕获,并在训练我们的UCL-Dehaze网络时分别作为重要的正负样本。为了更有效地训练网络,我们提出了一种新的自对比感知损失函数,它鼓励恢复的图像在嵌入空间中接近正样本并远离负样本。除了UCL-Dehaze的整体网络架构外,还利用对抗性训练来对齐正样本和去雾图像之间的分布。与最近的图像去雾工作相比,UCL-Dehaze在训练过程中不需要配对数据,并利用未配对的正/负数据来更好地增强去雾性能。我们进行了全面的实验来评估我们的UCL-Dehaze,并展示了其在仅使用1800张未配对的真实世界图像来训练我们的网络时,就已经超过最先进的技术的优势。

原文链接:https://arxiv.org/pdf/2205.01871
代码链接:https://github.com/yz-wang/UCL-Dehaze

下面简单给大家总结一下该论文的主要内容:

问题背景:

在合成的雾化数据上训练图像去雾模型虽然可以减轻收集真实世界雾化/清晰图像对的难度,但它带来了领域偏移问题,即合成数据与真实世界的雾化图像之间存在差异。

研究目标:

探索对比学习与对抗性训练,利用未配对的真实世界雾化和清晰图像,以减轻领域偏移问题,并增强网络在真实世界场景中的泛化能力。

方法论:

UCL-Dehaze框架:提出了一种有效的无监督对比学习范式,称为UCL-Dehaze,用于图像去雾。
正负样本:未配对的真实世界清晰和雾化图像作为正负样本。
自对比感知损失函数:制定了一种新的自对比感知损失函数,鼓励恢复的图像接近正样本并远离负样本。
对抗性训练:利用对抗性训练来对齐正样本和去雾图像之间的分布。

实验:

进行了全面的实验评估UCL-Dehaze,并证明其优于现有技术,即使仅使用1800个未配对的真实世界图像来训练网络。
网络架构:
使用UNet-like生成器和PatchGAN鉴别器。
引入了自校准卷积(SC Conv)作为多尺度特征提取模块。

创新点:

1.提出了一种新的无监督对比学习范式,不需要成对数据。
2.制定了一种新的逐像素对比损失函数,即自对比感知损失。

那么本文的网络图也是比较详细,也很有亮点,下面展示一下整体网络图,小伙伴们可以通过详细阅读原文来更好的理解本文模型。
在这里插入图片描述

从图中可以看到,这篇论文中的创新点很好的融合了对比学习(negatives和positives)和无监督两个亮点,而且损失函数部分原文介绍的也很详细,仔细看可以学到些经验。

实验结果:

在合成数据集和真实世界的雾化图像上都取得了优异的性能。

结论:

UCL-Dehaze通过无监督对比学习框架有效地利用了未配对的真实世界图像,提高了去雾性能,并在真实世界的雾化场景中具有良好的泛化能力。

当然,这篇论文还有一点吸引我的是在文末提到的

本文模型的局限性:在处理非常浓重的雾化场景时,UCL-Dehaze的去雾效果可能不够稳健,难以自然恢复整个场景和物体的边缘 。

这个也是现在深度学习尤其是无监督的深度学习算法普遍会面临和需要解决的问题,值得关注。

第二篇:24年发表在顶会CVPR上的论文

论文题目:ODCR: Orthogonal Decoupling Contrastive Regularization for Unpaired Image Dehazing
即:利用正交解耦对比正则化来处理非配对图像去雾问题;
主要内容是:提出了一种新的无监督学习方法,用于解决未配对图像去雾(UID)问题,通过利用未配对的真实世界的图像数据,提高了去雾效果的真实感和泛化能力

Abstract: Unpaired image dehazing (UID) holds significant research importance due to the challenges in acquiring haze/clear image pairs with identical backgrounds. This paper proposes a novel method for UID named Orthogonal Decoupling Contrastive Regularization (ODCR). Our method is grounded in the assumption that an image consists of both haze-related features, which influence the degree of haze, and haze-unrelated features, such as texture and semantic information.ODCR aims to ensure that the haze-related features of the dehazing result closely resemble those of the clear image, while the haze-unrelated features align with the input hazy image. To accomplish the motivation, Orthogonal MLPs optimized geometrically on the Stiefel manifold are proposed, which can project image features into an orthogonal space, thereby reducing the relevance between different features. Furthermore, a task-driven Depth-wise Feature Classifier (DWFC) is proposed, which assigns weights to the orthogonal features based on the contribution of each channel’s
feature in predicting whether the feature source is hazy or clear in a selfsupervised fashion. Finally, a Weighted PatchNCE (WPNCE) loss is introduced to achieve the pulling of hazerelated features in the output image toward those of clear images, while bringing
haze-unrelated features close to those of the hazy input. Extensive experiments demonstrate the superior performance of our ODCR method on UID.
摘要:未配对图像去雾(UID)由于获取具有相同背景的雾化/清晰图像对的挑战而具有重要的研究意义。本文提出了一种名为正交解耦对比正则化(ODCR)的新方法。我们的方法基于这样的假设:图像由雾化相关特征和雾化不相关特征组成,前者影响雾化程度,后者如纹理和语义信息。ODCR旨在确保去雾结果的雾化相关特征与清晰图像非常相似,而雾化不相关特征与输入的雾化图像一致。为了实现这一目标,提出了在Stiefel流形上几何优化的正交MLPs,它可以将图像特征投影到正交空间,从而减少不同特征之间的相关性。此外,提出了一种任务驱动的深度特征分类器(DWFC),它以自监督的方式根据每个通道的特征在预测特征来源是雾化还是清晰方面的贡献来为正交特征分配权重。最后,引入了加权PatchNCE(WPNCE)损失,以实现将输出图像中的雾化相关特征向清晰图像的特征拉动,同时使雾化不相关特征接近雾化输入的特征。广泛的实验表明,我们的ODCR方法在UID上的性能优于现有技术。

原文链接:https://openaccess.thecvf.com/content/CVPR2024/papers/Wang_ODCR_Orthogonal_Decoupling_Contrastive_Regularization_for_Unpaired_Image_Dehazing_CVPR_2024_paper.pdf
补充材料链接:https://openaccess.thecvf.com/content/CVPR2024/supplemental/Wang_ODCR_Orthogonal_Decoupling_CVPR_2024_supplemental.pdf

在阅读论文主要内容之前,我们先来介绍一下什么是正交解耦,因为我刚开始也对这个概念不清淅:

正交解耦(Orthogonal Decoupling)是一种在数学和工程领域常见的概念,它描述的是两个或多个变量或系统之间的一种相互独立的状态。在向量空间中,如果两个向量的点积为零,则称这两个向量正交,这意味着它们之间没有相关性,即一个向量的变化不会影响到另一个向量。
在机器学习和图像处理的上下文中,正交解耦通常用来指代将特征空间中的不同特征强制分离,使得它们之间相互独立,从而减少它们之间的相互影响。这样做可以帮助提高模型的泛化能力和解释性。

我们再大致看一下这篇论文的主要内容:

问题背景:

未配对图像去雾(UID)是一个具有挑战性的任务,因为获取具有相同背景的雾化/清晰图像对非常困难。

研究目标:

提出一种名为正交解耦对比正则化(ODCR)的新方法,用于改善UID问题。

方法论:

正交解耦:提出使用正交多层感知器(Orthogonal MLPs),在Stiefel流形上进行几何优化,将图像特征投影到正交空间,减少不同特征之间的相关性。
样本重新划分:提出了一种新的样本正负样本划分策略,将特征分为雾化相关和不相关的部分,并在各自的特征空间中进行划分。
深度特征分类器(DWFC):引入了一个自监督的DWFC,为正交特征分配权重,这些权重基于每个通道特征在预测特征来源(雾化或清晰)方面的贡献。
加权PatchNCE(WPNCE)损失:提出了WPNCE损失函数,以实现在输出图像中将雾化相关特征向清晰图像的特征拉动,同时使雾化不相关特征接近雾化输入的特征。

实验:

进行了广泛的实验来评估ODCR方法,并证明了其在UID任务上的优越性能。

网络架构:

使用了改进的生成器网络,该网络能够输出去雾图像,并且去雾结果的雾化程度接近清晰图像,同时保持输入雾化图像的纹理和语义信息。
在这里插入图片描述
在这里插入图片描述
我个人认为这篇论文中的网络框图画的非常仔细,也很清晰,也很有借鉴意义,推荐大家读一读论文细节内容

创新点:

提出了一种新的无监督学习方法,通过正交约束来解耦图像特征。
提出了一种自监督的特征分类器,用于区分雾化相关和不相关特征。
提出了一种新的损失函数,用于在不同特征空间中最大化查询样本和正样本之间的互信息。

结论:

ODCR方法通过正交解耦和对比学习,有效地利用了未配对的真实世界图像,提高了去雾效果,并在真实世界的雾化场景中具有良好的泛化能力。

现在我们再回到论文的题目:ODCR: Orthogonal Decoupling Contrastive Regularization for Unpaired Image Dehazing,我们再来重新梳理一下,本文是怎么使用正交解耦这种方法来处理去雾问题的,我想,大概可以总结为以下三点:

正交MLPs(多层感知器):通过在Stiefel流形上进行几何优化,将图像特征投影到正交空间,从而减少不同特征之间的相关性。

深度特征分类器(DWFC):这是一个自监督的方法,用于根据每个通道特征在预测图像是雾化还是清晰方面的贡献,为正交特征分配权重。

加权PatchNCE(WPNCE)损失:引入这种损失函数,以实现在输出图像中将雾相关特征向清晰图像的特征拉动,同时使雾无关特征接近雾化输入的特征。

好了,以上是三篇关于对比学习以及无监督学习在图像去雾方向的应用,我们可以观察到两个论文都提到了一件事情,即: 模型的泛化能力。

我们先来了解一下什么是模型的泛化能力

模型的泛化能力是指机器学习模型对未见过的新数据进行预测的能力。换句话说,它描述了模型在处理与训练数据不同的新输入时的表现。一个具有强泛化能力的模型能够从训练数据中学习到普适的模式,并能够将这些模式应用到新的、未知的数据上,从而做出准确的预测。

泛化能力与以下因素有关:

训练数据的多样性:如果模型在多样化的数据集上训练,它更有可能学习到适用于各种情况的通用特征,而不是仅仅记住训练样本。

模型复杂度:模型太简单可能无法捕捉数据中的复杂关系,而模型太复杂则可能会过度拟合训练数据,导致泛化能力下降。

正则化技术:如L1、L2正则化,可以减少模型复杂度,帮助模型泛化。

交叉验证:通过将数据集分成多个子集,进行多次训练和验证,可以评估模型的泛化能力。

模型选择:选择一个合适的模型对于泛化至关重要。有时候,即使最简单的模型也能提供良好的泛化。

数据预处理:适当的数据预处理,如归一化、去噪,可以帮助模型更好地学习数据的内在结构。

集成学习:通过组合多个模型的预测,可以减少模型的方差,提高泛化能力。

迁移学习:将在一个任务上训练的模型应用到相关但不同的任务上,可以利用模型在源任务上学到的知识。

泛化能力是评估机器学习模型性能的关键指标之一。一个模型在训练集上表现良好并不总是意味着它在实际应用中也能表现良好,因此泛化能力是模型从实验环境走向实际应用的重要考量因素。我想,这也是现在深度学习模型,无论是图像去雾,去雨,去噪,或者其他的模型都应该考虑的一件事情。

以上就是这次的分享内容,希望对大家有帮助!

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

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

相关文章

stm32f103调试,程序与定时器同步设置

在调试定时器相关代码时,注意到定时器的中断位总是置1,怀疑代码有问题,经过增大定时器的中断时间,发现定时器与代码调试并不同步,这一点对于调试涉及定时器的代码是非常不利的,这里给出keil调试stm32使定时…

HTB:Vaccine[WriteUP]

目录 连接至HTB服务器并启动靶机 1.Besides SSH and HTTP, what other service is hosted on this box? 2.This service can be configured to allow login with any password for specific username. What is that username? 3.What is the name of the file downloaded…

Kafka和RabbitMQ区别

RabbitMQ的消息延迟是微秒级,Kafka是毫秒级(1毫秒1000微秒) 延迟消息是指生产者发送消息发送消息后,不能立刻被消费者消费,需要等待指定的时间后才可以被消费。 Kafka的单机呑吐量是十万级,RabbitMQ是万级…

10.4 Linux_并发_线程

概述 线程的共享资源&#xff1a; 可执行的指令、静态数据、文件描述符、当前工作目录、用户ID、用户组ID 线程的私有资源&#xff1a; 线程ID、程序计数器PC和相关寄存器、堆栈、错误号、优先级、执行状态和属性 线程编译&#xff1a; gcc <.c文件> -l pthread -o…

数据集-目标检测系列- 螃蟹 检测数据集 crab >> DataBall

数据集-目标检测系列- 螃蟹 检测数据集 crab >> DataBall 数据集-目标检测系列- 螃蟹 检测数据集 crab >> DataBall 数据量&#xff1a;3k 想要进一步了解&#xff0c;请联系。 DataBall 助力快速掌握数据集的信息和使用方式&#xff0c;会员享有 百种数据集&a…

加密与安全_TOTP 一次性密码生成算法

文章目录 PreTOTP是什么TOTP 算法工作原理TOTP 生成公式TOTP 与 HOTP 的对比Code生成TOTP验证 TOTP使用场景小结 TOTP 与 HOTP 的主要区别TOTP 与 HOTP应用场景比较TOTP 与 HOTP安全性分析 Pre 加密与安全_HTOP 一次性密码生成算法 https://github.com/samdjstevens/java-tot…

YOLO11改进|卷积篇|引入可变核卷积AKConv

目录 一、AKConv卷积1.1AKConv卷积介绍1.2MLCA核心代码 五、添加MLCA注意力机制5.1STEP15.2STEP25.3STEP35.4STEP4 六、yaml文件与运行6.1yaml文件6.2运行成功截图 一、AKConv卷积 1.1AKConv卷积介绍 AKConv允许卷积参数的数量以线性方式增加或减少&#xff0c;而不是传统的平…

C# 表达式与运算符

本课要点&#xff1a; 1、表达式的基本概念 2、常用的几种运算符 3、运算符的优先级 4、常见问题 一 表达式 表达式是由运算符和操作数组成的。、-、*和/等都是运算符&#xff0c;操作数包括文本、常量、变量和表达式等。 二 算术运算符 2.1 算术运算符的使用 三 常见错误 …

Cocotb 学习记录--V01

1. Windows 下安装cocotb pip install cocotb 其他参考&#xff1a; 1.Welcome to cocotb’s documentation! — cocotb 1.9.1 documentation

【Koa】文件上传

主要使用两个 koa 插件&#xff0c;koa-body 里面自带文件上传功能&#xff0c;还有一个 koa-staitc 用于配置静态资源目录&#xff08;可以通过路径直接访问图片&#xff09;。 router const Router require(koa/router); const {upload} require(../controller/user);con…

Spring之生成Bean

Bean的生命周期&#xff1a;实例化->属性填充->初始化->销毁 核心入口方法&#xff1a;finishBeanFactoryInitialization-->preInstantiateSingletons DefaultListableBeanFactory#preInstantiateSingletons用于实例化非懒加载的bean。 1.preInstantiateSinglet…

【RADARSAT Constellation Mission(RCM)卫星星座简介】

RADARSAT Constellation Mission&#xff08;RCM&#xff09;卫星星座是加拿大太空局&#xff08;CSA&#xff09;的下一代C波段合成孔径雷达&#xff08;SAR&#xff09;卫星星座&#xff0c;以下是对其的详细介绍&#xff1a; 一、基本信息 发射时间&#xff1a;2019年6月…

Golang | Leetcode Golang题解之第452题用最少数量的箭引爆气球

题目&#xff1a; 题解&#xff1a; func findMinArrowShots(points [][]int) int {if len(points) 0 {return 0}sort.Slice(points, func(i, j int) bool { return points[i][1] < points[j][1] })maxRight : points[0][1]ans : 1for _, p : range points {if p[0] > …

秒懂Linux之线程

目录 线程概念 线程理解 地址空间&#xff08;页表&#xff0c;内存&#xff0c;虚拟地址&#xff09; 线程的控制 铺垫 线程创建 ​编辑 线程等待 线程异常 线程终止 代码 线程优点 线程缺点 线程特点 线程概念 线程是进程内部的一个执行分支&#xff0c;线程是C…

小程序-全局数据共享

目录 1.什么是全局数据共享 2. 小程序中的全局数据共享方案 MboX 1. 安装 MobX 相关的包 2. 创建 MobX 的 Store 实例 3. 将 Store 中的成员绑定到页面中 4. 在页面上使用 Store 中的成员 5. 将 Store 中的成员绑定到组件中 6. 在组件中使用 Store 中的成员 1.什么是全…

【LeetCode】每日一题 2024_10_2 准时到达的列车最小时速(二分答案)

前言 每天和你一起刷 LeetCode 每日一题~ 大家国庆节快乐呀~ LeetCode 启动&#xff01; 题目&#xff1a;准时到达的列车最小时速 代码与解题思路 今天这道题是经典的二分答案&#xff0c;结合这道题来讲就是&#xff0c;二分列车的速度 我最擅长的两个算法&#xff1a;一…

cGANs with Projection Discriminator

基于映射鉴别器的CGAN 模型中&#xff0c;判别器&#xff08;Discriminator&#xff09;不是通过将条件信息简单地与特征向量拼接&#xff08;concatenate&#xff09;来使用条件信息&#xff0c;而是采用一种基于投影的方式&#xff0c;这种方式更加尊重条件信息在底层概率模…

进程通信——内存映射

进程通信——内存映射 什么是内存映射 内存映射是一种将文件内容映射到进程地址空间的技术&#xff0c;使得进程可以直接访问文件内容&#xff0c;而不需要通过系统调用进行读写操作。内存映射可以提高文件访问的效率&#xff0c;并且可以实现进程间的通信。 内存映射的原理…

【HarmonyOS】时间处理Dayjs

背景 在项目中经常会使用要时间的格式转换&#xff0c;比如数据库返回一个Date数据&#xff0c;你需要转成2024-10-2的格式&#xff0c;鸿蒙的原生SDK中是没有办法实现的&#xff0c;因此&#xff0c;在这里介绍第三方封装好并且成熟使用的库Dayjs。 安装 切换到Entry文件夹下…

C++初学者指南-5.标准库(第二部分)–特殊迭代器

C初学者指南-5.标准库(第二部分)–特殊迭代器 文章目录 C初学者指南-5.标准库(第二部分)–特殊迭代器容器操纵器std::insert_iterator\<Container>std::back_insert_iterator\<Container>std::front_insert_iterator\<Container> I/O 流迭代器std::istream_i…