{"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/beyond-image-super-resolution-for-image","title":"Beyond Image Super-Resolution for Image Recognition with Task-Driven Perceptual Loss","arxiv_id":"2404.01692","date":"2024-04-02","proceeding":"CVPR 2024 1","authors":["Jaeha Kim","Junghun Oh","Kyoung Mu Lee"],"abstract":"In real-world scenarios, image recognition tasks, such as semantic segmentation and object detection, often pose greater challenges due to the lack of information available within low-resolution (LR) content. Image super-resolution (SR) is one of the promising solutions for addressing the challenges. However, due to the ill-posed property of SR, it is challenging for typical SR methods to restore task-relevant high-frequency contents, which may dilute the advantage of utilizing the SR method. Therefore, in this paper, we propose Super-Resolution for Image Recognition (SR4IR) that effectively guides the generation of SR images beneficial to achieving satisfactory image recognition performance when processing LR images. The critical component of our SR4IR is the task-driven perceptual (TDP) loss that enables the SR network to acquire task-specific knowledge from a network tailored for a specific task. Moreover, we propose a cross-quality patch mix and an alternate training framework that significantly enhances the efficacy of the TDP loss by addressing potential problems when employing the TDP loss. Through extensive experiments, we demonstrate that our SR4IR achieves outstanding task performance by generating SR images useful for a specific image recognition task, including semantic segmentation, object detection, and image classification. The implementation code is available at https://github.com/JaehaKim97/SR4IR.","url_abs":"https://arxiv.org/abs/2404.01692v2","url_pdf":"https://arxiv.org/pdf/2404.01692v2.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":"beyond-image-super-resolution-for-image","repo_url":"https://github.com/jaehakim97/sr4ir","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"image-super-resolution","task_name":"Image Super-Resolution"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"super-resolution","task_name":"Super-Resolution"},{"task_slug":"image-classification","task_name":"image-classification"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2404.01692","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2404.01692"}},"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/jaehakim97/sr4ir","reach":{"status":"ok"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/JaehaKim97/SR4IR","reach":{"status":"ok"}}],"summary":{"ran":5,"ran_draft_wrong":3,"unverified":5},"by_repo_kind":{"official":{"samples":13,"ran":8,"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":13,"samples":[{"code_sha256_prefix":"8f6bab6bf2544914","entry":"charbonnier_loss","repo":"JaehaKim97/SR4IR","repo_kind":"official","path":"src/losses/common.py","file_url":"https://github.com/JaehaKim97/SR4IR/blob/HEAD/src/losses/common.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8f6bab6bf2544914"}},{"code_sha256_prefix":"2a80220dabcb742a","entry":"conv1x1","repo":"JaehaKim97/SR4IR","repo_kind":"official","path":"src/archs/cls/resnet.py","file_url":"https://github.com/JaehaKim97/SR4IR/blob/HEAD/src/archs/cls/resnet.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2a80220dabcb742a"}},{"code_sha256_prefix":"600ff2c45e0de056","entry":"conv3x3","repo":"JaehaKim97/SR4IR","repo_kind":"official","path":"src/archs/cls/resnet.py","file_url":"https://github.com/JaehaKim97/SR4IR/blob/HEAD/src/archs/cls/resnet.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"600ff2c45e0de056"}},{"code_sha256_prefix":"9d8f7211b7acf9b3","entry":"get_image_info","repo":"JaehaKim97/SR4IR","repo_kind":"official","path":"preprocess/voc2coco/voc2coco.py","file_url":"https://github.com/JaehaKim97/SR4IR/blob/HEAD/preprocess/voc2coco/voc2coco.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9d8f7211b7acf9b3"}},{"code_sha256_prefix":"f30f1749ae0eedde","entry":"get_label2id","repo":"JaehaKim97/SR4IR","repo_kind":"official","path":"preprocess/voc2coco/voc2coco.py","file_url":"https://github.com/JaehaKim97/SR4IR/blob/HEAD/preprocess/voc2coco/voc2coco.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f30f1749ae0eedde"}},{"code_sha256_prefix":"5360d45b71ae2bb1","entry":"insert_bn","repo":"JaehaKim97/SR4IR","repo_kind":"official","path":"src/losses/loss_util.py","file_url":"https://github.com/JaehaKim97/SR4IR/blob/HEAD/src/losses/loss_util.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5360d45b71ae2bb1"}},{"code_sha256_prefix":"1b10fbcffd550887","entry":"l1_loss","repo":"JaehaKim97/SR4IR","repo_kind":"official","path":"src/losses/common.py","file_url":"https://github.com/JaehaKim97/SR4IR/blob/HEAD/src/losses/common.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1b10fbcffd550887"}},{"code_sha256_prefix":"baa6a59b3b8fcaba","entry":"mse_loss","repo":"JaehaKim97/SR4IR","repo_kind":"official","path":"src/losses/common.py","file_url":"https://github.com/JaehaKim97/SR4IR/blob/HEAD/src/losses/common.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"baa6a59b3b8fcaba"}},{"code_sha256_prefix":"40c29c070d07c55f","entry":"build_network","repo":"JaehaKim97/SR4IR","repo_kind":"official","path":"src/archs/cls/resnet.py","file_url":"https://github.com/JaehaKim97/SR4IR/blob/HEAD/src/archs/cls/resnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"40c29c070d07c55f"}},{"code_sha256_prefix":"fe05416387de89c6","entry":"g_path_regularize","repo":"JaehaKim97/SR4IR","repo_kind":"official","path":"src/losses/gan.py","file_url":"https://github.com/JaehaKim97/SR4IR/blob/HEAD/src/losses/gan.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fe05416387de89c6"}},{"code_sha256_prefix":"adfb4114d3ec2d1e","entry":"get_annpaths","repo":"JaehaKim97/SR4IR","repo_kind":"official","path":"preprocess/voc2coco/voc2coco.py","file_url":"https://github.com/JaehaKim97/SR4IR/blob/HEAD/preprocess/voc2coco/voc2coco.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"adfb4114d3ec2d1e"}},{"code_sha256_prefix":"81eb425a41a7c2a1","entry":"gradient_penalty_loss","repo":"JaehaKim97/SR4IR","repo_kind":"official","path":"src/losses/gan.py","file_url":"https://github.com/JaehaKim97/SR4IR/blob/HEAD/src/losses/gan.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"81eb425a41a7c2a1"}},{"code_sha256_prefix":"c7cba9053f3cadb5","entry":"r1_penalty","repo":"JaehaKim97/SR4IR","repo_kind":"official","path":"src/losses/gan.py","file_url":"https://github.com/JaehaKim97/SR4IR/blob/HEAD/src/losses/gan.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c7cba9053f3cadb5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}