GithubHelp home page GithubHelp logo

Comments (6)

jan-pair avatar jan-pair commented on August 27, 2024

There are even more differences in the second degradation process - in the provided config it is

  # the second degradation process
  second_blur_prob: 0.5
  resize_prob2: [0.3, 0.4, 0.3]  # up, down, keep
  resize_range2: [0.6, 1.2]
  gaussian_noise_prob2: 0.5
  noise_range2: [1, 12]
  poisson_scale_range2: [0.05, 1.0]
  gray_noise_prob2: 0.4
  jpeg_range2: [60, 100]

while in the RealESRGAN codebase it is

# the second degradation process
second_blur_prob: 0.8
resize_prob2: [0.3, 0.4, 0.3]  # up, down, keep
resize_range2: [0.3, 1.2]
gaussian_noise_prob2: 0.5
noise_range2: [1, 25]
poisson_scale_range2: [0.05, 2.5]
gray_noise_prob2: 0.4
jpeg_range2: [30, 95]

basicsr repo also uses the latter set of hparams. I checked CodeFormer repo but there seems to be no realesrgan degradations there, so the settings are probably not from there. I also thought this may be reusing BSRGAN params but the jpeg_range there seems to be either [30, 95] (again following second set of hparams) or [80, 95] as introduced in BSRGAN-light degradation in Latent Diffusion Models. I haven't found a range [60, 100] anywhere(

from stablesr.

IceClear avatar IceClear commented on August 27, 2024

We adjust the degradation settings slightly to avoid the huge gap between the synthetic data and real-world data.
We use our settings for synthetic test.
BSRGAN-light is also adopted for a similar purpose in LDM.

from stablesr.

jan-pair avatar jan-pair commented on August 27, 2024

Is there any specific protocol you follow to adjust those settings? Or is this based on a visual inspection of images?

Also, have you trained RealESRGAN on your custom degradation settings? It seems like original RealESRGAN w/o retraining would perform slightly worse bc you now apply less degradation that was intended for it.

from stablesr.

IceClear avatar IceClear commented on August 27, 2024

Based on our own visualization. After all, our focus is on real-world applications.
We did not fine-tune it due to the time limitation. You may have a try if you would like to.
We are not sure if our current settings may improve the performance of RealESRGAN or not.
We just intuitively consider that too heavy degradation may not be necessary for real-world cases.
BTW, there is no standard degradation pipeline now, even BSRGAN and RealESRGAN have different degradation pipelines and previous papers usually do not fine-tune baselines due to the huge workload.
We do not think the slight changes of the degradations is the main reason of the visualization gap between StableSR and RealESRGAN.

from stablesr.

jan-pair avatar jan-pair commented on August 27, 2024

Okay, thanks for your clarifications! I'll try fine-tuning RealESRGAN with the same train data and degradation as yours, and report here if there are significant differences.

from stablesr.

IceClear avatar IceClear commented on August 27, 2024

Okay, thanks for your clarifications! I'll try fine-tuning RealESRGAN with the same train data and degradation as yours, and report here if there are significant differences.

Thanks for your help.
Looking forward to your results :)

from stablesr.

Related Issues (20)

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.