优化改进 | YOLOv2算法超详细解析(包括诞生背景+论文解析+技术原理等)

前言:Hello大家好,我是小哥谈。YOLOv2是YOLO(You Only Look Once)目标检测算法的第二个版本,它在YOLOv1的基础上做了很多改进,包括使用更深的卷积神经网络Darknet-19作为特征提取器、使用Batch Normalization、使用锚盒(Anchor Box)等技术来提高准确性和速度。此外,YOLOv2还提出了一种分类和检测的联合训练策略,可以检测超过9000个类别的物体(故又称YOLO9000)。总的来说,YOLOv2在准确性、速度和识别种类方面都有很大的提升。本节课就给大家重点介绍下YOLO系列算法中的YOLOv2!🌈

     目录

YOLOv1%E7%AE%97%E6%B3%95%E7%9A%84%E8%AF%9E%E7%94%9F%E8%83%8C%E6%99%AF-toc" style="margin-left:80px;">🚀1.诞生背景

🚀2.论文发表

🚀3.技术原理

💥💥3.1 网络结构

💥💥3.2 训练策略

🚀4.性能评价

YOLOv1%E7%AE%97%E6%B3%95%E7%9A%84%E8%AF%9E%E7%94%9F%E8%83%8C%E6%99%AF">🚀1.诞生背景

2017年,作者Joseph RedmonAli FarhadiYOLOv1的基础上,进行了大量改进,提出了YOLOv2 ,重点解决YOLOv1召回率和定位精度方面的不足。YOLOv2 是一个先进的目标检测算法,比其它的检测器检测速度更快。除此之外,该网络可以适应多种尺寸的图片输入,并且能在检测精度和速度之间进行很好的权衡。相比于YOLOv1是利用全连接层直接预测Bounding Box的坐标,YOLOv2借鉴了Faster R-CNN的思想,引入Anchor机制。利用K-means聚类的方法在训练集中聚类计算出更好的Anchor模板,大大提高了算法的召回率。同时结合图像细粒度特征,将浅层特征与深层特征相连,有助于对小尺寸目标的检测。

作者动机:♨️♨️♨️

1.YOLOv1 速度还是不够快,更换了分类的网络结构。

2.YOLOv1 能检测的物体的种类不够多,提出的YOLO9000利用了分类的数据库使得能检测9000种物体。

3.YOLOv1 召回率低,利用了anchor box解决同一个bonding box 只能检测同一类物体的问题。

YOLOv1和YOLOv2是两个不同版本的目标检测模型。它们之间的区别总结如下:

  1. 网络架构:YOLOv1使用一个单一的卷积神经网络(CNN)来同时预测边界框和类别,而YOLOv2采用了Darknet-19作为主干网络,并在其之上添加了额外的卷积层和特征金字塔网络。

  2. 特征提取:YOLOv1在最后一层使用全连接层来生成预测,而YOLOv2在特征图上进行多尺度预测。这种多尺度预测使得YOLOv2能够更好地捕捉不同尺度的目标。

  3. Anchor Boxes:YOLOv2引入了锚框(anchor boxes)的概念,通过在每个单元格上定义多个先验框,来预测不同尺度和长宽比的目标。这种方法使得YOLOv2能够更好地处理不同形状和大小的目标。

  4. 损失函数:YOLOv1使用平方误差来计算边界框坐标和类别的损失,而YOLOv2采用了适应性权重的交叉熵损失函数,以更好地处理类别不平衡问题。

  5. 训练策略:YOLOv2使用了分步训练策略。首先,使用较大的输入图像进行预训练,然后再用较小的输入图像进行微调。这种策略在提高模型性能的同时,还能提高模型的速度。


🚀2.论文发表

YOLOv2是一篇由Joseph Redmon和Ali Farhadi于2016年发表的目标检测论文。该论文提出了一种新的目标检测算法,可以更快地在各种图像尺寸下运行,并且可以检测9000种以上的目标类别。YOLOv2使用了锚框,这是YOLOv1没有使用的技术。此外,该论文还提出了一种新的网络结构,称为Darknet-19,可以在不损失准确性的情况下减少模型大小和计算量。YOLOv2的性能比YOLOv1有了显著的提升,成为了当时最先进的目标检测算法之一。

说明:♨️♨️♨️

论文题目:《YOLO9000: Better, Faster, Stronger》

论文地址:  https://arxiv.org/abs/1612.08242

说明:♨️♨️♨️

关于YOLOv2论文的详细解析,请参考文章:

优化改进 | YOLOv2论文介绍及翻译(纯中文版)


🚀3.技术原理

💥💥3.1 网络结构

YOLOv2 采用 Darknet-19 作为特征提取网络,其整体结构如下:

该网络结构的主要优势在于:

  • 没有全连接层,可以输入任意尺寸的图片。
  • 速度快,每2个卷积层之间用了1x1的卷积核来压缩模型。最后没用全链接层, 而是利用了avgpool。速度提升了。
  • 特点:每次pool尺寸减半,通道增加 一倍。

