当前位置:   article > 正文

[目标检测]——YOLO(You only look once)_用yolo做分类准确还是使用单独网络做分类准确

用yolo做分类准确还是使用单独网络做分类准确

近几年来,目标检测算法取得了很大的突破。比较流行的算法可以分为两类,一类是基于Region Proposal的R-CNN系算法(R-CNN,Fast R-CNN, Faster R-CNN),它们是two-stage的,需要先使用启发式方法(selective search)或者CNN网络(RPN)产生Region Proposal,然后再在Region Proposal上做分类与回归。而另一类是Yolo,SSD这类one-stage算法,其仅仅使用一个CNN网络直接预测不同目标的类别与位置。第一类方法是准确度高一些,但是速度慢,但是第二类算法是速度快,但是准确性要低一些。这可以在下图中看到。本文介绍的是Yolo算法,其全称是You Only Look Once: Unified, Real-Time Object Detection,基本上把Yolo算法的特点概括全了:You Only Look Once说的是只需要一次CNN运算,Unified指的是这是一个统一的框架,提供end-to-end的预测,而Real-Time体现是Yolo算法速度快。

一、YOLO介绍

1、网络分析

YOLO中一个网络搞定一切,由GoogleNet + 4个卷积 + 2个全连接层组成。

2、流程理解

  1. 原始图片resize到448x448,经过前面卷积网络之后,将图片输出成了一个7x7x30的结构
  2. 默认情况下分割成7x7的单元格,这里用3x3做演示 
  3. 每一个单元格去预测两个bbox框
  4. 进行NMS筛选,筛选概率及IoU,最终得到几个比较好的候选框

3、单元格(grid cell)

每一个单元格需要预测出两个候选框

怎样理解 7x7x30 ?

  • 7x7=49个像素值,理解成49个单元格

单元格需要做的两件事:

  • 每个单元格负责预测一个物体的类别,并且直接预测物体的概率值
  • 每个单元格预测两个(默认)bbox位置,两个bbox有两个置信度(confidence)
    • 一个bbox:xmin、ymin、xmax、ymax、confidence
    • 两个bbox:4 + 1 + 4 + 1 = 10(4个位置信息,1个置信度)
    • 30:(4 + 1 + 4 + 1) + 20个类别信息(预测概率结果)

4、网络输出网格筛选

一个网格会预测两个bbox,在训练是我们时我们只有一个bbox专门负责预测概率(一个Object,一个bbox)

  • 20个类别的概率代表这个网络当中的一个bbox
  • 每个bounding box都对应一个confidence score

每个网格都会找到自己对应的物体类别: 

5、与Faster R-CNN区别

YOLO框的坐标是由网络输出,faster rcnn人为设定

二、训练过程

预测框对应的目标值标记:

  • confidence:格子内的目标
  • 20类概率:标记每个单元个的目标类别

怎样理解这个过程? 同样以分类那种形式来对应,假设以一个单元格的预测值为结果,如下图:

三、与Faster R-CNN区别

1、 准确率低的原因

图片当中很多物体都是比较靠近的,如果多个物体中心点落到一个网格中,之会预测一个物体,这样就会出现预测数下降

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/113879
推荐阅读
相关标签
  

闽ICP备14008679号