PhotoMaker无需训练lora通过一张多张定制逼真的各种风格照片N卡+A卡独立电脑整合包

PhotoMaker:通过堆叠 ID 嵌入定制逼真的人体照片

[论文] [项目页] [模型卡]

如果ID保真度对您来说还不够,请尝试我们的风格化应用程序,您可能会感到惊喜。


PhotoMaker的正式实现:通过 Stacked ID Embedding 定制逼真的人体照片

🌠 主要特点:

  1. 几秒钟内快速定制,无需额外的 LoRA 培训。
  2. 确保令人印象深刻的 ID 保真度、提供多样性、有前途的文本可控性和高质量的生成。
  3. 可以作为适配器与社区中的其他基础模型以及 LoRA 模块进行协作。

❗❗ 注意:如果有任何基于 PhotoMaker 的资源和应用程序,请将它们留在讨论中,我们将在 README 文件的相关资源部分列出它们。现在我们知道了ReplicateWindowsComfyUIWebUI的实现。谢谢你们!

photomaker_demo_fast

🚩新功能/更新

  • ✅ Jan. 20, 2024.重要提示:对于那些不支持 bfloat16 的 GPU,请将此行更改为torch_dtype = torch.float16,速度将大大提高(V100 上 1min/img(之前) vs. 14s/img(之后)) 。PhotoMaker 的最低 GPU 内存要求是15G
  • ✅ 2024 年 1 月 15 日。我们发布 PhotoMaker。

🔥示例

现实一代

  • PhotoMaker 笔记本演示

PhotoMaker无需训练lora通过一张多张定制逼真的各种风格照片N卡+A卡独立电脑整合包

PhotoMaker无需训练lora通过一张多张定制逼真的各种风格照片N卡+A卡独立电脑整合包

风格化生成

注意:仅更改基本模型并添加 LoRA 模块以获得更好的风格化

  • PhotoMaker 风格的笔记本演示

PhotoMaker无需训练lora通过一张多张定制逼真的各种风格照片N卡+A卡独立电脑整合包

PhotoMaker无需训练lora通过一张多张定制逼真的各种风格照片N卡+A卡独立电脑整合包

🔧 依赖关系和安装

  • Python >= 3.8 (推荐使用Anaconda或Miniconda )
  • PyTorch >= 2.0.0
conda create --name photomaker python=3.10
conda activate photomaker
pip install -U pip

# Install requirements
pip install -r requirements.txt

# Install 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")

您也可以选择从此网址手动下载。

💻 如何测试

像扩散器一样使用

  • 依赖性
import torch
import os
from diffusers.utils import load_image
from diffusers import EulerDiscreteScheduler
from photomaker import PhotoMakerStableDiffusionXLPipeline

### Load base model
pipe = PhotoMakerStableDiffusionXLPipeline.from_pretrained(
    base_model_path,  # can change to any base model based on SDXL
    torch_dtype=torch.bfloat16, 
    use_safetensors=True, 
    variant="fp16"
).to(device)

### Load PhotoMaker checkpoint
pipe.load_photomaker_adapter(
    os.path.dirname(photomaker_path),
    subfolder="",
    weight_name=os.path.basename(photomaker_path),
    trigger_word="img"  # define the trigger word
)     

pipe.scheduler = EulerDiscreteScheduler.from_config(pipe.scheduler.config)

### Also can cooperate with other LoRA modules
# 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()
  • 输入身份证图像
### define the input ID images
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))

PhotoMaker无需训练lora通过一张多张定制逼真的各种风格照片N卡+A卡独立电脑整合包

  • 一代
# Note that the trigger word `img` must follow the class word for personalization
prompt = "a half-body portrait of a man img wearing the sunglasses in Iron man suit, best quality"
negative_prompt = "(asymmetry, worst quality, low quality, illustration, 3d, 2d, painting, cartoons, sketch), open mouth, grayscale"
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')

PhotoMaker无需训练lora通过一张多张定制逼真的各种风格照片N卡+A卡独立电脑整合包

启动本地渐变演示

运行以下命令:

python gradio_demo/app.py

您可以在此文件中自定义此脚本。

如果你想在 MAC 上运行它,你应该按照这个说明,然后运行 ​​app.py。

使用提示:

  • 上传更多要定制的人的照片以提高 ID 保真度。如果输入是亚洲人脸,可以考虑在类词前添加“亚洲人”,例如,Asian woman img
  • 风格化时,生成的脸部看起来是否过于真实?将Style 强度调整为30-50,数字越大,ID 保真度越差,但风格化能力会更好。您还可以尝试其他具有良好风格化效果的基础模型或 LoRA。
  • 减少生成图像的数量和采样步骤以获得更快的速度。但是,请记住,减少采样步骤可能会损害 ID 保真度。

相关资源

复制 PhotoMaker 的演示:

  1. 演示链接,在复制上运行 PhotoMaker,由@yorickvP提供。
  2. 演示链接(风格版本)。

Windows 版本的 PhotoMaker:

  1. bmaltais/PhotoMaker by @bmaltais,易于在 Windows 上部署 PhotoMaker。可以在此链接中找到说明。
  2. sdbds/PhotoMaker-for-windows作者:@sdbds。

舒适的用户界面:

  1. https://github.com/ZHO-ZHO-ZHO/ComfyUI-PhotoMaker
  2. https://github.com/StartHua/Comfyui-Mine-PhotoMaker
  3. https://github.com/shiimizu/ComfyUI-PhotoMaker

其他应用程序/网络演示

  1. Colab: https: //github.com/camenduru/PhotoMaker-colab作者:@camenduru
  2. 怪物 API:https://monsterapi.ai/playground?model =photo-maker
  3. 皮诺基奥:https://pinokio.computer/item?uri =https://github.com/cocktailpeanutlabs/photomaker

Graido 演示 45 行

由@Gradio提供

🤗致谢

  • PhotoMaker由腾讯ARC实验室和南开大学MCG-NKU联合主办。
  • 灵感来自许多优秀的演示和存储库,包括IP-Adapter、multimodalart/Ip-Adapter-FaceID、FastComposer和T2I-Adapter。感谢他们的出色工作!
  • 感谢腾讯PCG维纳斯团队的反馈和建议。
  • 感谢 HuggingFace 团队的慷慨支持!

免责声明

该项目致力于对人工智能驱动的图像生成领域产生积极影响。用户可以自由地使用此工具创建图像,但他们应该遵守当地法律并负责任地使用它。开发者对用户潜在的误用不承担任何责任。

书目词典

如果您发现 PhotoMaker 对您的研究和应用有用,请使用此 BibTeX 进行引用:

@article{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={arXiv preprint arxiv:2312.04461},
  year={2023}
}