AI开源平台

StreamMultiDiffusion

SemanticDraw是一个实时交互式文本到图像生成工具,通过语义画笔实现实时创作和编辑。

标签:

SemanticDraw是什么

SemanticDraw是一个实时交互式文本到图像生成框架,旨在通过语义画笔实现实时交互内容创作。它允许用户在大画布上绘制多个提示掩码,进行实时创作,利用图像扩散模型实现实时交互生成和基于区域的语义控制。SemanticDraw的主要功能包括交互式绘画、提示分离、实时编辑和使用语义画笔绘画。用户可以通过绘制具有特定含义的提示来生成相应的内容,而不会混合不需要的内容,并且可以实时编辑照片。该工具解决的问题是如何在保持高图像质量的同时,实现实时的交互式图像生成和编辑,创造的价值在于为用户提供了一个强大且灵活的工具,用于快速生成和修改图像内容,特别适用于需要快速原型设计和创意表达的场景。

SemanticDraw使用示例

1. 快速开始
– 安装:创建并激活一个conda环境,克隆仓库并安装依赖。
“`bash
conda create -n semdraw python=3.12 && conda activate semdraw
git clone https://github.com/ironjr/semantic-draw
cd semantic-draw
pip install -r requirements.txt
“`
– 运行流媒体演示:进入演示目录并运行应用。
“`bash
cd demo/stream
python app.py –model “runwayml/stable-diffusion-v1-5” –port 8000
“`
打开浏览器访问 `http://localhost:8000`。

2. Python API基本生成
– 初始化并生成图像。
“`python
import torch
from model import StableMultiDiffusionPipeline
device = torch.device(‘cuda:0′)
smd = StableMultiDiffusionPipeline(device, hf_key=’runwayml/stable-diffusion-v1-5’)
image = smd.sample(‘A photo of the dolomites’)
image.save(‘output.png’)
“`

3. 基于区域的生成
– 定义提示和掩码并生成图像。
“`python
import torch
from model import StableMultiDiffusionPipeline
from util import seed_everything
seed_everything(2024)
device = torch.device(‘cuda:0’)
smd = StableMultiDiffusionPipeline(device)
prompts = [‘background: city’, ‘foreground: a cat’, ‘foreground: a dog’]
masks = load_masks() # 你的掩码加载逻辑
image = smd(prompts, masks=masks, height=768, width=768)
image.save(‘output.png’)
“`

4. 流媒体生成
– 初始化并流式生成图像。
“`python
from model import StreamMultiDiffusion
device = torch.device(‘cuda:0′)
smd = StreamMultiDiffusion(device, height=512, width=512)
smd.update_single_layer(idx=0, prompt=’background’, mask=bg_mask)
smd.update_single_layer(idx=1, prompt=’object’, mask=obj_mask)
while True:
image = smd()
display(image)
“`

相关导航

暂无评论

暂无评论...