微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

8月25日计算机视觉理论学习笔记——R-FCN、YOLO


前言

本文为8月25日计算机视觉理论学习笔记,分为四个章节:

  • R-FCN;
  • YOLO v1;
  • YOLO v2;
  • YOLO v3.

一、R-FCN

适应全卷积化 CNN 结构,提出全卷积化设计——共享 resnet 所有卷积层。

引入变换敏感性(Translation variance):

  1. 位置敏感分值图(Position-sensitive score maps);
  2. 位置敏感池化(Position-sensitive RoI pooling)。

1

1、位置敏感卷积

使用 k 2 ( C + 1 ) k^2(C+1) k2(C+1) 个通道对组合进行编码:

  • 类别:C个物体类+1个背景类;
  • 相对位置:k×k 个 Grid(k=3);
  • 位置敏感分值图(Position-sensitive score maps):

2

2、位置敏感RoI池化层

显示编码相对位置的信息:

  • 将 w×h 尺寸的 RoI 拆分成 k×k 个 w k × h k \frac{w}{k}\times \frac{h}{k} kw×kh 尺寸的 bin;
  • 不同颜色的 bin 对应不同颜色的 score map;
  • Bin 内做均值池化;
  • 输出尺寸: k × k × ( C + 1 ) k\times k\times (C+1) k×k×(C+1)

3

3、多任务损失函数

  • 总损失: L ( s , t x , y , w , h ) = L c l s ( s c ∗ ) + λ [ c ∗ > 0 ] L r e g ( t , t ∗ ) L(s, t_{x, y, w, h}) = L_{cls}(s_{c^*}) + \lambda [c^* > 0]L_{reg}(t, t^*) L(s,tx,y,w,h)=Lcls(sc)+λ[c>0]Lreg(t,t)
  • 分类损失函数 L c l s ( s c ∗ ) = − l o g ( s ∗ ) L_{cls}(s_{c^*}) = -log(s^*) Lcls(sc)=log(s)
  • Bounding Box 回归损失函数
    • 4 k 2 4k^2 4k2 通道的位置敏感卷积层: L r e g ( t i , t ∗ ) = R ( t i − t ∗ ) L_{reg}(t_i, t^*) = R(t_i - t^*) Lreg(ti,t)=R(tit)

4、训练

OHEM(Online Hard Example Mining):

  1. 首先对 rpn 获得的候选 RoI 进行排序操作;
  2. 然后在含有正样本的 RoI 中选择前 N个RoI,将正负样本的比例维持在1:3的范围内,保证每次抽取的样本中都会含有一定的正样本。

二、YOLO v1

YOLO 将物体检测任务当做一个 regression 问题来处理:

  1. 将图像 resize 到 448×448 作为神经网络的输入;
  2. 使用一个神经网络,从一整张图像预测出 bounding Box 的坐标、Box 中包含物体的置信度和物体的可能性;
  3. 然后进行非极大值抑制,筛选 Boxes。

4

  • 步骤:

    1. Pretrain;
    2. 将 Pretrain 的结果的前20层卷积层应用到 Detection 中,并加入剩下的4个卷积层及2个全连接
    3. 将所有的预测结果都归一化到0~1,使用 Leaky ReLu 作为激活函数
    4. 将一幅图像分成 S × S S\times S S×S 个网格(grid cell);
    5. 一个栅格预测 B B B个 bounding Boxes 以及它们的 confidenc scores。confidenc scores 反映了模型对于这个栅格的预测:该栅格是否含有物体,以及这个 Box 的坐标预测的有多准;
    6. c o n f i d e n c e = P r ( O b j e c t ) × I o U p r e d t r u t h confidence = Pr(Object)\times IoU_{pred}^{truth} confidence=Pr(Object)×IoUpredtruth
    7. 若该栅格不存在 object,则 confidenc scores 为 0;否则,confidenc scores 为 predicted bounding Box 和 ground truth Box间的 IoU(Intersection over union)。
  • 网络结构: 由24个卷积层与2个全连接层构成,网络入口为 448×448,输出结果为一个张量:

    • 输出维度: S × S × ( B × 5 + C ) S\times S\times (B\times 5 + C) S×S×(B×5+C)
    • 其中, S S S 为划分网格数, B B B 为每个网格负责目标个数, C C C 为类别个数。
  • NMS(非极大值抑制):

    1. 首先从所有的检测框中找到置信度最大的那个框;
    2. 然后挨个计算其与剩余框的 IoU,若其值大于一定阈值(重合度过高),那么就将该框提出;
    3. 重复上述过程,直到处理完所有的检测框。
  • 优点:

    1. 检测物体的速度很快;
    2. 假阳性率低;
    3. 能学到更加抽象的物体的特征。
  • 不足:

    1. 检测精度较低;
    2. 容易产生物体的定位错误
    3. 对小物体的检测效果不好。

三、YOLO v2

5

  • Batch normalization: 提高模型收敛速度;

  • Dimension Clusters: 使用 K-means 聚类方法训练 bounding Boxes,可自动找到更好的 Boxes 宽高维度;

  • Multi-scale Training: 模型只包含卷积层和 pooling 层,因此可以随时改变输入尺寸。每经过10次训练,就会随机选择新的图片尺寸进行训练。


四、YOLO v3

6

  • 使用了一个 53层的卷积网络,由残差单元叠加而成;
  • 使用逻辑回归预测每个编辑框的分数;
  • 损失函数:binary cross-entropy。

原文地址:https://www.jb51.cc/wenti/3279088.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