改进后的YOLOv2: Darknet-19,总结如下:

  • 与VGG相似,使用了很多3×3卷积核;并且每一次池化后,下一层的卷积核的通道数 = 池化输出的通道 × 2。
  • 在每一层卷积后,都增加了批量标准化(Batch Normalization)进行预处理。
  • 采用了降维的思想,把1×1的卷积置于3×3之间,用来压缩特征。
  • 在网络最后的输出增加了一个global average pooling层。
  • 整体上采用了19个卷积层,5个池化层。

💥💥3.2 训练策略

YOLOv2的训练策略主要包括以下几个步骤:

  1. 数据准备:首先需要准备训练数据集,包括图像和标注信息。标注信息通常包括物体的类别和边界框的位置。

  2. 网络初始化:使用预训练的卷积网络(如Darknet-19)作为特征提取器,然后添加额外的卷积层和全连接层来预测边界框的位置和类别。

  3. 损失函数:定义损失函数来度量预测和真实标注之间的差异。YOLOv2使用多任务损失函数,包括分类损失、边界框坐标损失和置信度损失。

  4. 训练过程:使用随机梯度下降(SGD)或其他相似的优化算法来最小化损失函数。在每个训练批次中,随机选择一批图像,并通过前向传播计算预测结果。然后使用反向传播更新网络参数。

  5. 数据增强:为了增加训练样本的多样性和鲁棒性,可以采用数据增强技术,如随机缩放、随机裁剪、随机旋转等。

  6. 迭代训练:重复执行步骤4和步骤5,直到达到预定的训练轮数或收敛条件。

  7. 推理阶段:在训练完成后,可以使用训练好的模型对新的图像进行目标检测


🚀4.性能评价

🍀(1)优点

  • 结果:相对v1 (更快、mAP更高)
  • 正负样本:引入Anchor和使用K-means聚类,提高了Recall。
  • Backbone:DarkNet-19,降低了计算量(更快)。
  • Neck:引入特征融合模块(passthrouch),融合细粒度特征。
  • 检测头:多尺度训练提高模型能力,实现了速度和精度的权衡。
  • 小技巧:引入BN,加速网络收敛;约束输出范围,训练更稳定;

🍀(2)缺点

  • Backbone 可持续优化。
  • Neck 可持续优化。
  • 只是单个检测头,小目标识别还不太好。
  • 损失函数可持续优化


http://www.niftyadmin.cn/n/5119171.html

相关文章

深入理解JVM虚拟机第十三篇:详解JVM中的程序计数器

文章目录 一:程序计数器 1:概念 2:官方说法 3:图解 4:特点

Android-Framework 三方应用默认权限都不弹窗

代码位置:frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java -1853,10 1853,10 public class PackageManagerService extends IPackageManager.StubmPermissionCallback);}- final String packageName res.pkg.application…

创建Secret(使用kubectl)

创建Secret(使用kubectl) 假设某个 Pod 需要访问数据库。在您执行 kubectl 命令所在机器的当前目录,创建文件 ./username.txt 文件和 ./password.txt 暂存数据库的用户名和密码,后续我们根据这两个文件配置 kubernetes secrets。…

RocketMQ如何保证消息被有序消费

RocketMQ如何保证消息被有序消费 消费者端如何接收有序消息 队列消费的两种模式 并发消费模式 当同一类消息被送入不同队列,且这些消息在处理上并不需要按时序消费时,可以考虑使用并发消费模式。 并发消费模式生产者会将消息轮询发送到不同的队列当…

hadoop伪分布式安装部署

首先jdk安装完毕 jdk安装文档参考: Linux 环境下安装JDK1.8并配置环境变量_linux安装jdk1.8并配置环境变量_Xi-Yuan的博客-CSDN博客 准备好hadoop的安装包 我的下载地址如下: We Transfer Gratuit. Envoi scuris de gros fichiers. 将hadoop包上传到随…

面试算法40:矩阵中的最大矩形

题目 请在一个由0、1组成的矩阵中找出最大的只包含1的矩形并输出它的面积。例如,在图6.6的矩阵中,最大的只包含1的矩阵如阴影部分所示,它的面积是6。 分析 直方图是由排列在同一基线上的相邻柱子组成的图形。由于题目要求矩形中只包含数字…

四个内存函数

文章目录 memcpy函数(拷贝)模拟实现memcpy函数memcpy的升级memmove 之前的拷贝或赋值等都是对字符串操作的,而对内存中其它数据如结构体,数组中的数据的拷贝,都是要用内存函数来完成的。 memcpy函数(拷贝) 第一个参数为目标地址,第…

辅助驾驶功能开发-功能对标篇(17)-NGP 城市辅助系统-小鹏

1.横向对标参数 厂商小鹏车型P5上市时间2022/9/17方案10V5R+1DMS摄像头前视摄像头*1【三目】侧视摄像头*4后视摄像头*1环视摄像头*4DMS摄像头*1雷达毫米波雷达*54D毫米波雷达/超声波雷达*12激光雷达*2【大疆览沃HAP,64线】域控供应商德赛西威IPU03(硬件+底软+中间层)辅助驾驶…