卷积、卷积核的维数、尺寸
一、卷积核的维数
1、二维卷积核(2d)
2D卷积操作如图1所示,为了解释的更清楚,分别展示了单通道和多通道的操作。且为了画图方便,假定只有1个filter,即输出图像只有一个chanel。
针对单通道,输入图像的channel为1,即输入大小为(1, height, weight),卷积核尺寸为 (1, k_h, k_w),卷积核在输入图像上的的空间维度(即(height, width)两维)上进行进行滑窗操作,每次滑窗和 (k_h, k_w) 窗口内的values进行卷积操作(现在都用相关操作取代),得到输出图像中的一个value。
针对多通道,假定输入图像的channel为3,即输入大小为(3, height, weight),卷积核尺寸为 (3, k_h, k_w), 卷积核在输入图像上的的空间维度(即(height, width)两维)上进行进行滑窗操作,每次滑窗与3个channels上的 (k_h, k_w) 窗口内的所有的values进行相关操作,得到输出图像中的一个value。
2、三维卷积核(3d)
3D卷积操作如图2所示,同样分为单通道和多通道,且只使用一个filter,输出一个channel。
其中,针对单通道,与2D卷积不同之处在于,输入图像多了一个 depth 维度,故输入大小为(1, depth, height, width),卷积核也多了一个k_d维度,因此卷积核在输入3D图像的空间维度(height和width维)和depth维度上均进行滑窗操作,每次滑窗与 (k_d, k_h, k_w) 窗口内的values进行相关操作,得到输出3D图像中的一个value。
针对多通道,输入大小为(3, depth, height, width),则与2D卷积的操作一样,每次滑窗与3个channels上的 (k_d, k_h, k_w) 窗口内的所有values进行相关操作,得到输出3D图像中的一个value。
二、卷积层尺寸的计算原理
- 输入矩阵格式:四个维度,依次为:样本数、图像高度、图像宽度、图像通道数
- 输出矩阵格式:与输出矩阵的维度顺序和含义相同,但是后三个维度(图像高度、图像宽度、图像通道数)的尺寸发生变化。
- 权重矩阵(卷积核)格式:同样是四个维度,但维度的含义与上面两者都不同,为:卷积核高度、卷积核宽度、输入通道数、输出通道数(卷积核个数)
- 输入矩阵、权重矩阵、输出矩阵这三者之间的相互决定关系
- 卷积核的输入通道数(in depth)由输入矩阵的通道数所决定。(红色标注)
- 输出矩阵的通道数(out depth)由卷积核的输出通道数所决定。(绿色标注)
- 输出矩阵的高度和宽度(height, width)这两个维度的尺寸由输入矩阵、卷积核、扫描方式所共同决定。计算公式如下。(蓝色标注)
- 注:以下计算演示均省略掉了 Bias ,严格来说其实每个卷积核都还有一个 Bias 参数。
标准卷积计算举例
以 AlexNet 模型的第一个卷积层为例,
- 输入图片的尺寸统一为 227 x 227 x 3 (高度 x 宽度 x 颜色通道数),
- 本层一共具有96个卷积核,
- 每个卷积核的尺寸都是 11 x 11 x 3。
- 已知 stride = 4, padding = 0,
- 假设 batch_size = 256,
- 则输出矩阵的高度/宽度为 (227 - 11) / 4 + 1 = 55
作者:只为此心无垠
链接:https://www.jianshu.com/p/6e1ef63615f8
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
卷积、卷积核的维数、尺寸相关推荐
- pytorch查看通道数 维数 尺寸大小
查看tensor x.shape # 尺寸x.size() # 形状x.ndim # 维数 例如 import torchparser = argparse.ArgumentParser(descri ...
- 卷积神经网络中二维卷积核与三维卷积核有什么区别?
目录 1 一维卷积神经网络(1D-CNN) 2 二维卷积神经网络(2D-CNN) 2.1 单通道 2.2 多通道 2.3 2D卷积的计算 3 三维卷积 3.1 3D卷积 3.2 3D卷积 ...
- pytorch方法测试——卷积(二维)
pytorch方法测试--卷积(二维) 测试代码: import torch import torch.nn as nnm = nn.Conv2d(2, 2, 3, stride=2) input = ...
- CNN中的卷积操作的参数数计算
之前一直以为卷积是二维的操作,而到今天才发现卷积其实是在volume上的卷积.比如输入的数据是channels*height*width(3*10*10),我们定义一个核函数大小为3*3,则输出是8* ...
- k 最近邻_k最近邻与维数的诅咒
k 最近邻 机器学习模型和维数的诅咒 (Machine Learning models and the curse of dimensionality) There is always a trade ...
- matlab盒子分形维数_分形:盒子维数
今天主要想说的是,分形中的差分盒子维数的原理,基于分形的基础概念就不在这里说啦. 分形维数可以用于定量描述图像表面的空间复杂程度,能够定量的表现图像的纹理特征. 采用不同的维数进行纹理特征描述时,精度 ...
- OpenCV图像处理(3)——盒维数计算
计算分形盒子维 //************************// //计算分形盒子维 //*** yangxin_szu 2013_03_28 ***// //valarray与 MFC 有一 ...
- android 颜色 数组,在Android中声明维数,颜色,资源ID或其他非标准数据类型的数组?...
我发现自己希望创建Android似乎本不支持的值的xml数组,并且正在寻找解决此问题的一些方法.当前,如果你希望在XML中声明一个值的数组,你仅限于字符串,整数和一个通用的非类型化"数组&q ...
- HOG参数简介及Hog特征维数的计算
HOG构造函数 CV_WRAP HOGDescriptor() :winSize(64,128), blockSize(16,16), blockStride(8,8), cellSize( ...
- c语言中二维数组中维数的计算,数组指针字符串C语言程序设计-第4章.ppt
<数组指针字符串C语言程序设计-第4章.ppt>由会员分享,可在线阅读,更多相关<数组指针字符串C语言程序设计-第4章.ppt(132页珍藏版)>请在人人文库网上搜索. 1.程 ...
最新文章
- Android开源框架——依赖注入ButterKnife
- codeforces1467 E. Distinctive Roots in a Tree(树上差分)
- 使用快捷键,快到极致
- Spring MVC遭遇checkbox的问题解决方案
- php 数组按个数分组,如何在PHP中基于内部数组键对数组进行分组?
- android 自定义paint,Android自定义View中Paint、Rect、Canvas介绍(一)
- 用决策树模型求解回归问题(regression tree)
- ^全^ 获取SQL SERVER2000/2005、MySql、Oracle元数据的SQL语句 [SQL语句来自CodeSmith]
- 刚毕业的大学夫妻,我含泪看完(转帖)
- spring xml解析详解
- 如何准备一场Java面试?
- 《车联网(智能网联汽车)产业发展行动计划》正式发布,车联网产业发展进一步提速...
- 台式计算机规格型号怎么查,台式电脑主板型号在哪里看
- 冯提出的计算机工作原理是,冯诺依曼提出的计算机的基本工作原理是什么
- 江在川上曰:vue中使用swiper
- 纵览各国关键信息基础设施配套网络安全法规建设
- mojave时间机器文件服务器,在 Mac 上可以与时间机器配合使用的磁盘类型
- Cell Reports : 人脑中的湍流状动力学
- 电脑用摄像头 质量不错的几个型号 旧手机接电脑当摄像头 iriun webcam
- 微信客服功能是否支持手机端?