YOLO系列概述(yolov1至yolov7)

这篇具有很好参考价值的文章主要介绍了YOLO系列概述(yolov1至yolov7)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

YOLO系列概述(yolov1至yolov7)

参考:

  1. 睿智的目标检测53——Pytorch搭建YoloX目标检测平台
  2. YoloV7

yolo的发展历史

YOLO系列概述(yolov1至yolov7)
首先我们来看一下yolo系列的发展历史,yolo v1和yolox是anchor free的方法,yolov2,yolov3,一直到yolov7是anchor base的方法。首选我们来回顾下每个版本的yolo都做了些什么

yolo v1是将 416 ∗ 416 416*416 416416的图片,分成了 7 ∗ 7 7*7 77的网格,每个网格默认回归两个object,也就是最终预测一个长度为SS(B*5+C)的向量,这里 s = 7 , b = 2 s=7,b=2 s=7,b=2,c是class的类别数量。

那么这里引入一个问题,为什么yolox也是anchor free的方法性能好,而yolo v1性能偏弱呢?这里主要是因为yolox与centernet类似,通过预测中心点,使得模型的预测更为准确。对于yolox会有一个featuremap表示某个位置是中心点的概率,而中心点比起长宽更能表示一个物体的特征。

我们再来看yolov2,因为此时faster rcnn的兴起,在faster rcnn中 最后一层featuremap每个位置可以回归9个anchor,而anchor作为先验知识发挥了巨大的作用,因此引入了yolov2中,当然yolov2也提出了一些训练模型的技巧,比如先训练分类等等。并且因为anchor的存在,在一定程度上解决了yolo的小目标问题。

yolov2之后就到了yolov3,当时fpn的诞生,又进一步解决了小目标问题,由于对于小目标来说经过多层卷机之后feature可能就不见了或者很小了,那么就考虑到,浅层的特征范围还比较大,如果能把浅层特征和深层特征concat到一起,就既有了表层特征又有了语义特征,因为fpn的加入 yolov3取得了较好的性能。

yolov4和yolov5值得一提的除了backbone改进之外,在数据增强上也做了创新,比如mosaic,mixup等方法的引入。其中mosaic指的就是将四张图片拼接成一张用于目标检测,这种方法的优点在于丰富的背景信息有助于检测,而mixup是将两张图片加和到一起。并且neck部分,作者也用了panet的方法,不仅仅通过两次上采样cancat,在此基础上又用了两次下采样。这样可以将特征更有效的融合到一起。

yolox和yolov7将在后面详细介绍.

yolox

YOLO系列概述(yolov1至yolov7)
首先,yolox在backbone部分引入的focus网络,类似于pooling的策略,但是他没有像maxpooling一样把小的feature丢掉,而是隔一个位置取一个值后堆叠到channel中,因为我们知道通道数越高,表征能力越强。
YOLO系列概述(yolov1至yolov7)
再次我们看一下作者用silu替换了relu,silu的优势在于它是全局可导的,不存在不可导的0点。
YOLO系列概述(yolov1至yolov7)
另外,在backbone部分,我们可以得到的启示就是,怎样将小的conv+bn+silu组成的基本卷积结构构造成不同类型的残差结构。
YOLO系列概述(yolov1至yolov7)
另外,在head部分,作者认为yolov3中的类别和坐标放到一个 1 ∗ 1 1*1 11卷积得到,会相互影响。因此把它分成两个分支。

最后,SimOTA就是一个动态分配正样本的算法,将预测框中十个iou最大的值加起来,近似得到的值就是将用来训练的正样本数量。这一方法也在后续的yolo中被使用。

yolov7

YOLO系列概述(yolov1至yolov7)
22年夏天,又有大神提出了yolov7,可以看到同等fps下,ap比yolox可以提高5个点,那么我们就来看看有什么创新。
YOLO系列概述(yolov1至yolov7)
首先在backbone中,我们可以看到,其实作者改进的E-ELAN只是将原来4倍通道提高到了8倍,所以这也印证了我们之前说的,高通道有更强的特征表达能力。而E-ELAN没有采用残差的加和方式,而是采用了堆叠的方式,毫无疑问计算量更大,但是表征力更强,如果考虑轻量化,或许可以考虑改成加和的方式。
YOLO系列概述(yolov1至yolov7)

另外在检测头部分采用的rep网络,当训练时,有三个分支,分别是 1 ∗ 1 1*1 11卷积, 3 ∗ 3 3*3 33卷积,和只有bn三个分支,但是预测时候,只保留主分支 3 ∗ 3 3*3 33分支,这就比较像dropout,它会让一部分节点失活,或许可以起到跟dropout同样的作用,减少过拟合。文章来源地址https://www.toymoban.com/news/detail-447620.html

