计图开源:一致角色生成框架Photomaker和StoryDiffusion

2024/08/14 Tutorial

计图开源:一致角色生成框架Photomaker和StoryDiffusion

NK-JittorCV最新开源了NK-Diffusion仓库,用于支持计图框架(Jittor[3])AIGC领域的应用。目前,南开大学媒体计算实验室被图灵奖得主Yann Lecun教授点赞的一致角色生成最新工作PhotoMaker[1]StoryDiffusion[2]现已基于计图框架在GitHub开源,进一步丰富了计图框架在AIGC领域的生态,GitHub仓库链接:

https://github.com/Nankai-JittorCV/nk-diffusion

本文将对这两个工作相关内容进行简要介绍。

Part1

问题和背景

一致角色生成基于扩散模型(Diffusion Model)生成具有一致性和连贯性的角色图像和视频,对生成式模型的发展具有重要意义。如图1所示,给定几张输入的身份识别(ID)图像,PhotoMaker能够基于文本提示在一次前向传递中生成多样化的个性化ID图像。

图1 一致角色生成示例

角色的一致性根据不同的任务需求而体现于保证生成的角色在人脸、衣着和姿态等方面的一致性。该技术预期可用于影视动画、游戏开发等领域,为创作者提供高质量和高可控性的角色图像生成方案。通过Prompt和LORA的控制,模型还可以生成不同风格和种类的角色,具有高度的可定制性和灵活性。

Part2

PhotoMaker

Photomaker[1]提出了一个新型个性化文本到图像生成方法,它能够生成逼真的人类照片。PhotoMaker首先从文本编码器和图像编码器分别获取文本特征和图像特征,然后通过合并相应的类别特征和图像特征,提取融合特征。沿长度维度拼接所有融合特征,形成堆叠的ID特征。最后,将堆叠的ID送入所有交叉注意力层,以自适应地在扩散模型中融合ID内容。其结构如图2所示。

图 2  (a)PhotoMaker方法的结构,  (b)面向ID的数据构建流水线

PhotoMaker的核心是“堆叠ID特征”技术,将多个输入ID图像编码为一个统一的ID表示,不仅能够全面地封装同一输入ID的特征,还能够适应不同ID的特征以供后续整合。PhotoMaker的特点包括:
  1. 高效率:与需要大量微调步骤的其他方法相比,PhotoMaker可以在接收到四个ID图像后在大约10秒内生成一张定制化的人像照片,速度提升显著。

  2. 高质量与多样性:PhotoMaker生成的图像质量高,且在保持ID信息的同时,能够展现出丰富的场景和控制能力。

  3. 强大的控制性:PhotoMaker可以改变输入人物图像的属性(如配饰和表情),生成与输入ID完全不同视角的人类照片,甚至修改输入ID的性别和年龄。

为了支持PhotoMaker的训练,PhotoMaker还提出了一个面向ID的数据构建管道,以构建按ID分类的训练数据集。PhotoMaker在实验中展现了比其他方法更好的ID保持能力,同时提供了显著的速度提升、高质量的生成结果、强大的泛化能力以及广泛的应用范围。

目前,PhotoMaker已经开源Jittor版本代码并经过完整测试,效果和Pytorch版本一致。NK-Diffusion仓库中“example/photomaker”路径下提供了包括配置环境、代码运行等非常详细的教程,展示了如何在Jittor框架下运行PhotoMaker。

Part3

StoryDiffusion

StoryDiffusion[2]旨在进一步解决基于扩散的生成模型在生成一系列图像时保持内容一致性的挑战。作者提出了一种新的自注意力计算方法,称为“Consistent Self-Attention”,显著提高了生成图像之间的一致性,并且可以以零样本方式增强现有的预训练扩散基础文本到图像的模型。StoryDiffusion能够根据文本描述生成包含丰富内容的一致图像或视频,并从架构角度为未来研究提供更多探索视觉故事生成方法的灵感。如图3给出了生成的效果,其中(a)漫画讲述了一名男子在丛林探险时发现宝藏的故事,(b)漫画描述了Lecun探索月球的故事。

图3  StoryDiffusion生成的漫画效果展示

目前,StoryDiffusion已经开源Jittor版本代码,代码已经经过完整测试,实际效果和Pytorch 版本一致。NK-Diffusion 仓库中“example/storydiffusion”路径下提供了非常详细的教程,展示了如何在Jittor框架下运行StoryDiffusion。

NK-JittorCV是由南开大学媒体计算实验室主导并维护的Jittor代码仓库,聚焦计算机视觉领域,围绕国产的Jittor框架为优秀的计算机视觉项目提供支持,服务Jittor社区,丰富生态内容。欢迎各位计算机视觉领域的Jittor使用者关注Github仓库“NK-JittorCV”,共同开发基于Jittor的开源视觉项目。

参考资料
  1. Li, Z., Cao, M., Wang, X., Qi, Z., Cheng, M. M., & Shan, Y., Photomaker: Customizing realistic human photos via stacked id embedding, CVPR, 2024, 8640-8650.

  2. Zhou, Y., Zhou, D., Cheng, M. M., Feng, J., & Hou, Q. StoryDiffusion: Consistent Self-Attention for Long-Range Image and Video Generation. arXiv preprint arXiv:2405.01434, 2024.

  3. Shi-Min Hu, Dun Liang, Guo-Ye Yang, Guo-Wei Yang, and Wen-Yang Zhou, Jittor: a novel deep learning framework with meta-operators and unified graph execution, Science China Information Science, 2020, 63(12), 222103.

GGC往期回顾

1. 计图开源:利用扩散模型与NeRF从单张图像生成高保真三维物体:Make-It-3D-Jittor

2. 诚邀投稿,CVM2025@香港期待您的参与!

3. 三维高斯泼溅进展综述 | CVMJ Spotlight

4. CVMJ获最新期刊影响因子17.3,计算机学科软件工程类别排名第一

5计图助力非十科技发布AI代码助手,代码大模型速度精度超越Copilot

可通过下方二维码,关注清华大学图形学实验室,了解图形学、Jittor框架、CVMJ期刊和CVM会议的相关资讯。

Search

    Table of Contents