自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

千天夜的博客

打工人好辛苦啊……不想上班啊……好烦好烦好烦好烦好烦好烦)*&#@#%)¥#&@#&%)¥#@!!!!!!

  • 博客(106)
  • 收藏
  • 关注

原创 YOLO系列正传(五)YOLOv4论文精解(上):从CSPNet、SPP、PANet到CSPDarknet-53

至此,我们详细讲解了CSPNet、SPP、PANet的相关重点,以及YOLOv4模型网络CSPDarknet-53的模型结构内容!

2024-12-28 21:53:14 1501

原创 YOLO系列正传(四)YOLOv3论文精解(下)——损失函数推导与其他优化项

这篇文章详细解析了YOLOv3模型的损失函数,主要包括三个部分:1.lbox(边框损失):通过计算预测框和目标框的 CIOU来评估框的重叠程度,损失为 1 -IoU的均值。2. lobj(目标物体损失):根据预测框和目标框的 IoU 计算物体存在性的损失,使用 BCE来衡量物体存在性预测和目标之间的差异。3. lcls(类别损失)基于预测的类别概率和目标类别之间的 BCE 损失,优化类别分类精度。最终的总损失是三部分损失的加权和

2024-12-22 22:30:55 1601 1

原创 YOLO系列正传(三)神经网络的反向传播(back propagation)与公式推导

那么很简单,我们只需要对此函数求导并使得导函数为零我们就能解出最小的loss所需要的参数w和b。我们只需要逐步慢慢靠近偏导数指向的方向,我们就能将模型慢慢拟合到我们期望的方向!在私信反馈中,发现有些读者针对反向传播的原理不甚了解,所以我们今天我们针对神经网络的正向与反向传播的原理进行详解。在视觉检测领域独领风骚,本系列旨在从小白出发,给大家讲解清楚视觉检测算法的前世今生,并讲清楚YOLOv11版本算法的所有模块功能!我们从此入手进行推导!这是因为我们在求解某一层的w的解析解的时候,我们有一个前提,那就是。

2024-12-18 14:00:15 1397 2

原创 YOLO系列正传(二)YOLOv3论文精解(上)——从FPN到darknet-53

综上,我们完成了YOLOv3的原理初探,从图像金字塔到FPN特征金字塔,再到YOLOv3的相关原理与网络结构,以及公式推导。我们对YOLOv3的原理有了一个较为清晰的认知。

2024-12-09 23:44:20 1543

原创 YOLO系列正传(一)类别损失与MSE损失函数、交叉熵损失函数

​随着YOLOv11版本的发布,YOLO算法在视觉检测领域独领风骚,本系列旨在从小白出发,给大家讲解清楚视觉检测算法的前世今生,并讲清楚YOLOv11版本算法的所有模块功能!在YOLOv1中,作者对所有的数值采用的都是均方差损失函数,即MSE。然而在YOLOv3中,作者使用了交叉熵损失函数来表示分类回归损失。

2024-12-05 23:41:01 1733

原创 YOLO系列基础合集——小白也看得懂的论文精解

随着YOLOv11版本的发布,YOLO算法在视觉检测领域独领风骚,本系列旨在从小白出发,给大家讲解清楚视觉检测算法的前世今生,并讲清楚YOLOv11版本算法的所有模块功能!在本系列的内容中,我们主要讲解YOLO系列的基础内容。从卷积神经网络基础原理到YOLOv2的论文精解,涵盖了YOLOv1到YOLOv2的所有理论基础,这也是后续YOLO系列的基础内容。敬请期待,YOLO系列的正传!

2024-12-04 17:58:27 585

原创 YOLO系列基础(十)YOLOv2论文及原理详解(下)Darknet-19网络结构

batch norm 归一化层anchor boxes 锚框PassThrough直通层multi-scale 多尺度训练高分辨率分类器预训练 Darknet-19网络综上,我们针对YOLO9000进行了全面的学习和回顾!接下来就是YOLOv3了!

2024-12-03 11:32:38 1503

原创 YOLO系列基础(九)YOLOv2论文及原理详解(上)

