https://www.toutiao.com/a6674160635225309709/

  • 在数学中,卷积是对两个函数(f和g)执行的操作,以产生第三个函数。卷积是信号和图像处理中最重要的操作之一。它可以在1D(例如语音处理),2D(例如图像处理)或3D(视频处理)中操作。
  • 在图像处理中,卷积是通过在整个图像中的每个像素及其局部邻域上应用一个核来转换图像的过程。核是一个值矩阵,其大小和值决定了卷积过程的转换效果。
  • 卷积过程涉及这些步骤。
  1. 它将内核矩阵放在图像的每个像素上(确保完整的内核在图像中),将内核的每个值与其结束的相应像素相乘。
  2. 然后,对得到的相乘值求和,并将结果值作为中心像素的新值。
  3. 在整个图像上重复该过程。
  • 正如我们在图片中看到的那样,3x3核在7x7源图像上进行了卷积。核的中心元素放置在源像素上。然后用自身和周围像素的加权和替换源像素。输出放在目标像素值中。在这个例子中,在第一个位置,我们在源像素中是0,在核中是4。4x0=0,然后移动到下一个像素,我们在两个地方都是0。0x0为0,然后0x0都为0。接着在中心位置,源图像中有1,核对应的位置为0,0x1为0,在最后一个位置为-4x2,即-8。现在总结所有这些结果我们得到-8作为答案,因此这个卷积运算的输出是-8。此结果在目标图像中更新。
  • 卷积过程的输出随着核值的变化而变化。例如,下面显示的Identity Kernel,当通过卷积应用于图像时,对结果图像没有影响。每个像素将保留其原始值,如下图所示。

Identity Kernel

原始图像(左)和应用大小为3x3的Identity Filter后的图像(右)

当通过卷积应用于图像时,像这样的Sharpen Kernel将对所得图像具有图像锐化效果。可以根据不同的锐度等级定制精确值,如下图所示。

Sharpen Kernel

原始图像(左)和应用大小为3x3的Sharpen Filter后的图像(右)

高斯模糊核当通过卷积应用于图像时,会对结果图像应用高斯模糊效果。

高斯模糊核

原始图像(左)和使用大小为7x7的Blurring Filter后的图像(右)

正如核的值可以因不同的效果级别而变化一样,核的大小也可以改变以形成卷积的效果。通过增加核矩阵的大小,随着距离较远的像素被拉入等式中,从而使得每个像素结果值的空间局部性增加。用于图像处理的核有很多,如边缘检测、旋转等。

  • 卷积是卷积神经网络中的关键概念。卷积神经网络(CNN)是一种深度神经网络。CNN包括卷积层,池化层和全连接层。在卷积层,卷积神经网络(CNN)使用通过训练校准的核矩阵将卷积应用于其输入。因此,卷积神经网络(CNN)非常擅长图像和对象分类中的特征匹配。卷积层参数由一组可学习的核组成。每个核都是一个小矩阵。在forward pass程中,我们将每个内核在输入图像的宽度和高度上进行卷积,并计算源和核在相应位置像素值之间的点积。

示例的python代码如下:

import cv2
import numpy as np
img= cv2.imread('lena512color.tiff')
cv2.imshow('Original', img)
#Identity kernel
kernel1 = np.array([[0,0,0], [0, 1,0], [0,0,0]])
im1 = cv2.filter2D(img, -1, kernel1)
cv2.imshow('Identity kernel', im1)
#shapening kernel
kernel2 = np.array([[-1,-1,-1], [-1, 9,-1], [-1,-1,-1]])
im2 = cv2.filter2D(img, -1, kernel2)
cv2.imshow('Sharpening kernel', im2)
#blurring kernel
kernel3 = np.array([[0.02040816, 0.02040816, 0.02040816, 0.02040816, 0.02040816,0.02040816, 0.02040816],[0.02040816, 0.02040816, 0.02040816, 0.02040816, 0.02040816,0.02040816, 0.02040816],[0.02040816, 0.02040816, 0.02040816, 0.02040816, 0.02040816,0.02040816, 0.02040816],[0.02040816, 0.02040816, 0.02040816, 0.02040816, 0.02040816,0.02040816, 0.02040816],[0.02040816, 0.02040816, 0.02040816, 0.02040816, 0.02040816,0.02040816, 0.02040816],[0.02040816, 0.02040816, 0.02040816, 0.02040816, 0.02040816,0.02040816, 0.02040816],[0.02040816, 0.02040816, 0.02040816, 0.02040816, 0.02040816,0.02040816, 0.02040816]])
im3 = cv2.filter2D(img, -1, kernel3)
cv2.imshow('Blurring kernel', im3)

