十五章:使用类别峰值响应的弱监督实例分割

0.摘要

        目前,使用图像级别标签而不是昂贵的像素级掩码进行弱监督实例分割的研究还未得到充分探索。本文通过利用类别峰值响应来实现一个分类网络,用于提取实例掩码,来解决这个具有挑战性的问题。只通过图像标签的监督下,完全卷积的CNN分类器可以生成类别响应图,该图指定每个图像位置的分类置信度。我们观察到,类别响应图中的局部最大值,即峰值,通常对应于实例内部的强视觉线索。受此启发,我们首先设计了一个过程,以从类别响应图中引出峰值。然后,这些峰值被反向传播并有效地映射到每个目标实例的高信息区域,例如实例边界。我们将从类别峰值响应生成的上述地图称为峰值响应图(PRMs)。PRMs提供了细致的实例级表示,即使使用一些现成的方法也可以提取实例掩码。据我们所知,我们首次报告了挑战性的图像级别监督实例分割任务的结果。广泛的实验证明,我们的方法不仅提升了弱监督点位定位和语义分割性能,而且在广泛使用的基准测试集(包括PASCAL VOC 2012和MS COCO)上报告了最先进的结果。

1.引言

        大多数当代语义分割方法依赖于大规模的密集注释来训练深度模型;然而,标注像素级掩码是昂贵且劳动密集的[18]。相反,图像级别的注释,即图像中是否存在特定物体类别,更便宜且更容易定义。这促使了弱监督语义分割方法的发展,这些方法使用图像标签来学习卷积神经网络(CNN)进行类别感知的分割。

        大多数现有的弱监督语义分割方法将CNN中的卷积滤波器视为物体检测器,并聚合深度特征图来提取类别感知的视觉证据[47,43]。通常,预训练的分类网络首先被转换为全卷积网络(FCN),以在单次前向传递中生成类别响应图。这样的类别响应图指示网络用于识别图像类别的关键图像区域,但不能区分同一类别中的不同对象实例。因此,现有的弱监督语义分割方法不能简单地推广到实例级别的语义分割[16,12],该方法旨在检测图像中的所有对象,并为每个实例预测精确的掩码。

        在本文中,我们探索了使用图像级别弱监督训练卷积神经网络(CNN)进行实例级别语义分割(简称实例分割)的挑战性问题。具体而言,我们提出利用类别响应图中的峰值来实现一个分类网络,例如VGGNet、ResNet,以进行实例掩码的提取。

        类别响应图中的局部最大值,即峰值,通常对应于实例内部的强视觉线索,如图1所示。受到这种观察的启发,我们首先设计了一个过程,在训练阶段刺激峰值从类别响应图中出现。在推理阶段,这些出现的峰值被反向传播并有效地映射到每个对象实例的高信息区域,例如实例边界。从类别峰值响应生成的上述地图被称为峰值响应图(PRMs)。如图1所示,PRMs作为实例级别的表示,指定了每个对象的空间布局和细节边界,因此即使使用一些现成的方法[3,38,27]也可以提取实例掩码。

        与许多通常使用复杂框架(如条件随机场(CRF)[46,45]、循环神经网络(RNN)[30,32]或模板匹配[37])来处理实例提取的完全监督方法相比,我们的方法简单而有效。它与任何现代网络架构兼容,并且可以使用标准的分类设置进行训练,例如图像类别标签和交叉熵损失,计算开销可以忽略不计。由于训练效率高,我们的方法非常适用于大规模数据的应用。

总结一下,本文的主要贡献如下:

  • 我们观察到类别响应图中的峰值通常对应于各个实例内部的强视觉线索,这一简单的观察引导了一种有效的弱监督实例分割技术。
  • 我们提出利用类别峰值响应来使分类网络能够进行实例掩码提取。我们首先刺激峰值从类别响应图中出现,然后将其反向传播到每个对象实例的高信息区域,如实例边界。
  • 我们在流行的CNN模型中实现了所提出的方法,如VGG16和ResNet50,并在多个基准测试中展示出顶级性能。据我们所知,我们首次报道了挑战性的图像级监督实例分割任务的结果。