随着YOLOv11版本的发布,YOLO算法在视觉检测领域独领风骚,本系列旨在从小白出发,给大家讲解清楚视觉检测算法的前世今生,并讲清楚YOLOv11版本算法的所有模块功能!在YOLO(You Only Look Once)系列算法的演进中,YOLOv1作为开山之作,奠定了实时目标检测的基础框架。但是YOLOv1仍然存在诸多缺陷,且同期的其他检测算法也在蒸蒸日上抢夺最强检测算法的宝座,本文从YOLOv1的缺陷出发,详解YOLOv2的原理和改进措施。

2024-11-22 08:30:00 1232

原创 数据结构与算法整理复习(二)栈

数据结构,栈、顺序栈、共享栈、链栈

2025-01-22 08:30:00 170

原创 无监督<视觉-语言>模型中的跨模态对齐

跨模态对齐指的是将来自不同模态的数据(如图像和文本)映射到一个共享的表示空间,使得同一实体在不同模态下具有相似的语义表示。例如,当给定一张图片和一段描述这张图片的文字时,我们希望模型能够将图像和文本映射到一个相似的向量空间,使得图像和文本之间的语义关系能够被正确地捕捉。在无监督学习环境下,这一任务面临着很多挑战。我们没有像传统的监督学习那样,有丰富的人工标注数据来指导模型学习,因此,需要模型自己从未标注的数据中发现图像和文本之间的潜在关系。

2025-01-20 20:51:15 932

原创 数据结构与算法整理复习(一):数据结构概念与线性表

数据结构算法、线性表、增删改查、静态链表、双链表、循环链表、单链表、循环双链表、数据结构概念、顺序表。线性表不同数据结构的比较……

2025-01-20 08:30:00 1118

原创 PANet:路径聚合网络——实例分割的创新之路

在多实例分割场景下,某些实例可能因相似的外观或紧密的空间关系而难以区分,注意机制帮助网络更加关注这些难以分割的实例,提高了模型的鲁棒性。如果你对PANet的实现有更深的兴趣,或是希望了解如何将其应用到自己的项目中,欢迎继续关注我们后续的博客文章,我们将详细讲解如何在不同框架中实现PANet,并分享一些实际应用中的技巧和经验。为了克服这些问题,PANet提出了一种新的路径聚合策略,将低层次的细节信息与高层次的语义信息进行有效融合,从而提高了实例分割的准确性。作为一种经典方法,已经取得了显著的成果。

2024-12-28 21:56:15 1030

原创 多源多点路径规划:基于启发式动态生成树算法的实现

启发式动态生成树算法的核心思想是通过建立一棵动态生成树,其中每个节点代表一个路径选择的状态。在搜索过程中,算法递归地生成子节点,并通过启发式函数评估每个节点的优劣。每当我们到达一个叶子节点时,就计算其启发式值,并将这一值反向传递给父节点。最终,树的根节点会选择具有最小启发式值的子节点作为最佳路径。启发式函数在此过程中的作用至关重要。它通过结合路径的距离、货物状态等多个因素,动态地评估每个节点的优劣,进而引导路径的选择。

2024-12-25 20:03:41 1213

原创 数据增强之从对抗训练(AT)到自对抗训练(SAT)

对抗训练和自对抗训练是提升模型鲁棒性的关键技术。在对抗样本生成的质量和效率之间,需要根据实际需求进行权衡。希望本文能帮助初学者理解这两种方法的核心思想与实现过程,并在实践中探索适合的改进策略!

2024-12-25 15:05:36 1350

原创 深入理解批量归一化(BN):原理、缺陷与跨小批量归一化(CmBN)

