CNN学习笔记:卷积运算

边缘检测

    

卷积

  卷积是一种有效提取图片特征的方法。一般用一个正方形卷积核,遍历图片上的每一个像素点。图片与卷积核重合区域内相对应的每一个像素值乘卷积核 、内相对应点的权重,然后求和,再加上偏置后,最后得到输出图片中的一个像素值。

卷积操作的作用

  卷积是一种局部操作,通过一定大小的卷积核作用于局部图像区域获得图像的局部信息。

  我们现在使用三种边缘卷积核(亦称滤波器),整体边缘滤波器、横向边缘滤波器和纵向边缘滤波器。

  

  试想,若原图像素(x, y)处可能存在物体边缘,则其四周(x−1,y),(x+1,y),(x, y−1),(x, y+ 1)处像素值应与(x, y)处有显著差异。此时,如作用以整体边缘滤波器Ke,可消除四周像素值差异小的图像区域而保留显著差异区域,以此可检测出物体边缘信息。同理,类似于Kh和Kv的横向、纵向边缘滤波器可以保留横向、纵向的边缘信息。
  事实上,卷积网络中的卷积核参数是通过网络训练学出的,除了可以学到类似的横向、纵向边缘滤波器,还可以学到任意角度的边缘滤波器。当然,不仅如此,检测颜色、形状、纹理等众多的基本模式的滤波器都可以包含在一个足够复杂的深层卷积神经网络中。

对立方体卷积

  所谓的立方体卷积是指对多通道色彩的图形进行卷积操作。

  

  我们需要有对应通道数的卷积层,此处为3层,每一层处理一个通道,按照卷积操作执行,最后会生成27个数据,将其合计后填入输出矩阵中即可。

填充Padding

  在卷积操作中,卷积后的图形将会小于原始图形,并且图形缩小会导致丢失一些边缘信息,我们可以卷积操作之前对输入图形周围进行全零填充,来保证输出图形的尺寸和输入图形的尺寸一致。

  

设置步长

  在上述的卷积过程中,卷积层在原始图形中沿着水平方向每次移动一格,最后输出图形的大小为5*5,当然我们也可以设置移动的间隔,比如为2.这样生成的输出图形的大小就会减小到3*3。

  

  计算公式是这样的:(原始图形大小+2*填充厚度)/步长+1.

CNN学习笔记:卷积运算的更多相关文章

  1. CNN学习笔记:卷积神经网络

    CNN学习笔记:卷积神经网络 卷积神经网络 基本结构 卷积神经网络是一种层次模型,其输入是原始数据,如RGB图像.音频等.卷积神经网络通过卷积(convolution)操作.汇合(pooling)操作 ...

  2. 卷积神经网络(CNN)学习笔记1:基础入门

    卷积神经网络(CNN)学习笔记1:基础入门 Posted on 2016-03-01   |   In Machine Learning  |   9 Comments  |   14935  Vie ...

  3. CNN学习笔记:目标函数

    CNN学习笔记:目标函数 分类任务中的目标函数 目标函数,亦称损失函数或代价函数,是整个网络模型的指挥棒,通过样本的预测结果与真实标记产生的误差来反向传播指导网络参数学习和表示学习. 假设某分类任务共 ...

  4. CNN学习笔记:全连接层

    CNN学习笔记:全连接层 全连接层 全连接层在整个网络卷积神经网络中起到“分类器”的作用.如果说卷积层.池化层和激活函数等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的特征表示映射到样 ...

  5. CNN学习笔记:池化层

    CNN学习笔记:池化层 池化 池化(Pooling)是卷积神经网络中另一个重要的概念,它实际上是一种形式的降采样.有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见 ...

  6. CNN学习笔记:神经网络表示

    CNN学习笔记:神经网络表示 双层神经网络模型 在一个神经网络中,当你使用监督学习训练它的时候,训练集包含了输入x还有目标输出y.隐藏层的含义是,在训练集中,这些中间节点的真正数值,我们是不知道的,即 ...

  7. CNN学习笔记:正则化缓解过拟合

    CNN学习笔记:正则化缓解过拟合 过拟合现象 在下图中,虽然绿线完美的匹配训练数据,但太过依赖,并且与黑线相比,对于新的测试数据上会具有更高的错误率.虽然这个模型在训练数据集上的正确率很高,但这个模型 ...

  8. CNN学习笔记:批标准化

    CNN学习笔记:批标准化 Batch Normalization Batch Normalization, 批标准化, 是将分散的数据统一的一种做法, 也是优化神经网络的一种方法. 在神经网络的训练过 ...

  9. CNN学习笔记:激活函数

    CNN学习笔记:激活函数 激活函数 激活函数又称非线性映射,顾名思义,激活函数的引入是为了增加整个网络的表达能力(即非线性).若干线性操作层的堆叠仍然只能起到线性映射的作用,无法形成复杂的函数.常用的 ...

随机推荐

  1. JS实现背景图按时切换或者每次更新

    首先要有一个添加背景图片的div <div  id="myDiv"></div> css样式中添加背景tu图 body{height:100%;} #myD ...

  2. Python中如何将字符串作为变量名

    应用场景描述: 通过配置文件获取服务器上配置的服务名及运行端口号,编写python脚本检测服务上服务是否在运行? #!/usr/bin/env python # -*- coding:utf-8 -* ...

  3. jquery取iframe中元素

    采取方法: $("#iframe_path").contents().find(".select_path_hide").val(); DOM方法:父窗口操作I ...

  4. shell基础(三)

    函数 1.可以带function fun() 定义,也可以直接fun() 定义,不带任何参数: 2.参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值: 3.必须 ...

  5. iOS开发之--storyboary下,拖拽一个tableview/collectionView/view 等,顶端下沉64个像素的处理方法

    大家可能会发现,在sb或者xib里面拖拽一个tableview/collectionview/view的,顶端会自动下沉64个像素,也就是说,运行在模拟器上去,自导航下面又自动下沉了64个像素, 那是 ...

  6. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)4.5——使用Android Libraries

    问题: 你想要在app当中增加新的library模块 解决方案: 使用library插件,增加一个library模块作为依赖. 讨论: 不可以通过使用java库给app增加许多功能,通常是使用jar包 ...

  7. Android中流式布局和热门标签

    1.流式布局特点.应用场景.2.自定义ViewGroup (1)onMeasure:测量子View的宽和高,设置自己的宽和高. (2)onLayout:设置子View的位置. onMeasure:根据 ...

  8. dubbo框架的介绍,应用

    http://www.cnblogs.com/Javame/p/3632473.html

  9. JAVA基础面试(五5)

    41.a.hashCode() 有什么用?与 a.equals(b) 有什么关系?        hashCode() 方法对应对象整型的 hash 值.它常用于基于 hash 的集合类,如 Hash ...

  10. 爬虫实战【13】获取自己的动态代理ip池

    在爬取一些比较友好的网站时,仍然有可能因为单位时间内访问次数过多,使服务器认定为机器访问,导致访问失败或者被封.如果我们使用不同的ip来访问网站的话,就可以绕过服务器的重复验证,使服务器以为使不同的人 ...