图1:类别峰值响应对应于各个实例内部的强视觉线索。这些峰值可以反向传播并有效地映射到每个对象的高信息区域,从而可以提取实例掩码。最佳观看方式为彩色显示。

2.相关工作

弱监督语义分割。语义分割方法通常在训练阶段需要密集标注。鉴于像素级标注的低效性,先前的研究探索了各种替代的弱标注方法,例如实例上的点[1]、物体边界框[5,22]、涂鸦[17,42]和人工选择的前景[34]。尽管这些方法是有效的,但它们需要比图像级监督方法[24,25,41,14,33]更多的人力投入。一些工作以无监督的方式利用物体线索。例如,图形模型被用于推断段的标签[44,15],但其物体定位能力仍然有限。因此,使用外部定位网络来初始化对象位置[26,14,23],并使用预生成的对象分割提议先验来改进低分辨率的CNN平面。先前的工作通常涉及耗时的训练策略,例如重复的模型学习[40]或在线提议选择[29,39]。相比之下,在本文中,我们使用标准分类网络来生成具有卷积响应的类别感知和实例感知的视觉线索。

实例分割。与寻求生成类别感知掩码的语义分割相比,实例分割需要同时生成实例感知的区域标签和细节化的分割掩码,因此更具挑战性。即使有来自准确的像素级注释的监督,许多实例分割方法仍会使用来自精确物体边界框的额外约束。FCIS方法[16]结合了分割提议模块[6]和物体检测系统[7]。Mask R-CNN [12]充分利用了由提议网络[31]生成的精确物体边界框来辅助对象掩码的预测。在像素级GT掩码的强监督下,上述方法大大提升了实例分割的性能。然而,如何在弱监督下进行实例分割仍然是一个待解决的问题。Khoreva等人[13]提出利用边界框监督来获得伪造的真实掩码,以减轻标注成本。相反,我们利用在分类网络中自然学习的实例感知视觉线索;因此,训练只需要图像级注释。

对象先验信息。当准确的注释不可用时,视觉识别方法通常利用先验信息获得额外的视觉线索。在弱监督的对象检测和分割中,常常使用推测对象位置和范围的对象提议方法来提供对象先验。选择性搜索[38]和边界框[49]使用低级特征(如颜色和边缘)作为线索,生成对象候选窗口多尺度组合分组(MCG)[27]使用低级轮廓信息,例如结构化边缘[8]或超度量轮廓地图[20],来提取包含细节化对象边界的对象提议,这对于实例分割是有价值的。在本文中,我们利用MCG提议的对象先验来进行实例掩码提取。

图像级监督的深度激活。只使用图像级监督,需要将CNN的深度响应,即特征图,聚合成全局的类别置信度,以便可以使用图像标签进行训练。全局最大池化(GMP)[21]选择每个类别最具辨别力的响应来生成分类置信度分数,但会丢弃许多其他有信息量的区域全局平均池化(GAP)[47]对所有响应赋予相等的重要性,这使得很难区分前景和背景对数求和指数(LSE)[35]提供了GMP和GAP的平滑组合,以约束类别感知的对象区域。全局排名最大最小池化(GRP)[9]选择部分高分像素作为正例,低分像素作为负例,增强区分能力。

        现有的方法通常在全局范围内激活深度响应,而不考虑局部空间相关性,这使得在图像中难以区分对象实例。卷积响应中的峰值暗示了学习滤波器与信息感受野之间的最大局部匹配在我们的方法中,峰值刺激过程聚合了局部最大值的响应,增强了网络的定位能力。基于深度响应,提出了自顶向下的注意力方法,通过探索视觉注意力证据生成精细的类别显著性地图[4,43]。这些类别感知且与实例无关的线索可以用于语义分割[14,33],但对于实例分割来说,还不足够,如图2所示。相反,我们的方法提供了适用于弱监督实例级问题的细节化实例感知线索。

