还是那句话,完全为了给自己地铁看书用 知识点就那点 也不商业 重复勿怪勿扰 谢谢. 还是给自己看~ 但私密里分类又找不到了-- 作为给自己的分享 和学习

全部参考资料

  • [1] YOLOv1-Darkent: https://github.com/pjreddie/darknet

  • [2] YOLOv2-Darkent: https://github.com/pjreddie/darknet

  • [3] YOLOv3: An Incremental Improvement: https://arxiv.org/pdf/1804.02767.pdf

  • [4] YOLOv3-PyTorch: https://github.com/ultralytics/yolov3

  • [5] YOLOv4: Optimal Speed and Accuracy of Object Detection: https://arxiv.org/pdf/2004.10934.pdf

  • [6] YOLOv4-Darkent: https://github.com/AlexeyAB/darknet

  • [7] YOLOv5-PyTorch: https://github.com/ultralytics/yolov5

  • [8] YOLOX: Exceeding YOLO Series in 2021: https://arxiv.org/pdf/2107.08430.pdf

  • [9] YOLOx-PyTorch: https://github.com/Megvii-BaseDetection/YOLOX

  • [10] YOLOv6:又快又准的目标检测框架开源啦: https://tech.meituan.com/2022/06/23/yolov6-a-fast-and-accurate-target-detection-framework-is-opening-source.html

  • [11] YOLOv6-PyTorch: https://github.com/meituan/YOLOv6

  • [12] Official YOLOv7-PyTorch: https://github.com/WongKinYiu/yolov7

  • [13] Feature Pyramid Networks for Object Detection: https://arxiv.org/pdf/1612.03144.pdf

  • [14] Path Aggregation Network for Instance Segmentation: https://arxiv.org/pdf/1803.01534.pdf

  • [15] RepVGG: Making VGG-style ConvNets Great Again: https://arxiv.org/pdf/2101.03697.pdf

这是从v1到v7 整体说一遍 有的也不是官方的应该..

----【目录】----

  1. YOLO系列中Neck结构的由来以及作用

  2. YOLOv1-v3 Neck侧解析

  3. YOLOv4 Neck侧解析

  4. YOLOv5 Neck侧解析

  5. YOLOx Neck侧解析

  6. YOLOv6 Neck侧解析

  7. YOLOv7 Neck侧解析

YOLOv1-v7不同版本各有特色,在不同场景,不同上下游环境,不同资源支持的情况下,如何从容选择使用哪个版本,甚至使用哪个特定部分,都需要我们对YOLOv1-v7有一个全面的认识。故Rocky将YOLO系列每个版本都表示成下图中的五个部分,逐一进行解析,并将每个部分带入业务侧,竞赛侧,研究侧进行延伸思考,探索更多可能性。​​​

【一】YOLO系列中Neck结构的由来以及作用

YOLO从v3版本开始设计Neck结构,其中的特征融合思想最初在FPN(feature pyramid networks)网络中提出,在YOLOv3中进行结构的微调,最终成为YOLO后续系列不可或缺的部分。

FPN的思路剑指小目标,原来很多目标检测算法都是只采用高层特征进行预测,高层的特征语义信息比较丰富,但是分辨率较低,目标位置比较粗略。假设在深层网络中,最后的高层特征图中一个像素可能对应着输出图像 的像素区域,那么小于 像素的小物体的特征大概率已经丢失。与此同时,低层的特征语义信息比较少,但是目标位置准确,这是对小目标检测有帮助的。FPN将高层特征与底层特征进行融合,从而同时利用低层特征的高分辨率和高层特征的丰富语义信息,并进行了多尺度特征的独立预测,对小物体的检测效果有明显的提升。

FPN结构

FPN论文地址:Feature Pyramid Networks for Object Detection[1]【Rocky的延伸思考】

  1. 业务侧:FPN具备业务模块沉淀价值,但还是要分场景来使用,主要在小目标场景可以尝试,但同时要兼顾上游数据侧与下游部署侧的适配。

  2. 竞赛侧:FPN的思想可谓是竞赛侧的一个利器,在分类,分割,检测等任务中都能大展拳脚,进行迁移应用。

  3. 研究侧:FPN具备作为baseline的价值,不管是进行拓展研究还是单纯学习思想,这个算法都是不错的选择。

【二】YOLOv1-v3 Neck侧解析

YOLOv1和YOLOv2都是不含Neck结构的,Rocky将在本系列的Backbone篇中对这两个模型进行详细介绍,本文中便不做过多赘述。

YOLOv3则是较好的引入了FPN的思想,以支持后面的Head侧采用多尺度来对不同size的目标进行检测,越精细的grid cell就可以检测出越精细的目标物体。YOLOv3设置了三个不同的尺寸,分别是 , 和 ,他们之间的比例为 。YOLOv3采用全卷积的思路,在Neck侧也不例外(YOLOv1-v2中采用池化层做特征图的下采样, v3中采用卷积层来实现)。【Rocky的延伸思考】

  1. 业务侧:YOLOv3 Neck侧经过时间的考验与沉淀,非常适合作为业务侧的入场baseline部分模块进行搭建。

  2. 竞赛侧:YOLOv3 Neck架构在竞赛侧有迁移应用的价值。

  3. 研究侧:YOLOv3 Neck架构具备作为baseline的价值,不管是进行拓展研究还是单纯学习思想。

