综合介绍
PhotoDoodle 是一个开源的图像编辑工具,由 ShowLab 开发,专注于通过人工智能技术实现照片的艺术化编辑。用户只需输入简单的文本提示词,就能为真实照片添加卡通风格、3D效果、光环、翅膀等装饰元素,生成虚实结合的艺术作品。它基于强大的深度学习模型,支持少样本学习,能快速适应用户个性化风格,适合艺术家、设计师或普通用户进行创意创作。项目托管于 GitHub,提供代码、数据集和预训练模型,方便开发者复现或二次开发。其独特的“照片涂鸦”功能填补了传统编辑软件的空白,既保留照片背景完整性,又能无缝融入艺术元素,广受关注。
功能列表
- 文本驱动的艺术编辑:通过文字描述(如“添加卡通怪物”或“增加光环效果”),自动生成相应的涂鸦元素。
- 少样本学习支持:只需少量用户提供的配对数据,就能学习并生成个性化编辑风格。
- 高质量虚实融合:确保新添加的元素与照片背景在视角、光影上自然融合。
- 数据集与模型开放:提供预训练模型和多样化风格数据集,支持用户直接下载使用。
- 开源代码支持:允许开发者修改代码或集成到其他项目中,灵活性高。
- 批量处理能力:支持一次性编辑多张图片,提高效率。
使用帮助
PhotoDoodle 是一个基于 GitHub 的开源项目,用户需要一定的技术基础来安装和使用。以下是详细的安装与使用指南,帮助你快速上手。
安装流程
- 环境准备
- 确保你的电脑已安装 Git、Python 3.11.10 和 Conda。
- 打开终端,输入以下命令克隆项目到本地:
git clone git@github.com:showlab/PhotoDoodle.git cd PhotoDoodle
- 创建并激活虚拟环境:
conda create -n doodle python=3.11.10 conda activate doodle
- 安装依赖
- 安装 PyTorch(建议使用 CUDA 加速版本,若有 GPU):
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu124
- 安装其他依赖:
pip install --upgrade -r requirements.txt
- 等待安装完成,确保网络畅通。
- 安装 PyTorch(建议使用 CUDA 加速版本,若有 GPU):
- 下载预训练模型
- 项目提供了多个预训练模型,需手动下载。访问 PhotoDoodle 的 GitHub Releases 或 Hugging Face 数据集页面,下载模型文件(如
OmniEditor
和EditLoRA
)。 - 将下载的模型文件放入项目目录下的指定文件夹(参考 README 中的路径说明,通常为
checkpoints/
)。
- 项目提供了多个预训练模型,需手动下载。访问 PhotoDoodle 的 GitHub Releases 或 Hugging Face 数据集页面,下载模型文件(如
- 验证安装
- 在终端运行测试命令(如 README 中提供的示例脚本),检查是否报错。若无错误,安装成功。
使用方法
PhotoDoodle 的核心功能是通过文本指令编辑照片,操作分为两种场景:直接使用预训练模型和自定义训练。
使用预训练模型编辑照片
- 准备图片
- 将需要编辑的照片(如
source.jpg
)放入项目目录下的input/
文件夹(若无此文件夹,自行创建)。
- 将需要编辑的照片(如
- 运行编辑命令
- 在终端输入以下命令(假设已激活
doodle
环境):python inference.py --source input/source.jpg --prompt "在照片上添加卡通风格的翅膀" --output output/result.jpg
- 参数说明:
--source
:源照片路径。--prompt
:文本指令,描述想要添加的元素。--output
:输出结果路径。
- 运行后,生成的结果会保存在
output/result.jpg
。
- 在终端输入以下命令(假设已激活
- 查看结果
- 打开
output/
文件夹,检查生成的图片。调整指令(如“增加光影效果”)可生成不同风格。
- 打开
自定义训练个性化风格
- 准备配对数据集
- 创建一个
.jsonl
文件(如dataset.jsonl
),每行记录一对图片和描述:{"source": "path/to/source.jpg", "target": "path/to/modified.jpg", "caption": "添加蓝色光环"} {"source": "path/to/source2.jpg", "target": "path/to/modified2.jpg", "caption": "增加卡通怪物"}
- 至少准备 5-10 对图片,反映你的风格需求。
- 创建一个
- 运行训练脚本
- 将
.jsonl
文件放入项目目录,然后执行:python train.py --data dataset.jsonl --model OmniEditor --output_dir trained_model/
- 训练时间取决于数据量和硬件性能(GPU 推荐),完成后模型保存在
trained_model/
。
- 将
- 使用自定义模型编辑
- 使用训练好的模型进行推理:
python inference.py --source input/source.jpg --prompt "添加我的风格元素" --model trained_model/checkpoint.pth --output output/custom_result.jpg
- 检查输出结果,确认是否符合预期。
- 使用训练好的模型进行推理:
操作流程详解
- 批量编辑:将多张图片放入
input/
文件夹,修改脚本支持循环处理(如添加--batch
参数,具体实现参考代码注释)。 - 调整效果:若融合不自然,可在提示词中加入细节描述(如“与背景光影一致”),或调整模型参数(见
config/
文件)。 - 调试问题:若运行出错,检查 Python 版本、依赖是否完整,或查看 GitHub Issues 寻求社区帮助。
注意事项
- 硬件要求:建议使用 GPU(如 NVIDIA CUDA 支持)以提升速度,CPU 也可运行但较慢。
- 数据质量:输入图片分辨率越高,效果越好;自定义数据集需保持一致性。
- 在线体验:部分功能可通过 Hugging Face Spaces 在线测试,无需本地安装。
通过以上步骤,你可以轻松使用 PhotoDoodle 为照片增添艺术魅力,无论是快速试用还是深度定制,都能满足需求。