图2:与现有的弱监督方法旨在为每个类别获得显著性地图(中间)相比,所提出的方法提取了每个实例的细节化表示(右侧),包括明确的布局和边界(用不同颜色可视化)。

图3:峰值响应图(PRMs)的生成和利用。刺激过程有选择地激活每个对象内部的强视觉线索,形成类别峰值响应。反向传播过程进一步从结果峰值中提取每个实例的细节。最后,将类别感知线索、实例感知线索和来自提议的对象先验信息综合考虑,以预测实例掩码。最佳查看方式为彩色图像。

3.方法

        在本节中,我们提出了一种利用类别峰值响应的图像级监督实例分割技术。完全卷积的CNN分类器可以生成类别响应图,该图指定了每个图像位置的分类置信度[21]。基于我们的观察,即类别响应图的局部最大值,即峰值,通常对应于实例内部的强视觉线索,我们首先设计了一个过程,在网络训练阶段激活峰值从类别响应图中出现在推理阶段,出现的峰值被反向传播生成突出显示每个对象信息区域的映射,称为峰值响应图(PRMs)PRMs为每个实例提供了精细的分离表示,进一步利用这些表示从现成的对象分割提议中检索实例掩码,如图3所示。

图4:通过峰值刺激,可以在类别响应图(中间)上更好地区分多个实例。通过激活最大化[10]可视化学习到的表示(右侧)。最佳查看方式为彩色图像。

3.1.全卷积架构

        通过简单地移除全局池化层并将全连接层适应为1x1卷积层,现代CNN分类器可以无缝地转换为完全卷积网络(FCNs)[19],在整个前向过程中自然地保留空间信息转换后的网络通过单次前向传递输出类别响应图,因此适用于空间预测。在这项工作中,网络首先被转换为FCN。

3.2.峰值激发

        为了激活类别响应图中的峰值,我们构建了一个峰值刺激层,将其插入在顶层之后,如图3所示。考虑一个标准的网络,令M ∈RC×H×W表示顶层卷积层的类别响应图,其中C是类别的数量,H×W表示响应图的空间尺寸。因此,峰值刺激层的输入是M,输出是类别-wise的置信度得分s ∈RC。第c个响应图Mc的峰值被定义为窗口大小为r 2内的局部最大值,峰值的位置被表示为Pc ={(i1,j1),(i2,j2),...,(iNc,jNc)},其中Nc是第c个类别的有效峰值的数量。在前向传递过程中,为计算第c个对象类别的分类置信度得分,生成采样核Gc ∈RH×W。可以通过Gc x,y访问位于位置(x,y)的核的元素。不失一般性,核可以形成为:

         其中 0 ≤ x < H, 0 ≤ y < W,(ik, jk) 是第 k 个峰值的坐标,f 是一个采样函数。在我们的设置中,f 是一个狄拉克δ函数,用于仅从峰值聚合特征;因此,第 c 个类别的置信度得分 sc 可以通过类别响应图 Mc 和采样核 Gc 之间的卷积来计算,如下所示:

         公式2可以看出,网络仅使用峰值来做出最终决策;自然地,在反向传播过程中,梯度通过Gc分配给所有峰值位置,如下所示:

         其中δc是顶层卷积层第c个通道的梯度,L是分类损失。从模型学习的角度来看,类别响应图是通过对所有感受野(RFs)进行密集采样来计算的,在其中大多数感受野是不包含有效实例的负样本。公式3表明,与传统网络不加条件地从极端的前景-背景不平衡集中学习不同,峰值刺激强制学习集中在经过类别峰值响应估计的一组稀疏的信息丰富的感受野(潜在的正样本和难负样本),因此在训练过程中防止大量的简单负样本压倒学习到的表示,如图4(右侧所示)。

