HunyuanCustom:文生视频框架论文速读

《HunyuanCustom: A Multimodal-Driven Architecture for Customized Video Generation》论文讲解

一、引言

本文提出了 HunyuanCustom,这是一个基于多模态驱动的定制化视频生成框架。该框架旨在解决现有视频生成模型在身份一致性(identity consistency)和输入模态多样性方面的不足。HunyuanCustom 支持图像、音频、视频和文本等多种条件输入,能够生成具有特定主题身份的视频,广泛应用于虚拟人广告、虚拟试穿、唱歌头像和视频编辑等领域。

二、相关工作

(一)视频生成模型

近年来,扩散模型推动了视频生成技术的发展,从静态图像合成进化到动态时空建模。现有方法主要集中在文本引导的视频生成或基于单一参考图像的视频生成,但在生成内容的精细控制和概念驱动编辑方面仍存在不足。

(二)视频定制化

1. 实例特定视频定制化

这种方法通过使用与目标身份相同的多张图像对预训练的视频生成模型进行微调,每种身份单独训练。例如,Textual Inversion 和 DreamBooth 将图像身份信息嵌入文本空间,实现与文本的有效交互。然而,这些方法依赖于实例特定优化,难以实现实时或大规模视频定制化。

2. 端到端视频定制化

这种方法通过训练额外的条件网络将目标图像的身份信息注入视频生成模型,使模型在推理阶段能够泛化到任意身份图像输入。一些工作专注于保持面部身份,如 ID-Animator 和 ConsisID 等。但现有方法在处理多个主题身份的维护和交互时仍有较大提升空间。

三、方法

(一)概述

HunyuanCustom 以 Hunyuan Video 生成框架为基础,通过引入基于 LLaVA 的文本 - 图像融合模块和图像 ID 增强模块,实现对文本和图像的交互理解,增强模型对身份信息的把握。此外,为支持音频和视频条件注入,分别设计了音频和视频的特定注入机制。

(二)多模态任务

HunyuanCustom 支持以下四类任务:

  1. 文本驱动视频生成:基于 HunyuanVideo 的文本 - 视频生成能力,根据文本提示生成对应视频。

  2. 图像驱动视频定制:以输入图像提取身份信息,结合文本描述生成对应视频,支持人类和非人类身份以及多身份输入。

  3. 音频驱动视频定制:在图像驱动定制基础上融入音频,在文本描述场景中使主题与音频同步行动。

  4. 视频驱动视频定制:实现基于身份定制的对象替换或插入,可将目标身份插入背景视频。

(三)多模态数据构建

数据来源广泛,涵盖人类、动物、植物等八大类别。数据处理包括过滤和预处理、主体提取、视频分辨率标准化、视频标注和掩码数据增强等步骤,确保数据质量以提升模型性能。

1. 数据过滤和预处理

利用 PySceneDetect 分割视频为单镜头剪辑,使用 textbpn-plusplus 过滤含过多文本的剪辑,对视频进行裁剪和对齐,并通过 koala-36M 模型进一步优化。

2. 主体提取
  • 单主体提取:使用 Qwen7B 模型标记帧中所有主体并提取 ID,用 Union-Find 算法计算 ID 出现频率,选择最高频 ID 作为目标主体。利用 YOLO11X 和 InsightFace 分别进行人体分割和面部检测。

  • 非人类主体提取:使用 QwenVL 提取视频主体关键词,并通过 GroundingSAM2 生成掩码和边界框。

  • 多主体提取:使用 QwenVL 和 Florence2 提取边界框,再通过 GroundingSAM2 进行主体提取,并进行聚类以去除不包含所有主体的帧。

