当前位置: 首页 > news >正文

【ECCV 2022】76小时动捕,最大规模数字人多模态数据集开源

随着元宇宙的火爆以及数字人建模技术的商业化,AI 数字人驱动算法,作为数字人动画技术链的下一关键环节,获得了学界和工业界越来越广泛的兴趣和关注。其中谈话动作生成 (由声音等控制信号生成肢体和手部动作)由于可以降低 VR Chat, 虚拟直播,游戏 NPC 等场景下的驱动成本,在近两年成为研究热点。然而,由于缺乏开源数据,现有的模型往往在由姿态检测算法提供的伪标签数据集或者单个说话人的小规模动捕数据集上进行测试。由于数据量,数据标注的缺乏和数据质量的限制,现有的算法很难生成个性化,高手部质量,情感相关,动作 - 语义相关的动作。

针对上述问题,华为东京研究所 - Digital Human Lab 与东京大学等合作进行了研究,提出了目前为止最大规模的数字人多模态数据集:BEAT (Body-Expression-Audio-Text),由 76 小时动捕设备采集的谈话数据和语义 - 情感标注组成。原始数据包含肢体和手部动捕数据,AR Kit 标准 52 维面部 blendshape 权重,音频与文本,标注数据包含 8 类情感分类标签,以及动作类型分类和语义相关度打分。在 BEAT 的基础上提出的新基线模型 CaMN (Cascade-Motion-Network) 采取级联神经网络结构,由 BEAT 中其余三种模态和标注作为输入,在动作生成任务上显著优于现有 SoTA (state-of-the-art) 算法。论文《BEAT: A Large-Scale Semantic and Emotional Multi-Modal Dataset for Conversational Gestures Synthesis》已于 ECCV2022 上发表,数据集已经开源。

图片

作者: Haiyang Liu, Zihao Zhu, Naoya Iwamoto, Yichen Peng, Zhengqing Li, You Zhou, Elif Bozkurt, Bo Zheng.
单位:Digital Human Lab - 华为东京研究所,东京大学,庆应大学,北陆先端科技大学.
论文地址:https://www.ecva.net/papers/eccv_2022/papers_ECCV/papers/136670605.pdf
项目主页:https://pantomatrix.github.io/BEAT/
数据集主页:https://pantomatrix.github.io/BEAT-Dataset/
视频结果:https://www.youtube.com/watch?v=F6nXVTUY0KQ

部分渲染后的数据如下(从上到下依次为,生气 - 恐惧 - 惊讶 - 伤心情感下人的动作):

图片

图片

图片

图片

渲染结果使用了 HumanGeneratorV3 产生的身体和脸部模型。

BEAT 数据集细节

动作 - 文本语义相关度标注

谈话动作生成领域的关键问题是:如何生成和评估生成的动作和文本在语义上的关联程度。该关联程度很大程度上影响了人对生成动作质量的主观评价。由于缺乏标注,现有的研究往往挑选一系列主观结果用于评估,增加了不确定性。在 BEAT 数据集中,对于动作给出了基于动作类别分类的相关度分数,共分为四类 10 档:beat(1),deictic (2-4), icnoic(5-7),metaphoic(8-10)。该分类参考 McNeill 等人在 1992 年对谈话动作的分类,其中后三类各自存在低 - 中 - 高质量三档。

然而,实际谈话中,与当前文本语义对应的动作可能提前或滞后出现,为了解决这个问题,在标注过程中,标注者判断当前动作所属类别之后:

  1. 以动作的开始和结束确定标注范围,保证了动作的完整性。
  2. 输入与当前动作最相关的关键字,获取动作和对应文本的准确出现时间。

基于情感的对话

BEAT 数据集要求每个演讲者必须录制 8 种不同情绪下的谈话动作,用于分析动作与情感之间的内在联系。在演讲环节中,自然情绪占比 51%,愤怒、快乐、恐惧、厌恶、悲伤、蔑视和惊讶这七类情绪分别占比 7%。对动作进行聚类的结果证明,动作和情感之间存在相关性,如下图所示。

图片

数据规模及采集细节

