Hallo2 长视频和高分辨率的音频驱动的肖像图像动画 (数字人技术)
HALLO2: LONG-DURATION AND HIGH-RESOLUTION AUDIO-DRIVEN PORTRAIT IMAGE ANIMATION
论文:https://arxiv.org/abs/2410.07718
代码:https://github.com/fudan-generative-vision/hallo2
模型:https://huggingface.co/fudan-generative-ai/hallo2
前言:24年6月,该团队推出了Hallo: Hierarchical Audio-Driven Visual Synthesis for Portrait Image Animation用于纵向图像动画的分层音频驱动视觉合成,得到了广泛关注,同时京东健康在Hallo基础上用中文数据训练的新的模型JoyHallo,10月16日,Hallo2横空出世,本文主要是介绍Hallo2论文相关内容
Hallo2演示demo
摘要
最近,基于潜在扩散的人像动画生成模型,如Hallo,在短时间视频合成中取得了令人印象深刻的结果。在本文中,作者介绍了Hallo的更新,介绍了几个设计增强以扩展其功能。首先,将该方法扩展到制作长时间的视频。为了解决诸如外观漂移和时间伪影等实质性挑战,研究了条件运动帧图像空间内的增强策略。具体来说,引入了一种增强高斯噪声的贴片掉落技术,以增强长时间的视觉一致性和时间相干性。第二,实现4K分辨率人像视频生成。为了实现这一点,实现了潜在代码的矢量量化,并应用时间对齐技术来保持跨时间维度的一致性。通过集成高质量的解码器,实现了4K分辨率的视觉合成。第三,将纵向表达式的可调语义文本标签作为条件输入。这超越了传统的音频线索,提高了可控性,增加了生成内容的多样性。本文提出的Hallo2是第一个实现4K分辨率并生成长达一小时的音频驱动肖像图像动画的方法,并通过文本提示进行增强。已经进行了大量的实验来评估在公开可用数据集上的方法,包括HDTF、CelebV和引入的“Wild”数据集。实验结果表明,作者的方法在长时间人像视频动画中实现了最先进的性能,成功地生成了长达数十分钟的4K分辨率的丰富可控内容。
技术介绍
肖像图像动画-是一个快速发展的领域,具有跨多个领域的巨大潜力。这些领域包括高质量的电影和动画制作,虚拟助理的开发,个性化的客户服务解决方案,互动教育内容的创作,以及游戏行业中的逼真角色动画。因此,生成长时间、高分辨率、音频驱动的人像动画的能力,特别是那些由文本提示辅助的动画,对这些应用程序至关重要。最近的技术进步,特别是在潜在扩散模型方面,极大地推动了这一领域的发展。
近年来出现了几种利用潜在扩散模型进行人像动画的方法。例如,VASA-1 采用Peebles和DiT模型作为扩散过程中的去噪器,将单个静态图像和音频片段转换为逼真的会话面部动画。同样,EMO框架代表了第一个端到端系统,该系统使用基于unet的扩散模型,仅使用单个参考图像和音频输入,能够生成具有高表现力和真实感的动画,无缝帧转换和身份保存。该领域的其他重大进展包括AniPortrait,EchoMimic,V-Express, Loopy和CyberHost,每个人都有助于增强肖像图像动画的功能和应用。Hallo是另一个值得注意的贡献,他们在先前的研究基础上引入了分层音频驱动的视觉合成,以实现面部表情生成、头部姿势控制和个性化动画定制。在本文中,通过引入几个设计增强来扩展其功能,对Hallo进行了更新。
图1:该方法处理一个参考图像和一个持续几分钟的音频输入。此外,可以在不同的间隔引入可选的文本提示,以调节和细化肖像的表达。由此产生的输出是一个高分辨率的4K视频,与音频同步,并受可选的表达式提示的影响,确保在整个延长的视频持续时间内的连续性
首先,将hello从生成简短的、第二长的肖像动画扩展到支持长达数十分钟的持续时间。如图2所示,长期视频生成通常采用两种主要方法。第一种方法包括在控制信号的引导下并行生成音频驱动的视频剪辑,然后在这些剪辑的相邻帧之间应用外观和运动约束。这种方法的一个重要限制是必须在生成的剪辑中保持最小的外观和运动差异,这阻碍了嘴唇运动,面部表情和姿势的实质性变化,由于强制连续性约束,经常导致模糊和扭曲的表情和姿势。第二种方法通过利用之前的帧作为条件信息,增量地生成新的视频内容。虽然这种方法允许连续运动,但容易产生错误积累。相对于参考图像的扭曲、变形、噪声伪影或前一帧中的运动不一致会传播到后续帧,从而降低整体视频质量。
为了达到高表现力,现实主义和丰富的运动动态,遵循第二种方法。方法主要是从参考图像中提取外观,仅利用之前生成的帧来传达运动动态-包括嘴唇运动,面部表情和姿势。为了防止前一帧对外观信息的污染,实现了一种patch-drop数据增强技术,该技术在保留运动特征的同时,对条件帧中的外观信息引入了可控的损坏。这种方法鼓励外观主要来自参考肖像图像,在整个动画中保持强大的身份一致性,并使长视频具有连续的运动。此外,为了增强对外观污染的恢复能力,将高斯噪声作为附加的数据增强技术应用于条件帧,进一步增强对参考图像的保真度,同时有效地利用运动信息。
图2:基于并行和增量扩散的长期人像动画生成模型的比较。(a)由于帧间连续性约束,并行生成方法可能导致模糊和表达式失真。(b)增量生成法在人脸特征和背景上都容易产生误差积累
其次,为了实现4K视频分辨率,将用于码序列预测任务的矢量量化生成对抗网络(VQGAN)离散码本空间方法扩展到时间维度。通过将时序对齐整合到码序列预测网络中,实现了生成视频的预测码序列的平滑过渡。在应用高质量解码器后,外观和运动的强一致性使方法能够增强高分辨率细节的时间相干性。
第三,为了增强长时间人像视频生成的语义控制,引入了可调节的人像表情语义文本提示作为条件输入和音频信号。通过在不同的时间间隔注入文本提示,方法可以帮助调整面部表情和头部姿势,从而使动画更加逼真和富有表现力。
为了评估提出的方法的有效性,在公开可用的数据集上进行了全面的实验,包括HDTF、CelebV和引入的“Wild”数据集。方法是第一个在肖像图像动画中实现4K分辨率,持续时间长达十分钟甚至几个小时。此外,通过结合可调节的文本提示,可以在生成过程中精确控制面部特征,方法确保了生成动画的高水平真实感和多样性。
最新的相关工作
视频扩散模型:基于扩散的模型在从文本和图像输入生成高质量和逼真的视频方面表现出了非凡的能力。稳定视频扩散强调潜在视频扩散方法,利用预训练,微调和策划数据集来提高视频质量。Make-A-Video利用文本到图像的合成技术来优化文本到视频的生成,而不需要配对数据。MagicVideo引入了一个具有新颖3D U-Net设计的高效框架,降低了计算成本。通过即插即用运动模块实现个性化文本到图像模型的动画。进一步的贡献,如VideoComposer和VideoCrafter,强调视频生成的可控性和质量。VideoComposer集成了动态指导的运动矢量,而videocafter提供了开源模型。CogVideoX通过专家转换器增强文本-视频对齐,MagicTime通过变形延时模型解决物理知识的编码问题。在这些进步的基础上,方法采用了专门为肖像图像动画量身定制的高级预训练扩散模型,专注于长时间和高分辨率合成。
肖像图像动画:在音频驱动的说话头生成和人像动画方面取得了重大进展,强调了与音频输入的真实感和同步性。LipSyncExpert使用鉴别器和新的评估基准提高了对口型的准确性。随后的SadTalker和VividTalk等方法结合了3D运动建模和头部姿势生成,以增强表现力和时间同步。扩散技术进一步推动了该领域的发展。DiffTalk和DreamTalk提高了视频质量,同时保持了不同身份之间的同步。VASA-1和AniTalker整合了细致入微的面部表情和通用的运动表现,产生了栩栩如生的同步动画。AniPortrait、EchoMimic、VExpress、Loopy、CyberHost和EMO都对增强的功能做出了贡献,重点是表现力、真实感和身份保护。尽管取得了这些进步,但生成具有一致视觉质量和时间一致性的长时间高分辨率人像视频仍然是一个挑战。方法建立在hello上,通过在长期肖像图像动画中实现逼真的高分辨率运动动态来解决这一差距
长视频和高分辨率视频生成:视频扩散模型的最新进展显著增强了长时间高分辨率视频的生成。像Flexible Diffusion Modeling和Gen-L-Video这样的框架提高了时间一致性,并使文本驱动的视频生成无需额外的培训。SEINE和StoryDiffusion等方法引入了生成过渡和语义运动预测器,用于平滑的场景变化和视觉叙事。StreamingT2V和MovieDreamer等方法使用自回归策略和扩散渲染来处理具有无缝过渡的扩展叙事视频。VideoInfinity通过分布式推理优化长视频合成,而FreeLong集成了全局和本地视频功能,而无需训练一致性。在本文中,采用斑块下降和高斯噪声增强来实现长时间的肖像图像动画。
离散先验表示与学习字典已被证明是有效的图像恢复。VQ-VAE通过矢量量化引入离散潜在空间来增强vae,解决后验崩溃问题,并实现高质量的图像,视频和语音生成。在此基础上,VQ-GAN结合cnn和transformer来创建一个上下文丰富的图像组件词汇表,在条件图像生成中实现了最先进的结果。CodeFormer使用学习的离散码本进行盲脸恢复,采用基于transformer的网络增强抗退化的鲁棒性。本文提出了用时间对齐技术对潜在码进行矢量量化,以保持4K合成的时间高分辨率相干性。
方法
肖像图像动画的扩展技术有效地解决了生成具有复杂运动动力学的长时间高分辨率视频的挑战,以及启用音频驱动和文本提示控制。提出的方法主要从单个参考图像中提取受试者的外观,同时利用先前生成的帧作为条件输入来捕获运动信息。为了保留参考图像的外观细节并防止前一帧的污染,引入了一种结合高斯噪声注入的斑块滴数据增强技术。此外,将VQGAN离散码本预测扩展到时域,促进高分辨率视频生成并增强时间相干性。此外,将文本条件与音频信号结合起来,在长期视频生成过程中实现对面部表情和动作的多种控制。
图4:提出的高分辨率增强模块的示意图,演示了提取输入潜在特征的两种备选设计
具体的推理公式请参考论文原文,论文中写的很详细
实验对比
表1 在HDTF数据集上与现有人像动画方法的定量比较。
图6:与现有方法在HDTF数据集上的定性比较
表2:在CelebV数据集上与现有人像动画方法的定量比较
表3:在建议的“Wild”数据集上与现有方法的定量比较
图9:不同肖像风格下的肖像图像动画效果
表6:CelebV数据集上patch drop和高斯噪声增强的消蚀研究
定性比较了高分辨率增强前后的人像动画效果
参考图像和动作帧的注意力地图可视化
相关文章:
Hallo2 长视频和高分辨率的音频驱动的肖像图像动画 (数字人技术)
HALLO2: LONG-DURATION AND HIGH-RESOLUTION AUDIO-DRIVEN PORTRAIT IMAGE ANIMATION 论文:https://arxiv.org/abs/2410.07718 代码:https://github.com/fudan-generative-vision/hallo2 模型:https://huggingface.co/fudan-generative-ai/h…...
如何在Debian 8上使用Let‘s Encrypt保护Apache
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 本教程将向您展示如何在运行 Apache 作为 Web 服务器的 Debian 8 服务器上设置来自 Let’s Encrypt 的 TLS/SSL 证书。我们还将介…...
百科知识|选购指南
百科知识||选购指南 百科知识选购指南茶叶分类茶叶的味道来源茶叶制作步骤名茶其他一些茶叶的知识 百科知识 选购指南 茶叶 分类 茶叶种类: 六大茶类完美分析介绍!茶友推荐收藏 (aboxtik.com) 1.绿茶(发酵率0%) 2.白茶(发酵率…...
Go 语言基础教程:4.常量的使用
在这篇教程中,我们将通过一个简单的 Go 语言程序来学习常量的声明和使用。以下是我们要分析的代码: package mainimport ("fmt""math" )const s string "constant"func main() {fmt.Println(s)const n 500000000const …...
centos服务器重启后,jar包自启动
第一种方法: systemctl服务自启动 在/usr/lib/systemd/system目录下,创建service:start_jar.servie [Unit] DescriptionYour Java Application as a Service Afternetwork.target[Service] Userroot Typesimple ExecStart/usr/bin/java -j…...
华为云实战杂记
配置nginx服务器 首先我们拿到一台服务器时,并不知道系统是否存在Nginx我们可以在Linux命令行执行如下命令查看 find / -name nginx* find / -name nginx* 查找所有名字以nginx开头的文件或者目录,我们看看系统里面都有哪些文件先,这样可以快…...
Lesson10---list
Lesson10—list 第10章 c的list的使用和实现 文章目录 Lesson10---list前言一、list的初始化二、list的遍历1.迭代器2.范围for 三、list常用的内置函数1.sort(慎用)2.unique3.reverse4.merge5.splice 四、模拟实现1.基本框架2.构造函数3.push_back4. 遍…...
ASP.NET Core 8.0 中使用 Hangfire 调度 API
在这篇博文中,我们将引导您完成将 Hangfire 集成到 ASP.NET Core NET Core 项目中以安排 API 每天运行的步骤。Hangfire 是一个功能强大的库,可简化 .NET 应用程序中的后台作业处理,使其成为调度任务的绝佳选择。继续阅读以了解如何设置 Hang…...
查看linux的版本
在 Linux 系统中,有多种方法可以查看当前系统的版本信息。以下是一些常用的方法: 1. 使用 uname 命令 uname 命令可以显示系统的内核版本和其他相关信息。 uname -a这个命令会输出类似如下的信息: Linux hostname 5.4.0-88-generic #99-U…...
Mysql补充
单例 双重检查锁 class Singleton {private static volatile Singleton instance ;private Singleton() {}public static Singleton getInstance(){if(instance null) {synchronized (Singleto.class) {if(instance null){instance new Singleton() ;}} return instance;} …...
com.baomidou.mybatisplus.extension.service.IService用法详解及使用例子
IService 是 MyBatis-Plus 中的一个接口,提供了通用的 CRUD 操作,简化了数据库操作的代码。下面是 IService 的用法详解及示例代码。 1. 引入依赖 确保在你的 pom.xml 中添加了 MyBatis-Plus 的依赖: <dependency><groupId>co…...
植物健康,Spring Boot来保障
5系统详细实现 5.1 系统首页 植物健康系统需要登录才可以看到首页。具体界面的展示如图5.1所示。 图5.1 系统首页界面 5.2 咨询专家 可以在咨询专家栏目发布消息。具体界面如图5.2所示。 图5.2 咨询专家界面 5.3 普通植物检查登记 普通员工可以对普通植物检查登记信息进行添…...
mac-chrome提示您的连接不是私密连接
一、现象介绍 关闭代理之后就ok打开代理,就会提示您的连接不是私密连接 二、原因 由于代理部分的问题,无法找到正确的网站ip地址 三、解决方法 1、键盘直接输入thisisunsafe,可以继续访问网站,如果还是不对的话,那…...
028.爬虫专用浏览器-抓取#shadowRoot(closed)下的内容
一、什么是Shadow DOM Shadow DOM是一种在web开发中用于封装HTML标记、样式和行为的技术,以避免组件间的样式和脚本冲突。它允许开发者将网页的一部分隐藏在一个独立的作用域内,从而实现更加模块化和可维护的代码结构 二、js操作Shadow DOM // 获取宿…...
Serv00 免费虚拟主机 零成本搭建 PHP / Node.js 网站
本文首发于只抄博客,欢迎点击原文链接了解更多内容。 前言 Serv00 是一个提供免费虚拟主机的平台,包含了 3GB 的存储空间和 512MB 的内存空间,足够我们搭建一个 1IP 的小网站了。同时他还不限制每月的流量,并提供了 16 个数据库&…...
C#里使用ORM访问mariadb数据库
数据库,对于开发人员来说,是必须掌握的内容。 曾经我的老板对我说,只要会数据库的增删查改,就不会没有饭吃。 经过了20年多的工作经历,说明这个是铁的事实,毕竟计算机就是加工数据处理的而设计的。 数据就是信息,信息就是金钱,有了钱就可以有饭吃。 管理数据,就是…...
电商揭秘:商城积分体系简析
引言 商城积分体系划分是一个复杂而细致的过程,它旨在通过积分这一虚拟货币来激励用户行为、提升用户粘性,并促进商城的销售和用户活跃度。以下是对商城积分体系划分的详细解析: 一、积分获取方式 消费积分: 基础积分:…...
[OS] 终端控制(Terminal Control) 暂停执行线程(Suspend Executing Thread)
7. 终端控制(Terminal Control) 在终端中打印信息时,我们可以使用 ANSI 转义序列来控制光标的位置、清除屏幕等操作。\033 是转义字符,用于引导 ANSI 控制码来控制终端显示。可以将它理解为“命令前缀”,后面跟着具体…...
水陆两栖车应对应急事件发挥的作用_鼎跃安全
随着气候变化,城市内涝等问题日益严重。为了应对可能出现的洪水灾害,许多城市开始将水陆两栖车纳入应急救援装备体系。在暴雨引发城市积水时,水陆两栖车可以作为一种高效的救援和运输工具,及时疏散被困群众,运送应急物…...
CI/CD 流水线系统-开源框架Tekton
文章目录 CI/CD 流水线系统-开源框架Tekton什么是TektonTekton优点Tekton 组件介绍Tekton 概念术语 CI/CD 流水线系统-开源框架Tekton 什么是Tekton 官网:https://tekton.dev/ Tekton 是一个强大、灵活的构建 CI/CD 流水线系统的开源框架,允许开发者构建、测试和…...
Spring MVC(下)
博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:MySQL数据库 JavaEE专栏:JavaEE 关注博主带你了解更多JavaEE知识 目录 1.响应 1.1 返回静态页面 1.2 返回数据ResponseBody 1.3 返回HTML代码⽚段 1.4 返回JSON 1.5 设置状态码 1.6 设置Header 2 . …...
开发涉及的安全规范整理
#1024程序员节|征文# 文章目录 前言安全场景与措施API调用方式鉴权参数校验日志打印数据保存加密 总结 前言 这篇文章我们来整理下写代码和方案设计中的安全规范问题,内容偏服务端,即使是入门的新人,如果你对安全有所了解会让成熟…...
驱动开发系列26 - Linux Graphics 调试 mesa 的 glDrawArrays (二)
目录 一:概述 二:Gallium3D 的工作流程 三:tc_draw_vbo 与 tc_call_draw_single 的关系: 四:tc_draw_vbo 与 tc_call_draw_single 的具体执行流程: 五:mesa中线程池设计介绍: 六:总结: 一:概述 众所周知,Mesa 的 Gallium3D 是一个图形驱动框架,它将图形管线…...
laya-spine动画的使用
laya2和laya3的spine动画在使用过程中并无太大区别,这里以laya3为例。 转换 首先将做好的spine动画按jison格式导出,导出完之后的文件应包括图集、图片和json类型的3个文件。然后再用laya的骨骼动画转换工具转换成laya内置的模式,转换后的文…...
Vue项目实战-新能源汽车可视化(一)(持续更新中)
一.项目代码 1.App.vue <template><!-- 模板--><div id"wrapper"><div style"width: 100%"><el-tabs v-model"activeName" id"tabs"> <!-- 标签栏里包含了三个标签面板,分别是研发与维…...
百度SEO前10关键词排名波动跟用户行为反馈有很大关系
大家好,我是林汉文(谷歌SEO专家),在百度SEO优化中,网站的排名并非一成不变,尤其是前10名的位置,更是动态变化。很多站长可能会发现,有时明明内容质量不错,外链也稳定&…...
基于微信小程序的电影交流平台
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...
Java实现 itext PDF文件打印水印(文字和图片水印)
itext PDF文件打印水印 前言:公司有个需求,打印的合同模板要加上水印,但是由于itext版本问题,网上千篇一律的方法基本都没办法有效使用,然后自己琢磨下,记录下实现水印的功能的笔记。多页上都加上水印&…...
面经之一:Synchronized与ReentrantLock区别
Synchronized与ReentrantLock是Java中用于实现线程同步的两种主要机制,它们各有特点和适用场景。以下是它们的主要区别: 实现方式: Synchronized:是Java语言内置的关键字,通过JVM层面的监视器(Monitor&…...
论文速读:面向单阶段跨域检测的域自适应YOLO(ACML2021)
原文标题:Domain Adaptive YOLO for One-Stage Cross-Domain Detection 中文标题:面向单阶段跨域检测的域自适应YOLO 1、Abstract 域转移是目标检测器在实际应用中推广的主要挑战。两级检测器的域自适应新兴技术有助于解决这个问题。然而,两…...
深圳工业设计展2024/深圳网站营销seo电话
正则表达式匹配,其中: * ~ 为区分大小写匹配 * ~* 为不区分大小写匹配 * !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 文件及目录匹配,其中: * -f和!-f用来判断是否存在文件 * -d和!-d用来判断是否存在目录 * -e和!-e…...
网站建议反馈应该怎么做/seo是什么职位的简称
methods一般运用在需要主动触发的事件上,computed则是用在响应对某个数据的处理上。 computed依靠自己的依赖进行缓存,因为着只要依赖的变量不变,计算属性返回的值永远是原来运行的结果。而methods每次渲染调用就会和函数一样重新执行一次。…...
免费网站建设公司/上海关键词推广
“Shift空格” 是全角和半角的切换...
建设部网站一级建造师报名/软件开发培训机构去哪个学校
问题:之前做过类似题,但这次仍然不能解决相关问题。 字符串倒过来输:StringBuffer strnew StringBuffer(s); sstr.reverse().toString() Bitset Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total…...
wordpress 文章商品/杭州网络推广公司
现代智能手机,基本上都有指纹解锁功能,那他是怎么实现的哦?下面从代码角度来分析下他。 先上流程图 此图是一个指纹注册流程图,以及指纹设别后,如何通知到上层的 既然指纹设别后,要通知到上层,那肯定事先…...
成都灯箱广告制作公司/南昌做seo的公司有哪些
用javac执行java文件时,要把java文件的class文件放到指定文件夹下,注意文件夹要创建好,执行javac -d 文件夹 ***.java 如图: 在class文件夹下就出现了L的class文件 转载于:https://www.cnblogs.com/zhaoshunjie/p/4376628.html...