卷积神经网络之Yolo详解

YOLO(You Only Look Once)是一个非常流行的目标检测算法,基于卷积神经网络(CNN)进行目标检测的任务。与传统的目标检测算法(如 R-CNN 系列)不同,YOLO 的核心思想是将目标检测问题转化为回归问题,直接从图像中回归出边界框和类别概率,整个过程可以一次性完成,从而实现非常高效的检测。

YOLO的基本原理

YOLO 的工作原理基于全卷积网络(Fully Convolutional Network,FCN),其主要步骤如下:

  1. 输入图像划分网格: YOLO 将输入图像划分为一个 S × S 的网格(通常是 7x7、13x13 等)。每个网格负责预测图像中某一部分的目标。

  2. 每个网格负责预测: 对于每个网格,YOLO 输出一个固定数量的边界框(通常是 2 或 5 个),以及每个边界框的置信度(confidence)和类别概率(class probabilities)。具体来说,YOLO 会输出每个边界框的四个坐标(x, y, w, h)、置信度(表示该边界框包含目标的概率)和每个类别的概率。

  3. 置信度: 置信度表示该边界框是否包含物体,置信度是通过预测框与实际物体位置的重合度(IoU,交并比)来衡量的。置信度由两个部分组成:

    • 目标是否存在的概率
    • 预测框与真实框的重叠程度
  4. 输出向量: 每个网格的输出通常是一个包含多个信息的向量,通常是 [b, c1, c2, ..., cn, p1, p2, ..., pk],其中:

    • b 表示该框的置信度。
    • c1, c2, ..., cn 是每个类别的概率(类别数目是固定的,通常是物体检测问题的类别)。
    • p1, p2, ..., pk 是该框的坐标参数(x, y, w, h)。
  5. 损失函数: YOLO 使用一个综合的损失函数来衡量预测的误差。这个损失函数包括三部分:

    • 位置误差(Localization loss): 用于评估边界框位置的精度,通常使用均方误差(MSE)。
    • 置信度误差(Confidence loss): 衡量目标检测的置信度和真实目标置信度之间的差异。
    • 类别误差(Class loss): 用于评估每个网格预测的类别与真实类别的差异。
  6. 非极大值抑制(NMS,Non-Maximum Suppression): 在YOLO的输出中,可能会有多个重叠的边界框。NMS 用于去除重复的边界框,只保留置信度最高的框。这是目标检测中一个常见的后处理步骤。

YOLO版本演化

YOLO 在多个版本中进行迭代和优化,主要版本包括:

  1. YOLOv1:

    • YOLO 的初始版本,提出了将目标检测问题转化为回归问题的思想。每个网格预测固定数量的边界框和类别概率。
    • 优点:速度快,适用于实时检测。
    • 缺点:精度相对较低,尤其是在小物体检测上。
  2. YOLOv2(Darknet-19):

    • 引入了更深的网络结构,使用了更高分辨率的输入图像,并进行了大量的训练优化。
    • 引入了多尺度训练,使得模型在不同尺寸下都能进行有效的检测。
  3. YOLOv3:

    • YOLOv3 增强了对小物体的检测能力,采用了更深的网络(Darknet-53),并使用了更精细的特征提取方式。
    • 使用了多层特征图来进行预测,进一步提高了小物体的检测精度。
    • 使用了更好的损失函数,采用了 BCE(Binary Cross Entropy)作为分类损失。
  4. YOLOv4:

    • 引入了 CSPDarknet53 作为 backbone,并采用了多种优化手段,如数据增强、剪枝和混合精度训练等。
    • 提供了更好的准确性和速度平衡,适用于更多的应用场景。
  5. YOLOv5:

    • YOLOv5 是由一个社区团队发布的版本,虽然并非原作者的版本,但在实际应用中获得了广泛的认可。
    • 它使用 PyTorch 实现,易于部署,并且具有高效的性能。相较于 YOLOv4,YOLOv5 的推理速度更快,且对小物体检测表现更好。
  6. YOLOv7:

    • 是在 YOLOv4 和 YOLOv5 基础上进一步优化的版本,引入了更多的技术创新,进一步提升了模型的检测精度。

