【思路合集】talking head generation+stable diffusion

1 以DiffusionVideoEditing为baseline:

改进方向

针对于自回归训练方式可能导致的漂移问题:

  1. 训练时,在前一帧上引入小量的面部扭曲,模拟在生成过程中自然发生的扭曲。促使模型查看身份帧以进行修正。
  2. 在像VoxCeleb或LRS这样的具有不受限制条件的训练集中,训练更多样化的说话人数据。

针对训练速度慢,算力消耗大的问题:

作者尝试在潜空间中进行训练以加快训练速度,但是样本质量下降,因此在像素空间中操作,且只能训练128x128大小的数据。改进模型的训练速度对我们来说是首要任务,这将使我们能够在更大、更多样化的“野外”数据集上进行训练,如VoxCeleb [45]或LRS [12]。

希望尝试用LDM的方法训练,看如何在latent space训练且不降低样本质量。

语音条件:计划探索使用更广泛的语音特征作为模型条件的潜力,例如使用预训练的音频编码器,如Wav2Vec2 [3]、Whisper [52]或DeepSpeech2 [1]。相信结合这些特征可能会提高我们模型的唇部同步性能,并生成更逼真、表现力更强的唇部运动。

针对生成的说话头的抖动问题:

  1. 时间一致性:确保生成的说话头在时间上是连续和平滑的。在模型中引入时间依赖性,使用前一帧或前几帧的信息作为输入,增加生成的连贯性。
  2. 噪声注入:在输入数据中添加噪声或随机性,帮助减少生成结果中的抖动。通过在训练过程中或生成过程中引入适量的噪声,可以使模型更具鲁棒性。
  3. 重复惩罚:在生成过程中,通过记录已生成的特征或帧,并在后续生成中降低其权重,可以减少重复出现的特征或帧。这有助于生成更加平稳和多样化的说话头。
  4. 额外的约束或先验知识:对说话头进行进一步控制。例如,可以限制嘴唇形状的变化范围、语音速度的变化范围等,以减少不自然的抖动。
  5. 数据增强和多样性:用更多的训练数据、数据增强技术和多样性增强方法,使模型更好地学习说话头的多样性,并减少抖动。

用到的方法

1.Palette: Image-to-image diffusion models:通过将前一帧和身份帧连接到遮挡帧上,来训练模型生成所需的帧。

2.可以在我们的解决方案之上应用诸如[Learning trajectory-aware transformer for video superresolution]的视频超分辨率技术,以获得高分辨率的样本。

3.在U-Net内的条件残差块中发送音频特征,来驱动面部动画,对unet的改动详见[Diffused heads: Diffusion models beat gans on talking-face generation. ]

2 以DreamTalk为baseline:

改进方向

1. 风格与内容分离:研究如何将说话头的风格和内容进行有效地分离和控制。通过引入额外的约束或正则化项来实现,在保持风格一致的同时,灵活地修改或替换内容。

一种方法是条件生成模型,将风格信息作为附加输入,使模型能够根据给定的风格,生成相应说话头。通过调整风格输入,可以改变生成结果的风格,例如从正式到随意的转变。

另一种方法是风格迁移,通过将源样本(具有某种风格)与目标样本(希望采用的另一种风格)进行对齐和学习,从而将源样本的内容转移到目标样本的风格中,从而在不改变内容的情况下修改风格。

用到的方法

1.人脸运动由渲染器 [Pirenderer: Controllable portrait image generation via semantic neural rendering] 渲染成视频帧,并对其微调,使渲染器具有情感表达生成能力。还负责将将输出的人脸运动渲染为视频。

2. 人脸运动被参数化为来自3D可变形模型[A morphable model for the synthesis of 3d faces.]的表情参数序列。

3.仅使用标准扩散模型中的去噪损失,会导致不准确的唇部运动。补救方法:由预训练的唇部专家[A lip sync expert is all you need for speech to lip generation in the wild]提供唇动指导。(然而,唇部专家只关注一般的说话风格,这导致生成统一风格的面部运动。)

4.为了从人脸运动m中获取唇动信息,首先将m转换为相应的人脸网格,并选择嘴巴区域的顶点作为唇部运动表示[Styletalk: One-shot talking head generation with controllable speaking styles]。嘴唇运动和音频编码器分别主要由MLPs和1d卷积实现。

5.开发了一个去噪网络:创建富有表现力的、音频驱动的面部动作。风格感知嘴唇专家:优化口型同步,同时不影响风格表达。风格预测器:直接从音频中推断说话风格,从而消除了对视频参考的需要。

基线方法:MakeitTalk[105]、Wav2Lip[49]、PCAVS[104]、AVCT[84]、GC-AVT[37]、EAMM[30]、StyleTalk[46]、DiffTalk[58]、SadTalker[100]、PDFGC[78]和EAT[20]。

3 其他论文及方法

