{"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-privacy-preserving-filter","title":"Adversarial Privacy-preserving Filter","arxiv_id":"2007.12861","date":"2020-07-25","proceeding":null,"authors":["Jiaming Zhang","Jitao Sang","Xian Zhao","Xiaowen Huang","Yanfeng Sun","Yongli Hu"],"abstract":"While widely adopted in practical applications, face recognition has been critically discussed regarding the malicious use of face images and the potential privacy problems, e.g., deceiving payment system and causing personal sabotage. Online photo sharing services unintentionally act as the main repository for malicious crawler and face recognition applications. This work aims to develop a privacy-preserving solution, called Adversarial Privacy-preserving Filter (APF), to protect the online shared face images from being maliciously used.We propose an end-cloud collaborated adversarial attack solution to satisfy requirements of privacy, utility and nonaccessibility. Specifically, the solutions consist of three modules: (1) image-specific gradient generation, to extract image-specific gradient in the user end with a compressed probe model; (2) adversarial gradient transfer, to fine-tune the image-specific gradient in the server cloud; and (3) universal adversarial perturbation enhancement, to append image-independent perturbation to derive the final adversarial noise. Extensive experiments on three datasets validate the effectiveness and efficiency of the proposed solution. A prototype application is also released for further evaluation.We hope the end-cloud collaborated attack framework could shed light on addressing the issue of online multimedia sharing privacy-preserving issues from user side.","url_abs":"https://arxiv.org/abs/2007.12861v2","url_pdf":"https://arxiv.org/pdf/2007.12861v2.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-privacy-preserving-filter","repo_url":"https://github.com/adversarial-for-goodness/APF","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"adversarial-privacy-preserving-filter","repo_url":"https://github.com/ACM-MM-2020-Submission/Submission123","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok"}}],"tasks":[{"task_slug":"adversarial-attack","task_name":"Adversarial Attack"},{"task_slug":"face-recognition","task_name":"Face Recognition"},{"task_slug":"privacy-preserving","task_name":"Privacy Preserving"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2007.12861","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2007.12861"}},"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/adversarial-for-goodness/APF","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ACM-MM-2020-Submission/Submission123","reach":{"status":"ok"}}],"summary":{"ran_fixture":2,"ran_honours":1,"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"official":{"samples":5,"ran":4,"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":5,"samples":[{"code_sha256_prefix":"1f2c3eac81b5d4f4","entry":"clamp_by_l2","repo":"adversarial-for-goodness/APF","repo_kind":"official","path":"Attack.py","file_url":"https://github.com/adversarial-for-goodness/APF/blob/HEAD/Attack.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"1f2c3eac81b5d4f4"}},{"code_sha256_prefix":"5e1f60c820f3f710","entry":"gkern","repo":"adversarial-for-goodness/APF","repo_kind":"official","path":"Attack.py","file_url":"https://github.com/adversarial-for-goodness/APF/blob/HEAD/Attack.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"5e1f60c820f3f710"}},{"code_sha256_prefix":"397486956e92c460","entry":"load_model","repo":"adversarial-for-goodness/APF","repo_kind":"official","path":"apf_pytorch.py","file_url":"https://github.com/adversarial-for-goodness/APF/blob/HEAD/apf_pytorch.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"397486956e92c460"}},{"code_sha256_prefix":"494f4ea5941ef60d","entry":"random_init","repo":"adversarial-for-goodness/APF","repo_kind":"official","path":"Attack.py","file_url":"https://github.com/adversarial-for-goodness/APF/blob/HEAD/Attack.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"494f4ea5941ef60d"}},{"code_sha256_prefix":"4d2439777a1239fb","entry":"MIDI","repo":"adversarial-for-goodness/APF","repo_kind":"official","path":"apf_pytorch.py","file_url":"https://github.com/adversarial-for-goodness/APF/blob/HEAD/apf_pytorch.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"4d2439777a1239fb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}