Giter Site home page Giter Site logo

gooddrag's Introduction

GoodDrag: Towards Good Practices for Drag Editing with Diffusion Models

Zewei Zhang    Huan Liu    Jun Chen    Xiangyu Xu


arXiv Preprint google colab logo Download Dataset

📢 Latest Updates

  • 2024.04.17 - Updated DAI (Dragging Accuracy Index) and GScore (Gemini Score) evaluation methods. Please check the evaluation file. GScore is modified from Generative AI.

1. Getting Started with GoodDrag

Before getting started, please make sure your system is equipped with a CUDA-compatible GPU and Python 3.9 or higher. We provide three methods to directly run GoodDrag:

1️⃣ Automated Script for Effortless Setup

  • Windows Users: Double-click webui.bat to automatically set up your environment and launch the GoodDrag web UI.
  • Linux Users: Run webui.sh for a similar one-step setup and launch process.

2️⃣ Manual Installation via pip

  1. Install the necessary dependencies:

    pip install -r requirements.txt
  2. Launch the GoodDrag web UI:

    python gooddrag_ui.py

3️⃣ Quick Start with Colab

For a quick and easy start, access GoodDrag directly through Google Colab. Click the badge below to open a pre-configured notebook that will guide you through using GoodDrag in the Colab environment: google colab logo

Runtime and Memory Requirements

GoodDrag's efficiency depends on the image size and editing complexity. For a 512x512 image on an A100 GPU: the LoRA phase requires ~17 seconds, and drag editing takes around 1 minute. GPU memory requirement is below 13GB.

2. Parameter Description

We have predefined a set of parameters in the GoodDrag WebUI. Here are a few that you might consider adjusting:

Parameter Name Description
Learning Rate Influences the speed of drag editing. Higher values lead to faster editing but may result in lower quality or instability. It is recommended to keep this value below 0.05.
Prompt The text prompt for the diffusion model. It is suggested to leave this empty.
End time step Specifies the length of the time step during the denoise phase of the diffusion model for drag editing. If good results are obtained early in the generated video, consider reducing this value. Conversely, if the drag editing is insufficient, increase it slightly. It is recommended to keep this value below 12.
Lambda Controls the consistency of the non-dragged regions with the original image. A higher value keeps the area outside the mask more in line with the original image.

3. Acknowledgments

Part of the code was based on DragDiffusion and DragGAN. Thanks for the great work!

4. BibTeX

@article{zhang2024gooddrag,
    title={GoodDrag: Towards Good Practices for Drag Editing with Diffusion Models},
    author={Zhang, Zewei and Liu, Huan and Chen, Jun and Xu, Xiangyu},
    journal = {arXiv},
    year={2024}
}

gooddrag's People

Contributors

zewei-zhang avatar

Stargazers

 avatar  avatar Hongyuan Zhang avatar  avatar Jiahao Cui avatar sisyphus_LLL avatar 别逗啦哟哟 avatar  avatar Joonghyuk Shin avatar Yizun Wang avatar  avatar  avatar  avatar  avatar  avatar 池小貝 avatar hazukiaoi avatar  avatar  avatar Stéphane Monté avatar Dae-Hyeon Choi avatar  avatar  avatar  avatar  avatar  avatar  avatar WangXiaolong avatar  avatar  avatar  avatar  avatar JIMMY ZHAO avatar  avatar QiuLL avatar  avatar  avatar Huan avatar  avatar freeze avatar  avatar liuandy avatar  avatar  avatar Hao Zhang avatar  avatar Krtolica Vujadin avatar  avatar  avatar  avatar JHowe avatar  avatar  avatar  avatar Yuxiang Wei avatar Patrick avatar magejosh avatar zhaoyun007 avatar  avatar Rongyuan Wu avatar Sandalots avatar Martin Salo avatar  avatar toyxyz avatar Fabio Dias Rollo avatar Andu Potorac avatar  avatar George fe avatar  avatar Snow avatar XiangyuXu avatar  avatar  avatar  avatar Sixiang Chen avatar Benjamin Paine avatar HuFeiHu avatar Sen Liang avatar  avatar Zijiyingcai avatar  avatar Maple avatar Said avatar Jonathan Fischoff avatar Wuyang LI avatar

Watchers

XiangyuXu avatar  avatar  avatar Wuyang LI avatar

gooddrag's Issues

Implementation for DAI and GScore

The paper mentioned DAI and GScore as evaluation metrics. Would it be possible for the author to share the official implementation of these metrics?

SDXL model

Hello, thank you for the awesome work! I have tried changing the diffusion model to SDXL and it produces some problematic output, can you pl look into this? I am attaching the example here.

image
download (9)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.