目录

卷积

对图像进行卷积操作

卷积神经网络

卷积(Filtering)

池化(下采样)(Pooling)

修正线性单元(Rectified Linear Units)(ReLus激活函数)

全连接层(每个神经元都和之前的神经元相联系)

历史

卷积

                

意义:一个系统,f函数为不稳定输入,g函数为稳定输出,用卷积求系统存量

理解:过去对现在的影响。g函数规定如何影响。在某时刻t发生了一件事,而这件事的产生会受到之前发生事情的影响,比如x时刻发生的事情会对t时刻产生影响,具体如何影响要看x时刻到t时刻经历的时间,规定影响随着时间而变化,即g函数。影响力的变化也有可能不是随着时间而变化而是随着距离而变化,那么横坐标就不是时间而是位置(或距离)

对图像进行卷积操作

电脑里的图片都可以看做是一个一个的像素点组成的,也就是一个大的表格,表格里就是像素点的具体信息(比如灰度值、RGB值等)。

              

用一个3*3的点阵(这个3*3的点阵被称为卷积核)扣在图像的点阵上,对应的两个格子相乘,3*3的点阵应该得到9个数,然后把9个相乘的结果相加,得到一个新的像素值。接下来用卷积核把整个图像都扫一遍,就得到卷积操作后的新图像了。当然,这样得到的图像少了一圈,只需要在图像处理之前给图像外面加一圈都是0的像素值,最后就能得到一个同样大小的图片了。(补0 (Zero Padding )还有助于提取图像边缘特征)

   

这里,图像是函数f(不稳定,变化的),卷积核是函数g(稳定,不变的)

理解:图像的卷积操作,即看很多像素点对某一个像素点是如何产生影响的。卷积核点阵里的数字不一样,处理出的图像效果也不一样。

例子:如下所示的卷积核(找了一个像素点,把它周围的像素点全部加起来然后求平均),对图像进行卷积操作,效果就会让图像更平滑、更朦胧,所以称之为平滑卷积操作。平滑操作指的是让周围的像素点和自己相差不大。

垂直卷积操作、水平卷积操作:

卷积核就是规定了周围的像素点是如何对当前像素点产生影响的。我们看的3*3的卷积核,其实就是规定周围一圈像素点对当前像素点如何产生影响,那是不是会有5*5的,7*7的作为2圈像素点,3圈像素点对当前像素点如何产生影响?(从理论数学上看,从无限远处对当前像素点如何产生影响都可以被规定好)

理解:

表示中间这个点以及它周围一圈的点对新的像素点是如何影响的,这里的对应还是有点拧巴,如果将g函数旋转180°,对应就比较清晰了,每一个点都是一个直接的对应。

所以说

卷积神经网络

卷积神经网络CNN可以看做封装的黑箱,输入为二维像素阵列,输出为识别结果即图片是X、O,但是重点不是识别这种规整的情况,而是识别不规整的情况。我们发现下图整体对比是不相同的,但是局部是有相同的地方的。

卷积(Filtering)

所以卷积神经网络识别图像中把图片输入全连接网络之前,要对原始数据进行预处理(挑选局部特征),让每个像素点保存的不再是和图片特征关系不大的RGB数值,而是一个它和周围像素点的相对关系的特征值,这样神经网络就能进行它擅长的事情了,直接对特征进行各种组合,然后进行判断。其中,挑选局部特征就是对图像进行卷积操作。

(如果挑选的卷积核合适,就可以对图片进行过滤,把某些特征保存下来,把其他特征过滤掉。这样的卷积核也称为过滤器。相乘再相加还可以看做是自己对周围像素点的一个试探,卷积核就是试探的模板,不想考虑某个位置可以设置为0,想重点考虑某个位置可以这个位置的数值设置高一点,从而把周围有用的特征保留下来)

上右图中三个局部特征(绿、橙、紫框)作为卷积核(或者称为特征提取器),对原图进行卷积操作。

用第一个局部特征对原图进行卷积操作(完全一样,值为1,不一样程度越大,得出的数字越小)

 

最后得到下图,可以看出提取出的新图(新图称为feature map)内容大致和卷积核(特征提取器)类似,保持“㇏”形状,表明原图中包含“㇏”的特征,且被卷积核提取到新图中(如果用圆圈型卷积核进行卷积出来就是一堆乱码,表明原图不包含圆圈的特征)

