aduib-diffsynth

图片编辑功能文档

概述

已在文生图(Text-to-Image)功能旁边添加了图片编辑(Image Editing)功能。该功能使用 Qwen-Image-Edit-2509 模型对已有图像进行编辑。

主要变更

1. diffsynths/text_to_image.py

添加了新的 edit_image() 函数,用于图片编辑:

def edit_image(
    input_image_path: str,
    prompt: str,
    negative_prompt: str = "",
    model_type: str = "Qwen-Image-Edit-2509",
    lora_model: str = None,
    offload_model: bool = False,
    height: int = 1024,
    width: int = 1024,
    num_inference_steps: int = 50,
    guidance_scale: float = 4.5,
    seed: Optional[int] = None,
    output_path: Optional[str] = None,
) -> str

功能特性:

2. gradio_app.py

添加了新的 “图片编辑” Tab,提供完整的用户界面:

UI 组件:

  1. 模型管理区域
    • 模型状态显示
    • LoRA 状态显示
    • 卸载模型按钮
    • 卸载 LoRA 按钮
    • 刷新状态按钮
  2. 输入区域
    • 图片上传组件(支持上传和剪贴板粘贴)
    • 编辑提示词输入框
    • 负向提示词输入框
    • 模型选择下拉菜单(Qwen-Image-Edit-2509)
    • LoRA 模型选择(可选)
    • 显存管理选项(Offload)
  3. 参数配置
    • 宽度滑块(256-2048,默认 1024)
    • 高度滑块(256-2048,默认 1024)
    • 推理步数(1-100,默认 50)
    • 引导系数(1.0-20.0,默认 4.5)
    • 随机种子输入
  4. 输出区域
    • 编辑后图像显示
    • 生成信息显示(耗时、路径等)

使用方法

  1. 切换到图片编辑 Tab
    • 在 Gradio 界面中点击 “图片编辑” 标签页
  2. 上传原始图片
    • 点击上传区域选择图片文件
    • 或直接从剪贴板粘贴图片
  3. 输入编辑提示词
    • 在 “编辑提示词” 框中描述想要的编辑效果
    • 例如:”把背景改成海滩” 或 “给人物添加眼镜”
  4. 调整参数(可选)
    • 调整图像尺寸
    • 修改推理步数和引导系数
    • 选择 LoRA 模型进行风格微调
  5. 点击 “✨ 编辑图像” 按钮
    • 等待模型加载和处理
    • 编辑完成后在右侧查看结果

模型支持

主模型

LoRA 模型(可选)

技术细节

模型加载

图像处理流程

  1. 加载输入图像并转换为 RGB 格式
  2. 调整图像尺寸到目标分辨率
  3. 使用 DiffSynth Pipeline 进行编辑
  4. 保存编辑后的图像到输出目录

输出路径

默认参数推荐

注意事项

  1. 显存要求
    • 标准模式:建议至少 12GB 显存
    • Offload 模式:可在 8GB 显存上运行,但速度较慢
  2. 首次使用
    • 首次加载模型会自动从 ModelScope 下载
    • 下载时间取决于网络速度(约 10-20GB)
  3. 性能优化
    • 降低分辨率可加快生成速度
    • 减少推理步数可获得更快的结果(可能影响质量)
    • 启用 Offload 模式可在低显存设备上运行

示例用例

场景 1:背景替换

场景 2:添加物体

场景 3:风格转换

更新日期

2025年1月