【CV】从 YOLO 到 YOLOv8:追踪目标检测算法的演变

您所在的位置:网站首页 yolo算法的优点 【CV】从 YOLO 到 YOLOv8:追踪目标检测算法的演变

【CV】从 YOLO 到 YOLOv8:追踪目标检测算法的演变

2023-06-15 13:00| 来源: 网络整理| 查看: 265

 🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎

📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃

🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​

📣系列专栏 - 机器学习【ML】 自然语言处理【NLP】  深度学习【DL】

​​​

 🖍foreword

✔说明⇢本人讲解主要包括Python、机器学习(ML)、深度学习(DL)、自然语言处理(NLP)等内容。

如果你对这个系列感兴趣的话,可以关注订阅哟👋

文章目录

YOLO—新生儿 (发布日期:2016 年 6 月)

YOLOv2—又名 YOLO9000(发布日期:2016 年 12 月)

YOLOv3—DarkNet Backbone(发布日期:2018 年 4 月)

YOLOv4—最先进的(发布日期:2020 年 4 月)

YOLOv5—它是非官方的吗?(发布日期:2020 年 6 月)

YOLOv6—用于实时工业应用的(发布日期:2022 年 6 月)

YOLOv7—先锋(发布日期:2022 年 7 月)

YOLOv8 — 最新(发布日期:2023 年 1 月 10 日)

综上所述

过去七年有哪些改进?

两年多来,我在使用 YOLO 及其多个版本。然而,如果你开始问我 YOLO 的细节——为什么我要为那个项目使用这个版本,最新的改进是什么,YOLO 的世界发生了什么——我可能会告诉你是时候喝杯咖啡休息了。

希望为我们所有知道我们在做什么的开发人员解决这个问题。

YOLO—新生儿 (发布日期:2016 年 6 月)

什么是 YOLO?

YOLO,即 You Only Look Once,是 Joseph Redmon、Santosh Divvala、Ross Girshick 和 Ali Farhadi 为我们带来的物体检测模型。

为什么这有关系?

由于这种方式,作者解决了这个问题。到那时,目标检测被视为分离检测到的边界框的分类任务——寻找最佳检测而不对边界框进行空间比较。YOLO 将其视为一个回归问题,并使用单个卷积神经网络 (CNN) 关联每个检测的概率。重新定义对象检测的方式使 YOLO 变得更快、更准确并且泛化能力更好。

它是如何工作的?

它通过将图像划分为网格来检测图像中的对象,对每个网格单元进行多次预测,过滤掉低置信度的预测,然后删除重叠框以产生最终输出。

可以在哪里使用?

它在实时应用程序中运行良好。

需要注意的重要事项: YOLO 是开源的,因此社区迅速改进了这个模型,现在我们到了 YOLOv8。

YOLOv2—又名 YOLO9000(发布日期:2016 年 12 月)

有哪些关键改进?

YOLOv2 在其所有卷积层中使用批量归一化。这通过减少过度拟合并提高模型稳定性和性能来帮助模型在训练期间更有效地学习。YOLOv2 可以处理更高分辨率的图像,因此它更擅长发现较小的物体。想象一下,试图在一张模糊的照片中找到一个微小的物体——这非常困难,对吧?YOLOv2的分辨率更高,图像变得更清晰,更容易找到那些小物体。YOLOv2 使用锚框(借鉴自 Faster R-CNN),有助于算法更准确地预测物体的形状和大小。这意味着它可以识别更多种类的物体,即使它们的形状很奇怪。

这些改进使得 YOLOv2 比原来的 YOLO 更准确、更快,这就是为什么它更适合实时物体检测任务。

YOLOv3—DarkNet Backbone(发布日期:2018 年 4 月)

有哪些关键改进?

YOLOv3 预测三种不同尺度的物体,这有助于检测更广泛尺寸的物体。如果您的应用程序涉及检测具有不同尺寸的对象,则 YOLOv3 的性能可能优于 YOLOv2。YOLOv3 使用称为 Darknet-53 的更高效的主干架构,有助于提高准确性和速度。

