{"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/fooling-automated-surveillance-cameras","title":"Fooling automated surveillance cameras: adversarial patches to attack person detection","arxiv_id":"1904.08653","date":"2019-04-18","proceeding":null,"authors":["Simen Thys","Wiebe Van Ranst","Toon Goedemé"],"abstract":"Adversarial attacks on machine learning models have seen increasing interest\nin the past years. By making only subtle changes to the input of a\nconvolutional neural network, the output of the network can be swayed to output\na completely different result. The first attacks did this by changing pixel\nvalues of an input image slightly to fool a classifier to output the wrong\nclass. Other approaches have tried to learn \"patches\" that can be applied to an\nobject to fool detectors and classifiers. Some of these approaches have also\nshown that these attacks are feasible in the real-world, i.e. by modifying an\nobject and filming it with a video camera. However, all of these approaches\ntarget classes that contain almost no intra-class variety (e.g. stop signs).\nThe known structure of the object is then used to generate an adversarial patch\non top of it.\n  In this paper, we present an approach to generate adversarial patches to\ntargets with lots of intra-class variety, namely persons. The goal is to\ngenerate a patch that is able successfully hide a person from a person\ndetector. An attack that could for instance be used maliciously to circumvent\nsurveillance systems, intruders can sneak around undetected by holding a small\ncardboard plate in front of their body aimed towards the surveillance camera.\n  From our results we can see that our system is able significantly lower the\naccuracy of a person detector. Our approach also functions well in real-life\nscenarios where the patch is filmed by a camera. To the best of our knowledge\nwe are the first to attempt this kind of attack on targets with a high level of\nintra-class variety like persons.","url_abs":"http://arxiv.org/abs/1904.08653v1","url_pdf":"http://arxiv.org/pdf/1904.08653v1.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":"fooling-automated-surveillance-cameras","repo_url":"https://gitlab.com/EAVISE/adversarial-yolo","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"fooling-automated-surveillance-cameras","repo_url":"https://github.com/Zhang-Jack/adversarial_yolo2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"fooling-automated-surveillance-cameras","repo_url":"https://github.com/bit-twidd1er/adversarial-yolo-snapshot","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"fooling-automated-surveillance-cameras","repo_url":"https://github.com/sfc-computational-creativity-lab/x-adversarialfashion","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"human-detection","task_name":"Human Detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1904.08653","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1904.08653"}},"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/bit-twidd1er/adversarial-yolo-snapshot","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sfc-computational-creativity-lab/x-adversarialfashion","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Zhang-Jack/adversarial_yolo2","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://gitlab.com/EAVISE/adversarial-yolo","reach":null}],"summary":{"unverified":10},"by_repo_kind":{"listed":{"samples":10,"ran":0,"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":"bafb242ad7347214","entry":"build_targets","repo":"Zhang-Jack/adversarial_yolo2","repo_kind":"listed","path":"region_loss.py","file_url":"https://github.com/Zhang-Jack/adversarial_yolo2/blob/HEAD/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":"7c3e3f84afa179de","entry":"calc_nps","repo":"Zhang-Jack/adversarial_yolo2","repo_kind":"listed","path":"craft_adv.py","file_url":"https://github.com/Zhang-Jack/adversarial_yolo2/blob/HEAD/craft_adv.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":"7c3e3f84afa179de"}},{"code_sha256_prefix":"90b2ef0e95527027","entry":"distort_image","repo":"Zhang-Jack/adversarial_yolo2","repo_kind":"listed","path":"image.py","file_url":"https://github.com/Zhang-Jack/adversarial_yolo2/blob/HEAD/image.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":"90b2ef0e95527027"}},{"code_sha256_prefix":"fcefecd930437474","entry":"get_max_probability","repo":"Zhang-Jack/adversarial_yolo2","repo_kind":"listed","path":"craft_adv.py","file_url":"https://github.com/Zhang-Jack/adversarial_yolo2/blob/HEAD/craft_adv.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":"fcefecd930437474"}},{"code_sha256_prefix":"cd1c26da502bc987","entry":"get_printability_array","repo":"Zhang-Jack/adversarial_yolo2","repo_kind":"listed","path":"craft_adv.py","file_url":"https://github.com/Zhang-Jack/adversarial_yolo2/blob/HEAD/craft_adv.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":"cd1c26da502bc987"}},{"code_sha256_prefix":"2329e9023f218b7e","entry":"load_conv","repo":"Zhang-Jack/adversarial_yolo2","repo_kind":"listed","path":"cfg.py","file_url":"https://github.com/Zhang-Jack/adversarial_yolo2/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":"2329e9023f218b7e"}},{"code_sha256_prefix":"bff835defe62db44","entry":"load_conv_bn","repo":"Zhang-Jack/adversarial_yolo2","repo_kind":"listed","path":"cfg.py","file_url":"https://github.com/Zhang-Jack/adversarial_yolo2/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":"bff835defe62db44"}},{"code_sha256_prefix":"93c283a4f6e6c40f","entry":"parse_cfg","repo":"Zhang-Jack/adversarial_yolo2","repo_kind":"listed","path":"cfg.py","file_url":"https://github.com/Zhang-Jack/adversarial_yolo2/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":"93c283a4f6e6c40f"}},{"code_sha256_prefix":"6a4124c294bed05b","entry":"rand_scale","repo":"Zhang-Jack/adversarial_yolo2","repo_kind":"listed","path":"image.py","file_url":"https://github.com/Zhang-Jack/adversarial_yolo2/blob/HEAD/image.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":"6a4124c294bed05b"}},{"code_sha256_prefix":"835b72f71b599016","entry":"scale_image_channel","repo":"Zhang-Jack/adversarial_yolo2","repo_kind":"listed","path":"image.py","file_url":"https://github.com/Zhang-Jack/adversarial_yolo2/blob/HEAD/image.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":"835b72f71b599016"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}