{"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/drag-your-noise-interactive-point-based","title":"Drag Your Noise: Interactive Point-based Editing via Diffusion Semantic Propagation","arxiv_id":"2404.01050","date":"2024-04-01","proceeding":"CVPR 2024 1","authors":["Haofeng Liu","Chenshu Xu","Yifei Yang","Lihua Zeng","Shengfeng He"],"abstract":"Point-based interactive editing serves as an essential tool to complement the controllability of existing generative models. A concurrent work, DragDiffusion, updates the diffusion latent map in response to user inputs, causing global latent map alterations. This results in imprecise preservation of the original content and unsuccessful editing due to gradient vanishing. In contrast, we present DragNoise, offering robust and accelerated editing without retracing the latent map. The core rationale of DragNoise lies in utilizing the predicted noise output of each U-Net as a semantic editor. This approach is grounded in two critical observations: firstly, the bottleneck features of U-Net inherently possess semantically rich features ideal for interactive editing; secondly, high-level semantics, established early in the denoising process, show minimal variation in subsequent stages. Leveraging these insights, DragNoise edits diffusion semantics in a single denoising step and efficiently propagates these changes, ensuring stability and efficiency in diffusion editing. Comparative experiments reveal that DragNoise achieves superior control and semantic retention, reducing the optimization time by over 50% compared to DragDiffusion. Our codes are available at https://github.com/haofengl/DragNoise.","url_abs":"https://arxiv.org/abs/2404.01050v1","url_pdf":"https://arxiv.org/pdf/2404.01050v1.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":"drag-your-noise-interactive-point-based","repo_url":"https://github.com/haofengl/dragnoise","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"}],"methods":[{"method_slug":"concatenated-skip-connection","method_name":"Concatenated Skip Connection"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"diffusion","method_name":"Diffusion"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"u-net","method_name":"U-Net"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2404.01050","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2404.01050"}},"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/haofengl/dragnoise","reach":{"status":"ok"}}],"summary":{"ran_fixture":2,"ran_draft_wrong":2,"ran":4,"ran_violates":1,"unverified":8},"by_repo_kind":{"official":{"samples":17,"ran":9,"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":17,"samples":[{"code_sha256_prefix":"63e5469c687a88a7","entry":"Fourier_filter","repo":"haofengl/dragnoise","repo_kind":"official","path":"utils/freeu_utils.py","file_url":"https://github.com/haofengl/dragnoise/blob/HEAD/utils/freeu_utils.py","link_basis":"harvester_set","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":"63e5469c687a88a7"}},{"code_sha256_prefix":"a43f655fb03112d9","entry":"check_handle_reach_target","repo":"haofengl/dragnoise","repo_kind":"official","path":"utils/drag_utils.py","file_url":"https://github.com/haofengl/dragnoise/blob/HEAD/utils/drag_utils.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a43f655fb03112d9"}},{"code_sha256_prefix":"256040ccde7473f2","entry":"collate_fn","repo":"haofengl/dragnoise","repo_kind":"official","path":"lora/train_dreambooth_lora.py","file_url":"https://github.com/haofengl/dragnoise/blob/HEAD/lora/train_dreambooth_lora.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"256040ccde7473f2"}},{"code_sha256_prefix":"2cc475a39a00b385","entry":"interpolate_feature_patch","repo":"haofengl/dragnoise","repo_kind":"official","path":"utils/drag_utils.py","file_url":"https://github.com/haofengl/dragnoise/blob/HEAD/utils/drag_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2cc475a39a00b385"}},{"code_sha256_prefix":"cd5d5067de871c97","entry":"isinstance_str","repo":"haofengl/dragnoise","repo_kind":"official","path":"utils/freeu_utils.py","file_url":"https://github.com/haofengl/dragnoise/blob/HEAD/utils/freeu_utils.py","link_basis":"harvester_set","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":"cd5d5067de871c97"}},{"code_sha256_prefix":"5946ab6afcea0492","entry":"override_attn_proc_forward","repo":"haofengl/dragnoise","repo_kind":"official","path":"utils/attn_utils.py","file_url":"https://github.com/haofengl/dragnoise/blob/HEAD/utils/attn_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5946ab6afcea0492"}},{"code_sha256_prefix":"38ef74758ee24fab","entry":"override_lora_attn_proc_forward","repo":"haofengl/dragnoise","repo_kind":"official","path":"utils/attn_utils.py","file_url":"https://github.com/haofengl/dragnoise/blob/HEAD/utils/attn_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"38ef74758ee24fab"}},{"code_sha256_prefix":"dabd3d8b50d3828c","entry":"point_tracking","repo":"haofengl/dragnoise","repo_kind":"official","path":"utils/drag_utils.py","file_url":"https://github.com/haofengl/dragnoise/blob/HEAD/utils/drag_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dabd3d8b50d3828c"}},{"code_sha256_prefix":"b6f9c54d3eaa1c8a","entry":"preprocess_image","repo":"haofengl/dragnoise","repo_kind":"official","path":"drag_bench_evaluation/run_drag_diffusion.py","file_url":"https://github.com/haofengl/dragnoise/blob/HEAD/drag_bench_evaluation/run_drag_diffusion.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b6f9c54d3eaa1c8a"}},{"code_sha256_prefix":"0eb3e94e8635150e","entry":"import_model_class_from_model_name_or_path","repo":"haofengl/dragnoise","repo_kind":"official","path":"lora/train_dreambooth_lora.py","file_url":"https://github.com/haofengl/dragnoise/blob/HEAD/lora/train_dreambooth_lora.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0eb3e94e8635150e"}},{"code_sha256_prefix":"ce0fe39e4583a703","entry":"mask_image","repo":"haofengl/dragnoise","repo_kind":"official","path":"drag_bench_evaluation/labeling_tool.py","file_url":"https://github.com/haofengl/dragnoise/blob/HEAD/drag_bench_evaluation/labeling_tool.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ce0fe39e4583a703"}},{"code_sha256_prefix":"957e7cf270e3342a","entry":"override_forward","repo":"haofengl/dragnoise","repo_kind":"official","path":"drag_pipeline.py","file_url":"https://github.com/haofengl/dragnoise/blob/HEAD/drag_pipeline.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"957e7cf270e3342a"}},{"code_sha256_prefix":"ce6abf8518e8fd67","entry":"parse_args","repo":"haofengl/dragnoise","repo_kind":"official","path":"lora/train_dreambooth_lora.py","file_url":"https://github.com/haofengl/dragnoise/blob/HEAD/lora/train_dreambooth_lora.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ce6abf8518e8fd67"}},{"code_sha256_prefix":"45d032d395c815e4","entry":"preprocess_image","repo":"haofengl/dragnoise","repo_kind":"official","path":"drag_bench_evaluation/run_eval_similarity.py","file_url":"https://github.com/haofengl/dragnoise/blob/HEAD/drag_bench_evaluation/run_eval_similarity.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"45d032d395c815e4"}},{"code_sha256_prefix":"486c3f3fef6e3481","entry":"register_attention_editor_diffusers","repo":"haofengl/dragnoise","repo_kind":"official","path":"utils/attn_utils.py","file_url":"https://github.com/haofengl/dragnoise/blob/HEAD/utils/attn_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"486c3f3fef6e3481"}},{"code_sha256_prefix":"af1ac69dae95a5df","entry":"register_upblock2d","repo":"haofengl/dragnoise","repo_kind":"official","path":"utils/freeu_utils.py","file_url":"https://github.com/haofengl/dragnoise/blob/HEAD/utils/freeu_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"af1ac69dae95a5df"}},{"code_sha256_prefix":"09a03c76f61637c9","entry":"store_img","repo":"haofengl/dragnoise","repo_kind":"official","path":"drag_bench_evaluation/labeling_tool.py","file_url":"https://github.com/haofengl/dragnoise/blob/HEAD/drag_bench_evaluation/labeling_tool.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"09a03c76f61637c9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}