卷积层:
输入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,之后如前面公式计算其他参数