目标检测:YOLO 模型详解

news2025/6/1 6:43:24

目录

一、YOLO(You Only Look Once)模型讲解

YOLOv1

YOLOv2 (YOLO9000)

YOLOv3

YOLOv4

YOLOv5

YOLOv6

YOLOv7

YOLOv8

YOLOv9

YOLOv10

YOLOv11

YOLOv12

其他变体:PP-YOLO

二、YOLO 模型的 Backbone:Focus 结构

三、YOLO 模型的 Neck:FPN 和 PAN 结构

FPN(Feature Pyramid Network)

PAN(Path Aggregation Network)

四、YOLO 模型的实战应用

安装环境

YOLO V5 模型训练和推理

1. 模型训练

2. 模型推理


一、YOLO(You Only Look Once)模型讲解

YOLOv1

  • 发布时间:2015 年。

  • 核心创新:首次提出将目标检测任务转化为回归问题,直接从图像像素预测边界框和类别概率,实现端到端的实时目标检测。这种创新性的思路使得 YOLOv1 能够在保持较高检测速度的同时,获得相对较好的检测精度。

  • 网络架构:采用了 24 个卷积层和 2 个全连接层的结构。卷积层用于特征提取,而全连接层用于预测边界框的位置和类别概率。

  • 损失函数:YOLOv1 设计了一个综合损失函数,该函数同时考虑了边界框的坐标误差、宽度高度误差以及类别置信度误差,通过加权的方式将这些误差项结合起来进行优化,以提高检测的准确性。

  • 应用场景:适用于对实时性要求较高的场景,如实时视频监控等,能够在保证一定检测精度的同时快速地对图像中的目标进行定位和分类。

YOLOv2 (YOLO9000)

  • 发布时间:2016 年。

  • 主要改进

    • Batch Normalization:在卷积层后添加 Batch Normalization 层,加速训练过程并提高模型的稳定性,使模型更容易优化,且在一定程度上防止过拟合。

    • High Resolution Classifier:使用高分辨率图像进行分类训练,使模型能够更好地捕捉图像中的细节信息,从而提高对小目标的检测能力以及目标类别的识别准确性。

    • Anchor Boxes:引入预定义的边界框(Anchor Boxes),提高边界框预测的准确性,解决 YOLOv1 中边界框预测不够准确的问题。

    • Dimension Clusters:通过聚类算法生成 Anchor Boxes,使其更符合数据集中的目标分布,从而提高边界框的匹配度和检测性能。

  • 网络架构:基础网络采用 Darknet-19,该网络包含 19 个卷积层和 5 个最大池化层,能够有效地提取图像特征并减少计算量。

  • 损失函数:在 YOLOv1 的损失函数基础上进行了改进,对边界框的坐标误差和宽度高度误差的计算方式进行了调整,使其更加注重边界框的精确度,并且对类别置信度误差的计算也进行了优化,以提高分类的准确性。

  • 应用场景:除了实时视频监控外,还可以应用于需要较高检测精度的场景,如自动驾驶中的目标检测等,能够在保持较快检测速度的同时提供更准确的检测结果。

YOLOv3

  • 发布时间:2018 年。

  • 主要改进

    • Darknet-53:采用 Darknet-53 作为 Backbone 网络,具有更深的网络结构和更高的特征提取能力,能够更好地捕捉图像中的复杂特征和深层次信息,从而提高对不同类型目标的检测性能。

    • Multi-Scale Prediction:在不同尺度的特征图上进行预测,使模型能够同时检测到大中小不同尺寸的目标,有效解决了 YOLOv1 和 YOLOv2 对小目标检测效果不佳的问题。

    • ** mieuxanchors**:优化 Anchor Boxes 的生成方式,提高边界框预测的精度,使模型能够更准确地定位目标的位置和大小。

  • 网络架构:包括 Darknet-53 作为 Backbone,以及多个上采样和下采样层组成的 Neck 部分,最后通过三个不同尺度的特征图进行目标检测预测。

  • 损失函数:进一步改进了损失函数,采用了不同尺度特征图的损失加权求和的方式,使得模型在不同尺度上的检测结果都能够得到有效的优化,并且对边界框的坐标、宽度高度以及类别置信度的误差计算都进行了精细化的设计,以提高整体检测性能。

  • 应用场景:适用于对检测精度要求较高的场景,如安防监控中的行人、车辆检测以及医疗影像中的病变检测等,能够提供高精度的检测结果,帮助用户更准确地识别和定位目标。

