相机的百万像素越高,照片就越清晰,越接近我们的肉眼所见。这个比喻类似于计算机视觉,工程师们正试图将我们周围环境的信息整合到机器中。计算机视觉的目的是使机器能够像人类一样准确地分析和检测周围的物体。
训练计算机视觉的机器的一种方法是通过YOLO。在这篇文章中,我们将了解什么是YOLOv5。让我们直接进入。
什么是YOLO?
这是 "只看一次"(YOLO)的首字母缩写,这个实时物体检测系统是Darknet框架的一部分。它之所以这样命名,是因为图像只经过全卷积神经网络(FCN)一次。
自从它在2015年推出YOLO论文以来,开发者Joseph Redmon和团队在计算机视觉界引起了一阵狂热。它的受欢迎程度主要是因为它比传统的基于区域的CNN模型更快,而后者是一个多步骤的检测过程。
该系统现在已经升级到了更新的版本。我们将研究YOLOv5(版本5)。
什么是YOLOv5?
YOLOv5是由GitHub的Ultralytics组织的Glenn Jocher发起的一个项目,它不是Darknet的直接产物。它是用PyTorch框架的Python编写的,而其他YOLO版本使用的是C和CUDA。
虽然不是YOLOv4的继承者,但YOLOv5的结构架构基本保持不变。它由以下部分组成。
- 输入: 这是一个提供给系统的图像、补丁等。
- 主干。这由系统的神经网络组成,进行所有的学习。跨阶段部分(CSP)网络构成YOLOv5的骨干。
- 颈部。颈部是用来创建特征金字塔的。它有一组层,在发送预测之前混合和组合图像字符。YOLOv5使用PANet作为其颈部。
- 头部:颈部的输出被送入头部,由头部进行方框和类别预测。头部可以是单级的密集预测或两级的稀疏预测。YOLOv5使用与YOLOv3和YOLOv4相同的头。
YOLOv5使用单一的神经网络处理图像,然后将它们分成不同的部分。这样做是为了提高准确性,每个部分通过自动锚定过程获得自己的锚定框。
这个过程是完全自动化的,如果默认的锚箱不准确,它会重新计算锚箱。由于每个零件都有自己的盒子,系统会分析和预测结果。
YOLOv5模型的类型
YOLOv5有五种模型,列举如下。
- YOLOv5n。这是最小和最快的模型。它也被称为纳米模型,由于其尺寸,在移动设备中找到应用。
- YOLOv5s。这也是一个相对较小的模型。它用于在CPU上运行结果。
- YOLOv5m。正如 "m "所示,这是一个中等大小的模型。
- YOLOv5l。这是一个大型模型。
- YOLOv5x。这是各种变体中的顶级型号。然而,尺寸导致速度上的妥协。
请参考下表来比较每个型号的性能。
名称 | CPU速度(毫秒) | GPU速度(毫秒) | 准确度(mAP 0.5) | 参数(以百万计) |
---|---|---|---|---|
YOLOv5n | 45 | 6.3 | 45.7 | 1.9 |
YOLOv5s | 98 | 6.4 | 56.8 | 7.2 |
YOLOv5m | 224 | 8.2 | 64.1 | 21.2 |
YOLOv5l | 430 | 10.1 | 67.3 | 46.5 |
YOLOv5x | 766 | 12.1 | 68.9 | 86.7 |
表中比较了YOLOv5模型的性能[来源]
YOLOv5的意义
虽然不是暗网的直接产品,YOLOv5仍然获得了大量的粉丝。它的一些主要优势是,它的速度更快(用Python编程,使用PyTorch框架),声称有更好的准确性(目前还没有关于YOLOv5的官方论文发表),而且相对来说容易使用(它就像计算机视觉世界的Arduino)。它也比YOLOv4小了近90%。
它采用马赛克增强模型,将四张不同的图像合并为一张
。这样做是为了让系统学会处理困难的图像。该系统还支持
YAML文件。
YOLOv5可以用来检测任何东西或所有东西,这取决于你如何训练该系统。最常见的应用包括车辆拘留、人类检测和障碍物检测。
YOLOv5的问题
YOLOv5最大的问题之一是,其开发者仍未发表论文来证明其性能和能力。这可能是因为YOLO版本仍在开发中,而用户会收到及时的更新。
一个更值得研究的替代方案是PP-YOLO,它的架构也与YOLOv4类似。然后是YOLOv7,它的速度和准确率比YOLOv5更好。对于一个更先进的变体,请查看YOLOX。该系统使用无锚技术进行物体检测。
最后的思考
计算机视觉技术在过去五年中才开始真正发展。有了YOLOv5,即使是菜鸟程序员也可以使用该技术。这对ML和AI来说是个好消息,因为它们需要尽可能多的输入来学习。
随着YOLO世界的新发展,如YOLOX无锚技术和YOLOv7的卓越速度,这只是计算机视觉领域的开始。这篇文章对Yolov5进行了概述。
我希望你能理解Yolov5是什么以及为什么它是一个大问题。祝你在未来的编码工作中一切顺利。编码愉快