卷积层图像尺寸相关计算公式

卷积层:

输入channel和输出channel对图像或者特征图尺寸没有影响。

主要参数:

卷积核大小 k * k

步长 stride, 记为s

padding 记为p

 输入图像或者特征向量尺寸记为 Win * Hin

已知卷积层参数和输入图大小求输出图大小:

Wout = (Win − k + 2p)/s+1

Hout = (Hin − k + 2p)/s+1

已知输入图大小和输出图大小求卷积层:

如上面公式计算,选取时k尽量为奇数,padding的选择尽量能够令输入图和输出图尺寸一致,除非有调整图像尺寸的需求可以更改s

当不需要改变图像尺寸时的常用设置

stride = 1

k = 1个自定义的奇数1,3,5,7 ...

p = (k-1)/2

当改变图像尺寸为原来的一半时

stride = 2

k = 1个自定义的奇数1,3,5,7 ...

p = (k-2)/2

池化层:

平均池化和最大池化对输出尺寸的计算没有影响

主要参数:

核大小 k * k

步长 stride, 记为s

padding 记为p

 输入图像或者特征向量尺寸记为 Win * Hin

已知池化层参数和输入图大小求输出图大小:

本质和卷积层一样

Wout = (Win − k + 2p)/s+1

Hout = (Hin − k + 2p)/s+1

已知输入图大小和输出图大小求池化层参数:

如上面公式进行计算,一般可以先固定k和p然后根据需要计算s。也可以先直接将s设定为缩小的倍率再计算k和p。

例 如果想要将图W,H都缩成一半, 则可以先设定s为2, 则得出k和p的关系应该保持为

p = (k-2)/2

逆卷积\反卷积\转置卷积\Transposed Convolution:

输入channel和输出channel对图像或者特征图尺寸没有影响。

主要参数:

卷积核大小 k * k

步长 stride, 记为s

padding 记为p

 输入图像或者特征向量尺寸记为 Win * Hin

已知卷积层参数和输入图大小求输出图大小:

本质也和卷积层相同,但一般会控制输出尺寸是输入尺寸的n倍, n>1

Wout = (Win -1) * s + k - 2p

Hout = (Hin -1) * s + k - 2p

已知输入图大小和输出图大小求卷积层:

以将一个特征图尺寸扩充为原来的 N 倍的应用为例:

一般会令 s = N

k和p只要满足如下条件即可,

p = (k-N)/2

如果不将s设为N的话,则反卷积层的放大倍率就会和输入特征图的尺寸相关。

空洞卷积:

主要参数:

卷积核大小 k * k

步长 stride, 记为s

padding 记为p

膨胀系数dilation 记为d

 输入图像或者特征向量尺寸记为 Win * Hin

已知卷积层参数和输入图大小求输出图大小:

Wout = (Win − d * (k - 1) + 2p)/s+1

Hout = (Hin − d * (k - 1) + 2p)/s+1

已知输入图大小和输出图大小求卷积层:

一般都是根据需要先定d,之后如前面公式计算其他参数

你可能感兴趣的:(CV,深度学习,计算机视觉,人工智能)