【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来 ...
随机推荐
- LN : leetcode 217 Contains Duplicate
lc 217 Contains Duplicate 217 Contains Duplicate Given an array of integers, find if the array conta ...
- 程序员必知的LinuxShell命令
程序员必知的LinuxShell命令 grep (Globle Regular Expression Print全局正则表达式) 命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的 ...
- Codewars练习Python
计算一个数组的中间数,数的两边和相等,并返回index值 如:数组[1,2,3,4,6] 返回3(数组序号从0开始) def find_even_index(arr): ""&qu ...
- C语言常见问题总结
1.多次运行程序 解决方法: 错误原因是,已经编译运行出一个exe,没有关闭此exe,又点击编译运行. 应该将之前运行出的exe关闭,再来运行代码 2.单精度类型和双精度类型如何区分使用... 解决方 ...
- Android ListView绑定数据
ListView绑定数据的三层: ListView绑定数据源从逻辑上可以分为三层:UI层,逻辑层,数据层. UI层:UI层即是ListView控件. 数据层:要展示到ListView控件上面的数据. ...
- R语言常用数学函数
语言的数学运算和一些简单的函数整理如下: 向量可以进行那些常规的算术运算,不同长度的向量可以相加,这种情况下最短的向量将被循环使用. > x <- 1:4 > a <- 1 ...
- 场景分割:MIT Scene Parsing 与DilatedNet 扩展卷积网络
MIT Scene Parsing Benchmark简介 Scene parsing is to segment and parse an image into different image re ...
- 【笔记JS/HTML/CSS】ubuntu环境下的sublime text2 安装 zenCoding
刚接触web编程的时候就被老师安利了sublime text2 这个文本编辑器,后来发现它真的挺好用的,无论是windows还是ubuntu,都可以很简单地下载安装(到官网,免费哦),三分钟内就搞定了 ...
- list.sort结果是None
错误原因: list.sort()功能是针对列表自己内部进行排序, 不会有返回值, 因此返回为None. 举例说明: In [19]: a=["a","c" ...
- 【Hadoop】二、HDFS文件读写流程
(二)HDFS数据流 作为一个文件系统,文件的读和写是最基本的需求,这一部分我们来了解客户端是如何与HDFS进行交互的,也就是客户端与HDFS,以及构成HDFS的两类节点(namenode和dat ...