{"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/efficient-test-time-adaptation-for-super-1","title":"Efficient Test-Time Adaptation for Super-Resolution with Second-Order Degradation and Reconstruction","arxiv_id":"2310.19011","date":"2023-10-29","proceeding":"NeurIPS 2023 11","authors":["Zeshuai Deng","Zhuokun Chen","Shuaicheng Niu","Thomas H. Li","Bohan Zhuang","Mingkui Tan"],"abstract":"Image super-resolution (SR) aims to learn a mapping from low-resolution (LR) to high-resolution (HR) using paired HR-LR training images. Conventional SR methods typically gather the paired training data by synthesizing LR images from HR images using a predetermined degradation model, e.g., Bicubic down-sampling. However, the realistic degradation type of test images may mismatch with the training-time degradation type due to the dynamic changes of the real-world scenarios, resulting in inferior-quality SR images. To address this, existing methods attempt to estimate the degradation model and train an image-specific model, which, however, is quite time-consuming and impracticable to handle rapidly changing domain shifts. Moreover, these methods largely concentrate on the estimation of one degradation type (e.g., blur degradation), overlooking other degradation types like noise and JPEG in real-world test-time scenarios, thus limiting their practicality. To tackle these problems, we present an efficient test-time adaptation framework for SR, named SRTTA, which is able to quickly adapt SR models to test domains with different/unknown degradation types. Specifically, we design a second-order degradation scheme to construct paired data based on the degradation type of the test image, which is predicted by a pre-trained degradation classifier. Then, we adapt the SR model by implementing feature-level reconstruction learning from the initial test image to its second-order degraded counterparts, which helps the SR model generate plausible HR images. Extensive experiments are conducted on newly synthesized corrupted DIV2K datasets with 8 different degradations and several real-world datasets, demonstrating that our SRTTA framework achieves an impressive improvement over existing methods with satisfying speed. The source code is available at https://github.com/DengZeshuai/SRTTA.","url_abs":"https://arxiv.org/abs/2310.19011v1","url_pdf":"https://arxiv.org/pdf/2310.19011v1.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":"efficient-test-time-adaptation-for-super-1","repo_url":"https://github.com/dengzeshuai/srtta","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"},{"task_slug":"test-time-adaptation","task_name":"Test-time Adaptation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2310.19011","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.19011"}},"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":"deterministic:regex_extraction","url":"https://github.com/DengZeshuai/SRTTA","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/dengzeshuai/srtta","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":9,"ran_draft_wrong":5,"unverified":4},"by_repo_kind":{"official":{"samples":18,"ran":14,"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":"b04722a19845dc90","entry":"analytic_kernel","repo":"dengzeshuai/srtta","repo_kind":"official","path":"src/utils/utils_blindsr.py","file_url":"https://github.com/dengzeshuai/srtta/blob/HEAD/src/utils/utils_blindsr.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b04722a19845dc90"}},{"code_sha256_prefix":"83daf8f77e32f15b","entry":"anisotropic_Gaussian","repo":"dengzeshuai/srtta","repo_kind":"official","path":"src/utils/utils_blindsr.py","file_url":"https://github.com/dengzeshuai/srtta/blob/HEAD/src/utils/utils_blindsr.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"83daf8f77e32f15b"}},{"code_sha256_prefix":"f5e137eeca622c4f","entry":"circular_lowpass_kernel","repo":"dengzeshuai/srtta","repo_kind":"official","path":"src/utils/utils_blindsr_plus.py","file_url":"https://github.com/dengzeshuai/srtta/blob/HEAD/src/utils/utils_blindsr_plus.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f5e137eeca622c4f"}},{"code_sha256_prefix":"ed4d7d29de641df1","entry":"collect_params","repo":"DengZeshuai/SRTTA","repo_kind":"official","path":"src/srtta.py","file_url":"https://github.com/DengZeshuai/SRTTA/blob/HEAD/src/srtta.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ed4d7d29de641df1"}},{"code_sha256_prefix":"06a1ef9308233244","entry":"compute_loss","repo":"DengZeshuai/SRTTA","repo_kind":"official","path":"src/srtta.py","file_url":"https://github.com/DengZeshuai/SRTTA/blob/HEAD/src/srtta.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"06a1ef9308233244"}},{"code_sha256_prefix":"d06f6abb54aaa2af","entry":"configure_model","repo":"DengZeshuai/SRTTA","repo_kind":"official","path":"src/srtta.py","file_url":"https://github.com/DengZeshuai/SRTTA/blob/HEAD/src/srtta.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d06f6abb54aaa2af"}},{"code_sha256_prefix":"ae434e6436712b40","entry":"create_metric_file","repo":"DengZeshuai/SRTTA","repo_kind":"official","path":"src/main_tta.py","file_url":"https://github.com/DengZeshuai/SRTTA/blob/HEAD/src/main_tta.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ae434e6436712b40"}},{"code_sha256_prefix":"8b0e794d4d8f9b13","entry":"default_conv","repo":"dengzeshuai/srtta","repo_kind":"official","path":"src/model/common.py","file_url":"https://github.com/dengzeshuai/srtta/blob/HEAD/src/model/common.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8b0e794d4d8f9b13"}},{"code_sha256_prefix":"9b12513b5aa17c52","entry":"diff_round","repo":"dengzeshuai/srtta","repo_kind":"official","path":"src/utils/diffjpeg.py","file_url":"https://github.com/dengzeshuai/srtta/blob/HEAD/src/utils/diffjpeg.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9b12513b5aa17c52"}},{"code_sha256_prefix":"d188e587bb71e8b3","entry":"filter2D","repo":"dengzeshuai/srtta","repo_kind":"official","path":"src/utils/utils_blindsr_plus.py","file_url":"https://github.com/dengzeshuai/srtta/blob/HEAD/src/utils/utils_blindsr_plus.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d188e587bb71e8b3"}},{"code_sha256_prefix":"218ddff4636dd1ad","entry":"get_image_paths","repo":"dengzeshuai/srtta","repo_kind":"official","path":"src/tool/prepare_tta_data.py","file_url":"https://github.com/dengzeshuai/srtta/blob/HEAD/src/tool/prepare_tta_data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"218ddff4636dd1ad"}},{"code_sha256_prefix":"226f6afcd57ff476","entry":"is_image_file","repo":"dengzeshuai/srtta","repo_kind":"official","path":"src/utils/utils_image.py","file_url":"https://github.com/dengzeshuai/srtta/blob/HEAD/src/utils/utils_image.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"226f6afcd57ff476"}},{"code_sha256_prefix":"234d6e4ddfb2bd2b","entry":"modcrop_np","repo":"dengzeshuai/srtta","repo_kind":"official","path":"src/utils/utils_blindsr.py","file_url":"https://github.com/dengzeshuai/srtta/blob/HEAD/src/utils/utils_blindsr.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"234d6e4ddfb2bd2b"}},{"code_sha256_prefix":"d588215e006deb50","entry":"quality_to_factor","repo":"dengzeshuai/srtta","repo_kind":"official","path":"src/utils/diffjpeg.py","file_url":"https://github.com/dengzeshuai/srtta/blob/HEAD/src/utils/diffjpeg.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d588215e006deb50"}},{"code_sha256_prefix":"794d4f7fc184e7e5","entry":"mesh_grid","repo":"dengzeshuai/srtta","repo_kind":"official","path":"src/utils/basicsr_degradations.py","file_url":"https://github.com/dengzeshuai/srtta/blob/HEAD/src/utils/basicsr_degradations.py","link_basis":"harvester_set","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":"794d4f7fc184e7e5"}},{"code_sha256_prefix":"3984b3ec31e90ef0","entry":"patches_from_image","repo":"dengzeshuai/srtta","repo_kind":"official","path":"src/utils/utils_image.py","file_url":"https://github.com/dengzeshuai/srtta/blob/HEAD/src/utils/utils_image.py","link_basis":"harvester_set","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":"3984b3ec31e90ef0"}},{"code_sha256_prefix":"321b9c73d589eb9e","entry":"pdf2","repo":"dengzeshuai/srtta","repo_kind":"official","path":"src/utils/basicsr_degradations.py","file_url":"https://github.com/dengzeshuai/srtta/blob/HEAD/src/utils/basicsr_degradations.py","link_basis":"harvester_set","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":"321b9c73d589eb9e"}},{"code_sha256_prefix":"e3444ff2b9d24600","entry":"sigma_matrix2","repo":"dengzeshuai/srtta","repo_kind":"official","path":"src/utils/basicsr_degradations.py","file_url":"https://github.com/dengzeshuai/srtta/blob/HEAD/src/utils/basicsr_degradations.py","link_basis":"harvester_set","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":"e3444ff2b9d24600"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}