转置卷积
由于在图像分割中需要进行上采样,需要将图像逐渐还原为原来的大小,但是由于卷积过程是不可逆的,所以需要采用转置卷积(反卷积)。
- 转置卷积不等于卷积逆运算
- 转置卷积只能恢复尺寸,不能恢复原数值
转置卷积运算过程
- 在输入特征图的元素之间填充s-1行、列0
- 在输入特征图的元素四周填充k-p-1行、列0
- 卷积核的参数进行上下、左右翻转
- 进行正常的卷积操作(padding = 0, stride = 1)
转置卷积后的特征图大小
空洞卷积(Dilated Convolution)
在图像分割中是pixel-wise的输出,但通过卷积+下采样的过程来减小图像尺寸并获取更大的感受野后会丢失一部分信息,这时就出现了空洞卷积。
空洞卷积的作用
- 扩大感受野
- 捕捉多尺度上下文信息
空洞卷积的计算
引入了一个新的参数dilation rate,这个参数用于调节卷积核中填充0的大小,当dilation = 1时就是普通卷积。
- 在卷积核的元素之间填充s-1行、列0,然后进行正常的卷积运算
- 卷积核的大小 kernel_size = kernel_size + (kernel_size -1) & (dilation +1)
gridding effect
空洞卷积得到的结果邻近的像素是从相互独立的子集中卷积得到的,相互之间缺少依赖。(图片来源于网络)
如上图所示,连续堆叠了3个膨胀系数为2的空洞卷积,会导致不能够完全利用感受野范围内所有的信息。解决这一问题的一些方法:
- 将dilation rate设置为锯齿状结构,如[1,2,3,1,2,3]
- dilation rate的公约数不能大于1
- 参考自论文Understanding Convolution for Semantic Segmentation,论文地址:https://arxiv.org/pdf/1702.08502.pdf