Giter VIP home page Giter VIP logo

selfdeblur's People

Contributors

csdwren avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

selfdeblur's Issues

TV loss

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.

Possible mismatch for examples from Lai's dataset

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
manmade_01_kernel_03_k

Could you please help to check out if there is something wrong? Thank you!

other fuzzy kernels

Excuse me, can this algorithm solve the blind deblurring of other fuzzy kernels?

The noise level

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!

where is the pretrained model

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

How to get color results?

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!

test

how to do deblur on an image?

Can't find the training set

Hello, Professor, thank you for your contribution! I can't find where the training set is when I run levin data.

RuntimeError: set_storage_offset is not allowed on a Tensor created from .data or .detach().

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)

Online/offline image deblur solution

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.

Colour image deblurring

Uploading fishes_k.png…
hello I ran your test code selfdeblur_ycbcr but the result is very poor,the estimated blur kernel is a snowflake and I'm not quite sure why?

I'm using a 2080 Ti graphics card.

About the estimating of blur kernel

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.

RuntimeError: CUDA out of memory

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?

Why is PSNR lower than in the paper ?

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.

cublas runtime error : the GPU program failed to execute at /opt/conda/conda-bld/pytorch_1533672544752/work/aten/src/THC/THCBlas.cu:411

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?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.