【三】YOLOv4 Neck侧解析

YOLOv4的Neck侧主要包含了SPP模块和PAN模块

SPP模块在YOLOv3_SPP.cfg中率先展现,但是在YOLOv4中则成为了一个标配。SPP模块包含3个最大池化层,其滑动核(sliding kernel)尺寸分别是 和,并通过Padding操作,使每个最大池化层的输出特征图不变,用于Concat融合操作。SPP模块代替了卷积层后的常规池化层,可以增加感受野,更能获取多尺度特征,训练速度也让人满意。Yolov4论文中使用 的图像在COCO目标检测任务进行实验,SPP模块能以0.5%的额外计算代价将AP50提升2.7%。

SPP模块

SPP模块论文:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual RecognitionPAN模块对不同层次的特征进行疯狂融合,其在FPN模块的基础上增加了自底向上的特征金字塔结构,保留了更多的浅层位置特征,将整体特征提取能力进一步提升。在引入YOLOv4时,特征图最后的融合操作相比于原论文发生了变化,从add操作改为concat操作,增加了特征图的通道数:

PAN模块论文:Path Aggregation Network for Instance Segmentation[2]【Rocky的延伸思考】

  1. 业务侧:可以作为baseline模型的一个备选,实际效果还需通过实验来反馈。

  2. 竞赛侧:YOLOv4 Neck侧可以作为竞赛侧的提分策略。

  3. 研究侧:YOLOv4 Neck架构具备作为baseline的价值,不管是进行拓展研究还是单纯学习思想。

【四】YOLOv5 Neck侧解析

由于YOLOv5在YOLOv4发布之后没多久就开源了,且并没有论文的发表,创新性部分一直受到热议。

YOLOv5的Neck侧也使用了SPP模块和PAN模块,但是在PAN模块进行融合后,将YOLOv4中使用的常规CBL模块替换成借鉴CSPnet设计的CSP_v5结构,加强网络特征融合的能力。【Rocky的延伸思考】

  1. 业务侧:YOLOv5 Neck侧在工程中非常稳定,且其github库更新频率让人敬佩,可以作为业务baseline模型的首选。

  2. 竞赛侧:YOLOv5 Neck侧可以作为检测和分割竞赛入场的模块。

【五】YOLOx Neck侧解析

YOLOx的Neck侧依然使用了YOLOv3的结构,并且使用了SPP模块。

【六】YOLOv6 Neck侧解析

YOLOv6的Neck侧受到硬件感知神经网络设计思想的启发,基于RepVGG style设计了可重参数化、更高效的Rep-PAN

YOLOv6 Neck结构

硬件感知神经网络设计的思想基于硬件的特性、推理框架/编译框架的特点,以硬件和编译友好的结构作为设计原则,在网络构建时,综合考虑硬件计算能力、内存带宽、编译优化特性、网络表征能力等,进而获得又快又好的网络结构。Rep-PAN在PAN模块基础上,引入RepVGG style的RepBlock替换了YOLOv5中使用的CSP-Block,同时对整体Neck中的算子进行了调整,目的是在硬件上达到高效推理的同时,保持较好的多尺度特征融合能力。RepVGG论文:RepVGG: Making VGG-style ConvNets Great Again[3]【Rocky的延伸思考】

  1. 业务侧:YOLOv6的Neck侧使用了端侧友好的设计策略,我也在实际中测试过,发现其效果会因任务类型与场景的改变而变化,是否使用还需要通过实验来反馈。

  2. 竞赛侧:相信YOLOv6的Neck侧在一些限定算力资源的竞赛中会大放异彩。

【七】YOLOv7 Neck侧解析

YOLOv7的Neck侧主要包含了SPPSCP模块和优化的PAN模块

SPPCSP模块在SPP模块基础上在最后增加concat操作,与SPP模块之前的特征图进行融合,更加丰富了特征信息。PAN模块引入E-ELAN结构,使用expand、shuffle、merge cardinality等策略实现在不破坏原始梯度路径的情况下,提高网络的学习能力。论文原文:(E-ELAN uses expand, shuffle, merge cardinality to achieve the ability to continuously enhance the learning ability of the network without destroying the original gradient path.)

​​​​​​​

E-ELAN模块

【延伸思考】

  1. 业务侧:YOLOv7 Neck侧作为YOLO系列最新的一版,其值得我们在业务侧进行实验验证其效果。

  2. 研究侧:YOLOv7 Ncek是刚发表的,具备很强的研究侧价值。

  3. whaosoft aiot http://143ai.com

​​​​​​​​​​​​​​

