YOLOv2算法小记

YOLOv2算法小记

目录

YOLOv2算法小记

一、v2算法的改进

(一)引入BN层

(二)更高精度的classifier [Focusing on backbone]​

(三)引入Anchor

(四)细粒度 (fine-grained) 特征

(五)初试多尺度训练

二、Anchor与损失函数

(一)Anchor的整体性讲解

         (二)Anchor与loss function

 


一、v2算法的改进

(一)引入BN层

(二)更高精度的classifier [Focusing on backbone]

(三)引入Anchor

(四)细粒度 (fine-grained) 特征

1.浅层特征(lower feature)直连(concatenate)高层(higher)特征

浅层信息(物理信息):角点、边缘、直线折线等
中层信息:浅层信息的高维抽象、融合→将一些特殊的形状单元拼接成简单图形
深层信息(语义信息):中层信息的进一步抽象、融合→得到一些具有语义性的特征

short cut/skip connection:同时结合了深层(左分支)和浅层(右分支)信息

2.引入新层: reorg层

例:将一个大图(4*4)变成四个小图(2*2),面积变成1/4,channel变为四倍,这样就可以将这个浅层信息和提取的深层信息进行结合。

(五)初试多尺度训练

  • 移除FC层(fully connected): 能够承接任意size的输入,提升模型鲁棒性
  • 输入size横跨 320, 352, …, 608   训练时,每10个epoch改一下[border-size % 32 = 0, decided by down sampling]

横跨不同尺度进行训练,可以更好的适应不同大小的图像。

二、Anchor与损失函数

(一)Anchor的整体性讲解

1. Anchor是什么? Anchor为了什么?

①预设好的虚拟边框(virtual bboxes)
②生成框由Anchor回归而来

2. Anchors? Ground Truth BBoxes? Prediction?

为什么要用anchor: YOLOv1是从一个点来回归目标的位置,加了anchor之后,就可以从一定范围内回归,精确度要高很多。

红色是anchor,绿色是ground truth,蓝色是prediction

计算示意:                                                                     YOLOv2使用:(tx和ty的计算使用了sigmoid函数,                                                                                                                      以确保其在0-1范围内)

               

粉圈:预测框的offset,网络直接生成
灰圈:计算ground truth的offset(encode)
蓝圈:   计算ground truth与预测框之差(decode)

(二)Anchor与loss function

1.  Anchor size and number

①Faster RCNN: 9 by hands
② Yolo: 5 by K-Means

2.Anchors, Truth BBoxes & Predicted BBoxes

anchor表示:两个一组,宽+高(13是归一化的范围,这里anchor归一化到0-13之间)

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值