Coursera, Deep Learning 4, Convolutional Neural Networks, week3, Object detection
学习目标
- Understand the challenges of Object Localization, Object Detection and Landmark Finding
- Understand and implement non-max suppression
- Understand and implement intersection over union
- Understand how we label a dataset for an object detection application
- Remember the vocabulary of object detection (landmark, anchor, bounding box, grid, ...)
Objective Localization
分类,分类加定位,检测。前两种问题都是针对一个object, detection 是针对多个object

在classification with localization 问题中,就是在output 的 softmax 输出的基础上在加了4个参数来定位bounding box.


Landmark detection

Object detection


Sliding windown detection 算法最大的缺点是computational cost. 在早期人们用简单的线性分类器去分类的时候还好,现在用conv net 去分类尤其在stride 很小的情况下就cost太高了。幸运的是这个问题有办法解决. 接着往下看
Convolutional implementation of Sliding Windows
下图表示了怎么把fully connected layer 转化为convolutional layer.
下面显示4次计算高度重复,下图第二行演示了使用第一行训练出来的filter parameter 去预测label,这样可以图像的share的重合的部分,极大提高计算效率。Convolutional 实现可以一次性求出结果而不是循环很多次.
现在还剩一个问题就是只考虑了分类问题没有考虑定位localization问题. 那么怎么定位呢,我们很容易想到前面介绍的classification+localization, 请继续往下看。

下图演示了用3x3的分割来做分类和定位,实际工作中会更细的分割,比如19x19。
一个对象的midpoint在哪个cell里,就说这个对象属于哪个cell.
YOLO 算法
YOLO 算法就是前面介绍的知识点的集成,对每一个小方框使用了classification+localization, 然后对整个9个小方框并没有循环,而是使用了convolutional 实现一次性计算。
YOLO 算法能更精确的预测bounding box. 因为解决了不能正好框住object的问题.

bounding box 的encoding. bh, bw 是和小框边长的比例,可以>1.

IoU (Intersection over Union)
Non-max suppression
解决同一个对象被多次检测到的情况, 去除那些可能性小的bounding box 只留下最可能的


Anchor Boxes
Anchor Boxes 是干什么的?- 使得可以检测多个Object.
为什么之前讲的就是一个cell 只能检测一个Object呢?因为一个y 向量里面只有一个bounding box.
学习过程了产生了一个问题,为什么一定要预定义一些Anchor Box呢?直接像只处理单个Object那样测量一个bounding box, 只不过对多个object的情况测量多个bounding box 不就行了吗? 这里加一些个人理解,我觉得测量多个bounding box这样做也可以,本质上来说Anchor Box 就是bounding box, 只是Anchor Box 尺寸固定更加容易对input 图片标注. 纯属个人理解,希望有人看到这里指教一下.



怎么选Anchor box呢?
人们一般手动选择5-10个可以cover 待检测对象的box. 更好的做法是用K-means算法来归类待检测对象,然后自动选出anchor box.
YOLO Algorithm
前面讲了核心的 YOLO算法,然后又讲了一个特殊情况的处理,已经一个对象多次被检测到的情况就需要 non-max suppression, 多个对象共同属于一个cell的情况就需要 Anchor Box. 所以这里集成了完整的YOLO算法.



R-CNN
Region CNN - 忽略一些明显没有用的grid cell

