基于YOLOV8/YOLOV5的PCB板缺陷检测识别系统

news2024/10/7 0:26:56

摘要: 本文详细阐述了一个利用深度学习进行PCB板缺陷检测的系统,该系统集成了最新的YOLOv8算法,并与YOLOv7、YOLOv6、YOLOv5等先前版本进行了性能比较。该系统能够在图像、视频、实时视频流和批量文件中精确地识别和分类PCB板缺陷。文中不仅深入讲解了YOLOv8算法的工作原理,还提供了完整的Python代码实现、专门用于训练的数据集,以及一个基于PySide6的图形用户界面(UI)。此系统能够精确识别图像中的PCB板缺陷、支持一键切换YOLOv5/v6/v7/v8模型的能力,以及允许用户自定义修改界面等高级功能,以增强用户体验和系统的灵活性。本文旨在为相关领域的研究人员和新入门的朋友提供一个参考,完整代码资源文件以及数据集可以获取。

完整资源中包含数据集及训练代码,环境配置与界面中文字、图片、logo等的修改方法请见视频,项目完整文件下载请见演示与介绍视频的简介处给出:

基于YOLOV8模型的智能PCB板缺陷检测系统_哔哩哔哩_bilibili

1. 前言

  在现代电子制造业中,印刷电路板(PCB)作为电子产品的核心组件,其质量对于最终产品的可靠性和稳定性至关重要。随着电子技术的不断进步,对PCB的质量要求也日益严格,使得PCB板缺陷检测成为保障产品质量的关键环节。

  传统的PCB缺陷检测主要依赖于人工视觉检查和基于规则的自动化方法。然而,这些方法存在效率低下、成本高昂以及难以满足日益提高的检测精度和可靠性要求等问题。因此,随着深度学习技术的快速发展,其在PCB缺陷检测领域的应用逐渐成为研究的热点。其中,YOLO系列算法以其快速、准确的特点在实时目标检测领域表现出色。从YOLOv5到最新的YOLOv8,每个版本的更新都在不断优化检测速度、提升准确性和实现模型轻量化,使其更加适用于PCB缺陷检测任务。

  然而,尽管深度学习技术在PCB缺陷检测中取得了显著进展,但仍面临一些挑战。首先,需要在模型的实时性与准确性之间找到平衡。在高速生产线上,实时性至关重要,但同时也不能牺牲检测的准确性。其次,不同类型的PCB缺陷具有不同的特征和表现形式,因此需要开发能够识别各种类型缺陷的算法。此外,算法在实际生产环境中的稳定性也是一个需要关注的问题。

  为了解决这些问题,研究人员正在积极探索更有效的算法结构、训练策略以及数据增强技术。例如,通过引入注意力机制来增强模型对细微缺陷的识别能力,或者开发更精细的损失函数以优化模型在复杂背景下的性能。同时,利用专门的数据集进行训练,如DeepPCB缺陷数据集,可以进一步提高模型的检测精度和泛化能力。

  总的来说,深度学习技术在PCB缺陷检测领域具有巨大的应用潜力,但仍需要不断研究和改进以满足实际生产的需求。随着技术的不断进步,相信未来PCB缺陷检测将变得更加高效、准确和可靠。

  本文介绍了基于YOLOv8/v7/v6/v5的PCB板缺陷检测系统的设计与实现,涵盖了从任务定义、文献综述、数据集处理、算法选择与优化,到用户界面设计、实验结果分析及系统部署等多个方面。通过全面的研究与实践,主要贡献可以概括为以下几点:

  综合性的文献综述: 本文提供了文献综述,详细介绍了PCB板缺陷检测领域的研究现状,包括最新的目标检测算法如YOLOv8/v7/v6/v5及其在缺陷检测任务中的应用。这一部分不仅涵盖了算法的选择和优化,还对比了不同算法在PCB板缺陷检测中的效果,为读者提供了宝贵的研究资源和启示。

  数据集的详细处理方法: 详细介绍了PCB板缺陷检测所需数据集的处理方法,包括数据收集、预处理、增强技术等,确保了模型训练的高效性和准确性。这一部分对于希望在该领域开展研究的学者和工程师具有重要的参考价值。

  先进算法的应用与对比: 文章详尽地介绍了YOLOv8/v7/v6/v5等深度学习模型在PCB板缺陷检测系统中的应用,并对这些算法进行了深入的对比分析,展示了各自的优势和局限,为选择最适合的模型提供了科学依据。

  完整的资源分享: 文章提供了完整的数据集和代码资源下载链接,包括模型预测与训练的代码,这为研究人员复现实验结果、进行进一步研究或基于本系统进行扩展提供了便利。

