当前位置: 首页 > 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中包含了实例和语义分割标签。 上述…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事&#xff0c;必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后&#xff0c;我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集&#xff0c;就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效&#xff0c;稳定&#xff0c;易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...

PydanticAI快速入门示例

参考链接&#xff1a;https://ai.pydantic.dev/#why-use-pydanticai 示例代码 from pydantic_ai import Agent from pydantic_ai.models.openai import OpenAIModel from pydantic_ai.providers.openai import OpenAIProvider# 配置使用阿里云通义千问模型 model OpenAIMode…...

基于Java项目的Karate API测试

Karate 实现了可以只编写Feature 文件进行测试,但是对于熟悉Java语言的开发或是测试人员,可以通过编程方式集成 Karate 丰富的自动化和数据断言功能。 本篇快速介绍在Java Maven项目中编写和运行测试的示例。 创建Maven项目 最简单的创建项目的方式就是创建一个目录,里面…...

Python爬虫(四):PyQuery 框架

PyQuery 框架详解与对比 BeautifulSoup 第一部分&#xff1a;PyQuery 框架介绍 1. PyQuery 是什么&#xff1f; PyQuery 是一个 Python 的 HTML/XML 解析库&#xff0c;它采用了 jQuery 的语法风格&#xff0c;让开发者能够用类似前端 jQuery 的方式处理文档解析。它的核心特…...