目标检测YOLO系列总结
目标检测
- 目标检测
- 一、YOLO系列
- YOLOv1:
- YOLOV2
- Darknet-19
- Batch Normalization
- Anchor
- Dimension Clusters
- Direct location prediction
- YOLOV3
- 正负样本的匹配
- YOLOV4
- Backbone
- FPN+PAN
- SPP模块
- IOU总结
一、YOLO系列
YOLOv1:
将图片划分为7*7网格,每个网格预测2个bbox(no_anchor) ,损失包含三部分:bounding box损失、confidence损失和classes损失。
对于一个预测20个类别的网络,每个网格预测2个bounding box,每个bounding box预测包括位置(x,y,w,h)和一个置信度confidence,加上20个类别的分数。网络最后输出7x7、深度为30的特征矩阵。
YOLOV2
YOLOv2 在YOLOv1的基础上做了许多改进:
Darknet-19
Backbone使用Darknet-19,包含19个卷积层,6个池化和一个Softmax。
Batch Normalization
Batch Normalization有助于解决反向传播过程中的梯度消失和梯度爆炸问题,降低对一些超参数(比如学习率、网络参数的大小范围、激活函数的选择)的敏感性,并且每个batch分别进行归一化的时候,起到了一定的正则化效果(YOLOv2不再使用dropout),从而能够获得更好的收敛速度和收敛效果
Anchor
在YOLOv1中时直接预测边界框的中心坐标、宽度和高度的方式定位效果比较差,所以在YOLOv2中作者采用anchor进行目标框的预测,采用anchor也可以使网络更容易的去学习和收敛。
Dimension Clusters
使用K-means算法聚类得到先验框。
Direct location prediction
直接是使用anchor进行预测时发现,在训练模型的时候训练不稳定,通过观察发现大部分不稳定因素来自中心坐标的预测部分导致,所以采用如下anchor预测方式。
YOLOV3
YOLOv3在YOLOv2的基础上改进了Backbone.采用Darknet53作为Backbone.
使用步长为2 的卷积层代替池化层
正负样本的匹配
针对每一个bounding box 都会分配一个bounding box prior,即针对每一个ground truth 都会分配一个正样本,一张图像中有几个ground truth就有几个正样本,分配原则其实也很简单,就是将与ground truth重合程度最大的bounding box prior作为正样本,如果与ground truth重合程度不是最大的但是又超过了某个阈值的bounding box prior,就直接丢弃,将最后剩下的样本作为负样本。
YOLOV4
Bag of Freebies:指的是不增加模型复杂度,也不增加推理的计算量的用来提高模型的准确度训练的方法技巧。
Bag-of-Specials:指的是增加少许模型复杂度或计算量,但可以显著提高模型准确度的训练技巧。
BoF指的是1)数据增强:图像几何变换(随机缩放,裁剪,旋转),Cutmix,Mosaic等2)网络正则化:Dropout,Dropblock等3)损失函数的设计:边界框回归的损失函数的改进 CIOU
BoS指的是
1)增大模型感受野:SPP、ASPP等2)引入注意力机制:SE、SAM3)特征集成:PAN,BiFPN 4)激活函数改进:Swish、Mish5)后处理方法改进:soft NMS、DIoU NMS
Backbone
采用的主干网络为 CSPDarknet53,CSPDarknet53是在Yolov3主干网络Darknet53的基础上,借鉴2019年CSPNet的经验,产生的Backbone结构,其中包含了5个CSP(跨阶段部分连接)模块。
FPN+PAN
FPN层自顶向下,将高层的特征信息通过上采样的方式进行传递融合,传达强语义特征,而PAN则自底向上传达强定位特征,提高特征提取的能力。两者从不同的主干层对不同的检测层进行参数聚合,加速了不同尺度特征的融合,进一步提高特征提取的能力。
SPP模块
采用1×1,5×5,9×9,13×13的最大池化的方式,进行多尺度融合。
IOU总结
IOU -> GIOU->DIOU->CIOU
IOU_Loss:主要考虑检测框和目标框重叠面积。
GIOU_Loss:在IOU的基础上,解决边界框不重合时的问题。
DIOU_Loss:在IOU和GIOU的基础上,考虑边界框中心点距离的信息。
CIOU_Loss:在DIOU的基础上,考虑边界框宽高比的尺度信息。
YOLOv4中采用了CIOU_Loss的回归方式,使得预测框回归的速度和精度更高一些。
目标检测YOLO系列总结相关推荐
- 目标检测YOLO系列------YOLO简介
目标检测YOLO系列------YOLO简介 1.为什么会出现YOLO算法 2.YOLO算法会逐渐成为目标检测的主流吗 YOLO以及各种变体已经广泛应用于目标检测算法所涉及到的方方面面,为了梳 ...
- 目标检测——YOLO系列算法(YOLOv4、YOLOv5)的学习笔记
目录 1 前言 2 致谢 3 YOLO模型列表 4 模型结构 2.1 Backbone Focus--网格下采样 CSPDarknet53 2.3 Neck -- SPP & PAN SPP: ...
- 目标检测 | YOLO系列超全讲解v1,v2,v3
前言 一.YOLOv1 1. 网络结构 2. 实现方法 3. 损失函数 4. 缺点 二.YOLOv2 1. 网络结构 2. 改进方法 3. YOLO9000 4. 网络训练细节 三.YOLOv3 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训 ...
- 目标检测yolo系列
出自科技猛兽知乎专栏,地址:科技猛兽目标检测专栏 前言 本文目的是用尽量浅显易懂的语言让零基础小白能够理解什么是YOLO系列模型,以及他们的设计思想和改进思路分别是什么.我不会把YOLO的论文给你用软 ...
- 目标检测YOLO系列算法的进化史
本文中将简单总结YOLO的发展历史,YOLO是计算机视觉领域中著名的模型之一,与其他的分类方法,例如R-CNN不同,R-CNN将检测结果分为两部分求解:物体类别(分类问题),物体位置即bounding ...
- 目标检测 YOLO 系列模型
前言 YOLO (You Only Look Once) 系列模型追求实时目标检测,因此会在一定程度上牺牲精度,以实现更高的检测速度. 如果你对这篇文章感兴趣,可以点击「[访客必读 - 指引页]一文囊 ...
- 目标检测——YOLO系列(一网打尽)
YOLO系列算法 1. 基本概念 2. 目标检测算法分类及流程 2.1 算法分类 2.2 基本流程 2.3 Two-stage与One-stage基本流程比较 3. YOLO系列目标检测模型 3.1 ...
- 【目标检测·yolo系列】YOLOV1目标检测论文(参考 同济子豪兄的解读)笔记
YOLO V1 目标检测 object detection YOLOV1 预测阶段 前向推断 用图展示过程 预测阶段 后处理 NMS Non-Maximum Suppression 非极大值抑制 训练 ...
最新文章
- NDK相关概念与NDK开发步骤
- 使用ros标定相机的内参和外参
- 执行计划信息Oracle 执行计划总结
- python整数类型提供了4种进制表示_关于整数类型的 4 种进制表示,哪个选项的描述是正确的?_学小易找答案...
- DotFuscator使用步骤
- 超级终端连接华为交换机_win8系统教你实现用超级终端连接华为交换机的超详细图文教程...
- ChromeOS 体验
- C语言pow函数编写
- [GUI] 使用MATLAB从图片中提取曲线数据
- 修复IE默认主页——注册表篇
- EclipseCDT
- STM32例程分享-01-OLED模块(IIC)
- html转换为pdf php,js实现html转成pdf
- 物理学转行?读了四年物理学,优势在哪里?
- postgresql数据库使用Citus实现集群
- C++ using declaration
- 汇编语言实验一-《汇编语言-王爽老师》
- 10万亿同业存款免缴存准 全面降准将推迟
- windows仍在设置此类设备的类配置,代码56
- RealPlayer.11.6.0.14.748 新体验
热门文章
- BCGControlBar Pro 31.3 for MFC 零售版
- codeforces做题 记录
- 3.文件写入操作编程_write函数
- 3年功能测试拿8K,被刚进来的薪资倒挂,其实你在假装努力
- 国产兼容三菱FX3U源码,最新一波bug修改,修改监控时卡顿 问题
- 吴晓波直播翻车,直播乱象,直播带货走进“全网最低价”怪圈
- 微信小程序 input、textarea设置宽度100%,超出父元素的宽度
- 5、数据库的基本知识
- 59-Java:String类案例:验证码、登录、隐私号码
- java.lang.RuntimeException: Duplicate class com.bumptech.glide.GeneratedAppGlideModuleImpl found in