2. 数据集简介

  在本研究中,详细介绍了用于PCB板缺陷检测的全面数据集。该数据集经过细致的构建和标注,总共包括10668张图像,其中包括8534张训练图像、1066张验证图像以及1068张测试图像。这些图像涵盖了广泛的PCB板类型,图像清晰度高,缺陷特征明显,为模型提供了优质的学习素材。类别如下:

Chinese_name = {'missing_hole': "漏孔", 'mouse_bite': "鼠牙洞", 'open_circuit': "开路", 'short': "短路", 'spur': "毛刺",
                'spurious_copper': "杂铜"}

  数据集聚焦于多样性和实用性,其中包括六种常见的PCB缺陷类型,如缺失孔、鼠咬、开路、短路、毛刺以及多余铜片,每种类型的缺陷都以2000多个实例呈现,确保了在训练深度学习模型时具有统计上的代表性。缺陷的标注信息包括类别和位置,以矩形框的形式精确标出,为训练和测试阶段提供了清晰的参照。

  在数据处理方面,对这些图像进行了一系列的预处理操作,包括尺寸调整、归一化处理,以及为了适应不同模型输入需求的格式转换。此外,为了提高模型在真实世界条件下的泛化能力,采用了多种数据增强技术。这些技术模拟了多变的光照条件、背景噪声,以及PCB板在生产过程中可能遇到的其他视觉扰动,极大地丰富了数据集的多样性。

  数据集的详尽分析揭示了其独特的特征。分布图展示了不同缺陷类型的实例数量,可以看到一个相对均衡的分布,这表明数据集在不同缺陷类型之间达到了良好的覆盖度。位置分布的热力图显示了缺陷在PCB板上的分布情况,显示了一个全面的缺陷位置布局,这有助于模型学习在整个PCB板上检测缺陷。尺寸分布图则揭示了大多数缺陷倾向于较小的尺寸,这对设计高精度检测算法提出了特别的挑战。

  综上所述,数据集是针对PCB板缺陷检测任务精心设计的,它不仅有助于深度学习模型的开发和优化,同时也为计算机视觉和自动化检测领域的研究人员提供了丰富的实验资源。通过公开这些数据和标注信息,期望能够推动相关技术的进步,同时为工业界提供有力的支持,以提升PCB制造的质量和效率。

3.系统界面效果

  系统以PySide6作为GUI库,提供了一套直观且友好的用户界面。下面,为各个主要界面的功能和设计。

  (1)在主界面上,系统提供了支持图片、视频、实时摄像头和批量文件输入的功能。用户可以通过点击相应的按钮,选择要进行PCB缺陷检测的图片或视频,或者启动摄像头进行实时检测。在进行PCB缺陷检测时,系统会实时显示检测结果。

  (2)此外,系统还提供了一键更换YOLOv8模型的功能。用户可以通过点击界面上的"更换模型"按钮,选择不同的YOLOv8模型进行检测。与此同时,系统附带的数据集也可以用于重新训练模型,以满足用户在不同场景下的检测需求。

  (3)为了提供更个性化的使用体验,这里系统支持界面修改,用户可以自定义图标、文字等界面元素。例如,用户可以根据自己的喜好,选择不同风格的图标,也可以修改界面的文字描述。

4.算法原理简介

  YOLOv8 是 ultralytics 公司在 2023 年 1月 10 号开源的 YOLOv5 的下一个重大更新版本,目前支持图像分类、物体检测和实例分割任务,鉴于Yolov5的良好表现,Yolov8在还没有开源时就收到了用户的广泛关注YOLOv8是一种先进的深度学习模型,专为实现高效准确的目标检测而设计。其核心思想是将目标检测任务视为一个回归问题,通过单一的前向传播过程直接预测出图像中物体的类别和位置。

yolov8的整体架构如下:

  YOLOv8继承了YOLO系列算法的设计,优化并改进了网络结构,使其在速度和准确率之间达到更好的平衡。它采用了一个深度卷积神经网络作为其基础架构,通常以类似于Darknet-53的网络作为骨干,这种网络深度和宽度的平衡设计使得模型能够捕捉到丰富的特征信息,同时保持了较快的处理速度。

YOLOV8主要优点有如下:

- 用户友好的API
- 可以同时实现分类、检测、分割和姿态估计任务
- 速度更快、准确率更高
- 全新的结构
- 新的损失函数
- Anchor free

主要改动:

Backbone: 第一层卷积由原本的 6×6 卷积改为 3×3 卷积;参考 YOLOv7 ELAN 设计思想将 C3 模块换成了 C2f 模块,并配合调整了模块的深度。

Neck: 移除了 1×1 卷积的降通道层;同时也将原本的 C3 模块换成了 C2f 模块。

Head: 这部分改动较大,换成了解耦头结构,将分类任务和回归任务解耦;同时也将 Anchor-Based 换成了 Anchor-Free

Loss:使用 BCE Loss 作为分类损失;使用 DFL Loss + CIOU Loss 作为回归损失。

样本匹配策略: 采用了 Task-Aligned Assigner 样本分配策略。

训练策略: 新增加了最后 10 轮关闭 Mosaic 数据增强操作,该操作可以有效的提升精度

  YOLOv8的网络结构通常包括几个关键部分:首先是输入预处理,它将输入图像统一调整至固定的尺寸(例如416x416像素),以保证网络输入的一致性。随后,图像通过多层卷积网络,这一过程中会使用到多种类型的卷积层,包括标准的卷积层、残差连接以及BottleNeck层。这些层次的设计旨在提取图像中的特征,为后续的目标检测任务奠定基础。

  在特征提取过程中,YOLOv8通过使用批量归一化(Batch Normalization, BN)和CBL(Convolution, Batch normalization, Leaky ReLU)模块来加速训练过程并提高模型的稳定性。BN层可以减少内部协变量偏移,提高模型训练过程的稳定性和泛化能力。CBL模块则是YOLOv8网络中重复使用的基本构建块,通过这种模块化的设计,YOLOv8能够以较小的计算成本提取深层次的特征信息。

  YOLOv8的另一个显著特点是它的预测方式。它将图像分割为一个个网格,并在每个网格中预测多个边界框及其对应的置信度和类别概率。这种设计使得YOLOv8能够在图像中的多个位置同时预测多个目标,大幅提高了检测的效率。为了减少重复检测和提高检测准确性,YOLOv8还采用了非极大值抑制(Non-maximum Suppression, NMS)的技术,通过此技术可以筛选出最佳的边界框,并抑制那些重叠较多且置信度较低的边界框。

  总之,YOLOv8通过其创新的网络结构和预测机制,为实时目标检测任务提供了一种既快速又准确的解决方案。它的设计理念和技术细节共同确保了在保持高速处理的同时,也能够准确地识别出图像中的各种目标。这一系列的技术进步使得YOLOv8在目标检测领域中占据了领先地位,并被广泛应用于各种实际场景中。

4.1 代码简介

  在训练阶段,我们使用了预训练模型作为初始模型进行训练,然后通过多次迭代优化网络参数,以达到更好的检测性能。在训练过程中,我们采用了学习率衰减和数据增强等技术,以增强模型的泛化能力和鲁棒性。一个简单的单卡模型训练命令如下。

Device is determined automatically. If a GPU is available then it will be used, otherwise training will start on CPU.

# Build a new model from YAML and start training from scratch
yolo detect train data=coco128.yaml model=yolov8n.yaml epochs=100 imgsz=640
# Start training from a pretrained *.pt model
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640
# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco128.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 imgsz=640

To train with 2 GPUs, CUDA devices 0 and 1 use the following commands. Expand to additional GPUs as required.

# Start training from a pretrained *.pt model using GPUs 0 and 1
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640 device=0,1

训练时可指定更多的参数,如下:

ArgumentDefaultDescription
modelNone模型或者模型配置文件
dataNone数据集配置文件
epochs100训练的轮次
patience100准确率为提升停止的轮次
batch16训练的批次大小
imgsz640图像的尺寸
saveTrue是否需要保存训练的结果与模型
deviceNone训练设备
workers8多线程数据集加载
projectNone项目名称
exist_okFalse是否覆盖现有试验
pretrainedTrue是否使用预训练模型
optimizer'auto'优化器选择
verboseFalse是否详细输出
seed0种子数
deterministicTrue是否启动确定性模式
rectFalse单类别模型训练
cos_lrFalse是否使用余弦学习率调度器
resumeFalse是否从最近的训练断掉权重继续训练
ampTrue是否开启混合精度训练

  本文中我们将深入探讨如何通过Python脚本使用YOLOv8算法与PySide6库来构建一个多目标检测和跟踪的图形用户界面(GUI)应用。这段代码展示了从图像读取、模型加载、预测执行到结果展示整个流程的实现。

  首先,我们引入了必要的Python模块,包括random、sys、time以及图像处理和GUI设计相关的库。通过这些库,我们可以处理图像数据、创建窗口界面,并接受用户输入。代码首先设置QF_Config以关闭冗余输出,保持GUI输出的整洁。

