conv

空洞卷积Dilated Conv的感受野,计算量以及实现方法详解

大兔子大兔子 提交于 2020-03-02 14:51:19
空洞卷积的目的 是为了在扩大感受野的同时,不降低图片分辨率和不引入额外参数及计算量(一般在CNN中扩大感受野都需要使用s>1的conv或者pooling,导致分辨率降低,不利于segmentation。而如果使用大卷积核来增加感受野,会引入额外的参数及计算量)。可以代替降采样(pooling或s2/conv),标准卷积可以看做空洞卷积的特殊形式。 来源: CSDN 作者: WeissSama 链接: https://blog.csdn.net/Bismarckczy/article/details/104426124

Keras【Deep Learning With Python】更优模型探索Keras实现CNN

廉价感情. 提交于 2020-02-26 10:07:09
文章目录 CNN 1.CNN介绍 2.CNN基本原理 代码实现 手写数字复杂网络层抽特征可视化工具http://scs.ryerson.ca/~aharley/vis/conv/ CNN 1.CNN介绍 CNN是应用在图像识别领域较多的一种机器学习算法,它与普通的神经网络有点类似,通过输入层然后乘以权重加上偏置,并且通过一个非线性的激活函数,即可得到输出值。CNN要做的是给定一幅图,对该图像进行编码最终即可将该图进行分类,而此过程中参数相比普通神经网络的参数要少,并且更加高效。 CNN通常由三个部分组成,分别是Conv layer、Pooling layer、Full-connected layer,它们组成了一个完整的CNN结构。通常输入是一幅图片,whc,分别为图像的宽度高度以及频道数目(RGB),conv layer将计算输入层与权重矩阵的卷积,然后将该结果通过ReLU函数,Pooling layer用于对卷积后的矩阵进行抽样降维,例如按22矩形大小对原卷积矩阵分成若干个22大小的块,然后对于每个块只取其中的最大值,这样就可以使得维度降低为原来的1/4,而这就是max pooling方法,该方法的优点是减少了计算过程中参数的个数以及防止过拟合的产生。最后,经过的是MLP,方法类似,可以参考以前的博文(逻辑回归及感知器)。 总结一下,CNN就是将一幅图像经过一层又一层的编码过后

dilated convolutions:扩张卷积

隐身守侯 提交于 2020-02-25 01:55:43
最近在阅读《Context Encoding for Semantic Segmentation》中看到应用了dilated convolutions。 扩张卷积与普通的卷积相比,除了卷积核的大小以外,还有一个扩张率(dilation rate)参数,主要用来表示扩张的大小。扩张卷积与普通卷积的相同点在于,卷积核的大小是一样的,在神经网络中即参数数量不变,区别在于扩张卷积具有更大的感受野。感受野是卷积核在图像上看到的大小,例如 3 × 3 3×3卷积核的感受野大小为9。 (a) 普通卷积,1-dilated convolution,卷积核的感受野为 3 × 3 = 9 3×3=9。 (b) 扩张卷积,2-dilated convolution,卷积核的感受野为 7 × 7 = 49 7×7=49。 (c) 扩张卷积,4-dilated convolution,卷积核的感受野为 15 × 15 = 225 15×15=225。 扩展卷积在保持参数个数不变的情况下增大了卷积核的感受野,同时它可以保证输出的特征映射(feature map)的大小保持不变。一个扩张率为2的3×3卷积核,感受野与5×5的卷积核相同,但参数数量仅为9个,是5×5卷积参数数量的 36 %。 dilated的好处是不做pooling损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息

Deeplab

拥有回忆 提交于 2020-02-16 21:56:27
Deeplab系列是谷歌团队的分割网络. DeepLab V1 CNN处理图像分割的两个问题 下采样导致信息丢失 maxpool造成feature map尺寸减小,细节信息丢失. 空间不变性 所谓空间不变性,就是说比如一张狗的图,狗位于图片正中还是某一个角,都不影响模型识别出这是一个狗. 即模型对于输入图像的空间位置不敏感,不管这个图片旋转,平移等,都能够识别. 对分类来说,这是ok的.但是对于分割来说,这就不OK了,图片旋转以后,每一个像素所属的分类当然就改变了. 究其原因,分类处理的是更"高级"的特征,而分割是对每一个像素做分类,需要更多的细节. deeplab v1采用2个方法解决这两个问题 空洞卷积 条件随机场CRF 空洞卷积 为什么要有maxpool? 一方面是为了减小feature map尺寸.一方面也是为了增大feature map中的每一个元素的感受野. FCN是怎么做的? 得到特征图后,用deconv的方式上采样将feature map恢复到原始图像尺寸.但是这种 先max pool下采样再deconv上采样的过程势必会损失掉一部分信息. deeplab如何解决这个问题? deeplab提出了一种dilated conv(空洞卷积)的卷积方式,去替代max pool,但同时感受野不丢失. dilated的好处是不做pooling损失信息的情况下,加大了感受野

CNN学习笔记

旧时模样 提交于 2020-01-26 03:29:55
基于CS231N的学习整理: http://cs231n.github.io/convolutional-networks/ 卷积神经网络(CNN)与神经网络相比的优势: 1. 输入的是 图片 2. 减少网络中的参数数量(参数过多导致过拟合) 一。架构概述 Architecture Overview ConvNet将其神经元按照三个维度排列(width、height、depth),每一层都将三维输入转换为激活神经元三维输出。 二。卷积神经网络层 ConvNet Layers 构建卷积神经网络架构有如下三种主要层次:卷积层、池化层、全连接层 卷积过程以及各个层特点: a.输入层 Input Layer:保存原始像素值 b.卷积层 ConV Layer: 每个神经元都计算权重与连接到他们输入值体积的点积并输出。有参数和超参数。 c.线性整流层 ReLu Layer: 不改变体积 f(x)=max(0,x)。无参数,无超参数。 d.池化层 Pool Layer: 沿着空间维度(width、height)进行下采样。无参数,有超参数。 e.全连接层 FC Layer: 计算分类得分。有参数和超参数。 1. 卷积层Convolution Layer 局部连接(Local Connecting) ConV层将神经元与输入图片的局部区域相连接,每个神经元在空间上非常小但是会延申到整个输入的深度

