【目标检测】Co-DETR:ATSS+Faster RCNN+DETR协作的先进检测器(ICCV 2023)

news2024/11/16 17:38:53

论文:DETRs with Collaborative Hybrid Assignments Training

代码**:https://github.com/Sense-X/Co-DETR

文章目录

  • 摘要
  • 一、简介
  • 二、本文方法
    • 2.1.概述
    • 2.2.协同混合分配训练
    • 2.3. 定制的正 Query 生成
    • 2.4. Co-DETR为何有效
      • 1、丰富编码器的监督
      • 2、通过减少匈牙利匹配的不稳定性来改进跨注意力学习
    • 2.5. 与其他方法的比较
  • 三、实验
    • 1 与先进方法的比较
    • 2.消融研究
    • 3.冲突分析


摘要

在这篇论文中,作者观察到在DETR中将过少的 Query 分配为正样本,采用一对一的集合匹配,会导致对编码器输出的监督稀疏,严重损害编码器的区分特征学习,反之亦然,也会影响解码器中的注意力学习。

为了缓解这个问题,作者提出了一种新颖的协同混合分配训练方案,名为Co-DETR,以从多样的标签分配方式中学习更高效、更有效的基于DETR的检测器。这种新的训练方案可以通过训练多个并行辅助 Head ,以一对多的标签分配方式(如ATSS和Faster RCNN)进行监督,轻松增强端到端检测器中编码器的学习能力。此外,作者通过从这些辅助 Head 中提取正样本坐标,为解码器中的正样本的训练效率进行额外的定制化正样本 Query 。在推理过程中,这些辅助 Head 被丢弃,因此作者的方法不会引入额外的参数和计算成本到原始检测器中,也不需要手工制定的非最大抑制(NMS)。

作者进行了大量实验,以评估所提方法在DETR变种上的有效性,包括DAB-DETR、Deformable-DETR和DINO-Deformable-DETR。在COCO val上,与ViT-L Backbone 网络结合,Co-DETR取得了66.0%的AP,在LVIS val上取得了67.9%的AP,明显优于以往的方法,且模型大小要小得多。

一、简介

目标检测 是计算机视觉中的一个基本任务,要求作者定位物体并对其进行分类。开创性的R-CNN家族和一系列变种,如ATSS、RetinaNet、FCOS和PAA,显著突破了目标检测任务。其中的核心方案是一对多的标签分配,即将每个 GT 框分配给检测器输出中的多个坐标,作为与Proposal、Anchor或窗口中心合作的监督目标。尽管这些检测器表现出有望的性能,但它们严重依赖于许多手工设计的组件,如非极大值抑制过程或Anchor生成。

为了进行更灵活的端到端检测器,DEtection TRansformer(DETR) 提出将目标检测视为一个集合预测问题,并引入了基于Transformer编码器-解码器架构的一对一集合匹配方案。通过这种方式,每个 GT 框只会被分配给一个特定的 Query ,不再需要多个手工设计的编码先验知识的组件。这种方法引入了灵活的检测流程,并鼓励许多DETR变种进一步改进它。然而,普通的端到端目标检测器的性能仍然不如具有一对多标签分配的传统检测器。

在本文中,作者试图使基于DETR的检测器优于传统检测器,同时保持其端到端的优点。为了解决这一挑战, 作者关注一对一集合匹配的直观缺点,即它探索了较少的正 Query 。这将导致严重的低效训练问题。 作者从两个方面详细分析了这一问题,即编码器生成的潜在表示和解码器中的注意力学习

作者首先比较了Deformable-DETR和一对多标签分配方法之间的潜在特征的可区分性得分,其中 作者简单地用ATSS Head替换了解码器。每个空间坐标中的特征 L2-范数用于表示可区分性得分。给定编码器的输出F∈RC×H×W ,作者可以得到可区分性得分图S∈R1×H×W 。当相应区域中的得分较高时,可以更好地检测到物体。

在这里插入图片描述

如图2所示,作者通过在可区分性得分上应用不同的阈值来展示IoF-IoB曲线(IoF:前景交叉,IoB:背景交叉)。ATSS中的更高IoF-IoB曲线表明更容易区分前景和背景。图2中的示例显示,过少的正 Query 也会影响注意力学习,增加解码器中的更多正 Query 可以稍微缓解这个问题。

