欢迎光临 x-algo
关注算法在工业界应用
Hi, 这是一个关注大数据算法在工业界应用的网站

YOLOv2/YOLO9000模型原理

看本文之前,最好已经了解SSD原理YOLO模型

更好

  • 可以对9k的object分类,我是惊呆了
  • YOLO9000重点解决recall和location方面的误差
  • YOLO-v2和YOLO9000是两个不同的模型,论文一并提出,YOLOv2 + join training = YOLO9000
  • 考虑到效率,尝试将网络简单化的同时提高准确率
  • 添加Batch Normalization
  • 一般的检测的网络都是在分类的网络基础上进行fine tune,如果检测是在高分辨率上,通过在高分辨率的分类网络上fine tune发现效果更好
  • 模仿Faster R-CNN回归bounding box的时候学习offset,将问题简单化(只有w和h是相对anchor的offset,x和y还是相对grid的offset)
  • 图片从448x448变为416,保证只有一个中心点
  • 移除了一个pool层,保证分辨率,同时移除全连接层
  • 因为引入了anchor box,转而预测每一个anchor box的分类
  • 和YOLO类似,需要预测 \(Pr(Object)\) 和类条件概率 \(Pr(Class|Object)\)
  • 预先通过k-means寻找合适的default box,预测的时候就可以尽量少的走弯路
  • 将26x26x512的feature map转成13x13x2048的feature map,适应更加精细的分辨率
  • 模型只使用了卷积核池化,所以可以应对各种输入的分辨率,训练的时候通过使用不同的分辨率图像进行训练,从而实现可以识别各种多种尺寸

聚类寻找默认Anchor

QQ20170303-0

回归目标

QQ20170303-1

YOLOv2效果

QQ20170303-2

QQ20170303-3

更快

darknet

去掉了全连接,都是卷积和池化。设计了一个新的网络结构darknet19,如下图:

QQ20170303-5

更强

到这我就莫名想起奥运会。。。

这部分一个新奇的方法就是join training,解决检测标注过少,分类和tag数据很丰富的矛盾。作者提出了一种方式,将这两个信息同时在一个网络中进行训练,从而实现网络可以针对没有检测标注的类别实现检测,几个重要的点:

  • 不同数据来源的分类可能之间有包含关系,通过WordNet构造WordTree,实现对label的树形表示
  • 当样本标签属于叶子节点,父亲节点也被激活作为正样本;样本标签为非叶子节点,值针对非叶子节点和其父亲的部分进行反向传播。
  • 对于分类图片(没有检测gt数据),此时得到一个置信度最高的bbox,将其当做一个负样本进行反向传播
  • 混合训练实现了网络可以检测、识别出来一些以前训练样本中没有的object

QQ20170303-6

 

资料

论文:《YOLO9000: Better, Faster, Stronger

官方实现:https://pjreddie.com/darknet/yolo/

未经允许不得转载:大数据算法 » YOLOv2/YOLO9000模型原理

评论 抢沙发

*

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

关注大数据算法在工业界应用

本站的GitHub关于本站