BEAT 采用了 ViCon,16 个摄像头的动作捕捉系统来记录演讲和对话数据,最终所有数据以 120FPS, 记载关节点旋转角的表示形式的 bvh 文件发布。对于面部数据,BEAT 采用 Iphone12Pro 录制谈话人的 52 维面部 blendsshape 权重,并不包括每个人的头部模型,推荐使用 Iphone 的中性脸做可视化。BEAT 采用 16KHZ 音频数据,并通过语音识别算法生成文本伪标签,并依此生成具有时间标注的 TextGrid 数据。

BEAT 包含四种语言的数据:英语,中文,西班牙语,日语,数据量分别为 60,12,2,2 小时。由来自 10 个国家的 30 名演讲者进行录制。其中中文,西班牙语,日语的演讲者也同时录制了英语数据,用于分析不同语言下的动作差异。

在演讲部分(数据集的 50%),30 个演讲者被要求读相同的大量文本,每段文本长度约 1 分钟,总计 120 段文本。目的是控制文本内容相同来研究不同演讲者之间的风格差异,来实现个性化的动作生成。谈话部分(50%)演讲者将和导演在给定话题下进行 10 分钟左右的讨论,但为了去除噪声,只有演讲者的数据被记录。

下表还将 BEAT 与现有的数据集进行了比较,绿色高光表示最佳值,可以看出,BEAT 是现阶段包含多模态数据和标注的最大的运动捕捉数据集。

图片

多模态驱动的动作生成基线模型

BEAT 提出了一个多模态驱动的动作生成基线模型,CaMN(Cascade Montion Network),将音频 - 文本 - 面部数据以及情感,语义标注作为输入,以生成更高质量的谈话动作。网络主干由多个级联编码器和两个级联 LSTM+MLP 解码器组成,生成躯体和手部动作,数据被降频到 15FPS,单词句子被插入填充标记以对应音频的沉默时间。具体的网络结构如下图所示。

图片

文本、语音和 Speaker-ID 编码器的网络选择是基于现有研究,并针对 BEAT 数据集在结构上进行了修改。对于面部 blendshape weight 数据,采用了基于残差网络的一维 TCN 结构。最终网络的损失函数来自语义标注权重和动作重建损失的组合:

图片

其中针对不同演讲者的数据,网络也采取了不同的对抗损失来辅助提升生成动作的多样性。

图片

实验结果

研究者首先验证了一个新的评价指标 SRGR,然后基于主观实验验证了 BEAT 的数据质量,并将提出的模型与现有的方法进行了比较。

SRGR 的有效性

为了验证 SRGR 的有效性,研究者将动作序列被随机切割成 40 秒左右的片段,要求参与者根据动作的正确性,多样性和吸引力对每个片段进行评分。最终共有 160 人参与评分,平均每个人对 15 个随机的手势片段打分。图表显示,与 L1 多样性相比,SRGR 在评估手势多样性方面与人类感官更为相似。

图片

数据质量

为了评估 BEAT 这一新型数据集的质量,研究者使用了现有研究中广泛使用的动捕数据集 Trinity 作为对比目标。每个数据集被分成 19:2:2 的比例,分别作为训练 / 验证 / 测试数据,并使用现有方法 S2G 和 audio2gestures 进行比较。评估主要针对不同数据集训练结果的正确性(身体动作的准确性)、手部正确性(手部动作的准确性)、多样性(动作的多样性)和同步性(动作和语音的同步性)。结果见下表。

图片

图片

表中显示,BEAT 在各方面的主管评分都很高,表明这个数据集远远优于 Trinity。同时在数据质量上也超过了现有的视频数据集 S2G-3D。

对 Baseline 模型的评价

为了验证本文提出的模型 CaMN 的性能,在以下条件下与现有方法 Seq2Seq,S2G,A2G 和 MultiContext 进行了比较验证。一些实验的细节如下:

使用数据集中四名演讲者的数据进行 15 小时的训练,选取不同模型在验证集上最优的权重在测试集上测试。
FGD 被采用为评价指标,因为已被证明 L1 损失不适合于评价生成动作的性能。
为了评估手势的多样性和与语音的同步性,研究者采用了本文提出的 SRGR 和舞蹈动作生成中常用的指数 BeatAlign。

验证结果如下表所示,CaMN 在所有评价指标上得分最高。

图片

下面是一个由 CaMN 生成的手势的例子。

图片

图中展示了一个真实数据样本(上)和一个 CaMN 生成的动作(下),生成的动作具备语义相关性。

总结