YOLO的优缺点

优点:

  • 速度快: YOLO 是一个非常快速的目标检测算法,可以实时处理视频流。
  • 端到端训练: 由于是回归问题,YOLO 不需要像 R-CNN 系列那样依赖多个步骤,训练过程简洁高效。
  • 高效: 在很多应用中,YOLO 可以提供非常高效的性能和较好的精度。

缺点:

  • 对小物体检测差: YOLO 在检测小物体方面相对较弱,因为它将图像分成了较大的网格,每个网格只能预测有限数量的框。
  • 精度较低: 相比一些更精细的目标检测方法(如 RetinaNet、Faster R-CNN 等),YOLO 的精度稍逊。

YOLO应用场景

YOLO 由于其实时性和高效性,广泛应用于很多需要快速检测的场景,如:

  • 视频监控: 实时检测和跟踪目标。
  • 自动驾驶: 对路面上的行人、车辆等进行实时检测。
  • 无人机检测: 在飞行中对目标进行检测和识别。

好的,下面我将详细介绍 YOLO 的工作原理,并结合一些例子来帮助理解它是如何进行目标检测的。

YOLO的工作原理(更详细)

YOLO 算法的核心思想是将图像的目标检测问题转化为一个回归问题。具体来说,YOLO 通过以下几个步骤来处理图像并进行目标检测。

1. 输入图像划分网格

首先,将输入图像划分成一个 S × S 的网格。例如,假设输入图像是 416x416 的尺寸,将其划分为 13x13 的网格。每个网格负责预测图像中某一区域的物体。

假设网格的每个单元格包含以下信息:

  • 每个网格单元预测 B 个边界框(bounding boxes),每个边界框包含 4 个坐标参数(x, y, w, h),分别表示边界框的中心位置、宽度和高度。
  • 每个边界框还会预测一个 置信度(Confidence),表示边界框包含物体的概率以及该边界框与真实框的重叠程度(IoU)。
  • 每个网格还预测每个类别的概率。假设有 C 类物体,每个网格单元输出 C 个概率值,表示该区域是每个类别的可能性。
2. 每个网格的输出

对于每个网格单元,它会输出以下信息:

  • B 个边界框,每个边界框包括:4个坐标 (x, y, w, h)、1个置信度值。
  • C 个类别概率。

假设我们有一个 13x13 的网格,B = 2(每个网格单元预测2个边界框),C = 80(80个类别)。则每个网格单元的输出是一个长度为 (B * 5 + C) 的向量,其中:

  • 每个边界框包含5个元素:x, y, w, h(坐标),置信度。
  • C 个类别的概率。

因此,每个网格单元的输出向量长度为:2 * 5 + 80 = 90。每个网格单元输出的向量长度就是 90,这意味着每个网格单元都要输出 2个边界框 的信息、每个边界框的 5个参数(坐标和置信度)以及 80个类别概率

3. 目标检测输出

YOLO 会对所有网格单元的输出进行合并,得到最终的检测结果。对于每个网格单元,它预测的边界框可能会有很大的重叠,因此需要采用 非极大值抑制(NMS) 进行处理,去掉重复的框,只保留置信度最高的框。

4. 损失函数

YOLO 使用一个复合损失函数来训练模型,包括以下几部分:

  • 位置损失(Localization Loss):用来衡量预测框和真实框之间的差异,通常使用均方误差(MSE)来计算框的位置(x, y, w, h)。
  • 置信度损失(Confidence Loss):衡量预测框的置信度和真实框之间的误差。
  • 类别损失(Class Loss):计算每个网格单元预测的类别概率和真实类别之间的差异,通常使用交叉熵损失(Cross-Entropy)来度量。

最终的损失函数是位置损失、置信度损失和类别损失的加权和。

举个例子(假设目标检测场景:监控视频中的人物检测)