3.3.峰值反向传播

        我们提出了一种概率反向传播过程,用于进一步生成细节丰富且具有实例感知性的表示,即峰值响应图。与先前的自上而下的注意力模型[43,36]不同,这些模型寻找与输出类别最相关的神经元来生成类别感知的注意力图,我们的公式明确考虑了感受野,并可以从特定的空间位置提取实例感知的视觉线索,即类别峰值响应。峰值反向传播可以解释为一个从峰值(顶层)开始并随机向底层行走的过程。然后,底层中每个位置的自上而下的相关性被形式化为该位置被行者访问的概率。考虑一个具有单个滤波器W ∈ RkH×kW的卷积层,为了简化数学,将输入和输出特征图分别表示为U和V,其中每个空间位置可以通过Uij和Vpq进行访问。通过Vpq和两个特征图之间的转移概率,可以获得Uij的访问概率P(Uij),如下所示:

         Uˆij是U在位置(i,j)处的自下而上激活(在前向传播中计算),W +=ReLU(W)表示丢弃负连接,Zpq是一个归一化因子,用于确保 p,q P (Uij|Vpq)=1。需要注意的是,在大多数采用ReLU作为传递函数的现代CNN中,负权重对增强输出响应没有积极影响,因此被排除在传播之外。其他常用的中间层,例如平均池化层和最大池化层,被视为执行输入的仿射变换的相同类型的层[43];因此,相应的反向传播可以以与卷积层相同的方式建模。通过由公式4和公式5定义的概率传播,我们可以以自上而下的方式定位每个类别峰值响应的最相关空间位置,生成细节丰富的实例感知的视觉线索,称为峰值响应图,如图5所示。

图5:峰值反向传播过程将类别峰值响应映射到每个物体内部的细节丰富的视觉线索,即峰值响应图(PRM),从而实现了实例级别的掩码提取。最好以彩色查看。

3.4.弱监督实例分割

        我们进一步利用PRM的实例感知线索来执行具有挑战性的实例分割任务。具体而言,我们提出了一种简单而有效的策略,通过将来自PRM的实例感知线索、来自类别响应图的类别感知线索以及来自现成的物体提议的空间连续性先验相结合,来预测每个物体实例的掩码。我们使用图3中的度量方法从提议库中检索实例分割掩码。

        其中,R是与类别峰值响应对应的PRM,Sˆ是通过形态梯度计算得到的提议S的轮廓掩码,Q是通过类别响应图和偏置(基于该图的均值)获取的背景掩码。类独立的自由参数α和β在验证集上进行选择。在公式6中,实例感知项鼓励提议与PRM最大化重叠,边界感知项利用PRM中的细节边界信息选择具有类似形状的提议。此外,类别感知项利用类别响应图抑制与类别无关的区域。这三个项的效果在4.3节中进行了消融研究。

弱监督实例分割的整体算法在算法1中说明。

4.实验

        我们使用最先进的CNN架构,包括VGG16和ResNet50,对提出的方法进行了实现,并在几个基准数据集上进行了评估。在第4.1节中,我们对峰值刺激和反向传播过程进行了详细分析,以展示所提出的技术能够生成准确的物体定位和高质量的实例感知线索。在第4.2节中,我们展示了PRM在弱监督语义分割中通过分割提议的帮助下提取类别感知掩码的能力。在第4.3节中,我们首次报道了具有挑战性的基于图像级监督的实例分割结果。我们还进行了消融研究和上限分析,以展示我们方法的有效性和潜力。

4.1.峰值响应分析

        我们使用点级定位度量[21]来评估类别峰值响应的定位能力和峰值刺激的有效性。我们首先通过双线性插值将类别响应图上采样到与图像大小相同的尺寸。对于每个预测的类别,如果最大类别峰值响应的坐标落在相同类别的真实边界框内,我们计为一个真正例(true positive)。

        我们在PASCAL VOC 2012 [11]和MS COCO 2014 [18]的训练集上对带有/不带有峰值刺激的ResNet50进行微调,并在验证集上报告了性能,见表1。结果显示,类别峰值响应对应于物体的视觉线索,并可以用于定位物体。我们的完整方法在性能上表现出色,超过了基线(没有刺激)很多,这表明刺激过程可以使网络发现与有效实例相对应的更好的视觉线索。

