{"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/face-animation-with-an-attribute-guided","title":"Face Animation with an Attribute-Guided Diffusion Model","arxiv_id":"2304.03199","date":"2023-04-06","proceeding":null,"authors":["Bohan Zeng","Xuhui Liu","Sicheng Gao","Boyu Liu","Hong Li","Jianzhuang Liu","Baochang Zhang"],"abstract":"Face animation has achieved much progress in computer vision. However, prevailing GAN-based methods suffer from unnatural distortions and artifacts due to sophisticated motion deformation. In this paper, we propose a Face Animation framework with an attribute-guided Diffusion Model (FADM), which is the first work to exploit the superior modeling capacity of diffusion models for photo-realistic talking-head generation. To mitigate the uncontrollable synthesis effect of the diffusion model, we design an Attribute-Guided Conditioning Network (AGCN) to adaptively combine the coarse animation features and 3D face reconstruction results, which can incorporate appearance and motion conditions into the diffusion process. These specific designs help FADM rectify unnatural artifacts and distortions, and also enrich high-fidelity facial details through iterative diffusion refinements with accurate animation attributes. FADM can flexibly and effectively improve existing animation videos. Extensive experiments on widely used talking-head benchmarks validate the effectiveness of FADM over prior arts.","url_abs":"https://arxiv.org/abs/2304.03199v1","url_pdf":"https://arxiv.org/pdf/2304.03199v1.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":"face-animation-with-an-attribute-guided","repo_url":"https://github.com/zengbohan0217/fadm","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"3d-face-reconstruction","task_name":"3D Face Reconstruction"},{"task_slug":"attribute","task_name":"Attribute"},{"task_slug":"face-reconstruction","task_name":"Face Reconstruction"},{"task_slug":"talking-head-generation","task_name":"Talking Head Generation"},{"task_slug":"model","task_name":"model"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2304.03199","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2304.03199"}},"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/zengbohan0217/fadm","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":1,"ran_fixture":2,"unverified":9},"by_repo_kind":{"official":{"samples":12,"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":"bc39b8ed5fefa7eb","entry":"crop_clip","repo":"zengbohan0217/fadm","repo_kind":"official","path":"augmentation.py","file_url":"https://github.com/zengbohan0217/fadm/blob/HEAD/augmentation.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"bc39b8ed5fefa7eb"}},{"code_sha256_prefix":"e136efdcba23139b","entry":"kp2gaussian","repo":"zengbohan0217/fadm","repo_kind":"official","path":"modules/FOMM/util.py","file_url":"https://github.com/zengbohan0217/fadm/blob/HEAD/modules/FOMM/util.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e136efdcba23139b"}},{"code_sha256_prefix":"fe3cbec3030f03b9","entry":"make_coordinate_grid","repo":"zengbohan0217/fadm","repo_kind":"official","path":"modules/FOMM/util.py","file_url":"https://github.com/zengbohan0217/fadm/blob/HEAD/modules/FOMM/util.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"fe3cbec3030f03b9"}},{"code_sha256_prefix":"71ca8b5b1b0cf407","entry":"get_dataset_distributed_","repo":"zengbohan0217/fadm","repo_kind":"official","path":"datasets.py","file_url":"https://github.com/zengbohan0217/fadm/blob/HEAD/datasets.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"71ca8b5b1b0cf407"}},{"code_sha256_prefix":"6110b3ed0b5cc79e","entry":"get_rotation_matrix","repo":"zengbohan0217/fadm","repo_kind":"official","path":"modules/Facevid/keypoint_transform.py","file_url":"https://github.com/zengbohan0217/fadm/blob/HEAD/modules/Facevid/keypoint_transform.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6110b3ed0b5cc79e"}},{"code_sha256_prefix":"28221b535631c490","entry":"headpose_pred_to_degree","repo":"zengbohan0217/fadm","repo_kind":"official","path":"modules/Facevid/keypoint_transform.py","file_url":"https://github.com/zengbohan0217/fadm/blob/HEAD/modules/Facevid/keypoint_transform.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"28221b535631c490"}},{"code_sha256_prefix":"01fbc83284fd37de","entry":"keypoint_transformation","repo":"zengbohan0217/fadm","repo_kind":"official","path":"modules/Facevid/keypoint_transform.py","file_url":"https://github.com/zengbohan0217/fadm/blob/HEAD/modules/Facevid/keypoint_transform.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"01fbc83284fd37de"}},{"code_sha256_prefix":"db70096366874e50","entry":"kp2gaussian","repo":"zengbohan0217/fadm","repo_kind":"official","path":"modules/Facevid/util.py","file_url":"https://github.com/zengbohan0217/fadm/blob/HEAD/modules/Facevid/util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"db70096366874e50"}},{"code_sha256_prefix":"ea86605026618a21","entry":"make_coordinate_grid","repo":"zengbohan0217/fadm","repo_kind":"official","path":"modules/Facevid/util.py","file_url":"https://github.com/zengbohan0217/fadm/blob/HEAD/modules/Facevid/util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ea86605026618a21"}},{"code_sha256_prefix":"a19a2d7e79c6fcbd","entry":"make_coordinate_grid_2d","repo":"zengbohan0217/fadm","repo_kind":"official","path":"modules/Facevid/util.py","file_url":"https://github.com/zengbohan0217/fadm/blob/HEAD/modules/Facevid/util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a19a2d7e79c6fcbd"}},{"code_sha256_prefix":"47f88e1a3fa42f72","entry":"read_video","repo":"zengbohan0217/fadm","repo_kind":"official","path":"frames_dataset.py","file_url":"https://github.com/zengbohan0217/fadm/blob/HEAD/frames_dataset.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"47f88e1a3fa42f72"}},{"code_sha256_prefix":"6157582222ab30fa","entry":"resize_clip","repo":"zengbohan0217/fadm","repo_kind":"official","path":"augmentation.py","file_url":"https://github.com/zengbohan0217/fadm/blob/HEAD/augmentation.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6157582222ab30fa"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}