YOLOv4

  • 发布时间:2020 年。

  • 主要改进

    • Mish Activation Function:采用 Mish 激活函数,提高模型的非线性表达能力,使模型能够更好地拟合复杂的图像数据分布,从而增强对不同类型目标的检测性能。

    • CSPDarknet53:使用 CSPDarknet53 作为 Backbone 网络,减少计算量并提高特征提取效率,通过引入跨阶段部分网络结构,有效地减少了网络的计算冗余,同时增强了特征的传播和利用效率。

    • SPP Block:引入空间金字塔池化(SPP)块,增强模型对不同尺度目标的适应能力,使模型能够更好地处理图像中目标大小变化较大的情况,提高检测的灵活性和准确性。

    • PANet:采用 PANet(Path Aggregation Network)进行特征融合,提高特征传播效率,确保低层次特征图能够充分获取高层次特征图的语义信息,从而提高模型对小目标的检测能力和多尺度目标检测的性能。

  • 网络架构:基于 CSPDarknet53 构建 Backbone,通过 SPP Block 进行特征增强,再利用 PANet 进行特征融合,最后在不同尺度的特征图上进行目标检测预测。

  • 损失函数:在前几代 YOLO 的基础上,对损失函数进行了进一步的优化和完善,使其能够更好地平衡边界框定位误差和类别分类误差之间的关系,并且针对不同尺度特征图的预测结果采用了不同的损失权重,以提高模型在不同尺度上的检测效果。

  • 应用场景:在各种需要高精度目标检测的场景中表现出色,如智能交通中的交通标志识别、无人驾驶车辆的障碍物检测等,能够快速准确地识别出图像中的目标,并为其提供精确的定位信息,为后续的决策和控制提供有力支持。

YOLOv5

  • 发布时间:2020 年。

  • 主要改进

    • Simplified Architecture:简化了网络结构,使其更易于训练和部署,降低了模型的复杂度,提高了训练和推理的效率,同时也便于用户根据实际需求进行定制和优化。

    • AutoAnchor:自动计算 Anchor Boxes,提高边界框预测的准确性,能够根据训练数据自适应地调整 Anchor Boxes 的尺寸和比例,使其更好地匹配数据集中的目标分布,从而提高检测性能。

    • Efficient Training:优化了训练过程,使其在相同硬件条件下能够训练更深的网络,通过采用一些高效的训练技巧和优化策略,如混合精度训练等,提高了模型的训练速度和收敛性能。

  • 网络架构:整体结构相对简洁,主要包括一个 Backbone 网络用于特征提取、一个 Neck 部分用于特征融合以及一个 Head 部分用于目标检测预测。Backbone 网络采用了类似 CSPDarknet 的结构,Neck 部分则通过特征金字塔结构进行特征融合,Head 部分在不同尺度的特征图上进行目标检测预测。

  • 损失函数:继承了 YOLO 系列经典的损失函数设计思路,并根据 YOLOv5 的网络结构和特点进行了适当的调整和优化,以确保模型能够快速稳定地收敛,并且在检测精度和速度之间取得良好的平衡。

  • 应用场景:由于其简洁高效的网络结构和良好的性能表现,YOLOv5 广泛应用于各种目标检测任务中,如工业检测中的产品缺陷检测、无人机航拍图像中的目标识别等,能够快速准确地完成目标检测任务,满足不同用户在不同场景下的需求。

