课时26 图像分割与注意力模型(上)

语义分割:我们有输入图像和固定的几个图像分类,任务是我们想要输入一个图像,然后我们要标记每个像素所属的标签为固定数据类中的一个

使用卷积神经,网络为每个小区块进行分类,对在区块的中间打上标签,对图像的全部区块分类完毕,我们就可以得到每个像素所对应的标签,这个操作实际上非常耗时,因为一张图片将会被分割非常多的小块。

如果这些神经网络具有相关的结构,通过这个图像金字塔方法的话,这些图像的输出将会有不同的感受野。

语义分割的迭代精化

我们有一个输入图像,他们被分割成三个通道,我们把输出从卷积神经网络中拿出来,同时把对应的下采样版本的图像拿出来。然后我们再重复这一过程,所以这个过程,其实是有点增加输出有效的感受野,同时也对输入图像有更多的处理。

即时分割或者实时检测和分割:我们有一些分类需要去识别,给定一张图像需要输出对应图像的不同分类实例,而分实例我们也需要分割到具体每个像素是属于哪个实例。

实例分割

我们给他一副输入图像,CNN还要依赖于外部的候选区域,就是计算机视觉中低层次信息得离线处理操作,预测物体在图像中的具体的位置。每个分割候选我们可以抽取出一个bounding box,来提取边界框裁剪输入图像,喂给卷积神经网络去抽取特征,同时并行的执行RCNN,再一次我们拿到相应的块图像,进行裁剪,但这里我们实际上有候选的分割,我们为图像区域背景使用平均颜色做掩码,现在我们拿到这些掩过的输入图像并运行在独立的RCNN中,我们得到两个特征向量,一个是从原始图像框来的,而另一个是去除了背景颜色的图像框,我们把这两个结果联合起来就是我们在CNN做的一样,预测这个图像是属于哪个分类,同时还有一个区域细化的步骤,如果我们想要细化候选区域的话

课时27 图像分割与注意力模型(下)

语义分析通常使用这种深度卷积的实现方式,而实例分割使用的一整个处理流程更像是物体检测

RNN只有一次机会去看输入图像,当他开始工作时,他是把整个图像作为输入的,并且只操作一次,如果他们可以看输入图像多次,这可能会更好,或者他每次曹锁时可以关注到原始的输入图像的不同部分也是更好的。

我们有一个输入图像,并把他喂给卷积神经网络,但是代替原来使用全连接层,我们改使用全卷积层来抽取特征,这将给予我们L*D的特征,而不是原来的单特征向量,因为这个是从卷积层来的。你可以想象他是2D的特征向量,在这个2D向量中的每一个,特征都对应了原始输入图像的某一部分。现在我们用这些特征以某种方式来初始化神经网络的隐层,他现在是计算分布的不同位置,在我们的卷积特征图中,我们最终得到这个L维向量,给予我们一个不同位置可能的分布,现在我们拿着这个概率分布并且拿着他去得到这些特征向量在不同点的权重和,所以我们拿到这个特征权重的合集,然后拿着我们的2D向量并对之进行汇总到一个单向量,由于概率分布,给予了网络予能力去聚集图像的不同部分。

概率分布,我们每次生成两种类型的概率分布,第一个是D向量,就像我们在普通的图片处理一样;第二个就是也会生成一个在原图中位置的概率分布,他们告诉我们下一次我们要看图片的哪个部分。

使用注意力的两个动机

首先使用注意力模型,可以得到可解释的结果;另一个动机是可以缓解计算压力,特别是你的输入非常非常大的时候,你可能需要大量计算,并且每次计算都是输入整个图像,如果使用注意力模型,每次只需要关注需要关注的那一块

hard attention有做计算保存,并且使用的强学习化。

soft attention这个模型的特征图有点固定限制,他只允许以一种固定大小的网络去看。

空间变换网络

有点像纹理映射。这个网络允许我们在输入图像中访问任意大小的部分以一种可微的方式,我们的网络只需要预测转换坐标数据,这个就可以允许我们以任意大小区域去访问输入图像。

空间转换器接受一些输入,这可以是一个原始的输入图像,实际上执行了这个小的本地化网络,将会生成输出作为一个仿射变换坐标的数据。现在这个仿射变换坐标将会被用来计算采样网络,现在我们从本地化网络中预测这个仿射变换,我们映射输出中的每一个像素,输出中每一个像素的坐标把他作为一个输入,这是一个很好的平滑可微的函数。一旦我们有了这个采样网络,我们可以使用双线性插值,去计算输出中每个像素的值。

斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时26&&27的更多相关文章

  1. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时3

    课时3 计算机视觉历史回顾与介绍下 ImageNet有5000万张图片,全部都是人工清洗过得,标注了超过2万个分类. CS231n将聚焦于视觉识别问题,图像分类关注的是大图整体:物体检测告诉你东西具体 ...

  2. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时1

    课时1 计算机视觉历史回顾与介绍上 CS231n:这一一门关于计算机视觉的课程,基于一种专用的模型架构,叫做神经网络(更细一点说,是卷积神经网络CNN).计算机视觉是人工智能领域中发展最为迅猛的一个分 ...

  3. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时24&&25

    课时24 深度学习开源库使用介绍(上) Caffe 被用于重新实现AlexNet,然后用AlexNet的特征来解决其他事情 用C++书写的,可以去GitHub上面读取源代码 主要四个类: Blob可以 ...

  4. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时8&&9

    课时8 反向传播与神经网络初步(上) 反向传播在运算连路中,这是一种通过链式法则来进行递推的计算过程,这个链路中的每一个中间变量都会对最终的损失函数产生影响. 链式法则通常包含两部分,局部梯度和后一层 ...

  5. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时12&&13

    课时12 神经网络训练细节part2(上) 训练神经网络是由四步过程组成,你有一个完整的数据集图像和标签,从数据集中取出一小批样本,我们通过网络做前向传播得到损失,告诉我们目前分类效果怎么样.然后我们 ...

  6. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时11

    课时11 神经网络训练细节part1(下) 2010年,Glorot等人写的论文,我们称之为Xavier初始化,他们关注了神经元的方差表达式.他们推荐一种初始化方式,那就是对每个神经元的输入进行开根号 ...

  7. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时10

    课时10 神经网络训练细节part1(上) 没有大量的数据也不会有太多影响,只需要找一个经过预训练的卷积神经网络然后进行调整 从数据集中抽样一小批数据, 将数据运入卷积神经网络中来计算损失值 通过反向 ...

  8. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时7

    课时7 线性分类器损失函数与最优化(下) 我们为什么要最大化对数概率而非直接最大化概率? 你在做逻辑斯蒂回归时,如果你只是想要最大化概率,那你使用log是无意义的.因为log函数是单调函数,最大化概率 ...

  9. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时14&&15

    课时14 卷积神经网络详解(上) CNN处理的是一些数据块,在这之间有很多层,一系列的层将输入数据变换为输出数据,所以完成操作的中间量不仅是NN时候讲的那些向量,而是立体结构,有宽,高和深度,在整个计 ...

随机推荐

  1. Solidworks工程图 如何绘制向视图,辅助视图

    先画一条垂直于视野方向的中心线   点击辅助视图,然后点选刚才的中心线即可生成向视图   对向视图的标准可以得到一些用其他方法不好标注的尺寸            

  2. CentOS 5.5下搭建部署独立SVN服务器全程详解

    SVN服务器有2种运行方式:1.独立服务器 (例如:svn://xxx.com/xxx):2.借助apache   (例如:http://svn.xxx.com/xxx):为了不依赖apache,我选 ...

  3. const成员函数总结

    const 成员函数: 类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作不论什么改变. 在设计类的时候.一个原则就是对于不改变数据成员的成员函数都要 ...

  4. Python - scrapy安装中libxml2问题

    先到 http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 下载下面三个库的 whl,然后用pip install 来安装即可 pycurl,lxml,lib ...

  5. 常用DOS下MSC指令

    xp:copy C:\WINDOWS\repair\*.* 到 c:\windows\system32\config 2k: copy C:\winnt\repair\*.* 到 c:\winnt\s ...

  6. java乱炖

    --------------------------------------------------------- ArrayList<String> arrayList = new Ar ...

  7. iOS 内购遇到的坑

    一.内购沙盒测试账号在支付成功后,再次购买相同 ID 的物品,会提示如下内容的弹窗.您以购买过此APP内购项目,此项目将免费恢复 原因: 当使用内购购买过商品后没有把这个交易事件关,所以当我们再次去购 ...

  8. PyOpenGL下GlutBitmapCharacter的替代

    虽然pyinstaller支持pyopengl,但是调用GLUT之后,在其它电脑上面运行就会出现错误,索性按照之前C#上面的办法,把字体数据和函数用python重写 fontData.py #! /u ...

  9. MapReduce简述、工作流程及新旧API对照

    什么是MapReduce? 你想数出一摞牌中有多少张黑桃.直观方式是一张一张检查而且数出有多少张是黑桃. MapReduce方法则是: 1. 给在座的全部玩家中分配这摞牌. 2. 让每一个玩家数自己手 ...

  10. POJ 1703 Find them, Catch them(种类并查集)

    题目链接 这种类型的题目以前见过,今天第一次写,具体过程,还要慢慢理解. #include <cstring> #include <cstdio> #include <s ...