关于卷积的6个基本知识相关推荐

  1. NLP免费直播 | 两周讲透图卷积神经网络、BERT、知识图谱、对话生成

    大家好,我是贪心学院的小编.自从今年二月份举办的火爆的BERT.XLNet专题课以来,已经三个月没有跟大家见面了.这一次我们又给大家带来了重磅级的系列公开课,由贪心学院和京东智联云联合打造,共四次公开 ...

  2. 卷积神经网络CNN的实战知识

    文章目录 一.构建神经网络 二.前向传播(Forward propagation) 2.1 卷积层(torch.nn.Conv2d) 2.1.1 卷积运算 -- 提取特征 2.1.2 稀疏连接 -- ...

  3. 卷积神经网络各层基本知识

    卷积神经网络(CNN)由输入层.卷积层.激活函数.池化层.全连接层组成,即INPUT(输入层)-CONV(卷积层)-RELU(激活函数)-POOL(池化层)-FC(全连接层) 1 卷积层 用它来进行特 ...

  4. 2019年上半年收集到的人工智能卷积神经网络干货文章

    2019年上半年收集到的人工智能卷积神经网络干货文章 了解CNN这一篇就够了--关于卷积神经网络的介绍 关于卷积的6个基本知识 一文读懂深度学习中的各种卷积 CNN卷积神经网络的三种基本模式(不懂的话 ...

  5. AAAI 2022 | 条件局部图卷积网络用以气象预测

    ©PaperWeekly 原创 · 作者 | 西南交一枝花 单位 | 西南交通大学CCIT实验室 研究方向 | NLP.时空数据挖掘 本次分享的是 AAAI 2022 一篇来自西湖大学的气象预报工作& ...

  6. Tensorflow快餐教程(9) - 卷积

    摘要: 卷积的计算方法 卷积 卷积就是滑动中提取特征的过程 在数学中,卷积convolution是一种函数的定义.它是通过两个函数f和g生成第三个函数的一种数学算子,表征函数f与g经过翻转和平移的重叠 ...

  7. 透析 | 卷积神经网络CNN究竟是怎样一步一步工作的?

    北京 | 深度学习与人工智能研修 12月23-24日 再设经典课程 重温深度学习阅读全文> 正文共6018个字109张图,预计阅读时间16分钟. 视频地址:https://www.youtube ...

  8. 沈华伟老师图卷积神经网络教学视频笔记

    图卷积神经网络 感谢 0. 背景介绍 基于图的应用 node-level graph-level singal-level 数据集介绍 1. Cora数据集: 2. CiteSeer 3. Pubme ...

  9. (七)DKN:用于新闻推荐的深度知识感知网络

    摘要: 背景: 新闻语言是高度浓缩的,充满了知识实体和常识.然而,现有的方法并没有意识到一些外在的知识,也不能充分发现新闻之间潜在的知识层面的联系.因此,推荐给用户的结果仅限于简单的模式,不能进行合理 ...

最新文章

  1. c# hdf5 写string_聊一聊C#8.0中的 await foreach
  2. 如何将Git存储库克隆到特定文件夹?
  3. python 远程控制_用 Python 远程控制你的电脑
  4. java 下载junit的jar包_junit jar包下载-Junit4 jar包下载 --pc6下载站
  5. 按键精灵通过句柄获取窗口坐标_按键精灵 句柄 获得句柄 控制windows窗口 后台...
  6. nginx在Linux系统安装
  7. Codeforces 408 E. Curious Array
  8. LabVIEW控制高速微快门
  9. 解决吉特哈布原本可以访问突然访问不了的问题
  10. 原生threeJS入门
  11. C语言标准库里的获取时间函数及时间格式转换详解
  12. linux查看服务器品牌和型号,linux 查看服务器型号
  13. C语言中取整数的几种方法
  14. 内置DSP的数字音频功放芯片优势?
  15. JAVA编程-----猜姓氏游戏
  16. 骚操作!一行Python代码能干嘛
  17. 《基于数字孪生的产品生命周期绿色制造新模式》2019年6月 陶飞等
  18. org.springframework.web.servlet.resource.ResourceHttpRequestHandler cannot be cast to org.springfra
  19. bootstrap-table 一直显示“正在努力地加载数据中,请稍候”的问题
  20. 浪漫是浪漫,不浪漫也是浪漫

热门文章

  1. 使用Oracle 的 imp ,exp 命令实现数据的导入导出
  2. 静态方法是一种特殊的成员方法,它不属于类的某一个具体的实例。
  3. File Filter用法
  4. 海伦公式c语言编程funcd,c语言编程练习题及答案_0.doc
  5. 1024程序员节 继续薅羊毛
  6. 反卷积(Transposed Convolution, Fractionally Strided Convolution or Deconvolution)
  7. You're AllSet! 以多重集函数角度重新检视超图GNN
  8. 从视频到语言: 视频标题生成与描述研究综述
  9. 感知和行动的贝叶斯模型
  10. 后BERT时代:15个预训练模型对比分析与关键点探索(附链接)