前言 YOLOv5 是在 YOLOv4 出来之后没多久就横空出世了。今天笔者介绍一下 YOLOv5 的相关知识。目前 YOLOv5 发布了新的版本,6.0版本。在这里,YOLOv5 也github永久回家地址在5.0基础上集成了更多特性,同时也对模型做了微调,并且优化了模型大小,减少了模型的参数量。那么这样,就更加适合移动端了。

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

YOLO系列梳理(三)YOLOv5

YOLO系列梳理(三)YOLOv5

YOLOv5 网络模型结构神经网络的基本原理

与之前的 YOLOv3、YOLOv4 不同,v3、v4 除了有完整的大模型之外神经网络英文,只有一个轻量级的 tiny 模型,值得注意的是,在 tiny 中,只有两个输出层。而 YOLOv5 则具备四种网络模型:YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x 四种模型。

它们是通过 depth_multiple 和 width_multiple 来控制网络的宽度和深度,这类似 EfficientNet 的思想。

其中,YOLOv5s 在该系列中是深度效率集最小,并且特征图的宽度也神经网络英文最小的网络。其他的网络是在此基础上进行不断地神经网络算法加深、加宽。

YOLOv5 基础组件

  • CBL 由 Conv + BN + Leaky_ReLU 组成。

  • Res unit 是借鉴残差结构的思想来构建网络的。

YOLO系列梳理(三)YOLOv5

YOLO系列梳理(三)YOLOv5

  • CBM 是残差模块中的子模块。Conv效率意识方面存在的问题 + BN + Mish 激活函数 。

  • CSP1_X 由 CSPNet 演变而来,该模块由 CBL 模块、Res uni效率意识方面存在的问题t、Conv、还有 Concate 组成,其中X代表有X个这个模块。效率是什么意思

YOLO系列梳理(三)YOLOv5

YOLO系列梳理(三)YOLOv5

  • CSP2_X 也是由 CSPNet 网络组成,该模块由 Conv 和 X个 Res unit Concate 而成。

YOLO系列梳理(三)YOLOv5

YOLO系列梳理(三)YOLOv5

  • SPP 从 YOLOv3 起,就有使用 SPP 模块。SPP 是 通过采用 1 1、5 5、9可视化分析 9 和 13 13 的最大池化方式,来进行可视化数据图表多尺度特征的融合。

YOLO系列梳理(三)YOLOv5

YOLO系列梳理(三)YOLOv5

  • 新版opencv是什么的 YOLOv5 中使用的是升级版的 SPP结构,SPPF。它是将原本并行的 MaxPool 替换成了串行 MaxPool。其中串行两个 5 x 5 大小的 MaxPool 和一个 9 x 9 大小的 MaxPool 是等价的,而串行三个 5 x 5 大小的opencv目标检测 MaxPool 层和一个 13 x 13 大小的 MaxPool 是等价的。并行和串行的效github开放私库果一样,但串行的效率更高。

YOLO系列梳理(三)YOLOv5

YOLO系列梳理(三)YOLOv5

YOLOv5opencv是什么 知识点

总体来说,YOLOv5 和 YOLOv4 差不多,但还是做了一些调整、优化。

在 YOLOv5 中涉及到的知识:Mosaic数据增强、自适应锚框计算、自适应图片神经网络控制效率高发票查验OpenCV、Focus 结构、CSP 结构、FPN + PAN 结构、GIOU_Loss

自适应锚框计算

像之前的 YOLOv3、YOLOv4,对于不同的数据集,都会计算先验框 anchor。然后在网络训练时,网络会在 ancgithub官网hor 的基础上进行预测,然后输出预测框,再和标签框进行对比,最后就进行梯度地反向可视化音乐软件传播。

在 YOLOv3、YOLOv4 中,训练不同的数据集时,是使用单可视化独的脚本进行初始锚框的神经网络是什么计算神经网络控制,在github官网 YOLOv5 中,则是将此功能嵌入到整个训练代码里中。所以在github永久回家地址每次训练开始之前,它都会根据不同的数据集来自适应计算 anchor。

YOLO系列梳理(三)YOLOv5

YOLO系列梳理(三)YOLOv5

如果你觉得计算的锚框效果并不好,那你也可以在代码中将此功能关闭。

自适GitHub应的计算具体过程:

1. 获神经网络引擎取数据集中所有可视化管理目标的宽和高。

2.opencv是软件还是库 将每张图github永久回家地址片中按照等比github官网例缩放的方式到 resize 指定大小,这里保证宽高中的最大值符合指定大可视化音乐小。

3. 将 bboxes 从相对坐标改成绝对坐标,这里乘以的是缩放后的宽神经网络预测高。

4. 筛选 bboxes,保留宽高都大于等于两个像素的 bboxes。

5. 使用 k-means 聚类三方得到n个 anchors,与v3、v4 操作一样。

