卷积

DataWhale组队打卡学习营task04-3 LeNet

眉间皱痕 提交于 2020-03-08 09:43:35
lenet 模型介绍 lenet 网络搭建 运用lenet进行图像识别-fashion-mnist数据集 Convolutional Neural Networks 使用全连接层的局限性: 图像在同一列邻近的像素在这个向量中可能相距较远。它们构成的模式可能难以被模型识别。 对于大尺寸的输入图像,使用全连接层容易导致模型过大。 使用卷积层的优势: 卷积层保留输入形状。 卷积层通过滑动窗口将同一卷积核与不同位置的输入重复计算,从而避免参数尺寸过大。 LeNet 模型 LeNet分为卷积层块和全连接层块两个部分。下面我们分别介绍这两个模块。 卷积层块里的基本单位是卷积层后接平均池化层:卷积层用来识别图像里的空间模式,如线条和物体局部,之后的平均池化层则用来降低卷积层对位置的敏感性。 卷积层块由两个这样的基本单位重复堆叠构成。在卷积层块中,每个卷积层都使用 的窗口,并在输出上使用sigmoid激活函数。第一个卷积层输出通道数为6,第二个卷积层输出通道数则增加到16。 全连接层块含3个全连接层。它们的输出个数分别是120、84和10,其中10为输出的类别个数。 下面我们通过Sequential类来实现LeNet模型。 #import import sys sys . path . append ( "/home/kesci/input" ) import d2lzh1981 as d2l

GoogLeNet Inception v3 结构 及 pytorch、tensorflow、keras、paddle实现UC Merced Land Use Dataset识别

拈花ヽ惹草 提交于 2020-03-08 07:09:36
背景 google在InceptionV1之后,又发表文章《 Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 》、《 Rethinking the Inception Architecture for Computer Vision 》,前者提出了广泛使用的 Batch Normalization方法,后者提出了 InceptionV2、InceptionV3结构,通过在InceptionV1的基础上逐步改进得到V2,最后汇总所有的改进策略得到V3。 使用RMSprop优化器,而非SGD优化器 使用Batch Normalization,将每一层的输入尽量规范化,在辅助分类器中也使用BN 分步卷积,将大尺寸的卷积核分解为多个小卷积核,减少计算量、提升计算速度 卷积与池化并行进行降维,减少参数量的同时 避免表征瓶颈(representational bottlenecks) 使用Label Smoothing进行训练,减轻预测中非最大概率值的惩罚 网络结构 网络结构如上图,在 Inception部分 ,表格与文字部分不一致,尽量 以 图片 部分为准 ,同时借鉴 tensorflow官方实现代码 文字表述 : 在35*35部分有3个传统模块

10分钟看懂全卷积神经网络(FCN):语义分割深度模型先驱

雨燕双飞 提交于 2020-03-07 18:48:26
语义分割 简单地说,分割就是抠图。语义分割,就是按图像中物体表达的含义进行抠图。 现在ps已经集成很多自动分割的功能,相比旧版本软件,新软件提高了美工人员的抠图和美图的效率。 如果我们能在更复杂的环境下,完成自动分割图像进行分析,这将降低多少人工?这类场景我们很熟悉,比如现在快速发展的自动驾驶。 摄像头采集到车前景象,通过模型分析,我们可以自动筛选出地面、交通线、人行道、行人、建筑、树、还有其他基础设施。 相比传统的目标识别,语义分割它更强大。语义分割模型不仅可以识别简单的类别,而且还可以进行多目标、多类别、复杂目标以及分割目标。 比如图中我们可以看到路面和交通标识线有清晰的分割,路面和人行道也同样如此,甚至路灯和建筑也可以清楚地分离出来。 这项技术在医学上也同样作用巨大,我们可以识别病灶并将其与正常组织分割,大脑神经系统内我们可以分离出同一组功能的神经结构,这些如何依赖人工去完成,所需的时间至少为数小时,而交给机器,那么数秒钟即可完成。 因此依靠分离模型,我们可以把重复性的劳动交给它去完成,人工只需要对输出结果进行二次分析和筛选,大大加快了提取过程和分析精度。 通过上面的介绍和例子,我们可以总结下优秀的语义分割摸应该具有的几个特性: 分割出来的不同语义区域对某种性质如灰度、纹理而言具有相似性,区域内部比较平整相邻语义区域对分割所依据的性质有明显的差异

基于tensorflow-神经网络tensorboard

吃可爱长大的小学妹 提交于 2020-03-07 18:28:53
tensorboard是tensorflow自带的一个强大的可视化工具,使用tensorboard可以帮助我们构建模型,可视化”也叫做数据可视化。是关于数据之视觉表现形式的研究。这种数据的视觉表现形式被定义为一种以某种概要形式抽提出来的信息,包括相应信息单位的各种属性和变量。数据进行摘要(summary)与处理,其次运行代码,可以生成了一个或多个事件文件(event files),最后启动TensorBoard的Web服务器。 这次是用上一次卷积神经网络的代码,对卷积神经网络进行可视化: 导入相关库与数据集: import tensorflow as tf from tensorflow . examples . tutorials . mnist import input_data 参数设置与构建模型 mnist = input_data . read_data_sets ( "MNIST_data" , one_hot = True ) #批次大小 batch_size = 100 #计算一共有多少个批次 n_batch = mnist . train . num_examples // batch_size #初始化权值 def weight_variable ( shape , name ) : initial = tf . truncated_normal ( shape

人脸表情识别论文阅读笔记1:A Compact Deep Learning Model for Robust Facial Expression Recognition