作者进一步在图3中可视化了可区分性得分图S。显然,一对一集合匹配中的一些显著区域的特征被充分激活,但在一对一集合匹配中探索较少。这一重要观察激发了作者提出一个简单但有效的方法,即协同混合分配训练方案(Co-DETR)。Co-DETR的关键见解是使用多样化的一对多标签分配来提高编码器和解码器的训练效率和有效性

具体而言,作者将这些 Head 与Transformer编码器的输出集成在一起。这些 Head 可以通过多样化的一对多标签分配进行监督,例如ATSS、FCOS和Faster RCNN。不同的标签分配丰富了编码器输出的监督,迫使它具有足够的区分度,以支持这些 Head 的训练收敛

为了进一步提高解码器的训练效率,作者巧妙地编码了这些辅助 Head 中正样本的坐标,包括正Anchor和正Proposal。它们被发送到原始解码器作为多组正 Query ,以预测预分配的类别和边界框。每个辅助 Head 中的正坐标都作为一个独立的组,与其他组隔离。

多样化的一对多标签分配可以引入丰富的(正 Query , GT )对以提高解码器的训练效率。请注意,在推理过程中只使用原始解码器,因此所提出的训练方案只在训练期间引入额外的开销。

在这里插入图片描述
如图3所示,Co-DETR极大地缓解了一对一集合匹配中编码器特征学习不足的问题。作为一种即插即用的方法,作者轻松地将其与不同的DETR变种结合使用,包括DAB-DETR、Deformable-DETR和DINO-Deformable-DETR。

在这里插入图片描述
正如图1所示,Co-DETR实现了更快的训练收敛速度,甚至具有更高的性能。在12轮训练中,作者将基本的Deformable-DETR的性能提高了5.8%的平均精度(AP),在36轮训练中提高了3.2%的AP。最先进的DINO-Deformable-DETR与Swin-L结合,仍然可以在COCO val上将性能从58.5%提高到59.5%的AP。令人惊讶的是,结合ViT-L Backbone网络,作者在COCO test-dev上实现了66.0%的AP,在LVIS val上实现了67.9%的AP,建立了新的最先进的检测器,而模型规模要小得多


二、本文方法

2.1.概述

在这里插入图片描述
按照标准的DETR,输入image 经过 Backbone网络和编码器以生成潜在特征。然后,多个预定义的物体 Query 通过交叉注意力与它们在解码器中进行交互。作者引入Co-DETR来通过协同混合分配训练方案定制的正 Query 生成来改善编码器中的特征学习和解码器中的注意力学习。

2.2.协同混合分配训练

为了缓解解码器中较少的正 Query 而导致的对编码器输出的稀疏监督,作者结合了不同的一对多标签分配范式,例如ATSS和Faster R-CNN,与多功能的辅助 Head 。不同的标签分配丰富了对编码器输出的监督,迫使它具有足够的区分度来支持这些 Head 的训练收敛。

具体来说,给定编码器的潜在特征 F,通过多尺度适配器转化为特征金字塔 {F1,…FJ}J 表示具有22+J 下采样Stride的特征图。与ViTDet类似,特征金字塔由单尺度编码器中的单个特征图构建,比如双线性插值和3×3卷积进行上采样。至于多尺度编码器,只对多尺度编码器特征 F 中最粗糙的特征进行下采样,以构建特征金字塔。

定义具有相应标签分配方式AK 的K个Head :第 i 个Head ,将 {F1,…FJ} 输入获得预测值, Ai 用于计算 Pi 中的正负样本的监督目标。将G表示为 GT 集,这个过程可以被表达为:

在这里插入图片描述

其中{pos}和{neg}表示由Ai 确定的对集。j 表示在 {F1,…FJ} 中的特征索引。Bi{pos} 是正空间坐标的集合。Pi{pos}和Pi{neg} 是相应坐标中的监督目标,包括类别和回归偏移量

不同的head和标签分配方式如下表:
在这里插入图片描述

损失函数可以定义为:

在这里插入图片描述

负样本的回归损失被丢弃。K个辅助 Head 的优化的训练目标可以如下定义:

在这里插入图片描述

2.3. 定制的正 Query 生成

一对一的集合匹配范式,每个 GT 框只会被分配给一个特定的 Query 作为监督目标。正Query过少会导致Transformer解码器中的跨注意力学习效率低下Co-DETR 根据每个辅助 Head 中的标签分配 Ai 精心生成足够多的定制正 Query。
具体而言,第i 个辅助 Head 中的正坐标集合 Bi{Pos}∈RMix4,其中Mi 是正样本的数量额外的定制正Query Qi∈RMixC可以通过以下方式生成:

在这里插入图片描述

其中PE(·)代表位置编码,并根据索引对 (j,Fj 中的正坐标或负坐标)从E(·)中选择相应的特征。

结果,有K + 1组 Query 为单一的一对一集合匹配分支做出贡献,具体来说,第i 个辅助分支中第 l个解码器层的损失可以表达为:

在这里插入图片描述

P ‾ \overline{\text{P}} Pi,l 是第 i 个辅助分支中第个 l 解码器层的输出预测。最终,Co-DETR的训练目标是:

在这里插入图片描述
其中 L ‾ \overline{\text{L}} Ll dec 代表原始的一对一集合匹配分支中的损失,λ1和λ2 是平衡系数.

2.4. Co-DETR为何有效

Co-DETR显著改进了基于DETR的检测器。接下来,作者尝试从定性和定量两方面调查其有效性。作者基于使用ResNet-50 Backbone网络的Deformable-DETR,并使用36轮的设置进行了详细分析

1、丰富编码器的监督

直观地说,正 Query 过少会导致监督稀疏,因为每个 GT 只有一个 Query 通过回归损失进行监督。一对多标签分配方式中的正样本接收更多的位置监督,有助于增强潜在特征的学习

为了进一步探讨稀疏监督如何阻碍模型训练,作者详细研究了编码器产生的潜在特征。作者引入了IoF-IoB曲线来量化编码器输出的可区分性得分。具体来说,给定编码器的潜在特征F,受到图3中特征可视化的启发,作者计算了IoF (前景交叉) 和IB (背景交叉)。给定Level-j 处的编码器特征Fj∈RC×Hj×wj,首先计算L2范数 F ^ \widehat{F} F j∈R1×Hj×wj,然后将其调整为图像大小HxW。可区分性得分D(F)通过对所有Level的分数进行平均计算:

在这里插入图片描述
图3中可视化了ATSS、Deformable-DETR和作者的Co-Deformable-DETR的可区分性得分。与Deformable-DETR相比,ATSS和Co-Deformable-DETR都具有更强的区分关键目标区域的能力,而Deformable-DETR几乎被背景干扰

在这里插入图片描述

2、通过减少匈牙利匹配的不稳定性来改进跨注意力学习

匈牙利匹配是一对一集合匹配中的核心方案。跨注意力是帮助正 Query 编码丰富目标信息的重要操作。匈牙利匹配引入了不可控制的不稳定性,因为在训练过程中,分配给同一图像中特定正 Query 的 GT 会发生变化

在这里插入图片描述

图5提供了不稳定性的比较,本文方法有助于更稳定的匹配过程。此外,为了量化跨注意力优化的程度,作者还计算了关注分数的IoF-IoB曲线。与特征可区分度得分计算类似,作者为注意力分数设置不同的阈值,以获取多个IoF-IoB对。可以在图2中查看Deformable-DETR、Group-DETR和Co-Deformable-DETR之间的比较。作者发现,具有更多正 Query 的DETR的IoF-IoB曲线通常高于Deformable-DETR,这与作者的动机一致。

2.5. 与其他方法的比较

Group-DETR、H-DETR和SQR通过具有重复组和重复 GT 框的一对一匹配来执行一对多分配。Co-DETR明确为每个 GT 分配了多个空间坐标作为正 Query 。因此,这些密集的监督信号直接应用于潜在特征图,使其更具区分性。

虽然这些对手引入了更多的正 Query但由匈牙利匹配实现的一对多分配仍然受到一对一匹配的不稳定性问题的困扰。作者的方法受益于即插即用的一对多分配的稳定性,并继承了它们的正 Query 与 GT 框之间的特定匹配方式。

Group-DETR和H-DETR未能揭示一对一匹配和传统一对多分配之间的互补性。据作者所知,作者是第一个对具有传统一对多分配和一对一匹配的检测器进行定量和定性分析的研究,这有助于作者更好地理解它们的差异和互补性,从而可以自然地通过利用即插即用的一对多分配设计来提高DETR的学习能力,而不需要额外的专门的一对多设计经验。

重复的物体 Query 不可避免地会为解码器带来大量的负 Query 和显著增加GPU内存消耗。然而,作者的方法只处理解码器中的正坐标,因此内存消耗较少,如表7所示。

在这里插入图片描述

三、实验

在这里插入图片描述
表2和表3对Co-DETR在不同的DETR变种上的有效性和泛化能力进行了实证分析(结果由mmdetection复现)。

首先,作者将协作混合分配训练应用于具有C5特征的单尺度DETR,较长的训练过后,Conditional-DETR和DAB-DETR都比Baseline提高了2.4%和2.3%的AP。对于多尺度特征的DeformableDETR,检测性能从37.1%显著提高到42.9%的AP。

1 与先进方法的比较

与DeformableDETR++和DINO配对,其中K = 2。此外,作者采用了质量Focal Loss和NMS来进行作者的Co-DINO-Deformable-DETR。作者在COCO val上报告了比较结果,如表4所示。

在这里插入图片描述

与其他竞争对手相比,作者的方法收敛速度快得多。例如,只使用ResNet-50 Backbone网络的Co-DINO-Deformable-DETR在12个Epoch内就可以轻松达到52.1%的AP。作者的Swin-L方法可以在1×scheduler下获得58.9%的AP,甚至超过其他最先进的3×scheduler框架。

更重要的是,最佳模型Co-DINO-Deformable-DETR++在36个Epoch的训练下,使用ResNet-50可以实现54.8%的AP,使用Swin-L可以实现60.7%的AP,超越了所有使用相同 Backbone网络的现有检测器,差距明显。
在这里插入图片描述

作者还展示了Co-DETR在长尾LVIS检测数据集上的最佳结果。具体而言,作者使用了与COCO相同的Co-DINO-Deformable-DETR++作为模型,但选择了FedLoss作为分类损失,以弥补不平衡数据分布的影响。

在这里,作者只应用边界框监督并报告目标检测结果。比较结果见表6。Co-DETR与Swin-L在LVIS val和minival上分别取得了56.9%和62.3%的AP,超越了使用MAE预训练的ViT-H和GLIPv2的ViTDet分别+3.5%和+2.5%的AP。作者进一步在这个数据集上对Objects365预训练的Co-DETR进行了微调。
在这里插入图片描述

2.消融研究

消融实验在具有ResNet-50 Backbone网络的Deformable-DETR上进行的。作者默认选择辅助Head的数量K为1,并将总批量大小设置为32。

选择辅助Head的标准

在这里插入图片描述

作者进一步探讨了在表7和表8中选择辅助Head的标准。表8中的结果显示,任何具有一对多标签分配的辅助Head都可以稳定地提高Baseline性能,而ATSS获得了最佳性能。作者发现,当选择K小于3时,随着K的增加,准确性持续提高。值得注意的是,当K=6时性能下降,作者推测这是由于辅助Head之间的严重冲突引起的。如果特征学习在不同的辅助Head之间不一致,那么当K变大时,连续改进将被破坏。

总之,作者可以选择任何一个Head作为辅助Head,当K≤2时,作者将ATSS和Faster-RCNN视为实现最佳性能的常规做法。作者不使用太多不同的Head,例如6个不同的Head,以避免优化冲突。

3.冲突分析

当在不同的辅助Head中为相同的空间坐标分配不同的前景框或将其视为不同的背景时,会导致冲突,从而使检测器的训练变得混乱。作者首先定义Head Hi 和Head Hj 之间的距离,以及Hi 到平均距离来衡量优化冲突,如下所示:

在这里插入图片描述
在这里插入图片描述

其中,KL、D、I、C分别指的是KL散度、数据集、输入图像和类激活图(CAM)。作者计算了K>1的多个辅助Head之间的平均距离以及K=1时DETR Head和单一辅助Head之间的距离。作者发现当K=1时,每个辅助Head的距离度量是微不足道的,这与作者在表8中的结果一致:当K=1时,DETR Head可以与任何Head共同改进

当K增加到2时,距离度量略有增加,如表7所示,作者的方法实现了最佳性能。当K从3增加到6时,距离度量急剧增加,表明这些辅助Head之间的严重优化冲突导致了性能下降。然而,具有6个ATSS的Baseline可以达到49.5%的AP,并且通过将ATSS替换为6个不同的Head可以降低到48.9%的AP。因此,作者推测过多不同的辅助Head,例如超过3个不同的Head,会加剧冲突。总之,优化冲突受到不同辅助Head的数量以及这些Head之间的关系的影响。

