Skip to content

Repository files navigation

CV_project_2026 - 图像编辑方法对比研究

本项目是一个计算机视觉研究项目,专注于对比研究两种基于点拖拽交互的图像编辑方法:DragGANDragDiffusion。项目实现了这两种方法,并提供了性能对比工具,用于评估它们在图像生成速度等方面的表现。

📋 项目概述

本项目包含两个主要的图像编辑框架:

  • DragGAN: 基于 StyleGAN 的点拖拽交互式图像编辑方法(SIGGRAPH 2023)
  • DragDiffusion: 基于 Stable Diffusion 的点拖拽交互式图像编辑方法

两种方法都支持通过指定控制点和目标点来精确控制图像的编辑,但在底层技术实现上有显著差异,这也导致了不同的性能特征。

📁 项目结构

CV_project_2026/
├── DragGAN/                      # DragGAN 项目代码
│   ├── visualizer_drag_gradio.py # Gradio Web界面
│   ├── visualizer_drag.py        # 命令行可视化工具
│   ├── interactive_drag_workflow.py  # 交互式工作流
│   ├── checkpoints/              # 预训练模型权重
│   ├── README.md                 # DragGAN 详细文档
│   └── ...
│
├── DragDiffusion/                # DragDiffusion 项目代码
│   ├── drag_ui.py                # Gradio Web界面
│   ├── drag_pipeline.py          # 核心处理管道
│   ├── drag_bench_evaluation/    # DragBench 评估工具
│   ├── README.md                 # DragDiffusion 详细文档
│   └── ...
│
├── speed_comparison.py           # 生成速度对比脚本
├── test_speed_script.py          # 速度测试辅助脚本
├── SPEED_COMPARISON_README.md    # 速度对比使用说明
└── README.md                     # 本文件

🚀 快速开始

环境要求

  • 操作系统: Linux (推荐)
  • GPU: NVIDIA GPU with CUDA (推荐)
  • Python: 3.8+
  • CUDA: 11.8+ (用于 GPU 加速)

安装步骤

1. 安装 DragGAN 环境

cd DragGAN
conda env create -f environment.yml
conda activate stylegan3
pip install -r requirements.txt

2. 安装 DragDiffusion 环境

cd DragDiffusion
conda env create -f environment.yaml
conda activate dragdiff

3. 下载预训练模型

DragGAN 模型下载:

cd DragGAN
python scripts/download_model.py

DragDiffusion 模型: DragDiffusion 会在首次运行时自动下载 Stable Diffusion v1.5 模型。

运行方式

DragGAN 使用

启动 Gradio Web 界面:

conda activate stylegan3
cd DragGAN
python visualizer_drag_gradio.py --listen

命令行模式:

conda activate stylegan3
cd DragGAN
python visualizer_drag.py

详细使用方法请参考 DragGAN/README.md

DragDiffusion 使用

启动 Gradio Web 界面:

conda activate dragdiff
cd DragDiffusion
python drag_ui.py

详细使用方法请参考 DragDiffusion/README.md

⚡ 性能对比

项目提供了专门的速度对比工具,用于评估两种方法的图像生成性能。

运行速度对比测试

基本用法(推荐使用子进程模式):

python speed_comparison.py --use-subprocess

指定生成图像数量:

python speed_comparison.py --use-subprocess --num-images 10

自定义 DragDiffusion 提示词:

python speed_comparison.py --use-subprocess --prompt "a beautiful landscape painting"

性能对比结果概览

根据测试结果,两种方法在性能上有显著差异:

方法 平均生成时间/张 特点
DragGAN ~20秒 速度更快,基于 StyleGAN2 预训练
DragDiffusion ~50秒 速度较慢,但支持更广泛的图像类型

注意: 实际性能取决于硬件配置、模型大小和图像分辨率等因素。

详细的对比测试说明请参考 SPEED_COMPARISON_README.md

🔧 主要功能

DragGAN 特性

  • ✅ 基于 StyleGAN2/3 的高质量图像生成
  • ✅ 实时点拖拽交互式编辑
  • ✅ 支持多种预训练模型(AFHQ, StyleGAN-Human, LHQ 等)
  • ✅ Gradio Web 界面和命令行工具
  • ✅ GPU 加速支持

DragDiffusion 特性

  • ✅ 基于 Stable Diffusion v1.5 的图像编辑
  • ✅ 支持真实图像和生成图像的拖拽编辑
  • ✅ LoRA 训练集成(用于真实图像编辑)
  • ✅ FreeU 支持(提升生成图像质量)
  • ✅ 支持任意宽高比的图像
  • ✅ DragBench 评估工具

📊 技术对比

特性 DragGAN DragDiffusion
底层模型 StyleGAN2/3 Stable Diffusion v1.5
编辑原理 潜在空间优化 扩散模型特征空间
真实图像支持 需反演 支持(通过 LoRA)
生成速度 更快 较慢
灵活性 受限于 GAN 训练数据 更高(文本引导)
GPU 内存需求 中等 (~6GB) 较高 (~14GB)

📚 相关论文

📖 详细文档

⚠️ 注意事项

  1. 环境隔离: 两个项目需要使用不同的 conda 环境,建议使用 speed_comparison.py--use-subprocess 参数自动处理环境切换

  2. GPU 内存:

    • DragGAN 需要约 6GB VRAM
    • DragDiffusion 需要约 14GB VRAM
  3. 模型下载: 首次运行时需要下载预训练模型,请确保网络连接正常

  4. 许可证: 请遵守各子项目的许可证要求(详见各子项目目录中的 LICENSE 文件)

📝 许可证

本项目包含两个子项目,请分别查看各自的许可证:

🙏 致谢

  • 感谢 DragGAN 团队提供优秀的代码实现
  • 感谢 DragDiffusion 团队提供开源的研究代码
  • 感谢所有为本项目提供帮助的贡献者

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages