yolo系列学习

文章介绍了YOLO系列的目标检测算法,从YOLO-V1的基础原理,如回归问题和损失函数,到YOLO-V2的改进,包括BatchNormalization、AnchorBoxes和多尺度训练,再到YOLO-V3和YOLO-V5的优化,如DarkNet53backbone和CIOU损失函数。文章还讨论了精度、召回率等评估指标以及目标检测中的挑战和解决方案。
摘要由CSDN通过智能技术生成


教学视频

理论基础

  1. 不同阶段算法优缺点分析
  • two-stage (两阶段) :Faster-rcnn、Mask-Rcnn ,多了预选框操作RPN
  • One-stage (单阶段):YOLO
  1. 指标分析
  • 精度 Precision 查准率预测为正且实际为正预测为正的比例
  • 召回率 Recall 查全率预测为正且实际为正总体正样本的比例
  • 准确度 Accuracy预测为正且实际为正和预测为负且实际负总样本的比例
  • F1 Score 是Precision与Recall的调和平均(harmonic mean),是综合Precision与Recall的评估指标,避免Precision或Recall的单一极大值,用于综合反映整体的指标。
  • AP 在一组不同IOU阈值下,某一类别PR曲线(横轴为Recall,纵轴为Precision)下的面积。bilibili视频AP与mAP的详解指标评估 —— AP & mAP 详细解读mAP定义及计算方式
    • IOU阈值设置从低到高,分别获取不同阈值下的Precision和Recall,以横轴为Recall,纵轴为Precision,即可获取PR曲线,一般情况下,Recall和Precision是矛盾的两个目标,Recall跟IOU是单调递减关系,Precision跟IOU是单调递增关系。不同任务对应的AP计算方式不一样。COCO挑战赛定义了12种mAP计算方式
  • mAP 各类别AP的平均值。
    在这里插入图片描述
    在这里插入图片描述

YOLO-V1

  • 经典的one-stage 方法;把检测问题转化为回归问题,一个CNN搞定,可以进行实时检测;

    • 回归问题:即建模和分析变量之间的关系 ,多用来预测一个具体的数值,yolo中就是用来预测[x,y,w,h]
  • 核心思想
    在这里插入图片描述

    • 输出为7x7x30,7x7表示最终图片分为7x7的网格(grid size),30代表5+5+20,前两个5代表两种检测框的[x,y,w,h,c],20代表20分类。(SxS)x(Bx5+C)
    • 输入图片固定为448x448x3,因为有全连接层
  • 损失函数在这里插入图片描述

    • 位置误差中加根号 是为了解决小目标时偏移量不敏感的问题,同样的像素对不同目标占比不同(1/2与1/20)。因为根号的求导是非线性,越小斜率越大。该方法只能改善,并没有解决问题。
    • 不含object的加权重 λ n o o b j \lambda_{noobj} λnoobj 是因为图片中大部分都是背景(负样本),只有少部分前景(正样本),为了保证样本均衡,保证正样本被有效学习,所以需要减小背景的权重。
  • 优缺点

    • 优点:快速,简单
    • 缺点:
      ① 每个cell只能预测一个类别,无法解决多标签任务;
      ② 小物体检测效果一般,长宽比可选(两种检测框)但单一;
      ③ 重叠目标无法检测。

在这里插入图片描述

YOLO-V2

