Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

question about the test_video.py #32

Open
CauchyHu opened this issue Jul 17, 2020 · 6 comments
Open

question about the test_video.py #32

CauchyHu opened this issue Jul 17, 2020 · 6 comments

Comments

@CauchyHu
Copy link

I am using your code to reproduce the experimental results of the ESPCN paper, but I find that the results are quite different from those in the paper. Therefore, I speculate whether the input image only has y value and no CB and Cr value into the model, which will lead to the final image can not achieve the effect of the paper?
this is my results:
image

image

@windmaple
Copy link

windmaple commented Aug 2, 2020

I'm also trying to reproduce the results in the paper. I also had issue getting the same level of quality (PyTorch official example repo also has an implementation; quality isn't that great either). Were you able to get good quality for images?

But I think what you mentioned here is expected. If you read the paper closely, you will see it does only use Y channel. Cb/Cr are upsampled using bicubic interpolation.

Having said that, I think the main diff is that the original paper uses a very small patch size (17x17). I haven't been able to confirm this though.

Btw, this implementation uses diff activation functions as well, although that doesn't make much diff per my testing.

@CauchyHu
Copy link
Author

CauchyHu commented Aug 3, 2020

I'm also trying to reproduce the results in the paper. I also had issue getting the same level of quality (PyTorch official example repo also has an implementation; quality isn't that great either). Were you able to get good quality for images?

But I think what you mentioned here is expected. If you read the paper closely, you will see it does only use Y channel. Cb/Cr are upsampled using bicubic interpolation.

Having said that, I think the main diff is that the original paper uses a very small patch size (17x17). I haven't been able to confirm this though.

Btw, this implementation uses diff activation functions as well, although that doesn't make much diff per my testing.

Do you have a good solution now? I have tried to remake the training samples, but it has not improved much. I doubt whether there is a problem with the training sample cropping method in data_utils.py?

@windmaple
Copy link

Unfortunately no. I have tried half a dozen TF/PyTorch implementation on GitHub. None of them could get even close to what was reported in the paper.

@543877815
Copy link

@windmaple @CauchyHu
I've done several experiments recently, I think the key points is the about:

  1. Data augmentation method. It seems that the large size of patches is very hard to learn. Thus, cropping big images into the small size of patches is necessary.
  2. The PSNR/SSIM/IFC evaluation in the paper is probably using MatLab in https://github.com/jbhuang0604/SelfExSR/blob/master/quant_eval/compute_difference.m. Btw, the method that converts yCrCb to RGB is quite different between Pillow in python and Matlab. The latter one will get higher performance

@543877815
Copy link

image
My result using data augmentation is as above. Please let me know if reproducing a better result :)

@windmaple
Copy link

直接用OpenCV好了,已经有训练好的ESPCN
https://docs.opencv.org/master/d9/de0/group__dnn__superres.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants