{"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/amplitude-phase-recombination-rethinking","title":"Amplitude-Phase Recombination: Rethinking Robustness of Convolutional Neural Networks in Frequency Domain","arxiv_id":"2108.08487","date":"2021-08-19","proceeding":"ICCV 2021 10","authors":["Guangyao Chen","Peixi Peng","Li Ma","Jia Li","Lin Du","Yonghong Tian"],"abstract":"Recently, the generalization behavior of Convolutional Neural Networks (CNN) is gradually transparent through explanation techniques with the frequency components decomposition. However, the importance of the phase spectrum of the image for a robust vision system is still ignored. In this paper, we notice that the CNN tends to converge at the local optimum which is closely related to the high-frequency components of the training images, while the amplitude spectrum is easily disturbed such as noises or common corruptions. In contrast, more empirical studies found that humans rely on more phase components to achieve robust recognition. This observation leads to more explanations of the CNN's generalization behaviors in both robustness to common perturbations and out-of-distribution detection, and motivates a new perspective on data augmentation designed by re-combing the phase spectrum of the current image and the amplitude spectrum of the distracter image. That is, the generated samples force the CNN to pay more attention to the structured information from phase components and keep robust to the variation of the amplitude. Experiments on several image datasets indicate that the proposed method achieves state-of-the-art performances on multiple generalizations and calibration tasks, including adaptability for common corruptions and surface variations, out-of-distribution detection, and adversarial attack.","url_abs":"https://arxiv.org/abs/2108.08487v1","url_pdf":"https://arxiv.org/pdf/2108.08487v1.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":"amplitude-phase-recombination-rethinking","repo_url":"https://github.com/iCGY96/APR","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"adversarial-attack","task_name":"Adversarial Attack"},{"task_slug":"data-augmentation","task_name":"Data Augmentation"},{"task_slug":"domain-generalization","task_name":"Domain Generalization"},{"task_slug":"out-of-distribution-detection","task_name":"Out-of-Distribution Detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/domain-generalization-on-imagenet-c","task":"Domain Generalization","dataset":"ImageNet-C","model":"APR-SP + DeepAugment (ResNet-50)","rank_in_archive_order":35,"of":47,"metrics":{"mean Corruption Error (mCE)":"57.5"},"uses_additional_data":false},{"leaderboard":"/sota/domain-generalization-on-imagenet-c","task":"Domain Generalization","dataset":"ImageNet-C","model":"APR-SP (ResNet-50)","rank_in_archive_order":37,"of":47,"metrics":{"mean Corruption Error (mCE)":"65.0"},"uses_additional_data":false},{"leaderboard":"/sota/out-of-distribution-detection-on-cifar-10","task":"Out-of-Distribution Detection","dataset":"CIFAR-10","model":"ResNet18 + APR-P","rank_in_archive_order":7,"of":10,"metrics":{"AUROC":"98.1"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2108.08487","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2108.08487"}},"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/iCGY96/APR","reach":null}],"summary":{"ran_honours":2,"ran_draft_wrong":7,"unverified":1},"by_repo_kind":{"official":{"samples":10,"ran":9,"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":"be1cf2403304fa6d","entry":"float_parameter","repo":"iCGY96/APR","repo_kind":"official","path":"datasets/APR.py","file_url":"https://github.com/iCGY96/APR/blob/HEAD/datasets/APR.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"be1cf2403304fa6d"}},{"code_sha256_prefix":"beaa91443124b324","entry":"int_parameter","repo":"iCGY96/APR","repo_kind":"official","path":"datasets/APR.py","file_url":"https://github.com/iCGY96/APR/blob/HEAD/datasets/APR.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"beaa91443124b324"}},{"code_sha256_prefix":"43b678f915759923","entry":"posterize","repo":"iCGY96/APR","repo_kind":"official","path":"datasets/APR.py","file_url":"https://github.com/iCGY96/APR/blob/HEAD/datasets/APR.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"43b678f915759923"}},{"code_sha256_prefix":"d85800f55f323864","entry":"rotate","repo":"iCGY96/APR","repo_kind":"official","path":"datasets/APR.py","file_url":"https://github.com/iCGY96/APR/blob/HEAD/datasets/APR.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d85800f55f323864"}},{"code_sha256_prefix":"417bb83cee1eb445","entry":"shear_x","repo":"iCGY96/APR","repo_kind":"official","path":"datasets/APR.py","file_url":"https://github.com/iCGY96/APR/blob/HEAD/datasets/APR.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"417bb83cee1eb445"}},{"code_sha256_prefix":"5615796e020bb66b","entry":"shear_y","repo":"iCGY96/APR","repo_kind":"official","path":"datasets/APR.py","file_url":"https://github.com/iCGY96/APR/blob/HEAD/datasets/APR.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5615796e020bb66b"}},{"code_sha256_prefix":"62f59af34932ce5f","entry":"solarize","repo":"iCGY96/APR","repo_kind":"official","path":"datasets/APR.py","file_url":"https://github.com/iCGY96/APR/blob/HEAD/datasets/APR.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"62f59af34932ce5f"}},{"code_sha256_prefix":"63c558f9d95b07bd","entry":"translate_x","repo":"iCGY96/APR","repo_kind":"official","path":"datasets/APR.py","file_url":"https://github.com/iCGY96/APR/blob/HEAD/datasets/APR.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"63c558f9d95b07bd"}},{"code_sha256_prefix":"9497b9c7bcc19bdf","entry":"translate_y","repo":"iCGY96/APR","repo_kind":"official","path":"datasets/APR.py","file_url":"https://github.com/iCGY96/APR/blob/HEAD/datasets/APR.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9497b9c7bcc19bdf"}},{"code_sha256_prefix":"718adcc72de6cc2b","entry":"APRecombination","repo":"iCGY96/APR","repo_kind":"official","path":"datasets/APR.py","file_url":"https://github.com/iCGY96/APR/blob/HEAD/datasets/APR.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":"718adcc72de6cc2b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}