批量归一化(BN)是一种在神经网络的训练过程中对每一层输入进行标准化的技术。具体来说,BN对每一层的输入数据进行均值为0、方差为1的归一化处理,从而消除了数据分布的变化(即内部协变量偏移BN的核心目标是加速网络训练过程,并提高网络的稳定性。简而言之,BN就是将每层的输入数据进行标准化处理,使其具有相同的尺度,这样可以避免某些层的输出值过大或过小,从而加速训练的收敛。跨小批量归一化(CmBN)通过跨多个小批量数据计算全局均值和方差,从而避免了单个小批量的统计量可能存在的误差。

2024-12-24 22:17:55 1291

原创 深度学习中的残差网络、加权残差连接(WRC)与跨阶段部分连接(CSP)详解

本文介绍了残差网络(ResNet)加权残差连接(WRC)和跨阶段部分连接(CSP)这三种网络架构,它们通过不同的方式提升了深度网络的训练效率、表达能力和计算效率。ResNet通过残差连接解决了深层网络训练中的梯度消失问题,使得深层网络的训练变得更加稳定。WRC通过引入可学习的加权机制,使得残差连接可以更灵活地调整输入和输出的贡献,从而提高了网络的表达能力。CSP通过跨阶段的部分连接,减少了冗余的信息传递和计算开销,提高了网络的效率。

2024-12-24 15:58:20 1776

原创 YOLO模型分布式训练:步骤与操作方式

分布式训练是将模型训练的任务分配到多个计算节点上,通过并行计算加速训练过程。数据并行(Data Parallelism):将数据切分成多个小批次(mini-batches),每个计算节点处理不同的数据,并同步更新模型参数。模型并行(Model Parallelism):将模型分成多个子模型,分配到不同的计算节点上进行计算。对于YOLO模型,分布式训练通常使用数据并行方式。每个GPU节点加载数据集的一部分,计算梯度,并通过一定的同步机制共享梯度,从而更新全局模型参数。

2024-12-22 22:36:00 1124

原创 深入理解YOLO系列目标检测头的设定方式

版本检测头结构关键技术优势缺点YOLOv1全连接层(FC)无速度快,设计简单,适合实时检测精度低,定位不准确,小物体检测能力差YOLOv2多卷积层 + passthrough更好的精度,适应不同尺寸物体,改进了小物体检测计算复杂度增加,锚框选择依赖数据YOLOv3多卷积层 + 跨层特征融合多尺度预测,特征金字塔(FPN)多尺度检测,精度更高,尤其是小物体检测计算开销大,推理速度较慢通过YOLOv1到YOLOv3。

2024-12-18 20:43:41 1017

原创 深入解读FPN中的横向连接:从细节到优化

尽管整体设计看似简单——上采样、高低层特征相加、卷积处理,但在实际应用中,这些步骤蕴含了许多细节与潜在的优化空间。今天我们以一个更细微的切入点,聚焦横向连接中的核心环节,探讨实现中的小技巧与优化方向。从特征对齐到权重分配,从卷积设计到上采样选择,细节的精雕细琢决定了FPN的性能上限。横向连接中,低层特征通常具有更高的通道数,而高层特征的通道数较低。特征融合后,可能存在高频噪声或边界不连续的问题,使用3×3卷积进一步处理融合特征,可以缓解混叠效应,提高特征的表达能力。使用可学习参数对高低层特征赋予不同权重。

2024-12-09 23:49:15 916

原创 代码架构编写规范:多线程操作与多文件、多包设计

在多线程编程中,代码架构的设计不仅影响系统的性能,还决定了系统的可维护性、扩展性和可调试性。在多线程环境下,设计良好的架构可以有效避免竞态条件、死锁以及其他并发问题,同时提高系统的稳定性和可扩展性。本文将聚焦于如何在多线程操作中编写规范的代码架构,涵盖多文件、多线程、多包的交互设计,并提供线程机制的规范和保活机制的实现。

2024-12-05 23:46:20 1021

原创 深入解析YOLO中的Anchor机制及其优化

Anchor机制是YOLO中提高目标定位精度的关键组成部分。通过合理选择和优化Anchor框,我们能够显著提升检测精度。K-means聚类提供了一种简单而有效的方法来选择Anchor框,而YOLOv5则通过自动优化机制使得Anchor框的选择更加灵活。理解并合理优化Anchor框设置,能够帮助我们提升YOLO模型在实际应用中的性能。希望这篇博客能帮助你更深入地理解YOLO中的Anchor机制,并能够在实践中应用这一技术来优化模型的目标检测效果。如果你有任何问题或优化建议,欢迎在评论区交流

2024-12-04 18:30:20 1458

原创 YOLO系列基础(八)从检测框坐标值直接预测到锚框偏移量

从YOLOv1直接预测检测框坐标到Fast R-CNN引入锚框,目标检测算法在精度和泛化能力上取得了显著进步。锚框的引入不仅解决了YOLOv1在边界框预测上的局限性,也为后续的目标检测算法(如YOLOv2及以后版本)提供了重要的启示。在YOLOv2及后续版本中,锚框的概念得到了进一步的优化和应用,使得YOLO系列算法在保持实时性的同时,不断提升检测精度和泛化能力。

2024-11-20 13:46:04 1129

原创 YOLO系列基础(七)从数据增强到图像线性变换

过拟合(Overfitting)是机器学习中的一个常见问题,指的是模型在训练数据上表现得过于出色,以至于它开始捕捉并学习训练数据中的噪声和随机波动,而不是学习数据的潜在规律或模式。这种情况发生时,模型在训练集上的性能(如准确率、召回率等指标)通常非常高,但在未见过的数据(如测试集或实际应用中的数据)上的性能却显著下降。过拟合的模型往往过于复杂,它们包含了大量的参数和细节,这些参数和细节对于训练数据是有效的,但对于新的、类似的数据则不再有效。

2024-11-15 15:04:36 900

原创 激活函数解析:神经网络背后的“驱动力”

在神经网络中,每个神经元都会接收来自前一层神经元的输入信号,这些输入信号经过加权和求和后,需要通过激活函数进行处理。激活函数的作用是决定神经元是否应该被激活,从而影响输出值。简单来说,激活函数决定了一个神经元对其输入信号的反应程度。激活函数是神经网络中不可或缺的组成部分,它们让网络能够学习复杂的非线性关系。不同的激活函数具有不同的特点,适用于不同的任务和数据集。在实际应用中,ReLU 和其变种(如 Leaky ReLU)因其简单高效而成为深度学习中最常用的激活函数。

2024-11-13 23:04:23 1159

原创 YOLO系列基础(六)YOLOv1论文原理详解,清晰明了!

经过前面几个栏目的学习与掌握,我们已经具备理解和掌握YOLOv1的基本能力。今天,我们来精讲YOLOv1的原理!网络结构、算法流程、损失函数详解!

2024-11-13 16:27:02 2827 1

原创 YOLO系列基础(五)从神经元共适应性到模型Dropout层

在神经网络中,每个神经元通常被设计为独立的特征检测器。然而,在实际训练过程中,可能会出现两个或多个神经元开始检测相同或高度相似的特征。这种现象被称为共适应性(coadaptation)。共适应性意味着神经网络并没有充分利用其全部的计算资源,而是浪费资源来计算激活冗余的神经元。用人话说就是有神经元是完全没用的东西,因为和其他神经元高度相似。

2024-11-12 16:17:10 796

原创 YOLO系列基础(四)从归一化层(BN层)到CBS模块

在我们实际讲解BN层操作之前,我们需要对BatchSize进行一个说明,BatchSize就是模型在单次训练的时候同时训练的图片数量,batchsize = 2 意味着单次训练2张图片,就这么简单。BacthSize主要是为了加速模型拟合、减少模型过拟合、缓解loss跳变引入的。并非本文重点,我们下篇再详解此部分。

2024-11-12 10:36:45 1292

原创 LangChain学习与开发实战合集

从新手出发,进行大模型应用开发入门。适合新手小白的大模型学习之路!

2024-11-11 15:20:00 1541

原创 YOLO系列基础(三)从ResNet残差网络到C3层

每过一层,神经网络就会对数据进行进一步的抽象,神经网络的深度越深,网络就能对数据的更深层特征进行提取和识别。但是有一个关键的现象是,每一次的抽象都不可避免的会损失数据,无论是卷积、池化都一样,这就导致了这个深层特征是存在上限的,进行过多层级的特征提取,提取的特征可能会过于抽象以至于毫无意义。此外,多增加的一个Conv层大大提高了模型的拟合速度,因为不管怎么说,好歹是做了一次特征提取的操作。博主想要表达的是,仅仅是单纯的神经网络层级过长,就足以导致模型效果的急剧下降。可惜的是,似乎并不能如此武断的下定结论。

2024-11-11 15:18:22 1271 2

原创 YOLO系列基础(二)Bottleneck瓶颈层原理详解

bottleneck层最初是在ResNet网络中初次提出,通过降低计算量使得神经网络网络深度可以进一步增加。下图为瓶颈层的结构图左侧是没有瓶颈层的残差网络,对于残差网络我们放置下一篇介绍,此处不用管这个看似很NB的名称。右侧则是称为有瓶颈层的残差网络。有啥区别呢?左侧仅仅是做了一层常规的3*3卷积核的卷积层,激活之后再次通过另外一次3*3卷积核的卷积层。右侧则是通过了一层1*1的卷积层、激活之后再通过3*3的卷积层激活之后再一次通过1*1的卷积层。我为什么要复述一遍……。

2024-11-08 15:08:15 1788

原创 YOLO系列基础(一)卷积神经网络原理详解与基础层级结构说明

卷积神经网络(CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一,在自然语言处理和图像领域中有广泛的应用。本文将详细讲解卷积神经网络的原理,并重点探讨卷积核及其有效性。

2024-11-08 14:22:52 1842

原创 YOLOv8相较于YOLOv5有哪些改进?

综上所述,YOLOv8相比YOLOv5在算法上进行了多项改进,这些改进使得YOLOv8在目标检测任务中表现出更高的性能和准确性。

2024-11-07 16:20:20 1774

原创 Alphago的原理详解

AlphaGo是谷歌DeepMind团队开发的围棋AI,是世界上第一个打败人类围棋冠军的AI。其原理主要基于深度学习和强化学习,并结合了蒙特卡洛树搜索算法。

2024-11-05 16:49:46 1691

原创 EasyOCR(二)如何使用本地检测模型craft?手撕官方代码!

最近在进行开发的时候,需要针对craft模型进行模型迁移操作,然而针对模型迁移训练后的模型却无法直接被EasyOCR调用。本文针对上诉问题进行深入探索,并解决。固有此文。若想直接知晓答案的,可以跳转到部分。

2024-11-05 10:25:13 1184

原创 多信号多信号范围的遍历策略——N进位器策略

最近在进行开发的时候,遇到一个问题:不同的功能,对应的触发信号不同,不同的信号对应的信号范围也不同。如何在功能测试的时候测试到所有的信号呢?例如:功能A,受信号S1S2控制,S1信号值范围为[0,4]S2值范围为[0,255]功能B,受信号S3控制,S3信号值范围为[0,4]功能C,受信号S1……Sn控制,S1信号值范围为[0,4]……Sn值范围为[0,n]

2024-10-24 13:26:02 317

原创 YOLO系列之多阶段训练策略(解决识别不平衡问题)

在进行识别模型训练的时候,往往后期在实际运行中发现一些类别图像识别不佳的情况,此时需要做数据的重新收集与标注。那么此时的训练策略是什么呢?因为若是把数据集整合起来统一训练,就会导致其他没有问题的类别在多次重复训练中发生过拟合现象,而且对于需要更多训练的类别也会因为loss太低而得不到好的训练效果。经常出现这个类别修好,别的类别又出现效果不佳的现象。

2024-10-17 13:38:16 599

原创 EasyOCR(一)超强超便捷的OCR开源算法介绍与文本检测模型CRAFT微调方法

EasyOCR——超强超便捷的OCR开源算法介绍与文本检测模型CRAFT微调方法

2024-10-16 16:43:27 1993 1

原创 YOLO系列——数据采集策略对模型效果的影响分析

最近在开发实践中,需要用到YOLO强大的图片检测能力,然而总是会遇到一些待检测物体没有成功检测出来的情况。发现并非过拟合现象,本次的情况实际是本次的数据采集没有考虑光圈和光照条件、没有考虑多样化背景干扰。导致模型在不同光照条件下效果差异明显,在不同背景下出现误识别背景的情况。

2024-10-15 09:11:11 654

原创 多线程紧密循环带来的子线程阻塞问题----问题积累

最近在开发实践中,遇到一个问题。即:明明采用了多线程编程的方式,但是子线程总是是莫名其妙的阻塞一段时间,由此开始了大约1小时的debug……

2024-10-11 14:27:57 537 1

原创 Qt开发中多线程并发QThread子循环需要刷新主循环如何实现?

针对Qthread中需要刷新主循环UI的场景进行设计

2024-09-23 10:44:11 943 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除