YOLO v1

1.视频教程:
B站、网易云课堂、腾讯课堂
2.代码地址:
Gitee
Github
3.存储地址:
Google云
百度云:
提取码:

什么是置信度,置信度表示检测框检测的物体,是前景还背景的可能性,即是否含有目标物体的可能性
置信度的loss,往往由两部分组成,一是含有物体的loss,二是不含物体的loss,将两者分开,是因为要降低不含物体检测框的loss,因为此类检测框太多了,不进行分离,降低比例,会造成其他loss,无效化

  • 1.一 论文导读
  • 2.二 论文精读
  • 3.三 代码实现
  • 4.四 问题思索
  • 5.五 实验参数设置
  • 6.六 额外补充

《You Only Look Once:Unified,Real-Time Object Detection》
—你只看一次的神经网络图像检测算法
作者:Joseph Redmon ,etc
单位:华盛顿大学
发表会议及时间:IEEE 2016
Submission history
From: Joseph Redmon [view email]
[v1] Mon, 8 Jun 2015 19:52:52 UTC (5,267 KB)
[v2] Tue, 9 Jun 2015 07:51:14 UTC (5,267 KB)
[v3] Thu, 11 Jun 2015 19:21:47 UTC (5,267 KB)
[v4] Thu, 12 Nov 2015 22:53:44 UTC (4,483 KB)
[v5] Mon, 9 May 2016 22:22:11 UTC (14,934 KB)


  • Abstract
    We present YOLO, a new approach to object detection. Prior work on object detection repurposes classifiers to perform detection. Instead, we frame object detection as a regression problem to spatially separated bounding boxes and associated class probabilities. A single neural network predicts bounding boxes and class probabilities directly from full images in one evaluation. Since the whole detection pipeline is a single network, it can be optimized end-to-end directly on detection performance.
    Our unified architecture is extremely fast. Our base YOLO model processes images in real-time at 45 frames per second. A smaller version of the network, Fast YOLO, processes an astounding 155 frames per second while still achieving double the mAP of other real-time detectors. Compared to state-of-the-art detection systems, YOLO makes more localization errors but is far less likely to predict false detections where nothing exists. Finally, YOLO learns very general representations of objects. It outperforms all other detection methods, including DPM and R-CNN, by a wide margin when generalizing from natural images to artwork on both the Picasso Dataset and the People-Art Dataset.

yolov1在当时的优缺点:


  • 速度快
    把检测作为回归问题处理流程简单,仅需输入一张图
  • 泛化能力强
    yolo可以学习到物体的通用特征,泛化能力更好。应用在新领域不会崩掉(DPM,R-CNN相比还是因为利用了整张图的信息)
  • 全局推理
    对整张图处理,利用全图信息,假阳性错误少(就是把背景当做物体错误率少)

  • 精度与sta比不高
  • 对小物体不友好

1.如果一个网格内出现了两个物体的中心(就是每个cell,只能预测一个类别,无法解决物体重叠的问题)
2.一个网格里包含了很多小物体(比如天空中的鸟群)
以上两种情况均只能检测出一类和一个物体,所以yolo对靠的很近的物体以及小目标群体检测效果不是很好


YoLO v1优点:
1.速度很快并且容易优化:
只需读取一次图像,就可进行端对端优化,将检测问题转化为回归问题,可满足实时需求
2.背景误识别率低:
对全图进行卷积学习,综合考虑了全图的上下文信息,背景误检测少
3.泛化性能好:
也是由于综合考虑了图片全局,因此能够更好地学习数据集的本质表达,泛化性能更好


相较于Faster R-CNN , YOLO v1存在明显不足:
1.定位精度不够,尤其是小目标(网络较深细粒度特征及小物体特征不明显)
2.对密集目标的识别存在不足(因为一个gride cell只能预测一个物体)
3.异常宽长比的目标识别不佳(因为直接学习的框的值)


一 论文导读

YOLO v1_第1张图片


Yolo算法流程:

  • 1.将图片隐式的分为S*S个网格

  • 2.物体的中心落在哪个网格内,哪个网格就负责预测这个物体

  • 3.每个网格需要预测B个框,C个类别
    YOLO v1_第2张图片

  • 4.每个框包含了位置信息和置信度(x, y, w, h, confidence),所以一张图预测的信息一共有:S*S*(B*5+C)
    x,y为中心点坐标, w,h为框的宽度(均经过归一化,值0-1)。
    confidence是置信度,所以一张图预测的信息一共有:S*S*(B*5+C)


YOLO v1_第3张图片

第一项为物体先验概率,如果框内包含物体值为1,否则为0.
第二项为预测框与真实框的交并比(0-1)
所以Confidece的取值范围为0-1

由公式可以知道Confidence的大小反映了两个信息:
1.预测框内包含物体的置信度是多少
2.预测框预测的准确度


二 论文精读

核心思想

YOLO v1_第4张图片

YOLO v1_第5张图片


网络结构

YOLO v1_第6张图片
模型最后的输出大小是7*7*30
7*7对应原图分成7*7的49块,其实这么说,不严谨,只是原作者这么说,所以大家都这么说,要比较好的了解这个概念,需要比较清晰的了解卷积和感受野的感念才行。
30:分 5(第一个候选框) +5(第二个候选框) +20(20个类别);这30个参数怎么可以对应到他实际的物理意义呢,比如为什么前5个参数是第一个候选框的预测值,那为什么不可以是20个类别值呢?因为损失函数啦,损失函数可以让计算机学到每个预测参数的物理意义值。这就是神经网络,深度学习的魅力所在啊!

YOLO v1_第7张图片


YOLO v1_第8张图片

YOLO v1_第9张图片

YOLO v1_第10张图片

三 代码实现

四 问题思索

五 实验参数设置

训练检测网络
训练数据集:PASCAL VoC 2007&2012数据集训练尺寸:448*448
初始化方式
预训练分类模型的卷积层初始化yolo的前20卷积层,其余层随机初始化超参数设置
btahcsize: 64 momentum: 0.9decay: 0.0005 epochs : 135
learning rate:第一个epoch学习率从0.001逐渐增长到0.01
2-75:0.01
76-105:0.001
106-135:0.0001

六 额外补充

YOLO v1_第11张图片


YOLO v1_第12张图片

第一项为物体先验概率,如果框内包含物体值为1,否则为0.
第二项为预测框与真实框的交并比(0-1)
所以Confidece的取值范围为0-1

由公式可以知道Confidence的大小反映了两个信息:
1.预测框内包含物体的置信度是多少
2.预测框预测的准确度

你可能感兴趣的:(YOLO v1)