jkhu29 / Deblurring-by-Realistic-Blurring

A PyTorch implementation of the "Deblurring by Realistic Blurring", unofficially
https://arxiv.org/abs/2004.01860
MIT License
24 stars 2 forks source link

Questions please! #7

Open Askiry opened 2 years ago

Askiry commented 2 years ago

Hi, thanks for your contribution. I have several questions:

  1. Has the project achieved the accuracy of the paper? You use a cyclegan to produce the blur data, but the paper not use the cyclegan.
  2. What datasets are used for training? The training script implies that the train dataset has a length of 44185.
  3. The architechture of vgg19 used by the discriminator seems not right in the codes. And the last layer feature of vgg16 is not used in perceptual loss, which is a bit difference from other projects. Why?

I am looking forward to your reply.

jkhu29 commented 2 years ago

A1: The latest training code has not been released yet (as I am busy with articulation these days) and the current training code does not achieve the accuracy in the article. I will upload the correct code in August (or sooner). About CycleGAN, at the beginning I didn't notice the method of implementing unpaired learning in the article, so I first used CycleGAN to train.

A2: Dataset is Gopro-Large and this paper's own publicly available dataset. Here . About 44185, tfrecord in pytorch doesn't have __len__ method, you need to artificially set the length of the dataset. (lmdb recommended)

A3: About feature_extraction, Perhaps this page will solve your problem. About class GAN_D, do you mean replace batchnorm with instancenorm?. About the last layer feature of vgg16, only four layers of features are generally used to calculate perceptual loss. See this paper's Fig. 2. Of course you can also extract more features if this is necessary.

I hope these answers will help you.

Askiry commented 2 years ago

Thank you for your quick reply. About class GAN_D, I mean the version in your script is a reduced vgg19, only with 10 layers.

And have you finished the correct version? If so, I hope I can see your updated version asap.

jkhu29 commented 2 years ago

Thank you for your quick reply. About class GAN_D, I mean the version in your script is a reduced vgg19, only with 10 layers.

And have you finished the correct version? If so, I hope I can see your updated version asap.

about numbers of layers, see here

Askiry commented 2 years ago

Thank you for your quick reply. About class GAN_D, I mean the version in your script is a reduced vgg19, only with 10 layers. And have you finished the correct version? If so, I hope I can see your updated version asap.

about numbers of layers, see here

Yes, the official version is right. But in your implementation about train_blur, the GAN_D is implemented as here, only with 10 layers.

And I also find a lot of differences in your project with the original paper. I am looking forward to see your revised version asap. Thanks a lot.

jkhu29 commented 2 years ago

Thank you for your quick reply. About class GAN_D, I mean the version in your script is a reduced vgg19, only with 10 layers. And have you finished the correct version? If so, I hope I can see your updated version asap.

about numbers of layers, see here

Yes, the official version is right. But in your implementation about train_blur, the GAN_D is implemented as here, only with 10 layers.

And I also find a lot of differences in your project with the original paper. I am looking forward to see your revised version asap. Thanks a lot.

In fact, the discriminator in the official implementation consists of 10 B.conv_block.

Please wait one to two weeks for me to make the code public, if you don't mind you can contact me by email: hjk1938927583 AT 163 dot com

Thanks.