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):
    • 每个分类 k 2 k^2 k2 个 score map;
    • score map 尺寸=图片尺寸。

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。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值