YOLOv6

  • 发布时间:2022 年。

  • 主要改进

    • RepVGG 思想:借鉴 RepVGG 思想设计高效骨干网络,通过将标准卷积和多分支结构在训练时进行联合学习,然后在推理时将多分支结构替换为单个卷积,从而在保持较高精度的同时显著提高推理速度,提高模型的实际应用效率。

    • SimOTA:借鉴 YOLOX 中的 SimOTA 进行正负样本匹配,使得正负样本的匹配更加准确合理,提高了模型的训练效果和检测性能。

    • SIoU Loss:使用 SIoU Loss 更好地回归检测框位置,通过引入边界框的重叠面积、中心点距离以及边界框的长宽比等多因素综合考量,使边界框的回归更加精准,提高了目标定位的准确性。

  • 网络架构:采用了较为轻量化的骨干网络结构,并结合高效的特征融合策略,使得整个模型在保证检测精度的同时具有更快的推理速度,更适合在资源受限的设备上运行。

  • 损失函数:以 SIoU Loss 为核心,对边界框回归损失进行了优化,同时对分类损失也进行了一定的调整和改进,使模型在训练过程中能够更好地平衡边界框回归和类别分类任务,提高整体检测性能。

  • 应用场景:适用于对模型体积和推理速度有较高要求的移动设备或嵌入式设备上的目标检测任务,如手机端的图像识别应用、智能摄像头的目标检测等,能够在有限的计算资源下快速准确地完成目标检测任务。

YOLOv7

  • 发布时间:2022 年。

  • 主要改进

    • 重参数化:引入重参数化技术,通过将多个卷积层和批归一化层融合为一个等价的卷积层,有效地减少了模型的参数数量和计算量,同时提高了模型的推理速度和性能表现。

    • 动态标签分配策略:优化了标签分配过程,使得模型能够更加合理地利用训练数据中的信息,提高了模型的训练效率和检测精度。

  • 网络架构:在保持 YOLO 系列模型简洁高效的特点基础上,通过重参数化等技术对网络结构进行了优化,使得模型结构更加紧凑高效,同时具备较强的特征提取和检测能力。

  • 损失函数:对损失函数进行了进一步的优化和完善,使其能够更好地适应 YOLOv7 的网络结构和训练策略,并且在平衡边界框回归和类别分类任务方面表现出色,有助于提高模型的整体检测性能。

  • 应用场景:广泛应用于各种需要高效目标检测的场景,如智能安防中的行为分析、工业生产中的自动化检测等,能够在保证检测精度的前提下快速地对目标进行识别和定位,满足实时性要求较高的应用需求。

YOLOv8

  • 发布时间:2023 年。

  • 主要改进

    • BoT(Bottleneck Transformer)注意力机制:融合 Transformer 架构中的注意力机制,增强了模型对图像全局特征的捕捉能力,使模型能够更好地理解图像中目标与背景以及目标之间的相互关系,从而提高检测精度。

    • 改进的 CSP(Cross Stage Partial)结构:进一步优化了 CSP 结构,在减少计算量的同时提高了特征提取的效率和质量,使得模型能够更充分地利用图像信息进行目标检测。

    • 更高效的训练策略:采用了一些先进的训练技巧,如渐进式训练等,提高了模型的训练效率和收敛速度,缩短了模型的训练时间。

  • 网络架构:结合 BoT 注意力机制和改进的 CSP 结构,构建了一个更加高效、强大的目标检测模型。其整体结构仍然延续了 YOLO 系列的风格,包括 Backbone、Neck 和 Head 三个主要部分,通过合理的设计和优化,使得模型在检测精度和速度方面都取得了显著提升。

  • 损失函数:继承并优化了 YOLO 系列的损失函数设计,在处理边界框回归和类别分类任务时更加得心应手,能够有效地引导模型朝着正确的方向进行学习和优化,提高检测结果的质量。

  • 应用场景:除了常见的目标检测任务外,YOLOv8 还在一些对检测精度和速度要求极高的特定领域表现出色,如医疗影像中的细胞检测、航空航天领域的目标识别等,为相关领域的研究和应用提供了有力的技术支持。