假设你在监控视频中应用 YOLO 来检测人物目标。你的输入是一个 416x416 的图像(如视频的一帧),YOLO 会将该图像划分为 13x13 的网格。每个网格单元的任务是检测其对应区域是否含有目标(例如行人)。

步骤:
  1. 网格划分:假设图像被划分为 13x13 的网格,每个网格单元大小大约是 32x32 像素。
  2. 边界框预测:每个网格单元预测 2 个边界框,输出每个边界框的坐标(x, y, w, h)和置信度(confidence)。
  3. 类别预测:每个网格单元还会预测该区域内可能含有的类别(如“人物”)。
  4. NMS处理:由于某些边界框可能会有较大的重叠,YOLO 会使用 NMS 去除冗余的边界框,只保留置信度最高的框。

假设某个网格单元检测到有行人并且预测了一个边界框:

  • 预测框的位置为 (x, y) = (0.5, 0.5),宽高为 (w, h) = (0.3, 0.6)(相对于图像大小)。
  • 置信度为 0.9(表示该框包含物体的概率)。
  • 类别概率为:人物(prob = 0.8),车(prob = 0.1),狗(prob = 0.05)等。

最终,YOLO 会通过 NMS 处理去除重复的框,保留置信度较高的框。

YOLO 及其他目标检测算法中,交并比(Intersection over Union,IoU)、置信度(Confidence)、精确率(Precision)和召回率(Recall)是评估模型性能的重要指标。理解这些概念对于提升目标检测模型的效果以及分析检测结果至关重要。

1. 交并比(IoU, Intersection over Union)

交并比(IoU)是衡量预测边界框与真实边界框重叠度的指标。它的计算公式如下:

IoU=预测框∩真实框/预测框∪真实框​

其中:

  • 预测框是模型预测的边界框。
  • 真实框是实际标注的边界框。
  • 交集(Intersection):指预测框和真实框重叠的区域。
  • 并集(Union):指预测框和真实框的总面积,即它们的并集区域。
例子:

假设预测框和真实框分别为:

  • 预测框的坐标为 (x1, y1, w1, h1),真实框的坐标为 (x2, y2, w2, h2)
  • 交集区域是预测框和真实框的重叠部分,计算交集区域的面积。
  • 并集区域是预测框和真实框的联合区域,计算并集区域的面积。

IoU 越大,表示预测框与真实框越接近,检测效果越好。通常,我们会设置一个 IoU 阈值(比如 0.5),如果预测框与真实框的 IoU 大于该阈值,则认为是 正样本(检测成功);如果 IoU 小于阈值,则认为是 负样本(检测失败)。

IoU 的常见应用:
  • 目标检测的评估标准:例如,在 COCO 数据集上进行评估时,通常使用 mAP(mean Average Precision),其计算过程中依赖于 IoU 来判断每个预测框是否为 TP(True Positive)
  • 非极大值抑制(NMS):在 YOLO 中,使用 IoU 来去除重复的边界框,保留最有可能是目标的框。

2. 置信度(Confidence)

置信度模型对其预测框包含物体的程度的信心,它反映了该框的 预测准确度。对于 YOLO 算法来说,置信度由两个部分组成:

  • 物体存在的概率:表示预测框包含目标物体的概率。
  • 预测框与真实框的重叠度:通常是通过 IoU 来衡量。

具体来说,YOLO 的每个预测框都会输出一个置信度值,该值表示框内存在物体的可能性以及预测框和真实框的重叠度。例如,在进行目标检测时,如果模型预测某个框包含物体,并且该框与真实框的 IoU 很高,则置信度值会很高。

置信度公式:

Confidence=P(Object)×IoU

其中:

  • P(Object) 是该框包含目标的概率。
  • IoU 是预测框与真实框的交并比。

置信度较高的预测框会被认为更加可信,并且模型会优先选择这些框用于最终检测。

3. 精确率(Precision)

精确率是衡量模型检测结果中有多少是正确的,即 正确预测的正样本占所有预测为正样本的比例。它的计算公式为:

Precision=TP/(TP+FP)

其中:

  • TP(True Positive):真正例,指模型正确预测为目标的边界框。
  • FP(False Positive)假正例,指模型错误地预测为目标的边界框(即实际上没有目标的地方被预测为有目标)。

精确率的提高意味着模型能够更好地减少误报,确保模型预测为目标的框是真正的目标。

精确率举例:
  • 假设模型预测了 10 个框,其中 7 个框是正确的(TP),3 个框是错误的(FP)。
  • 那么,精确率就是 7/(7+3)=0.7,即 70% 的预测为正样本的框是正确的。

4. 召回率(Recall)

召回率是衡量模型检测出的目标的 完整性,即 正确检测出的正样本占所有真实正样本的比例。它的计算公式为:

Recall=TP/(TP+FN)

其中:

  • TP(True Positive):真正例,指模型正确预测为目标的边界框。
  • FN(False Negative):假负例,指模型没有检测到的实际目标(即实际上有目标的地方被预测为没有目标)。

召回率的提高意味着模型能检测到更多的目标,减少漏检。

召回率举例:
  • 假设有 10 个真实目标,其中模型正确检测到了 6 个目标(TP),漏检了 4 个目标(FN)。
  • 那么,召回率就是 6/6+4=0.6,即模型检测到了 60% 的目标。

5. 精确率与召回率的权衡

精确率和召回率通常是 相互对立的

  • 提高精确率通常会降低召回率,因为当我们更加严格地判断框是否为正样本时,可能会漏掉一些真实的目标(增加 FN)。
  • 提高召回率通常会降低精确率,因为当我们降低判断标准,预测框变得更加宽松时,可能会增加误报(增加 FP)。

6. F1-Score

为了综合考虑精确率和召回率,通常会使用 F1-Score,它是精确率和召回率的调和平均数,公式如下:

F1-Score=2×Precision×Recall/Precision+Recall

F1-Score 是平衡精确率和召回率的一种方式,尤其在数据集存在类不平衡时,F1-Score 比单独考虑精确率或召回率更加重要。

7. 实际应用示例

假设你正在使用 YOLO 进行目标检测,评估一个图像上的目标检测结果。假设检测结果如下:

  • 真实目标:有 5 个目标(例如 5 个行人)。
  • 预测结果:模型预测了 6 个框,其中 3 个框正确地检测到了行人(TP),2 个框是误报(FP),1 个行人被漏检(FN)。

计算:

  • 精确率 = TP/TP+FP=33+2=0.6
  • 召回率 = TP/TP+FN=33+1=0.75
  • F1-Score = 2×0.6×0.750.6+0.75=0.67

总结

  • IoU 用于衡量预测框与真实框的重叠程度,是目标检测中的基础评估指标。
  • 置信度 反映了模型对于其预测框包含物体的信心。
  • 精确率 衡量了预测为目标的框中,实际是目标的比例。
  • 召回率 衡量了模型能够找到的真实目标的比例。
  • 精确率召回率 之间通常存在权衡,需要根据实际需求选择合适的指标。

读到这里大家可能对tp tn fp fn仍有疑问,不要着急下面更详细的来了:

在机器学习和目标检测中,TPFPTNFN 是用来衡量模型性能的四个基本概念,它们主要用于评估分类任务的准确性。理解这些概念有助于我们评估模型的效果,特别是在二分类任务(如物体检测)中。

1. TP(True Positive)——真正例

真正例(True Positive)表示 模型正确地预测了正类(即预测结果为正类,且实际也为正类)。

例子:
  • 在目标检测中,如果某个图像中实际存在一个行人,且模型正确地识别出了该行人并且预测框与真实框的IoU大于阈值,则该检测为 TP
  • 在二分类问题中,假设我们要预测邮件是否为垃圾邮件,若模型预测该邮件为垃圾邮件,并且该邮件确实是垃圾邮件,那么这就是一个 TP

2. FP(False Positive)——假正例

