csdwren / selfdeblur Goto Github PK
View Code? Open in Web Editor NEWNeural Blind Deconvolution Using Deep Priors (CVPR 2020)
Neural Blind Deconvolution Using Deep Priors (CVPR 2020)
Hi! First, thanks for your kind work.
However, where can I get the TV loss function when reproducing the results of the paper??
Can you provide a solution for this?
Thank you.
Thank you for your inspiring work! I just report a possible mismatch when running the released code.
I tried to run selfdeblur_lai.py
to deblur images from Lai's dataset. However, I can not produce meaningful results for certain images like manmade_01_kernel_03.png
and manmade_01_kernel_04.png
by default settings. I guess there are some mismatches between the uploaded code for Lai's dataset and the deblurred results you provided.
Here are my workflows for your reference.
I downloaded your data blurry/lai
and transfer all images of this folder to YCbCr color space. Then I run that code by input only Y channel. It can generate good results for manmade_01_kernel_01.png
and manmade_01_kernel_02.png
, but it failed for larger kernels, which do not correspond to the results provided.
Please refer to the kernel I got for manmade_01_kernel_03
Could you please help to check out if there is something wrong? Thank you!
please give a new link to donload !!!
You won't have plan to release pre trained models?
Excuse me, can this algorithm solve the blind deblurring of other fuzzy kernels?
Hello,
Firstly, thanks for the great contribution and the open access to the code!
My question is that I want to apply this algorithm on my own datasets, say that I have a blurry noisy image, with known noise level and blur kernel size. I notice that in your code like selfdeblur_levin.py line 48 there is one setting called 'reg_noise_std = 0.001', does this refer to the regularization parameter \lambda in Eq.6 in your paper? If so, why you did not set it as 10^-6 as you said in Section 4.1 (10\times std of noise level), if not, what is this setting?
Another question is that if I understand correctly, your algorithm is an unsupervised one so that we do not need to train a generalized model using training sets, instead we directly apply the algorithm on the blurry noisy images one by one, right? Does your algorithm have some limitations to the noise level? If the noise std is relatively big, say 0.1, would it still work well?
Any reply is appreciated!
Onedrive link is broken!
Thx
it seems that there is no pretrained model file in baiduyun download link. and the onedrive link is broken. so how can i get the pretrained model
Hi~
Thanks for your work.
I ran SelfDeblur on my own blur images and get gray results. It seems that the SelfDeblur is performed on Y channel. So can you provide the code coverting the results to RGB?
Looking forward to it, thank you!
how to do deblur on an image?
Hello, Professor, thank you for your contribution! I can't find where the training set is when I run levin data.
Hi,when I run selfdeblur_levin.py,I have the error:
im1_kernel1_img
Traceback (most recent call last):
File "selfdeblur_levin.py", line 101, in
net_input_kernel.squeeze_()
RuntimeError: set_storage_offset is not allowed on a Tensor created from .data or .detach().
If your intent is to change the metadata of a Tensor (such as sizes / strides / storage / storage_offset)
without autograd tracking the change, remove the .data / .detach() call and wrap the change in a with torch.no_grad():
block.
For example, change:
x.data.set_(y)
to:
with torch.no_grad():
x.set_(y)
Hi @csdwren, thanks for the cool research and the open source.
Do you plan to provide something like a (ideally - free) online image deblur solution?
I imagine that it should be easy to setup.
It would be also nice to pack complete solution, with model, for local image deblurring.
I wanna know the reason why you use fcn to estimate the blur kernel instead of directly estimate the kernel by CNN from a blur image? Thank you professor.
Hi, when I run selfdeblur for GOPRO data, I have the runtime error.
RuntimeError: CUDA out of memory. Tried to allocate 530.75 MiB (GPU 0; 8.00 GiB total capacity; 4.17 GiB already allocated; 323.22 MiB free; 5.45 MiB cached)
Some suggestions are "reduce batch size" and do you have any suggestions?
Thank you for your wonderful work, but I have a little doubt. I used the deblur result you provided and directly compute all the evaluation metrics(PSNR SSIM) and found that the result was lower than your value in the paper. Thank you again for your work.
Hello, when i run selfdeblur_ycbcr.py,there is a mistake,
File "selfdeblur_ycbcr.py", line 121, in
out_x = net(net_input)
File "/home/user1/anaconda3/envs/pytorch1.1/lib/python3.6/site-packages/torch/nn/modules/module.py", line 477, in call
result = self.forward(*input, **kwargs)
File "/home/user1/anaconda3/envs/pytorch1.1/lib/python3.6/site-packages/torch/nn/modules/container.py", line 91, in forward
input = module(input)
File "/home/user1/anaconda3/envs/pytorch1.1/lib/python3.6/site-packages/torch/nn/modules/module.py", line 477, in call
result = self.forward(*input, **kwargs)
File "/tmp/selfdDeblur/networks/common.py", line 22, in forward
inputs.append(module(input))
File "/home/user1/anaconda3/envs/pytorch1.1/lib/python3.6/site-packages/torch/nn/modules/module.py", line 477, in call
result = self.forward(*input, **kwargs)
File "/home/user1/anaconda3/envs/pytorch1.1/lib/python3.6/site-packages/torch/nn/modules/container.py", line 91, in forward
input = module(input)
File "/home/user1/anaconda3/envs/pytorch1.1/lib/python3.6/site-packages/torch/nn/modules/module.py", line 477, in call
result = self.forward(*input, **kwargs)
File "/home/user1/anaconda3/envs/pytorch1.1/lib/python3.6/site-packages/torch/nn/modules/container.py", line 91, in forward
input = module(input)
File "/home/user1/anaconda3/envs/pytorch1.1/lib/python3.6/site-packages/torch/nn/modules/module.py", line 477, in call
result = self.forward(*input, **kwargs)
File "/tmp/selfdDeblur/networks/common.py", line 22, in forward
inputs.append(module(input))
File "/home/user1/anaconda3/envs/pytorch1.1/lib/python3.6/site-packages/torch/nn/modules/module.py", line 477, in call
result = self.forward(*input, **kwargs)
File "/home/user1/anaconda3/envs/pytorch1.1/lib/python3.6/site-packages/torch/nn/modules/container.py", line 91, in forward
input = module(input)
File "/home/user1/anaconda3/envs/pytorch1.1/lib/python3.6/site-packages/torch/nn/modules/module.py", line 477, in call
result = self.forward(*input, **kwargs)
File "/home/user1/anaconda3/envs/pytorch1.1/lib/python3.6/site-packages/torch/nn/modules/container.py", line 91, in forward
input = module(input)
File "/home/user1/anaconda3/envs/pytorch1.1/lib/python3.6/site-packages/torch/nn/modules/module.py", line 477, in call
result = self.forward(*input, **kwargs)
File "/tmp/selfdDeblur/networks/common.py", line 22, in forward
inputs.append(module(input))
File "/home/user1/anaconda3/envs/pytorch1.1/lib/python3.6/site-packages/torch/nn/modules/module.py", line 477, in call
result = self.forward(*input, **kwargs)
File "/home/user1/anaconda3/envs/pytorch1.1/lib/python3.6/site-packages/torch/nn/modules/container.py", line 91, in forward
input = module(input)
File "/home/user1/anaconda3/envs/pytorch1.1/lib/python3.6/site-packages/torch/nn/modules/module.py", line 477, in call
result = self.forward(*input, **kwargs)
File "/tmp/selfdDeblur/networks/non_local_dot_product.py", line 77, in forward
f = torch.matmul(theta_x, phi_x)
RuntimeError: cublas runtime error : the GPU program failed to execute at /opt/conda/conda-bld/pytorch_1533672544752/work/aten/src/THC/THCBlas.cu:411
How can solve this problem?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.