用不同的卷积核对原图进行卷积就能提取出不同的特征

池化(下采样)(Pooling)

将得到的feature map缩小,减少数据量,但也意味着牺牲一部分信息(可接受范围内)

池化分为两种:max pooling、average pooling。第一种是将框内最大值作为新值,第二种是将框内数值取平均值作为新值。第一种应用更加广泛,因为它在保留原图特征的同时,把图片的尺寸降下来,把计算量降下来。如下右图采用2*2的max pooling(原图为“㇏”)

原图提取出来的三个特征进行池化

修正线性单元(Rectified Linear Units)(ReLus激活函数)

Normalization:把图中负数变成0(好处:1、矩阵运算里,0和其他做运算比较好算 2、在梯度下降中可以看到比其他激活函数好很多)

卷积、ReLu(抹零)、池化可以多次操作(次序可更换)

全连接层(full connection 即fc)

每个神经元都和之前的神经元相联系

把得到的二维矩阵全都排成一列,各自乘以各自的权重,加起来,就能判断出是“X”的概率是多少。

     

上图算出是“X”的概率为0.92,是"O”的概率为0.51,故判断为“X”

权重ImageNet网站训练而得

反向传播(backpropagation):神经网络得出一个结果,把这个结果和真实结果进行比较 ,进行误差计算,称之为损失函数。目标就是把损失函数降到最低(损失函数求导,找最小值),不改卷积核的参数,修改全连接每一层的参数,修改每一个神经元的权重来进行微调,最后使得损失函数最小。它是一层一层把误差反馈回去,所以称之为反向传播算法。经过不停地训练,用大数据喂,最后它自己就学会了采用哪些卷积核,全连接网络中每一个神经元的权重是多少,称之为机器学习。

梯度下降(gradient descent):损失函数求导,求最小值

 超参(hyperparameters):设置初始值,预先设置好卷积核数目、尺寸,用随机生成的数值放在卷积核里,预先设置好池化的大小、步长,全连接神经元的数目。先把大的框架设置好,通过对神经网络喂大量数据,在这个框架中对参数进行优化,找到损失函数的最小值,把所有的参数都调到最佳。

卷积神经网络可以处理“类似”图像的数据,不只二维,还有3D,比如视频(随时间变化,一帧一帧的),声音(随时间变化,用颜色表示频谱中的强度变化),文本(句子,词在词典中的位置)

历史

1998年,LeNet-5(Yann LeCun提出,扬∙乐昆,法国人),当初被设计用来识别手写数字,是最早的CNN网络之一,被后续学者奉为经典。

ImageNet(李飞飞提出)每年都会办一个图像分类比赛,之前用传统方法错误率一直很高,2012年AlexNet(Hinton和他的学生Alex提出)夺冠,卷积神经网络(cnn)横空出世, 错误率降下来很多;2014年GoogleNet(Google提出)冠军,VGG(牛津大学提出)当年亚军,VGG模型在迁移学习任务中的表现要优于GoogleNet,2015年ResNet(微软提出何凯明)(深度残差网络,152层卷积神经网络,残差:不是一层层连贯的,可以抄近道到下下层,衍生出ResNet-50等旁支)

