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 ...
随机推荐
- CAR-T|Single cell plan|Extracellular RNA|
生物医疗大数据 安吉丽娜朱莉发现抑癌基因事件,BRCA突变与乳腺癌关联. 个体化测序商品23 and me 多组学数据研究:eg:太空和地球双胞胎发现生化指标差不多. 研究模式和工业模式相结合. 研究 ...
- Java中常用的API(四)——其他
前面说三篇文章分别介绍了Object.String.字符缓冲类的API,接下来我们简要介绍一下其他常用的API. 1.System System类用于获取各种系统信息,最为常用的是: System.o ...
- js样式添加
document.getElementsByName("spans")[index].style.color = "blue";
- 吴裕雄--天生自然TensorFlow高层封装:Estimator-自定义模型
# 1. 自定义模型并训练. import numpy as np import tensorflow as tf from tensorflow.examples.tutorials.mnist i ...
- 吴裕雄--天生自然 JAVA开发学习:运算符
public class Test { public static void main(String[] args) { int a = 10; int b = 20; int c = 25; int ...
- 01 语言基础+高级:1-4 接口与多态_day09【继承、super、this、抽象类】
day09[继承.super.this.抽象类] 三大特性——继承方法重写super关键字this关键字抽象类 教学目标能够解释类名作为参数和返回值类型能够写出类的继承格式能够说出继承的特点能够说出子 ...
- Python—快速排序算法
# _*_ coding=utf-8 _*_ """ 快速排序: 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比 另外一部分的所有数据都要小,然后 ...
- 帝国CMS7.5后台美化模板 后台风格修改 帝国CMS后台模板
都知道帝国CMS功能强悍,生成静态html也非常好用.可是有时候他的后台样式,丑的让你不想用,dede呢,漏洞太多,PHPCMS好看,可是门槛要求高,你会写PHP才行. 帝国CMS后台美化模板:全面美 ...
- CF809C(找规律+数位DP)
老年选手需要多写一些思维题qwq. 通过打表很容易发现对于(i,j),值为(i-1)^(j-1)+1,然后本题就没了qwq. 矩阵差分还是很容易想到的,容斥成四个矩阵. 然后看到异或很容易想到三件事: ...
- git的基础使用
GIT """ 什么是git:版本控制器 - 控制的对象是开发的项目代码 代码开发时间轴:需求1 > 版本库1 > 需求2 > 版本库2 > 版本 ...