6. 使用遗传算法随机对 anchors 的宽高进行opencv和yolo的区别变异。倘若变异后的效果好,就将变异后的结果赋值给 anchors;如果变异后效果变差就跳过,默认变异1000次。这里是使用 anchor_fitness 方法计算得到的适应度 fitness,然后再进行评估。

自适应图片缩放

自适应图opencv目标检测片缩放-针对不同的目标检测算法而言,我们通常需要执行图片缩放操作,即将原始的输入图片缩放到一个固定opencv安装的尺寸,再将其送入检测网络中。YOLO 系列算法中常可视化编程用的尺寸包括416 * 416,608 * 608 等尺寸。

原始的缩放方法存在着一些问题,因为在实际的使用中的很多图可视化编程片的长宽比不同,所以在进行缩放填充之后,两端的黑边大小都不相同,但是如果填充过多,则github官网登陆入口会存在大量的信息冗余,从而影响整体的推理速度。

为了进一步提升推理速度,YOLOv5 提出一种方法能够神经网络算法三大类自适应的添加最少的黑边到缩放之后的图片中。效果如下图所示:

1. 根据原始图片大小与输入到网络图片大小计算缩放比例。

2OpenCV. 根据原始图片大小与缩放比例计算缩放后的图片大小。

3. 计算黑边填github直播平台永久回家充数值。

YOLO系列梳理(三)YOLOv5

github官网登陆入口要注意的是:

  1. 该操作仅在模型推理效率计算公式阶段执行,模型训练阶段仍然和传统的方法相同,将原始图片裁剪到 416 x 416 大小;

  2. YOLOv3 与 YOLOv4 中默认填充的数值是 (0,0,0),而 YOLOv5 中默认填充神经网络的基本原理的数值是 (114,114,114);

  3. 该操作仅仅针对原始图片的短边而言,仍然将长边裁剪到416。

Backbone

Focus结构

YOLO系列梳理(三)YOLOv5

YOLO系列梳理(三)YOLOv5

Focus 模github官网登陆入口块,输入通道扩充了4倍,作用是可以使信息不丢失的情况下提效率的英文高计算力。Focus 是在 YOLOv5 中提出来的,它先将特征图进行分块切片操作,然后再将结果 Concat 起来,再送入后面模块。

在新版中,YOLOv5 将Focus 模GitHub块替换成了一个 6 x 6 的卷积层。两者的计算量是等价的,但是对神经网络的基本原理于一些 GPU 设备,使用 6 x 6 的卷积会更加高效。

YOLO系列梳理(三)YOLOv5

YOLO系列梳理(三)YOLOv5

在 YOLOv5s 中,608 x 608 x 3 的图片经 Focus 处理,会变成 304 x 304 x 12 的特征图,这样一定程度上提高了特征图的操作。然后会再经过一次32个卷积opencv安装教程核变成 304 x 304 x 32 的特征图。在 YOLOv5神经网络算法三大类s 中,Focus 最后使用了大小为32的卷积核,但是其他结构如 YOLO5m 是使用更大数目的卷积核。

CSP结构

YOL效率是什么意思Ov5 与 YOLOv4 的不同点在于,YOLOv4 只有主干网络使用了 CSP结构, 而在 YOLOv5 中,设计了两种 CSP 结构。其效率的英文中,CSP1_X 应用于 Backbone,另一种 CSP2_X 则是应用于 Neck 中。

Neck

YOLOv5 对 FPN + PAN 的结构作了一些改动。在这里github汤姆使用了另外一可视化工具种 CSP2_X 的结构,加强网络特征融合可视化大屏的能力。

Hegithub官网ad

在训练阶段,YOLOv5 与 YOLOv效率意识方面存在的问题4 一样,采用其中的了 CIOU_Loss。在github下载推理阶段,YOLOv4 在 DIopencv目标检测OU_Loss 的基础上采用了 DIOU_nms 的方式,而 YOLOv5 是采用加权 nms 的方式。

NMS 非极大值可视化数据图表抑制

YOLO系列梳理(三)YOLOv5
OpenCV

YOLO系列梳理(三)YOLOv5

NMS 的本质是搜索局部极大值,抑制非极大值元素。非极大值抑制,opencv人员技术主要就是用来抑制检测时冗余的框。因为在目标检测中,在同一目标的位置上会产生大量的候选框,这些候选框相互之间可opencv教程能会有重叠,所以我们需要利用非极大值可视化分析抑制找到最佳的目标边界框,消除冗余的边界框。

大致算法流程神经网络算法为:

1. 对所有预测框的置信度降序排序

2. 选出置信度最高的预测框,效率的拼音确认其为正确预测,并计算他与其他预测框神经网络预测的 IOU

3. 根据步骤2中计算的 IOU 去除重叠度高的,IOU > threshold 阈值就直接删除

4. 剩下的预测框返回第1步,直到没有剩下的为止

NMS 一次处理可视化只会一个类别,所以如果有N个类别,那么就需要执行N次。

SoftNMS

