{"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/adversarial-texture-for-fooling-person","title":"Adversarial Texture for Fooling Person Detectors in the Physical World","arxiv_id":"2203.03373","date":"2022-03-07","proceeding":"CVPR 2022 1","authors":["Zhanhao Hu","Siyuan Huang","Xiaopei Zhu","Fuchun Sun","Bo Zhang","Xiaolin Hu"],"abstract":"Nowadays, cameras equipped with AI systems can capture and analyze images to detect people automatically. However, the AI system can make mistakes when receiving deliberately designed patterns in the real world, i.e., physical adversarial examples. Prior works have shown that it is possible to print adversarial patches on clothes to evade DNN-based person detectors. However, these adversarial examples could have catastrophic drops in the attack success rate when the viewing angle (i.e., the camera's angle towards the object) changes. To perform a multi-angle attack, we propose Adversarial Texture (AdvTexture). AdvTexture can cover clothes with arbitrary shapes so that people wearing such clothes can hide from person detectors from different viewing angles. We propose a generative method, named Toroidal-Cropping-based Expandable Generative Attack (TC-EGA), to craft AdvTexture with repetitive structures. We printed several pieces of cloth with AdvTexure and then made T-shirts, skirts, and dresses in the physical world. Experiments showed that these clothes could fool person detectors in the physical world.","url_abs":"https://arxiv.org/abs/2203.03373v4","url_pdf":"https://arxiv.org/pdf/2203.03373v4.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":"adversarial-texture-for-fooling-person","repo_url":"https://github.com/WhoTHU/Adversarial_Texture","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2203.03373","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.03373"}},"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/WhoTHU/Adversarial_Texture","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":1,"unverified":11},"by_repo_kind":{"official":{"samples":12,"ran":1,"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":"e1814689377a5c82","entry":"compute_partial_repr","repo":"WhoTHU/Adversarial_Texture","repo_kind":"official","path":"tps_grid_gen.py","file_url":"https://github.com/WhoTHU/Adversarial_Texture/blob/HEAD/tps_grid_gen.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e1814689377a5c82"}},{"code_sha256_prefix":"bafb242ad7347214","entry":"build_targets","repo":"WhoTHU/Adversarial_Texture","repo_kind":"official","path":"yolo2/region_loss.py","file_url":"https://github.com/WhoTHU/Adversarial_Texture/blob/HEAD/yolo2/region_loss.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":"bafb242ad7347214"}},{"code_sha256_prefix":"3ec68f4651c396a2","entry":"calc_gradient_penalty","repo":"WhoTHU/Adversarial_Texture","repo_kind":"official","path":"generator_dim.py","file_url":"https://github.com/WhoTHU/Adversarial_Texture/blob/HEAD/generator_dim.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":"3ec68f4651c396a2"}},{"code_sha256_prefix":"c3819a0a3c702ec5","entry":"gauss_kernel","repo":"WhoTHU/Adversarial_Texture","repo_kind":"official","path":"utils.py","file_url":"https://github.com/WhoTHU/Adversarial_Texture/blob/HEAD/utils.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":"c3819a0a3c702ec5"}},{"code_sha256_prefix":"69099cbbe51b9f29","entry":"get_cfgs","repo":"WhoTHU/Adversarial_Texture","repo_kind":"official","path":"cfg.py","file_url":"https://github.com/WhoTHU/Adversarial_Texture/blob/HEAD/cfg.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":"69099cbbe51b9f29"}},{"code_sha256_prefix":"3699342b51411d76","entry":"grid_sample","repo":"WhoTHU/Adversarial_Texture","repo_kind":"official","path":"tps_grid_gen.py","file_url":"https://github.com/WhoTHU/Adversarial_Texture/blob/HEAD/tps_grid_gen.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":"3699342b51411d76"}},{"code_sha256_prefix":"047a65d91b059ef1","entry":"label_filter","repo":"WhoTHU/Adversarial_Texture","repo_kind":"official","path":"evaluation_texture.py","file_url":"https://github.com/WhoTHU/Adversarial_Texture/blob/HEAD/evaluation_texture.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":"047a65d91b059ef1"}},{"code_sha256_prefix":"2329e9023f218b7e","entry":"load_conv","repo":"WhoTHU/Adversarial_Texture","repo_kind":"official","path":"yolo2/cfg.py","file_url":"https://github.com/WhoTHU/Adversarial_Texture/blob/HEAD/yolo2/cfg.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":"2329e9023f218b7e"}},{"code_sha256_prefix":"bff835defe62db44","entry":"load_conv_bn","repo":"WhoTHU/Adversarial_Texture","repo_kind":"official","path":"yolo2/cfg.py","file_url":"https://github.com/WhoTHU/Adversarial_Texture/blob/HEAD/yolo2/cfg.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":"bff835defe62db44"}},{"code_sha256_prefix":"93c283a4f6e6c40f","entry":"parse_cfg","repo":"WhoTHU/Adversarial_Texture","repo_kind":"official","path":"yolo2/cfg.py","file_url":"https://github.com/WhoTHU/Adversarial_Texture/blob/HEAD/yolo2/cfg.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":"93c283a4f6e6c40f"}},{"code_sha256_prefix":"7fc3c3693b8f5dd9","entry":"truths_length","repo":"WhoTHU/Adversarial_Texture","repo_kind":"official","path":"evaluation_texture.py","file_url":"https://github.com/WhoTHU/Adversarial_Texture/blob/HEAD/evaluation_texture.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":"7fc3c3693b8f5dd9"}},{"code_sha256_prefix":"7159fc477010029f","entry":"truths_length","repo":"WhoTHU/Adversarial_Texture","repo_kind":"official","path":"utils.py","file_url":"https://github.com/WhoTHU/Adversarial_Texture/blob/HEAD/utils.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":"7159fc477010029f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}