问题标签 [deconvolution]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1890 浏览

python - TensorFlow conv2d_transpose output_shape

我想实现一个输入大小不固定的生成对抗网络 (GAN),例如4-D Tensor (Batch_size, None, None, 3).

但是当我使用conv2d_transpose时,有一个参数output_shape,这个参数必须通过true size反卷积后的操作。

例如,如果the size of batch_img is (64, 32, 32, 128), w is weight with (3, 3, 64, 128),之后

deconv = tf.nn.conv2d_transpose(batch_img, w, output_shape=[64, 64, 64, 64],stride=[1,2,2,1], padding='SAME')

所以,我得到deconvsize (64, 64, 64, 64),如果我通过了就可以了true size of output_shape

但是,我想使用 unfixed input size (64, None, None, 128),并deconv使用(64, None, None, 64).

但是,它会引发如下错误。

TypeError: Failed to convert object of type <type'list'> to Tensor...

那么,我该怎么做才能避免 deconv 中的这个参数呢?还是有另一种方法来实现不固定的 GAN?

0 投票
0 回答
752 浏览

matlab - 在 MATLAB 中通过反卷积确定 PSF

我试图通过对测试图案(代表模糊图像)的测量和该测量的模拟(代表非模糊图像)的反卷积过程来确定某个显微镜的点扩散函数(PSF) . 他们自己的“图像”是图案的微观图像(可以说是高度轮廓)中的线条,换句话说,我正在一维空间中工作。(然后我想将结果用于 2D 问题,顺便提一下。)

我现在的问题是:是否有任何选项可以利用MATLAB (deconvlucy...这两个数据集?我已经尝试做一个“图像”,将它们分开,然后做一个除法()但是这个 ansatz 的 PSF 在以后的反卷积中使用时不会产生所需的结果。deconvwnrdeconvregfftifftPSF = ifft((fft(measured))/(fft(sim)))

0 投票
1 回答
1241 浏览

python - 修正 Tensorflow 中的反卷积层

我试图用 Tensorflow 构建一个变分自动编码器。我从最简单的模型开始。我有以下方法:

整个网络的模型如下:

我从 a 获取我的图像FIFOQueue并将它们输入到这个模型中。我的图像大小是112, 112, 3. 我的问题是从 convdeconv[1, 1, 1, 1] to [1, 2, 2, 1]层中更改步幅时出现以下错误:

PS:我知道我在 deconv 层缺少激活函数,但我想这与我得到的错误无关。任何帮助深表感谢!!

0 投票
0 回答
310 浏览

caffe - 反卷积层 FCN 初始化 - 损失下降太快

我正在训练一个小型(12K 图像上的 10M 权重)FCN(参见例如 Long et al, 2015)。架构如下(从FCN8s fc7层开始):

当我用高斯权重初始化所有反卷积层时,我得到了一些(尽管不总是)合理的结果。然后我决定以正确的方式做,并使用 Shelhamer 提供的脚本(例如https://github.com/zeakey/DeepSkeleton/blob/master/examples/DeepSkeleton/solve.py

反卷积层看起来像这样(第一个):

我得到的输出真的很奇怪:损失下降很快(1000 代),并且保持在 1 左右,但该模型在测试集上完全没用。有什么建议么?我降低了学习率,但似乎没有任何效果。

PS:培训的简短打印输出

0 投票
0 回答
183 浏览

caffe - 一些反卷积层中的导数大多全为零

这是一个非常奇怪的错误,部分是对上一个问题(反卷积层 FCN 初始化 - 损失下降太快)的后续。

但是我初始化 Deconv 层(双线性或高斯),我得到了同样的情况:

1)权重已更新,我检查了多次迭代。反卷积/上采样层的大小是相同的:(2,2,8,8)

首先,net_mcn.layers[idx].blobs[0].diff返回带有浮点数的矩阵,最后一个 Deconv 层 ( upscore5) 产生两个具有相同数字但符号相反的数组,即权重应该在不同方向上以相同的速率移动,但结果权重实际上几乎相同!

相当令人惊讶的是,剩下的四个 deconv 层没有这个错误。因此,当我比较模型时,例如,foriter=5000iter=55000deconv 层的权重是非常不同的。

更令人惊讶的是,其他层(卷积)的变化要小得多!

这是 init 的打印输出部分,用于确认 deconv 层已更新:

2) Blobs diffs 对于反卷积层都是零

