目标检测YOLO系列学习笔记(一)

目标检测YOLO系列学习笔记

第一节 检测方法概述、YOLO V1和V2
第二节 YOLO V3和源码
第三节 YOLO V4
第四节 YOLO V5和源码



一、深度学习经典检测方法概述

1.单阶段和两阶段检测方法

在这里插入图片描述
two-stage方法,多了一个预选的步骤
在这里插入图片描述
在这里插入图片描述

2. 分析指标:mAP和IOU

IOU

IOU=(真实值 预测值 交集)/(真实值 预测值 并集)
在这里插入图片描述

mAP指标(mean Average Precision)

mAP指标:综合衡量检测效果
在这里插入图片描述
P和N表示**预测 **的正类和负类,T和F表示预测结果的正确和错误
TP表示正确预测为正类的数量,FP表示错误预测为正类的数量
TN表示正确预测为负类的数量,FN表示错误预测为负类的数量

TP+FP是所有预测为正类的数量
TP+FN是所有标签为正类的数量

precision(查准率):预测结果中,有多少是真的正类(找到的数据中正确的比例)
recall(查全率):所有正样本中,有多少被找到了(找回来多少)

准确率和召回率是一对矛盾的度量,一个高时另一个就会偏低

mAP就是PR曲线下面积:详情参考性能指标(模型评估)之mAP
在这里插入图片描述

二、YOLO V1

1.简介

YOLO(You Only Look Once)是经典的one-stage方法,把检测问题转化成回归问题,可以对视频进行实时检测,应用领域非常广。

2.核心思想

在这里插入图片描述
输入一张图片,把他看成是一张S*S的格子。每一个格子会产生两种候选框(就是两套X,Y,W,H),我们要对候选框进行微调。但是不是对所有格子产生的候选框都进行微调,要对真正有物体的格子进行微调。所以每一个格子还要预测一个置信度值,置信度低的直接舍弃,置信度高的格子拿来对两种候选框进行筛选,其中IOU值大的那个拿来微调出实际的结果。

3. 整体网络架构解读

在这里插入图片描述

卷积层经过两层全链接后,可以把结果reshape成7730,这个结果非常关键,7*7代表每一个格子。每一个格子要预测两个候选框,每一个候选框有5个预测值(x,y,w,h和置信度c),后面20表示类别的概率。
在这里插入图片描述

4. 损失函数

在这里插入图片描述

1) 位置误差

位置误差:最小化x,y,w,h与真实值之间的误差
i 表示每一个小个子,一共有S平方个小格子
j 表示每一个小格子的预选框,一共有B个,V1版本里B=2
l 表示拿两个预选框中IOU值大的那个框的x,y,w,h去算后面的损失
w和h带根号是因为想让小物体检测的误差更敏感一些
λ是系数

2) 置信度误差

置信度误差要分含物体的和不含物体的,因为含物体的与真实值是重叠的有IOU值,不含有物体的IOU=0

  • 含有物体的
    只选IOU值最大的候选框
  • 不含有物体的
    要乘以权重参数λ(0<λ<1),因为背景框的数量比较多样本不均衡,所以损失函数要体现出背景不太重要,前景比较重要

3) 分类误差

5. NMS(非极大值抑制)

在这里插入图片描述
在测试的时候会遇到一个目标会检测到很多重叠的框,非极大值抑制就是IOU大于阈值的留下,小于阈值的舍弃,然后按照置信度排序,选择置信度最大的那个候选框。

6. V1优缺点分析

优点:快速,简单
缺点:

  • 重合在一起的物体很难被检测到,因为当前一个点(cell)虽有两个预选框,但是只预测一个类别
  • 小物体不好检测,长宽比单一只有两个

三、YOLO V2

在这里插入图片描述

1. Batch Normalization

V2版本舍dropout,卷积后全部加入batch normalization,相当于网络的每一层的输入都做依次归一化,使网络学习更容易一些,收敛快一些。

2. 更大的分辨率

V1训练时使用了224224的图像,测试的时候呀用的448448的图像,V2开始训练的时候可以用224224的图像,最后10次使用448448的图像进行了微调

3. 网络结构-DarkNet

在这里插入图片描述

  • 没有全链接层,全是卷积层,因为全连接层容易过拟合而且参数多训练慢。
  • 5次降采样,最后的特征图比输入小32倍,V2的输入是416416,所以最后特征图的大小是1313
  • 卷积层只用了33和11,1*1的卷积在网络中起到特征传递和浓缩的作用,这样即节省了很多参数又保持网络不受影响

4. 聚类提取先验框:

在这里插入图片描述
faster-rcnn中是3中scale分别又3中不同比例(1:1、1:2、2:1)的经验框,V2认为固定比例的经验框不一定合适,所以提出聚类提取经验框。

按照标签的框聚类(k=5)

K-means聚类中的距离:
聚类中的距离=1-真实框与候选框的IOU,IOU越大距离越小,IOU越小距离越大(欧氏距离计算出的结果跟框的大小有关,大的框误差更大,小的框误差更小,所以欧式距离不合适。)

Anchor Box(先验框)
在这里插入图片描述
使用了更多数量的先验框之后,mAP值虽然下降了一点,但是recall值大幅增加,就是说模型漏掉的数据更少了,找到的目标越来越全了。

5. Directed Location Prediction(直接预测相对位置)

在这里插入图片描述
grid cell偏移量:
在这里插入图片描述

  • 图中黑色的框pw和ph是先验框,蓝色框tx、ty和tw、th是预测值。
  • 蓝色点是预测框的中心点,tx和ty是相对于当前网格左上角那个点的偏移量,这个偏移量只能在0-1之间(sigmod函数),所以预测框的中心点只能在当前网格之中(一个网格大小只有一个单位),飘不出去。
  • cx和cy是当前网格左上角的位置值(例如图中是(1,1))
  • 所以bx和by等于左上角的位置值(cx、cy)+预测的偏移量(tx、ty)
  • pw和ph是聚类得到的先验框

7. 感受野:

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

8. fine-grained features(精细的特征图)

在这里插入图片描述

  • 浅层特征图感受野小适合检测小物体,深层网络感受野大适合检测大物体,所以V2版本要把浅层特征和深层特征融合起来,这样就既能检测大物体也能检测小物体了。
  • 浅层的特征图拆分4部分(4×13×13×512)叠加上网络卷积池化后的特征图(13×13×1024),所以最后特征图有4×512+1024=3072个,即最终特征图的shape为(13×13×3072)

9. Multi-Scal 多尺度

在这里插入图片描述

  • 输入图片大小可能不同,V2版本没有全链接层输入大小可以不同
  • 一定迭代之后把图片resize成不同的大小,但大小必须得是32的整数倍
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值