Coursera, Deep Learning 4, Convolutional Neural Networks, week3, Object detection的更多相关文章
- Coursera, Deep Learning 4, Convolutional Neural Networks - week1
CNN 主要解决 computer vision 问题,同时解决input X 维度太大的问题. Edge detection 下面演示了convolution 的概念 下图的 vertical ed ...
- Coursera, Deep Learning 4, Convolutional Neural Networks - week4,
Face recognition One Shot Learning 只看一次图片,就能以后识别, 传统deep learning 很难做到这个. 而且如果要加一个人到数据库里面,就要重新train ...
- Coursera, Deep Learning 4, Convolutional Neural Networks - week2
Case Study (Note: 红色表示不重要) LeNet-5 起初用来识别手写数字灰度图片 AlexNet 输入的是227x227x3 的图片,输出1000 种类的结果 VGG VGG比Ale ...
- Deep Learning Tutorial - Convolutional Neural Networks(LENET)
CNN很多概述和要点在CS231n.Neural Networks and Deep Learning中有详细阐述,这里补充Deep Learning Tutorial中的内容.本节前提是前两节的内容 ...
- 论文笔记之:Learning Multi-Domain Convolutional Neural Networks for Visual Tracking
Learning Multi-Domain Convolutional Neural Networks for Visual Tracking CVPR 2016 本文提出了一种新的CNN 框架来处理 ...
- [CVPR2015] Is object localization for free? – Weakly-supervised learning with convolutional neural networks论文笔记
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #323333 } p. ...
- 【论文阅读】Learning Dual Convolutional Neural Networks for Low-Level Vision
论文阅读([CVPR2018]Jinshan Pan - Learning Dual Convolutional Neural Networks for Low-Level Vision) 本文针对低 ...
- 【DeepLearning学习笔记】Coursera课程《Neural Networks and Deep Learning》——Week2 Neural Networks Basics课堂笔记
Coursera课程<Neural Networks and Deep Learning> deeplearning.ai Week2 Neural Networks Basics 2.1 ...
- 论文阅读:MDNet: Learning Multi-Domain Convolutional Neural Networks for Visual Tracking
前言 CVPR2016 来自Korea的POSTECH这个团队 大部分算法(例如HCF, DeepLMCF)只是用在大量数据上训练好的(pretrain)的一些网络如VGG作为特征提取器,这些做法 ...
随机推荐
- python基础-守护进程、守护线程、守护非守护并行
守护进程 1.守护子进程 主进程创建守护进程 其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemonic pro ...
- Day033--Python--进程
什么是进程? 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实体 ...
- CodeForces - 18A Triangle(数学?)
传送门 题意: 给出三个点的坐标,初始,这三个点可以构成一个三角形. 如果初始坐标可以构成直角三角形,输出"RIGNT". 如果某个点的 x或y 坐标移动一个单位后可以组成直角三角 ...
- Educational Codeforces Round 55 (Rated for Div. 2) B. Vova and Trophies
传送门 https://www.cnblogs.com/violet-acmer/p/10035971.html 题意: Vova有n个奖杯,这n个奖杯全部是金奖或银奖,Vova将所有奖杯排成一排,你 ...
- React学习及实例开发(一)——开始(转载)
https://www.cnblogs.com/MaiJiangDou/p/9245063.html#4136668 转载 一.构建一个新项目 1.命令行运行如下命令,构建一个新的react项目 np ...
- linux下静态库和动态库的制作
一.静态库 1.编写.c文件,在其中实现函数源代码,同时制作头文件 2.将.c文件转为.o文件 gcc -c xxx.c -o xxx.o 3.将*.o转换成库文件 a ...
- POJ 3713 Transferring Sylla (三联通分量)
Transferring Sylla Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 3533 Accepted: 988 ...
- bigdata learning unit two--Spark environment setting
1.下载 Spark安装之前的准备 文件的解压与改名 tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz rm -rf spark-2.2.0-bin-hadoop2.7. ...
- HTML学习笔记Day14
一.移动端页面布局 1.移动端的屏幕尺寸 移动端屏幕尺寸:屏幕对角线的长度,单位是英寸(1英寸=2.45厘米): 常见的尺寸有:2.4,2.8,3.5,3.7,4.2,5.0,5.5,6.0 2.屏幕 ...
- (map,c_str())水果 hdu1263
水果 http://acm.hdu.edu.cn/showproblem.php?pid=1263 Time Limit: 2000/1000 MS (Java/Others) Memory L ...


