【深度学习项目】目标检测之YOLO系列-V4(二)

server/2024/12/17 17:27:45/
  • 快速通道:https://blog.csdn.net/u014608435/article/details/144497816

介绍

在这里插入图片描述

YOLOv4(You Only Look Once v4)是YOLO系列目标检测算法的又一个重要版本,它在2020年由Alexey Bochkovskiy、Chien-Yao Wang和Hong-Yuan Mark Liao提出。YOLOv4在保持实时性能的同时,进一步提升了检测精度,尤其是在小物体检测方面。以下是YOLOv4的主要特点和改进:

主要改进

  1. 增强的特征提取网络
  • CSPDarknet53:YOLOv4采用了CSPDarknet53作为其主干网络。CSPNet(Cross Stage Partial Network)通过分隔梯度路径来减少计算量并提高学习效率,同时引入了残差结构以促进信息流动。这种设计不仅提高了模型的准确性,还减少了所需的训练时间。
  1. 强大的颈部设计
  • SPP(Spatial Pyramid Pooling):空间金字塔池化层被用于捕捉不同尺度的上下文信息。
  • PANet(Path Aggregation Network):路径聚合网络增强了特征融合,促进了低层次的空间信息与高层次的语义信息之间的交流,从而改善了多尺度目标检测的能力。
  1. 先进的激活函数和正则化技术
  • Mish 激活函数:YOLOv4引入了Mish作为激活函数,相比ReLU,Mish可以提供更好的非线性映射能力,并有助于缓解梯度消失问题。
  • CIoU Loss:为了更精确地调整边界框的位置,YOLOv4使用了CIoU损失函数,该函数综合考虑了IoU、中心点距离以及长宽比差异。
  1. 数据增强
  • Mosaic Data Augmentation:YOLOv4引入了一种名为Mosaic的数据增强方法,这种方法将四张不同的图片拼接成一张大图进行训练,增加了样本多样性,有助于提高模型对复杂场景的理解。
  • Self-Adversarial Training (SAT):这是一种对抗性的自我训练机制,旨在使模型更加鲁棒,能够更好地应对测试时可能遇到的各种变化。
  1. Bag of Freebies 和 Bag of Specials
  • Bag of Freebies:指的是那些可以在不增加推理成本的情况下提升模型性能的技术,如CutMix、MixUp等。
  • Bag of Specials:包括了一系列专门用于优化检测任务的方法,比如上面提到的Mish激活函数、CIoU Loss等。

性能提升

YOLOv4在多个基准数据集上实现了优异的表现,特别是在COCO数据集上的平均精度(mAP)显著高于前代产品和其他竞争模型。此外,它仍然保持了极高的速度优势,能够在普通GPU上实现实时检测。

网络架构

  • CSPDarknet53:作为主干网络,负责提取图像特征。
  • SPP + PANet:构成“颈部”,加强特征融合和多尺度表示。
  • YOLOv3 Head:最终输出预测结果的部分,保留了YOLOv3中有效的头部设计,但结合了上述改进点。
    在这里插入图片描述

整体介绍

  • 虽然作者换了,但精髓没变
  • 如果CV界有劳模奖,一定非他莫属
  • 整体看还是那个味,细还是他细
  • 江湖传闻最高的武功:嫁衣神功
    在这里插入图片描述

V4贡献

在这里插入图片描述

Bag of freebies(BOF)

在这里插入图片描述

Mosaic data augmentation

在这里插入图片描述

数据增强

在这里插入图片描述

Self-adversarial-training(SAT)

在这里插入图片描述

DropBlock

在这里插入图片描述

Label Smoothing

在这里插入图片描述
在这里插入图片描述

IOU损失

在这里插入图片描述

GIOU损失

在这里插入图片描述

DIOU损失

在这里插入图片描述

CIOU损失

在这里插入图片描述

DIOU-NMS

在这里插入图片描述

SOFT-NMS

在这里插入图片描述

Bag of specials(BOS)

在这里插入图片描述

SPPNet(Spatial Pyramid Pooling)

在这里插入图片描述

CSPNet(Cross Stage Partial Network)

在这里插入图片描述

CBAM

在这里插入图片描述

Spatial attention module

在这里插入图片描述

PAN(Path Aggregation Network)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Mish

在这里插入图片描述

Eliminate grid sensitivity

在这里插入图片描述


http://www.ppmy.cn/server/150956.html

相关文章

高级java每日一道面试题-2024年12月16日-数据库篇-分布式数据库中SQL的执行过程和传统数据库有什么不一样的地方?

如果有遗漏,评论区告诉我进行补充 面试官: 分布式数据库中SQL的执行过程和传统数据库有什么不一样的地方? 我回答: 在 Java 高级面试中,分布式数据库与传统单机数据库(如 MySQL、PostgreSQL 等)之间 SQL 执行过程的差异是一个非…

在Scala中对Map函数的使用

package pp28{object cscc {def main(args: Array[String]): Unit {val m1 Map("马云 — 阿里巴巴" -> 1964,"马化腾 — 腾讯" -> 1971,"李彦宏 - 百度" -> 1968,"雷军 - 小米" -> 1969,"丁磊 - 网易" -> …

计算机网络-传输层 UDP协议

学习一个网络协议,主要就是学习“数据格式/报文格式” UDP的特点 UDP传输的过程类似于寄信. ⽆连接: 知道对端的IP和端⼝号就直接进⾏传输, 不需要建⽴连接; 不可靠: 没有确认机制, 没有重传机制; 如果因为⽹络故障该段⽆法发到对⽅, UDP协议层也不会给应 ⽤层返回任…

什么是IP地址?什么是IP属地?它们如何改变IP

一,IP地址和IP属地的定义和关系 1:IP地址定义 互联网协议地址,每一台设备都拥有一个独一无二的身份证明——IP地址,无论是电脑、手机还是服务器,在连接到互联网的瞬间,就被赋予了一个IP地址,它…

28. Three.js案例-创建圆角矩形并进行拉伸

28. Three.js案例-创建圆角矩形并进行拉伸 实现效果 知识点 WebGLRenderer (WebGL渲染器) WebGLRenderer 是 Three.js 中用于渲染 3D 场景的主要渲染器。 构造器 WebGLRenderer( parameters : Object ) 参数类型描述parametersObject渲染器的配置参数,可选。 …

计算机网络知识点全梳理(一.TCP/IP网络模型)

目录 TCP/IP网络模型概述 应用层 什么是应用层 应用层功能 应用层协议 传输层 什么是传输层 传输层功能 传输层协议 网络层 什么是网络层 网络层功能 网络层协议 数据链路层 什么是数据链路层 数据链路层功能 物理层 物理层的概念和功能 写在前面 本系列文…

vue webpack详情配置说明

Vue 和 Webpack 使用说明1. 创建 Vue 项目使用 Vue CLI 创建一个新的 Vue 项目是最简单的方式。Vue CLI 内部使用 Webpack 进行构建。npm install -g vue/cli vue create my-project cd my-project npm run serve## 2. 项目结构创建的 Vue 项目通常具有以下结构:my-…

RabbitMQ 和 Kafka

RabbitMQ和Kafka是两种广泛使用的消息队列系统,它们在多个方面有着显著的差异。以下是对它们的全方位深度对比: 设计理念: RabbitMQ基于AMQP协议,强调易用性和灵活性,支持多种消息模式和可靠的消息传递。Kafka专为处理…