您可能认为这一切听起来都很棒,那么问题在哪里呢?嗯,由于架构更复杂,YOLOv3 与 YOLOv2 相比具有更高的计算要求。但是,如果您的硬件可以处理 YOLOv3 的计算需求,它通常是比 YOLOv2 更好的选择。

需要注意的重要事项: YOLOv3 在速度和准确性之间提供了良好的平衡。当您需要快速准确的模型但计算要求低于 YOLOv4 时,请使用 YOLOv3。旧版本并不一定意味着它会落后。选择最符合您对速度、准确性、硬件限制和易用性的特定需求的 YOLO 版本。

 

YOLOv4—最先进的(发布日期:2020 年 4 月)

YOLOv4 取得了最先进的性能。这意味着什么?这意味着在发布时,与其他可用模型相比,YOLOv4 在准确性、速度和效率方面是表现最好的对象检测模型之一。

有哪些关键改进?

称为 CSPDarknet53 的新骨干架构带来了更好的检测准确性和更快的性能。YOLOv4 针对高效的资源利用进行了优化,使其适合部署在包括边缘设备在内的各种硬件平台上。

TEA是什么?正如人类的本能一样,任何进步总是伴随着戏剧性的变化。围绕 YOLOv4 的“戏剧性”主要集中在这样一个事实,即它是由不属于 Joseph Redmon 领导的原始 YOLO 团队的研究人员开发和发布的。这在计算机视觉界引起了一些争议和困惑。

YOLO、YOLOv2 和 YOLOv3 的创造者 Joseph Redmon 于 2020 年 2 月宣布,由于担心该技术的潜在负面后果和滥用,他将退出计算机视觉研究。在他离开后,该领域的其他研究人员继续着 YOLO 系列的开发。

YOLOv5—它是非官方的吗?(发布日期:2020 年 6 月)

还有更多的TEA。YOLOv5 的发布进一步加剧了 YOLOv4 的争议,YOLOv5 是 Ultralytics 团队开发的非官方版本,同样与 Joseph Redmon 或他的团队无关。这导致了对 YOLO 版本的“官方”状态和适当的命名约定的混淆。

尽管围绕 YOLOv5 存在争议和争论,但它因其易用性、定制化和快速训练而广受欢迎。该模型提供了一系列具有不同速度和准确性权衡的配置,使其适用于各种用例和硬件限制。

有哪些关键改进?

YOLOv5 旨在更加用户友好,具有简化的实现、更容易的安装以及与 PyTorch 生态系统更好的集成。该模型以其灵活性和快速训练时间而闻名,特别是对于自定义数据集。如果您需要在自定义数据集上快速训练对象检测模型,并希望轻松调整模型架构或设置,YOLOv5 可能是更合适的选择。YOLOv5 提供了一系列具有不同速度和精度权衡的模型(YOLOv5s、YOLOv5m、YOLOv5l 和 YOLOv5x)。这种灵活性使您可以选择最适合您的硬件限制和性能要求的模型。如果您需要一系列选项来平衡速度和准确性,YOLOv5 可能更具吸引力。

需要注意的重要事项: YOLOv5 引入了对实例分割(2022 年 9 月)和分类(2022 年 8 月)的支持。

需要记住的一点: YOLOv4 和 YOLOv5 具有相当的性能,根据特定的用例和设置,一些基准测试更倾向于一个。根据您的特定任务评估这两个模型,以确定哪个模型在您的场景中表现更好。

YOLOv6—用于实时工业应用的(发布日期:2022 年 6 月)

有哪些关键改进?

与早期依赖基于锚的技术进行对象检测的 YOLO 体系结构相比,YOLOv6 采用了无锚方法。这导致 YOLOv6 比大多数基于锚点的对象检测器快 51%,这是通过减少三倍的预定义先验(先验是指预定义的锚框或具有预定形状和大小的边界框)实现的。扩展训练时期、量化和知识蒸馏等实际增强功能使该模型非常适合实时工业应用。

