FCN: 卷积和转置卷积等

本文详细探讨了卷积神经网络中的各种卷积操作及其复合效果,并介绍了卷积层、池化层和激活函数的特性。此外,还分析了特征图大小、转置卷积以及在图像语义分割中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

各种卷积的动态图

这里写图片描述

这里y是下一层(i,j)处的值,k是kernel size, s是stride,f泛指卷积层,池化层和激活函数。这些操作都具有局部性,限定在x的delta邻域中。

这里写图片描述

这里是说两个这样的操作可以进行复合,复合后的“等效”kernel size和stride在右下角。
这里写图片描述

如上图,若第一层的k=3,第二层的k=1,则等效k=3;若第一层的k=3,第二层的k=2,则等效k=4。

相关基础知识:
卷积层feature map大小
这里写图片描述

If you stack two 3x3 CONV layers on top of each other then you can convince yourself that the neurons on the 2nd layer are a function of a 5x5 patch of the input (we would say that the effective receptive field of these neurons is 5x5). If we use dilated convolutions then this effective receptive field would grow much quicker. cs231n

Transposed convolution arithmetic
所谓的转置是针对将卷积层表达为矩阵运行得到的,在反向传播中转置矩阵使得后面低维度的Loss变为高维度。见下图
这里写图片描述

FCN paper中将不同的池化层进行了融合:
这里写图片描述

获得了提升:
这里写图片描述

反卷积和上池化,直接引用【总结】图像语义分割之FCN和CRF

这里写图片描述

最后,一个图像分割的专栏:https://zhuanlan.zhihu.com/semantic-segmentation

### Fully Convolutional Networks (FCN) 中反卷积的概念与实现 #### 1. 反卷积的定义与作用 反卷积(Deconvolution),也被称为转置卷积(Transposed Convolution),是一种用于放大图像尺寸的操作。它主要用于恢复由先前下采样操作丢失的空间分辨率,从而使得网络能够生成高分辨率的分割图[^2]。 在 FCN 的上下文中,反卷积的主要目的是通过上采样来增加特征图的空间维度,以便最终输出的预测图可以匹配输入图像的大小。这一过程对于像素级语义分割至关重要,因为目标是为每个像素分配一个类别标签[^3]。 #### 2. 反卷积的工作机制 反卷积的核心思想是对输入数据应用一种类似于卷积的过程,但它会扩展而不是压缩空间维度。具体来说: - **滤波器的作用**:反卷积使用一组可学习的滤波器来进行上采样。这些滤波器的学习方式与标准卷积相同,但在前向传播过程中,它们将输入张量映射到更大的输出张量。 - **填充与步幅**:为了控制输出形状,可以在输入张量周围添加零填充,并调整滑动窗口的步幅。这允许灵活地调节输出特征图的大小[^4]。 以下是 Python PyTorch 中的一个简单示例代码片段展示如何实现反卷积: ```python import torch.nn as nn class DeconvLayer(nn.Module): def __init__(self, in_channels, out_channels, kernel_size=4, stride=2, padding=1): super(DeconvLayer, self).__init__() self.deconv = nn.ConvTranspose2d( in_channels=in_channels, out_channels=out_channels, kernel_size=kernel_size, stride=stride, padding=padding ) def forward(self, x): return self.deconv(x) ``` 在这个例子中,`nn.ConvTranspose2d` 是 PyTorch 提供的标准反卷积层实现。参数 `stride`, `padding`, `kernel_size` 控制着输出特征图相对于输入特征图的比例变化[^1]。 #### 3. 跳跃连接的重要性 尽管反卷积本身能有效提升分辨率,但单独依赖于它可能会引入棋盘效应(Checkerboard Artifacts)。因此,在实际应用中,通常结合跳跃连接(Skip Connections)技术。这种设计可以从早期更精细的特征图中借用信息,帮助保留更多细节并减少伪影的影响。 例如,当执行逐像素预测时,低层次特征往往携带丰富的边缘纹理信息;而高层次特征则擅长捕捉全局模式。通过融合不同抽象程度上的表示,模型可以获得更加精确的结果。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值