{"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/flexiedit-frequency-aware-latent-refinement","title":"FlexiEdit: Frequency-Aware Latent Refinement for Enhanced Non-Rigid Editing","arxiv_id":"2407.17850","date":"2024-07-25","proceeding":null,"authors":["Gwanhyeong Koo","Sunjae Yoon","Ji Woo Hong","Chang D. Yoo"],"abstract":"Current image editing methods primarily utilize DDIM Inversion, employing a two-branch diffusion approach to preserve the attributes and layout of the original image. However, these methods encounter challenges with non-rigid edits, which involve altering the image's layout or structure. Our comprehensive analysis reveals that the high-frequency components of DDIM latent, crucial for retaining the original image's key features and layout, significantly contribute to these limitations. Addressing this, we introduce FlexiEdit, which enhances fidelity to input text prompts by refining DDIM latent, by reducing high-frequency components in targeted editing areas. FlexiEdit comprises two key components: (1) Latent Refinement, which modifies DDIM latent to better accommodate layout adjustments, and (2) Edit Fidelity Enhancement via Re-inversion, aimed at ensuring the edits more accurately reflect the input text prompts. Our approach represents notable progress in image editing, particularly in performing complex non-rigid edits, showcasing its enhanced capability through comparative experiments.","url_abs":"https://arxiv.org/abs/2407.17850v1","url_pdf":"https://arxiv.org/pdf/2407.17850v1.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":"flexiedit-frequency-aware-latent-refinement","repo_url":"https://github.com/kookie12/FlexiEdit","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"text-based-image-editing","task_name":"Text-based Image Editing"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2407.17850","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2407.17850"}},"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/kookie12/FlexiEdit","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":10,"ran_fixture":1,"unverified":9},"by_repo_kind":{"official":{"samples":20,"ran":11,"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":"4f99467fc7580ff1","entry":"dilate","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"flexiedit/_ptp_utils.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/flexiedit/_ptp_utils.py","link_basis":"first_harvest_node","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":"4f99467fc7580ff1"}},{"code_sha256_prefix":"158466fd5ab7f865","entry":"freq_1d","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"flexiedit/frequency_utils.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/flexiedit/frequency_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"158466fd5ab7f865"}},{"code_sha256_prefix":"29233e88580c636b","entry":"freq_2d","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"flexiedit/frequency_utils.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/flexiedit/frequency_utils.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"29233e88580c636b"}},{"code_sha256_prefix":"64614b77d4ec5cec","entry":"freq_3d","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"flexiedit/frequency_utils.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/flexiedit/frequency_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"64614b77d4ec5cec"}},{"code_sha256_prefix":"ef18fb78d8588c1d","entry":"get_word_inds","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"inference_flexiedit.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/inference_flexiedit.py","link_basis":"first_harvest_node","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":"ef18fb78d8588c1d"}},{"code_sha256_prefix":"83dfe7de8ca77508","entry":"load_image","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"inference_flexiedit.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/inference_flexiedit.py","link_basis":"first_harvest_node","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":"83dfe7de8ca77508"}},{"code_sha256_prefix":"68eb651d672fa27f","entry":"make_grid","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"flexiedit/utils.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/flexiedit/utils.py","link_basis":"first_harvest_node","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":"68eb651d672fa27f"}},{"code_sha256_prefix":"cb4f657896b3cfe3","entry":"masked_adain","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"flexiedit/adain.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/flexiedit/adain.py","link_basis":"first_harvest_node","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":"cb4f657896b3cfe3"}},{"code_sha256_prefix":"2eb4b43093b866ae","entry":"slerp","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"flexiedit/_ptp_utils.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/flexiedit/_ptp_utils.py","link_basis":"first_harvest_node","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":"2eb4b43093b866ae"}},{"code_sha256_prefix":"eabfbcd7d2863c2b","entry":"slerp_tensor","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"flexiedit/_ptp_utils.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/flexiedit/_ptp_utils.py","link_basis":"first_harvest_node","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":"eabfbcd7d2863c2b"}},{"code_sha256_prefix":"94c181218397b5c3","entry":"tensor2numpy","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"flexiedit/utils.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/flexiedit/utils.py","link_basis":"first_harvest_node","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":"94c181218397b5c3"}},{"code_sha256_prefix":"1af043b99331d6f5","entry":"add_text_to_image","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"flexiedit/utils.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/flexiedit/utils.py","link_basis":"first_harvest_node","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":"1af043b99331d6f5"}},{"code_sha256_prefix":"7ee9dfbb0bd00480","entry":"calc_mean_std","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"flexiedit/adain.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/flexiedit/adain.py","link_basis":"plan_row","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":"7ee9dfbb0bd00480"}},{"code_sha256_prefix":"dcbb6d9b7d233a4e","entry":"calc_mean_std_2d","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"flexiedit/adain.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/flexiedit/adain.py","link_basis":"plan_row","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":"dcbb6d9b7d233a4e"}},{"code_sha256_prefix":"540f946754cd6ce8","entry":"expand_adj_noun_pairs","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"flexiedit/get_edited_words.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/flexiedit/get_edited_words.py","link_basis":"first_harvest_node","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":"540f946754cd6ce8"}},{"code_sha256_prefix":"6e0f6f56c7466627","entry":"get_edited_phrases","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"flexiedit/get_edited_words.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/flexiedit/get_edited_words.py","link_basis":"first_harvest_node","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":"6e0f6f56c7466627"}},{"code_sha256_prefix":"e97c3effd6355f80","entry":"register_conv_control_efficient","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"flexiedit/attention_register.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/flexiedit/attention_register.py","link_basis":"first_harvest_node","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":"e97c3effd6355f80"}},{"code_sha256_prefix":"827413ab1b8cdef0","entry":"regiter_attention_editor_diffusers","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"flexiedit/attention_register.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/flexiedit/attention_register.py","link_basis":"first_harvest_node","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":"827413ab1b8cdef0"}},{"code_sha256_prefix":"431f768e76ae86fa","entry":"regiter_attention_editor_ldm","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"flexiedit/attention_register.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/flexiedit/attention_register.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":"431f768e76ae86fa"}},{"code_sha256_prefix":"24cb77e71d1f327e","entry":"remove_unnecessary_words","repo":"kookie12/FlexiEdit","repo_kind":"official","path":"flexiedit/get_edited_words.py","file_url":"https://github.com/kookie12/FlexiEdit/blob/HEAD/flexiedit/get_edited_words.py","link_basis":"first_harvest_node","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":"24cb77e71d1f327e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}