假正例(False Positive)表示 模型错误地预测为正类(即模型将负类预测为正类)。

例子:
  • 在目标检测中,如果图像中并没有行人,但模型仍然预测出一个边界框,并且错误地标记为行人,则该检测为 FP
  • 在二分类任务中,如果模型将非垃圾邮件错误地预测为垃圾邮件,则为 FP

3. TN(True Negative)——真负例

真负例(True Negative)表示 模型正确地预测了负类(即模型预测结果为负类,且实际也是负类)。

例子:
  • 在目标检测中,如果图像中没有任何目标(例如没有行人),并且模型正确地没有预测任何目标,那么这就是 TN
  • 在二分类任务中,如果模型正确地预测邮件不是垃圾邮件(即负类),则为 TN

4. FN(False Negative)——假负例

假负例(False Negative)表示 模型错误地预测为负类(即模型将正类预测为负类)。

例子:
  • 在目标检测中,如果图像中有行人,但模型没有检测到任何目标,或者检测到了一个错误的框而没有覆盖行人,这就是 FN
  • 在二分类任务中,如果模型将垃圾邮件错误地预测为非垃圾邮件,则为 FN

总结表格

类别预测结果实际类别说明
TP正类正类模型正确预测为正类(真正例)。
FP正类负类模型错误预测为正类(假正例)。
TN负类负类模型正确预测为负类(真负例)。
FN负类正类模型错误预测为负类(假负例)。

评估指标

基于 TP、FP、TN、FN,我们可以计算多种评估模型性能的指标,以下是几个常见的:

  1. 精确率(Precision)
    精确率是模型预测为正类的样本中,实际为正类的比例。
    公式:

    Precision=TP/TP+FP

    精确率衡量的是模型的预测结果是否可靠。

  2. 召回率(Recall)
    召回率是实际为正类的样本中,模型成功预测为正类的比例。
    公式:

    Recall=TP/TP+FN​

    召回率衡量的是模型是否能够识别出所有的正类。

  3. 准确率(Accuracy)
    准确率是模型正确预测的比例,即真正例和真负例占所有预测的比例。
    公式:

    Accuracy=TP+TN/TP+FP+TN+FN​

    准确率是最直观的指标,但在类不平衡问题中可能不太可靠。

  4. F1-Score
    F1-Score 是精确率和召回率的调和平均数,用于综合评估模型的性能。
    公式:

    F1-Score=2×Precision×Recall/Precision+Recall

    F1-Score 是在精确率和召回率之间找到一个平衡,特别适用于需要平衡两者的任务。

举个例子