情到浓时终转凉″ 提交于 2020-03-07 04:16:10
FER方法有两种,一是image-based方法;二是sequence-based方法,分别对应于静态图像数据集(eg:FER2013)和视频序列数据集(eg:CK+、Oulu-CASIA)。 论文概述 该论文来自2018年CVPR: 1.提出一种轻量型(compact)frame-based人脸表情识别模型,在性能不逊色state-of-the-art方法的同时参数量更少; 2.提出frame-to-sequence方法,通过门控循环单元(GRU)来使用时间信息; 3.收集三个不同场景的数据集,用来评估跨域性能; 4.提出光照增强方案以解决通过混合数据训练深度网络的过拟合问题,提高模型鲁棒性 模型介绍 frame-basedFER框架总体结构如下: 由此可见,整体框架分为两个部分:人脸预处理和CNN分类模型。其中,人脸预处理使用IntraFace检测出的人脸特征点裁剪人脸区域;CNN分类模型结构如下: 模型由两层卷积层(每层卷积层由两个卷积层构成)和两个全连接层构成,卷积核大小均为5X5,输入图片大小为96X96。 模型设计原因: 1.简单网络(plain model)能够在FRR任务中取得不错效果; 2.使用大卷积核(5X5)保证神经元拥有更大感受野;感受野相关内容参见: 我的博客 3.大幅减少全连接层神经元数量,使得网络参数量大幅减少( 实验结果证明只要合理设计感受野

《GhostNet: More Features from Cheap Operations》笔记

拜拜、爱过 提交于 2020-03-06 19:38:19
GhostNet Introduction GhostNet是从模型设计方面精简卷积神经网络模型。 Motivation 卷积神经网络模型得到的特征中有许多特征是冗余的。比如下图是ResNet-50的第一个残差块得到的特征图,红色、绿色和蓝色框的特征图表现出非常高的相似性。同颜色的下一个特征图就像是上一个特征图的 镜像 (ghost)。而这些相似度高的特征图是由不同的卷积核参数计算得到的。作者的想法是,既然这些特征图相似,我们可以通过卷积只得到部分的特征图,再由得到的特征图经过简单的变换得到其他相似的特征图。这样做既可以减少卷积核,减少模型的参数量,也可以减少模型的运算量。 Approach Ghost Module 作者提出的镜像模块是基于卷积操作的。如同上面所说的,作者把原来的卷积层分成两步。第一步是卷积,只是输出的通道数减少了。假设原来的通道数是 n n n ,现在的通道数是 m ( m ≤ n ) m (m \le n) m ( m ≤ n ) ,得到的特征图用 Y ′ Y' Y ′ 表示。 第二步,用 Y ′ Y' Y ′ 生成其他特征图: y i j = Φ i , j ( y i ′ ) , ∀ i = 1 , ⋯   , m , j = 1 , ⋯   , s y_{ij} = \Phi_{i,j}(y'_i), \forall i = 1,\cdots,m, j

计算机视觉(四)SPP-Net

雨燕双飞 提交于 2020-03-06 16:56:15
SPP-Net 全名为《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》2014【深度卷积网络中用于视觉识别的空间金字塔池化】论文链接: https://arxiv.org/abs/1406.4729 SPP-Net (spatial pyramid pooling 空间金字塔池化算法 )是一种可以 不用考虑图像大小 ,输出图像固定长度网络结构,并且可以做到在图像变形情况下表现稳定。SSP-net的效果已经在不同的 数据集 上面得到验证,速度上比 R-CNN 快 24-102 倍。 在ImageNet 2014的比赛中,此方法检测中第二,分类中第三。 受 SPP-Net 启发,2015年发表 Fast R-CNN。 SPP-net 的处理方式:不固定图像的大小,直接输入给卷积层处理,卷积出来的特征并不是直接输入给全连接层,而是在spatial pyramid pooling layer提取各个region proposal的特征(具体过程见下段),然后得到一个固定长度的输出传给全连接层,最后输出结果。 理论上说,SPP-net支持直接以多尺度的原始图片作为输入后直接BP训练即可。 SPP层 如上图,位于最后一个卷积层(conv5)与全连接层之间

深度学习笔记1

心不动则不痛 提交于 2020-03-06 12:56:45
深度学习中整个模型建立的大概思路 1、导入所需要的包(tensorflow,numpy) import tensorflow as tf import numpy as np from tensorflow . examples . tutorials . mnist import input_data 1.5编写所需的函数 #权重初始化 def weight_variable ( shape ) : initial = tf . truncated_normal ( shape , stddev = 0.1 ) return tf . Variable ( initial ) def bias_variable ( shape ) : initial = tf . constant ( 0.1 , shape = shape ) return tf . Variable ( initial ) #卷积和池化 def conv2d ( x , w ) : return tf . nn . conv2d ( x , w , strides = [ 1 , 1 , 1 , 1 ] , padding = "SAME" ) def max_pool_2x2 ( x ) : return tf . nn . max_pool ( x , ksize = [ 1 , 2 , 2 , 1 ]

卷积输入输出大小推导

≯℡__Kan透↙ 提交于 2020-03-06 11:03:54
反向思考,假如输出是output_size,那么逆推回去,可画图理解,说明原图大小是(output_size - 1) * stride + kernel_size,这个原图是指padding后的,说明(output_size - 1) * stride + kernel_size = input_size + 2 * padding。 即output_size = (input_size + 2 * padding - kernel_size) / stride + 1 来源: CSDN 作者: ☛搬砖渣男 链接: https://blog.csdn.net/qq_34193345/article/details/104689748

深度学习优质资源

情到浓时终转凉″ 提交于 2020-03-06 00:13:16
卷积 如何通俗易懂地解释卷积? 一文带你认识深度学习中不同类型的卷积 博客 David 9的博客 Object Recognition The Modern History of Object Recognition — Infographic 来源: https://www.cnblogs.com/q735613050/p/8934137.html