PhotoMaker空间计算:元宇宙环境中的个性化数字形象
【免费下载链接】PhotoMaker 项目地址: https://gitcode.com/gh_mirrors/ph/PhotoMaker
在元宇宙快速发展的今天,数字身份已成为连接虚拟与现实的重要桥梁。你是否还在为无法拥有高度个性化的虚拟形象而烦恼?是否希望在虚拟世界中展现独一无二的自己?PhotoMaker将为你提供解决方案。通过PhotoMaker,你可以在几秒内快速定制出逼真的数字形象,无需额外的LoRA训练,同时确保出色的身份保真度,提供多样性、良好的文本可控性和高质量的生成效果。读完本文,你将了解如何使用PhotoMaker创建个性化数字形象,掌握其在元宇宙环境中的应用方法,并探索相关的高级功能和资源。
PhotoMaker简介
PhotoMaker是一个能够通过堆叠ID嵌入(Stacked ID Embedding)技术定制逼真人类照片的工具。它具有以下关键特点:
- 快速定制:在几秒内完成,无需额外的LoRA训练。
- 高保真度:确保令人印象深刻的身份保真度,提供多样性、良好的文本可控性和高质量生成。
- 适配器功能:可以作为适配器与社区中的其他基础模型和LoRA模块协作。
官方文档:README.md
工作原理
PhotoMaker的工作原理基于堆叠ID嵌入技术,通过加载基础模型和PhotoMaker检查点,结合输入的ID图像,生成个性化的数字形象。其核心代码实现位于photomaker/model.py和photomaker/pipeline.py中。
环境搭建与安装
要使用PhotoMaker,首先需要搭建相应的环境并进行安装。
依赖项与安装步骤
- 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
pip install git+https://gitcode.com/gh_mirrors/ph/PhotoMaker
安装完成后,就可以通过以下命令在Python中使用PhotoMaker:
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")
你也可以从https://huggingface.co/TencentARC/PhotoMaker手动下载。
快速上手:创建你的第一个个性化数字形象
使用diffusers方式
以下是使用diffusers方式生成个性化数字形象的示例代码:
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)
pipe.fuse_lora()
# 定义输入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))
# 生成图像
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')
输入ID图像示例
以牛顿的示例图像为例,输入图像位于examples/newton_man/目录下,包含多张不同角度的牛顿照片。
生成结果示例
使用上述代码和输入图像,生成的穿着钢铁侠 suit 戴墨镜的牛顿数字形象如下:
(由于无法直接展示生成图像,你可以运行代码自行查看生成结果)
本地Gradio演示
除了使用代码方式,还可以通过本地Gradio演示快速体验PhotoMaker的功能。
运行以下命令启动本地Gradio演示:
python gradio_demo/app.py
你可以在gradio_demo/app.py中自定义此脚本。如果你想在MAC上运行,应遵循MacGPUEnv.md中的说明,然后运行app.py。
高级功能:风格化生成
PhotoMaker不仅可以生成逼真的数字形象,还支持风格化生成。只需更改基础模型并添加LoRA模块以获得更好的风格化效果。
风格化生成示例
风格化生成的示例代码和说明可以参考photomaker_style_demo.ipynb。以下是一些风格化生成的效果示例(图片来源于项目示例):
(由于无法直接展示网络图片,你可以参考项目中的风格化生成示例)
相关资源与应用
PhotoMaker有许多相关的资源和应用,方便用户在不同场景下使用。
Replicate演示
WebUI版本
- stable-diffusion-webui-forge:由@Lvmin Zhang提供
- Fooocus App:Fooocus-inswapper
Windows版本
- bmaltais/PhotoMaker:由@bmaltais提供,便于在Windows上部署。
- sdbds/PhotoMaker-for-windows:由@sdbds提供。
ComfyUI
- 官方实现:https://github.com/comfyanonymous/ComfyUI/commit/d1533d9c0f1dde192f738ef1b745b15f49f41e02
- ZHO-ZHO-ZHO/ComfyUI-PhotoMaker
- StartHua/Comfyui-Mine-PhotoMaker
- shiimizu/ComfyUI-PhotoMaker
总结与展望
PhotoMaker为元宇宙环境中的个性化数字形象创建提供了强大的工具支持。通过本文的介绍,你已经了解了PhotoMaker的基本功能、安装方法、使用步骤以及相关资源。希望你能够充分利用PhotoMaker,在元宇宙中打造属于自己的独特数字形象。未来,随着技术的不断发展,PhotoMaker还将支持更多的功能和应用场景,为用户带来更好的体验。
如果你觉得本文对你有帮助,请点赞、收藏并关注,以便获取更多关于PhotoMaker的使用技巧和最新动态。下期我们将介绍PhotoMaker在虚拟社交场景中的具体应用案例,敬请期待!
【免费下载链接】PhotoMaker 项目地址: https://gitcode.com/gh_mirrors/ph/PhotoMaker
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考