# 界面入口
import sys
import os
import logging
# 禁止标准输出
sys.stdout = open(os.devnull, 'w')
logging.disable(logging.CRITICAL)  # 禁用所有级别的日志
from PySide6.QtGui import QIcon
from PySide6.QtWidgets import QApplication
from utils import glo

from yoloshow import *

  我们定义了一个MainWindow类,它继承自QMainWindow,用于创建主窗口。在窗口中,我们添加了一个标签(QLabel),它将用来展示目标检测后的图像。

# 多套一个类 为了实现MouseLabel方法
class MyWindow(YOLOshow):
    # 定义关闭信号
    closed = Signal()
    def __init__(self):
        super(MyWindow, self).__init__()
        self.center()
        # --- 拖动窗口 改变窗口大小 --- #

            event.ignore()
        else:
            self.setWindowOpacity(1.0)
            self.closed.emit()

  在代码的核心部分,我们首先记录了预测开始的时间,调用模型的predict函数进行预测,并记录结束时间,以计算整个推理过程所需时间。使用postprocess函数对检测结果进行后处理,然后遍历每个检测到的对象信息,包括类别名称、边界框、置信度和类别ID。这些信息将用来在图像上绘制代表检测对象的矩形框,并显示类别和置信度。最后,我们在GUI的标签上显示处理后的图像,并启动Qt应用程序的主循环。通过这样的实现,用户可以直观地看到每个检测对象,以及模型预测的准确性和效率。

5.系统实现

  在构建交互式海洋生物多目标检测系统设计中,我们的核心目标是开发一个既直观又易于操作的用户界面,它能够实时显示多目标检测的结果。为了达到这一目标,采取了模块化的设计思路,整合界面、媒体处理和深度学习模型,实现了一个既高效又灵活的系统。

5.1 设计思路

  在这一系统中,我们设计了MainWindow类作为架构的核心。这个类不仅是用户交互的主体,还起到了将处理逻辑和界面逻辑紧密联系起来的桥梁作用。通过精心设计的界面,用户能够轻松地管理和观察到从视频流中检测和跟踪的对象。此外,通过实时更新的视觉元素,比如标签和图像框,用户可以直观地看到模型的检测结果。

  MainWindow类的设计巧妙地融合了处理层、界面层和控制层,使得整个系统既有良好的用户体验,又保持了强大的功能性:

  • 处理层是系统的智能核心,利用先进的YOLOv8模型,它负责处理输入的视频流,并进行对象检测与跟踪。这层不仅需要高效地执行深度学习模型的推理,还要对检测到的对象信息进行实时更新和管理。

  • 界面层是与用户直接交互的前端,通过PySide6构建的GUI元素,提供了一个清晰、响应迅速的界面。用户可以通过这个界面实时查看检测结果,以及各种统计信息和系统状态。

  • 控制层承担着指挥和协调的角色,它通过连接处理层的逻辑和界面层的表现,将用户的操作转化为系统的响应。例如,用户的一次点击操作可能会触发一个槽函数,该函数会告诉模型开始处理下一帧视频或停止当前任务。

  在此架构下,各层之间通过信号和槽机制进行高效通信。当处理层完成一帧的检测时,会发出一个信号,界面层的相应部件会捕捉这个信号,并更新显示的内容,如图像框中的对象位置和标签。这种机制使得我们的系统能够流畅地在用户操作和复杂的后端处理之间过渡,确保用户获得连贯和实时的体验。

  通过这样的设计,我们不仅使得系统易于使用和扩展,而且还确保了它能够高效地处理复杂的多目标检测任务,并在动态环境下提供稳定的性能。这种架构设计使得我们的系统不仅适用于研究和学术领域,也能够满足工业级应用的需要。

下载链接

  若您想获得博文中涉及的实现完整全部资源文件(包括测试图片、视频,py, UI文件,训练数据集、训练代码、界面代码等),这里已打包见可参考博客与视频,进行私信;已将所有涉及的文件同时打包到里面,点击即可运行,完整项目文件截图如下:

完整资源中包含数据集及训练代码,环境配置与界面中文字、图片、logo等的修改方法请见视频,项目完整文件下载请见演示与介绍视频的简介处给出:

基于YOLOV8模型的智能PCB板缺陷检测系统_哔哩哔哩_bilibili

6.结束

  本文详细介绍了一个基于YOLOv8/YOLOV5模型的PCB缺陷检测系统。系统以模块化的方式设计,充分采用了合理的架构设计,带来良好的可维护性和可扩展性。其用户界面友好,能够提供实时的多目标检测计数与跟踪和识别结果展示,同时支持用户账户管理,以便于保存和管理检测结果和设置。

  该系统支持摄像头、视频、图像和批量文件等多种输入源,能够满足用户在不同场景下的需求。在后面可以添加更多预训练模型,增加检测和识别的种类;优化用户界面,增强个性化设置;并积极聆听用户反馈,以期不断改进系统,以更好地满足用户的需求。

  非常感谢大家的支持!支出需要改进的地方,以便后续更改,共同追求更完美、更严谨的知识分享!

可订阅微信公众号获取相关内容

微信公众号: AI算法爱好者角落

知乎:基于YOLOV8/YOLOV5的PCB板缺陷检测识别系统 - 知乎

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

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

相关文章

WiFi蓝牙模块厂家带你了解蓝牙模块功率的等级

目前蓝牙技术的突破已经让许多蓝牙模块厂家从业者忘记了很多专业术语,比如Class1,Class2等,那么我们就蓝牙模块发射功率来做个详细了解。   针对功率来说,低功耗蓝牙和经典蓝牙又有区别。   低功耗蓝牙没有功率的级别&#xf…

Milvus:揭秘未来数据探索之钥

Milvus是什么? 想象一下,你正坐在一个巨大的图书馆中,成千上万本书摆放在眼前,但图书馆却没有目录和顺序,这听起来像一项艰巨的任务,不是吗?好消息是,在数字世界中,我们…

经纬恒润第三代重载自动驾驶平板车

随着无人驾驶在封闭场地和干线道路场景的加速落地,港口作为无人化运营的先行者,其场景的复杂度、特殊性对无人化运营的技术提出了各种挑战。经纬恒润作为无人驾驶解决方案提供商,见证了港口在无人化运营方面的尝试及发展,并深度参…

Python——基于共享单车使用量数据的可视化分析(1)

目录 🧾 1、数据集(部分数据) ✏️ 2、导入数据集与必要模块 1️⃣ 2.1 导入库以及字体包 2️⃣ 2.2 读取数据集 3️⃣ 2.3 查看数据集基本信息 ⌨️ 3、数据预处理 1️⃣ 3.1删除无关字段 2️⃣ 3.2对各字段进行中文标识 3️⃣ 3.3…

Timeline