假设我们有一个二分类问题(例如判断邮件是否是垃圾邮件):

  • 实际情况:
  • 共有 100 封邮件,其中 30 封是 垃圾邮件(positive),70 封是 正常邮件(negative)。
  • 模型预测:
  • 模型预测了 40 封邮件为垃圾邮件,其中 25 封是正确的垃圾邮件(True Positive (TP)),15 封是错误预测为垃圾邮件的正常邮件(False Positive (FP))。
  • 模型还预测了 60 封邮件为正常邮件,其中 5 封是漏掉的垃圾邮件(False Negative (FN)),55 封是正常邮件(True Negative (TN)

我们可以根据这些信息计算 TP、FP、TN、FN,以及精确率、召回率和 F1-Score。

计算:
  • TP = 25(正确识别的垃圾邮件)

  • FP = 15(错误识别为垃圾邮件的正常邮件)

  • TN = 55(正确识别的正常邮件)

  • FN = 5(漏掉的垃圾邮件)

  • 精确率 = 25/25+15​=0.625

  • 召回率 = 25/25+5=0.833

  • 准确率 = 25+65/25+15+55+5=0.8

  • F1-Score = 2×0.625×0.8330.625+0.833=0.7142 

从这些指标中,我们可以了解到模型在识别垃圾邮件方面的表现,并根据这些信息对模型进行优化。

结论

  • TP、FP、TN 和 FN 是用于评估分类任务中模型表现的基本概念,它们分别代表正确预测正类、错误预测为正类、正确预测负类和错误预测为负类。
  • 通过这些量,可以计算出多个评估指标,如精确率、召回率、准确率和 F1-Score,帮助我们更全面地了解模型的性能,尤其是在类不平衡的情况下,精确率和召回率往往更能反映模型的实际效果。

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

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

相关文章

Python 中.title()函数和.lower()函数

一.title()函数 1.title()函数的功能 将字符串中的每一单词的首字母大写 2.举例 S1"i love you" S2S1.title() print(S2)3.输出 二.lower()函数 1.lower()函数的功能 将字符串中的每一大写字母都变成的小写字母 2.举例 S1"I LOVE YOU" S2S1.lower()…

[DEBUG] 服务器 CORS 已经允许所有源,仍然有 304 的跨域问题

背景 今天有一台服务器到期了,准备把后端迁移到另一台服务器上,结果前端在测试的时候,出现了 304 的跨域问题。 调试过程中出现的问题,包括但不限于: set the request’s mode to ‘no-cors’Redirect is not allow…

【AI构思渲染】网络直播——建筑绘图大模型生成渲染图

家人们!!好消息来了!! 2024年11月19日,上午10:00-11:00 构力学堂将会给大家带来一场直播课《AI构思渲染第一课,建筑绘图大模型生成渲染图》 课程亮点: 1、AI插件相关介绍 2、AI构思渲染安装…

初级数据结构——栈

目录 前言一、栈的基本概念二、栈的实现方式三、栈的性能分析四、栈的应用场景五、栈的变体六、出栈入栈的动态图解七、代码模版八、总结结语 前言 数据结构栈(Stack)是一种线性的数据结构,它只允许在序列的一端(称为栈顶&#x…

ESLint 使用教程(五):ESLint 和 Prettier 的结合使用与冲突解决

前言 在现代前端开发中,代码质量与代码风格的统一是两个非常重要的方面。良好的代码质量能减少 bug 的产生,而统一的代码风格则能提高团队协作的效率。为了实现这两个目标,我们通常会使用一些工具。 为了保证代码的可读性和维护性&#xff0…

简易入手《SOM神经网络》的本质与原理

原创文章,转载请说明来自《老饼讲解神经网络》:www.bbbdata.com 关于《老饼讲解神经网络》: 本网结构化讲解神经网络的知识,原理和代码。 重现matlab神经网络工具箱的算法,是学习神经网络的好助手。 目录 一、入门原理解说 01.…

数字IC后端实现之Innovus specifyCellEdgeSpacing和ICC2 set_placement_spacing_rule的应用

昨天帮助社区IC训练营学员远程协助解决一个Calibre DRC案例。通过这个DRC Violation向大家分享下Innovus和ICC2中如何批量约束cell的spacing rule。 数字IC后端手把手实战教程 | Innovus verify_drc VIA1 DRC Violation解析及脚本自动化修复方案 下图所示为T12nm A55项目的Ca…

深度学习神经网络在机器人领域应用的深度剖析:原理、实践与前沿探索

深度学习神经网络在机器人领域的应用非常广泛,以下是详细介绍: 主要应用方向 环境感知与识别: 物体识别与分类:机器人利用深度学习神经网络能够准确识别周围环境中的各种物体,比如区分不同形状、颜色、材质的物品&…

自动化工具 Gulp

自动化工具 gulp 摘要 概念:gulp用于自动化开发流程。 理解:我们只需要编写任务,然后gulp帮我们执行 核心概念: 任务:通过定义不同的任务来组织你的构建流程。 管道:通过管道方式将文件从一个插件传递…

基于Spring Boot与Redis的令牌主动失效机制实现

目录 前言1. 项目结构和依赖配置1.1 项目依赖配置1.2 Redis连接配置 2. 令牌主动失效机制的实现流程2.1 登录成功后将令牌存储到Redis中2.2 使用拦截器验证令牌2.3 用户修改密码后删除旧令牌 3. Redis的配置与测试4. 可能的扩展与优化结语 前言 在现代Web系统中,用…

llama factory lora 微调 qwen2.5 7B Instruct模型

项目背景 甲方提供一台三卡4080显卡 需要进行qwen2.5 7b Instruct模型进行微调。以下为整体设计。 要使用 LLaMA-Factory 对 Qwen2.5 7B Instruct模型 进行 LoRA(Low-Rank Adapters)微调,流程与之前提到的 Qwen2 7B Instruct 模型类似。LoRA …

GPT-5 要来了:抢先了解其创新突破

Microsoft 的工程师计划于 2024 年 11 月在 Azure 上部署 Orion (GPT-5)。虽然这一版本不会向公众开放,但其上线被视为人工智能领域的一个重要里程碑,并将产生深远的影响。 文章目录 GPT-5 真的要来了GPT-4 的局限性GPT-5 的创新突破与遗留挑战GPT-5 预期…

微澜:用 OceanBase 搭建基于知识图谱的实时资讯流的应用实践

本文作者: 北京深鉴智源科技有限公司架构师 郑荣凯 本文整理自北京深鉴智源科技有限公司架构师郑荣凯,在《深入浅出 OceanBase 第四期》的分享。 知识图谱是一项综合性的系统工程,需要在在各种应用场景中向用户展示经过分页的一度关系。 微…

FluentUI使用

首先向Qt Qml FluentUI组件库的作者zhuzichu520致敬! 一、源码下载地址: 1)GitHub - zhuzichu520/FluentUI: FluentUI for QML 2)GitCode - 全球开发者的开源社区,开源代码托管平台 二、Qt6下载地址: qt-online-i…

