问题标签 [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 投票
2 回答
10393 浏览

deep-learning - 与跨步转置卷积一起执行上采样和仅使用跨步 1 的转置卷积有什么区别?

我注意到在很多地方人们使用这样的东西,通常是在全卷积网络、自动编码器和类似的地方:

我想知道这和简单有什么区别:

欢迎提供任何解释这种差异的论文的链接。

0 投票
2 回答
5080 浏览

python - 具有不同大小图像的 TensorFlow 卷积神经网络

我正在尝试创建一个可以对图像中的每个单独像素进行分类的深度 CNN。我正在从本文中的下图中复制架构。在论文中提到使用了反卷积,因此任何大小的输入都是可能的。这可以在下图中看到。

Github 存储库

在此处输入图像描述

目前,我已经硬编码我的模型以接受大小为 32x32x7 的图像,但我想接受任何大小的输入。我需要对代码进行哪些更改才能接受可变大小的输入?

0 投票
1 回答
162 浏览

deep-learning - mnist 的深度特征可视化什么都不是

当我使用yosinski/deep-visualization-toolbox可视化mnist的 conv 特征时,我发现 deconv 特征什么都没有,图片的左下角 在此处输入图像描述 但是 imagenet 的可视化是我想看到的

在此处输入图像描述

所以我想知道问题是什么?工具箱的可视化问题还是mnist功能的特殊之处?

0 投票
1 回答
1272 浏览

python - 一维数组的 Richardson-Lucy 反卷积

我正在寻找适用于一维数组(如光谱数据)的 Richardson-Lucy 反卷积算法的实现。我试过scikit-image,但显然它只适用于图像。

0 投票
1 回答
6803 浏览

deep-learning - mask r-cnn的AP、AP50、AP70是什么意思?

我是 r-cnn 的新手。

mask r-cnn paper上有术语AP、AP50、AP75。50, 75 是小后缀,但我不能让它变小,对不起。无论如何,论文说它是 IOU 阈值的平均值。对于 AP50,仅计算超过 50% 区域比较地面实况的候选者,而对于 AP75,仅计算超过 75% 的候选者。那么什么是空AP呢?我知道 AP 使用 70% IoU 阈值,但它不会。因为只是AP低于AP75。

此外,还有一些我不太理解的术语。他们是 AP,m,L。我知道他们的意思是小,中,大。那么有什么标准它们有多大。只是说小,中,大让我有点困惑。

提前致谢!

0 投票
1 回答
137 浏览

tensorflow - 用于语义分割的全卷积神经网络

如果这不是询问此类问题的适当渠道,我可能有一个幼稚的问题,很抱歉。我已经成功实现了一个用于语义分割的 FCNN,但我不涉及反卷积或反池化层。

我所做的只是将地面实况图像调整为最终 FCNN 层的大小,然后计算我的损失。通过这种方式,我获得了一个较小的图像作为输出,但正确分割。

是否需要反卷积或反池化过程?

我的意思是,在 python 中调整图像大小非常容易,那么为什么要涉及复杂的技术,例如 deconv 或 unpooling 来做同样的事情呢?我当然想念一些东西。

使用 unpooling 和执行 deconv 放大图像有什么优势?

0 投票
1 回答
437 浏览

tensorflow - tf.nn.conv2d_transpose 的填充有什么作用?

众所周知,我们可以tensor通过padding mode for来计算输出的形状conv2d算法很清楚,但是我很困惑conv2d_transpose,它是否填充输入张量然后调用conv2d?它在哪里转置过滤器或输入?如何根据填充模式计算输出张量的形状,SAME或者VALIDconv2d_transpose

0 投票
3 回答
3914 浏览

tensorflow - 如何可视化(和理解)转置卷积?

我已经看到了两种从可靠来源可视化转置卷积的方法,据我所知它们是冲突的。

我的问题归结为,对于内核的每个应用程序,我们是从3x3具有输入填充的许多(例如)元素变为一个,还是从一个元素变为多个(例如3x3)?

相关问题:tf.nn.conv2d_transpose实现了哪个版本?

我困惑的根源是:


深度学习的卷积算法指南可能是最有名的可视化,但它没有经过同行评审 (Arxiv)。


第二个来自Deconvolution 和 Checkerboard Artifacts,在技术上也没有经过同行评审(Distil),但它来自一个更有信誉的来源。(文中使用了反卷积这个词,但说明这和transposed conv是一样的。)

在此处输入图像描述


由于这个问题的性质,很难在网上寻找结果,例如这个SO帖子占据了第一位,但我不确定我能在多大程度上信任它。

0 投票
2 回答
1203 浏览

deep-learning - 卷积层是否有精确的逆

...如果是这样,在什么情况下?

卷积层通常会产生较小尺寸的输出。是否可以通过翻转/转置使用的内核并提供填充或类似方式来反转/反转这样的操作?

只看这里卷积层的操作——没有池化层、连接、非线性激活函数等。

我不是在寻找反向卷积操作的几个可训练版本中的任何一个。例如,这可以通过输出空间中的步幅 $\geq 1$ 或输入空间中的固有填充来实现。Vincent Dumoulin 和 Francesco Visin 在他们的github 页面上提供了非常清晰的动画 gif 。深度学习社区对这些操作的命名存在分歧:转置卷积分数步幅卷积反卷积都被使用(后者虽然被广泛使用,但由于它不是适当的数学反卷积,因此非常具有误导性)。

0 投票
1 回答
938 浏览

fft - C++ - 本征 FFT 用于二维图像的反卷积

我正在尝试对图像I执行反卷积,即nxm。用于对其进行卷积的内核是K,也是nxm。现在我想通过执行反卷积找到原始图像O 。我知道我可以通过对IK执行傅立叶变换并划分:I / K来检索图像O,因为在傅立叶域中,卷积是一个乘积。(我从这里得到了这个信息)。

我在这里看到了关于如何使用 Eigen FFT 执行正向变换的另一篇文章

我的正向傅里叶变换代码是:

I = 输入图像(时域)

O = 输出图像(频域)

tempFreq = 计算的临时矩阵(频域)

timevec1 = 浮点向量

freqvec1, freqvec2, freqvec3 = 复向量

我的傅里叶逆变换代码是:

I = 输入图像(频域)

O = 输出图像(时域)

tempTime = 计算的临时矩阵(时域)

timevec1, timevec2 = 浮点向量

freqvec1, freqvec2 = 复向量

对于反卷积,我将频域中的输入图像与频域中的内核相除:

为了得到原始图像,我对 freqDomainOutputImage 执行傅里叶逆变换。

我得到的结果是: 在此处输入图像描述

我相信 FFT 将左上角镜像到另一边,但我不知道为什么?我没有使用 halfSpectrum。第二,为什么图像偏移?如果我通过用这个替换最后一个循环将输出图像移动到中心:

然后我的输出是: 在此处输入图像描述

(您可以看到图像是从左上象限镜像的)。

最后,为什么即使我自己添加了没有噪音的模糊,它似乎也有噪音?