峰值响应图的质量。为了评估提取的实例感知线索的质量,我们测量了峰值响应图(PRM)R与GT掩码G之间的相关性,即R与G之间的相关性,这表明PRM发现了位于实例内部的视觉线索的能力。对于每个PRM,我们定义其分数为与相同类别的GT掩码之间的最大相关性。因此,分数为0表示相应的PRM没有定位到任何有效的物体区域,而分数为1意味着PRM完美地区分了实例的视觉线索与背景。分数大于0.5的PRM被视为真正的正例。在VOC 2012上,我们使用分类数据训练带有不同方法的响应聚合策略的ResNet50,并根据分割数据集上的mAP评估生成的PRM的质量,见表2。峰值刺激迫使网络从信息丰富的感受野中学习显式表示,从而获得更高质量的PRM。

        我们对PRM质量与图像拥挤程度之间的关系进行了统计分析,见图6(左侧)。平均而言,对于单个物体的图像,落入实例的PRM能量达到78%,对于2-5个物体的图像,达到67%。令人惊讶的是,即使是拥挤的场景中有超过六个物体,实例的能量平均上也比背景更高,这表明PRM提取的实例感知视觉线索质量很高。我们进一步分析了物体大小的影响,见图6(右侧),结果显示PRM可以从常见大小的物体中定位到细致的证据。

表1:在VOC2012和COCO2014验证集上的点级定位的平均精确度(mAP%)。

表2:不同响应聚合策略对峰值响应图质量的影响的比较。

图6:关于物体数量和大小对峰值响应图质量影响的统计分析。

表3:基于VOC 2012验证集的弱监督语义分割结果,以平均IoU(%)表示。标记†表示引入可忽略的训练成本的方法。

4.2.弱监督语义分割

        上述实验结果显示,PRM对应准确的实例“种子”,但另一个具有挑战性的任务是将每个种子扩展为完整的对象分割。我们评估了配备了峰值刺激的ResNet50模型在弱监督语义分割任务中的性能,该任务要求将来自相同类别的对象分配为相同的分割标签。在VOC 2012分割数据的验证集上,我们将相同类别的实例分割掩码合并以生成语义分割预测。性能以像素交并比平均值来衡量,跨越20+1个类别(20个对象类别和背景)。

        我们的方法不使用耗时的训练策略[33]或额外的监督[1,34],而是使用图像级标签和标准分类设置来训练模型,并在弱监督语义分割任务中报告了具有竞争力的结果,无需CRF后处理(参见表3)。图7展示了不同场景下的预测示例。

图7:预测的语义分割示例。不同颜色表示不同的类别。

4.3.弱监督实例分割

        使用提出的技术,我们在PASCAL VOC 2012分割数据集上对ResNet50和VGG16模型进行实例分割,这些模型是在分类数据集上训练的。据我们所知,这是首次报告基于图像级监督的实例分割结果的工作。我们根据从地面真实值和弱监督定位方法[39,47,48]获取的对象边界框构建了几个基准线(参见表4)。使用定位的边界框,我们设置了三种合理的掩模提取策略:

        (1)矩形,简单地用实例标签填充对象框,

        (2)椭圆,在每个框内拟合最大椭圆,

        (3)MCG,检索与边界框具有最大交并比的MCG分割建议。

数值结果。实例分割评估使用IoU阈值0.25、0.5和0.75的mAP r进行,并且还使用平均最佳重叠(ABO)[28]指标进行评估,以便从不同的角度进行评估。表4显示,我们的方法明显优于使用相同设置的弱监督定位技术,即仅使用图像级标签进行模型训练。在较低的IoU阈值(例如0.25和0.5)下的性能改进显示了峰值刺激在对象定位中的有效性,而在较高的IoU阈值(例如0.75)下的性能改进表明了峰值反向传播对捕捉细节实例线索的有效性。与最新的MELM [39]相比,该方法通过多尺度增强、在线提案选择和特殊设计的损失进行训练,我们的方法简单而有效,并展示了竞争性能。

消融研究。为了研究峰值刺激以及我们的提案检索度量中每个项的贡献,我们在不同的骨干网络上进行了基于不同因素省略的实例分割。结果如表5所示。从消融研究中,我们可以得出以下结论:

        1)峰值刺激过程,在网络训练期间激发峰值,对于我们方法的实例分割性能至关重要。

        2)当省略实例感知项时,mAP0r.5从26.8%下降到13.3%,这证明了我们方法生成的良好隔离的实例感知表示的有效性。

        3)边界感知项显著提高了2.5%的性能,表明我们的方法确实提取了实例的细节边界信息。

        4)类别感知线索抑制了类别无关的区域,从而显著提高了我们方法的实例分割性能。

定性结果。在图8中,我们展示了一些实例分割的例子,包括成功的案例和典型的失败案例。可以看出,我们的方法可以产生高质量的视觉线索,并在许多具有挑战性的场景中获得良好的实例分割结果。在第一列和第二列中,当实例相互关闭或遮挡时,它可以区分实例。第三列和第四列中的示例显示,它在不同尺度的对象上表现良好。第五列中,不同类别的对象被很好地分割,这表明所提出的方法可以从分类网络中提取类别区分和实例感知的视觉线索。与弱监督系统典型的情况一样,PRMs可能会被噪声共现模式误导,并且有时难以区分对象部分和多个对象之间的区别。我们通过提案检索步骤来解决这个问题;然而,性能仍然受到提案质量的限制。

上限分析。为了探索我们方法的上限,我们构建了不同的提案库,如表6所示。首先,我们将GT掩码与MCG提案混合在一起,得到一个具有100%召回率的提案库,结果显示我们方法(基于图像级监督)检索提案的能力与GT边界框(26.9%对29.2%)相当。接下来,我们将GT掩码作为完美的提案库(注意,在高度遮挡的情况下,GT边界框仍然失败)来评估PRMs的实例定位能力。我们的结果进一步提升到73.3%,并且大大优于SPN,证明了所提出的技术在视频/RGB-D应用中的潜力,可以利用丰富的信息生成高质量的提案。

表4:以平均平均精度(mAP%)和平均最佳重叠(ABO)为指标,在PASCAL VOC 2012验证集上进行的弱监督实例分割结果。

表5:基于不同网络骨干的PASCAL VOC2012验证集上的消融研究结果。

图8:PASCAL VOC 2012验证集上的实例分割示例。可以看出,峰值响应图(第二行)包含了细节丰富的实例感知信息,可以用来生成实例级别的掩码(第三行)。最后一行展示了典型的失败案例。最好以彩色查看。

表6:在PASCAL VOC 2012验证集上的实例分割结果(mAP0r.75)的比较。

5.总结

        在本文中,我们提出了一种简单而有效的技术,可以使分类网络能够进行实例掩码提取。基于类别峰值响应,峰值刺激对于增强目标定位非常有效,而峰值反向传播则提取了每个实例的细节丰富的视觉线索。我们展示了点级定位以及弱监督语义分割的最佳结果,并且据我们所知,首次报告了图像级监督的实例分割结果。其基本事实是实例感知线索自然地被卷积滤波器学习,并编码在分层响应图中。发现这些线索为弱监督实例级问题提供了新的见解。

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

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

相关文章

SqueezeLM 的想法,压缩输入句子潜变量,生成下一句子

