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和高斯噪声增强的消蚀研究
在这里插入图片描述
定性比较了高分辨率增强前后的人像动画效果
在这里插入图片描述
  参考图像和动作帧的注意力地图可视化

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

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

相关文章

TikTok营销实用技巧与数据分析工具:视频洞察

TikTok凭借其独特的机制和庞大的流量,成为了众多品牌和卖家对产品进行宣传推广的必要平台之一。要在TikTok上优化营销效果、提升推广效率,可以使用平台提供的重要工具——视频洞察(Video Insights)。 一、视频洞察功能与技巧 视频…

线性回归(一)

线性回归 1.基本术语 ①特征:预测所依据的自变量称为特征或协变量 ②标签:试图预测的目标称为标签或目标 2.举个栗子 线性假设是指目标(房屋价格)可以表示为特征(面积和房龄)的加权和,如下面…

YOLOv11入门到入土使用教程(含结构图)

一、简介 YOLOv11是Ultralytics公司在之前的YOLO版本上推出的最新一代实时目标检测器,支持目标检测、追踪、实力分割、图像分类和姿态估计等任务。官方代码:ultralytics/ultralytics:ultralytics YOLO11 🚀 (github.com)https://g…

解决跨域问题

跨域是浏览器受同源策略的限制,同源策略是浏览器为确保资源安全,而遵循的一种策略,该策略对访问资源进行了一些限制(如发送 ajax 请求,操作 dom,读取 cookie)。 最常见的影响就是发送 ajax 请求…

【微知】如何通过命令行在非串口界面触发sysrq的help信息?(echo h > /proc/sysrq-trigger)

背景 在服务器上,触发sysrq通常需要在串口执行sysrq热键,比如 ~相关的操作 如何通过在ssh界面触发sysrq触发一些操作? 命令 通过sysrq指定的/proc接口文件进行操作 echo h > /proc/sysrq-trigger dmesg #产看输出的帮助信息然后根据打…

Junit + Mockito保姆级集成测试实践

一、做好单测,慢即是快 对于单元测试的看法,业界同仁理解多有不同,尤其是在业务变化快速的互联网行业,通常的问题主要有,必须要做吗?做到多少合适?现在没做不也挺好的吗?甚至一些大…

MYSQL-SQL-01-DDL(Data Definition Language,数据定义语言)

DDL(数据定义语言) DDL(Data Definition Language),数据定义语言,用来定义数据库对象(数据库,表,字段) 。 一、数据库操作 1、 查询mysql数据库管理系统的所有数据库 语法&#…

django(3)jinja2模版的使用

启动模版 安装jinja2 pip install jinja2 配置setting TEMPLATES中添加配置 {BACKEND: django.template.backends.jinja2.Jinja2,DIRS: [os.path.join(BASE_DIR,jinja2)], #模版在项目中的所在位置} template中各项的含义 这个配置项中模版自上而下加载,重名…

Spring Boot框架的电影评论系统设计与实现

3系统分析 3.1可行性分析 通过对本电影评论网站实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本电影评论网站采用SSM框架,JAVA作为开发语言&#…

基于单片机的智能小区门禁系统设计(论文+源码)

1总体架构 智能小区门禁系统以STM32单片机和WiFi技术为核心,STM32单片机作为主控单元,通过WiFi模块实现与手机APP的连接,构建整个门禁系统。系统硬件包括RFID模块、指纹识别模块、显示屏、按键以及继电器。通过RFID绑定IC卡、APP面部识别、指…

Linux中Kconfig结构分析

目录结构中,某一层的内容无非就是,要么全是目录,要么全是文件,要么既有目录又有文件,我们的Kconfig文件通常是分布在各级目录中。那么,这些Kconfig如何一层一层地去组织起来呢? 首先明确下&…

VTK的学习方法-第二类型应用

VTK的高级使用方法是自己写一个算法(Filter),本文使用的数据类型位polydata,这个数据类型应用比较广泛。 我们的算法一般是继承VTK里面的vtkpolydataalgorithm,然后自己添加一些变量,重写(over…

京东 北京 java 中级: 哪些情况下的对象会被垃圾回收机制处理掉? 哪些对象可以被看做是 GC Roots 呢?对象不可达,一定会被垃圾收集器回收么?

我同学最近在面试java的岗位, 这是他遇到的某些关于java的JVM中垃圾回收相关的部分的问题, 他来问我, 我特以此文章来解答. 公司 京东 base 北京 面试时间 2024年10月23日16:00:00 他跟我说, 面试官一上来就问了一个关于JVM的问题, 直接就给他难住了, 问题是 : 哪些情况下…

深入理解Qt中的QTableView、Model与Delegate机制

文章目录 显示效果QTableViewModel(模型)Delegate(委托)ITEM控件主函数调用项目下载在Qt中,视图(View)、模型(Model)和委托(Delegate)机制是一种非常强大的架构,它们实现了MVC(模型-视图-控制器)设计模式。这种架构分离了数据存储(模型)、数据展示(视图)和数据操作(委托),使…

通过Python爬虫获取商品销量数据,轻松掌握市场动态

为什么选择Python爬虫? 简洁易用:Python语言具有简洁的语法和丰富的库,使得编写爬虫变得简单高效。强大的库支持:Python拥有强大的爬虫框架(如Scrapy、BeautifulSoup、Requests等),可以快速实现…

【记录】Django数据库的基础操作

数据库连接 在Django中使用 mysqlclient 这个包用于数据库的连接,切换至 Django环境中直接 pip install mysqlclient 安装此包 1 数据库连接配置 在项目目录下的setting.py中配置 DATABASES {default: {ENGINE: django.db.backends.mysql,NAME: mini,#数据库名US…

uniapp修改input中placeholder样式

Uniapp官方提供了两种修改的属性方法&#xff0c;但经过测试&#xff0c;只有 placeholder-class 属性能够生效 <input placeholder"请输入手机验证码" placeholder-class"input-placeholder"/><!-- css --> <style lang"scss" s…

Python的买家秀大揭秘:用代码点亮API数据

在一个充满无限可能的数字世界里&#xff0c;Python侦探正准备开始他的新任务&#xff1a;揭开买家秀API数据的神秘面纱。这不仅是一次技术的挑战&#xff0c;更是一次与时间赛跑的较量。Python侦探&#xff0c;这位编程界的福尔摩斯&#xff0c;打开了他的笔记本电脑&#xff…

C++大坑之——多继承(菱形继承)

文章目录 前言一、多继承是什么&#xff1f;1. 多继承概念2. 多继承语法 二、菱形继承1. 为什么会有菱形继承问题&#xff1f;2. 代码感受菱形继承3. 虚拟继承1&#xff09;虚拟继承概念及语法2&#xff09;虚拟继承的原理 4. 为什么要有虚基表&#xff1f;5. 为什么要有偏移量…

bootloader跳转app卡死(IAP卡死)

1、 关闭所有中断再跳转APP 一般bootloader跳转到APP时要关闭app中用到的中断(防止中断打断程序的运行&#xff0c;导致程序跑飞&#xff09;&#xff0c;那么查看系统中用到的中断&#xff1a;串口中断、滴答定时器中断&#xff0c;所以&#xff0c;跳转之前要关闭这两个中断&…