卷积原理(卷积,padding填充,步长,多通道卷积)

2023-11-18

1、卷积

卷积可以用于对输入数据进行特征提取,特征提取的过程可以理解为通过卷积对输入特征进行加权运算,提取输入中的重要信息。

卷积运算的过程就是通过卷积核扫描输入矩阵的元素,将卷积核和扫描对应的元素相乘再相加,得到一个输出,通过不断地滑动,得到最后的输出矩阵。其运算过程如下:

b3056ceae69149ff90ec63b30116547e.png

从卷积运算的过程可以看出,输出特征就是输入特征的加权和。

2、Padding

在上边的例子中,采用3×3的卷积核卷积5×5的输入特征矩阵。从上述运算可以看出两个不足。

第一个是通过卷积后输出矩阵相对于输入矩阵变小了,当参与多层的神经网络时,矩阵会变得越来越小。这对于人信息提取是不利的。

第二个是中间元素参与运算的次数要远大于周围元素,尤其是当输入矩阵是高维时,差距会更大,因此在计算中我们会丢失掉一部分的边缘信息。

为了解决以上两点问题,我们在输入矩阵的周围进行填充。

7b05ead187d64562b48be170353ff34a.png

如果输入矩阵的大小是n×n,卷积核的大小是f×f,则输出矩阵的大小为 (n-f+1)×(n-f+1)

如上图所示,我们在输入矩阵的周边像素周围都填充一个元素,用p表示填充数量,图中展示的填充p为1。

用p表示填充数量,则输出矩阵的大小为(n+2p-f+1)×(n+2p-f+1)

根据填充数量不同,通常有Valid卷积和Same卷积。

valid卷积:不对输入矩阵做填充,即p=0。输出矩阵大小为 (n-f+1)×(n-f+1)

Same卷积:输出矩阵和输入矩阵一样大。即n+2p-f+1=n ,也就是说gif.latex?p%3D%5Cfrac%7Bf-1%7D%7B2%7D

3、卷积步长

在上述用3×3卷积核卷积5×5矩阵的例子中,我们采用的步长s为1,假如将步长s设置为2,则有:

8a3d3d1742d34585907a8f9a04219860.png

当步长为s,填充数量为p时,输出矩阵的大小为:

n×n       *           f×f       ---->  (gif.latex?%5Cleft%20%5Clfloor%20%5Cfrac%7Bn+2p-f%7D%7Bs%7D+1%20%5Cright%20%5Crfloor)×(gif.latex?%5Cleft%20%5Clfloor%20%5Cfrac%7Bn+2p-f%7D%7Bs%7D+1%20%5Cright%20%5Crfloor

4、多通道卷积

假设输入数据是多通道的例如彩色图片,有RGB三个通道。针对多通道矩阵,卷积核的通道数应该和输入数据的通道数相同,如下图所示,输入数据是三通道,卷积核也应该是三通道。

 31e3c565545d40d6b63a57b90aae65e2.png

三通道的卷积过程是相应通道的卷积核对相应通道的输入矩阵进行卷积,然后再将结果相加。上述三通道卷积计算过程如下(在这里为了计算简便,将三通道的输入设成一样的):

dd9ada3422574aa8acc78f9bab321e2a.png

 上述图演示的是只有一个卷积核的卷积过程,如果卷积核有两个,则卷积过程如下:

e492efd163fb448abf995cd19df4b1a1.png

卷积核个数为2则输出矩阵的通道数也为2。

假设输入矩阵通道数为n1,卷积核个数为n2,则输出矩阵为:

n×n×n1       *       f×f×n1      --->         (n-f+1)×(n-f+1)×n2

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

卷积原理(卷积,padding填充,步长,多通道卷积) 的相关文章

随机推荐

  • CentOS 7 vs CentOS 6新特性

    1 CentOS7 简介 CentOS Community Enterprise Operating System 中文意思是 社区企业操作系统 是Linux发行版之一 它是来自于Red Hat Enterprise Linux依照开放源代
  • 修改IP 脚本

    echo off echo echo 1 地税外网 echo 2 地税内网 echo 3 公司 echo 4 自动获取 echo echo 选择你要设置的网络 set p x if x 1 goto a if x 2 goto b if x
  • css中align-self属性是什么

    css中align self属性是什么 1 align self属性定义flex子项单独在侧轴 纵轴 方向上的对齐方式 2 align self多了个auto 默认值 表示继承自flex容器的align items属性值 实例 CSS co
  • 深度学习(二十八)基于多尺度深度网络的单幅图像深度估计

    基于多尺度深度网络的单幅图像深度估计 原文地址 http blog csdn net hjimce article details 50569474 作者 hjimce 一 相关理论 本篇博文主要讲解来自2014年NIPS上的一篇paper
  • 微信收付通V3支付

  • Selenium3+Python3框架之生成测试报告并发送邮件

    coding utf 8 Time 2019 10 18 Author carl dj import os import unittest import time import HTMLTestRunner from email mime
  • 关于Linux重新安装java环境报错

    警告 jdk 8u181 linux x64 rpm 头V3 RSA SHA256 Signature 密钥 ID ec551f03 NOKEY 准备中 100 软件包 jdk1 8 2000 1 8 0 181 fcs x86 64 已经
  • SpringMVC:从入门到精通,7篇系列篇带你全面掌握--六.JSON处理和全局异常处理

    Welcome Huihui s Code World 接下来看看由辉辉所写的关于SpringMVC的相关操作吧 目录 Welcome Huihui s Code World 前言 一 SpringMVC中json数据的处理 1 导入相关依
  • Unity 性能优化总结

    影响性能的因素 造成游戏性能瓶颈的主要原因分成以下几个方面 1 CPU 1 过多的 draw call 2 复杂的脚本或者物理模拟 2 GPU 1 顶点处理 过多的顶点 过多的逐顶点计算 2 片元处理 过多的片元 既可能是由于分辨率造成的
  • bubbo调用Failed to invoke remote method异常解决

    bubbo调用服务异常 com alibaba dubbo rpc RpcException Failed to invoke remote method getPlanFlowInfo provider dubbo 10 20 30 16
  • Tez 简介

    目录 一 Tez简介 二 Tez UI界面 三 Tez 日志 一 Tez简介 1 1 Tez 是支持 DAG 作业的开源计算框架 它可以将多个有依赖的作业转换为一个作业从而大幅提升 DAG 作业的性能 从本质上讲 Tez 组成非常简单 数据
  • asm: 实现打印“Hello, world!“

    使用汇编打印 Hello world 实现打印 Hello world 的汇编代码 代码详细剖析 实现打印 Hello world 的汇编代码 我们来直接贴代码 section text global start start mov edx
  • 【华为OD机试真题 JAVA】可以组成网络的服务器

    JS版 华为OD机试真题 JS 可以组成网络的服务器 标题 可以组成网络的服务器 时间限制 1秒 内存限制 262144K 语言限制 不限 在一个机房中 服务器的位置标识在 n m 的整数矩阵网格中 1 表示单元格上有服务器 0 表示没有
  • UI页面切换按钮随页面切换缩放

    选中按钮放大其余按钮缩小的 效果 using System Collections using System Collections Generic using UnityEngine public class BottomBarBtn M
  • No module named cv2 报错处理

    运行python脚本出现 No module named cv2 这时我们安装下opencv python依赖即可 python3 m pip install opencv python 转载于 https www cnblogs com
  • flutter for循环removeAt(i)数据遇到的问题

    通常都是for循环遍历从前往后顺序 这时候遇到符合条件的通过下标把该数据删掉 for int i 0 i lt 40 i if i 2 removeAt i 删一个数据不会出问题 如果要删多个数据就会有问题了 比如i为0时删了列表第一个 那
  • Windows安装Linux子系统

    win10更新了安装linux子系统的步骤 使之更加方便 只需要在CMD运行命令 wsl install 当然这会涉及很多默认的选项 Windows 命令提示符中输入以下命令 找到可供安装的 Linux 发行版列表 wsl list onl
  • LSPosed 安装教程(LSP框架安装教程)

    1 下载LSPosed模块 CSDN下载 Riru 版 LSPosed Riru Zygisk版 LSPosed Zygisk 或 github下载 LSPosed GitHub 2 打开Magisk 设置 开启 Zygisk 3 打开面具
  • 手把手教你玩转YOLOX--Windows(上)

    旷视开源的YOLOX其性能超越 YOLOv3 YOLOv4 和 YOLOv5 应不少小伙伴的要求 我在这里用手把手教学的方式展示一下YOLOX的搭建 上篇 下一篇将着重介绍YOLOX如何进行模型的训练 进阶篇介绍YOLOX的原理 代码讲解及
  • 卷积原理(卷积,padding填充,步长,多通道卷积)

    1 卷积 卷积可以用于对输入数据进行特征提取 特征提取的过程可以理解为通过卷积对输入特征进行加权运算 提取输入中的重要信息 卷积运算的过程就是通过卷积核扫描输入矩阵的元素 将卷积核和扫描对应的元素相乘再相加 得到一个输出 通过不断地滑动 得