有效利用隐空间:DAE (Diffusion Autoencoder) ,DAE-Talker的前置文章。将DDIM的控制信息编码到类似StyleGAN的隐空间,借此实现与StyleGAN类似的可控图像生成。它将latent code分为两部分,分别是有语义意义的线性隐码和捕捉随机细节的“Noise”。 

DAE-talker:

  • 解决视频抖动的方法:使用相同噪声做起始点,保证latent code的平滑性。
  • 增强音频的表征能力:选择预训练Wav2vec 2.0提取音频特征。
  • 平滑latent code:使用堆叠的Comformer[7]来构建局部和全局的上下文关联,以生成变化更加平滑的latent code。
  • 学习音频和姿态之间的对应关系:在Conformer的Encoder和Decoder之间,加入了姿态控制器(Pose Adaptor),用来学习音频和姿态之间的对应关系。(语音驱动动画的问题是一个一对多的问题。在头部姿态的情况下尤其如此,同一段音频很容易对应许多不同的姿态。为了缓解这个问题,作者提出在speech2latent网络中添加一个特定的组件来建模姿态。姿态预测器从语音中预测姿态,而姿态投影器将姿态添加回网络的中间特征中。通过在此阶段添加姿态损失,可以更好地建模姿态。由于姿态被投影到特征中,可以使用预测的姿态或真实的姿态。)
  • 是否可以将latent code进一步拆分为id, pose, expression的latent representation?
  • 局限性:模型仅在单个演讲者的12分钟数据上进行训练,没有环境变化。实验仅限于一个数据集。除了奥巴马之外,没有其他人的实验结果。且不易训练。

LAUGHING MATTERS:

  • Video diffusion models:采用了可分解的时空U-Net架构,扩展了图像扩散模型中使用的标准2D U-Net。由四个通过残差连接连接的下采样和上采样块组成。
  • Make-a-video:用伪3d卷积层和注意力层来平衡计算效率和网络中的信息共享。对于每一层,不使用完整的3D卷积,而是对空间维度应用2D卷积,然后通过合并其他维度对时间维度应用1D卷积。对注意力层应用类似的策略。

提高分辨率:加入metaportrait之类的超分算法,或最后接gfpgan进行图像修复,高清细节恢复。 

插帧:RIFE,可以改善说话头生成效果:Real-Time Intermediate Flow Estimation for Video Frame Interpolation

利用面部先验:Talking Head Generation with Probabilistic Audio-to-Visual Diffusion Priors

TH-PAD (zxyin.github.io)

端到端无监督运动迁移框架:Thin-Plate Spline Motion Model for Image Animation,TPSMM,code:GitHub - yoyo-nb/Thin-Plate-Spline-Motion-Model: [CVPR 2022] Thin-Plate Spline Motion Model for Image Animation.

高清:从GFPGAN 改为 ONNX / TensorRT.

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

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

相关文章

webpack如何把dist.js中某个模块js打包成一个全局变量,使得在html引入dist.js后可以直接访问

webpack可以通过使用expose-loader来将模块中的一个js文件暴露为全局可以访问的变量。下面是一个示例代码: 1、安装expose-loader npm install expose-loader --save-dev 2、webpack.config.js配置文件 值得注意的是:我在本地使用16.14.2版本的node打包…

【深度学习】初识深度学习

初识深度学习 什么是深度学习 关系: #mermaid-svg-7QyNQ1BBaD6vmMVi {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-7QyNQ1BBaD6vmMVi .error-icon{fill:#552222;}#mermaid-svg-7QyNQ1BBaD6vmMVi .err…

【AI大模型】WikiChat超越GPT-4:在模拟对话中事实准确率提升55%终极秘密

WikiChat,这个名字仿佛蕴含了无尽的智慧和奥秘。它不仅是一个基于人工智能和自然语言处理技术的聊天机器人,更是一个能够与用户进行深度交流的智能伙伴。它的五个突出特点:高度准确、减少幻觉、对话性强、适应性强和高效性能,使得…

Airtest自动化测试工具

一开始知道Airtest大概是在年初的时候,当时,看了一下官方的文档,大概是类似Sikuli的一个工具,主要用来做游戏自动化的,通过截图的方式用来解决游戏自动化测试的难题。最近,移动端测试的同事尝试用它的poco库…

GPT5?OpenAI 创始人:GPT5 已在训练中,需要更多数据

OpenAI 最近发出征集大规模数据集的呼吁,特别是“今天在互联网上尚未公开轻松获取”的数据集,尤其是长篇写作或任何格式的对话。 GPT-5丨AI浪潮席卷全球,OpenAI 推出GPT-4 后,又于上月26日宣布今年9月、10月将推出GPT-4.5&#xf…

【LeetCode-406】根据身高重建队列(贪心)

LeetCode406.根据身高重建队列 题目描述 题目链接 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于…

数据仓库-相关概念

简介 数据仓库是一个用于集成、存储和管理大量数据的系统。它用于支持企业决策制定过程中的数据分析和报告需求。数据仓库从多个来源收集和整合数据,并将其组织成易于查询和分析的结构。 数据仓库的主要目标是提供高性能的数据访问和分析能力,以便…

