深度学习之upsampling downsampling

本文介绍了深度学习中采样技术的基本概念,包括下采样和上采样的定义及其在卷积神经网络中的应用。通过具体案例分析了FCN和DCGAN中如何利用这些技术进行特征提取与图像生成。

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

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

上采样是下采样的逆过程,也称增取样(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]。 #### 自适应滤波与深度学习结合 自适应滤波作为一种经典的方法,在语音去噪等领域得到了广泛应用。然而,为了进一步提升其性能,研究人员尝试将深度学习融入其中。通过引入稀疏性约束并利用语音信号的稀疏特性,可以在高噪声环境下显著改善去噪效果。此外,合理的参数设置以及多通道信息的综合利用也是提高系统性能的关键因素之一[^4]。 #### 图像去噪中的深度学习模型 对于图像去噪任务,传统的均值滤波器虽然简单易用,但在面对复杂的噪声模式时往往力不从心。而基于深度学习的方法则可以通过卷积神经网络(CNN)自动提取特征,并构建端到端的学习框架来完成高质量的去噪工作。例如,U-Net架构及其变体已被证明能够在保留细节的同时移除多种类型的干扰项[^5]。 以下是使用Python实现的一个简单的基于深度学习的图像去噪示例: ```python import tensorflow as tf from tensorflow.keras import layers, models def create_denoising_model(input_shape): model = models.Sequential() # Encoder part (downsampling) model.add(layers.Conv2D(64, (3, 3), activation='relu', padding='same', input_shape=input_shape)) model.add(layers.MaxPooling2D((2, 2))) model.add(layers.Conv2D(128, (3, 3), activation='relu', padding='same')) model.add(layers.MaxPooling2D((2, 2))) # Decoder part (upsampling) model.add(layers.UpSampling2D((2, 2))) model.add(layers.Conv2DTranspose(64, (3, 3), activation='relu', padding='same')) model.add(layers.UpSampling2D((2, 2))) model.add(layers.Conv2DTranspose(1, (3, 3), activation='sigmoid', padding='same')) return model input_shape = (128, 128, 1) # Example shape for grayscale images of size 128x128 model = create_denoising_model(input_shape) # Compile the model with appropriate loss function and optimizer model.compile(optimizer='adam', loss='binary_crossentropy') ``` 此代码片段定义了一个基本的编码解码结构用于图像去噪任务。该网络接受带有噪声的输入图片作为训练样本,并试图重建原始清晰版本。 #### 结合直方图滤波的概率机器人定位 尽管深度学习提供了强大的工具来进行环境感知和决策制定,但对于某些特定场合下的状态估计问题来说,经典的贝叶斯推断技术如粒子滤波或者扩展/无迹卡尔曼滤波依然占据主导地位。这是因为后者无需依赖大量标注好的数据集即可正常运作;而且当外界条件发生变化时也能保持较好的稳定性[^2]^。 综上所述,无论是针对静态对象还是动态过程,都可以发现越来越多的研究正在探索如何把这两种截然不同的范式结合起来从而获得更好的整体效能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值