01、是否应该添加不同的Head?

使用两个ATSS Head(49.2%的AP)进行协作训练仍然可以提高一个ATSS Head(48.7%的AP)的模型,因为根据作者的分析,ATSS是DETR Head的补充。

此外,引入一个不同于原始 Head 的多样化和互补的辅助Head,例如Faster-RCNN,可以带来更好的增益(49.5%的AP)。

02、每个组件的效果

在这里插入图片描述
每个组件的消融效果,如表9所示。引入辅助Head显著提高了性能,因为密集的空间监督使编码器特征更具判别性。另外,引入定制的正 Query 也对最终结果做出了显著贡献,同时提高了一对一集合匹配的训练效率。

03、与更长的训练计划的比较

在这里插入图片描述
如表10所示,作者发现Deformable-DETR不能从更长的训练中受益,因为性能会饱和。相反,Co-DETR大大加速了收敛速度,并提高了性能的峰值。

04、辅助分支的性能
在这里插入图片描述
令人惊讶的是,作者观察到Co-DETR对辅助Head也带来了持续的增益,如表11所示。这意味着作者的训练范式有助于更具判别性的编码器表示,从而提高了解码器和辅助Head的性能。

05、原始正 Query 和定制正 Query 的分布差异在这里插入图片描述
作者在图7a中可视化了原始正 Query 和定制正 Query 的位置。作者每张图像只显示一个对象(绿色框)。由解码器中的匈牙利匹配分配的正 Query 标记为红色。

用蓝色和橙色标记了从Faster-RCNN和ATSS中提取的正 Query ,这些定制 Query 分布在实例的中心区域周围,并为检测器提供了足够的监督信号。

作者在图7b中计算了原始 Query 和定制 Query 之间的平均距离。原始负 Query 和定制正 Query 之间的平均距离明显大于原始和定制正 Query 之间的距离。由于原始 Query 和定制 Query 之间的分布差距很小,因此在训练过程中不会遇到不稳定性问题。

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

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

相关文章

QEMU DirtyLimit特性介绍

文章目录 背景基本原理PMLDirty-RingDirty-Limit 具体实现数据结构vcpu_dirty_rate_statdirtylimit_state 算法实现接口逻辑qmp_set_vcpu_dirty_limitqmp_cancel_vcpu_dirty_limit 限制算法算法框架理想效果具体实现 测试验证QEMULibvirt 一个广子 背景 热迁移实现逻辑中&…

---图的遍历和最小生成树

广度优先遍历 --- 针对的是顶点遍历 深度优先遍历 如果给的图不是连通图?以某个点为起点就没有遍历完成。那么怎么保证遍历完剩下的点呢?? 在标记数组当中找没有遍历过的点,在进行遍历 最小生成树 生成树:一个连通…

使用TypeScript和jsdom库实现自动化数据抓取

目录 环境准备 使用TypeScript和jsdom抓取数据 总结 随着网络技术的发展,数据抓取已成为获取信息的重要手段。然而,手动进行数据抓取既耗时又容易出错。因此,本文将介绍如何使用TypeScript和jsdom库实现自动化数据抓取。我们将通过创建一个…

iMazing苹果用户手机备份工具 兼容最新的iOS16操作系统

现在距离苹果秋季新品发布会已过去月余,新iPhone 14系列和新版的iOS 16操作系统也如约与我们见面了,相信大家在9月初抢购的iPhone 14也基本到手了,但随之到来的数据资料备份迁移却是一件令人头大的事情,使用官方提供的iTunes软件卡…

计算机网络,网络(OSI)七层模型,三次握手四次挥手,get与post请求区别,网络IO(BIO\NIO\AIO),TCP与UDP区别

1.OSI模型? 开放式系统互联通信参考模型(Open System Interconnection Reference Model) OSI网络七层模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 TCP/IP协议群简化了OSI七层模型:应用层、传输层、网络层、数据链路…

java-各种成员变量初始化过程-待完善

前置条件 一、本文章讨论的成员变量 public static final String aa "aa";public static final Integer bb 1;public static final Students cc new Students();public static String aa1 "aa";public static Integer bb1 1;public static String bb2…

nodejs+vue中学信息技术线上学习系统-计算机毕业设计

因此,将现代化的计算机技术、网络技术以及多媒体等技术相结合,开发基于互联网的自主学习平台,为学生提供良好的自主学习环境,方便学生能够网上学习,师生通过该平台可以进行课后交流。目 录 摘 要 I ABSTRACT II 目 录 …