YOLOv9

  • 发布时间:2024 年 2 月。

  • 主要改进

    • 可编程梯度信息(PGI):通过引入可编程梯度信息,能够更精准地控制模型训练过程中的梯度更新方向和大小,提高模型的训练效率和稳定性,加速模型的收敛过程。

    • 广义高效层聚合网络(GELAN):提出了一种新的特征融合网络结构,能够更加高效地聚合不同层次的特征信息,充分发挥多尺度特征的优势,提高模型对不同类型和尺度目标的检测能力。

  • 网络架构:以 PGI 和 GELAN 为核心,构建了一个具有创新性的目标检测模型。该架构在保持 YOLO 系列高效性的同时,通过新颖的特征融合和梯度控制机制,进一步提升了模型的性能和适用性。

  • 损失函数:根据 YOLOv9 的特点和改进点,对损失函数进行了相应的优化和调整,使其能够更好地配合 PGI 和 GELAN 的工作,充分挖掘模型的潜力,提高检测精度和速度。

  • 应用场景:适用于各种复杂场景下的目标检测任务,尤其是在目标尺度变化大、背景复杂的情况下,能够发挥其优越的性能,如野生动物保护中的动物监测、智能物流中的物品识别等,为解决实际应用中的难题提供了有效的技术手段。

YOLOv10

  • 发布时间:2024 年 5 月。

  • 主要改进:由清华大学提出,通过引入端到端头,消除了非最大抑制(NMS)要求,实现了实时目标检测的进步。这一改进使得 YOLOv10 能够在保持高精度的同时,进一步提高检测速度和效率,简化了检测流程。

  • 网络架构:采用了先进的网络设计,将端到端的检测思想贯彻到底,通过创新的网络结构和算法优化,实现了对目标的直接检测,无需后续的 NMS 处理,提高了整个检测流程的连贯性和实时性。

  • 损失函数:针对端到端的检测框架,设计了与之匹配的损失函数,能够更好地引导模型学习到准确的目标检测能力,提高检测结果的可靠性和稳定性。

  • 应用场景:在需要实时性极高且检测精度要求不降低的场景中具有很大的应用潜力,如实时的体育赛事分析、智能交通系统的实时目标监测等,能够快速准确地捕捉到目标信息,为相关决策提供及时准确的数据支持。

YOLOv11

  • 发布时间:2024 年 9 月。

  • 主要改进:继承自 YOLOv8,在同等精度下参数量降低 20%,具有出色的性能和灵活性,适用于各种硬件平台。这使得 YOLOv11 能够在资源受限的设备上运行得更加流畅,同时保持较高的检测精度。

  • 网络架构:基于 YOLOv8 的架构进行了优化和精简,在不损失关键检测能力的前提下减少了模型的参数数量和计算量,使得模型更加轻量化和高效。

  • 损失函数:沿用并优化了 YOLOv8 的损失函数,使其更加适应 YOLOv11 的网络结构和应用场景,确保模型在不同硬件平台上都能够稳定地发挥其性能,提供准确的检测结果。

  • 应用场景:广泛适用于各种硬件设备上的目标检测任务,无论是高性能的服务器端应用还是资源受限的移动设备端应用,YOLOv11 都能够以良好的性能表现完成目标检测任务,如移动设备上的增强现实应用、服务器端的大规模图像识别服务等。

YOLOv12

  • 发布时间:2025 年 2 月。

  • 主要改进:首次将注意力机制引入单阶段目标检测框架,在速度和性能上取得新的突破,为单阶段目标检测领域开辟了新的方向。这一创新使得 YOLOv12 能够更加关注图像中重要的目标区域,减少背景信息的干扰,提高检测精度。

  • 网络架构:将注意力机制深度融合到 YOLO 的单阶段检测框架中,通过在不同层次的特征图上应用注意力模块,使得模型能够自动学习到图像中不同区域的重要性程度,并据此调整特征提取和检测的策略。

  • 损失函数:结合注意力机制的特点,对损失函数进行了相应的调整和优化,使其能够更好地引导模型关注重要目标区域的检测任务,进一步提高检测性能。

  • 应用场景:对于需要高精度检测且目标与背景差异不明显的复杂场景,如医学影像中的病变检测、遥感图像中的目标识别等,YOLOv12 能够发挥其独特的优势,提供更精准的检测结果,助力相关领域的研究和应用发展。