本文研究者提出大规模的多模态数字人驱动数据集 BEAT,用于生成更生动的谈话动作。该数据集还可应用于数字人驱动的其他领域,如 LipSync,表情识别,语音风格转换等等。

相关文章:

【ECCV 2022】76小时动捕,最大规模数字人多模态数据集开源

随着元宇宙的火爆以及数字人建模技术的商业化,AI 数字人驱动算法,作为数字人动画技术链的下一关键环节,获得了学界和工业界越来越广泛的兴趣和关注。其中谈话动作生成 (由声音等控制信号生成肢体和手部动作)由于可以降…...

联合解决方案 | 亚信科技AntDB数据库携手浪潮K1 Power赋能关键行业数字化转型,助力新基建

自2022年印发《“十四五”数字经济发展规划》以来,我国数字化发展进入快车道。数据库作为数据存储与计算的基础软件,对筑牢数字经济底座至关重要。服务器是承载数据的重要载体,在数据库性能可以通过扩容而无上限提升的情况下,数据…...

Android 单元测试问题总结(Robolectric+JUnit)

代码单元测试问题总结: 1、测试类中引用第三方jar包类报错 问题原因: 测试的库中没有包含第三方jar包。 解决办法: 在app下gradle中加入第三方jar包配置: testImplementation files(‘libs/third.jar’) 2、自定义Shadow类不生…...

专项攻克——二叉树

文章目录一、二叉树定义、分类二、二叉树的存储结构三、创建二叉树四、遍历方式一、二叉树定义、分类 二叉树:是N个结点的有序集合,该集合或者为空集,或者由一个根节点跟两棵互不相交的、分别称为根节点的左子树或者右子树的二叉树组成。每个…...

PACS系统源码 PACS源码 三维重建PACS源码

一、系统概述: ​基于VC MSSQL开发的一套三甲医院医学影像PACS系统源码,集成3D影像后处理功能,包括三维多平面重建、三维容积重建、三维表面重建、三维虚拟内窥镜、最大/小密度投影、心脏动脉钙化分析等功能。系统功能强大,代码…...

利用Mysql存储过程造百万级数据

1.准备工作(1)由于是使用存储过程,mysql从5.0版开始支持存储过程,那么需要mysql的版本在5.0或者以上。如何查看mysql的版本,使用下面sql语句查看:(2)创建两张表,表结构一…...

Vue2组件之间的传值通信

父子组件Vue中常见的是父与子组件间的通信&#xff0c;所要用到的关键字段是props和$emit。props接受父组件传给子组件信息的字段&#xff0c;它的类型&#xff1a;Array<string> | Object;详细解释可以参考https://cn.vuejs.org/v2/api/#props$emit由子组件触发事件向上…...

Spring Boot官方例子《Developing Your First Spring Boot Application》无法运行

官方的第一个例子就卡住了&#xff1a; https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#getting-started.first-application 按照要求&#xff0c;一步一步走&#xff1a; 查看Java版本和MVN版本&#xff1a; $ java -version openjdk version &quo…...

数据结构(3)— 线性表之顺序存储详解介绍(含代码)

&#xff08;1&#xff09;博客代码在数据结构代码---GitHub仓库&#xff1b;线性表介绍线性表的基础概念&#xff08;1&#xff09;甲骨文表示&#xff1a;线性表是零个或多个数据元素的有限序列。&#xff08;2&#xff09;线性表&#xff0c;顾名思义&#xff0c;就是说这个…...

ChatGPT正当时,让我们一起深耕智能内容生成和智能内容增强领域

ChatGPT以其强大的信息整合和对话能力惊艳了全球&#xff0c;在自然语言处理上面表现出了惊人的能力。很多人都预测 2023 年将是 AI 生成之年&#xff0c;也许我们将迎来继农业革命、工业革命以来的第三种通用技术的普及。 信必优长期专注于人工智能领域&#xff0c;拥有产品研…...

天梯赛训练L1-019 (谁先倒)

目录 1、L1-019 谁先倒 2、如果帮到大家&#xff0c;请大家一键三连&#xff01;&#xff01;&#xff01; 3、读书吧&#xff0c;在落幕无光时找到方向&#xff01;&#xff01;&#xff01; 1、L1-019 谁先倒 分数 15 题目通道 划拳是古老中国酒文化的一个有趣的组成部分…...

MySQL DQL语句基础(一)

