FreeDrag:用于可靠的基于点的图像编辑的特征拖拽(CVPR 2024)
可视化
网页演示(在11种不同的StyleGAN2模型中进行在线拖拽编辑)
FreeDrag:用于可靠的基于点的图像编辑的特征拖拽的官方实现。
- 作者:Pengyang Ling*、Lin Chen*、Pan Zhang、Huaian Chen、Yi Jin、Jinjin Zheng
- 机构:中国科学技术大学;上海人工智能实验室
- [论文] [项目页面] [网页演示]
本仓库提出了FreeDrag,这是一个新颖的交互式基于点的图像编辑框架,无需繁琐且不稳定的点追踪过程🔥🔥🔥。
摘要
为满足复杂多样的图像编辑需求,精确灵活地操作图像内容至关重要。近期,基于拖拽的编辑方法取得了令人印象深刻的表现。然而,这些方法主要集中在点拖拽上,导致两个值得注意的缺点,即"追踪遗漏",即难以准确追踪预定的控制点,以及"模糊追踪",即追踪的点可能被错误定位在与控制点相似的区域。为解决上述问题,我们提出了FreeDrag,这是一种旨在摆脱点追踪负担的特征拖拽方法。FreeDrag包含两个关键设计,即通过自适应更新的模板特征和带回溯的线搜索。前者通过精心控制每次拖拽后的特征更新尺度,提高了对剧烈内容变化的稳定性,而后者通过主动限制线上的搜索区域,缓解了来自相似点的误导。这两项技术共同贡献于更稳定、效率更高的语义拖拽。全面的实验结果证实,我们的方法显著优于现有方法,即使在各种复杂场景中也能提供可靠的基于点的编辑。
📜 新闻
[2024/03/06] FreeDrag被CVPR 2024接收。
[2023/12/11] 更新后的FreeDrag,包含StyleGAN和扩散模型的实现,现已可用。
[2023/12/8] 基于扩散模型的FreeDrag现已可用,支持对真实图像和生成图像进行拖拽编辑。
[2023/7/31] OpenXLab上的网页演示(StyleGAN)现已可用。
[2023/7/28] 真实图像编辑功能现已可用。
[2023/7/15] 本地演示的代码现已可用!💥
💡 亮点
- FreeDrag本地演示
- FreeDrag网页演示
- 基于扩散的FreeDrag
🛠️使用方法
首先克隆我们的仓库
git clone --depth=1 https://github.com/LPengYang/FreeDrag
要创建新环境,请遵循NVlabs/stylegan2-ada的要求。
**注意:**在某些设备上可能会出现错误(设置PyTorch插件"bias_act_plugin"...失败或"upfirdn2d_plugin"...失败),我们希望这些潜在的解决方案(1、2、3、4)在这种情况下能有所帮助。
然后安装额外的依赖
pip install -r requirements.txt
接着下载stylegan2的预训练模型
bash download_models.sh
**注意:**第一个模型(人脸模型)在某些情况下下载速度可能非常慢。这种情况下,建议重新开始下载(有时会奏效)或直接从此链接下载,请下载正确的模型(ffhq-512×512),将其重命名为"faces.pkl",并手动将其放入创建的checkpoints文件夹中(在所有其他模型下载完成后)。
最后,初始化gradio平台以进行交互式点基操作
CUDA_LAUNCH_BLOCKING=1 python FreeDrag_gradio.py
您也可以上传自己的图片并进行编辑。为了实现高质量的图像反演,建议确保上传图像的分辨率和风格(如布局)与相应模型生成的图像一致。不同模型的分辨率列表如下:
模型 | 人脸 | 马 | 大象 | 狮子 | 狗 | 自行车 | 长颈鹿 | 猫 | 汽车 | 教堂 | metface |
---|---|---|---|---|---|---|---|---|---|---|---|
分辨率 | 512 | 256 | 512 | 512 | 1024 | 256 | 512 | 512 | 512 | 256 | 1024 |
提出的FreeDragBench数据集可在网站上获取。
❤️致谢
许可证
所有使用或修改自StyleGAN2的代码均遵循Nvidia源代码许可证。 与FreeDrag算法相关的代码仅允许用于个人活动。基于扩散的FreeDrag是基于DragDiffusion实现的。
✒️ 引用
如果您发现我们的工作对您的研究有帮助,请考虑引用以下BibTeX条目。
@article{ling2023freedrag,
title={Freedrag: Point tracking is not you need for interactive point-based image editing},
author={Ling, Pengyang and Chen, Lin and Zhang, Pan and Chen, Huaian and Jin, Yi},
journal={arXiv preprint arXiv:2307.04684},
year={2023}
}