YOLOv5共有5个版本的网络模型及其权重文件,即(n,s,m,l,x)
(下图来自github上yolov5官方开源项目的性能截图)

其中n,s,m,l,x网络模型结构如出一辙,差异在参数上。另外的n6,s6,m6,l6,x6模型是对于更大分辨率图片检测。

网络结构

该网络结构图来自CSDN博主:江大白。此处引用,仅供学习记录使用。

此图为YOLOv5sYOLOv5sYOLOv5s的网络模型架构。

Backbone

CSP-Darknet53

Neck

SPPF + CSP-PAN

Head

YOLOv3 Head
输出三种大小的特征预测,如分别是(76,76,255),(38,38,255),(19,19,255)(76,76,255),(38,38,255),(19,19,255)(76,76,255),(38,38,255),(19,19,255),不同版本不一致。


重点解析

边界框优化
在YOLOv4的基础上,将bw=pw∗etwb_w=p_w*e^{t_w}bw​=pw​∗etw​与bh=ph∗ethb_h=p_h*e^{t_h}bh​=ph​∗eth​换成bw=pw∗(2∗σ(etw))2b_w=p_w*(2*\sigma(e^{t_w}))^2bw​=pw​∗(2∗σ(etw​))2与bh=ph∗(2∗σ(eth))2b_h=p_h*(2*\sigma(e^{t_h}))^2bh​=ph​∗(2∗σ(eth​))2.
使用σ\sigmaσ函数旨在限制twt_wtw​与tht_hth​的值域,避免出现Nan的情况发生。

数据增强
数据增强方式有mosaic、HSV色域变换、旋转、缩放、翻转、平移、剪切等

真实框与Anchor匹配

rw=wgtwatrh=hgthatrwmax=max(rw,1rw)rhmax=max(rh,1rh)rwmax=max(rwmax,rhmax)\begin{align} r_w&=\frac{w_{gt}}{w_{at}}\\ r_h&=\frac{h_{gt}}{h_{at}}\\ r_w^{max}&=max(r_w,\frac{1}{r_w})\\ r_h^{max}&=max(r_h,\frac{1}{r_h})\\ r_w^{max}&=max(r_w^{max},r_h^{max})\\ \end{align} rw​rh​rwmax​rhmax​rwmax​​=wat​wgt​​=hat​hgt​​=max(rw​,rw​1​)=max(rh​,rh​1​)=max(rwmax​,rhmax​)​​
其中wgtw_{gt}wgt​为真实框的宽度,watw_{at}wat​为anchor的宽度,hgth_{gt}hgt​为真实框的高度,hath_{at}hat​为anchor的高度。

(3)(4)(3)(4)(3)(4)两式子用于衡量真实框与anchor差异大小,如果两者框的差异最小或两个框最相近,那么rhmaxr_h^{max}rhmax​和rwmaxr_w^{max}rwmax​为1.最后(5)(5)(5)中,获取框在高、宽上的最大差异值。这个差异值会与给定的阈值进行比较,如果满足阈值条件则认为匹配成功,否则失败。该原理与之前的使用IOU匹配原理类似。

损失函数(v6.0及以后版本)
损失=边界框定位损失+目标分类损失+CIoU损失(置信度损失)
Loss=λ1Lloc+λ2Lcls+λ3LciouLoss=\lambda_1L_{loc}+\lambda_2L_{cls}+\lambda_3L_{ciou}Loss=λ1​Lloc​+λ2​Lcls​+λ3​Lciou​
也即
参数K为特征图数量,S2S^2S2为grid cell数量,BBB为anchor数量。

其中为了平衡不同尺度的损失(在coco数据集上),对于三个预测特征层{P3(小目标,如76∗76),P4(中等目标,如38∗38),P5(大目标,如19∗19)}\{P_3(小目标,如76*76),P_4(中等目标,如38*38),P_5(大目标,如19*19)\}{P3​(小目标,如76∗76),P4​(中等目标,如38∗38),P5​(大目标,如19∗19)}上的目标CIOU损失采用不同的权重:Lossciou=4∗Lciousmall+Lcioumedium+0.4∗LcioulargeLoss_{ciou}=4*L_{ciou}^{small}+L_{ciou}^{medium}+0.4*L_{ciou}^{large}Lossciou​=4∗Lciousmall​+Lcioumedium​+0.4∗Lcioularge​
损失函数中, 为了提高对小目标的精准度,提高了小目标预测的损失。