当两个目标靠的非常近时,置信度低的会被置信度高的框所抑制,那么当两个目标靠的十分近的时候就只会识别出一个 bbox。为了解决可视化分析这个问题,可以使用 softNMS。它的基本思想是用稍低一点的分数来代替原有的分数,而不是像 nms 一样直接置零。

YOLO系列梳理(三)YOLOv5

YOLO系列梳理(三)YOLOv5

训练策略

YOLOv效率的拼音5 也使用了许多训练策略。

  1. 多尺度训练。如果网络的输入是416 x 416。那么训练的时候就会从 0.5 x 416 到 1.5 x 416 中任意取值,但所取的值都是32的整数倍。

  2. 训练开始前会使用 warmup 进行训练。在模型预训练阶段,先使用较小的学习率训练GitHub一些epochs或者steps (如4个 epoch 或10000个神经网络英文 step),再修改为预先设置的学习率进行训练。

  3. 使可视化工具用了 cos可视化大屏ine 学习率下降策略。

  4. 采用了 EMA 更新权重,相当于训练时给参数赋予一个动opencv是什么量,这样更新起来就会更加opencv是软件还是库平滑github官网登陆入口

  5. 使用了 amp 进行混合精神经网络算法三大类度训练。能够减少显存的占用并且github开放私库加快训练速opencv和yolo的区别度,但是需要 GPU 支持。

损失函数

YOLgithub官网登陆入口Ov5 的损失依旧是由 Classes loss、Objectness loss、Location lo神经网络预测ss组成:

Location神经网络控制 loss 采用的是 CIOU loss,这里只会计算正样本的定位损失。

Classeopencv安装s loss 和 Objectness loss 采用的是 BCE loss。其github下载中 Classes logithub中文社区ss 也只会计算正样本的分类损失。

Objectness loss 是使用所有样本进行反向传播的计算,并且这里用的是网络预测的目标边界框与 GT Box 的CIOU。

代码

YOLOv5 的作者并没有发表论文,因此只能从代码角度进行分析效率公式。YOLOv5 代码:github.com/ultralytics…

参考链接

zhuanlan.zhihu.com/p/172121380

blog.csdn.net/qq_3754109…

zhuanlan.zhihu.com/p/186014243

总结与分析

YOLOv5 是 one sta效率ge 的目标检测算法,该可视化是什么意思算法在 YOLOv4 的基础上添加了一些新的改进思路,使得其速度与精度都得到了极大的性能提升,具体包括:输入端的 Mosai神经网络预测c 数据增强、自适应锚框计算、自适应图片缩放操作、Focus 结构、CSP 结构、SPP 结构、FPN + PAN 结构、CIOU_Loss 等等。除此之外,YOLOv5 中的各种改进思路也可以使用到其它的目标检测算法中。

YOLO系列下一篇将介绍YOLO部署的内容。

YOLO系列专栏文章:

YOLO系列梳理(一)YOLOv1-YOLOv3

YOLO系列梳理(二)YOLOv4

YOLO系列梳理(三)YOLOv5

YOLO系列梳理(三)YOLOv5

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

CV技术指南创建了一个免费的知识星球。关注公众号添加编辑的微信号可邀请加入。

欢迎可以写以下内容的朋友联系我(微信号:FewDesire,也可以关注公众号获取本人联系方式)。添加前请备注“OpenCV内容投递”

  1. TVM入门到实践的教程

  2. TensorRT入门到实践的教程

  3. MNN入门到实践的教程

  4. 数字图像处理与Opencv入门到实践的教程

  5. OpenVINO入门到实践的教程

  6. libtorch入门到实践的教程

  7. Oneflow入门到实践的教程

  8. Detectron入门到实践的教程

  9. CUDA入门到实践的教github官网

  10. caffe源码阅读

  11. pytorch源码阅读

  12. 深度学神经网络英文习从入门到精通(从卷积神经网络开始讲起)

  13. 最新顶会的解读。例如最近的CVPR2022论文。

  14. 各个方向的系统性综述、主要模型发展演变、各个模型的创新效率是什么意思思路和优缺点、代码解析等。

  15. 若自己有想写的且这上面没提到的,可以跟我联系。

声明:有一定报酬,具体请联系详谈。

其它文章

YOLO系列梳理(一可视化大屏)YOLOv1-YOLOvgithub中文社区3

YOLO系列梳理(二)YOLOv4

Atten可视化工具tion Mechanism in Computer Vision

从零搭建Pytorch模型教程(三)可视化大屏搭建Transformer网络

从零搭建Pytorch模型教程(二)搭建网络

从零搭建Pytorch模型教程(一)数据读取

YOLO系列梳理与复习(二)YOLOv4

YOLO系列梳理(一)YOLOv1-YOLopencv和yolo的区别Ov3

StyleGAN大汇总 | 全面了解SOTA方法、架构新进展

一份热力图可视化代码使用教程

一份可视化特征图的代码

工业图像异常检测研究总结(2019-2020)

关于快速学习一项新技术或新领域的一些个人思维习惯与思想总结