首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

腾讯PhotoMaker,小红书InstantID多风格图像生成,给AI一张照片,生成全套写真

“?最近AI生成虚拟人像技术飞速发展,今天分享可以仅通过一张照片就可以通过AI算法提取面部特征,生成带有该人脸部特征的新图像,将人物形象无缝嵌入各种虚拟场景中,输出逼真的图像,并生成多种风格的图像,无需繁琐的模型训练。除了各种商业应用场景外,也可以让你实现写真自由。”

Photomaker

腾讯ARC团队开发了一款名为"Photomaker"的技术,与以往不同的是,它只需一张照片即可实现面部特征的迁移。支持文本转图像功能,人物特征混合以及改变人物的年龄和图像风格,而无需进行复杂的模型训练。

用户只需将头像导入Photomaker,即可生成多种风格的图像。Photomaker还支持图像融合功能,可以合成真实照片和动漫图像,生成效果非常出色。

与先前的技术相比,Photomaker在简化部署流程方面表现得更为出色。相较于IP Adapter和face ID,它不仅省去了繁琐的数据收集和模型训练,而且在面部相似度上也有所提升。这使得我们能够更轻松地创建具有高度真实感的虚拟场景。

不同方法的普通语境比较

可以观察到,PhotoMaker 可以很好地满足生成高质量图像的能力,同时确保 ID 的高保真度。

应用在(a)艺术品和老照片,以及(b)更改年龄或性别

还能进行其他风格的生成,如草图、漫画、动画等。

不同人物身份也能进行混合,创造出一个全新的人物形象。赫本和爱莎公主的组合版兼顾了两者的特点:

Windows系统上部署Photomaker

环境准备

首先,您需要准备好conda环境以创建Python虚拟环境。conda是Python的包管理和环境管理工具,可以方便创建隔离的Python运行环境。

然后确保您的Visual Studio Code版本在1.8以上,Python扩展库torch、torchvision、torchaudio的版本符合Photomaker的需求。

安装依赖和下载模型权重

克隆Photomaker的Windows版本代码,进入项目目录,执行pip installrequirements-windows.txt安装依赖。

from huggingface_hub import hf_hub_downloadphotomaker_path = hf_hub_download(repo_id="TencentARC/PhotoMaker", filename="photomaker-v1.bin", repo_type="model")

其次构建Pipe

import torchimport osfrom diffusers.utils import load_imagefrom diffusers import EulerDiscreteSchedulerfrom photomaker.pipeline import PhotoMakerStableDiffusionXLPipeline

### Load base modelpipe = 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 checkpointpipe.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 imagesinput_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))

最后运行生成

# Note that the trigger word `img` must follow the class word for personalizationprompt = "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?运行摄影师

在命令行中进入app.py所在目录,执行python app.py启动服务。在浏览器中访问打印的本地URL,即可打开Photomaker的人像生成网页界面,体验人像生成的魅力。

不想麻烦的也可以在文末获取在线DEMO,直接打开网址即可运行。

Instant ID

这是国内InstantX 团队和小红书公司及北京大学团队开发的,推出了名叫Instant ID工具,这是一款零样本图像生成工具。基于扩散模型的创建,Instant ID只需一张参考图即可生成多种风格的高保真图像。

相较于传统的dream Booth和Lora,Instant ID的图像生成效率显著提升。它还支持人物面部融合,通过调整ID强度值,用户可以精确控制对参考图的还原度。

用户可以只需通过输入简单的提示词,选择风格,即可生成出令人惊艳的高质量图像。

目前,Instant ID已经开源,同样也提供本地部署并可整合到stable diffusion作为插件使用。

不想麻烦的也可以在文末获取在线DEMO,直接打开网址即可运行。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OP0mKUTFKP36aYhXg5Sd032g0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com