Yolo底层原理学习--(第二篇)

发布于:2025-07-29 ⋅ 阅读:(25) ⋅ 点赞:(0)

一,IOU置信度与非极大值抑制NMS

在第一篇文章中我们讲到,对于一张图片,在前向传播的过程后(也就是卷积,池化,全连接等等),会生成许许多多个预测框,那么怎么从这么多预测框筛选出最好的几个框来达到预测功能呢?这里就需要用到IOU和非极大值抑制。


(1)IOU:

什么是IOU?

(1.1)训练阶段:

在模型训练阶段IOU会首先筛选置信度小于阈值的检测框,接着将剩下的预测框与人工标注的真实框做IOU匹配,用来判断是否正确检测到了目标,为后面的反向传播做准备

(1.2)推理预测阶段:

用于非极大值抑制,

推理阶段计算IoU的主要目的是筛选重叠的预测框,避免重复检测同一个目标。具体步骤如下:

  1. 按置信度排序:将所有预测框按置信度从高到低排序。
  2. 选择最高置信度的框:保留置信度最高的框作为有效检测。
  3. 计算IoU:计算该框与其他所有未处理的框的IoU。
  4. 抑制重叠框
    • 如果某个框与当前最高置信度框的IoU超过阈值(如0.5),则认为它们检测的是同一个目标,因此丢弃置信度较低的框
      这里是什么意思呢?就是说因为一个物体必然会占据7*7个小方格中的许多个,都是有效检测的,如果采取只保留置信度最高的,那么如果图片里面有多个同类物体,那么只能检测一个类别物体中的一个,所以我们采用IoU超过阈值(如0.5)舍弃的方法,因为如果两个同类物体虽然置信度都很高,但是彼此不重叠,所以iou值很低,不会被删除,这样既能获取最高的置信度框,又能避免删去同类的其他物体,而这就是非极大值抑制
    • 重复上述过程,直到处理完所有框。

ps:类别置信度=(确实有目标物体的前提下)置信度×类别概率

后处理阶段=IOU+NMS 

二,关于YOLOV2的改进点 

在yolov1的基础上,yolov2进行了许多改进,让我们来看看吧~

改进点有:

2.1 引入批归一化(Batch Normalization, BN)层

问题来源:如下图左边:
 

当我们在进行数据输入时,我们知道,很多数据的量纲是不统一的。如果此时大小较小的数据 

更为重要,那很明显w1的值就要很大,但是由于梯度下降时渐进的,这时参数更新可能需要很多步才能到达最优点。而如果我们进行归一化操作(如右图),那么梯度更新将变得不那么复杂。也就是说,归一化后的数据分布更稳定,网络在训练时更容易找到最优解,从而加快收敛速度。

当然,加入BN层还有其他好处。


2.1.1 BN层计算步骤


2.2 采用高分辨率网络训练 

相较于yolov1,yolov2先用低分辨率进行训练,之后再用实际检测需要的高分辨率数据进行再训练,有效提高了准确率。

 2.3 删去全连接层 -->convolutional

 

(1)最后的几个全连接层以及前面的最后一个pool层被删去,这有利于获得更高分辨率的图片。

(2)采用416*416进行输入的原因是最后的输出是13*13是奇数矩阵,原来是偶数矩阵的弊端是,按照统计规律,图片目标物体位于中心的可能性较大,这时物体中心点很可能位于映射边框上,使得模型难以区分该点是属于哪一格子里的。

(3)采用解耦合的好处,原来的格子是2个检测框,每个格子的类别概率同属2个检测框,这样会使得两个检测框只能检测同一种物体。而解耦合能使得每个检测框都有自己独立的类别检测概率,从而实现一个格子里面可以检测出多种物体。


2.3.1 采用anchor锚框

 怎么理解这个锚框呢?就是我们考虑到yolo模型通过主干网络提取的信息来确定框框的大小还是有点难的,所以我们给他点“提示”,我们先设定了大小,长宽比不同的box(共9个,后面会通过聚类算法减成5个),之后模型基于此anchor等比例缩放(而不是从0开始画),就能比较好的结合获取到的全局特征,检测出物体并正确画框。


因此,基于convolutional+anchor,我们最后的输出将变成13×13×125.其中125=(5(5个框)*25(每个框都有独立的x,y,w,h,c+20个类别,且每个框都有anchor辅助)

 

同时,作者还采用聚类分析来自动设定anchor锚框,极大提高了准确性。

 2.3.2 引入了新的网络架构Darknet-19

 2.4 采用了passthrough

这里就是说为了能够保留细节信息,我们将某一阶段卷积之后图像先通过passthrough(也就是说如果最后输出是13*13*m,那么我们就要将该图像变换成13*13*4*n(n代表通道数,可以和m不一样),然后将该图像与最后输出的特征图进行contact操作,这样最后输出的图像既有特征提取的,也保留了细节信息。

 

2.5 多尺度训练 

 ok,that's all。知识疯狂涌进脑子,消化不过来了


网站公告

今日签到

点亮在社区的每一天
去签到