目录

  • 1 前言
  • 2 致谢
  • 3 YOLO模型列表
  • 4 模型结构
    • 2.1 Backbone
      • Focus——网格下采样
      • CSPDarknet53
    • 2.3 Neck —— SPP & PAN
      • SPP:特征融合
      • PAN:自顶向下的特征融合
  • 5 后处理算法
    • 2.1 NMS Screening——DIoU-NMS
  • 6 调试笔记
    • 3.1 测试ScaledYOLOv4是否配置成功
      • 3.1.1 PyCharm连接Docker出现“cannot connect to the docker daemon at Unix…”
    • 3.2 YOLOv5的调试笔记

1 前言

现在最强的YOLO系列算法是YOLOv5x6-TTA, boxAP: 55.0;

2 致谢

感谢DarrenZhang的分享——《Yolov4/v5的创新点汇总!》

3 YOLO模型列表

yolov5x – yolov5x.yaml
YOLOv5中参数量最多的模型,在图像张量输入主干网络之前使用了Focus模块;

4 模型结构

2.1 Backbone

Focus——网格下采样

关于Focus模块的解析请参考《yolov5中的Focus模块的理解》
备注:

  • 在实际使用中发现会增大显存消耗,根据作者说明“Focus() module is designed for FLOPS reduction and speed increase, not mAP increase.”,对最终结果似乎没有提升,所以暂时没有使用;
  • 之前是想用来增大batch-size,发现会增大显存消耗,然后就暂时停用了;

CSPDarknet53

首先,我们来看看CSPDarknet53网络的整体结构图,

2.3 Neck —— SPP & PAN

SPP:特征融合

我们先来看看Scaled-YOLOv4对SPP的结构设置:

其中,pool_rates=[5, 9, 13];
这里我们可以看看感受野的比例,已知pool_rate=5:9:13pool\_rate = 5:9:13pool_rate=5:9:13,则pool_area=25:81:169pool\_area = 25:81:169pool_area=25:81:169;
则有
pool_area[1:2]=25:81=1:3.24pool\_area[1:2] = 25:81=1:3.24pool_area[1:2]=25:81=1:3.24
pool_area[2:3]=81:169≈1:2.09pool\_area[2:3] = 81:169\approx1:2.09pool_area[2:3]=81:169≈1:2.09
基本上扩大的比例都在2以上;

PAN:自顶向下的特征融合

PAN在YOLOv4的论文中首次提出,也被用于YOLOv5中(YOLOv5x6-TTA, boxAP: 55.0);
首先,我们来直观的感受以下PAN的结构如图所示

可以看到是在使用了FPN之后的一种上采样操作;

5 后处理算法

  • Scaled-YOLOv4论文中没有具体给出NMS设置的描述,于是我们参考了YOLOv4中的设置,使用了DIoU-NMS
  • 还可以看看Scaled-YOLOv4的代码来确认一下

2.1 NMS Screening——DIoU-NMS

YOLOv4使用了DIoU-NMS作为后处理的方法;

6 调试笔记

Scaled-YOLOv4的repo代码实际上是基于U版YOLO的框架来实现的,也是基于PyTorch函数库;

3.1 测试ScaledYOLOv4是否配置成功

这里我们可以一个我们依据U版YOLO生成的测试数据集coco128
百度网盘链接:https://pan.baidu.com/s/1tHFUASikGDLQnzhLEFAKxA
提取码:sbal

# download yolov4-csp.weights and put it in /yolo/weights/ folder.
python test.py --img 640 --conf 0.001 --batch 8 --device 0 --data coco.yaml --cfg models/yolov4-csp.cfg --weights weights/yolov4-csp.weights

3.1.1 PyCharm连接Docker出现“cannot connect to the docker daemon at Unix…”

这里在使用PyCharm连接Docker时出现错误“cannot connect to the docker daemon at Unix…”,其主要原因是在运行docker命令时需要root权限,所以这里我们还需要根据Docker官方文档进行“Post-installation steps for Linux”的操作,其
主要目的就是:当前登录Ubuntu用户在使用docker命令是前面不需要加上sudo命令
具体的设置方式请参考Docker官方文档《Manage Docker as a non-root user》;

3.2 YOLOv5的调试笔记

请参考博文《目标检测——YOLOv5的学习笔记》;

