深度学习之upsampling downsampling

通常采样指的是 下采样 ,也就是对信号的抽取 。  连续-〉离散

上采样是下采样的逆过程,也称增取样(Upsampling)或内插(Interpolating)。 离散-〉连续或加密!

在深度学习中,下采样可用conv卷积实现;上采样可用deconv反卷积实现(自己理解,不知对不对?)


转自链接:https://www.zhihu.com/question/43609045/answer/132235276

upsampling
分别简单介绍两篇文章,FCN和DCAN。FCN[4]主要用来做pixel-wise的image segmentation预测,先用传统的CNN结构得到feature map,同时将传统的full connected转换成了对应参数的卷积层,比如传统pool5层的尺寸是7×7×512,fc6的尺寸是4096,传统的full connected weight是7×7×512×4096这样多的参数,将它转成卷积核,kernel size为7×7,input channel为512,output channel为4096,则将传统的分别带有卷积和全连接的网络转成了全卷积网络(fully convolutional network, FCN)。FCN的一个好处是输入图片尺寸大小可以任意,不受传统网络全连接层尺寸限制,传统的方法还要用类似SPP结构来避免这个问题。FCN中为了得到pixel-wise的prediction,也要把feature map通过deconv转化到像素空间。论文中还有一些具体的feature融合,详情可参见论文。

DCGAN[5]中使用deconv就更自然了,本身GAN就需要generative model,需要通过deconv从特定分布的输入数据中生成图片。GAN这种模式被Yann LeCun特别看好,认为是unsupervised learning的一个未来。


[5] Unsupervised Representation Learning
with Deep Convolutional Generative Adversarial Networks

[6] Sparse Coding - Ufldl

[7] Denoising Autoencoders (dA)

[8] Convolution arithmetic tutorial



作者:谭旭
链接:https://www.zhihu.com/question/43609045/answer/132235276
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。



### 如何用深度学习实现图像去噪 #### 数据准备 在构建深度学习模型之前,需要准备好用于训练和测试的数据集。通常情况下,数据集由带噪声的图像及其对应的干净版本组成。这些数据可以来源于公开数据库或者自定义采集[^1]。 #### 网络架构设计 对于图像去噪任务,可以选择不同的神经网络结构进行实验。常见的有全连接层组成的简单前馈网络以及更高效的卷积神经网络(CNNs)[^2]。CNN因其局部感知能力和权重共享机制,在处理二维网格状数据(如图片)时表现出色。 下面给出一个简单的基于U-Net架构的PyTorch代码片段作为参考: ```python import torch.nn as nn class UNet(nn.Module): def __init__(self, num_channels=3): super(UNet, self).__init__() # Encoder part (downsampling) self.encoder = nn.Sequential( nn.Conv2d(num_channels, 64, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool2d(kernel_size=2), nn.Conv2d(64, 128, kernel_size=3, padding=1), nn.ReLU(), nn.MaxPool2d(kernel_size=2) ) # Decoder part (upsampling) self.decoder = nn.Sequential( nn.Upsample(scale_factor=2, mode='bilinear'), nn.Conv2d(128, 64, kernel_size=3, padding=1), nn.ReLU(), nn.Upsample(scale_factor=2, mode='bilinear'), nn.Conv2d(64, num_channels, kernel_size=3, padding=1), nn.Sigmoid() ) def forward(self, x): encoded_x = self.encoder(x) decoded_x = self.decoder(encoded_x) return decoded_x ``` 上述代码展示了一个基础版的U-Net模型框架,其中包含了编码器(encoder)与解码器(decoder),分别负责特征提取和重建输出图像的任务。 #### 训练过程概述 为了使模型具备良好的泛化能力,需采用适当的技术手段优化其表现,比如调整超参数设置、引入正则项防止过拟合等措施。此外,还可以尝试迁移学习策略加速收敛速度并提升最终效果[^3]。 #### 性能评估指标 常用的评价标准包括PSNR(Peak Signal-to-Noise Ratio), SSIM(structural similarity index measure)等等。它们可以从不同角度衡量恢复后的图像质量优劣程度[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值