卷积 对图像进行卷积操作 卷积神经网络相关推荐

  1. 【深度学习入门-1】透彻理解卷积的三层含义:从“卷积”、到“图像卷积操作”、再到“卷积神经网络”的含义(学习笔记)

    一.写在前面 笔者在进行卷积神经网络入门的时候花了很多功夫,理解的也不够透彻,基础不牢,地动山摇.在查阅了很多资料后,发现了大佬up"王木头学科学"讲的卷积神经网络的理解,茅塞顿开 ...

  2. 多功能的图像超分辨模型:用于盲图像超分辨的非对称卷积神经网络

    哈工大.台湾国立清华大学与香港中文大学的研究人员联合提出用于盲图像超分辨的非对称卷积网络,该文收录于IEEE Transactions on Systems, Man, and Cybernetics ...

  3. python二维图颜色函数_Python scipy的二维图像卷积运算与图像模糊处理操作示例

    本文实例讲述了Python scipy的二维图像卷积运算与图像模糊处理操作.分享给大家供大家参考,具体如下: 二维图像卷积运算 一 代码 import numpy as np from scipy i ...

  4. 【数据挖掘】卷积神经网络 ( 池化 | 丢弃 | 批量规范化 | 卷积神经网络完整流程示例 | 卷积 | 池化 | 全连接 | 输出 | 卷积神经网络总结 )

    文章目录 I . 池化 II . 丢弃操作 III . 批量规范化 IV . 卷积神经网络 完整流程示例 ( 1 ) : 原始输入图 V . 卷积神经网络 完整流程示例 ( 2 ) : 卷积层 C1C ...

  5. 在OpenCV中利用卷积进行图像滤波

    简 介: 本文首先讨论了卷积核的概念,以及如何用于对图像进行滤波.然后通过他们对图像进行数学运算来实现特定的效果,比如平和和锐化.展示了如何在OpenCV中实现2D滤波. 在等同卷积卷积核之后,我们创 ...

  6. 图像卷积和图像滤波的一些知识

    转自 http://blog.csdn.net/zouxy09/article/details/49080029 一.线性滤波与卷积的基本概念 线性滤波可以说是图像处理最基本的方法,它可以允许我们对图 ...

  7. pytorch卷积可视化_使用Pytorch可视化卷积神经网络

    pytorch卷积可视化 Filter and Feature map Image by the author 筛选和特征图作者提供的图像 When dealing with image's and ...

  8. 用反卷积(Deconvnet)可视化理解卷积神经网络还有使用tensorboard

    『cs231n』卷积神经网络的可视化与进一步理解 深度学习小白--卷积神经网络可视化(二) TensorBoard--TensorFlow可视化 原文地址:http://blog.csdn.net/h ...

  9. 【OpenCV 例程200篇】52. 图像的相关与卷积运算

    [OpenCV 例程200篇]52. 图像的相关与卷积运算 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 滤波通常是 ...

最新文章

  1. 在Eclipse中打开Hadoop工程
  2. 使用named_mutex实现读写锁,实现进程之间读共享写独占
  3. 【codevs1368】【BZOJ1034】泡泡堂BNB,贪心思路
  4. attribute property --- jquery attr() prop()
  5. 戴爾新電腦走上時尚路線
  6. FFmpeg学习(4)——为视频嵌入字幕
  7. 用linux给诺基亚手机刷机,凤凰刷机怎么给诺基亚手机刷机 凤凰给诺基亚手机刷机教程...
  8. win10的记事本怎么保存为html,win10系统电脑记事本保存不了的解决办法
  9. 为什么要学习数据库,数据库有什么作用呢,以及为什么要选mysql
  10. 怎样让Windows便签的提醒事项一直留在锁定桌面上
  11. LTE资源调度(6)-功率余量报告PHR
  12. create-react-app : 无法加载文件 C:\Users\MyPC\AppData\Roaming\npm\create-react-app.ps1,因为 在此系统上禁止运行—问题解决方法
  13. 百度人脸产品套件————壁虎 1.开箱体验
  14. 鲲鹏服务器cpu性能,华为发布鲲鹏920处理器:业界性能最强
  15. Excel行列转置(行数据与列数据的转换)
  16. Windows注册表中保存的信息及环境变量中SystemRoot在注册表中的位置
  17. 中国剩余定理(CRT)和扩展中国剩余定理(EXCRT)
  18. 基于Vue和SpringBoot的电商管理系统的设计与实现
  19. Window11移动硬盘无法正常弹出怎么办?
  20. Zilliz 融资 4300 万美元,创全球开源基础软件 B 轮融资新纪录

热门文章

  1. 到底什么是语义分割?
  2. JAVA卸载报错无法访问网络位置
  3. 卡尔曼滤波器、扩展卡尔曼滤波器、无向卡尔曼滤波器的详细推导
  4. CBitmap Detach DeleteObject关系
  5. [转] Attach、Detach和DeleteObject
  6. 手机开热点显示互联网无服务器,win10热点无互联网连接的具体解决办法【图文】...
  7. 三种伺服电机控制方式总结
  8. 文件下载被浏览器默认打开解决方法
  9. 谷歌优化效果怎么样?外贸如何做好谷歌SEO优化排名?
  10. 设计模式 模版方法模式 展现程序员的一天