Project Icon

AnyDoor

实现对象级图像灵活定制和编辑

AnyDoor是一种零样本对象级图像定制技术,实现灵活的图像编辑。它能将参考对象无缝插入目标图像,保持风格一致性和真实感。项目提供训练和推理代码、预训练模型及在线演示。AnyDoor适用于虚拟试穿、换脸等任务,也可作为区域到区域生成任务的基础模型。该技术为图像编辑和生成领域提供了新的可能性。

AnyDoor: 零样本对象级图像定制

陈熙 · 黄亮华 · 刘宇 · 沈俞俊 · 赵德立 · 赵恒双

论文PDF 项目页面
香港大学   |   阿里巴巴集团 |   蚂蚁集团

新闻

  • [2023.12.17] 发布训练、推理和演示代码,以及预训练检查点。
  • [2023.12.24] 🔥 支持在 ModelScopeHuggingFace 上的在线演示。
  • [即将推出] 发布新版本论文。
  • [进行中] 扩大训练数据规模并发布更强大的模型,作为下游区域到区域生成任务的基础模型。
  • [进行中] 为下游任务(如虚拟试衣、换脸、文本和标志转移等)发布专门设计的模型。

安装

使用 conda 安装:

conda env create -f environment.yaml
conda activate anydoor

或使用 pip

pip install -r requirements.txt

此外,对于训练,您需要安装 panopticapi、pycocotools 和 lvis-api。

pip install git+https://github.com/cocodataset/panopticapi.git

pip install pycocotools -i https://pypi.douban.com/simple

pip install lvis

下载检查点

下载 AnyDoor 检查点:

注意: 我们包含了 Adam 的所有优化器参数,因此检查点很大。您可以只保留 "state_dict" 以使其变小得多。

下载 DINOv2 检查点并修改 /configs/anydoor.yaml 中的路径(第 83 行)

如果您想从头开始训练,请下载 Stable Diffusion V2.1。

推理

我们在 run_inference.py 中提供了推理代码(从第 222 行开始),用于单张图像推理和数据集推理(VITON-HD 测试)。您应该修改数据路径并运行以下代码。生成的结果会保存在 examples/TestDreamBooth/GEN 中(单张图像),以及 VITONGEN 中(VITON-HD 测试)。

python run_inference.py

VITON 测试的推理结果将如下所示 [服装、真实图像、生成图像]。

请注意,AnyDoor 不包含任何针对试衣的特定设计/调整,我们认为添加骨骼信息或扭曲的服装,并在试衣数据上进行调整会使其变得更好 :)

我们用于 DreamBooth 和 COCOEE 评估的数据可以在 Google Drive 上下载:

  • 链接:[待发布]

Gradio 演示

目前,我们支持本地 Gradio 演示。要启动它,您首先应该修改 /configs/demo.yaml 中预训练模型的路径,以及 /configs/anydoor.yaml 中 DINOv2 的路径(第 83 行)。

之后,运行脚本:

python run_gradio_demo.py

Gradio 演示的界面如下所示:

  • 📢 此版本要求用户标注目标对象的掩码,太粗糙的掩码会影响生成质量。我们计划在演示中添加掩码优化模块或交互式分割模块。

  • 📢 我们提供了一个分割模块来优化用户标注的参考掩码。我们可以通过在 /configs/demo.yaml 中设置 use_interactive_seg: False 来禁用它。

训练

准备数据集

  • 下载 /configs/datasets.yaml 中列出的数据集,并修改相应的路径。
  • 您可以根据 ./datasets 中文件的格式准备自己的数据集。
  • 如果您使用 UVO 数据集,需要按照 ./datasets/Preprocess/uvo_process.py 处理 json 文件。
  • 您可以参考 run_dataset_debug.py 来验证您的数据是否正确。

准备初始权重

  • 如果您想从头开始训练,请通过运行以下命令将下载的 SD 权重转换为控制副本:
sh ./scripts/convert_weight.sh  

开始训练

  • 根据您的训练资源,修改 run_train_anydoor.py 第 26-34 行的训练超参数。我们验证使用 2 个 A100 GPU,批量累积=1,可以在 300,000 次迭代后获得令人满意的结果。

  • 执行以下命令开始训练:

sh ./scripts/train.sh  

🔥 社区贡献

@bdsqlsz

致谢

本项目基于 ControlNet 的代码库开发。我们感谢这项伟大的工作!

引用

如果您发现这个代码库对您的研究有用,请使用以下条目。

@article{chen2023anydoor,
  title={Anydoor: Zero-shot object-level image customization},
  author={Chen, Xi and Huang, Lianghua and Liu, Yu and Shen, Yujun and Zhao, Deli and Zhao, Hengshuang},
  journal={arXiv preprint arXiv:2307.09481},
  year={2023}
}
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号