{"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/flashface-human-image-personalization-with","title":"FlashFace: Human Image Personalization with High-fidelity Identity Preservation","arxiv_id":"2403.17008","date":"2024-03-25","proceeding":null,"authors":["Shilong Zhang","Lianghua Huang","Xi Chen","Yifei Zhang","Zhi-Fan Wu","Yutong Feng","Wei Wang","Yujun Shen","Yu Liu","Ping Luo"],"abstract":"This work presents FlashFace, a practical tool with which users can easily personalize their own photos on the fly by providing one or a few reference face images and a text prompt. Our approach is distinguishable from existing human photo customization methods by higher-fidelity identity preservation and better instruction following, benefiting from two subtle designs. First, we encode the face identity into a series of feature maps instead of one image token as in prior arts, allowing the model to retain more details of the reference faces (e.g., scars, tattoos, and face shape ). Second, we introduce a disentangled integration strategy to balance the text and image guidance during the text-to-image generation process, alleviating the conflict between the reference faces and the text prompts (e.g., personalizing an adult into a \"child\" or an \"elder\"). Extensive experimental results demonstrate the effectiveness of our method on various applications, including human image personalization, face swapping under language prompts, making virtual characters into real people, etc. Project Page: https://jshilong.github.io/flashface-page.","url_abs":"https://arxiv.org/abs/2403.17008v1","url_pdf":"https://arxiv.org/pdf/2403.17008v1.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":"flashface-human-image-personalization-with","repo_url":"https://github.com/ali-vilab/FlashFace","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"face-swapping","task_name":"Face Swapping"},{"task_slug":"image-generation","task_name":"Image Generation"},{"task_slug":"instruction-following","task_name":"Instruction Following"},{"task_slug":"text-to-image-generation-1","task_name":"Text to Image Generation"},{"task_slug":"text-to-image-generation","task_name":"Text-to-Image Generation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2403.17008","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.17008"}},"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/ali-vilab/FlashFace","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":1,"unverified":12},"by_repo_kind":{"listed":{"samples":13,"ran":1,"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":13,"samples":[{"code_sha256_prefix":"b2527fed746fee97","entry":"sinusoidal_embedding","repo":"ali-vilab/FlashFace","repo_kind":"listed","path":"ldm/models/unet.py","file_url":"https://github.com/ali-vilab/FlashFace/blob/HEAD/ldm/models/unet.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":false,"mcp_get_code":{"code_sha256":"b2527fed746fee97"}},{"code_sha256_prefix":"cd46cf7cbd367e72","entry":"bbox_crop","repo":"ali-vilab/FlashFace","repo_kind":"listed","path":"flashface/all_finetune/utils.py","file_url":"https://github.com/ali-vilab/FlashFace/blob/HEAD/flashface/all_finetune/utils.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":false,"mcp_get_code":{"code_sha256":"cd46cf7cbd367e72"}},{"code_sha256_prefix":"32bbc918c3aa35af","entry":"betas_to_sigmas","repo":"ali-vilab/FlashFace","repo_kind":"listed","path":"ldm/ops/schedules.py","file_url":"https://github.com/ali-vilab/FlashFace/blob/HEAD/ldm/ops/schedules.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":false,"mcp_get_code":{"code_sha256":"32bbc918c3aa35af"}},{"code_sha256_prefix":"7eb61f2999e88369","entry":"clip_vit_l_14","repo":"ali-vilab/FlashFace","repo_kind":"listed","path":"ldm/models/clip.py","file_url":"https://github.com/ali-vilab/FlashFace/blob/HEAD/ldm/models/clip.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":false,"mcp_get_code":{"code_sha256":"7eb61f2999e88369"}},{"code_sha256_prefix":"614e1e35d540070c","entry":"conv_bn","repo":"ali-vilab/FlashFace","repo_kind":"listed","path":"ldm/models/retinaface.py","file_url":"https://github.com/ali-vilab/FlashFace/blob/HEAD/ldm/models/retinaface.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":false,"mcp_get_code":{"code_sha256":"614e1e35d540070c"}},{"code_sha256_prefix":"f5e18cc403f9b0f2","entry":"conv_bn1X1","repo":"ali-vilab/FlashFace","repo_kind":"listed","path":"ldm/models/retinaface.py","file_url":"https://github.com/ali-vilab/FlashFace/blob/HEAD/ldm/models/retinaface.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":false,"mcp_get_code":{"code_sha256":"f5e18cc403f9b0f2"}},{"code_sha256_prefix":"d7862be631491ece","entry":"conv_bn_no_relu","repo":"ali-vilab/FlashFace","repo_kind":"listed","path":"ldm/models/retinaface.py","file_url":"https://github.com/ali-vilab/FlashFace/blob/HEAD/ldm/models/retinaface.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":false,"mcp_get_code":{"code_sha256":"d7862be631491ece"}},{"code_sha256_prefix":"a5d1b4f3238f5aab","entry":"get_padding","repo":"ali-vilab/FlashFace","repo_kind":"listed","path":"flashface/all_finetune/utils.py","file_url":"https://github.com/ali-vilab/FlashFace/blob/HEAD/flashface/all_finetune/utils.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":false,"mcp_get_code":{"code_sha256":"a5d1b4f3238f5aab"}},{"code_sha256_prefix":"b7d3a6a382894c09","entry":"group_norm","repo":"ali-vilab/FlashFace","repo_kind":"listed","path":"ldm/models/vae.py","file_url":"https://github.com/ali-vilab/FlashFace/blob/HEAD/ldm/models/vae.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":false,"mcp_get_code":{"code_sha256":"b7d3a6a382894c09"}},{"code_sha256_prefix":"c0f262c3d858d111","entry":"sample_ddim","repo":"ali-vilab/FlashFace","repo_kind":"listed","path":"ldm/ops/solvers.py","file_url":"https://github.com/ali-vilab/FlashFace/blob/HEAD/ldm/ops/solvers.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":false,"mcp_get_code":{"code_sha256":"c0f262c3d858d111"}},{"code_sha256_prefix":"019eb6e01907c874","entry":"sd_v1_vae","repo":"ali-vilab/FlashFace","repo_kind":"listed","path":"ldm/models/vae.py","file_url":"https://github.com/ali-vilab/FlashFace/blob/HEAD/ldm/models/vae.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":false,"mcp_get_code":{"code_sha256":"019eb6e01907c874"}},{"code_sha256_prefix":"a9d8c2101bf781c7","entry":"ve_to_vp","repo":"ali-vilab/FlashFace","repo_kind":"listed","path":"ldm/ops/schedules.py","file_url":"https://github.com/ali-vilab/FlashFace/blob/HEAD/ldm/ops/schedules.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":false,"mcp_get_code":{"code_sha256":"a9d8c2101bf781c7"}},{"code_sha256_prefix":"5cb135f09920e125","entry":"vp_to_ve","repo":"ali-vilab/FlashFace","repo_kind":"listed","path":"ldm/ops/schedules.py","file_url":"https://github.com/ali-vilab/FlashFace/blob/HEAD/ldm/ops/schedules.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":false,"mcp_get_code":{"code_sha256":"5cb135f09920e125"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}