YOLO v8!| 附教程+代码 以及 vs YOLOv6 v3.0

本文是我关于YOLOv8的经验和实验,以及和YOLOv6 v3.0的相关对比。

Part 1 - YOLOv8 

cf3b7d6846913633358686372e58d4c8.png

Joseph Redmon、Santosh Divvala、Ross Girshick和Ali Farhadi推出了YOLO(You Only Look Once)系列计算机视觉模型,引起了许多人工智能爱好者的关注和喜爱。2023年1月10日,YOLO的最新版本——YOLO8发布,声称在结构和架构方面进行了改进,并获得了更好的结果。

介绍

我尝试了来自Ultralytics的全新、尖端、最先进的YOLO v8。YOLO v6和v7版本在1-2个月的时间内发布给公众。两者都是基于PyTorch的模型。

即使它的前身YOLO v5也有一个基于PyTorch的模型。几天前[或者我们可以说几个小时前],YOLO v8发布了。我想,如果我尝试在相同的参数上检查它会怎样?上次我使用了coco数据集,但这次我使用了车牌检测问题。

数据集

该数据集有近800张训练图像,226张验证图像和113张测试图像。我们使用的所有图像都是原始的,没有进行增强。

04eea9d0102f6ed816b6daadc537e672.png

Epochs

        我们故意将epochs保持在100以查看其在热身迭代中的性能。

模型

        基于PyTorch的YOLO v5、v6、v7和v8。

YOLOv8是一个尖端、最先进的(SOTA)模型,它建立在以前YOLO版本的成功基础上,引入了新的功能和改进,进一步提高了性能和灵活性。

7006d6ecf4c1e8e20b879bdc8d14a48d.png

与其他YOLO的比较

它使用无锚检测和新的卷积层使预测更准确。

f9511be170404a3d0e785d7335c32611.png

V8不同版本的比较

结果

        YOLO 8在RF100上获得的结果比其他版本要好。

10327614b832abcb44afc5e05f9ca3e6.png

V8不同版本

在自定义数据集上的结果

        现在让我们看看这个YOLO v8在自定义数据集上是否真的有效。下面是YOLO v8在车牌检测问题上的结果。

a29882a4bbc1eeae37a129749926f06e.png

相同数据集的相同epoch的训练时间

在预定义的epoch训练后,我计算了所有平均精度的平均值。

884a2611138012138b4969e97987301f.png

自定义数据集上所有版本YOLO的映射值

上面的图表显示了v8的性能优于其他版本。它以较少的训练时间给我们最大的映射值。无锚检测比以前的版本更快更准确。

任何模型的工作和性能完全取决于数据和问题陈述,但新的改进使事情变得更好。这次我们没有考虑延迟,但这些结果对进一步分析可能有用。

改进

YOLOv8的可扩展性是一个重要特性。它被创建为一个框架,可以与所有先前的YOLO迭代一起工作,这使得在它们之间轻松切换并评估它们的性能变得简单。因此,YOLOv8是最好的选择,对于那些希望从最新的YOLO技术中受益,同时保持其当前的YOLO模型功能。

观察

    • 如我们所见,训练时间是一个大问题,如果考虑从v5到v7的指数增长,但是v8花费了近60%的时间进行训练,同时产生了更高的平均精度。在这里,长时间训练的问题得到了一定的解决。 

    • 在v8中更好地实现了训练时间和精度之间的平衡。 

    • 新的骨干网络、新的无锚检测头和新的损失函数使事情变得更快。

相关链接:

  1. YOLOv8 repository — V8

  2. code differential — V8

  3. Understanding YOLOs

  4. Understanding V8

  5. Docs V8

  6. Understanding V8- Video

Part 2 - YOLOv6 v3.0 vs YOLOv8 

YOLOv6 v3.0 和 YOLOv8 都是由不同组织开发的最先进的目标检测系统。它们旨在实时检测物体,因此非常适用于自动驾驶汽车、安全系统等许多应用场景。

YOLOv6 v3.0 由美团团队开发。它是 YOLOv6 系列目标检测模型的最新版本,拥有几个不同的模型,如 YOLOv6-N、YOLOv6-S、YOLOv6-M/L,适用于不同的工业场景,如纳米、小型、中型、大型等。YOLOv6 v3.0 的评估与早期版本的 YOLOv6 保持一致,重点是部署时的吞吐量和 GPU 延迟。

77bceed62d27edbcfee17d37a258c8a1.gif

使用YOLOv8进行安全帽检测

美团团队使用FP16精度在相同的Tesla T4 GPU上使用TensorRT测试了所有官方模型的速度性能,并将升级的YOLOv6与YOLOv5、YOLOX、PPYOLOE、YOLOv7和YOLOv8进行了比较。比较结果显示,与YOLOv5-N相比,YOLOv6-N有了显着的9.5%的进步,同时在吞吐量和延迟方面表现出最佳的速度性能。YOLOv6-S可以将AP提高3.5%以上,比YOLOX-S高0.9%,速度更快。YOLOv6-M比YOLOv5-M提高了4.6%的AP值,速度相似,而且在更快的速度下比YOLOX-M和PPYOLOE-M分别高出3.1%和1.0%的AP。

另一方面,YOLOv8是由Ultralytics开发的,被认为是YOLO模型的最新和最先进的版本。YOLOv8以其快速的处理速度、高精度和能够检测单个图像中的多个对象而著称。它还拥有新的骨干网络、一种设计,使得与YOLO系列旧模型的性能比较变得更加容易,新的损失函数和新的无锚定检测头。

YOLOv6 v3.0和YOLOv8之间的一个主要区别是两个系统的重点。YOLOv6 v3.0是专门为工业应用而设计的,并针对不同场景设计了不同的模型。而另一方面,YOLOv8是一种更通用的目标检测系统,适用于广泛的用例。

b5cc45a33630e7c511c2c3bcef83b949.png

YOLO比较

两个系统之间的另一个差异是它们提供的精度水平。YOLOv6 v3.0的精度略低于YOLOv8,但它通过更快的处理速度和更低的延迟来弥补这一点。这使它更适合速度至关重要的实时应用程序。另一方面,YOLOv8提供了更高的精度,使其成为对精度至关重要的应用程序的更好选择。

7fc8bb3868e95c161ce0bfb23235d215.gif

使用YOLOv8/R/v7进行CS-GO项目

总之,YOLOv6 v3.0和YOLOv8都是功能强大的目标检测系统,为不同的用例提供了独特的优势。YOLOv6 v3.0更适用于速度比精度更重要的工业应用,而YOLOv8则更为通用,提供更高的精度。这两个系统都在不断发展和更新,以提供更好的性能和开发体验。选择两者之间的一个取决于项目的具体要求以及速度和精度之间的权衡。

·  END  ·

HAPPY LIFE

c4175c5ce5469fd4905bbc07f3b61868.png

猜你喜欢

转载自blog.csdn.net/weixin_38739735/article/details/130023596