【CV论文阅读】YOLO:Unified, Real-Time Object Detection
YOLO的一大特点就是快,在处理上可以达到完全的实时。原因在于它整个检测方法非常的简洁,使用回归的方法,直接在原图上进行目标检测与定位。
多任务检测:
网络把目标检测与定位统一到一个深度网络中,而且可以同时在原图上检测多个物体。步骤总结如下:
(1)把图片分割成S*S个方格,假如某个物体的中点落在其中一个方格,那么这个方格就对这个物体负责。这里说的物体的中点应该是指ground truth box中的物体的中心。
(2)对于每个格子,预测B个bounding box以及相应的confidence。Bounding box 的如何选择让我思考了一番,回忆起faster cnn中,在网络上预测bounding box会有比例与大小,但这里不需要,因为faster cnn中的box的选择其实算是regoin proposal的一部分,而在YOLO这个box直接通过回归方程计算出来的。在这里,confidence的计算包含两个部分:
,当格子中没有物体,则Pr(Object) = 0,否则等于1。可以从式子中看到,它包含了是否存在物体以及预测的精确度两个方面的信息。除此以外,对于bounding box会有四个坐标即x、y、w、h。
(3)对于每个含有物体的格子预测C个类别的概率信息,而且每个格子还要预测B个box,这样最后会得到S*S*(B*5+C)的张量。
以上是根据ground truth box训练的部分。
(4)在test的时候,预测到了S*S*(B*5+C)的张量,把类别概率与confidence相乘,
就得到每个bounding box 的class – specific confidence分数
(5)根据以上得到的分数设置阈值进行过滤,然后执行NMS处理,得到最终检测结果。

网络结构:
网络结构与GoogLeNet非常相似,都使用了1*1的卷积核压缩信息,构造更加非线性的抽象特征,因为这相当于多层感知机的作用。论文中截图的结构,从通道数来看,中间应该缺少了一些卷积层。

一些细节问题:
预训练:使用imageNet预训练,网络结构是前20层网络加上一个平均池化层和一个全连接层。
预测:由于预测需要更加精细的像素,所以把输入扩展成448*448,并且增加了四个卷积层和两个全连接层。在最后一层预测中,需要预测概率和bounding box,这里把bounding box的预测归一化成0到1。
激活函数:最后一层的激活函数使用线性激活函数,而其他层使用leaky ReLU的激活函数:

误差传播:误差的计算采用简单的平方和误差函数。但是,从网络结构可以知道,预测概率的维数比预测bounding box的维数要高,而且,在图片中大多的格子是没有物体的,这会使得它们的confidence趋于0。它们的贡献过大,会使得网络无法收敛。
论文采用一个办法就是加权,赋予不同的权值,对于预测bounding box的
,而对于没有object的格子的误差赋予权值
。同时,对于大的box的小误差肯定要比小box的小误差影响更小,于是,采用对w,h,x,y取平方根的做法,因为平方根函数的图像随着x的增大会变得平缓。
此外(这里还没搞得太明白),一个网格可能会预测多个box,希望每个box负责专门的object的预测。方法是,对于一个物体的truth box,看哪个bounding box的IOU更大,就让它负责这个box。我估计这个负责的分配会随着每次的网络的更新会动态的改变选择。前提是,object的中心要落在那个格子里面,于是公式为:

其中
对应格子i如果有物体,那相应的bounding box j负责这个物体的预测。
表示格子i中是否有物体。
训练方法:使用随机梯度下降法,以及dropout的方法。
缺点:
(1)对于靠近的物体,还有很小的群体预测不好。这是因为格子预测的框属于一类的,而且往往格子较大,不能精细。
(2)对于不寻常的长宽比的物体,泛化能力偏弱
(3)误差函数影响定位的精确性。
【CV论文阅读】YOLO:Unified, Real-Time Object Detection的更多相关文章
- 论文阅读 | FCOS: Fully Convolutional One-Stage Object Detection
论文阅读——FCOS: Fully Convolutional One-Stage Object Detection 概述 目前anchor-free大热,从DenseBoxes到CornerNet. ...
- 论文阅读之 DECOLOR: Moving Object Detection by Detecting Contiguous Outliers in the Low-Rank Representation
DECOLOR: Moving Object Detection by Detecting Contiguous Outliers in the Low-Rank Representation Xia ...
- 论文阅读:Adaptive NMS: Refining Pedestrian Detection in a Crowd
论文阅读:Adaptive NMS: Refining Pedestrian Detection in a Crowd 2019年04月11日 23:08:02 Kivee123 阅读数 836 ...
- 【CV论文阅读】 Fast RCNN + SGD笔记
Fast RCNN的结构: 先从这幅图解释FAST RCNN的结构.首先,FAST RCNN的输入是包含两部分,image以及region proposal(在论文中叫做region of inter ...
- 论文阅读:Review of Visual Saliency Detection with Comprehensive Information
这篇文章目前发表在arxiv,日期:20180309. 这是一篇针对多种综合性信息的视觉显著性检测的综述文章. 注:有些名词直接贴原文,是因为不翻译更容易理解.也不会逐字逐句都翻译,重要的肯定不会错过 ...
- [论文理解] Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 简介 Faster R-CNN是很经典的t ...
- 论文笔记:Structure Inference Net: Object Detection Using Scene-Level Context and Instance-Level Relationships
Structure Inference Net: Object Detection Using Scene-Level Context and Instance-Level Relationships ...
- [论文理解]Focal Loss for Dense Object Detection(Retina Net)
Focal Loss for Dense Object Detection Intro 这又是一篇与何凯明大神有关的作品,文章主要解决了one-stage网络识别率普遍低于two-stage网络的问题 ...
- 【CV论文阅读】Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
由RCNN到FAST RCNN一个很重要的进步是实现了多任务的训练,但是仍然使用Selective Search算法来获得ROI,而FASTER RCNN就是把获得ROI的步骤使用一个深度网络RPN来 ...
随机推荐
- JS在即将离开当前页面(刷新或关闭)时触发事件
// onbeforeunload 事件在即将离开当前页面(刷新或关闭)时触发 window.onbeforeunload = function () { return /^\#\/ipinfo/.t ...
- 6.12---bug
- 在C语言中模仿java的LinkedList集合的使用(不要错过哦)
在C语言中,多个数据的储存通常会用到数组.但是C语言的数组有个缺陷,就是固定长度,超过数组的最大长度就会溢出.怎样实现N个数储存起来而不被溢出呢. 学过java的都知道,java.util包里有一个L ...
- [ NOI 2002 ] 银河英雄传说
\(\\\) Description 有 \(n\) 列战场,每一列一开始只有一个战舰,编号就是对应的战场编号. 有 \(m\) 次操作: \(M_{i,j}\) :把 \(i\) 所在的一整列接在 ...
- from scipy import spatial 出现 from .qhull import * ImportError: DLL load failed: The specified module could not be found. 错误
错误描述: 本人机器window8.1 64位,python2.7. Traceback (most recent call last): File "C:/Users/Hamid/Docu ...
- reduce的特殊用法
//计算数组中每个元素出现的次数var arr = ["apple","orange","apple","orange" ...
- 利用eclipse调试JDK源码
先看效果图 综合网上各种教程,总结如下 新建 D:/jdk/src .D:/jdk/debug 目录 src存放源码 debug存放编译结果 将 %JAVA_HOME%/src.zip 解压到 D:/ ...
- Selenium Grid操作使用指南
一.实现串行多浏览器执行脚本1.启动selenium-server-standalonejava -jar selenium-server-standalone-2.44.0.jar2.脚本代码 fr ...
- Angular——单页面与路由的使用
单页面 SPA(Single Page Application)指的是通单一页面展示所有功能,通过Ajax动态获取数据然后进行实时渲染,结合CSS3动画模仿原生App交互,然后再进行打包(使用工具把W ...
- Quartus 12的TimeQuest Timing Analyzer
Quartus 12的TimeQuest Timing Analyzer 1.在Quartus II软件打开和设置设计 安装路径下\qdesigns\fir_fliter文件.在Processing ...