在这里插入图片描述

  • YOLO-V2-Batch-Normalization

    • 舍弃Dropout,卷积后全部加入Batch Normalization,可以使得每一层的输入都具有相似的均值和方差,从而使得网络的训练更加稳定
    • 网络的每一层输入都做了归一化,收敛相对容易
    • 经过Batch-Normalization处理后的网络回提升2% 的mAP
    • 从现在的角度来看,Batch-Normalization 已经成为网络必备处理。
  • YOLO-V2 使用更大的分辨率

    • V1训练时用的是224x224,测试时使用的时448x448
    • 为了优化上述问题,V2训练时额外又进行了10次448x448的微调
    • 使用高分辨率分类器后,YOLO-V2的mAP提升了约4%
  • YOLO-V2-新网络结构

    • DarkNet19(借鉴VGG 和ResNet),网络更深,但参数量更小,输入为416x416
    • VGG中提出使用小的卷积核代替大的卷积核,可以提升感受野并减少参数量
    • 剔除全连接(FC)层,经过5次降采样,最终为13x13
    • 引入1x1卷积,节省了很多参数,只修改通道数
      在这里插入图片描述
  • YOLO-V2-使用聚类提取先验框

    • faster-rcnn系列选择的先验比例都是常规的,不一定完全适应数据集
    • K-means聚类中的距离: d ( b o x , c e n t r o i d s ) = 1 − I O U ( b o x , c e n t r o i d s ) d_{(box,centroids)}=1-IOU(box,centroids) d(box,centroids)=1IOU(box,centroids) ,是根据IOU设置的距离参数,而不是常规的欧式距离。
    • 聚类数K=5在这里插入图片描述
  • YOLO-V2-Anchor Box

    • 通过引入anchor boxes,使得预测的box数量更多(13 x13xn),来解决YOLOv1中物体大小和比例变化较大的问题。
    • 锚框是预先定义好的一些矩形框,它们被放置在图像的不同位置和大小。每个锚框预测一组边界框和类别概率。YOLOv2使用k-means算法来自动计算出合适的锚框。
  • YOLO-V2-直接预测相对位置

    • 在V1中,直接预测的位置偏移值,因此中心值加偏移值才是真实预测值
      ① bbox:中心为(xp,yp);宽和高为(wp,hp),则 x = x p + w p ∗ t x { x=x_{p} + w_{p}*t_{x}} x=xp+wptx ; y = y p + h p ∗ t y { y=y_{p} + h_{p}*t_{y} } y=yp+hpty.
      t x t_{x} tx=1,则讲bbox在x轴向右移动 w p w_{p} wp t x t_{x} tx=-1,则讲bbox在x轴向左移动 w p w_{p} wp
      ③ 这样会导致收敛问题,模型不稳定,尤其是刚开始进行训练的时候,权重参数和偏移参数是随机初始化,可能会使中心位置偏移出真实标注框,出现在图片任意位置。
    • V2没有直接使用偏移量,而是选择相对grid cell的偏移量
      在这里插入图片描述
      σ ( t x ) \sigma(tx) σ(tx)表示sigmoid函数,其函数值取值范围永远在(0,1)之间。使得 b x b_{x} bx永远在 [ c x , c x + 1 ] [c_x,c_x+1] [cx,cx+1]之间, b y b_{y} by同理,即预测的中心位置永远在网格内,不会偏移到其他网格。
  • YOLO-V2-PassThrough 层
    DarkNet还进行了深浅层特征的融合,具体方法是将浅层26×26×512的特征变换为13×13×2048,这样就可以直接与深层13×13×1024的特征进行通道拼接。这种特征融合有利于小物体的检测,也为模型带来了1%的性能提升

  • YOLO-V2-多尺度训练

    • 移除了全连接层,因此YOLO v2可以接受任意尺寸的输入图片
    • 每10次迭代后,输入图片大小更改一次输入图片的尺度[320,352,…,608]

YOLOV3

论文名称:YOLOv3: An Incremental Improvement
论文下载地址: https://arxiv.org/abs/1804.02767
在这里插入图片描述

  • V3 对网络结构进行较大改进,backbone使用DarkNet53,使其更适合小目标检测
  • 多scale 先验框更丰富,3中scale,每种3个规格,共9种
  • 使用Logistic代替softmax进行改进,可以预测多标签任务

YOLOV5

损失函数

损失函数解析1
超参数解析
采用三个损失函数:矩形框、分类概率和置信度
置信度和分类概率使用的BCE,矩形框使用的CIOU(IOU -> GIOU -> DIOU -> CIOU)

  • Loss=a*lossobj + b*lossrect + c*lossclc
    通常置信度损失取最大权重,矩形框损失和分类损失的权重次之
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值