又搞了一段时间。还是感觉LongNet那种空洞注意力做编码器有搞头。 RetNet等AFT方法&#xff0c;直接生成太长的句子感觉有点难度&#xff0c;不过可以一句句生成&#xff0c;每次生成短句&#xff0c;这样感觉比较合适。 启发 受 MemroyTransformer 和 GLM 启发 想了一个类似…

MySQL的JSON操作

官网地址 1. MySQL json介绍 As of MySQL 5.7.8, MySQL supports a native JSON data type defined by RFC 7159 that enables efficient access to data in JSON (JavaScript Object Notation) documents. Automatic validation of JSON documents stored in JSON columns. …

MobaXterm通过SSH访问Ubuntu服务器遇到的一个问题

在Windows下的MobaXterm界面配置完ubuntuIP以后显示access denied&#xff0c;排查发现是因为在ubuntu那边忘记安装了SSH Serve&#xff0c;安装过程如下&#xff1a; 第一步&#xff1a;安装所需包 让我们从打开终端输入一些必要命令开始。 注意&#xff0c;在安装新的包或…

牛客 排座椅(贪心)

上课的时候总有一些同学和前后左右的人交头接耳&#xff0c;这是令小学班主任十分头疼的一件事情。不过&#xff0c;班主任小雪发现了一些有趣的现象&#xff0c;当同学们的座次确定下来之后&#xff0c;只有有限的D对同学上课时会交头接耳。 同学们在教室中坐成了 M 行 N 列&…

C语言枚举与联合体详解

本篇文章带来枚举与联合体相关知识详细讲解&#xff01; 如果您觉得文章不错&#xff0c;期待你的一键三连哦&#xff0c;你的鼓励是我创作的动力之源&#xff0c;让我们一起加油&#xff0c;一起奔跑&#xff0c;让我们顶峰相见&#xff01;&#xff01;&#xff01; 目录 一…

TCP/IP协议详解(二)

目录内容 TCP协议的可靠性 TCP的三次握手 TCP的四次挥手 C#中&#xff0c;TCP/IP建立 三次握手和四次挥手常见面试题 在上一篇文章中讲解了TCP/IP的由来以及报文格式&#xff0c;详情请见上一篇文章&#xff0c;现在接着来讲讲TCP/IP的可靠性以及通过代码的实现。 在TCP首部的…

Xilinx AXI VIP使用教程

AXI接口虽然经常使用&#xff0c;很多同学可能并不清楚Vivado里面也集成了AXI的Verification IP&#xff0c;可以当做AXI的master、pass through和slave&#xff0c;本次内容我们看下AXI VIP当作master时如何使用。 新建Vivado工程&#xff0c;并新建block design&#xff0c;命…

postgresql四种逻辑复制的状态

准备 CreateCheckpoint&#xff0c;或者bgwriter启动时&#xff0c;或者创建logicalreplicationslot时都会调用LogStandbySnapshot 记录一个XLOG_RUNNING_XACTS类型的日志。日志中记录了所有提交的事务的xid(HistoricSnapshot) 启动&#xff08;SNAPBUILD_BUILDING_SNAPSHOT&…

专访伊士曼中国区高管赵志伟:以创新应对新能源汽车后市场变化

受访人&#xff1a;伊士曼高性能膜事业部中国区商务总监赵志伟 新能源汽车发展至规模化阶段&#xff0c;以贴膜、保养维修为主的后市场产业迎来快速崛起&#xff0c;新能源消费者在汽车贴膜、改装和养护领域也表现出比燃油车更高频的需求度。 作为一家全球特种材料公司&#x…

【设计模式——学习笔记】23种设计模式——外观模式Facade(原理讲解+应用场景介绍+案例介绍+Java代码实现)

文章目录 案例引入介绍基本介绍类图出场角色 案例实现案例一类图代码实现 案例二类图代码实现 外观模式在Mybatis源码中的应用总结文章说明 案例引入 在家庭影院中&#xff0c;要享受一场电影&#xff0c;需要如下步骤&#xff1a; 直接用遥控器&#xff1a;统筹各设备开关开…