经典CNN网络结构

北战南征 提交于 2020-01-09 04:09:24
经典CNN网络结构 Le-Net5 网络结构 def inference ( input_tensor , train , regularizer ) : #第一层:卷积层,过滤器的尺寸为5×5,深度为6,不使用全0补充,步长为1。 #尺寸变化:32×32×1->28×28×6 with tf . variable_scope ( 'layer1-conv1' ) : conv1_weights = tf . get_variable ( 'weight' , [ 5 , 5 , 1 , 6 ] , initializer = tf . truncated_normal_initializer ( stddev = 0.1 ) ) conv1_biases = tf . get_variable ( 'bias' , [ 6 ] , initializer = tf . constant_initializer ( 0.0 ) ) conv1 = tf . nn . conv2d ( input_tensor , conv1_weights , strides = [ 1 , 1 , 1 , 1 ] , padding = 'VALID' ) relu1 = tf . nn . relu ( tf . nn . bias_add ( conv1 , conv1_biases ) )

faster-rcnn

时间秒杀一切 提交于 2019-12-18 20:36:19
转载链接: http://blog.csdn.net/zy1034092330/article/details/62044941 参考博客:http://blog.csdn.net/WoPawn/article/details/52223282?locationNum=7 进经过RCNN和Fast RCNN的积淀,Ross B. Girshick在2016年提出了新的Faster RCNN,在结构上,Faster RCN已经将特征抽取(feature extraction),proposal提取,bounding box regression(rect refine),classification都整合在了一个网络中,使得综合性能有较大提高,在检测速度方面尤为明显。 图1 Faster CNN基本结构(来自原论文) 缩进依作者看来,如图1,Faster RCNN其实可以分为4个主要内容: Conv layers。作为一种CNN网络目标检测方法,Faster RCNN首先使用一组基础的conv+relu+pooling层提取image的feature maps。该feature maps被共享用于后续RPN层和全连接层。 Region Proposal Networks。RPN网络用于生成region proposals

TensorFlow卷积处理图片

谁都会走 提交于 2019-12-15 05:25:24
简介 通过卷积我们可以提取图片的轮廓 可以进行图片平滑处理 可以处理彩色图片 黑白图片处理 导包 import numpy as np import tensorflow as tf import matplotlib . pyplot as plt % matplotlib inline 原图 flower = plt . imread ( './flower.png' ) flower . shape plt . imshow ( flower , cmap = plt . cm . gray ) data = flower . reshape ( 1 , 332 , 444 , 1 ) # 浮雕效果 卷积核 filter_ = np . array ( [ [ - 1 , - 1 , 0 ] , [ - 1 , 0 , 1 ] , [ 0 , 1 , 1 ] ] ) . reshape ( 3 , 3 , 1 , 1 ) # neural network # KNN ----> nearest neighbors # CNN ---->convolution neural network:卷积神经网络 conv = tf . nn . conv2d ( input = data , filter = filter_ , strides = [ 1 , 1 , 1 , 1 ]

【tensorflow】使用convolution处理图片

筅森魡賤 提交于 2019-12-10 18:46:35
import numpy as np import matplotlib . pyplot as plt % matplotlib inline import tensorflow as tf # plt.figure(figsize=(12,9)) image = plt . imread ( './caise.jpg' ) plt . imshow ( image ) image . shape (388, 690, 3) data = image . reshape ( 1 , 388 , 690 , 3 ) . astype ( np . float32 ) # and a filter / kernel tensor of shape # `[filter_height, filter_width, in_channels, out_channels] filter_ = np . array ( [ [ 1 / 27 ] * 81 ] ) . reshape ( 3 , 3 , 3 , 3 ) conv = tf . nn . conv2d ( data , filter_ , [ 1 , 1 , 1 , 1 ] , 'SAME' ) with tf . Session ( ) as sess : image = sess . run ( conv ) .

多属性、多分类MySQL模式设计

廉价感情. 提交于 2019-12-06 13:49:50
一、导读 这是来自B乎的一个问答。 当数据同时具备多个属性/分类时,改如何设计表结构和查询? 二、需求描述 我偶尔也会逛逛B乎,看到一些感兴趣的话题也会回复下。 有一次,看到这样的一个话题: 链接: https://www.zhihu.com/questio... [mysql] 当数据同时属于多个分类时,该怎么查询? 分类cate字段为[1,2,3,4,5] ,假如要查询满足分类’2’和’5′ 的数据该怎么查询? 我尝试过用 cate like ‘%2%’ AND cate like ‘%5%’去查。 想问有没有更好的办法,我这样写数据少了还好,多了根本没法查,效率太低了。 恰好我以前做过类似的业务需求设计,所以就回复了这个问题。 三、模式设计思路 这个需求可以有几种不同的解决思路,我们分别展开说一下。 (一)用bit数据类型 大概思路如下: 1、物品属性列c1 用bit数据类型 来表示,也就是只有0、1两种取值 2、当物品属性具备某个分类属性时,其值为1,否则为0 3、假如共有5个分类,当物品拥有全部分类属性时,则其值为11111,若其不具备第3个分类属性,则其值为11011,在数据库中转成十进制存储 4、上述两种情况下,将二进制转换成十进制表示,即分别是31和27 [root@yejr.me] [zhishutang]> select conv(11111, 2, 10),