SignalTrack信号轨道和自定义带参数的Marker信号和轨道 MySignalReceiver using System; using System.ComponentModel; using UnityEngine.Playables; using UnityEngine.Events;namespace UnityEngine.Timeline { public class BaseSignalReceiver<T, Q> : MonoBeha…

3100点失守,小丑竟是我自己

敏感时刻&#xff0c;亮剑的我们股市买单&#xff0c;海的那边反倒还涨了&#xff0c;好生气啊&#xff01;就连我们胡主编昨晚都气得睡不着&#xff0c;一点多了还在那抒发情感&#xff0c; 确实&#xff0c;有句话说到心窝里了&#xff1a;小散们是拿真金白银撑场子的&#x…

微星打造全球首款DDR5 CAMM2内存主板:这下清爽了

微星预告了新款主板“ Z790 Project Zero Plus”&#xff0c;这也是 全球第一款配备DDR5 CAMM2内存的桌面主板&#xff01; CAMM全称为“Compression Attached Memory Module”&#xff0c;已被JEDEC组织接纳为行业标准&#xff0c;相比传统的SO-DIMM、DIMM内存最大特点就是取消…

大模型之Ollama:在本地机器上释放大型语言模型的强大功能

LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;一&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;二&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;三&#xff09; 基于 LlaMA…

spark的简单学习一

一 RDD 1.1 RDD的概述 1.RDD&#xff08;Resilient Distributed Dataset&#xff0c;弹性分布式数据集&#xff09;是Apache Spark中的一个核心概念。它是Spark中用于表示不可变、可分区、里面的元素可并行计算的集合。RDD提供了一种高度受限的共享内存模型&#xff0c;即RD…

翻译《The Old New Thing》- Why do we even have the DefWindowProc function?

Why do we even have the DefWindowProc function? - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20071105-00/?p24583 Raymond Chen 2007年11月05日 为什么一定要使用 DefWindowProc 函数&#xff1f; 简要 文章讨论了为什么我们有DefW…

day15|各种遍历的应用

相关题目&#xff1a; 层次遍历会一打十 反转二叉树 对称二叉树 层次遍历会一打十 自底向上的层序遍历 实现思路&#xff1a;层次遍历二叉树&#xff0c;将遍历后的结果revers即可 public List<List<Integer>> levelOrderBottom(TreeNode root) {List<List&l…

Flutter 页面布局 Flex Expanded弹性布局

题记 —— 执剑天涯&#xff0c;从你的点滴积累开始&#xff0c;所及之处&#xff0c;必精益求精&#xff0c;即是折腾每一天。 什么是弹性布局&#xff08;Flex&#xff09;&#xff1f; 弹性布局&#xff08;Flex&#xff09;是一种基于弹性盒子模型的布局方式&#xff0c;类…

IP地址显示“不安全”怎么办|已解决

解决IP地址显示“不安全”的问题&#xff0c;通常需要确保网站或服务使用HTTPS协议进行加密通信&#xff0c;可以通过部署SSL证书来解决&#xff0c;以下是具体的解决步骤&#xff1a; 1 申请IP地址SSL证书&#xff1a;网站管理员应向证书颁发机构&#xff08;CA&#xff09;申…

【教学类-58-03】黑白三角拼图03(4*4宫格)总数算不出+随机抽取10张

背景需求&#xff1a; 【教学类-58-01】黑白三角拼图01&#xff08;2*2宫格&#xff09;256种-CSDN博客文章浏览阅读318次&#xff0c;点赞10次&#xff0c;收藏12次。【教学类-58-01】黑白三角拼图01&#xff08;2*2宫格&#xff09;256种https://blog.csdn.net/reasonsummer/…

联邦BGP

AR1&#xff1a; [Huawei]bgp 1 [Huawei-bgp]router-id 1.1.1.1 [Huawei-bgp]peer 12.1.1.2 as-number 2 [Huawei-bgp]network 10.1.1.1 24---宣告 AR8&#xff1a; [Huawei]bgp 3 [Huawei-bgp]router-id 8.8.8.8 [Huawei-bgp]peer 78.1.1.7 as-number 2 [Huawei-bgp]ne…

剖析镜面不锈钢氮气柜的种类和使用维护方法

镜面不锈钢氮气柜是一种高端的储存设备&#xff0c;专门设计用于保存对环境条件有严格要求的敏感物品。它采用了高品质的不锈钢材料&#xff0c;并通过精细的抛光处理达到镜面效果&#xff0c;不仅美观而且具备优秀的耐腐蚀性和易清洁性。柜体内利用氮气控制系统&#xff0c;通…

CTFHUB技能树——SSRF(三)

目录 URL Bypass 数字IP Bypass 302跳转 Bypass DNS重绑定 Bypass SSRF绕过方法&#xff1a; &#xff08;1&#xff09; http://abc.com127.0.0.1 &#xff08;2&#xff09;添加端口号 http://127.0.0.1:8080 &#xff08;3&#xff09;短地址 htt…

内网安全之证书服务基础知识

PKI公钥基础设施 PKI(Public Key Infrastructure)公钥基础设施&#xff0c;是提供公钥加密和数字签名服务的系统或平台&#xff0c;是一个包括硬件、软件、人员、策略和规程的集合&#xff0c;用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。企业…

c【语言】了解指针,爱上指针(4)

了解指针&#xff0c;爱上指针&#xff08;4&#xff09; 字符指针变量数组指针变量二维数组传参的本质函数指针变量typedef关键字函数指针数组转移表 字符指针变量 如整型指针变量一样&#xff0c;它是指针变量的其中一个类型&#xff1a;char* 一般&#xff0c;我们是这样使…

通胀担忧仍存,美联储降息预期或又推迟

KlipC报道&#xff1a;周三&#xff0c;美联储公布4月30日至5月1日政策会议纪要&#xff0c;会议纪要显示美联储对通胀仍感到担忧&#xff0c;将更长时间维持利率不变&#xff0c;必要时进一步收紧政策。 尽管在前不久公布的4月CPI数据显示通胀有所缓解&#xff0c;但是被认为…