小红书新ID保持项目StoryMaker,面部特征、服装、发型和身体特征都能保持一致!(已开源)
继之前和大家介绍的小红书在ID保持以及风格转换方面相关的优秀工作,感兴趣的小伙伴可以点击以下链接阅读~
近期,小红书又新开源了一款文生图身份保持项目:StoryMaker,是一种个性化解决方案,它不仅保留了面部的一致性,还保留了多个角色场景中的服装、发型和身体的一致性,从而有可能制作由一系列图像组成的故事。

StoryMaker通过其强大的特性,彻底改变了多角色叙事创作的方式。它不仅能帮助创作者快速生成高质量的连续图像,还能确保每个角色的特征始终保持一致,无需反复进行人工调整。
下图是由StoryMaker 生成的图像。前三行讲述了"上班族"一天的生活故事,后两行讲述了一部电影《爱在黎明破晓前》的故事。

相关链接
项目地址:https://github.com/RedAIGC/StoryMaker 论文地址:https://arxiv.org/pdf/2409.12576 模型地址:https://huggingface.co/RED-AIGC/StoryMaker
论文阅读

StoryMaker:在文本到图像生成中实现一致的人物形象
摘要
无需调整的个性化图像生成方法在保持面部一致性(即身份)方面取得了重大成功,即使有多个角色也是如此。然而,在有多个角色的场景中缺乏整体一致性,阻碍了这些方法创建连贯叙事的能力。
本文介绍的StoryMaker是一种个性化解决方案,它不仅保留了面部一致性,还保留了服装、发型和身体一致性,从而通过一系列图像促进故事的创作。StoryMaker 结合了基于面部身份和裁剪角色图像的条件,包括服装、发型和身体。
具体来说,使用位置感知感知器重采样器 (PPR) 将面部身份信息与裁剪角色图像相结合,以获得不同的角色特征。为了防止多个角色和背景混合,使用带分割蒙版的 MSE 损失分别约束不同角色和背景的交叉注意力影响区域。此外训练以姿势为条件的生成网络以促进与姿势的解耦。还采用了 LoRA 来提高保真度和质量。实验证明了该方法的有效性。StoryMaker 支持众多应用程序,并与其他插件兼容
方法

StoryMaker 的模型架构。 面部图像和角色图像分别使用面部编码器和图像编码器进行嵌入,并通过提出的位置感知感知器重采样器模块进行细化。使用与 LoRA 解耦的交叉注意力将这些嵌入注入扩散模型。在底部用分割掩码说明了交叉注意力图上的注意力损失。右侧还描绘了 PPR 模块的核心。
给定一张包含一两个角色的参考图像,StoryMaker 会尝试生成一系列具有相同角色的新图像,这些新图像不仅保留相同的面孔(即身份),还保留他们的衣着、发型和身体。然后,可以根据文本提示通过改变背景、角色的姿势和风格来创建叙事。
具体来说,首先使用面部编码器提取角色的面部信息(即身份),并通过角色图像编码器提取其衣着、发型和身体的细节。然后使用所提出的位置感知感知器重采样器来细化这些信息。
-
为了控制主干生成网络,将细化的信息注入 IP-Adapter 提出的解耦交叉注意模块。
-
为了防止多个角色和背景交错,分别限制了不同角色和背景的交叉注意的影响区域。此外,还使用了 ID 损失来维护角色的身份。
-
为了将姿势信息与参考图像分离,以 ControlNet检测到的姿势为条件训练网络。
-
为了提高保真度和质量,还使用 LoRA 训练 U-Net。
训练完成后,可以丢弃整个 ControlNet 并通过文本提示控制角色的姿势,或者在推理过程中使用新姿势指导图像生成。
实验
两幅肖像合成

双字符图像生成的可视化。前两列显示两个不同的参考字符图像。中间的四列说明了StoryMaker实现现实合成的能力。最后四列展示了风格化合成的结果,其中字符嵌入被设置为零。
多样性应用

StoryMaker的各种应用。


