前言
本文为8月25日计算机视觉理论学习笔记,分为四个章节:
- R-FCN;
- YOLO v1;
- YOLO v2;
- YOLO v3.
一、R-FCN
适应全卷积化 CNN 结构,提出全卷积化设计——共享 resnet 所有卷积层。
引入变换敏感性(Translation variance):
- 位置敏感分值图(Position-sensitive score maps);
- 位置敏感池化(Position-sensitive RoI pooling)。
1、位置敏感卷积层
使用 k 2 ( C + 1 ) k^2(C+1) k2(C+1) 个通道对组合进行编码:
- 类别:C个物体类+1个背景类;
- 相对位置:k×k 个 Grid(k=3);
- 位置敏感分值图(Position-sensitive score maps):
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、多任务损失函数
- 总损失: 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(ti−t∗)。
4、训练
OHEM(Online Hard Example Mining):
- 首先对 rpn 获得的候选 RoI 进行排序操作;
- 然后在含有正样本的 RoI 中选择前 N个RoI,将正负样本的比例维持在1:3的范围内,保证每次抽取的样本中都会含有一定的正样本。
二、YOLO v1
YOLO 将物体检测任务当做一个 regression 问题来处理:
- 将图像 resize 到 448×448 作为神经网络的输入;
- 使用一个神经网络,从一整张图像预测出 bounding Box 的坐标、Box 中包含物体的置信度和物体的可能性;
- 然后进行非极大值抑制,筛选 Boxes。
-
步骤:
- Pretrain;
- 将 Pretrain 的结果的前20层卷积层应用到 Detection 中,并加入剩下的4个卷积层及2个全连接;
- 将所有的预测结果都归一化到0~1,使用 Leaky ReLu 作为激活函数;
- 将一幅图像分成 S × S S\times S S×S 个网格(grid cell);
- 每一个栅格预测 B B B个 bounding Boxes 以及它们的 confidenc scores。confidenc scores 反映了模型对于这个栅格的预测:该栅格是否含有物体,以及这个 Box 的坐标预测的有多准;
- 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;
- 若该栅格不存在 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(非极大值抑制):
- 首先从所有的检测框中找到置信度最大的那个框;
- 然后挨个计算其与剩余框的 IoU,若其值大于一定阈值(重合度过高),那么就将该框提出;
- 重复上述过程,直到处理完所有的检测框。
-
优点:
- 检测物体的速度很快;
- 假阳性率低;
- 能学到更加抽象的物体的特征。
-
不足:
三、YOLO v2
-
Batch normalization: 提高模型收敛速度;
-
Dimension Clusters: 使用 K-means 聚类方法训练 bounding Boxes,可自动找到更好的 Boxes 宽高维度;
-
Multi-scale Training: 模型只包含卷积层和 pooling 层,因此可以随时改变输入尺寸。每经过10次训练,就会随机选择新的图片尺寸进行训练。
四、YOLO v3
原文地址:https://www.jb51.cc/wenti/3279088.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。