用咖啡反卷积
Deconvolution with caffe
我想知道是否可以在给定焦点处使用 objective 的点扩散函数在 Caffe 中执行图像反卷积。类似于 this approach.
如果是,最好的方法是什么?
可以使用 Caffe(和一般的 CNN)对图像进行反卷积,但该方法可能不像您希望的那样通用。
CNN 可以将模糊图像作为输入并输出清晰图像。由于网络是卷积的,因此输入可以是任意大小。这可以在 Caffe 中使用卷积层和欧几里得损失层轻松完成。或者,您可以尝试添加一些池化层和反卷积层。
可以训练 CNN 对图像进行反卷积以获得特定的模糊 PSF,就像您 link 中那样。 (参见:[Xu et al.:Deep Convolutional Neural Network for Image Deconvolution. NIPS 2014])。这很好用,但你必须为每个新的 PSF 重新训练 CNN(这需要很多时间)。
我尝试训练 CNN 进行盲反卷积(PSF 未知),它对文本文档非常有效。您可以在 [Hradiš et al.: Convolutional Neural Networks for Direct Text Deblurring. BMVC 2015] 获得经过训练的网络和 python-Caffe 脚本。这种方法适用于其他类型的图像,但不适用于不受限制的照片和多样化的模糊。对于一般照片,我猜它可以用于小范围的模糊。
另一种可能性是进行反向过滤(例如使用维纳过滤器)并使用 CNN 处理输出。这样做的好处是您可以非常快速地计算新 PSF 的逆滤波器,并且 CNN 保持不变。 [Schuler 等人:一种用于非盲图像反卷积的机器学习方法。 CVPR 2013]
我想知道是否可以在给定焦点处使用 objective 的点扩散函数在 Caffe 中执行图像反卷积。类似于 this approach.
如果是,最好的方法是什么?
可以使用 Caffe(和一般的 CNN)对图像进行反卷积,但该方法可能不像您希望的那样通用。
CNN 可以将模糊图像作为输入并输出清晰图像。由于网络是卷积的,因此输入可以是任意大小。这可以在 Caffe 中使用卷积层和欧几里得损失层轻松完成。或者,您可以尝试添加一些池化层和反卷积层。
可以训练 CNN 对图像进行反卷积以获得特定的模糊 PSF,就像您 link 中那样。 (参见:[Xu et al.:Deep Convolutional Neural Network for Image Deconvolution. NIPS 2014])。这很好用,但你必须为每个新的 PSF 重新训练 CNN(这需要很多时间)。
我尝试训练 CNN 进行盲反卷积(PSF 未知),它对文本文档非常有效。您可以在 [Hradiš et al.: Convolutional Neural Networks for Direct Text Deblurring. BMVC 2015] 获得经过训练的网络和 python-Caffe 脚本。这种方法适用于其他类型的图像,但不适用于不受限制的照片和多样化的模糊。对于一般照片,我猜它可以用于小范围的模糊。
另一种可能性是进行反向过滤(例如使用维纳过滤器)并使用 CNN 处理输出。这样做的好处是您可以非常快速地计算新 PSF 的逆滤波器,并且 CNN 保持不变。 [Schuler 等人:一种用于非盲图像反卷积的机器学习方法。 CVPR 2013]