小红书新ID保持项目StoryMaker,面部特征、服装、发型和身体特征都能保持一致!(已开源)

news2025/1/12 20:51:44

继之前和大家介绍的小红书在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 为个性化图像生成做出了巨大贡献,并为数字故事讲述、漫画和其他领域的广泛应用开辟了可能性,在这些领域中,个性和叙事连贯性至关重要。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2215312.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文搞懂H100/H200,B100/B200,B200/GB200,HGX/DGX的区别和参数

前言,最近英伟达GPU热点一直很高,尤其是对H200,B200的讨论,当然也包括GB200,DGX及HGX等,我简单汇总了以下几个问题,我们今天展开聊聊! 1、你清楚H200比H100升级了什么吗?…

Google DeepMind提出RAG推理 scaling laws下的思考

推理计算的扩展释放了长文本大语言模型(LLM)在各种环境中的潜力。对于知识密集型任务,增加的计算量通常被分配用于纳入更多外部知识。然而,如果不能有效利用这些知识,仅仅扩展上下文并不总能提高性能。 Google DeepMi…

【SRE系列--DNS跨域转发】

1.DNS原理 1.1 简介 DNS(Domain Name Service的缩写)的作用就是根据域名查出IP地址。IP地址是由32位二进制数字组成,人们很难记住这些IP,相反,大家愿意使用比较容易记忆的主机名字。而电脑在处理IP数据报文时,是使用IP地址的&am…

5种边界填充

目录 原图代码边界填充需要知道的两个东西什么算边界边界的范围是多少 复制填充 咋们废话不多说,直接上代码 原图 代码 import cv2def img_show(name, img):cv2.imshow(name, img)cv2.waitKey(0)cv2.destroyAllWindows()img cv2.imread(enhanced_color_rgb.jpg)pr…

libzip 编译和使用

本文参考libzip开发笔记(一):libzip库介绍、编译和工程模板 libzip解压缩方法分析 libzip依赖zlib,所以编译libzip之前需要先编译zlib。 假设已经编译好zlib CMake打开Zlib 指定ZIB_INCLUDE_DIR目录需包含zlib.h和zconf.h(在zl…

Redis学习笔记:整数集合

概述 整数集合(intset)是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现。它可以保存类型为int16_t、int32_t或者int64_t的整数值&#…

经典文献阅读之--RGBD GS-ICP SLAM(结合ICP和3D GS构建最快的稠密SLAM)

0. 简介 同时定位与地图构建(SLAM)的密集表示在机器人技术、虚拟现实(VR)和增强现实(AR)应用中扮演了关键角色。在密集表示SLAM的最新进展中,利用神经场景表示和3D高斯表示以实现高保真的空间表…

Redis拒绝连接问题分析与解决方案

目录 前言1. 问题描述2. Redis拒绝连接的常见原因分析2.1 Redis服务未启动2.2 Redis配置中的绑定地址问题2.3 防火墙或安全组问题2.4 Redis连接池耗尽2.5 Redis服务器负载过高2.6 权限配置问题 3. 深度解决方案和优化建议4. 总结 前言 在分布式系统中,Redis作为高性…

【WRF工具】QGis插件GIS4WRF:根据嵌套网格生成namelist.wps文件

【WRF工具】QGis插件GIS4WRF:根据嵌套网格生成namelist.wps文件 准备:WRF嵌套网格QGis根据嵌套网格生成namelist.wps文件检查:根据namelist.wps绘制模拟区域参考GIS4WRF 是一个免费且开源的 QGIS 插件,旨在帮助研究人员和从业者进行高级研究天气研究与预报(WRF)模型的建模…

Java面试题———SpringBoot篇

目录 1、项目中为什么选择SpringBoot 2、SpringBoot的自动装配原理 3、SpringBoot的核心注解是哪个 4、SpringBoot中的starter是干什么的 5、SpringBoot可以有哪些方式加载配置 6、bootstrap.yml和application.yml有何区别 7、SpringBoot读取配置的方式有几种 8、Spring…

基于Springboot+Vue的出租车服务管理系统(含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 包括管…

mysql查看和修改默认配置

1.查看最大连接数 SELECT max_connections; 或者 SHOW VARIABLES LIKE max_connections;2.查看当前连接的客户端 SHOW PROCESSLIST;2.临时设置最大连接数 SET GLOBAL max_connections 500;3.临时设置连接客户端交互超时时间 SET GLOBAL interactive_timeout 1800;4.永久生…

英国放弃了一个领地 却连累.io域名也要消失了

或许,哥几个听说过. io 这个域名吗?常年鼓捣技术的差友应该更清楚,.io 这个域名在圈子里的受欢迎程度。因为 io ,或者说 I/O ,在计算机领域是 Input/Output ( 输入 / 输出 )的缩写,而…

面试题:Redis(五)

1. 面试题 面试问 记录对集合中的数据进行统计 在移动应用中,需要统计每天的新增用户数和第2天的留存用户数; 在电商网站的商品评论中,需要统计评论列表中的最新评论; 在签到打卡中,需要统计一个月内连续打卡的用户数&…

Java实现八种排序

目录 分类 直接插入排序 希尔排序 选择排序 堆排序 冒泡排序 快速排序 挖坑法 hoare法 双指针法 优化 非递归实现 归并排序 非递归实现 计数排序 分类 这里的排序可以分为两大类, 基于比较的排序非基于比较的排序 其中有七种基于比较的排序&…

.NET 一款读取Excel文件敏感数据的工具

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…

【机器学习】智能聊天机器人——基于自然语言处理的智能对话系统

1. 什么是自动化客户服务与智能聊天机器人? 自动化客户服务是一种通过技术手段自动处理客户问题的服务方式,能够在无需人工干预的情况下为客户提供即时、准确的帮助。这种服务通常依托智能系统,通过预设的响应机制或学习历史数据&#xff0c…

数电(编码器、数据分配器、数据选择器)

目录 一、编码器: 1.二进制编码器: 三、优先编码器(Priority Encoder) 1.二-十进制优先编码器 二、数据分配器和数据选择器(功能正好相反) 1.数据分配器 2.数据选择器 一、编码器: 1.二进制编码器: …

【Linux系统编程】第三十二弹---动态库实战指南:从零构建与高效集成的奥秘

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、动态库 1.1、怎么做动态库 1.2、怎么使用动态库 2、外部库使用 1、动态库 1.1、怎么做动态库 方式一 1、将.c文件编…

创客项目秀|基于XIAO ESP32C3的Night Lamp With Chinese Traditional Pane项目

Fab Academy,源自麻省理工学院的先进教育项目,致力于培养具有全球视野的创新者和制造者。通过密集学习和实践,学生们掌握了从基础到高级的制造技术,学习了如何将创意转化为现实。今天小编给大家带来的是Fab academy学员Dion Tsang…