{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/frequency-separation-for-real-world-super","title":"Frequency Separation for Real-World Super-Resolution","arxiv_id":"1911.07850","date":"2019-11-18","proceeding":null,"authors":["Manuel Fritsche","Shuhang Gu","Radu Timofte"],"abstract":"Most of the recent literature on image super-resolution (SR) assumes the availability of training data in the form of paired low resolution (LR) and high resolution (HR) images or the knowledge of the downgrading operator (usually bicubic downscaling). While the proposed methods perform well on standard benchmarks, they often fail to produce convincing results in real-world settings. This is because real-world images can be subject to corruptions such as sensor noise, which are severely altered by bicubic downscaling. Therefore, the models never see a real-world image during training, which limits their generalization capabilities. Moreover, it is cumbersome to collect paired LR and HR images in the same source domain. To address this problem, we propose DSGAN to introduce natural image characteristics in bicubically downscaled images. It can be trained in an unsupervised fashion on HR images, thereby generating LR images with the same characteristics as the original images. We then use the generated data to train a SR model, which greatly improves its performance on real-world images. Furthermore, we propose to separate the low and high image frequencies and treat them differently during training. Since the low frequencies are preserved by downsampling operations, we only require adversarial training to modify the high frequencies. This idea is applied to our DSGAN model as well as the SR model. We demonstrate the effectiveness of our method in several experiments through quantitative and qualitative analysis. Our solution is the winner of the AIM Challenge on Real World SR at ICCV 2019.","url_abs":"https://arxiv.org/abs/1911.07850v1","url_pdf":"https://arxiv.org/pdf/1911.07850v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"frequency-separation-for-real-world-super","repo_url":"https://github.com/ManuelFritsche/real-world-sr","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"image-super-resolution","task_name":"Image Super-Resolution"},{"task_slug":"super-resolution","task_name":"Super-Resolution"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1911.07850","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1911.07850"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ManuelFritsche/real-world-sr","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_violates":1,"unverified":4},"by_repo_kind":{"official":{"samples":5,"ran":1,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"2383223cfe77b76c","entry":"is_image_file","repo":"ManuelFritsche/real-world-sr","repo_kind":"official","path":"dsgan/utils.py","file_url":"https://github.com/ManuelFritsche/real-world-sr/blob/HEAD/dsgan/utils.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2383223cfe77b76c"}},{"code_sha256_prefix":"c889b417f65ffc2a","entry":"calculate_valid_crop_size","repo":"ManuelFritsche/real-world-sr","repo_kind":"official","path":"dsgan/utils.py","file_url":"https://github.com/ManuelFritsche/real-world-sr/blob/HEAD/dsgan/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c889b417f65ffc2a"}},{"code_sha256_prefix":"0a5b662d2e43235f","entry":"discriminator_loss","repo":"ManuelFritsche/real-world-sr","repo_kind":"official","path":"dsgan/loss.py","file_url":"https://github.com/ManuelFritsche/real-world-sr/blob/HEAD/dsgan/loss.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0a5b662d2e43235f"}},{"code_sha256_prefix":"fddd828ae0d50eb8","entry":"gaussian_noise","repo":"ManuelFritsche/real-world-sr","repo_kind":"official","path":"dsgan/utils.py","file_url":"https://github.com/ManuelFritsche/real-world-sr/blob/HEAD/dsgan/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fddd828ae0d50eb8"}},{"code_sha256_prefix":"164ccb7a78aba8ef","entry":"generator_loss","repo":"ManuelFritsche/real-world-sr","repo_kind":"official","path":"dsgan/loss.py","file_url":"https://github.com/ManuelFritsche/real-world-sr/blob/HEAD/dsgan/loss.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"164ccb7a78aba8ef"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}