其他变体:PP-YOLO

  • 发布时间:由 PaddlePaddle 团队开发并持续更新。

  • 主要改进:PP-YOLO 系列通过深度结合 PaddlePaddle 深度学习平台的特性,对网络结构、训练策略以及优化方法等方面进行了全面优化。例如,在网络结构上进行了剪枝和量化等操作,以适应不同硬件平台的部署需求;在训练策略上采用了更先进的数据增强和正则化方法,提高模型的泛化能力。

  • 网络架构:PP-YOLO 的架构在借鉴 YOLO 系列经典设计的基础上,根据 PaddlePaddle 的平台优势进行了定制化开发,使其在 PaddlePaddle 生态系统中能够高效运行,并且易于与其他 PaddlePaddle 工具和组件进行集成。

  • 损失函数:根据 PP-YOLO 的具体改进点和应用场景,设计了与之相匹配的损失函数,充分利用 PaddlePaddle 的优化能力,提高模型的训练效率和检测性能。

  • 应用场景:紧密围绕 PaddlePaddle 的用户群体和应用场景,广泛应用于智能安防、智能交通、工业质检等领域,尤其在国产化 AI 生态建设和行业定制化解决方案方面发挥着重要作用,为国内企业和开发者提供了高效易用的目标检测工具。

二、YOLO 模型的 Backbone:Focus 结构

Focus 结构是 YOLO V4 中引入的一种新型 Backbone 结构,旨在提高特征提取效率。它通过将图像分割成多个 patches 并进行堆叠,实现对图像的高效特征提取。Focus 结构的具体操作如下:

  1. 图像分割:将图像分割成多个非重叠的 patches。

  2. 通道堆叠:将这些 patches 在通道维度上进行堆叠,形成一个新的特征图。

  3. 卷积操作:对堆叠后的特征图进行卷积操作,提取高级特征。

这种结构能够在不增加过多计算量的情况下,提取到更丰富的特征信息。

三、YOLO 模型的 Neck:FPN 和 PAN 结构

FPN(Feature Pyramid Network)

FPN 是一种用于多尺度目标检测的特征金字塔结构。它通过将不同层次的特征图进行融合,能够有效检测不同大小的目标。FPN 的主要特点包括:

  1. 自底向上构建特征金字塔:通过卷积层和池化层逐步提取图像的高层次特征。

  2. 自顶向下融合多尺度特征:将高层次特征图上采样并与低层次特征图进行融合,增强低层次特征图的语义信息。

  3. 侧向连接:在融合过程中,使用侧向连接来结合不同层次的特征图。

FPN 的引入显著提高了 YOLO 模型对不同尺度目标的检测能力。

PAN(Path Aggregation Network)

PAN 是另一种用于特征融合的结构,旨在提高特征传播效率。它通过自底向上的路径聚合低层次特征图的高分辨率信息,增强模型对小目标的检测能力。PAN 的主要特点包括:

  1. 自底向上特征传播:将低层次特征图的高分辨率信息传播到高层次特征图中。

  2. 多尺度特征融合:结合不同尺度的特征图,提高模型对多尺度目标的检测能力。

PAN 结构在 YOLO V4 中与 FPN 结合使用,进一步提升了模型的检测性能。

四、YOLO 模型的实战应用

安装环境

在开始实战之前,确保已经安装了以下 Python 库:

pip install torch torchvision

YOLO V5 模型训练和推理

以下是使用 YOLO V5 进行目标检测的示例代码:

1. 模型训练
import torch

# 加载预训练模型
model = torch.hub.load('ultralytics/yolov5', 'yolov5s', pretrained=True)

# 设置训练参数
model.train(data='data.yaml', epochs=100, imgsz=640)
2. 模型推理
# 加载训练好的模型
model = torch.hub.load('ultralytics/yolov5', 'custom', path='best.pt')