蓝海卓越计费管理系统远程命令执行

活着&#xff0c;就要时刻准备承受磨难&#xff01; 漏洞描述 蓝海卓越计费管理系统存在命令调试页面&#xff0c;导致攻击者可以远程命令执行 漏洞复现 访问 debug.php页面 远程调试命令执行 /debug.php漏洞证明 文笔生疏&#xff0c;措辞浅薄&#xff0c;望各位大佬不吝…

iOS--通知、代理、单例模式总结

通知 概要 观察者和被观察者都无需知晓对方&#xff0c;只需要通过标记在NSNotificationCenter中找到监听该通知所对应的类&#xff0c;从而调用该类的方法。并且在NSNotificationCenter中&#xff0c;观察者可以只订阅某一特定的通知&#xff0c;并对齐做出相应操作&#xf…

最后的组合:K8s 1.24 基于 Hekiti 实现 GlusterFS 动态存储管理实践

前言 知识点 定级&#xff1a;入门级GlusterFS 和 Heketi 简介GlusterFS 安装部署Heketi 安装部署Kubernetes 命令行对接 GlusterFS 实战服务器配置(架构 1:1 复刻小规模生产环境&#xff0c;配置略有不同) 主机名IPCPU内存系统盘数据盘用途ks-master-0192.168.9.912450100…

【Java面试丨消息中间件】Kafka

一、kafka是如何保证消息不丢失 1. 介绍 使用kafka在消息的收发过程都有可能会出现消息丢失 &#xff08;1&#xff09;生产者发送消息到broker丢失 &#xff08;2&#xff09;消息在broker中存储丢失 &#xff08;3&#xff09;消费者从broker接收消息丢失 2. 生产者发送消…

小程序picker 在苹果手机不兼容 bug,按month时在iPhone 显示不正确及自动定位时间问题

如下图&#xff1a;点击弹出时间列表&#xff1a;日历控件点击选择显示1年1月 解决: 加上起始时间字段 <picker mode"date" value"{{date}}" start"1970-09-01" end"2030-09-01"></picker> 问题二&#xff1a; 还是&a…

【MySQL】事务与隔离级别详解

【MySQL】事务 事务的概念为什么要有事务引擎对事务的支持事务的提交方式事务的操作准备正常事务操作&#xff1a;启动、回滚、提交非正常事务总结 事务的隔离级别隔离性隔离级别隔离级别的查看设置隔离级别会话级别全局级别 隔离级别的具体体现读未提交 Read Uncommitted读提交…

数学建模学习(6):数学建模数据预处理专题

1 数据预处理是什么&#xff1f; 在数学建模赛题中&#xff0c;官方给所有参赛选手的数据可能受到主 观或客观条件的影响有一定的问题&#xff0c;如果不进行数据的处理而直 接使用的话可能对最终的结果造成一定的影响&#xff0c;因此为了保证数 据的真实性和建模结果的可靠…

回归预测 | MATLAB实现PSO-GPR粒子群优化高斯过程回归多输入单输出回归预测

回归预测 | MATLAB实现PSO-GPR粒子群优化高斯过程回归多输入单输出回归预测 目录 回归预测 | MATLAB实现PSO-GPR粒子群优化高斯过程回归多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab基于PSO-GPR基于粒子群算法优化高斯过程回归的数据回归预…

建设银行秋招指南,备考技巧和考试内容详解

建设银行秋招简介 银行作为非常吃香的岗位&#xff0c;每年都有不少同学通过投递简历&#xff0c;进入笔试&#xff0c;再到面试成功&#xff0c;成功到银行就职&#xff0c;也有相当一部分同学因为信息差&#xff0c;符合条件却没有报名。无法进入银行工作。 建设银行的秋招…

QT【day4】

chat_QT服务器端&#xff1a; //.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QTcpServer> //服务器类 #include<QTcpSocket> //客户端类 #include<QMessageBox> //对话框类 #include<QList> //链表容器 #inc…