【YOLO模型】(3)--YOLO V2超超超超详解!!

YOLO V2

YOLO V2,即You Only Look Once version 2,是一种用于目标检测的深度学习模型。它在YOLOv1的基础上进行了多项改进,显著提高了检测速度和精度。

一、核心思想

YOLO V2将目标检测问题视为一个单个的回归问题。通过在图像上划分网格,并在每个网格上预测边界框和类别概率来实现目标检测。具体来说,它将输入图像划分为S×S个网格,每个网格负责预测中心点落在该网格内的目标。对于每个网格,它预测B个边界框、每个边界框的置信度以及C个类别概率。

二、V1与V2对比

在这里插入图片描述

1. batch Norm

V2版本舍弃Dropout,卷积后全部加入Batch Normalization。网络的每一层都做了归一化,收敛相对更容易。

2. 分辨率

YOLO V2的分类网络使用ImageNet预训练模型,并将输入图像的分辨率从224×224提高到448×448进行微调。这一改进使得网络能够更好地适应大分辨率的输入,提高了模型的准确率。

3. 网络架构

与YOLO V1不同的是,YOLO V2使用Darknet-19作为主干网络,包括19个卷积层5个最大池化层。其中,1×1的卷积层主要用于节省参数。Darknet-19网络结构能够提取图像特征,为后续的目标检测提供基础。

注意!!:没有全连接层哦,也就意味着网络输入图像大小可以任意,但是此网络依旧有一个缺陷,那就是需要进行5次降采样,所以输入图像的大小必须满足32的倍数

在这里插入图片描述

4. 先验框

YOLO V2借鉴了Faster R-CNN中的Anchor机制,使用先验框来预测边界框的偏移。与Faster R-CNN不同的是,YOLO V2的先验框并不是根据长宽固定比给定,而是使用k-means聚类方法在训练集上对先验框进行聚类,以产生更合适的先验框。这一改进提高了模型的召回率。

  • 原本的Faster R-CNN先验框(一共9种,分为3类,每个类大小不同):

在这里插入图片描述

缺点:比较常规,不一定适合所有的目标物体检测,比如中国冷兵器枪、戟等等。

  • YOLO V2对该方法进行了改动:由于在对模型训练之前我们就对训练集上的物体打过了标签,使用k-means聚类方法在训练集上对先验框进行聚类,分出五个先验框的种类,使用聚类后的先验框对物体进行框选。

注意!!!:在机器学习使用k-means聚类方法时,计算点间距离使用的是欧氏距离,但是在YOLO V2中使用的是:

在这里插入图片描述

  • 为什么要使用这样的距离计算方式呢?

增强边界框尺寸权重影响。在目标检测任务中,边界框的尺寸差异很大。如果直接使用欧氏距离进行聚类,那么尺寸较大的边界框在聚类过程中可能会占据更大的权重,导致聚类结果偏向于大尺寸的边界框。而使用基于IOU的距离度量方式,可以使得不同尺寸的边界框在聚类过程中具有相同的权重,从而得到更加均衡的聚类结果。

  • 为什么是5种呢?

在这里插入图片描述

图中我们可以发现,随着聚类先验框个数的增加,平均IOU也在逐渐增加,可以明显看到当个数大于5之后增加逐渐缓慢,所以选择5个已经可以满足基本需求了。

5. 偏移量

YOLO V2采用了一种直接位置预测的方法,用于限制偏移量,防止在训练时出现发散。这种方法预测的是相对位置,即相对于网格的偏移量,从而提高了模型的稳定性。

  • 使用直接位置预测方法原因:YOLO V1由于全连接层丢失了较多的空间信息,导致定位精度不够准确。使得中心点位置不一定在预测网格中。

  • 直接预测偏移量:在引入Anchor机制后,YOLO V2不再直接预测边界框的坐标,而是预测Anchor Box的偏移量与置信度。这种方式可以简化问题,让神经网络学习起来更容易。具体来说,YOLO V2使用卷积层来预测每个Anchor Box的偏移量和置信度,并通过sigmoid函数将偏移量限制在一定范围内,以确保预测的边界框更加准确。

  • 过程

    使用sigmoid函数将中心点位置(x,y)的x,y大小限制在0~1内,将每个网格都标注好位置:

    在这里插入图片描述

  • 详细计算过程

在这里插入图片描述

6. 多尺度融合

YOLO V2中的多尺度融合目的主要在于提升目标检测的精度和召回率,尤其是对不同大小目标的检测能力。

6.1 感受野

概述的说,就是特征图上的点能看到原始图像多大区域:

在这里插入图片描述

6.2 多尺度融合

由于最后一层的感受野太大了,极有可能都是小物体,没有办法观测到。

那么,如何观测到小物体呢?

  • 既然最后一层太小了没办法观测到,那就从上一层观测,融合两者的结果。

  • 过程:直接将上一层分隔成四份,同最后一层进行简单的叠加。

在这里插入图片描述

总结

本篇介绍了:

  1. YOLO V2使用的网络结构是使用Darknet-19作为主干网络。输入图像的大小必须满足32的倍数。
  2. 先验框使用k-means聚类方法在训练集上对先验框进行聚类,分出五个先验框。改变了距离计算方式,增强边界框尺寸权重影响。
  3. 中心点使用直接位置预测方法:通过sigmoid函数将中心位置点限制在一定范围内,以确保预测的边界框更加准确。
  4. 由于多次池化,可能难以观测到小物体,使用多尺度融合方法,融合上下层的特征信息,提升目标检测的精度和召回率。

猜你喜欢

转载自blog.csdn.net/m0_74896766/article/details/143276452