{"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/blendface-re-designing-identity-encoders-for","title":"BlendFace: Re-designing Identity Encoders for Face-Swapping","arxiv_id":"2307.10854","date":"2023-07-20","proceeding":"ICCV 2023 1","authors":["Kaede Shiohara","Xingchao Yang","Takafumi Taketomi"],"abstract":"The great advancements of generative adversarial networks and face recognition models in computer vision have made it possible to swap identities on images from single sources. Although a lot of studies seems to have proposed almost satisfactory solutions, we notice previous methods still suffer from an identity-attribute entanglement that causes undesired attributes swapping because widely used identity encoders, eg, ArcFace, have some crucial attribute biases owing to their pretraining on face recognition tasks. To address this issue, we design BlendFace, a novel identity encoder for face-swapping. The key idea behind BlendFace is training face recognition models on blended images whose attributes are replaced with those of another mitigates inter-personal biases such as hairsyles. BlendFace feeds disentangled identity features into generators and guides generators properly as an identity loss function. Extensive experiments demonstrate that BlendFace improves the identity-attribute disentanglement in face-swapping models, maintaining a comparable quantitative performance to previous methods.","url_abs":"https://arxiv.org/abs/2307.10854v1","url_pdf":"https://arxiv.org/pdf/2307.10854v1.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":"blendface-re-designing-identity-encoders-for","repo_url":"https://github.com/mapooon/blendface","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"blendface-re-designing-identity-encoders-for","repo_url":"https://github.com/code-implementation1/Code9/tree/main/Arcface","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":{"status":"ok"}}],"tasks":[{"task_slug":"attribute","task_name":"Attribute"},{"task_slug":"disentanglement","task_name":"Disentanglement"},{"task_slug":"face-recognition","task_name":"Face Recognition"},{"task_slug":"face-swapping","task_name":"Face Swapping"}],"methods":[{"method_slug":"arcface","method_name":"ArcFace"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2307.10854","atlas_url":"https://app.syntology.ai/?focus=2307.10854","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2307.10854"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/code-implementation1/Code9/tree/main/Arcface","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mapooon/blendface","reach":null}],"summary":{"ran":5,"unverified":4},"by_repo_kind":{"official":{"samples":9,"ran":5,"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":9,"samples":[{"code_sha256_prefix":"bbe0917bf8c1148e","entry":"ADD","repo":"mapooon/blendface","repo_kind":"official","path":"swapping/blendswap.py","file_url":"https://github.com/mapooon/blendface/blob/HEAD/swapping/blendswap.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"bbe0917bf8c1148e"}},{"code_sha256_prefix":"5443f9b983a4eb54","entry":"ADDGenerator","repo":"mapooon/blendface","repo_kind":"official","path":"swapping/blendswap.py","file_url":"https://github.com/mapooon/blendface/blob/HEAD/swapping/blendswap.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"5443f9b983a4eb54"}},{"code_sha256_prefix":"0168471971f42549","entry":"ADDResBlock","repo":"mapooon/blendface","repo_kind":"official","path":"swapping/blendswap.py","file_url":"https://github.com/mapooon/blendface/blob/HEAD/swapping/blendswap.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"0168471971f42549"}},{"code_sha256_prefix":"d89078b13e52bdf3","entry":"MultilevelAttributesEncoder","repo":"mapooon/blendface","repo_kind":"official","path":"swapping/blendswap.py","file_url":"https://github.com/mapooon/blendface/blob/HEAD/swapping/blendswap.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"d89078b13e52bdf3"}},{"code_sha256_prefix":"61d964497d03de4c","entry":"Normalize","repo":"mapooon/blendface","repo_kind":"official","path":"swapping/blendswap.py","file_url":"https://github.com/mapooon/blendface/blob/HEAD/swapping/blendswap.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"61d964497d03de4c"}},{"code_sha256_prefix":"1d89c68cf31be6aa","entry":"BlendSwap","repo":"mapooon/blendface","repo_kind":"official","path":"swapping/blendswap.py","file_url":"https://github.com/mapooon/blendface/blob/HEAD/swapping/blendswap.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"1d89c68cf31be6aa"}},{"code_sha256_prefix":"38c7577f66055c60","entry":"IResNet","repo":"mapooon/blendface","repo_kind":"official","path":"swapping/blendswap.py","file_url":"https://github.com/mapooon/blendface/blob/HEAD/swapping/blendswap.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"38c7577f66055c60"}},{"code_sha256_prefix":"b42e4162ddd89b7d","entry":"_iresnet","repo":"mapooon/blendface","repo_kind":"official","path":"swapping/blendswap.py","file_url":"https://github.com/mapooon/blendface/blob/HEAD/swapping/blendswap.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"b42e4162ddd89b7d"}},{"code_sha256_prefix":"d8b58bd20fa94dcb","entry":"iresnet100","repo":"mapooon/blendface","repo_kind":"official","path":"swapping/blendswap.py","file_url":"https://github.com/mapooon/blendface/blob/HEAD/swapping/blendswap.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"d8b58bd20fa94dcb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}