知识蒸馏有什么帮助?它用于进一步提高模型的准确性,而不会产生大量的计算成本。在此过程中,教师模型训练学生模型,教师模型的预测作为软标签与训练学生模型的基本事实一起使用。YOLOv6 利用自蒸馏进行训练,其中学生模型也充当教师模型。在这种情况下,教师模型是预训练的。

量化有什么作用?它减少了模型的内存和计算要求,而不会显着影响其性能。该过程涉及将神经网络的权重和激活从高精度浮点数(例如,32 位)转换为低精度数(例如,8 位整数)。这减少了模型的内存占用并加速了计算,使其更适合部署在资源有限的设备上。

YOLOv7—先锋(发布日期:2022 年 7 月)

YOLOv7 官方论文,标题为“YOLOv7: Trainable Bag-of-Freebies Sets New State-of-the-Art for Real-Time Object Detectors”,由作者 Chien-Yao Wang、Alexey Bochkovskiy 和 Hong-Yuan Mark Liao 发表.

免费赠品?论文标题中提到的freebies,最早是在YOLOv4论文中介绍的。传统的物体检测器通常是离线训练的,因此研究人员旨在开发改进的训练方法,以在不增加推理成本的情况下提高物体检测器的准确性。这些只会改变训练策略或增加训练成本的方法被称为“bag of freebies”。一些示例是优化的网络结构和改进的损失函数。

需要注意的重要事项:与使用 ImageNet 等预训练主干的早期 YOLO 版本不同,YOLOv7 不依赖于此类预训练权重。这使得模型更适用于较小的数据集,因为它学习专门针对手头数据定制的特征,而不是依赖于来自不同数据集的预先存在的权重。

这怎么可能?

E-ELAN 架构允许 YOLOv7 从更小的数据量中更有效地学习。YOLOv7 在中间层使用辅助头进行训练,而主头负责最终输出。这种双头架构,结合分配软标签的 Label Assigner 机制,使模型能够更有效地从数据中学习。

什么是标签分配器机制?它是一种用于改进模型训练过程的方法。它不仅使用基本事实(实际数据)为训练数据创建固定标签,还考虑了模型的预测。这有助于创建“软标签”,这些标签更具适应性,可以带来更好的学习和表现。

值得注意的一点: YOLOv7 是 YOLO 系列中引入人体姿势估计模型的先驱,鉴于该领域实时模型的稀缺性,这一点尤其值得注意。

 

YOLOv8 — 最新(发布日期:2023 年 1 月 10 日)

突破性的 YOLOv5 模型背后的团队 Ultralytics 发布了 YOLOv8。

它提供什么?它通过结合诸如新颖的主干网络、创新的无锚分裂头和新的损失函数等进步超越了以前的迭代。这些增强功能使 YOLOv8 能够取得出色的结果,同时保持较小的占用空间和惊人的速度。

它可以应用在哪里?YOLOv8 与广泛的视觉 AI 任务兼容,包括检测、分割、姿态估计、跟踪和分类。此外,YOLOv8 的高效架构使其适用于广泛的应用程序,并且可以毫不费力地适应各种硬件平台,从边缘设备到基于云的 API。

还有更多。然而,由于官方文件尚未发布,这些改进背后的具体细节和方法仍然未知。尽管如此,YOLOv8 模型有望通过在各种应用程序和硬件平台上提供最先进的性能和多功能性来延续 YOLO 的传统。

综上所述

恭喜!我们刚刚全面了解了 YOLO 系列,从它的诞生到最新的 YOLOv8 模型。我们已经探索了每个版本的主要区别和改进。

YOLO 系列不断突破实时对象检测的界限,并且在每次迭代中,我们都看到了速度、准确性和模型通用性方面的增强。随着计算机视觉领域的不断发展,我们可以热切期待未来 YOLO 模型的进一步创新和改进。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3