cs231n spring 2017 lecture11 Detection and Segmentation
1. Semantic Segmentation
把每个像素分类到某个语义。
为了减少运算量,会先降采样再升采样。降采样一般用池化层,升采样有各种“Unpooling”、“Transpose Convolution”(文献中也叫“Upconvolution”之类的其他名字)。
这个问题的训练数据的获得非常昂贵,因为需要一个像素一个像素的贴标签。

2. Classification + Localizatoin
一般用同一个网络,一方面得出分类,一方面得出Bounding box的位置和大小。

3. Object Detection
预先设定好要找哪些objects,一旦图片里发现,就框出来。Classification + Localizatoin一般是针对单个物体,而这里是针对多个物体。
Sliding window:计算量太大,舍弃。
Region Proposals:先找可能有物体的图片区域,然后一个个处理,在CPU上大概几秒的时间。这种方法在深度学习之前就出来了。
R-CNN:先找出region proposal,然后把region proposal调整成神经网络需要的大小,然后给神经网络计算,最后通过SVM分类。
训练很慢(84h),也非常耗内存。预测也很慢(47秒 VGG16)

Fast R-CNN:相比R-CNN快很多,训练(8.75h),预测(计算region proposal花2秒,神经网络预测花0.32秒)。
训练的时候把下图中的Linear + softmax和Linear加起来得到multi-task loss。

Faster R-CNN:用卷积层去预测region proposal。比Fast R-CNN更快,预测耗时0.2秒。

YOLO(Redmon et al., CVPR 2016)/SSD(Liu et al, "Single-Shot MultiBox Detecotr", ECCV 2016):这两种方法没有用region proposal,更快,但是相对不那么准。Faster R-CNN更慢,但是更准。
Object Detection + Captioning (DenseCap, CVPR 2016)
4. Instance Segmentation
Semantic Segmentation和Object Detection的结合,找出多个物体,并且判断每个像素属于哪个分类。
Mask R-CNN (He et al., 2017),网络有两个分支,第一个执行Object Detection,第二个执行Semantic Segmentation。这个网络把之前的都融合起来,是集大成者,表现非常非常好。在Object Detection分支加入对人体关节的识别,还能识别人的pose。基于Faster R-CNN,接近real-time。

cs231n spring 2017 lecture11 Detection and Segmentation的更多相关文章
- cs231n spring 2017 lecture11 Detection and Segmentation 听课笔记
1. Semantic Segmentation 把每个像素分类到某个语义. 为了减少运算量,会先降采样再升采样.降采样一般用池化层,升采样有各种"Unpooling"." ...
- cs231n spring 2017 lecture13 Generative Models 听课笔记
1. 非监督学习 监督学习有数据有标签,目的是学习数据和标签之间的映射关系.而无监督学习只有数据,没有标签,目的是学习数据额隐藏结构. 2. 生成模型(Generative Models) 已知训练数 ...
- cs231n spring 2017 lecture9 CNN Architectures 听课笔记
参考<deeplearning.ai 卷积神经网络 Week 2 听课笔记>. 1. AlexNet(Krizhevsky et al. 2012),8层网络. 学会计算每一层的输出的sh ...
- cs231n spring 2017 lecture7 Training Neural Networks II 听课笔记
1. 优化: 1.1 随机梯度下降法(Stochasitc Gradient Decent, SGD)的问题: 1)对于condition number(Hessian矩阵最大和最小的奇异值的比值)很 ...
- cs231n spring 2017 Python/Numpy基础 (1)
本文使根据CS231n的讲义整理而成(http://cs231n.github.io/python-numpy-tutorial/),以下内容基于Python3. 1. 基本数据类型:可以用 prin ...
- cs231n spring 2017 lecture13 Generative Models
1. 非监督学习 监督学习有数据有标签,目的是学习数据和标签之间的映射关系.而无监督学习只有数据,没有标签,目的是学习数据额隐藏结构. 2. 生成模型(Generative Models) 已知训练数 ...
- cs231n spring 2017 lecture9 CNN Architectures
参考<deeplearning.ai 卷积神经网络 Week 2 听课笔记>. 1. AlexNet(Krizhevsky et al. 2012),8层网络. 学会计算每一层的输出的sh ...
- cs231n spring 2017 lecture7 Training Neural Networks II
1. 优化: 1.1 随机梯度下降法(Stochasitc Gradient Decent, SGD)的问题: 1)对于condition number(Hessian矩阵最大和最小的奇异值的比值)很 ...
- cs231n spring 2017 Python/Numpy基础
本文使根据CS231n的讲义整理而成(http://cs231n.github.io/python-numpy-tutorial/),以下内容基于Python3. 1. 基本数据类型:可以用 prin ...
随机推荐
- [CF百场计划]#2 Codeforces Round #618 (Div. 2)
A. Non-zero Description: Guy-Manuel and Thomas have an array \(a\) of \(n\) integers [\(a_1, a_2, \d ...
- UML-操作契约总结
1.操作契约属于什么? 属于用例模型 如图: 2.操作契约在那个阶段引入? 在细化阶段,并非初始阶段. 3.哪些需要写操作契约? 1).最复杂的系统操作 2).最微妙的系统操作
- ZJNU 1223 - 素数距离——高级
因为最大可以达到int极限 明显直接筛选不可能完成 所以从其因子入手 因为任何不是素数的数都有除了1与其自身之外的因子 因此,我们筛出2^(31/2)≍46350之内的所有素数,以其作为因子再将题目给 ...
- iTOP-4418开发板Qt Creator 编译注意事项
用“Qt Creator3.2.2”打开“qt4.7.1”环境下的工程文件可能会提示版本太旧.环境不匹 配导致程序无法编译,解决办法:建立新的工程把测试程序代码粘贴上去即可(界面需要自己 添加). 在 ...
- 吴裕雄--天生自然 PYTHON3开发学习:面向对象
class MyClass: """一个简单的类实例""" i = 12345 def f(self): return 'hello wor ...
- Docker容器化【Dockerfile编写&&搭建与使用Docker私有仓库】
# Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Docker镜像与容器相关命令 掌握Tomcat Nginx 等软件的常用 ...
- E. Arson In Berland Forest(思维,找二维阵列中的矩阵,二分)
题:https://codeforces.com/contest/1262/problem/E 分析:预处理出阵列中的矩阵,然后二分答案还原题目的烧火过程,判断是否满足要求 #include<b ...
- SaltStack事件驱动 – event reactor
Event是SaltStack里面的对每个事件的一个记录,它相比job更加底层,Event能记录更加详细的SaltStack事件,比如Minion服务启动后请求Master签发证书或者证书校验的过程, ...
- Linux 进程信号量
#include<stdlib.h> #include<stdio.h> #include<sys/types.h> #include<sys/ipc.h&g ...
- set_include_path详细解释(转)
首先我们来看这个全局变量:__FILE__它表示文件的完整路径(当然包括文件名在内)也就是说它根据你文件所在的目录不同,有着不同的值:当然,当它用在包行文件中的时候,它的值是包含的路径: 然后:我们看 ...