目录 DQL 基本语法 基础查询 1、查询多个字段 2、字段设置别名 3、去除重复记录 条件查询 语法 条件 案例 聚合函数 常见的聚合函数 语法 DQL DQL英文全称是Data Query Language(数据查询语言)&#xff0c;数据查询语言&#xff0c;用来查询数据库中表的记录。 基…...

ccc-pytorch-LSTM(8)

文章目录一、LSTM简介二、LSTM中的核心结构三、如何解决RNN中的梯度消失/爆炸问题四、情感分类实战&#xff08;google colab&#xff09;一、LSTM简介 LSTM&#xff08;long short-term memory&#xff09;长短期记忆网络&#xff0c;RNN的改进&#xff0c;克服了RNN中“记忆…...

教育小程序开发解决方案

如今无论是国家还是家庭对于教育的重视性也越来越高&#xff0c;都希望自己的孩子能够赢在起跑线上&#xff0c;但是因为工作的缘故许多家长并没有过多的精力去辅导孩子学习&#xff0c;再加上许多家长对于教育也并没有经验与技巧。而这些都充分体现了正确教育的重要性。 那么一…...

动态规划之股票问题大总结

参考资料&#xff1a;代码随想录 (programmercarl.com)一、只能买卖一次题目链接&#xff1a;121. 买卖股票的最佳时机 - 力扣&#xff08;LeetCode&#xff09;算法思想&#xff1a;设置两种状态:0表示已持有股票&#xff0c;1表示未持有股票1.dp[i][0]表示第i天已持有股票时&…...

我来跟你讲vue进阶

一、组件&#xff08;重点&#xff09; 组件&#xff08;Component&#xff09;是 Vue.js 最强大的功能之一。 组件可以扩展 HTML 元素&#xff0c;封装可重用的代码。 组件系统让我们可以用独立可复用的小组件来构建大型应用&#xff0c;几乎任意类型的应用的界面都可以抽象…...

#847(Div3)E. Vlad and a Pair of Numbers

原题链接&#xff1a; E. Vlad and a Pair of Numbers 题意&#xff1a; 题目有公式 a⊕b(ab)/2xa ⊕ b (a b) / 2 xa⊕b(ab)/2x&#xff0c; 给你的是 xxx&#xff0c;让输出一组满足题目要求的 a&#xff0c;ba&#xff0c;ba&#xff0c;b&#xff0c;没有就输出−1-1…...

怎么把pdf转换成图片?这个方法你值得拥有

想要高效率的工作&#xff0c;除了需要大家合理安排时间之外&#xff0c;一些能够辅助高效工作的工具也是必不可少的。就拿要把一份pdf文件转换成若干图片来说&#xff0c;如果不知道方法&#xff0c;找不到合适的转换工具&#xff0c;那么想要完成这一任务&#xff0c;势必要花…...

go语言使用append向二维数组添加一维数组

var ans [][]int ans append(ans, append([]int(nil), nums...))&#xff08;正确写法&#xff09;需要注意的是&#xff0c;为了避免对原切片造成影响&#xff0c;代码在将当前排列追加到结果数组 ans 时&#xff0c;使用了 append(ans, append([]int(nil), nums…)) 的方式…...

YOLOv5训练大规模的遥感实例分割数据集 iSAID从切图到数据集制作及训练

最近想训练遥感实例分割&#xff0c;纵观博客发现较少相关 iSAID数据集的切分及数据集转换内容&#xff0c;思来想去应该在繁忙之中抽出时间写个详细的教程。 iSAID数据集下载 iSAID数据集链接 下载上述数据集。 百度网盘中的train和val中包含了实例和语义分割标签。 上述…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...

GAN模式奔溃的探讨论文综述(一)

简介 简介:今天带来一篇关于GAN的,对于模式奔溃的一个探讨的一个问题,帮助大家更好的解决训练中遇到的一个难题。 论文题目:An in-depth review and analysis of mode collapse in GAN 期刊:Machine Learning 链接:...

Appium下载安装配置保姆教程(图文详解)

目录 一、Appium软件介绍 1.特点 2.工作原理 3.应用场景 二、环境准备 安装 Node.js 安装 Appium 安装 JDK 安装 Android SDK 安装Python及依赖包 三、安装教程 1.Node.js安装 1.1.下载Node 1.2.安装程序 1.3.配置npm仓储和缓存 1.4. 配置环境 1.5.测试Node.j…...