{"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/freedrag-point-tracking-is-not-you-need-for","title":"FreeDrag: Feature Dragging for Reliable Point-based Image Editing","arxiv_id":"2307.04684","date":"2023-07-10","proceeding":"CVPR 2024 1","authors":["Pengyang Ling","Lin Chen","Pan Zhang","Huaian Chen","Yi Jin","Jinjin Zheng"],"abstract":"To serve the intricate and varied demands of image editing, precise and flexible manipulation in image content is indispensable. Recently, Drag-based editing methods have gained impressive performance. However, these methods predominantly center on point dragging, resulting in two noteworthy drawbacks, namely \"miss tracking\", where difficulties arise in accurately tracking the predetermined handle points, and \"ambiguous tracking\", where tracked points are potentially positioned in wrong regions that closely resemble the handle points. To address the above issues, we propose FreeDrag, a feature dragging methodology designed to free the burden on point tracking. The FreeDrag incorporates two key designs, i.e., template feature via adaptive updating and line search with backtracking, the former improves the stability against drastic content change by elaborately controls feature updating scale after each dragging, while the latter alleviates the misguidance from similar points by actively restricting the search area in a line. These two technologies together contribute to a more stable semantic dragging with higher efficiency. Comprehensive experimental results substantiate that our approach significantly outperforms pre-existing methodologies, offering reliable point-based editing even in various complex scenarios.","url_abs":"https://arxiv.org/abs/2307.04684v4","url_pdf":"https://arxiv.org/pdf/2307.04684v4.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":"freedrag-point-tracking-is-not-you-need-for","repo_url":"https://github.com/lpengyang/freedrag","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"point-tracking","task_name":"Point Tracking"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2307.04684","atlas_url":"https://app.syntology.ai/?focus=2307.04684","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2307.04684"}},"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/lpengyang/freedrag","reach":null}],"summary":{"ran_violates":1,"unverified":1},"by_repo_kind":{"official":{"samples":2,"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":2,"samples":[{"code_sha256_prefix":"b9a09243364696e7","entry":"draw_mask","repo":"lpengyang/freedrag","repo_kind":"official","path":"FreeDrag_gradio.py","file_url":"https://github.com/lpengyang/freedrag/blob/HEAD/FreeDrag_gradio.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b9a09243364696e7"}},{"code_sha256_prefix":"1dab5bb87fc4c7bb","entry":"override_forward","repo":"lpengyang/freedrag","repo_kind":"official","path":"FreeDrag--diffusion--version/drag_pipeline.py","file_url":"https://github.com/lpengyang/freedrag/blob/HEAD/FreeDrag--diffusion--version/drag_pipeline.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":"1dab5bb87fc4c7bb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}