{"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/badpart-unified-black-box-adversarial-patch","title":"BadPart: Unified Black-box Adversarial Patch Attacks against Pixel-wise Regression Tasks","arxiv_id":"2404.00924","date":"2024-04-01","proceeding":null,"authors":["Zhiyuan Cheng","Zhaoyi Liu","Tengda Guo","Shiwei Feng","Dongfang Liu","Mingjie Tang","Xiangyu Zhang"],"abstract":"Pixel-wise regression tasks (e.g., monocular depth estimation (MDE) and optical flow estimation (OFE)) have been widely involved in our daily life in applications like autonomous driving, augmented reality and video composition. Although certain applications are security-critical or bear societal significance, the adversarial robustness of such models are not sufficiently studied, especially in the black-box scenario. In this work, we introduce the first unified black-box adversarial patch attack framework against pixel-wise regression tasks, aiming to identify the vulnerabilities of these models under query-based black-box attacks. We propose a novel square-based adversarial patch optimization framework and employ probabilistic square sampling and score-based gradient estimation techniques to generate the patch effectively and efficiently, overcoming the scalability problem of previous black-box patch attacks. Our attack prototype, named BadPart, is evaluated on both MDE and OFE tasks, utilizing a total of 7 models. BadPart surpasses 3 baseline methods in terms of both attack performance and efficiency. We also apply BadPart on the Google online service for portrait depth estimation, causing 43.5% relative distance error with 50K queries. State-of-the-art (SOTA) countermeasures cannot defend our attack effectively.","url_abs":"https://arxiv.org/abs/2404.00924v3","url_pdf":"https://arxiv.org/pdf/2404.00924v3.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":"badpart-unified-black-box-adversarial-patch","repo_url":"https://github.com/bob-cheng/badpart","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"adversarial-robustness","task_name":"Adversarial Robustness"},{"task_slug":"autonomous-driving","task_name":"Autonomous Driving"},{"task_slug":"depth-estimation","task_name":"Depth Estimation"},{"task_slug":"monocular-depth-estimation","task_name":"Monocular Depth Estimation"},{"task_slug":"optical-flow-estimation","task_name":"Optical Flow Estimation"},{"task_slug":"regression-1","task_name":"regression"}],"methods":[{"method_slug":null,"method_name":null}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2404.00924","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2404.00924"}},"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/Bob-cheng/BadPart","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/bob-cheng/badpart","reach":{"status":"ok"}}],"summary":{"ran":8,"unverified":1},"by_repo_kind":{"official":{"samples":9,"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":9,"samples":[{"code_sha256_prefix":"cabc2ac9ef60e73b","entry":"compute_cossim","repo":"Bob-cheng/BadPart","repo_kind":"official","path":"FlowNetworks/flow_models/losses.py","file_url":"https://github.com/Bob-cheng/BadPart/blob/HEAD/FlowNetworks/flow_models/losses.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":"cabc2ac9ef60e73b"}},{"code_sha256_prefix":"795e0718dd9ab1ca","entry":"compute_epe","repo":"Bob-cheng/BadPart","repo_kind":"official","path":"FlowNetworks/flow_models/losses.py","file_url":"https://github.com/Bob-cheng/BadPart/blob/HEAD/FlowNetworks/flow_models/losses.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":"795e0718dd9ab1ca"}},{"code_sha256_prefix":"327b4158b7b40685","entry":"depth_to_disp","repo":"Bob-cheng/BadPart","repo_kind":"official","path":"attack/depth_model.py","file_url":"https://github.com/Bob-cheng/BadPart/blob/HEAD/attack/depth_model.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":"327b4158b7b40685"}},{"code_sha256_prefix":"62287188376f0ba0","entry":"disp_to_depth","repo":"Bob-cheng/BadPart","repo_kind":"official","path":"attack/depth_model.py","file_url":"https://github.com/Bob-cheng/BadPart/blob/HEAD/attack/depth_model.py","link_basis":"harvester_set","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":"62287188376f0ba0"}},{"code_sha256_prefix":"5ddbb1ceaa5ee4e9","entry":"disp_to_depth","repo":"bob-cheng/badpart","repo_kind":"official","path":"my_utils.py","file_url":"https://github.com/bob-cheng/badpart/blob/HEAD/my_utils.py","link_basis":"harvester_set","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":"5ddbb1ceaa5ee4e9"}},{"code_sha256_prefix":"4e589c19c316dbe1","entry":"load_and_preprocess_intrinsics","repo":"Bob-cheng/BadPart","repo_kind":"official","path":"attack/depth_model.py","file_url":"https://github.com/Bob-cheng/BadPart/blob/HEAD/attack/depth_model.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":"4e589c19c316dbe1"}},{"code_sha256_prefix":"245771e9a240453a","entry":"multiscale_cossim","repo":"Bob-cheng/BadPart","repo_kind":"official","path":"FlowNetworks/flow_models/losses.py","file_url":"https://github.com/Bob-cheng/BadPart/blob/HEAD/FlowNetworks/flow_models/losses.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":"245771e9a240453a"}},{"code_sha256_prefix":"e012e267c56a070d","entry":"softmax_parent_selection","repo":"Bob-cheng/BadPart","repo_kind":"official","path":"my_utils.py","file_url":"https://github.com/Bob-cheng/BadPart/blob/HEAD/my_utils.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":"e012e267c56a070d"}},{"code_sha256_prefix":"14f4a864ffa4c082","entry":"import_optical_flow_model","repo":"Bob-cheng/BadPart","repo_kind":"official","path":"attack/flow_model.py","file_url":"https://github.com/Bob-cheng/BadPart/blob/HEAD/attack/flow_model.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":"14f4a864ffa4c082"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}