# 推理图像
results = model('image.jpg')

# 显示结果
results.show()

YOLO 模型凭借其高效的端到端检测能力,在实时目标检测领域取得了显著的成果。从 YOLO V1 到 YOLO V5,每个版本都在不断地改进和优化,以提高检测精度和速度。希望这篇博客能够帮助你深入理解 YOLO 模型的原理和实现,为进一步探索目标检测技术提供坚实的基础。

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

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

相关文章

电机控制选 STM32 还是 DSP?技术选型背后的现实博弈

现在搞电机控制,圈里人都门儿清 —— 主流方案早就被 STM32 这些 Cortex-M 单片机给拿捏了。可要是撞上系统里的老甲方,技术认知还停留在诺基亚砸核桃的年代,非揪着 DSP 不放,咱也只能赔笑脸:“您老说的对,…

.NET 开源工业视觉系统 OpenIVS 快速搭建自动化检测平台

前言 随着工业4.0和智能制造的发展,工业视觉在质检、定位、识别等场景中发挥着越来越重要的作用。然而,开发一个完整的工业视觉系统往往需要集成相机控制、图像采集、图像处理、AI推理、PLC通信等多个模块,这对开发人员提出了较高的技术要求…

AI智能分析网关V4室内消防逃生通道占用检测算法打造住宅/商业/工业园区等场景应用方案

一、方案背景​ 火灾严重威胁生命财产安全,消防逃生通道畅通是人员疏散的关键。但现实中通道被占用、堵塞现象频发,传统人工巡查监管效率低、不及时。AI智能分析网关V4结合消防逃生通道占用算法,以强大的图像识别和数据分析能力,…

关于无法下载Qt离线安装包的说明

不知道出于什么原因考虑,Qt官方目前不提供离线的安装包下载,意味着网上各种文章提供的各种下载地址都失效了,会提示Download from your IP address is not allowed,当然目前可以在线安装,但是据说只提供了从5.15开始的…

Java开发经验——阿里巴巴编码规范实践解析4

摘要 本文主要介绍了阿里巴巴编码规范中关于日志处理的相关实践解析。强调了使用日志框架(如 SLF4J、JCL)而非直接使用日志系统(如 Log4j、Logback)的 API 的重要性,包括解耦日志实现、统一日志调用方式等好处。同时&…

HTML应用指南:利用GET请求获取全国捞王锅物料理门店位置信息

随着新零售业态的快速发展,门店位置信息的获取变得越来越重要。作为知名中式餐饮品牌之一,捞王锅物料理自2009年创立以来,始终致力于为消费者提供高品质的锅物料理与贴心的服务体验。经过多年的发展,捞王在全国范围内不断拓展门店…

算法日记32:埃式筛、gcd和lcm、快速幂、乘法逆元

一、埃式筛(计算质数) 1.1、概念 1.1.1、在传统的计算质数中,我们采用单点判断,即判断(2~sqrt(n))是否存在不合法元素,若存在则判否,否则判是 1.1.2、假设,此时我们需要求1~1000的所有质数&am…

黑马点评-分布式锁Lua脚本

文章目录 分布式锁Redis setnxredis锁误删Lua脚本 分布式锁 当我们的项目服务器不只是一台(单体),而是部署在多态服务器上(集群/分布式),同样会出现线程安全问题。不同服务器内部有不同的JVM,每…

机械师安装ubantu双系统:三、GPT分区安装Ubantu

目录 一、查看磁盘格式 二、安装ubantu 参考链接: GPT分区安装Ubuntu_哔哩哔哩_bilibili 一、查看磁盘格式 右击左边灰色区域,点击属性 二、安装ubantu 插入磁盘,重启系统,狂按F7(具体我也忘了)&#…

kafka学习笔记(三、消费者Consumer使用教程——从指定位置消费)

1.简介 Kafka的poll()方法消费无法精准的掌握其消费的起始位置,auto.offset.reset参数也只能在比较粗粒度的指定消费方式。更细粒度的消费方式kafka提供了seek()方法可以指定位移消费允许消费者从特定位置(如固定偏移量、时间戳或分区首尾)开…

【后端高阶面经:架构篇】46、分布式架构:如何应对高并发的用户请求

一、架构设计原则:构建可扩展的系统基石 在分布式系统中,高并发场景对架构设计提出了极高要求。 分层解耦与模块化是应对复杂业务的核心策略,通过将系统划分为客户端、CDN/边缘节点、API网关、微服务集群、缓存层和数据库层等多个层次,实现各模块的独立演进与维护。 1.1 …

网络编程学习笔记——TCP网络编程

文章目录 1、socket()函数2、bind()函数3、listen()4、accept()5、connect()6、send()/write()7、recv()/read()8、套接字的关闭9、TCP循环服务器模型10、TCP多线程服务器11、TCP多进程并发服务器 网络编程常用函数 socket() 创建套接字bind() 绑定本机地址和端口connect() …

Vue+element-ui,实现表格渲染缩略图,鼠标悬浮缩略图放大,点击缩略图播放视频(一)

Vueelement-ui,实现表格渲染缩略图,鼠标悬浮缩略图放大,点击缩略图播放视频 前言整体代码预览图具体分析基础结构主要标签作用videoel-popover 前言 如标题,需要实现这样的业务 此处文章所实现的,是静态视频资源。 注…

day13 leetcode-hot100-22(链表1)

160. 相交链表 - 力扣(LeetCode) 1.哈希集合HashSet 思路 (1)将A链的所有数据存储到HashSet中。 (2)遍历B链,找到是否在A中存在。 具体代码 /*** Definition for singly-linked list.* pu…

【Oracle】DQL语言

个人主页:Guiat 归属专栏:Oracle 文章目录 1. DQL概述1.1 什么是DQL?1.2 DQL的核心功能 2. SELECT语句基础2.1 基本语法结构2.2 最简单的查询2.3 DISTINCT去重 3. WHERE条件筛选3.1 基本条件运算符3.2 逻辑运算符组合3.3 高级条件筛选 4. 排序…

HUAWEI华为MateBook D 14 2021款i5,i7集显非触屏(NBD-WXX9,NbD-WFH9)原装出厂Win10系统

适用型号:NbD-WFH9、NbD-WFE9A、NbD-WDH9B、NbD-WFE9、 链接:https://pan.baidu.com/s/1qTCbaQQa8xqLR-4Ooe3ytg?pwdvr7t 提取码:vr7t 华为原厂WIN系统自带所有驱动、出厂主题壁纸、系统属性联机支持标志、系统属性专属LOGO标志、Office…

【STIP】安全Transformer推理协议

Secure Transformer Inference Protocol 论文地址:https://arxiv.org/abs/2312.00025 摘要 模型参数和用户数据的安全性对于基于 Transformer 的服务(例如 ChatGPT)至关重要。虽然最近在安全两方协议方面取得的进步成功地解决了服务 Transf…

leetcode hot100刷题日记——27.对称二叉树

方法一:递归法 class Solution { public:bool check(TreeNode *left,TreeNode *right){//左子树和右子树的节点同时是空的是对称的if(leftnullptr&&rightnullptr){return true;}if(leftnullptr||rightnullptr){return false;}//检查左右子树的值相不相等&a…

高考加油(Python+HTML)

前言 询问DeepSeek根据自己所学到的知识来生成多个可执行的代码,为高考学子加油。最开始生成的都会有点小问题,还是需要自己调试一遍,下面就是完整的代码,当然了最后几天也不会有多少人看,都在专心的备考。 Python励…

贪心算法应用:Ford-Fulkerson最大流问题详解

Java中的贪心算法应用:Ford-Fulkerson最大流问题详解 1. 最大流问题概述 最大流问题(Maximum Flow Problem)是图论中的一个经典问题,旨在找到一个从源节点(source)到汇节点(sink)的最大流量。Ford-Fulkerson方法是解决最大流问题的经典算法之一,它属于贪心算法的范畴…