YOLOv1~~v7の全系相关推荐

  1. iphone11边框喇手问题_苹果全系 iPhone 11 频频翻车,问题频频呈现,你的新机占几点...

    在苹果发布iPhone 11,iPhone 11 pro,iPhone 11 pro max和Apple Watch Series 5之后,这些款产品是异常的火爆.其实也是预料之中,之前网友喊着&qu ...

  2. ipone11android,iphone12全系配置曝光不如买iPhone11 安卓和苹果谁更香

    iphone12全系配置曝光不如买iPhone11 就在前不久大家日思夜想的iPhone12终于官宣了,将于10月14日发布,iPhone12mini和iPhone12会在同一时间发售,但是iPhon ...

  3. c++ 11 锁_国民技术面向智能锁市场提供全系芯片与开源安全解决方案

    全国锁具行业信息中心发布的<2019智能锁行业年度分析报告>显示,2019年智能锁市场总产销量接近1400万套,整个智能锁市场呈大幅上升趋势,质量.安全.便利已成为智能锁市场需求热点. 图 ...

  4. 新时达二代操作器刷写数据线_新时达380全系一体机快捷调试

    新时达一体机以其使用方便.调试操作简单.快捷的特点深受用户的喜爱,今天小编特整理AS380全系(380.380B.380C.380D.380S)快捷调试方法分享给大家! 各款系的调试操作方法差别不是很 ...

  5. 汽车之家全系车型(包含历史停售车型)图片--参数分析

    本文仅供学习交流使用,如侵立删! 环境 win10 Python:3.6.7 Scrapy:2.4.1 2021.5.17更新 更新最新官网数据:新增821款车型参数及图片 2021.1.17更新 汽 ...

  6. 带防夹功能的升降器原理_全系标配行车自动落锁功能,全新凯美瑞表现分析

    全新一代凯美瑞延续了"丰巢"(TNGA)的造车理念,官方售价为17.98-27.98万元,推出三种动力组合,下面就随小编来看看这款车的表现怎么样. 外观方面,全新一代凯美瑞采用家族 ...

  7. iPhone 13发售日期偷跑:9月17日全系开售、共4款

    根据此前多方消息,基本可以确认苹果将会在下个月正式召开秋季新品发布会,大家最期待的iPhone 13将会登场,有消息称这场发布会将锁定在9月17日举办,但此前一直没有相关内容能证实. 今日上午,有博主 ...

  8. 构建安全网络 比格云全系云产品30天内5折购

    一年之计在于春,每年的三.四月,都是个人创业最佳的起步阶段,也是企业采购最火热的时期.为了降低用户的上云成本,让大家能无门槛享受到优质高性能的云服务,比格云从3月16日起,将上线"充值30天 ...

  9. 可变悬挂调节软硬_国六最亲民的豪车,丐版2.0T纯进口,全系可变悬架+8气囊,才23万...

    现在人们的生活水平和20多年前早已不是一个档次了,在衣食住行方面都有了很大的改变.就如二十年前,汽车的价格很昂贵,难得有人可以拥有.再看现在,几乎很多家庭都开上了小汽车,甚至豪车也层出不穷.豪车离我们 ...

最新文章

  1. 重磅开源!所有的李航老师《统计学习方法》算法代码实现!!!
  2. python生成指定长度的列表_python – 如何将列表或字符串解析为固定长度的块
  3. SQL Server 2005自带的Service Broker功能
  4. (线段树)hdoj1166-敌兵布阵
  5. linux dns配置bind9,DNS服务(bind9)配置过程
  6. vuex 对象嵌套属性的修改 mutations set 很方便的写法
  7. Linux Input Device
  8. mysql proxy php_mysql Proxy读写分离配置或php mysql读写分离类
  9. 180多个web和desktop测试用例清单
  10. SQL PLUS编辑器的一些常用设置
  11. WordPress学习笔记(二)插件安装
  12. BIO、NIO、AIO,还傻傻分不清?
  13. C++基于MFC编程——课程管理系统
  14. 【测绘程序设计】Excel度(°)转换度分秒(° ‘ “)模板附代码超实用版
  15. Android聊天软件开发(基于网易云IM即时通讯)——发送视频消息(六)
  16. AppStore安装历史版本,利用Charles抓包安装历史版本
  17. 内网环境中公网域名解析成内网地址的问题
  18. 深圳大学计算机系在哪个校区,2021年深圳大学有几个校区,大一新生在哪个校区...
  19. hexo搭建博客文章目录分析
  20. 办理北京市工作居住证攻略

热门文章

  1. 【PTA】分解质因数
  2. 搜索引擎都有哪些关键词匹配方式
  3. Surface Shaders with DX11 / OpenGL Core Tessellation 表面着色的曲面细分 - Unity Shader Reference 系列5
  4. 华为OD机试真题 Python 实现【删除重复数字后的最大数字】【100%通过率】【2022.11 Q4 新题】
  5. 360安卓_360发布安全报告 99.99%的安卓手机存在安全漏洞
  6. 前沿AI技术体验:从文字直接产生图片,结果真的震撼! 非常有意思!
  7. 二级java考什么_java二级考什么
  8. Hadoop High Availability
  9. 别弄错了!智能钱包要解决的痛点,不在于防丢而是防盗
  10. 数据结构与算法笔记(11) - 树的基本概念