单个字符条件生成的视觉对比。
结论
本文给大家介绍了 StoryMaker,这是一种新颖的个性化图像生成方法,它不仅在面部身份方面保持了一致性,而且在多个角色场景中的服装、发型和身体方面也保持了一致性。
该方法通过文本提示允许背景、姿势和风格变化,从而增强了叙事创作,实现了多样化和连贯的故事讲述。StoryMaker 利用位置感知感知器重采样器,通过融合从面部图像和裁剪的角色图像中提取的特征来获得不同的角色嵌入。为了防止多个角色和背景混合,使用 MSE 损失和分割蒙版分别限制不同角色和背景的交叉注意力影响区域。通过结合 ControlNet 的姿势解耦和 LoRA 的保真度增强,StoryMaker 可以持续生成具有匹配身份和视觉一致性的高质量图像。广泛的实验证明了 StoryMaker 在保持角色身份和一致性方面的卓越性能,尤其是在多角色场景中,优于现有的无调整模型。
该模型的多功能性通过各种应用得到进一步凸显,例如换装、角色插值以及与其他生成插件的集成。StoryMaker 为个性化图像生成做出了巨大贡献,并为数字故事讲述、漫画和其他领域的广泛应用开辟了可能性,在这些领域中,个性和叙事连贯性至关重要。
相关文章:
小红书新ID保持项目StoryMaker,面部特征、服装、发型和身体特征都能保持一致!(已开源)
继之前和大家介绍的小红书在ID保持以及风格转换方面相关的优秀工作,感兴趣的小伙伴可以点击以下链接阅读~ 近期,小红书又新开源了一款文生图身份保持项目:StoryMaker,是一种个性化解决方案,它不仅保留了面部的一致性&…...
Docker 环境下 GPU 监控实战:使用 Prometheus 实现 DCGM Exporter 部署与 GPU 性能监控
Docker 环境下 GPU 监控实战:使用 Prometheus 实现 DCGM Exporter 部署与 GPU 性能监控 文章目录 Docker 环境下 GPU 监控实战:使用 Prometheus 实现 DCGM Exporter 部署与 GPU 性能监控一 查看当前 GPU 信息二 dcgm-exporter 部署1)Docker r…...
联想小新打印机M7328w如何解决卡纸,卡了一个小角在里面,然后再次打印的时候,直接卡住,不能动了。灯显示红色。
1、今天打印一张纸,应该是不小心放歪了,打出来的也是有些斜,然后打出来缺少了个角。 图中的小纸就是从打印机的左边的角,用镊子取出来的,手不太好拿,所以拿个工具比较合适。 2、那么碰到这种卡纸应该如何处…...
软件可靠性之MTTR、MTBF、MTTF、MTTD区别
一.概念解释 1.MTBF(Mean Time Between Failures):指两次故障之间的平均时间,通常用于衡量设备或系统的可靠性。 2.MTTF(Mean Time to Failure):指设备或系统的平均无故障运行时间。 3.MTTR&am…...
Qt-QDockWidget浮动窗口相关操作(49)
目录 描述 使用 描述 在 Qt 中,浮动窗⼝也称之为铆接部件。浮动窗⼝是通过 QDockWidget类 来实现浮动的功能。浮动窗口⼀般是位于核心部件的周围,可以有多个。 使用 创建我们可以参考下面的语法格式 使用起来也很简单,不过只能创建一个 Q…...
图形用户界面-GUI的基本概念和组件之一
前言 GUI(Graphical User Interface,图形用户界面,简称图形界面)编程实际是引用java.awt或javax.swing类包中的窗口类、控制组件类、布局类、事件类等,通过将控制组件类,如菜单、按钮、文本框等,…...
【MATLAB代码】基于RSSI原理的蓝牙定位程序(N个锚点、三维空间),源代码可直接复制
文章目录 介绍主要功能技术细节适用场景程序结构运行截图源代码详细教程:基于RSSI的蓝牙定位程序1. 准备工作2. 代码结构2.1 清理工作环境2.2 定义参数2.3 生成锚点坐标2.4 定义信号强度与距离的关系2.5 模拟未知点的位置2.6 定位函数2.7 绘图2.8 输出结果2.9 定义定位函数3. …...
Pyenv 介绍和安装指南 - Ubuntu 24
原文: https://www.qiulin-dev.top/articles/81aab753-0d0e-470c-b08f-2643c876841b 1. Pyenv 介绍 Pyenv 是一个非常流行的 Python 版本管理工具,它可以让你在同一台机器上安装并管理多个不同的 Python 版本,解决了不同项目需要不同 Python…...
zookeeper实现RMI服务,高可用,HA
这可不是目录 1.RMI原理与说明1.1含义1.2流程1.3rmi的简单实现1.4RMI的局限性 2.zookeeper实现RMI服务(高可用、HA)2.1实现原理2.2高可用分析2.3zookeeper实现2.3.1代码分析2.3.2公共部分2.3.3服务端2.3.4客户端2.3.5运行与部署2.3.6效果展示与说明 1.RM…...
通过Express + Vue3从零构建一个用户认证与授权系统(一)项目结构设计
项目背景 本文基于 TypeScript Express Vue3 ,从零构建一个用户认证与授权管理系统。这个系统的核心部分包括前端、后端和数据库。我们需要确保各部分合理分层、易于维护和扩展,让我们一步步去实现我们的系统。 一、项目结构设计 1. 前端 (Vue 3 E…...
JavaScript 第13章:Ajax 与异步请求
在Web开发中,异步请求是一种非常重要的技术,它可以让网页在不重新加载的情况下与服务器交互。本章将介绍两种常用的异步请求技术:XMLHttpRequest 和 Fetch API,以及它们如何用于处理JSON数据交换,并通过一个实战案例—…...
速卖通商品详情接口技术解析及Python代码示例
速卖通商品详情接口技术解析及Python代码示例 速卖通(AliExpress)作为全球知名的跨境电商平台,其开放平台提供了丰富的API接口,允许开发者集成速卖通的各项功能,实现商品搜索、详情查询、订单管理等一系列操作。本文将…...
邻接表的有向网(C语言代码)
#include <stdio.h> #include <stdlib.h> #define MVNum 100 //最大顶点数 //边表结构体 typedef struct ArcNode { //表结点 int adjvex; //邻接点的位置 struct ArcNode* nextarc; //指向下一个…...
大模型生成PPT大纲优化方案:基于 nVidia NIM 平台的递归结构化生成
大模型生成PPT大纲优化方案:基于 nVidia NIM 平台的递归结构化生成 待解决的问题 生成PPT大纲是一种大模型在办公场景下应用的常见需求。 然而: 目前直接让大模型生成大纲往往是非结构化的,输出格式多样,难以统一和规范&#…...
MRSO算法(JCR2区)
原论文摘要:智能技术的快速发展促使利用自然行为来解决复杂问题的优化算法得以发展。其中,鼠群优化算法(Rat Swarm Optimizer,RSO)受老鼠的社会和行为特征启发,在各个领域已展现出潜力,但其收敛…...
最新Spring Boot3框架入门教程,基础知识讲解(参考官方文档),同时基于MybatisPlus+MYSQL搭建后台管理系统基础流程(附源码)
本文所涉及的代码以及相关文件均上传至仓库:GitHub - yang66-hash/XDPropertyManagementSystemDemo: This is a demo template based on SpringBoot3 in the background of property management system. Spring Boot 是由 Pivotal 团队开发的一款开源框架,它可以帮助…...
导数的概念及在模型算法中的应用
一. 导数概念与计算 1. 导数的物理意义: 瞬时速率。一般的,函数yf(x)在x处的瞬时变化率是 2. 导数的几何意义: 曲线的切线,当点趋近于P时,直线 PT 与曲线相切。容易知道,割线的斜率是当点趋近于 P 时&…...
获取首日涨停封盘后第二次交易日上涨/下跌的概率
有许多投资者喜欢在股票涨停封盘后,跟进买入。普通股民会认为一个能在今日涨停封盘的股票,证明其上市公司正有十分重大的利好信息,只需要跟进购买便可以获取短期利益。 我们用数据来看一下在当日涨停封盘后,第二次交易日是上涨还…...
shell $ 用法
Shell脚本中$符号的几种用法小结_linux shell_脚本之家 Shell 传递参数 | 菜鸟教程 $ 符号说明$0Shell 的命令本身1到9表示 Shell 的第几个参数$?显示最后命令的执行情况$#传递到脚本的参数个数$$脚本运行的当前进程 ID 号$*以一个单字符串显示所有向脚本传递的参数$!后台运行…...
如何用支付宝实现靠脸吃饭
还记得上学时,每当下课铃声响起,我们就会像一群脱缰的野马一样,浩浩荡荡地冲向食堂。最令人崩溃的时刻莫过于终于到达打饭窗口前排时,却发现饭卡忘带了!但现在,这种情况将不再发生。许多学校食堂已经配备了…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...
c++第七天 继承与派生2
这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分:派生类构造函数与析构函数 当创建一个派生类对象时,基类成员是如何初始化的? 1.当派生类对象创建的时候,基类成员的初始化顺序 …...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...
