CV——day70 零基础学YOLO:YOLOv1

YOLO系列

  • 1. 不同阶段算法优缺点分析
  • 2. IOU指标计算
  • 3. MAP指标计算
    • **指标分析**
    • 如何计算MAP
  • 4 YOLOv1
    • 4.1 YOLOv1核心思想
    • 4.2 YOLOv1网络架构
      • 那么,7 * 7 * 30的输出是怎么来呢?
  • 4.3 损失函数
      • 4.3.1 位置误差
      • 4.3.2 置信度误差(含object)
      • 4.3.3 置信度误差(不含object)
      • 4.3.4 分类误差
    • 4.4 总结

1. 不同阶段算法优缺点分析

检测任务分为两种类型:

  1. 单阶段检测算法:YOLO系列

    最核心的优势:速度非常快,适合做实时检测任务! 但是缺点也是有的,效果通常情况下不会太好!

  2. 二阶段检测算法:Faster-RCNN,MASK-RCNN
    速度通常较慢(5FPS),但是效果通常还是不错的!

2. IOU指标计算

CV——day70 零基础学YOLO:YOLOv1_第1张图片

其实很简单的理解就是交并比,两个框分别是预测结果地面真值

3. MAP指标计算

CV——day70 零基础学YOLO:YOLOv1_第2张图片

首先要认识基础的精确度和召回率的计算公式,这是一个例子:

CV——day70 零基础学YOLO:YOLOv1_第3张图片

指标分析

基于置信度阈值来计算,例如分别计算0.9;0.8; 0.7

CV——day70 零基础学YOLO:YOLOv1_第4张图片

0.9时: TP+FP = 1,TP = 1 ; FN = 2; Precision=1/1; Recall=1/3;

如何计算MAP

采用P–R图:需要把所有阈值都考虑进来;MAP就是所有类别的平均

CV——day70 零基础学YOLO:YOLOv1_第5张图片

最理想的情况就是框柱整个坐标系以接近1,图中(左)蓝色实线代表P–R曲线(精确度&召回率),红色虚线代表所计算的区域,即选择时选择蓝色实线的最大值;图(右)展示了所画出的四个区域,计算面积就是MAP的值

4 YOLOv1

  • 经典的one-stage方法
    You Only Look Once,名字就已经说明了一切!
    把检测问题转化成回归问题(即(x,y,w,h)),一个CNN就搞定了!
    可以对视频进行实时检测,应用领域非常广!

CV——day70 零基础学YOLO:YOLOv1_第6张图片

Faster R-CNN map较高,但fps远不能达到实时监测的要求

4.1 YOLOv1核心思想

将输入图像划分成两种候选框,计算并选择IOU最大的候选框 ,还有置信度来确定预测是否准确。最终想要得到的就是最右边的三个框。

CV——day70 零基础学YOLO:YOLOv1_第7张图片

4.2 YOLOv1网络架构

CV——day70 零基础学YOLO:YOLOv1_第8张图片

YOLOv1的卷积层在后代已经被优化了,所以不需要仔细看。

在上图中,值得关注的是两个全连接层,因为全连接层的存在,因此在最开始输入的图像大小还必须是固定的,7 * 7 * 4096 ;7 * 7 * 1470,这是两个全连接层的参数。

那么,7 * 7 * 30的输出是怎么来呢?

之前已经说过,v1会生成两个预测框B1,B2,那就已经有两个输出分别为

B1:(x1,y1,w1,h1,C1);B2:(x2,y3,w2,h2,C2),其中C代表置信度,这已经占了10个位置,剩下的二十个代表的其实是网络中可识别的类别共计20类。

每个数字的含义:

  1. 10 =(X,Y,H,W,C) * B (2个)
  2. 当前数据集中有20个类别
  3. 7 * 7表示最终网格的大小
  4. (S * S) * (B * 5+C)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VrBCqJiO-1674872650313)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20230128100347551.png)]

4.3 损失函数

CV——day70 零基础学YOLO:YOLOv1_第9张图片

4.3.1 位置误差

对于x,y,w,h要指定一个函数来最小化与真实值的误差

CV——day70 零基础学YOLO:YOLOv1_第10张图片

前半部分是x,y;后半是w,h;加根号的意义是为了解决小物体中偏移量不敏感的问题,就如图所示:

CV——day70 零基础学YOLO:YOLOv1_第11张图片

4.3.2 置信度误差(含object)

图像分前景和背景,预测框想要选择的是前景。

先算预测框与真实值的IOU,再与IOU最大的框进行预测(大于阈值)。

CV——day70 零基础学YOLO:YOLOv1_第12张图片

4.3.3 置信度误差(不含object)

比上一节多加了一个参数λ,其目的是为了减弱占更多空间的背景的影响

4.3.4 分类误差

CV——day70 零基础学YOLO:YOLOv1_第13张图片

4.4 总结

全部加在一起就是总的损失函数。

你可能感兴趣的:(CV,计算机视觉,深度学习,目标检测)