问题标签 [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.
deep-learning - 与跨步转置卷积一起执行上采样和仅使用跨步 1 的转置卷积有什么区别?
我注意到在很多地方人们使用这样的东西,通常是在全卷积网络、自动编码器和类似的地方:
我想知道这和简单有什么区别:
欢迎提供任何解释这种差异的论文的链接。
python - 具有不同大小图像的 TensorFlow 卷积神经网络
我正在尝试创建一个可以对图像中的每个单独像素进行分类的深度 CNN。我正在从本文中的下图中复制架构。在论文中提到使用了反卷积,因此任何大小的输入都是可能的。这可以在下图中看到。
目前,我已经硬编码我的模型以接受大小为 32x32x7 的图像,但我想接受任何大小的输入。我需要对代码进行哪些更改才能接受可变大小的输入?
deep-learning - mnist 的深度特征可视化什么都不是
当我使用yosinski/deep-visualization-toolbox可视化mnist的 conv 特征时,我发现 deconv 特征什么都没有,图片的左下角 但是 imagenet 的可视化是我想看到的
所以我想知道问题是什么?工具箱的可视化问题还是mnist功能的特殊之处?
python - 一维数组的 Richardson-Lucy 反卷积
我正在寻找适用于一维数组(如光谱数据)的 Richardson-Lucy 反卷积算法的实现。我试过scikit-image,但显然它只适用于图像。
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。我知道他们的意思是小,中,大。那么有什么标准它们有多大。只是说小,中,大让我有点困惑。
提前致谢!
tensorflow - 用于语义分割的全卷积神经网络
如果这不是询问此类问题的适当渠道,我可能有一个幼稚的问题,很抱歉。我已经成功实现了一个用于语义分割的 FCNN,但我不涉及反卷积或反池化层。
我所做的只是将地面实况图像调整为最终 FCNN 层的大小,然后计算我的损失。通过这种方式,我获得了一个较小的图像作为输出,但正确分割。
是否需要反卷积或反池化过程?
我的意思是,在 python 中调整图像大小非常容易,那么为什么要涉及复杂的技术,例如 deconv 或 unpooling 来做同样的事情呢?我当然想念一些东西。
使用 unpooling 和执行 deconv 放大图像有什么优势?
tensorflow - tf.nn.conv2d_transpose 的填充有什么作用?
众所周知,我们可以tensor
通过padding mode for来计算输出的形状conv2d
,算法很清楚,但是我很困惑conv2d_transpose
,它是否填充输入张量然后调用conv2d
?它在哪里转置过滤器或输入?如何根据填充模式计算输出张量的形状,SAME
或者VALID
为conv2d_transpose
?
tensorflow - 如何可视化(和理解)转置卷积?
我已经看到了两种从可靠来源可视化转置卷积的方法,据我所知它们是冲突的。
我的问题归结为,对于内核的每个应用程序,我们是从3x3
具有输入填充的许多(例如)元素变为一个,还是从一个元素变为多个(例如3x3
)?
相关问题:tf.nn.conv2d_transpose实现了哪个版本?
我困惑的根源是:
深度学习的卷积算法指南可能是最有名的可视化,但它没有经过同行评审 (Arxiv)。
第二个来自Deconvolution 和 Checkerboard Artifacts,在技术上也没有经过同行评审(Distil),但它来自一个更有信誉的来源。(文中使用了反卷积这个词,但说明这和transposed conv是一样的。)
由于这个问题的性质,很难在网上寻找结果,例如这个SO帖子占据了第一位,但我不确定我能在多大程度上信任它。
deep-learning - 卷积层是否有精确的逆
...如果是这样,在什么情况下?
卷积层通常会产生较小尺寸的输出。是否可以通过翻转/转置使用的内核并提供填充或类似方式来反转/反转这样的操作?
只看这里卷积层的操作——没有池化层、连接、非线性激活函数等。
我不是在寻找反向卷积操作的几个可训练版本中的任何一个。例如,这可以通过输出空间中的步幅 $\geq 1$ 或输入空间中的固有填充来实现。Vincent Dumoulin 和 Francesco Visin 在他们的github 页面上提供了非常清晰的动画 gif 。深度学习社区对这些操作的命名存在分歧:转置卷积、分数步幅卷积和反卷积都被使用(后者虽然被广泛使用,但由于它不是适当的数学反卷积,因此非常具有误导性)。
fft - C++ - 本征 FFT 用于二维图像的反卷积
我正在尝试对图像I执行反卷积,即nxm。用于对其进行卷积的内核是K,也是nxm。现在我想通过执行反卷积找到原始图像O 。我知道我可以通过对I和K执行傅立叶变换并划分:I / K来检索图像O,因为在傅立叶域中,卷积是一个乘积。(我从这里得到了这个信息)。
我在这里看到了关于如何使用 Eigen FFT 执行正向变换的另一篇文章。
我的正向傅里叶变换代码是:
I = 输入图像(时域)
O = 输出图像(频域)
tempFreq = 计算的临时矩阵(频域)
timevec1 = 浮点向量
freqvec1, freqvec2, freqvec3 = 复向量
我的傅里叶逆变换代码是:
I = 输入图像(频域)
O = 输出图像(时域)
tempTime = 计算的临时矩阵(时域)
timevec1, timevec2 = 浮点向量
freqvec1, freqvec2 = 复向量
对于反卷积,我将频域中的输入图像与频域中的内核相除:
为了得到原始图像,我对 freqDomainOutputImage 执行傅里叶逆变换。
我相信 FFT 将左上角镜像到另一边,但我不知道为什么?我没有使用 halfSpectrum。第二,为什么图像偏移?如果我通过用这个替换最后一个循环将输出图像移动到中心:
(您可以看到图像是从左上象限镜像的)。
最后,为什么即使我自己添加了没有噪音的模糊,它似乎也有噪音?