到了这里,关于YOLO系列概述(yolov1至yolov7)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 经典目标检测YOLO系列(一)YOLOV1的复现(1)总体架构

    实现原版的YOLOv1并没有多大的意义,因此,根据 《YOLO目标检测》(ISBN:9787115627094) 一书,在不脱离YOLOv1的大部分核心理念的前提下,重构一款较新的YOLOv1检测器,来对YOLOV1有更加深刻的认识。 书中源码连接:GitHub - yjh0410/RT-ODLab: YOLO Tutorial 对比原始YOLOV1网络,主要改进点如下:

    2024年02月03日
    浏览(35)
  • 从YOLOv1到YOLOv8的YOLO系列最新综述【2023年4月】

    作者: Juan R. Terven 、 Diana M. Cordova-Esparaza 摘要: YOLO已经成为 机器人 、 无人驾驶汽车 和 视频监控应用 的核心实时物体检测系统。我们对YOLO的演变进行了全面的分析,研究了从最初的YOLO到YOLOv8每次迭代的创新和贡献。我们首先描述了标准指标和后处理;然后,我们讨论了

    2024年02月04日
    浏览(44)
  • 目标检测——Yolo系列(YOLOv1/2/v3/4/5/x/6/7/8)

    什么是目标检测? 滑动窗口(Sliding Window) 滑动窗口的效率问题和改进 滑动窗口的效率问题:计算成本很大 改进思路 1:使用启发式算法替换暴力遍历 例如 R-CNN,Fast R-CNN 中使用 Selective Search 产生提议框 ( 区域提议 ) 依赖外部算法,系统实现复杂,难以联合优化性能 改进

    2024年02月09日
    浏览(27)
  • 人工智能学习07--pytorch21--目标检测:YOLO系列理论合集(YOLOv1~v3)

    如果直接看yolov3论文的话,会发现有好多知识点没见过,所以跟着视频从头学一下。 学习up主霹雳吧啦Wz大佬的学习方法: 想学某个网络的代码时: 到网上搜这个网络的讲解 → 对这个网络大概有了印象 → 读论文原文 ( 很多细节都要依照原论文来实现, 自己看原论文十分

    2024年02月10日
    浏览(46)
  • YOLO系列 --- YOLOV7算法(一):使用自定义数据集跑通YOLOV7算法

    这不就尴尬了。。。刚理解完美团出的YOLO V6算法,V7就出来了。。。而且最关键的是V7还有V4作者的背书,不过好在其实V6和V7都是在YOLO V5的基础上修改的代码,所以代码读起来就比较顺畅。YOLOV7算法打算按照以下的结构进行讲解: YOLOV7算法(一):使用自定义数据集跑通YO

    2024年02月04日
    浏览(31)
  • YOLO系列 --- YOLOV7算法(四):YOLO V7算法网络结构解析

    今天来讲讲YOLO V7算法网络结构吧~ 在 train.py 中大概95行的地方开始创建网络,如下图(YOLO V7下载的时间不同,可能代码有少许的改动,所以行数跟我不一定一样) 我们进去发现,其实就是在 yolo.py 里面。后期,我们就会发现相关的网络结构都是在该py文件里面。这篇blog就主

    2024年02月05日
    浏览(33)
  • YOLO系列 --- YOLOV7算法(六):YOLO V7算法onnx模型部署

    有很多人来问我,基于YOLO v7算法训练出来一个权重文件,如何进行部署。所以特地写一篇部署的blog~ 一般,我们基于pytorch深度学习框架训练出来的权重文件是pt格式的,我们可以用python来直接调用这个文件。但是实际工业中,一般都是c++去调用权重文件的,所以我们需要将

    2024年02月07日
    浏览(34)
  • 【YOLO系列】YOLOv7论文超详细解读(翻译 +学习笔记)

    终于读到传说中的YOLOv7了~≖‿≖✧ 这篇是在美团的v6出来不到一个月就高调登场,作者还是我们熟悉的AB大神(对,就是v4那个),读起来又是“熟悉”的感觉(贯穿了我的整个五一假期(╯-_-)╯╧╧)。 其实关于YOLOv7的网络结构还有很多细节值得深入研究,以及代码

    2024年02月02日
    浏览(38)
  • 【目标检测——YOLO系列】YOLOv1 —《You Only Look Once: Unified, Real-Time Object Detection》

    论文地址:1506.02640] You Only Look Once: Unified, Real-Time Object Detection (arxiv.org) 代码地址:pjreddie/darknet: Convolutional Neural Networks (github.com) YOLOv1是一种end to end目标检测算法,由Joseph Redmon等人于2015年提出。它是一种基于单个神经网络的实时目标检测算法。 YOLOv1的中文名称是\\\"你只看一

    2024年02月08日
    浏览(33)
  • 【YOLO系列】YOLOv5、YOLOX、YOOv6、YOLOv7网络模型结构

    【注】: 本文为YOLOv5、YOLOX、YOLOv6、YOLOv7模型结构图,作图软件为drawio。因精力有限暂时不做结构的详细阐述和具体的代码讲解,后续有机会再做补充。如有需要可以查阅其他博主的文章了解学习。 【另】:希望模型结构图可以帮助到有需要的人,如模型中有错误的地方,欢

    2024年02月07日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包