`node-gyp` 无法找到版本为 `10.0.19041.0` 的 Windows SDK

从你提供的错误信息来看,问题出在 node-gyp 无法找到版本为 10.0.19041.0 的 Windows SDK。我们可以尝试以下几种方法来解决这个问题: 完整示例 方法 1:安装指定版本的 Windows SDK 下载并安装 Windows SDK: 访问 Windows SDK 下…

CTFHub每日练习

文章目录 技能树CTF Web信息泄露目录遍历PHPINFO备份文件下载网站源码bak文件vim缓存.DS_Store Git泄露Logstash index方法一方法二 密码口令弱口令 技能树 CTF Web 信息泄露 目录遍历 PHPINFO 备份文件下载 网站源码 当开发人员在线上环境中对源代码进行了备份操作&#x…

【PowerHarmony】电鸿蒙学习记录-编写helloworld!

入门 一、编写HelloWorld1.1 编译SDK1.2 业务构建1.2.1 编写HelloWorld业务代码1.2.3 编辑业务构建文件 1.3 添加新组件1.4 编辑组件条目1.5 编译验证1.6 新增文件结构展示 一、编写HelloWorld 1.1 编译SDK 可以在VSCode终端中编译SDK源码,确认编译通过后即可开始…

【Excel】ToRow超级查找函数

看拼写ToRow的作用该是转换为行,的确如此,它可以把一个表格转换为一行。TOROW(A1:C6) 之所以敢挑Vlookup,是因为它的第2个参数为2时可以忽略错误值。TOROW(F9:F13,2) 所以要查找出符合条件的,只需要把不符合条件的变成错误值&am…

前缀和技巧解析

前缀和技巧解析 前缀和(Prefix Sum)是一种常用的算法技巧,用于高效地处理一系列连续子数组和的问题。通过构建一个额外的数组来存储从数组起始位置到当前位置的累计和,可以在常数时间内快速计算任意区间的和。 前缀和应用的典型…

分享 pdf 转 word 的免费平台

背景 找了很多 pdf 转 word 的平台都骗进去要会员,终于找到一个真正免费的,遂分享。 网址 PDF转Word转换器 - 100%免费市面上最优质的PDF转Word转换器 - 免费且易于使用。无附加水印 - 快速将PDF转成Word。https://smallpdf.com/cn/pdf-to-word