YOLO论文阅读笔记

YOLO简介

首先贴下资源
yolo的官方文档
yolo的论文地址
yolo的github源码地址
yolo是RBG大神在rcnn系列之后的又一力作。针对在目标检测领域中无法达到实时检测效果的问题,独辟蹊径,为目标检测提供了新的思路。之前在rccn系列中,作者第一步是先通过一定的算法筛选出一些region proposal(大概2000个左右),然后再用cnn提取region proposal的特征,最后拿着cnn提去的特征放到svm分类器中。这种做法可以得到一个很高的检测精度,但是在实际应用中,由于region proposal太多,每次检测耗时很长,因此无法达到实时性的检测。所以作者在rcnn系列的基础上,提出了YOLO(you only look once),仅仅对input进行一遍扫描即可识别出图像中的object的bounding box和所属的类别,将目标检测问题转化到回归上。

YOLO结构

这里写图片描述
上图是yolo的结构图,可以看出:input size=448x448x3;经过一系列的卷积与池化得到output size=7x7x30
下图是一个input,yolo把input分割成SxS(7x7)个大小相等的grid,然后每个grid负责检测B(B=2)个object。(因此yolo最终最多可以回归SxSxB也就是7x7x2=98个object)
这里写图片描述
下面分析yolo的output,yolo的output是一个7x7x30的三维矩阵,前面的7x7与input的grid对应,后面的30维是8维回归box的坐标,20维是类别,因为每个grid要回归两个bounding box,每个bounding box 有x(x坐标),y(y坐标),w(bounding box的宽),h(高)以及一个confidence(当前这个boudding box是object的置信度),然后后面是20个classes(因为yolo这个版本要检测20类object)最后得到:(2x(4+1)+20)= 30
这里写图片描述
input和output都介绍完以后,接下来简单介绍下yolo的误差函数,见下图。因为yolo是在output直接输出了bounding box的坐标和其他的相关信息,所以在这个过程最重要的就是如何设计损失函数,在每个grid的30x1的回归值都是数字,但是每个数字所代表的含义肯定不一样。如果简单的采用均方误差来处理可能会出现如下问题:

  • 8维的localization error和20维的classification error一样对待肯定是不合理的
  • 如果一个grid中没有object,那么就会将这些网格中bounding box的confidence设置为0,如果图片中object的较少,那么这种做法很可能导致网络的不稳定,甚至是发散。

解决的办法:

  • 加入一个权重参数,更加重视8维坐标预测,在这些损失赋予更大的loss weight =
  • 对于没有object的bounding box的confidence loss设置一个比较小的loss weight = 0.5
  • 有object的bounding box的取正常的loss weight = 1。

对不同大小的box预测中,相比于大box预测偏一点,小box预测偏一点肯定更不能被忍受的。而sum-square error loss中对同样的偏移loss是一样。 为了缓和这个问题,作者用了一个比较取巧的办法,就是将box的width和height取平方根代替原本的height和width。这个参考下面的图很容易理解,小box的横轴值较小,发生偏移时,反应到y轴上相比大box要大。
这里写图片描述

YOLO的优点与缺点

  • 优点
    速度快,能够达到实时要求。
    使用全图作为context信息,背景错误(把背景当做object)少。
    泛化能力强(因为是直接output出位置信息而非分类,相当于是网络读懂了object的特征)。
  • 缺点
    OLO对相互靠的很近的物体,还有很小的群体 检测效果不好,这是因为一个网格中只预测了两个框,并且只属于一类。
    对测试图像中,同一类物体出现的新的不常见的长宽比和其他情况是。泛化能力偏弱。
    由于损失函数的问题,定位误差是影响检测效果的主要原因。尤其是大小物体的处理上,还有待加强。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值