网络协议与攻击模拟_07UDP协议

一、简单概念 1、UDP协议简介 UDP(用户数据报)协议,是传输层的协议。不需要建立连接,直接发送数据,不会重新排序,不需要确认。 2、UDP报文字段 源端口目的端口UDP长度UDP校验和 3、常见的UDP端口号 5…

关于C#中的HashSet<T>与List<T>

HashSet<T> 表示值的集合。这个集合的元素是无须列表&#xff0c;同时元素不能重复。由于这个集合基于散列值&#xff0c;不能通过数组下标访问。 List<T> 表示可通过索引访问的对象的强类型列表。内部是用数组保存数据&#xff0c;不是链表。元素可重复&#xf…

深入浅出理解目标检测的NMS非极大抑制

一、参考资料 物体检测中常用的几个概念迁移学习、IOU、NMS理解 目标定位和检测系列&#xff08;3&#xff09;&#xff1a;交并比&#xff08;IOU&#xff09;和非极大值抑制&#xff08;NMS&#xff09;的python实现 Pytorch&#xff1a;目标检测网络-非极大值抑制(NMS) …

【ZYNQ入门】第九篇、双帧缓存的原理

目录 第一部分、基础知识 1、HDMI视频撕裂的原理 2、双帧缓存的原理 第二部分、代码设计原理 1、AXI_HP_WR模块 2、AXI_HP_RD模块 3、Block design设计 第三部分、总结 1、写在最后 2、更多文章 第一部分、基础知识 1、HDMI视频撕裂的原理 在调试摄像头的时候&#xf…

pikachu_ssrf攻略

ssrf&#xff08;curl&#xff09;&#xff1a; 打开pikachu靶场&#xff1a; http://127.0.0.1/pikachu-master/vul/ssrf/ssrf_curl.php?urlhttp://127.0.0.1/pikachu-master/vul/ssrf/ssrf_info/info1.php 发现URL地址最后面是info1.php 猜测一下有没有可能存在info2.php?…

Socket实现服务器和客户端

Socket 编程是一种用于在网络上进行通信的编程方法&#xff0c;以下代码可以实现在不同主机之间传输数据。 Socket 编程中服务器端和客户端的基本步骤&#xff1a;服务器端步骤&#xff1a; 1.创建 Socket&#xff1a; int serverSocket socket(AF_INET, SOCK_STREAM, 0);…

npm i 报一堆版本问题

1&#xff0c;先npm cache clean --force 再下载 插件后缀加上 --legacy-peer-deps 2&#xff0c; npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to https://registry.npm.taobao.org/yorkie/download/yorkie-2.0.0.tgz failed, reason…

《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置(27)

接前一篇文章&#xff1a;《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置&#xff08;26&#xff09; 2.5 非透明PCI桥 本回将结合实例说明直接地址翻译过程。 2.5.2 通过非透明桥片进行数据传递 下文以图2-16中处理器x访问处理器y存储器地址空间的实…

【IEEE会议征稿】2024年第九届智能计算与信号处理国际学术会议(ICSP 2024)

2024年第九届智能计算与信号处理国际学术会议&#xff08;ICSP 2024&#xff09; 2024年第八届智能计算与信号处理国际学术会议&#xff08;ICSP 2024&#xff09;将在西安举行&#xff0c; 会期是2024年4月19-21日&#xff0c; 为期三天, 会议由西安科技大学主办。 欢迎参会&…

【Redis】网络模型

前言 Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的高性能键值对存储系统&#xff0c;广泛用于各种网络应用中作为数据库、缓存和消息代理。Redis的网络模型是其高性能的关键因素之一&#xff0c;它涉及到多个方面&#xff0c;包括内存管理、事件处理、…

数灵通可以让抖音跳转企业微信并回传

抖音作为一款热门的短视频应用&#xff0c;吸引了大量用户的关注和参与。 对于企业而言&#xff0c;如何有效地将其他平台的客户引入企业微信成为了一个重要的课题。本文以利用抖音渠道进行引流&#xff0c;跳转到企业微信为例&#xff0c;介绍一种高效的方法。 在抖音上直接…

WPF多值转换器

背景&#xff1a;实现Slider拖动可以调整rgb 单转换器&#xff1a;WPF中数据绑定转换器Converter-CSDN博客 在View中&#xff1a; <StackPanel Orientation"Vertical"><Slider x:Name"slider_R" Minimum"0" Maximum"255" Wi…

深度学习技巧应用33-零门槛实现模型在多个GPU的分布式流水线训练的应用技巧

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下深度学习技巧应用33零门槛实现模型在多个GPU的分布式流水线训练的应用技巧&#xff0c;本文将帮助大家零门槛的实现模型在多个GPU的并行训练&#xff0c;如果你手头上没有GPU资源&#xff0c;根据本文的介绍也可实现…