课时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. 求菲波那契数列的第n个数

    1,2,3,5,8,13..... 求第n个数 def get_num(n): if n == 1: return 1 if n == 2: return 2 return get_num(n - 1 ...

  2. JNI之—— Eclipse配置C/C++开发环境

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46622173 开发环境:Eclipse3.2.CDT3.1.MinGW5.1 1. ...

  3. ivy 入门

    ivy 入门 http://www.blogjava.net/aoxj/archive/2009/03/31/263012.html https://www.cnblogs.com/end/archi ...

  4. PCA主成分分析Python实现

    作者:拾毅者 出处:http://blog.csdn.net/Dream_angel_Z/article/details/50760130 Github源代码:https://github.com/c ...

  5. oracle 静默安装

    下载oracle的安装包: 下载地址: 注意下载oracle是须要注冊oracle的 http://download.oracle.com/otn/nt/oracle11g 下载两个包: linux. ...

  6. 【Java编程】建立一个简单的JDBC连接-Drivers, Connection, Statement and PreparedStatement

    本blog提供了一个简单的通过JDBC驱动建立JDBC连接例程.并分别通过Statement和PreparedStatement实现对数据库的查询. 在下一篇blog中将重点比較Statement与P ...

  7. 线段树区间更新,区间统计+离散化 POJ 2528 Mayor's posters

    题意:有一个非常长的板子(10000000长),在上面贴n(n<=10000)张海报.问最后从外面能看到几张不同的海报. 由于板子有10000000长,直接建树肯定会爆,所以须要离散化处理,对于 ...

  8. js 验证 输入值 全是数字

    1.使用isNaN()函数 isNaN()的缺点就在于 null.空格以及空串会被按照0来处理 NaN: Not a Number /** *判断是否是数字 **/ function isRealNu ...

  9. 【软件project】菜鸟俯瞰软件project

    [背景]初次接触软件project,对软件project不是彻底的了解.但学完一遍软件project,我还是有些感触的. 以下我就对我这阶段的软工学习和理解做一下小小的总结,如有不妥之处.欢迎指正. ...

  10. SIFT算法中DoG特征点的修正

    SIFT算法中,在DoG空间找到极值点后,需要对极值点进行修正,本文主要详细的讲解一下为什么需要修正,以及如何对极值点进行修正. 下图演示了二维函数离散空间得到的极值点与连续空间的极值点之间的差别 利 ...