EditAnything

EditAnything

多功能图像编辑与生成开源项目

EditAnything 是一个开源的图像编辑和生成项目,集成了 Segment Anything、ControlNet 和 Stable Diffusion 等先进技术。该项目支持跨图像区域拖放、服装和发型编辑、美颜处理等功能,还可根据简单草图生成图像。EditAnything 提供自定义编辑和布局对齐控制,为图像处理带来更大灵活性,适用于创意设计和内容创作等领域。

EditAnythingAI绘图图像编辑图像生成深度学习Github开源项目

基于 Segment-Anything 的编辑任意物体

HuggingFace space

这是一个正在进行的项目,旨在编辑和生成图像中的任何内容, 由 Segment AnythingControlNetBLIP2Stable Diffusion 等技术支持。

欢迎任何形式的贡献和建议!

新闻🔥

2023/08/09 - 修改了用户界面和代码,修复了多个已知问题。

2023/07/25 - EditAnything 被 ACM MM 演示轨道接受。

2023/06/09 - 支持跨图像区域拖拽和合并,释放创意融合!

2023/05/24 - 支持多种高质量角色编辑:服装、发型、彩色隐形眼镜。

2023/05/22 - 通过在 sketch2image.py 中调整遮罩对齐强度,支持草图到图像的转换!

2023/05/13 - 支持通过点击操作进行交互式分割!

2023/05/11 - 支持瓦片模型以进行细节优化!

2023/05/04 - 发布了美颜/帅哥编辑/生成的新演示!

2023/05/04 - 现在支持在任何 lora 模型上基于 ControlNet 的修复模型。EditAnything 可以在任何基础/lora 模型上操作,无需修复模型。

<details> <summary> 更多更新日志。 </summary>

2023/05/01 - 基于 Stable Diffusion 1.5/2.1 的 V0.4 模型已发布。新模型使用更多数据和迭代进行了训练。模型库

2023/04/20 - 我们支持使用 DreamBooth 进行自定义编辑。

2023/04/17 - 我们支持将 SAM 遮罩转换为语义分割遮罩。

2023/04/17 - 我们支持编辑部分与 SAM 遮罩之间的不同对齐程度,请在 演示 中查看!

2023/04/15 - Huggingface 上的 Gradio 演示 已发布!

2023/04/14 - 使用 LAION 数据集训练的新模型已发布。

2023/04/13 - 在 sam2image.py 中支持预训练模型自动下载和 gradio。

2023/04/12 - 文本引导的编辑任意物体的初始版本在 sam2groundingdino_edit.py(对象级)和 sam2vlpart_edit.py(部件级)中。

2023/04/10 - 编辑任意物体的初始版本在 sam2edit.py 中。

2023/04/10 - 我们将预训练模型转换为 diffusers 风格,使用 sam2image_diffuser.py 时会自动加载预训练模型。现在您可以轻松地将我们的预训练模型与不同的基础模型结合使用!

</details>

2023/04/09 - 我们发布了一个基于 StableDiffusion 的 ControlNet 预训练模型,该模型可以根据 SAM 分割生成图像。

功能

尝试我们的 HuggingFace 演示🔥🔥🔥

释放创意融合:跨图像区域拖拽和合并!🔥

<img width="1268" alt="image" src="https://github.com/sail-sg/EditAnything/assets/20515144/7f997db8-d2ea-4341-a7d7-dfe8ac5dd338"> <img width="1283" alt="image" src="https://github.com/sail-sg/EditAnything/assets/20515144/da34126c-d0fc-4020-85b6-1d99bed806e1">

服装编辑!🔥

<img width="1357" alt="image" src="https://github.com/sail-sg/EditAnything/assets/20515144/03452a0f-83ae-4257-995c-f3d8b71d4f1d">

发型编辑!🔥

<img width="1406" alt="image" src="https://github.com/sail-sg/EditAnything/assets/20515144/9091e3c9-c7e1-485d-bfe6-de5b21e83814">

彩色隐形眼镜!🔥

<img width="1080" alt="image" src="https://github.com/sail-sg/EditAnything/assets/20515144/d9c8a136-e12c-4df4-aed0-a7c287e0ef3c">

人物替换并使用瓦片优化!🔥

<img width="839" alt="image" src="https://github.com/sail-sg/EditAnything/assets/20515144/31883059-2bbc-442c-88aa-04d3a1da7abc">

绘制草图并生成图像!🔥

提示词:"地面上有一棵树和一条河的画"

<div> <img width="250" alt="image" src="https://yellow-cdn.veclightyear.com/835a84d5/a5c46d47-d4f2-43a2-9cce-8ee7faa8a3e3.png"> <img width="250" alt="image" src="https://yellow-cdn.veclightyear.com/835a84d5/4d9fb225-2743-4255-9c29-37a7a6adcb08.png"> <img width="250" alt="image" src="https://yellow-cdn.veclightyear.com/835a84d5/577bbe0a-a829-4018-ba59-bc6eac515a90.png"> </div> <details> <summary> 更多演示。 </summary>

提示词:"一幅画,河流,山,太阳,云,美丽的田野。"

<div> <img width="250" alt="image" src="https://yellow-cdn.veclightyear.com/835a84d5/2e8fdb0b-b3cf-4272-ae1d-e044135e2121.png"> <img width="250" alt="image" src="https://yellow-cdn.veclightyear.com/835a84d5/15da30d1-4d19-4076-b9e7-d516cdef98cc.png"> <img width="250" alt="image" src="https://yellow-cdn.veclightyear.com/835a84d5/c7dff1fd-d5fb-4f66-a644-a5167fda2ac1.png"> </div>

提示词:"一个男人,中分发型,高清。"

<div> <img width="250" alt="image" src="https://yellow-cdn.veclightyear.com/835a84d5/c8e252b3-6346-4b57-93b1-430a9a10de83.png"> <img width="250" alt="image" src="https://yellow-cdn.veclightyear.com/835a84d5/e4a49d0b-d1ac-47d6-8d5d-98e371a3cf09.png"> <img width="250" alt="image" src="https://yellow-cdn.veclightyear.com/835a84d5/fb48aba8-3754-45c5-8736-1add26ec1d81.png"> </div>

提示词:"一个女人,长发,详细的面部特征,逼真,高清,美丽的脸庞,单人,蜡烛,棕色头发,蓝眼睛。"

<div> <img width="250" alt="image" src="https://yellow-cdn.veclightyear.com/835a84d5/089c9259-2d69-466a-bfcd-920761d63839.png"> <img width="250" alt="image" src="https://yellow-cdn.veclightyear.com/835a84d5/7a6e80c2-b652-49d6-a578-aabff8183f5d.png"> <img width="250" alt="image" src="https://yellow-cdn.veclightyear.com/835a84d5/0f34f12b-bd17-47f3-9b81-0eae62e4260b.png"> </div> </details>

此外,您还可以使用生成的图像和 SAM 模型来精细化您的草图!

生成/编辑您的美颜!!!🔥🔥🔥

编辑您的美颜并生成您的美颜

<div> <img width="277" alt="image" src="https://yellow-cdn.veclightyear.com/835a84d5/b8054b76-d7c3-4036-b365-002641ce489b.gif"> <img width="300" alt="image" src="https://yellow-cdn.veclightyear.com/835a84d5/61d4d99e-ad39-49f4-b2d9-493cab25d9a1.gif"> </div>

使用布局对齐控制进行自定义编辑。

<img width="1392" alt="image" src="https://yellow-cdn.veclightyear.com/835a84d5/c69778f8-9a26-4e62-8b52-c76778fc6136.png"> EditAnything+DreamBooth:使用 `tools/train_dreambooth_inpaint.py` 训练自定义 DreamBooth 模型,并在 `sam2edit.py` 中用训练好的模型替换基础模型。

使用布局对齐控制进行图像编辑。

<img width="1040" alt="image" src="https://yellow-cdn.veclightyear.com/835a84d5/b8884804-4810-464f-bb7c-bb23058febc3.png">

保持布局并生成您的季节!

<div> <img src="https://yellow-cdn.veclightyear.com/835a84d5/0b5c9026-9dcd-4497-8a2d-a99ff7d2f06e.jpg" height=256 alt="original paint"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/c02a8013-1c2f-49f5-8401-eab98acabc0e.png" height=256 alt="SAM"> </div> 人类提示:"春/夏/秋/冬的田野画。" <div> <img src="https://yellow-cdn.veclightyear.com/835a84d5/a171bf9c-20a7-49c1-ad42-bbb3932e1595.png" height=256 alt="春天"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/49f0162d-7514-4c12-bdcd-ca4adb48f949.png" height=256 alt="夏天"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/da420157-ecbb-4aeb-bd9d-a3938cdb0ff9.png" height=256 alt="秋天"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/145a5198-114a-4f12-a035-b03f122bc2f7.png" height=256 alt="冬天"> </div>

通过文本定位和分割任意物体进行特定编辑

通过文本引导的部分遮罩进行编辑

文本定位:"狗头"

人类提示:"可爱的狗" p

<details> <summary> 更多示例。 </summary>

文本定位:"猫眼"

人类提示:"一只可爱的小人形猫" p

</details>

通过文本引导的对象遮罩进行编辑

文本定位:"长凳"

人类提示:"长凳" p

通过分割任意物体进行编辑

人类提示:"华丽的日落天空,红砖墙" p

<details> <summary> 更多示例。 </summary>

人类提示:"湖边的椅子,阳光明媚的日子,春天" p

</details>

通过分割任意物体进行生成

BLIP2提示:"一艘大型白色和红色渡轮" p (1:输入图像;2:分割遮罩;3-8:生成的图像。)

<details> <summary> 更多示例。 </summary>

BLIP2提示:"多云的天空" p

BLIP2提示:"一架黑色无人机在蓝天中飞行" p

</details>
  1. 人类提示和BLIP2生成的提示构建文本指令。
  2. SAM模型对输入图像进行分割,生成无类别的分割遮罩。
  3. 分割遮罩和文本指令指导图像生成。

为每个SAM遮罩生成语义标签。

p

python sam2semantic.py

突出特点:

  • 预训练的ControlNet以SAM遮罩为条件,实现了细粒度控制的图像生成。
  • 与类别无关的SAM遮罩实现了更多形式的编辑和生成。
  • BLIP2文本生成实现了无需文本指导的控制。

设置

创建环境

conda env create -f environment.yaml conda activate control

安装BLIP2和SAM

将这些模型放在models文件夹中。

# 运行app.py时会自动安装BLIP2和SAM pip install git+https://github.com/huggingface/transformers.git pip install git+https://github.com/facebookresearch/segment-anything.git # 用于文本引导的编辑 pip install git+https://github.com/openai/CLIP.git pip install git+https://github.com/facebookresearch/detectron2.git pip install git+https://github.com/IDEA-Research/GroundingDINO.git

下载预训练模型

# Segment-anything ViT-H SAM模型将自动下载。 # BLIP2模型将自动下载。 # 部分定位Swin-Base模型。 wget https://github.com/Cheems-Seminar/segment-anything-and-name-it/releases/download/v1.0/swinbase_part_0a0000.pth # Grounding DINO模型。 wget https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha2/groundingdino_swinb_cogcoor.pth # 从huggingface获取预训练模型。 # 不需要下载这个!但请安装safetensors以读取ckpt。

运行演示

python app.py # 或 python editany.py # 或 python sam2image.py # 或 python sam2vlpart_edit.py # 或 python sam2groundingdino_edit.py

模型库

模型特点下载路径
SAM预训练(v0-1)良好的自然感shgao/edit-anything-v0-1-1
LAION预训练(v0-3)良好的面部处理shgao/edit-anything-v0-3
LAION预训练(v0-4)支持StableDiffusion 1.5/2.1,更多训练数据和迭代,良好的面部处理shgao/edit-anything-v0-4-sd15 shgao/edit-anything-v0-4-sd21

训练

  1. 使用dataset_build.py生成训练数据集。
  2. 使用tool_add_control_sd21.py转换stable-diffusion模型。
  3. 使用sam_train_sd21.py训练模型。

致谢

@InProceedings{gao2023editanything,
  author = {Gao, Shanghua and Lin, Zhijie and Xie, Xingyu and Zhou, Pan and Cheng, Ming-Ming and Yan, Shuicheng},
  title = {EditAnything: Empowering Unparalleled Flexibility in Image Editing and Generation},
  booktitle = {Proceedings of the 31st ACM International Conference on Multimedia, Demo track},
  year = {2023},
}

本项目基于以下工作:

Segment Anything, ControlNet, BLIP2, MDT, Stable Diffusion, Large-scale Unsupervised Semantic Segmentation, Grounded Segment Anything: From Objects to Parts, Grounded-Segment-Anything

感谢这些令人惊叹的项目!

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多