{"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/opom-customized-invisible-cloak-towards-face","title":"OPOM: Customized Invisible Cloak towards Face Privacy Protection","arxiv_id":"2205.11981","date":"2022-05-24","proceeding":null,"authors":["Yaoyao Zhong","Weihong Deng"],"abstract":"While convenient in daily life, face recognition technologies also raise privacy concerns for regular users on the social media since they could be used to analyze face images and videos, efficiently and surreptitiously without any security restrictions. In this paper, we investigate the face privacy protection from a technology standpoint based on a new type of customized cloak, which can be applied to all the images of a regular user, to prevent malicious face recognition systems from uncovering their identity. Specifically, we propose a new method, named one person one mask (OPOM), to generate person-specific (class-wise) universal masks by optimizing each training sample in the direction away from the feature subspace of the source identity. To make full use of the limited training images, we investigate several modeling methods, including affine hulls, class centers, and convex hulls, to obtain a better description of the feature subspace of source identities. The effectiveness of the proposed method is evaluated on both common and celebrity datasets against black-box face recognition models with different loss functions and network architectures. In addition, we discuss the advantages and potential problems of the proposed method. In particular, we conduct an application study on the privacy protection of a video dataset, Sherlock, to demonstrate the potential practical usage of the proposed method. Datasets and code are available at https://github.com/zhongyy/OPOM.","url_abs":"https://arxiv.org/abs/2205.11981v1","url_pdf":"https://arxiv.org/pdf/2205.11981v1.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":"opom-customized-invisible-cloak-towards-face","repo_url":"https://github.com/zhongyy/opom","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"face-recognition","task_name":"Face Recognition"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2205.11981","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2205.11981"}},"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/zhongyy/opom","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_honours":1,"ran_draft_wrong":2,"unverified":4},"by_repo_kind":{"official":{"samples":7,"ran":3,"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":"ad5dbf57f3ea2633","entry":"get_block","repo":"zhongyy/opom","repo_kind":"official","path":"code/generation/backbone/model_irse.py","file_url":"https://github.com/zhongyy/opom/blob/HEAD/code/generation/backbone/model_irse.py","link_basis":"harvester_set","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":"ad5dbf57f3ea2633"}},{"code_sha256_prefix":"ea7941eb1ea8ffb2","entry":"get_blocks","repo":"zhongyy/opom","repo_kind":"official","path":"code/generation/backbone/model_irse.py","file_url":"https://github.com/zhongyy/opom/blob/HEAD/code/generation/backbone/model_irse.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ea7941eb1ea8ffb2"}},{"code_sha256_prefix":"c54fea429589425d","entry":"l2_norm","repo":"zhongyy/opom","repo_kind":"official","path":"code/generation/backbone/model_irse.py","file_url":"https://github.com/zhongyy/opom/blob/HEAD/code/generation/backbone/model_irse.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c54fea429589425d"}},{"code_sha256_prefix":"0c9fa2d51db35a2a","entry":"cos_sim","repo":"zhongyy/opom","repo_kind":"official","path":"code/generation/attack/privacy.py","file_url":"https://github.com/zhongyy/opom/blob/HEAD/code/generation/attack/privacy.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":"0c9fa2d51db35a2a"}},{"code_sha256_prefix":"e7362cb6d4680ad2","entry":"get_block","repo":"zhongyy/opom","repo_kind":"official","path":"code/generation/backbone/model_irse_drop.py","file_url":"https://github.com/zhongyy/opom/blob/HEAD/code/generation/backbone/model_irse_drop.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":"e7362cb6d4680ad2"}},{"code_sha256_prefix":"91a206740e1f24ab","entry":"parse_arguments","repo":"zhongyy/opom","repo_kind":"official","path":"code/generation/gen_privacy_torch.py","file_url":"https://github.com/zhongyy/opom/blob/HEAD/code/generation/gen_privacy_torch.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":"91a206740e1f24ab"}},{"code_sha256_prefix":"961def4f87e1fc7a","entry":"train_dropout","repo":"zhongyy/opom","repo_kind":"official","path":"code/generation/backbone/model_irse_drop.py","file_url":"https://github.com/zhongyy/opom/blob/HEAD/code/generation/backbone/model_irse_drop.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":"961def4f87e1fc7a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}