ACM MM 2024,复旦腾讯优图等提出MDT-A2G,可根据说话语音同步生成手势

news2024/11/14 13:52:08

复旦&腾讯优图等提出MDT-A2G,这是一个专门用来生成与语音同步手势的先进模型。想象一下,当我们说话时,身体自然会做出手势。这个模型的目的是让计算机也能像人类一样,根据说话的内容来生成合适的手势。它的运作方式像是一个人边听边做笔记,只有把真正重要的东西记下来,然后加以整理并用来进行表达。

模型利用语音、文本和情感等多种信息,进行综合分析,然后通过去噪的过程,修正出准确的手势动作。为了更快地得到结果,它还使用了一些聪明的技巧,像是用已知的参考来加速生成过程。所有这些方法使得MDT-A2G能够生成丰富多彩的手势,而不只是单一的动作。这就是这个模型的基本工作原理,让计算机的“表演”更加生动和自然。

相关链接

论文地址:http://arxiv.org/abs/2408.03312v1

项目地址:https://xiaofenmao.github.io/web-project/MDT-A2G/

论文阅读

摘要

Diffusion Transformer领域的最新进展大大提高了高质量二维图像、三维视频和三维形状的生成。然而,Transformer 架构在同语音手势生成领域的有效性仍然相对未被探索,因为之前的方法主要采用卷积神经网络 (CNN) 或简单的几个变换器层。

为了弥补这一研究空白,我们引入了一种用于同语音手势生成的新型掩蔽Diffusion Transformer,称为 MDT-A2G,它直接在手势序列上实现去噪过程。为了增强时间对齐的语音驱动手势的上下文推理能力,我们采用了一种新型的掩蔽扩散变换器。该模型采用了一种掩蔽建模方案,专门用于加强序列手势之间的时间关系学习,从而加快学习过程并产生连贯而逼真的动作。除了音频,我们的 MDT-A2G 模型还集成了多模态信息,包括文本、情感和身份。

此外,我们提出了一种高效的推理策略,通过利用先前计算的结果来减少去噪计算,从而实现加速,而性能损失几乎可以忽略不计。实验结果表明,MDT-A2G 在手势生成方面表现出色,其学习速度比传统扩散变压器快 6 倍以上,推理速度比标准扩散模型快 5.7 倍。

方法

MDT-A2G 概述。它主要由三个组件组成:

  1. 复合多模态特征提取器

  2. 掩蔽扩散变换器

  3. 缩放感知加速采样过程。

对于多模态特征提取器,我们提出了一种创新的特征融合策略,将时间嵌入与情感和 ID 特征相结合。这些将进一步与文本、音频和手势特征连接起来,从而产生全面的特征表示。此外,我们设计了一个掩蔽扩散变换器结构来加速去噪网络的收敛,从而实现更连贯的运动。最后,我们通过利用来自先前时间步骤的扩散结果引入了一个缩放感知加速采样过程,从而加快了采样过程。

效果

整体运动生成的定性比较。参考补充视频获得更直观的比较。

不同加速比对比。AR为加速比。全部采用MDT-A2G-B。

结论

我们介绍了一种新型的 MDT-A2G,一种用于同声手势生成的掩码扩散变换器。得益于独特的掩码建模方案,MDT-A2G 增强了手势之间的时间和语义关系学习,从而加速了学习过程。多模态信息的整合已被证明可以有效地生成更逼真的手势。此外,我们高效的推理策略减少了去噪计算,从而将速度提高了 5.7 倍,而性能下降却微乎其微。实验结果证实了 MDT-A2G 在手势生成方面的优势,其训练和推理速度明显快于传统同类产品。这项研究弥补了同声手势生成方面的重大差距,为未来的研究开辟了道路。

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

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

相关文章

python的多线程实现高速下载PDB数据集

多线程下载数据 最近在某个网站上写了个shell脚本来下载数据集,内容量不大,但是下载的特别的慢,于是想到用多线程下载,发现快了很多。本文主要让大家清楚python中的几个模块区别和关于程序加速的一些方法,以及多线程下…

YOLOv8_det/seg/pose/obb推理流程

本章将介绍目标检测、实例分割、关键点检测和旋转目标检测的推理原理,基于onnx模型推理,那么首先就需要了解onnx模型的输入和输出,对输入的图片需要进行预处理的操作,对输出的结果需要进行后处理的操作,这部分内容在我的另一个专栏《YOLOv8深度剖析》中也有介绍,如果对YO…

【数学建模备赛】Ep06:多元线性回归分析

文章目录 一、前言🚀🚀🚀二、多元线性回归分析:☀️☀️☀️1. 回归分析的介绍和分类1.1相关性1.2 相关性≠因果性1.3 因变量Y1.4 自变量X 2. 回归分析的三条使命3. 数据的分类以及数据的来源 后序还在更新中~~~三、总结&#xff…

通用定时器 输出pwm原理

这个是 输出pwm 判断条件,比较cnt和arr的值,来判断当前是否输出有效电平 这个是判断pwm的输出条件排列模式,可以选pwm1或者pwm2模式,然后每个模式有递增计数还是递减计数,例如:根据设置的是pwm1模式的 递增…

基于django的双选宠物托管服务平台/python宠物托管系统

摘 要 伴随着社会以及科学技术的发展,互联网已经渗透在人们的身边,网络慢慢的变成了人们的生活必不可少的一部分,紧接着网络飞速的发展,系统管理这一名词已不陌生,越来越多的双选宠物托管服务等机构都会定制一款属于…

生成式人工智能在无人机群中的应用、挑战和机遇

人工智能咨询培训老师叶梓 转载标明出处 无人机群在执行人类难以或危险任务方面有巨大潜力,但在复杂动态环境中学习和协调大量无人机的移动和行动,对传统AI方法来说是重大挑战。生成式人工智能(Generative AI, GAI),凭…

尚品汇-前端面包屑平台属性、排序处理(三十三)

目录: (1)面包屑处理平台属性 (2)排序处理 (2)单点登录业务介绍 (1)面包屑处理平台属性 前端显示:面包屑显示效果 搜list搜索方法继续添加返回的平台属性…

el-table表格可编辑

需求&#xff1a;使用elementui的表格组件&#xff0c;实现某些列可以输入或者下拉选择修改行数据 //tabClickLabel 只是作为区分是否可以修改列的条件 <el-tableref"table":data"tableData":header-cell-style"{ background: #F5F7FA, height: 3…

理解Java中的for-each循环:为什么有时候不能修改数组元素?

前言&#xff1a; 刚开始学习编程的时候&#xff0c;我们都会老老实实用 for-i循环&#xff0c;后面接触到for-each的时候&#xff0c;发现竟然还可以再省一点代码&#xff0c;慢慢也会开始学会用for-each。但其实&#xff0c;在有些即使是需要从头遍历的场景&#xff0c;for-e…

uva455 输入格式说的不明白多加空格

提要&#xff1a;题目你看原题有输出格式的坑&#xff0c;本来已经写好代码 结果被这**格式整半天才好&#xff01;&#xff01; 那个xuhanx是我错了那么多次主打一个锲而不舍笑死我了。简单讲一下核心代码就一行 x[j] ! pattern[j % i] 这个是原理比较好理解吧。 建议就是…

SpringBoot和Redis的交互数据操作 以及 Redis的持久化/删除策略和缓存问题

一、SpringBoot和Redis/MySQL的数据交互 说明&#xff1a; 在 SpringBoot2.x 之后&#xff0c;原来使用的jedis 被替换为了 lettuce SpringBoot/Spring和Redis之间的交互简称为Spring-data-redis,有两种方式提供选择&#xff1a; jedis &#xff1a;采用的直连&#xff0c;多个…

一个专门用于Java服务端图片合成的工具,支持图片、文本、矩形等多种素材的合成,功能丰富强大(附源码)

前言 在数字化营销的当下&#xff0c;企业对于图片处理的需求日益增长。然而&#xff0c;传统的图片处理方式往往需要复杂的操作和专业的技术&#xff0c;这不仅增加了工作量&#xff0c;也提高了时间成本。 为了处理这一问题&#xff0c;一款能够简化图片合成流程的软件应运…

《书生大模型实战营第3期》进阶岛 第4关: InternVL 多模态模型部署微调实践

文章大纲 写在前面&#xff08;什么是InternVL&#xff09;InternVL 模型总览Dynamic High ResolutionPixel ShuffleInternVL 部署微调实践准备InternVL模型准备环境准备微调数据集InternVL 推理部署攻略使用pipeline进行推理推理后 InternVL 微调攻略准备数据集配置微调参数开…

中年程序员从西安出发到日照、青岛低成本吃喝万里行,暑假遛娃自由行:连云港-日照-青岛 6天5 晚自由行

文章大纲 暑假出行总体方案Day1 西安-连云港&#xff1a;连岛Day2 连云港-日照&#xff1a;海鲜蒸汽锅Day3 日照 &#xff1a;海洋馆Day4 日照-青岛&#xff1a;再游金沙滩Day5 青岛&#xff1a;山涧溪谷Day6 青岛-连云港-西安 暑假出行总体方案 今年出去玩的地方不算少&#…

Java中VM options与Program arguments区别与作用

Java中VM options与Program arguments区别与作用 VM options 我们在程序中需要的运行时环境变量&#xff0c;它需要以-D或-X或-XX开头&#xff0c;每个参数使用空格分隔 使用最多的就是-Dkeyvalue设定系统属性值&#xff0c;比如-Dserver.port8088 application.yml server:…

深度优先搜索:如何在二叉树中找出“好节点”【迭代法、状态管理技巧、DFS】

一、题目分析 题目要求&#xff1a; 给定一棵二叉树&#xff0c;定义一个“好节点”为&#xff1a;从根节点到该节点路径上&#xff0c;没有任何节点的值比该节点的值大。要求我们返回二叉树中好节点的数量。 示例&#xff1a; 示例 1: 输入: [3,1,4,3,null,1,5] 输出: 4解…

Open3D 遍历八叉树

目录 一、概述 1.1原理 1.2实现步骤 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2数据显示 Open3D点云算法汇总及实战案例汇总的目录地址&#xff1a; Open3D点云算法与点云深度学习案例汇总&#xff08;长期更新&#xff09;-CSDN博客 一、概…

Git安装包及怎么再windows上运行

第一步&#xff1a;下载git。 国内 Git for Windows. 国内镜像 感谢GitHub - waylau/git-for-win: Git for Windows. 国内直接从官网下载比较困难&#xff0c;需要翻墙。这里提供一个国内的下载站&#xff0c;方便网友下载 安装步骤&#xff1a; Git for Windows安装和基本…

VTK—vtkCutter截取平面数据

&#xff0c; 本例 vtkCutter可以配合隐式函数截取数据使用vtkPlane隐式函数配合vtkWidget截取任意平面。 1.读入数据 Create(vtkMultiBlockPLOT3DReader, reader);reader->SetXYZFileName("G:/Temp/vtkTest/combxyz.bin");reader->SetQFileName("G:/Tem…

Linux系统之部署轻量级Markdown文本编辑器

Linux系统之部署轻量级Markdown文本编辑器 一、项目介绍1.1 项目简介1.2 使用方法 二、本次实践介绍2.1 本地环境规划2.2 本次实践介绍 三、检查本地环境3.1 检查系统版本3.2 检查系统内核版本3.3 检查软件源 四、安装Apache24.1 安装Apache2软件4.2 启动apache2服务4.3 查看ap…