🌠 主要特点:
- 在几秒钟内快速定制,无需额外的LoRA培训。 2. 确保令人印象深刻的ID保真度,提供多样性,承诺文本可控性和高质量生成。 3. 可作为与社区中的LoRA模块一起与其他基础模型协作的适配器。
❗❗ 注意:如果有任何基于 PhotoMaker 的资源和应用程序,请在 讨论 中留下它们,我们将在 README 文件的 相关资源 部分列出它们。现在我们知道 Replicate、Windows、ComfyUI 和 WebUI 的实现。谢谢大家!
🚩 新功能/更新
新功能更新
🔥 示例
逼真生成
风格化生成
风格化生成
注意:仅更改基础模型并添加 LoRA 模块以获得更好的样式化
🔧 依赖和安装
依赖和安装
- Python >= 3.8 (建议使用Anaconda或Miniconda)
- PyTorch >= 2.0.0
conda create --name photomaker python=3.10 conda activate photomaker pip install -U pip
安装要求
pip install -r requirements.txt
安装 photomaker
pip install git+https://github.com/TencentARC/PhotoMaker.git
然后,您可以运行以下命令来使用它
from photomaker import PhotoMakerStableDiffusionXLPipeline
⏬ 下载模型
下载模型
模型将通过以下两行代码自动下载:
from huggingface_hub import hf_hub_download photomaker_path = hf_hub_download(repo_id="TencentARC/PhotoMaker", filename="photomaker-v1.bin", repo_type="model")
您也可以选择从此url手动下载。
💻 如何测试
如何测试
使用方式如同扩散器
使用类似扩散器
- 依赖
import torch import os from diffusers.utils import load_image from diffusers import EulerDiscreteScheduler from photomaker import PhotoMakerStableDiffusionXLPipeline
载入基础模型
pipe = PhotoMakerStableDiffusionXLPipeline.from_pretrained( base_model_path, # 可根据 SDXL 更改为任何基础模型 torch_dtype=torch.bfloat16, use_safetensors=True, variant="fp16" ).to(device)
加载 PhotoMaker 检查点
pipe.load_photomaker_adapter( os.path.dirname(photomaker_path), subfolder="", weight_name=os.path.basename(photomaker_path), trigger_word="img" # 定义触发词 )
pipe.scheduler = EulerDiscreteScheduler.from_config(pipe.scheduler.config)
还可以与其他 LoRA 模块合作
pipe.load_lora_weights(os.path.dirname(lora_path), weight_name=lora_model_name, adapter_name="xl_more_art-full")
pipe.set_adapters(["photomaker", "xl_more_art-full"], adapter_weights=[1.0, 0.5])
pipe.fuse_lora()
- 输入ID图片
定义输入ID图像
input_folder_name = './examples/newton_man' image_basename_list = os.listdir(input_folder_name) image_path_list = sorted([os.path.join(input_folder_name, basename) for basename in image_basename_list])
input_id_images = [] for image_path in image_path_list: input_id_images.append(load_image(image_path))
- 世代
请注意,触发词img
必须跟在个性化类词后面
prompt = '一个穿着太阳镜的铁人服半身肖像,最佳质量' negative_prompt = '(不对称,最差质量,低质量,插图,3d,2d,绘画,卡通,素描),张嘴,灰度' generator = torch.Generator(device=device).manual_seed(42) images = pipe( prompt=prompt, input_id_images=input_id_images, negative_prompt=negative_prompt, num_images_per_prompt=1, num_inference_steps=num_steps, start_merge_step=10, generator=generator, ).images[0] gen_images.save('out_photomaker.png')
启动本地 gradio 演示
运行以下命令:
python gradio_demo/app.py
你可以在这个文件中自定义此脚本。
如果你想在 MAC 上运行它,你应该按照这个说明然后运行 app.py。
使用技巧:
使用提示
- 上传更多被定制人的照片以提高身份证真实性。如果输入是亚洲面孔,也许考虑在类别词前添加 'Asian',例如,
Asian woman img
。 - 在进行风格化时,生成的面孔看起来是否太逼真?将风格强度调整为30-50,数字越大,身份证真实性越低,但风格化能力会更好。您也可以尝试其他具有良好风格化效果的基础模型或 LoRAs。
- 减少生成图像和采样步骤以提高速度。但请记住,减少采样步骤可能会影响身份证真实性。
相关资源
相关资源
复制 PhotoMaker 演示:
复制 Photomaker 演示
- 演示链接,在由@yorickvP和@jd7h提供的复制品上运行PhotoMaker。
- 演示链接(样式版本)。
PhotoMaker 的 WebUI 版本:
[](#Photomaker 的 Web UI 版本)
- stable-diffusion-webui-forge: https://github.com/lllyasviel/stable-diffusion-webui-forge 由@Lvmin Zhang提供
- Fooocus App: Fooocus-inswapper 由@machineminded提供
PhotoMaker 的 Windows 版本:
Windows 版 PhotoMaker
- bmaltais/PhotoMaker 由@bmaltais创建,可轻松在Windows上部署PhotoMaker。描述可在此链接找到。
- sdbds/PhotoMaker-for-windows 由@sdbds创建。
舒适界面:
#舒适UI
PhotoMaker的纯C/C++/CUDA版本:
纯粹的CCCUDA版本的PhotoMaker
其他应用程序 / 网络演示
其他应用程序和网络演示
- Wisemodel 始智 (Easy to use in China) https://wisemodel.cn/space/gradio/photomaker
- OpenXLab (Easy to use in China): https://openxlab.org.cn/apps/detail/camenduru/PhotoMaker by @camenduru.
- Colab: https://github.com/camenduru/PhotoMaker-colab by @camenduru
- Monster API: https://monsterapi.ai/playground?model=photo-maker
- Pinokio: https://pinokio.computer/item?uri=https://github.com/cocktailpeanutlabs/photomaker
45行代码的Graido演示
提供者:@Gradio
🤗 致谢
致谢
- PhotoMaker由腾讯ARC实验室和南开大学MCG-NKU共同主办。
- 受到许多优秀演示和存储库的启发,包括IP-Adapter、multimodalart/Ip-Adapter-FaceID、FastComposer和T2I-Adapter。感谢他们的出色工作!
- 感谢腾讯PCG Venus团队的反馈和建议。
- 感谢HuggingFace团队的慷慨支持!
免责声明
该项目致力于积极影响基于人工智能的图像生成领域。用户被授予使用此工具创建图像的自由,但他们应遵守当地法律并负责任地使用。开发人员不对用户潜在的滥用承担任何责任。
BibTeX
如果您发现 PhotoMaker 对您的研究和应用有用,请使用以下 BibTeX 进行引用:
@inproceedings{li2023photomaker,
title={PhotoMaker: Customizing Realistic Human Photos via Stacked ID Embedding},
author={Li, Zhen and Cao, Mingdeng and Wang, Xintao and Qi, Zhongang and Cheng, Ming-Ming and Shan, Ying},
booktitle={IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2024}
}