CVPR2016: You Only Look Once:Unified, Real-Time Object Detection

转载请注明作者:梦里茶

YOLO,You Only Look Once,摒弃了RCNN系列方法中的region proposal步骤,将detection问题转为一个回归问题

网络结构

  • 输入图片:resize到448x448

  • 整张图片输入卷积神经网络(24层卷积+2层全连接,下面这张示意图是Fast YOLO的)

  • 将图片划分为SxS个格子,S=7
  • 输出一个SxS大小的class probability map,为图片上每个格子所属的分类

  • 输出为每个格子输出B个bounding box,每个bounding box由x,y,w,h表示,为每个bounding box输出一个confidence,即属于前景的置信度

于是输出可以表示为一个SxSx(B*(4+1)+C)的tensor,训练只需要根据数据集准备好这样的tensor进行regression就行

  • 对所有bounding box按照confidence做非极大抑制,得到检测结果

训练

Loss

  • 前两行为定位loss,λcoord为定位loss的权重,论文中取5
  • 第三行为一个bounding box属于前景时的置信度回归loss,
  • 当格子中有对象出现时,真实Ci为1,
  • 1ijobj是一个条件表达式,当bounding box“负责(is responsible for)”图中一个真实对象时为1,否则为0,
  • 所谓“负责”,指的是在当前这个格子的所有bounding box中,这个bounding box与真实的bounding box重叠率最大
  • 第四行为一个bounding box属于背景时的置信度回归loss,
  • 为了避免负样本过多导致模型跑偏, λnoobj=0.5,
  • 1ijnoobj是一个条件表达式,为1ijobj取反
  • 于是我们可以发现一个格子的两个bounding box的分工:一个贡献前景loss,一个贡献背景loss ,不论是前景背景box,我们都希望它们的confidence接近真实confidence,实际上,如果 λnoobj=1, 第四五行可以合并为一项求和,但由于背景box太多,所以才单独拆开加了权重约束

  • 第五行为分类loss,1iobj是一个条件表达式,当有对象出现在这个格子中,取1,否则取0

YOLO里最核心的东西就讲完了,其实可以把YOLO看作固定region proposal的Faster RCNN,于是可以省掉Faster RCNN里region proposal部分,分类和bounding box regression跟Faster RCNN是差不多的

细节

Leaky Relu

网络中只有最后的全连接层用了线性的激活函数,其他层用了leaky Relu:f(x)=max(x, 0.1x)

对比Relu和leaky Relu

在x小于0的时候,用了0.1x,避免使用relu的时候有些单元永远得不到激活(Dead ReLU Problem)

Fast YOLO

卷积层更少,只有9层卷积+2层全连接,每层filters也更少,于是速度更快

实验效果

  • 对比当前最好方法:

Fast YOLO速度最快,准确率不太高,但还是比传统方法好,YOLO则比较中庸,速度不慢,准确率也不太高,但也还行。

  • 再看看具体是在哪些类型的图片上出错的:

主要是定位不准(毕竟没有精细的region proposal),但是在背景上出错较少(不容易把背景当成对象)

缺点

  • 固定的格子是一种很强的空间限制,7x7的格子决定了整张图片最多预测98个对象,对于对象数量很多的图片(比如鸟群)无能为力
  • 难以泛化到其他形状或角度的物体上
  • 损失函数没有考虑不同尺寸物体的error权重,大box权重和小box权重一样

Summary

Anyway,YOLO结构还是挺优雅的,比Faster RCNN黑科技少多了,更重要的是,它是当时最快的深度学习检测模型,也是很值得肯定的。

读论文系列:Object Detection CVPR2016 YOLO的更多相关文章

  1. 读论文系列:Deep transfer learning person re-identification

    读论文系列:Deep transfer learning person re-identification arxiv 2016 by Mengyue Geng, Yaowei Wang, Tao X ...

  2. 读论文系列:Object Detection SPP-net

    本文为您解读SPP-net: Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition Motivat ...

  3. 读论文系列:Object Detection NIPS2015 Faster RCNN

    转载请注明作者:梦里茶 Faster RCNN在Fast RCNN上更进一步,将Region Proposal也用神经网络来做,如果说Fast RCNN的最大贡献是ROI pooling layer和 ...

  4. 读论文系列:Object Detection ICCV2015 Fast RCNN

    Fast RCNN是对RCNN的性能优化版本,在VGG16上,Fast R-CNN训练速度是RCNN的9倍, 测试速度是RCNN213倍:训练速度是SPP-net的3倍,测试速度是SPP-net的3倍 ...

  5. 读论文系列:Object Detection ECCV2016 SSD

    转载请注明作者:梦里茶 Single Shot MultiBox Detector Introduction 一句话概括:SSD就是关于类别的多尺度RPN网络 基本思路: 基础网络后接多层featur ...

  6. [论文阅读]Object detection at 200 Frames Per Second

    本文提出了一个有效且快速的目标检测器,该目标检测器得速度可以达到200+fps,在Pascal VOC-2007上的mAP比Tiny-Yolo-v2高出14. 本文从以下三个方面对网络进行改进. 网络 ...

  7. 读论文系列:Nearest Keyword Search in XML Documents中使用的数据结构(CT、ECT)

    Reference: [1]Y. Tao, S. Papadopoulos, C. Sheng, K. Stefanidis. Nearest Keyword Search in XML Docume ...

  8. YOLO object detection with OpenCV

    Click here to download the source code to this post. In this tutorial, you’ll learn how to use the Y ...

  9. 论文阅读笔记三十五:R-FCN:Object Detection via Region-based Fully Convolutional Networks(CVPR2016)

    论文源址:https://arxiv.org/abs/1605.06409 开源代码:https://github.com/PureDiors/pytorch_RFCN 摘要 提出了基于区域的全卷积网 ...

随机推荐

  1. css文字居中、图片居中、div居中解决方案

    一.文字居中 若文字只有一行 <!--html代码--> <div class="box"> <p class="text"> ...

  2. Django学习-23-ModelForm

    Model + Form ----> 验证 + 数据库操作 class UserInfo(models.Model): username = models.CharField(max_lengt ...

  3. IP地址校验

    function validIp(fieldname,fielddesc){ var value = $.trim($("#key_"+fieldname).val()); var ...

  4. jquery 记住账号 记住密码

    <body> <label><input type="checkbox" onclick="loginBtn_user()" /& ...

  5. Hive 编程之DDL、DML、UDF、Select总结

    Hive的基本理论与安装可参看作者上一篇博文<Apache Hive 基本理论与安装指南>. 一.Hive命令行 所有的hive命令都可以通过hive命令行去执行,hive命令行中仍有许多 ...

  6. java保留小数点后位数以及输出反转数字

    //方法一double b = 8.0/3.0; //与C语言不同,此处8.0和8有所区分 String format = String.format("%.2f,b"); //表 ...

  7. 2.3.2 InnoDB内存

    前面介绍了一些InnoDB的体系架构(http://www.cnblogs.com/tanwt/p/8530987.html) 接下来介绍一下InnoDB 的内存 1.缓冲池 首先我们需要了解的是In ...

  8. 【Luogu3807】【模板】卢卡斯定理(数论)

    题目描述 给定\(n,m,p(1≤n,m,p≤10^5)\) 求 \(C_{n+m}^m mod p\) 保证\(P\)为\(prime\) \(C\)表示组合数. 一个测试点内包含多组数据. 输入输 ...

  9. 【USACO09OCT】热浪Heat Wave

    题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ...

  10. [CF908D]New Year and Arbitrary Arrangement

    题面在这里 题意 给定三个数\(k,pa,pb\),每次有\(\frac{pa}{pa+pb}\)的概率往后面添加一个'\(a\)',每次有\(\frac{pb}{pa+pb}\)的概率往后面添加一个 ...