ssrf漏洞学习

目录 ssrf漏洞 相关函数 相关协议 file协议 dict协议 gopher协议 ctfshow ssrf web351 web352 web353 web354过滤01 web355五位长度 web356 三位长度 web357 DNS重定向 web358 正则 ssrf漏洞 SSRF(Server-Side Request Forgery,服务器端请…

基于SSM的培训学校教学管理平台的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

ASCII_Util.java

package asc_ii;/*** 我写程序,写代码,做项目做产品,更加努力学习做人* 我曾经家里有两只狗,rocket就是那种小型犬吧,两耳朵跑起来飞舞着,我也不记得是不是舞蝶犬* 还有一条中型犬,“豆豆”&…

小程序实现后台数据交互及WXS的使用

一,数据交互准备工作 1.1 后端准备 后端部分代码,可自行创建后端代码 package com.zking.minoa.wxcontroller;import com.zking.minoa.mapper.InfoMapper; import com.zking.minoa.model.Info; import com.zking.minoa.util.ResponseUtil; import org…

FPGA【紫光语法】

寄存器数据类型: reg 默认为 1 bit wide,如果超过 1 bit,则需要 range declaration 设置 reg 的位宽integer 默认位宽为 32 bit,不允许有 range declarationtime 默认位宽为 64 bit,不允许有 range declarat…

黄金现货期货各有各的市场

投资黄金要获得高效的收益,投资者应该选择有一定资金杠杆的保证金品种,比如现货黄金和黄金期货就是这样投资方式,投资者都可以通过它们的杠杆来放大自己的收益,但二者始终存在区别,投资者到底该如何选择呢?…

(2023,DALL-E3,两步微调,标题重建)通过更好的标题改进图像生成

Improving Image Generation with Better Captions 公众号:EDPJ(添加 VX:CV_EDPJ 或直接进 Q 交流群:922230617 获取资料) 目录 0. 摘要 1. 简介 2. 重建数据集标题 2.1 构建图像标题器 2.1.1 微调标题器 3…

AI虚拟主播频繁亮相,未来会替代真人吗?灰豚AI数字人深度解析!

你可能听说过一些头部主播其实不是真人,而是由人工智能技术生成的虚拟数字人。这些数字人有着逼真的外貌、声音和表情,和真人几乎一模一样,可以在直播平台上和观众进行各种内容的展示和互动。那么,现在来考考你以下哪一个头部主播…

德施曼2023双十一全民换锁季,多款爆品持续引爆全民换购潮

每年双十一,对于各行业的商家来说都是必争之地,在智能锁领域也同样如此。国产高端智能锁品牌德施曼为了迎接此次双十一狂欢盛典,开启了双十一全民换锁季,携旗下多款爆品持续引爆全民换购热潮! 德施曼全民换锁季 以旧换…

JOSEF约瑟 JJKY-30Z NK82-III检漏继电器 导轨或面板安装 0.1-50A

系列型号: JY82A检漏继电器 JY82B检漏继电器 JY82-380/660检漏继电器 JY82-IV检漏继电器 JY82-2P检漏继电器 JY82-2/3检漏继电器 JJKY检漏继电器 JD型检漏继电器 JY82-IV;JY82J JY82-II;JY82-III JY82-1P;JY82-2PA;JY82-2PB JJB-380;JJB-380/660 JD-12…

数据结构--线性表回顾

目录 线性表 1.定义 2.线性表的基本操作 3.顺序表的定义 3.1顺序表的实现--静态分配 3.2顺序表的实现--动态分配 4顺序表的插入、删除 4.1插入操作的时间复杂度 4.2顺序表的删除操作-时间复杂度 5 顺序表的查找 5.1按位查找 5.2 动态分配的方式 5.3按位查找的时间…

Vant Weapp的Slider组件自定义button

js部分: <van-slider v-model"value" range drag"priceChange" drag-end"sliderDragEnd" use-button-slot max"1000" min"0" step"10"><view class"custom-button" slot"left-button&…

如何使用LightPicture部署私人图床实现远程访问与图片管理?

文章目录 1.前言2. Lightpicture网站搭建2.1. Lightpicture下载和安装2.2. Lightpicture网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 现在的手机越来越先进&#xff0c;功能也越来越多&#xff0c;而手机…