几乎所有反卷积层的数据流(查找关于输入的 Caffe 卷积过滤器的梯度)的差异在算法的整个持续时间内都是零,除了少数例外(也接近 0,例如)。-2.28945263e-09

卷积层差异看起来不错。

我认为这是一个悖论 - deconv 层中的权重已更新,但与神经元的差异都是 0(常数?)

3) Deconv 特征快速增长

远大于 FCN 和 CRFasRNN,高达 5.4e+03,同时附近的像素对于同一类可能具有非常不同的值(例如 5e+02 和 -300)。

4)训练和验证错误下降,通常很快

正如我在提到的问题中指出的那样。

所以把它们放在一起——我不明白该怎么做。如果是过拟合,那为什么验证错误也会减少呢?

网络的架构是

编辑:我错了,并非所有 net.blobs[...].diffs 中的所有条目都是 0,但主要是随着层变大。这取决于数据大小。

0 投票
1 回答
273 浏览

c++ - How to implement the deconv layer in caffe in the 3D filter manner?

I have a requirement to implement the forward computing of deconv layer in the 3D filter manner.

Here, by '3D filter manner', I mean convolution like the Gaussian filter in CV. In the contrast, the caffe implements the deconv in the gemm + col2im manner.

I find a similar question here. The guy wrote the code according the introduction in tranposed conv.

Image

He/She does not open the source code. So I finished my own one:

I compare the result with the caffe's one:

However, the code does not give the same result with the caffe's implementation.

Do anyone know what is wrong? Or any advises or comment on the code?

0 投票
2 回答
3057 浏览

python - 通过相机输入的实时性能消除运动模糊

我在一张纸上绘制了简单的几何形状图案,并将其放置在一个物体上作为标记。我能够成功地检测和分析模式。然而,当物体移动得更快一点时,就会引入运动模糊,它可以是旋转的或线性的。这样,检测到的区域重叠,例如在箭头方向上移动的一条箭头,在引入运动模糊后被检测为单条线。因此我需要以某种方式修复它。所以我可以检测单个箭头并分析它们。下面是带有和不带有运动模糊的标记的图像。

在此处输入图像描述

在此处输入图像描述

有没有可以用来解决它的python模块或开源实现?运动可以在任何方向以任何速度进行,因此 PSF 是未知的,并且对于 Wiener、Lucy-Richardson 方法是必需的。这也是一个实时跟踪问题,所以我需要一些快速执行的东西。

PS 我正在使用 Python 2.7 和 Opencv 3

0 投票
1 回答
7319 浏览

neural-network - 如何在卷积网络中使用 im2col 操作更有效?

我正在尝试实现卷积神经网络,但我不明白为什么使用 im2col 操作更有效。它基本上将要乘以过滤器的输入存储在单独的列中。但是为什么不应该直接使用循环来计算卷积而不是首先执行 im2col 呢?

0 投票
1 回答
279 浏览

tensorflow - 使用张量流进行反卷积/Transpose_Convolutions

我正在尝试使用tf.nn.conv3d_transpose,但是,我收到一个错误,表明我的过滤器和输出形状不兼容。

  • 我有一个大小为 [1,16,16,4,192] 的张量
  • 我正在尝试使用 [1,1,1,192,192] 的过滤器
  • 我相信输出形状将是 [1,16,16,4,192]
  • 我正在使用“相同”的填充和 1 的步幅。

最终,我希望输出形状为 [1,32,32,7,“没关系”],但我试图先让一个简单的案例起作用。

由于这些张量在常规卷积中是兼容的,我相信相反的反卷积也是可能的。

为什么不可能对这些张量进行反卷积。我能否获得一个有效滤波器大小和输出形状的示例,用于对形状 [1,16,16,4,192] 的张量进行反卷积

谢谢你。

0 投票
2 回答
3378 浏览

image-processing - Keras 函数的 Tensorflow 等效项:UpSampling2D

我想使用 Keras 层:

如何使用本机 tensorflow 复制此行为?

我无法找到等效的功能/层。