{"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/backdoor-attacks-for-remote-sensing-data-with","title":"Backdoor Attacks for Remote Sensing Data with Wavelet Transform","arxiv_id":"2211.08044","date":"2022-11-15","proceeding":null,"authors":["Nikolaus Dräger","Yonghao Xu","Pedram Ghamisi"],"abstract":"Recent years have witnessed the great success of deep learning algorithms in the geoscience and remote sensing realm. Nevertheless, the security and robustness of deep learning models deserve special attention when addressing safety-critical remote sensing tasks. In this paper, we provide a systematic analysis of backdoor attacks for remote sensing data, where both scene classification and semantic segmentation tasks are considered. While most of the existing backdoor attack algorithms rely on visible triggers like squared patches with well-designed patterns, we propose a novel wavelet transform-based attack (WABA) method, which can achieve invisible attacks by injecting the trigger image into the poisoned image in the low-frequency domain. In this way, the high-frequency information in the trigger image can be filtered out in the attack, resulting in stealthy data poisoning. Despite its simplicity, the proposed method can significantly cheat the current state-of-the-art deep learning models with a high attack success rate. We further analyze how different trigger images and the hyper-parameters in the wavelet transform would influence the performance of the proposed method. Extensive experiments on four benchmark remote sensing datasets demonstrate the effectiveness of the proposed method for both scene classification and semantic segmentation tasks and thus highlight the importance of designing advanced backdoor defense algorithms to address this threat in remote sensing scenarios. The code will be available online at \\url{https://github.com/ndraeger/waba}.","url_abs":"https://arxiv.org/abs/2211.08044v2","url_pdf":"https://arxiv.org/pdf/2211.08044v2.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":"backdoor-attacks-for-remote-sensing-data-with","repo_url":"https://github.com/ndraeger/waba","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"backdoor-attack","task_name":"Backdoor Attack"},{"task_slug":"data-poisoning","task_name":"Data Poisoning"},{"task_slug":"deep-learning","task_name":"Deep Learning"},{"task_slug":"scene-classification","task_name":"Scene Classification"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"backdoor-defense","task_name":"backdoor defense"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2211.08044","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2211.08044"}},"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/ndraeger/waba","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":2,"unverified":8},"by_repo_kind":{"official":{"samples":10,"ran":2,"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":"50efec97e3cc12bc","entry":"conv1x1","repo":"ndraeger/waba","repo_kind":"official","path":"classification/models/networks.py","file_url":"https://github.com/ndraeger/waba/blob/HEAD/classification/models/networks.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"50efec97e3cc12bc"}},{"code_sha256_prefix":"7e98e1d315e2ea27","entry":"conv3x3","repo":"ndraeger/waba","repo_kind":"official","path":"classification/models/networks.py","file_url":"https://github.com/ndraeger/waba/blob/HEAD/classification/models/networks.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7e98e1d315e2ea27"}},{"code_sha256_prefix":"f94761b672278106","entry":"alexnet","repo":"ndraeger/waba","repo_kind":"official","path":"classification/models/networks.py","file_url":"https://github.com/ndraeger/waba/blob/HEAD/classification/models/networks.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":"f94761b672278106"}},{"code_sha256_prefix":"0be7b9d5432241aa","entry":"center_crop","repo":"ndraeger/waba","repo_kind":"official","path":"segmentation/models/networks.py","file_url":"https://github.com/ndraeger/waba/blob/HEAD/segmentation/models/networks.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":"0be7b9d5432241aa"}},{"code_sha256_prefix":"98aaaeb5c0255d77","entry":"eval_image","repo":"ndraeger/waba","repo_kind":"official","path":"segmentation/utils/tools.py","file_url":"https://github.com/ndraeger/waba/blob/HEAD/segmentation/utils/tools.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":"98aaaeb5c0255d77"}},{"code_sha256_prefix":"a150ac652f5f6bba","entry":"get_seg_network","repo":"ndraeger/waba","repo_kind":"official","path":"segmentation/models/network_factory.py","file_url":"https://github.com/ndraeger/waba/blob/HEAD/segmentation/models/network_factory.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":"a150ac652f5f6bba"}},{"code_sha256_prefix":"68f02849ad3eb678","entry":"get_upsampling_weight","repo":"ndraeger/waba","repo_kind":"official","path":"segmentation/models/networks.py","file_url":"https://github.com/ndraeger/waba/blob/HEAD/segmentation/models/networks.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":"68f02849ad3eb678"}},{"code_sha256_prefix":"d5e5836458e8af6a","entry":"index2bgr_v","repo":"ndraeger/waba","repo_kind":"official","path":"segmentation/utils/tools.py","file_url":"https://github.com/ndraeger/waba/blob/HEAD/segmentation/utils/tools.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":"d5e5836458e8af6a"}},{"code_sha256_prefix":"7a1c4d9e38294c4f","entry":"index2bgr_z","repo":"ndraeger/waba","repo_kind":"official","path":"segmentation/utils/tools.py","file_url":"https://github.com/ndraeger/waba/blob/HEAD/segmentation/utils/tools.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":"7a1c4d9e38294c4f"}},{"code_sha256_prefix":"f02db96cd0e921d3","entry":"up_pad","repo":"ndraeger/waba","repo_kind":"official","path":"segmentation/models/networks.py","file_url":"https://github.com/ndraeger/waba/blob/HEAD/segmentation/models/networks.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":"f02db96cd0e921d3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}