目标检测之YOLOv5算法分析相关推荐

  1. 深度学习目标检测---使用yolov5训练自己的数据集模型(Windows系统)

    目录 0    前言 1.从githab上克隆yolov5代码 1.1 yolov5网络project克隆 1.2 项目代码结构的整体介绍 1.3 深度学习环境的配置和安装yolov5所需要的库 2. ...

  2. 【目标检测】YOLOv5能识别英雄和小兵?原理解析~

    目录 一.简介 二.模型结构 1.整体结构图 2.Backbone(CSPDarknet) 3.SPPF(Spatial Pyramid Pooling - Fast) 4.Neck(FPN+PAN) ...

  3. 深度学习目标检测:YOLOv5实现车辆检测(含车辆检测数据集+训练代码)

    深度学习目标检测:YOLOv5实现车辆检测(含车辆检测数据集+训练代码) 目录 深度学习目标检测:YOLOv5实现车辆检测(含车辆检测数据集+训练代码) 1. 前言 2. 车辆检测数据集说明 (1)车 ...

  4. 深度学习目标检测:YOLOv5实现红绿灯检测(含红绿灯数据集+训练代码)

    深度学习目标检测:YOLOv5实现红绿灯检测(含红绿灯数据集+训练代码) 目录 深度学习目标检测:YOLOv5实现红绿灯检测(含红绿灯数据集+训练代码) 1. 前言 2. 红绿灯检测数据集说明 (1) ...

  5. 目标检测算法——YOLOv5改进|增加小目标检测层

    关注"PandaCVer"公众号 >>>深度学习Tricks,第一时间送达<<< 小目标检测一直以来是CV领域的难点之一,那么,YOLOv5该如 ...

  6. 用安卓手机解锁目标检测模型YOLOv5,识别速度不过几十毫秒!

    丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 现在,目标检测界明星模型YOLO,最新v5版本也可以在手机上玩儿了! 瞧-只需要区区几十毫秒,桌上的东西就全被检测出来了: 这速度似乎不比电 ...

  7. 目标检测:Yolov5集百家之长

    首发于:公众号YueTan (1920,被识别为泰迪熊?有排面) 背景 2017年底,我已毕业多年了.用起Excel和PPT.研究车的质量问题俨然老手的样子.有一晚,照着一个帖子跑了一下Yolov1的 ...

  8. 【目标检测】YOLOv5分离检测和识别

    前言 YOLO作为单阶段检测方法,可以直接端到端的输出目标对象位置和类别,而在一些大型无人机遥感等目标检测任务中,使用单阶段检测往往会产生类别预测错误的问题. 正好,YOLOv5-6.2版本提供了一个 ...

  9. 深度学习评估指标之目标检测——(yolov5 可视化训练结果以及result.txt解析)

    1.机器学习模型评估指标总结 机器学习的数据集一般被划分为训练集和测试集,训练集用于训练模型,测试集则用于评估模型.针对不同的机器学习问题(分类.回归.排序.序列预测等),评估指标决定了我们如何衡量模 ...

  10. 目标检测—基于Yolov5的目标检测项目(学习笔记)

    今天学习了炮哥带你学的yolov5入门教程,并成功的训练出了模型,原博客地址: 目标检测-教你利用yolov5训练自己的目标检测模型 本文主要讲述了在Windows10环境下复现此项目的具体过程和遇到 ...

最新文章

  1. 特写李飞飞:她激励了人工智能的发展,更要给人工智能赋予人的价值
  2. QuartZ Cron表达式详解
  3. Java12题:发奖金问题
  4. 你确定不反编译 likely 看看?
  5. linux下安装php两种模式区别
  6. DBA自述:非科班出身,如何成为Oracle ACE
  7. [原创]如何从数据库层面检测两表内容的一致性
  8. python有趣小程序-抖音最火的整蛊表白小程序如何做出来的?教你用python做出
  9. Windows 7安装Virtual Server 2005 R2 SP1
  10. Kibana饼图介绍
  11. 摄像头录像软件测试初学者,几款好用的摄像头视频捕获工具推荐
  12. 简单理解匈牙利KM算法
  13. 项目管理常用文档表格模板二
  14. MICRO‘21文章挑选(感兴趣)
  15. LPTSTR、LPCSTR、LPCTSTR、LPSTR之间的转换
  16. renqun_youhua=2004892,竞价链接后缀标识都是什么含义?
  17. Linux root添加用户
  18. 知识分享:电脑可以使用的pdf翻译软件哪个好用?
  19. D23:Multiple of 3 Or 5(3或5的倍数,翻译+题解)
  20. win10系统正在锁定计算机,怎样一息屏电脑就上锁win10

热门文章

  1. 论文解读(IGSD)《Iterative Graph Self-Distillation》
  2. ABAP--新语法--New Keyword in ABAP--第四天--CORRESPONDING MOVE-CORRESPONDING(DEEP) REDUCE
  3. 【Pycharm教程】Pycharm下载安装、配置与测试
  4. Unity的[Obsolete]属性
  5. js 移动端 下载 doc文件
  6. 软件测试工程师面试题之数据库
  7. 【提供代码获取方式】matlab使用风羽法画大气环流
  8. hdu_2670Girl Love Value(dp)
  9. 中国凝油锅炉市场趋势报告、技术动态创新及市场预测
  10. sudo报错及在linux上启动jar包时报错java.net.UnknownHostException