Coder Social home page Coder Social logo

wenchao-du / lir-for-unsupervised-ir Goto Github PK

View Code? Open in Web Editor NEW
96.0 96.0 21.0 26.41 MB

This is an implementation for the CVPR2020 paper "Learning Invariant Representation for Unsupervised Image Restoration"

Home Page: https://arxiv.org/pdf/2003.12769.pdf

Python 100.00%
image-restoration noise-reduction unsupervised-learning

lir-for-unsupervised-ir's People

Contributors

wenchao-du 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

lir-for-unsupervised-ir's Issues

The issue in the PascalVoc.py

As your attempt, you want to divide the pascalvoc dataset into 4, and this .py file is just for pascalvoc dataset.
But in your code :
def splitlist(folder, trainfolder1, trainfolder2, testfolder):
if not os.path.exists(folder):
raise Exception('input folder dose not exist ! please check it !!')
if not os.path.exists(trainfolder1):
os.makedirs(trainfolder1)
if not os.path.exists(trainfolder2):
os.makedirs(trainfolder2)
if not os.path.exists(testfolder):
os.makedirs(testfolder)

filelist = os.listdir(folder)
sublist = random.sample(filelist, **110000**)
sublist_a = random.sample(sublist, **55000**)
   .....

The number of pictures in the folder is 110000 and 55000 respectively, but there are only 12031 images in the pascalvoc data set. How did you do it? Or is it that you made a mistake?

About KL Loss

The work is interesting! However, in your paper, you only add a KL divergence loss to regularize the distribution of the noise code, while you add KL loss to all latent features in your open source code. Why is there such a difference? Is KL loss important to the final result?

About test.py?

Hello, I want to ask what is '/mnt/B290B95290B91E33/Dual_UNIT/outputs/unit_noise2clear-bn-Deblur/checkpoints/gen_00300000.pt' in test.py

One question in dis_update function

in dis_update(self, x_a, x_b, hyperparameters):
the content adversial codes are ,
out_a = self.dis_content(h_a)
out_b = self.dis_content(h_b)
why not use h_a.detach() and h_b.detach() to avoid the update in the parameters of G ?
Thank you!

学长您好,我在构建自己数据集进行训练的时候发生错误,尝试一天后没找到解决办法,真诚希望学长能提点一下

我的数据集是640*512的红外噪声图像(Celeba_B)与干净图像(Celeba_A),但是一直在 File "G:\WIN\LIR-for-Unsupervised-IR-master\networks.py", line 344, in forward
return self.model(x)
与 File "G:\WIN\LIR-for-Unsupervised-IR-master\networks.py", line 467, in forward
x = self.conv(self.pad(x))的 def forward(self, x):
x = self.conv(self.pad(x))
if self.norm_type != 'wn' and self.norm != None:
x = self.norm(x)
if self.activation:
x = self.activation(x)
return x
报错 return F.pad(input, self.padding, 'reflect')
TypeError: pad(): argument 'input' (position 1) must be Tensor, not NoneType
实在毫无头绪,恳求学长帮助

关于训练过程

您好,能给一个更详细的训练过程吗?就是每次该运行哪些.py文件

Structure of custom dataset

Hello
How are you?
I am going to apply this method to a general image restoration such as deblur & denoising.
I found that the training step requires testA and testB data too.
Are these testA and testB data unpaired data?

Noise types?

It is expected that other types of noise are possible to be learned by the network, for example, JPEG artifacts?

About the source and placement of the data set

Does the clean data set come from the VOC data set? So do you need to search for noise data by yourself? Where is the noise data set used by the author? Is the clean data set put into Celeba_A, and then the noise data set into Celeba_B?

Only one encoder in trainer.py

Hi. The paper says there are two encoders (generators) for the clean image and noisy image splitly. However, I can only find one generator 'gen_a' in 'train.py'. I think that it is the generator for noisy image. Where is the defination of the other generator (for clean image)? Thansk in advance.

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.