目标检测——YOLO系列算法(YOLOv4、YOLOv5)的学习笔记相关推荐

  1. 目标检测 YOLO系列算法

    文章目录 1. YOLO算法 1.1 Yolo算法思想 1.2 Yolo的网络结构 1.2.1 网络输入 1.2.2 网络输出 1.7X7网格 2x30维向量 1.3 Yolo模型的训练 1.3.1训 ...

  2. 目标检测YOLO系列算法的进化史

    本文中将简单总结YOLO的发展历史,YOLO是计算机视觉领域中著名的模型之一,与其他的分类方法,例如R-CNN不同,R-CNN将检测结果分为两部分求解:物体类别(分类问题),物体位置即bounding ...

  3. 目标检测YOLO系列------YOLO简介

    目标检测YOLO系列------YOLO简介 1.为什么会出现YOLO算法 2.YOLO算法会逐渐成为目标检测的主流吗     YOLO以及各种变体已经广泛应用于目标检测算法所涉及到的方方面面,为了梳 ...

  4. 目标检测——YOLO系列(一网打尽)

    YOLO系列算法 1. 基本概念 2. 目标检测算法分类及流程 2.1 算法分类 2.2 基本流程 2.3 Two-stage与One-stage基本流程比较 3. YOLO系列目标检测模型 3.1 ...

  5. 目标检测 | YOLO系列超全讲解v1,v2,v3

    前言 一.YOLOv1 1. 网络结构 2. 实现方法 3. 损失函数 4. 缺点 二.YOLOv2 1. 网络结构 2. 改进方法 3. YOLO9000 4. 网络训练细节 三.YOLOv3 1. ...

  6. 目标检测yolo系列

    出自科技猛兽知乎专栏,地址:科技猛兽目标检测专栏 前言 本文目的是用尽量浅显易懂的语言让零基础小白能够理解什么是YOLO系列模型,以及他们的设计思想和改进思路分别是什么.我不会把YOLO的论文给你用软 ...

  7. 目标检测 YOLO 系列模型

    前言 YOLO (You Only Look Once) 系列模型追求实时目标检测,因此会在一定程度上牺牲精度,以实现更高的检测速度. 如果你对这篇文章感兴趣,可以点击「[访客必读 - 指引页]一文囊 ...

  8. 目标检测YOLO系列总结

    目标检测 目标检测 一.YOLO系列 YOLOv1: YOLOV2 Darknet-19 Batch Normalization Anchor Dimension Clusters Direct lo ...

  9. 目标检测—SSD系列算法原理介绍

    一.SSD系列算法原理介绍 1.1 SSD算法介绍: ➢Single Shot MultiBox Detector (one-stage方法)                  ●Wei Liu在EC ...

最新文章

  1. 开源websocket
  2. java里面什么时候环境变量_Java的环境变量什么时候需要设置?
  3. Java 8最新消息
  4. 函数setjump和longjmp
  5. 前端学习(1843):前端面试题之vue管理状态
  6. 2019长安大学ACM校赛网络同步赛 L XOR
  7. easyui启用行号错位解决方案
  8. Nacos配置文件覆盖问题
  9. mysql索引0affected_mysql 创建索引和删除索引
  10. 理解 Hook 规则
  11. 跟着 Microsoft 跑!
  12. Jvm虚拟机下载和安装教程
  13. HDU 6184 Counting Stars(分块)
  14. 英文原始文本的读取与处理
  15. 基于Matlab的IMM雷达多目标跟踪
  16. 比如像我这种人,就不适合恋爱
  17. 读《浪潮之巅(上)》有感
  18. 计算机组成原理笔记|03存储系统
  19. 学习pandas,应该选择哪本书进行学习?
  20. 去掉数组中重复出现元素的算法

热门文章

  1. [LeetCode] 118. Pascal's Triangle Java
  2. 数据泵导出/导入数据
  3. EntityFramework中的DbContext使用疑点说明
  4. inputtextarea表单提示文字
  5. python环境配置(三)——notepad ++配置python开发环境
  6. python进阶22再识单例模式
  7. jq使用教程07_ JQData HTTP 接口正式上线
  8. 数据可视化必备的高逼格图表特效,学会只需要五分钟
  9. 论各类BI工具的“大数据”特性!
  10. 小白学习使用gitee问题产生汇总(持续更新)