(四)图像驱动视频定制

  1. 基于 LLaVA 的文本 - 图像交互:通过设计图像嵌入模板和图像追加模板,利用 LLaVA 的多模态交互理解能力,实现文本和图像的有效融合。

  2. 身份增强:通过时间轴拼接图像特征,并利用视频模型在时间维度上的高效信息传递能力,增强视频身份一致性。

  3. 多主体定制化:在单主体定制模型基础上进行微调,为每个条件图像分配不同的时间索引,以区分不同身份图像。

(五)多模态主体中心视频生成

1. 音频驱动视频定制

提出身份解耦音频网(Identity-disentangled AudioNet),提取音频特征并通过空间交叉注意力机制将其注入视频特征,实现层次化音频 - 视频对齐。

2. 视频驱动视频定制

采用高效的视频条件注入策略,先通过预训练的因果 3D-VAE 对条件视频进行编码和压缩,再通过特征对齐将其与视频潜在表示融合,最后直接将对齐后的特征添加到视频潜在表示中。

四、实验

(一)实验设置

使用以下指标评估视频定制性能:

  • 身份一致性:使用 Arcface 检测并提取参考人脸和生成视频各帧的嵌入,计算平均余弦相似度。

  • 主体相似性:使用 YOLOv11 检测并分割人类,再计算参考与结果的 DINO-v2 特征相似度。

  • 文本 - 视频对齐:使用 CLIP-B 评估文本提示与生成视频的对齐程度。

  • 时间一致性:使用 CLIPB 模型计算各帧与其相邻帧及第一帧的相似度。

  • 动态程度:根据 VBench 测量物体的运动程度。

(二)单主体视频定制化比较

1. 基线方法

将 HunyuanCustom 与包括商业产品(Vidu 2.0、Keling 1.6、Pika 和 Hailuo)和开源方法(Skyreels-A2 和 VACE)在内的多种先进视频定制方法进行比较。

2. 定性比较

HunyuanCustom 在保持身份一致性的同时,具有更好的视频质量和多样性。

3. 定量比较

HunyuanCustom 在身份一致性和主体相似性方面表现最佳,与其他指标表现相当。

(三)多主体视频定制化实验和应用

1. 定性比较

HunyuanCustom 有效捕捉人类和非人类主体身份,生成符合提示的视频,且视觉质量高、稳定性好。

2. 虚拟人广告

HunyuanCustom 能够生成具有良好互动性的广告视频,保持人物身份和产品细节,使视频符合提示。

(四)音频驱动视频定制化实验

1. 音频驱动单主体定制化

HunyuanCustom 实现了在文本描述的场景和姿势中,使角色说出相应音频,生成多样化的视频。

2. 音频驱动虚拟试穿

结合文本提示和音频,生成具有指定服装的人物视频,同时保持身份一致性。

(五)视频驱动视频定制化实验

在视频主体替换任务中,与 VACE 和 Keling 相比,HunyuanCustom 有效避免边界伪影,实现与视频背景的无缝融合,并保持强烈的身份保护。

(六)消融研究

比较完整模型与三种消融模型(无 LLaVA、无身份增强、通过通道级拼接进行身份增强)的性能,结果表明 LLaVA 不仅传递提示信息,还提取关键身份特征;身份增强模块在细化身份细节方面有效;时间拼接有助于通过强大的时间建模先验有效捕捉目标信息,并最大限度地减少对生成质量的影响。

五、结论

HunyuanCustom 是一种新颖的多模态定制视频生成模型,能够实现主体一致的视频生成,并支持图像、音频和视频与文本驱动条件的结合。通过整合文本 - 图像融合模块、图像 ID 增强模块和高效的音频及视频特征注入过程,确保生成的视频符合用户特定要求,达到高保真度和灵活性。大量实验证明,HunyuanCustom 在各项任务中均优于现有方法,在身份一致性、真实性和视频 - 文本对齐方面表现出色,是可控视频定制领域的领先解决方案,为未来可控视频生成研究铺平了道路,并拓展了人工智能生成内容(AIGC)在创意产业及其他领域的潜在应用。

六、核心技术汇总表格

在这里插入图片描述

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

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

相关文章

tryhackme——Enumerating Active Directory

文章目录 一、凭据注入1.1 RUNAS1.2 SYSVOL1.3 IP和主机名 二、通过Microsoft Management Console枚举AD三、通过命令行net命令枚举四、通过powershell枚举 一、凭据注入 1.1 RUNAS 当获得AD凭证<用户名>:<密码>但无法登录域内机器时&#xff0c;runas.exe可帮助…

Web3 学习全流程攻略

目录 🧭 Web3 学习全流程攻略 🌱 第一阶段:打好基础(Web3 入门) 🧠 目标: 📚 学习内容: ✅ 推荐资源: 🧑‍💻 第二阶段:技术栈搭建(成为 Web3 开发者) 🧠 目标: 📚 学习内容: ✅ 推荐资源: 🌐 第三阶段:构建完整 DApp(去中心化应用)…

Python程序打包为EXE文件的全面指南

Python程序打包为EXE文件的全面指南 Python程序打包为EXE文件是解决程序分发和环境依赖问题的有效方法。通过将Python脚本及其所有依赖项整合为单一可执行文件&#xff0c;用户无需安装Python解释器即可直接运行程序&#xff0c;极大提升了应用的便携性和用户体验。本文将深入…

22、城堡防御工事——React 19 错误边界与监控

一、魔法护盾&#xff1a;错误边界机制 1. 城墙结界&#xff08;Error Boundary&#xff09; // 客户端错误边界use client function useErrorBoundary() {const [error, setError] useState(null);​const handleError useCallback((error, errorInfo) > {setError(erro…

深入理解 Istio 的工作原理 v1.26.0

解读最新版本的 Istio 源码确实是一项庞大的工程&#xff0c;但我可以为你梳理出一个清晰的脉络&#xff0c;并指出关键模块和代码路径&#xff0c;帮助你深入理解 Istio 的工作原理。 我们主要关注 Istio 的核心组件 Istiod 和数据平面的 Envoy Proxy。 前提&#xff1a; Go…

Flask 调试的时候进入main函数两次

在 Flask 开启 Debug 模式时&#xff0c;程序会因为自动重载&#xff08;reloader&#xff09;的机制而启动两个进程&#xff0c;导致if __name__ __main__底层的程序代码被执行两次。以下说明其原理与常见解法。 Flask Debug 模式下自动重载机制 Flask 使用的底层服务器 Wer…

CSS--图片链接垂直居中展示的方法

原文网址&#xff1a;CSS--图片链接垂直居中展示的方法-CSDN博客 简介 本文介绍CSS图片链接垂直居中展示的方法。 图片链接 问题复现 源码 <html xml:lang"cn" lang"cn"><head><meta http-equiv"Content-Type" content&quo…

雷赛伺服L7-EC

1电子齿轮比&#xff1a; 0x608F-01 只读&#xff0c;编码器圈脉冲【0x20000】【131072】 //Er1B1齿轮比错误 ----------------------------------- 0x6092-01 圈脉冲 //重新使能生效【pa008必须是0】值越小&#xff0c;转的越多 -----------------------…

在js中大量接口调用并发批量请求处理器

并发批量请求处理器 ✨ 设计目标 该类用于批量异步请求处理&#xff0c;支持&#xff1a; 自定义并发数请求节拍控制&#xff08;延时&#xff09;失败重试机制进度回调通知 &#x1f527; 构造函数参数 new BulkRequestHandler({dataList, // 要处理的数据列表r…

K8S扩缩容及滚动更新和回滚

目录&#xff1a; 1、滚动更新1、定义Deployment配置2、应用更新 2、版本回滚1. 使用kubectl rollout undo命令 3、更新暂停与恢复1、暂停更新2、更新镜像&#xff08;例如&#xff0c;使用kubectl set image命令&#xff09;3、恢复更新 4、弹性扩缩容1、扩容命令2、缩容命令3…

力扣-24.两两交换链表中的结点

题目描述 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 class Solution { public:ListNode* swapPairs(ListNode* head) {i…

对遗传算法思想的理解与实例详解

目录 一、概述 二、实例详解 1&#xff09;问题描述与分析 2&#xff09;初始化种群 3&#xff09;计算种群适应度 4&#xff09;遗传操作 5&#xff09;基因交叉操作 6&#xff09;变异操作 三、计算结果 四、总结 一、概述 遗传算法在求解最优解的问题中最为常用&a…

计算机图形学编程(使用OpenGL和C++)(第2版) 学习笔记 07.光照

1. 光照 1.1. 光源 光源类型特点优点缺点环境光整个场景均匀受光&#xff0c;无方向和位置。模拟全局光照&#xff0c;避免完全黑暗的区域。缺乏方向性和真实感&#xff0c;无法产生阴影。平行光光线方向平行&#xff0c;无位置&#xff0c;仅有方向。计算简单&#xff0c;适…

Python在大数据机器学习模型的多模态融合:深入探索与实践指南

一、多模态融合的全面概述 1.1 多模态融合的核心概念 多模态融合(Multimodal Fusion)是指将来自不同传感器或数据源(如图像、文本、音频、视频、传感器数据等)的信息进行有效整合,以提升机器学习模型的性能和鲁棒性。在大数据环境下,多模态融合面临着独特的挑战和机遇: 数…

【PostgreSQL数据分析实战:从数据清洗到可视化全流程】6.4 时间序列分析(窗口函数处理时间数据)

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 PostgreSQL时间序列分析&#xff1a;窗口函数处理时间数据实战一、时间序列分析核心场景与窗口函数优势1.1 业务场景需求1.2 窗口函数核心优势 二、窗口函数基础&#xff1a…

window 显示驱动开发-配置内存段类型

视频内存管理器&#xff08;VidMm&#xff09;和显示硬件仅支持某些类型的内存段。 因此&#xff0c;内核模式显示微型端口驱动程序&#xff08;KMD&#xff09;只能配置这些类型的段。 KMD 可以配置内存空间段和光圈空间段&#xff0c;其中不同&#xff1a; 内存空间段由保存…

笔记,麦克风的灵敏度

麦克风的“灵敏度&#xff08;Sensitivity&#xff09;”决定了它捕捉声音细节的能力。想象麦克风是一只有耳朵的生物。高灵敏度麦克风像长着“超级顺风耳”的精灵&#xff0c;能听见花瓣飘落的声音、远处树叶的沙沙声&#xff0c;甚至你心跳的微弱震动。适合录音棚里捕捉歌手的…

lvm详细笔记

LVM简介 逻辑卷管理器&#xff0c;是Linux 系统中用于管理磁盘储存的关键技术。 LVM 则打破了磁盘分区一旦确定&#xff0c;其大小调整往往较为复杂&#xff0c;且难以灵活应对业务变化这种限制&#xff0c;它允许用户将多个物理分区组合卷组。例如&#xff0c;系统中的多个物…

rust-candle学习笔记10-使用Embedding

参考&#xff1a;about-pytorch candle-nn提供embedding()初始化Embedding方法: pub fn embedding(in_size: usize, out_size: usize, vb: crate::VarBuilder) -> Result<Embedding> {let embeddings vb.get_with_hints((in_size, out_size),"weight",cr…

Python小酷库系列:Munch,用对象的访问方式访问dict

Munch&#xff0c;用对象的访问方式访问dict 基本使用1、创建一个 Munch 对象2、使用字典初始化3、访问不存在的字段4、嵌套结构支持5、合并操作6、应用场景说明 进阶功能1、嵌套写入&#xff1a;创建不存在的子对象2、序列化&#xff08;转回 dict&#xff09;3、深度拷贝结构…