{"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/genface-a-large-scale-fine-grained-face","title":"GenFace: A Large-Scale Fine-Grained Face Forgery Benchmark and Cross Appearance-Edge Learning","arxiv_id":"2402.02003","date":"2024-02-03","proceeding":null,"authors":["Yaning Zhang","Zitong Yu","Tianyi Wang","Xiaobin Huang","Linlin Shen","Zan Gao","Jianfeng Ren"],"abstract":"The rapid advancement of photorealistic generators has reached a critical juncture where the discrepancy between authentic and manipulated images is increasingly indistinguishable. Thus, benchmarking and advancing techniques detecting digital manipulation become an urgent issue. Although there have been a number of publicly available face forgery datasets, the forgery faces are mostly generated using GAN-based synthesis technology, which does not involve the most recent technologies like diffusion. The diversity and quality of images generated by diffusion models have been significantly improved and thus a much more challenging face forgery dataset shall be used to evaluate SOTA forgery detection literature. In this paper, we propose a large-scale, diverse, and fine-grained high-fidelity dataset, namely GenFace, to facilitate the advancement of deepfake detection, which contains a large number of forgery faces generated by advanced generators such as the diffusion-based model and more detailed labels about the manipulation approaches and adopted generators. In addition to evaluating SOTA approaches on our benchmark, we design an innovative cross appearance-edge learning (CAEL) detector to capture multi-grained appearance and edge global representations, and detect discriminative and general forgery traces. Moreover, we devise an appearance-edge cross-attention (AECA) module to explore the various integrations across two domains. Extensive experiment results and visualizations show that our detection model outperforms the state of the arts on different settings like cross-generator, cross-forgery, and cross-dataset evaluations. Code and datasets will be available at \\url{https://github.com/Jenine-321/GenFace","url_abs":"https://arxiv.org/abs/2402.02003v4","url_pdf":"https://arxiv.org/pdf/2402.02003v4.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":"genface-a-large-scale-fine-grained-face","repo_url":"https://github.com/jenine-321/genface","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"benchmarking","task_name":"Benchmarking"},{"task_slug":"deepfake-detection","task_name":"DeepFake Detection"},{"task_slug":"face-swapping","task_name":"Face Swapping"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2402.02003","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.02003"}},"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/jenine-321/genface","reach":{"status":"ok"}}],"summary":{"ran_violates":2,"ran_fixture":1,"ran":1,"ran_draft_wrong":2},"by_repo_kind":{"official":{"samples":6,"ran":6,"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":6,"samples":[{"code_sha256_prefix":"60fff7c3c400d7ff","entry":"default","repo":"jenine-321/genface","repo_kind":"official","path":"model/CAEL.py","file_url":"https://github.com/jenine-321/genface/blob/HEAD/model/CAEL.py","link_basis":"plan_row","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"60fff7c3c400d7ff"}},{"code_sha256_prefix":"d3319e3d34ca90ca","entry":"drop_connect","repo":"jenine-321/genface","repo_kind":"official","path":"model/efficient_net/efficientnet_pytorch/utils.py","file_url":"https://github.com/jenine-321/genface/blob/HEAD/model/efficient_net/efficientnet_pytorch/utils.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d3319e3d34ca90ca"}},{"code_sha256_prefix":"aa5486a3650902d8","entry":"exists","repo":"jenine-321/genface","repo_kind":"official","path":"model/CAEL.py","file_url":"https://github.com/jenine-321/genface/blob/HEAD/model/CAEL.py","link_basis":"plan_row","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"aa5486a3650902d8"}},{"code_sha256_prefix":"3fd63f015c463947","entry":"get_img_id","repo":"jenine-321/genface","repo_kind":"official","path":"model/efficient_net/sotabench.py","file_url":"https://github.com/jenine-321/genface/blob/HEAD/model/efficient_net/sotabench.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":"3fd63f015c463947"}},{"code_sha256_prefix":"f15a49337e69e937","entry":"round_filters","repo":"jenine-321/genface","repo_kind":"official","path":"model/efficient_net/efficientnet_pytorch/utils.py","file_url":"https://github.com/jenine-321/genface/blob/HEAD/model/efficient_net/efficientnet_pytorch/utils.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f15a49337e69e937"}},{"code_sha256_prefix":"dbc0ca08d119a5a0","entry":"round_repeats","repo":"jenine-321/genface","repo_kind":"official","path":"model/efficient_net/efficientnet_pytorch/utils.py","file_url":"https://github.com/jenine-321/genface/blob/HEAD/model/efficient_net/efficientnet_pytorch/utils.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dbc0ca08d119a5a0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}