当前位置: 首页 > 编程日记 > 正文

谷歌 AI 编舞师,连张艺兴最喜欢的 Krump 都不在话下

编译 | 禾木木

出品 | AI科技大本营(ID:rgznai100)

舞蹈一直是文化、仪式和庆祝活动的重要组成部分,也是一种自我表达的方式。今天,存在多种形式的舞蹈,从舞厅到迪斯科。然而,舞蹈是一种需要练习的艺术形式。通常需要专业培训才能为具有多种舞蹈动作的舞者创作富有表现力的编舞。虽然这个过程对人们来说很困难,但对于 ML 模型来说要困难得多,因为任务涉及产生具有高电影复杂性的连续运动,以及运动与伴随音乐之间的非线性关系。

这次谷歌用 Transformer 制作了一个会根据音乐跳舞的 AI 。

无论是动作还是风格都能完美驾驭,你 pick 哪个舞种呢

舞蹈风格的由来

谷歌的这项新研究引入了全注意力跨模态 Transformer (FACT) 模型,该模型可以模仿和理解舞蹈动作,甚至可以提高一个人编舞的能力。

除此之外,该团队还发布了 AIST++,这是一个大规模、多模态的 3D 舞蹈动作数据集。该数据集包含 5.2 小时的 3D 舞蹈动作,包含 1408 个序列,涵盖十种舞蹈类型,每一种都有多视图视频和已知的姿势。他们的研究结果表明,在对 AIST++ 的广泛用户研究中,FACT 模型优于当前最先进的方法。

为了创建 3D 运动数据集,研究人员使用了现有的 AIST 舞蹈数据库,这是一组带有音乐伴奏但没有 3D 信息的舞蹈电影。

AIST有十种舞蹈风格:Old School(Break、Pop、Lock和Waack)和New School(Break、Pop、Lock和Waack)(Middle Hip-Hop、LA-style Hip-Hop、House、Krump,街头爵士和芭蕾爵士)。虽然它提供了舞者的多视图视频,但这些相机并没有校准。

他们能够用广泛使用的 SMPL 3D 模型中的参数重建相机校准参数和 3D 人体运动。生成的数据库 AIST++ 是一个大规模的 3D 人类舞蹈动作数据集,具有与音乐匹配的各种 3D 动作。

十种舞蹈风格都均匀地呈现在动作中,涵盖了每分钟节拍数 (BPM) 的各种音乐节奏。每种舞蹈类型都有 85% 的基本动作和 15% 的高级动作(更长的编舞由舞者自由设计)。AIST++数据集还包括多视图同步图片数据,可用于各种研究领域,包括2D/3D、姿态估计。

该模型必须学习音频和运动之间的一对多映射,这在跨模态序列到序列合成中提出了一个独特的问题。他们使用 AIST++ 创建不重叠的训练和测试子集,确保它们之间不会共享编舞或音乐。

FACT 模型

该团队使用 FACT 模型数据集训练,并根据音乐生成 3D 舞蹈。该模型使用独立的运动和音频转换器,首先对种子运动和音频输入进行编码,然后将嵌入连接起来并传送到跨模态转换器,学习两种模态如何对应并生成 N 个未来的运动序列。然后利用这些序列来自我监督模型的训练,端到端,三个变压器都是一起学习的。他们在测试时在自回归框架中使用此模型,并将预期运动作为下一代阶段的输入。因此,FACT 模型可以生成逐帧的远程舞蹈动作。

为了让 AI 生成的舞蹈生动且和音乐风格保持一致,FACT 模型设计主要是以下三个关键设计点:

  • 由于内部 token 可以访问所有输入,因此所有 transformer 都使用全注意mask,这比传统的因果模型更具表现力。

  • 他们不是只预测下一个动作,而是训练模型来预测当前输入之外的 N 个后续动作。这有助于模型关注上下文,避免模型在经过几个生成步骤后出现运动停滞或发散。

  • 此外,在训练过程他们还使用一个 12 层深的跨模态transformer 模块来融合两个embedding(运动和音频)。研究人员表示,这对于训练模型倾听分辨音乐至关重要。

FACT 和三种 SOTA 对比结果

研究人员根据三个指标评估模型的性能:

  • 动作质量:为了确定运动质量,他们计算了 Frechet 起始距离 (FID),即 AIST++ 测试集的真实舞蹈运动序列与 40 个模型生成的运动序列之间的距离,每个序列具有 1200 帧(20 秒)。

  • 动作多样性:他们计算了 AIST++ 测试集上 40 个创建的运动的特征空间中的平均欧式距离。分别用几何特征空间Distg和动力学特征空间k来检验模型生成各种舞蹈动作的能力。

  • 动作与音乐的相关性:他们提出了一种称为 Beat Alignment Score 的新指标,用于评估输入音乐(音乐节拍)和输出 3D 运动(运动节拍)之间的关联,因为不存在设计良好的指标 (BeatAlign)。

他们将 FACT 和三种 SOTA 模型的对比结果:

图片

结果表明,与之前的方法(如 DanceNet 和 Li 等人)相比,使用 FACT 模型生成的 3D 舞蹈更逼真,并且与输入音乐的关联性更好。

图片

对于此项研究,你怎么看呢?

你更喜欢哪个舞种呢?

Paper: 

https://arxiv.org/abs/2101.08779

Project: 

https://google.github.io/aichoreographer/

GitHub: 

https://github.com/google-research/mint

Dataset: 

https://google.github.io/aistplusplus_dataset/

Model: 

https://github.com/google-research/mint

Source: 

https://ai.googleblog.com/2021/09/music-conditioned-3d-dance-generation.html

参考链接:

https://www.marktechpost.com/2021/09/15/google-ai-introduces-full-attention-cross-modal-transformer-fact-model-and-a-new-3d-dance-dataset-aist/

本文由AI科技大本营翻译,转载请注明出处。

相关文章:

Python 字典(Dictionary)

Python 字典(Dictionary)字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:d {key1 : value1, key2 : value2 …

Varnish Cache 3.0.0安装

https://www.varnish-cache.org/installation/redhat Installation on RedHat 先按需要的模块 在安装软件包之前首先看看主机上的 automake autoconf libtool ncurses-devel libxslt groff pcre-devel pkgconfig软件包是否已经安装 如果没有那么就要首先安装&#xff…

three.js绘制过程(二)

2019独角兽企业重金招聘Python工程师标准>>> 同一个场景中可以有多个摄像机,同一个屏幕缓冲区可以分块绘制不同的物体。 WeblGLRender 中autoClear 设定为false之后, 每次绘制不会清空缓冲区; setSize 设定canvas的大小 setViewpo…

AI 不可以作为专利认证发明人,“因为它不是人”

编译 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 英格兰和威尔士上诉法院本周驳回了一名男子的请求,该男子要求法院承认他的人工智能系统为两项专利的发明者。 总部位于美国的 Imagination Engines 的创始人 Stephen Thaler 想要给智能机器…

使用工作集(Working Set)整理项目

Eclipse鼓励将不同的功能模块划分为独立的项目存在,这样不但结构清晰,组织起来还非常灵活,因为我们可以用feature对这些项目进行不同的组合,输出后得到具有不同功能的产品。 不过这样一来Package Explorer里的项目会以更快的速度增…

深入探讨Varnish缓存命中率

也许你还在为刚才动态内容获得7336.76 reqs/s的吞吐率感到振奋,等等,理想和现实是有差距的,你要忍受现实的残酷,别忘了,我们压力测试中的动态内容都处于全缓存情况下,也就是每次请求都命中缓存,…

网易有道词典笔 —— 73 岁“人类高质量”奶奶梅耶马斯克的中文学习之选

继埃隆马斯克发微博称7000年后英语将不复存在后,他的忠实粉丝,同时也是他的母亲——梅耶马斯克也正式开启了学习新语言行动,值得注意的是,梅耶的语种选择是中文。近日,埃隆马斯克的母亲——梅耶马斯克使用有道词典笔学…

Android类库打包方法探究

为什么80%的码农都做不了架构师?>>> 开发Android应用的时候,对于可用于多个应用的公用的部分,或是打算发布给第三方进行应用集成的部分,要把这部分打包成类库怎么做呢? 众所周知,Android应用使用ADT打包成…

大叔也说并行和串行`性能提升N倍(N由操作系统位数和cpu核数决定)

并行是.net4.5主打的技术,同时被封装到了System.Threading.Tasks命名空间下,对外提供了静态类Parallel,我们可以直接使用它的静态方法,它可以并行一个委托数组,或者一个IEnumerable的迭代,而今天主要通过一…

这7个开源技术,支撑起整个互联网时代

转载自 钛媒体 - 这7个开源技术,支撑起整个互联网时代 开源软件现在成为整个互联网时代的支撑技术,你可能已经无法离开由开源软件构建起来的网络世界了。下面我们就来看看一些最重要的开源技术。 为互联网而生的操作系统linux Linux是一款免费的操作系统…

WebDriver 识别反爬虫的原理和破解方法~

作者|志斌来源|python笔记有时候我们在爬取动态网页的时候,会借助渲染工具来进行爬取,这个“借助”实际上就是通过使用相应的浏览器驱动(即WebDriver)向浏览器发出命令。但是有时候使用浏览器驱动来爬取网页时,会遇到这种情况这时&#xff0c…

Linux下文件如果没有权限不能被Apache访问

通过 apache的网站 php和图片都可以显示 就是 Htm页面不行 报错 Forbidden You dont have permission to access /me/1.html on this server. 其实是权限设置问题 可以 到文件所在目录 使用命令查看权限 #ls -al 再使用chmod命令给予足够权限即可 #chmod 0644 文件名…

html标签的显示模式(块级标签,行内标签,行内块标签)(转)

html标签的显示模式(块级标签,行内标签,行内块标签) 今天讲课的时候,讲到了html中的标签的显示模式,大致分为块级标签和行内标签。那么初学者在刚使用标签的时候会发现有些属性在一些标签上不起作用&#x…

RT-thread内核之进程间通信

一、进程间通信机制 rt-thread操作系统的IPC(Inter-Process Communication,进程间同步与通信)包含有中断锁、调度器锁、信号量、互斥锁、事件、邮箱、消息队列。其中前5个主要表现为线程间同步,邮箱与消息队列表现为线程间通信。本…

Linux内核学习四库全书

关于内核学习我建议不要上来就读内核而是先了解内核的构成和特性,然后通过思考发现疑问这时再去读内核源码。即先了解概貌在读局部细节。而且内核分成好多部分,不要只是按照顺序去读,应该针对某一部分比如内存管理或进程管理横向读几本书&…

46W 奖金池等你来战!微众银行第三届金融科技高校技术大赛火热报名中!

青春是什么?张爱玲曾说过,青春是个奇形怪状的玩意儿,短短的身子偏偏拖了一个长长的尾巴,像翅膀一样的招摇着,久久不肯离去。对于你我而言,青春是什么?青春也许是大学里点点滴滴的记忆&#xff1…

spring cloud快速搭建

为什么80%的码农都做不了架构师&#xff1f;>>> 一&#xff1a;注册中心 服务提供者&#xff08;简单&#xff09; 注册中心本身就可以是服务提供者&#xff0c;如果有需求可以分开。 1&#xff1a;pom.xml <?xml version"1.0" encoding"UTF-8…

ubuntu操作系统下载

原文网址&#xff1a;http://www.cyberciti.biz/linux-news/download-ubuntu-14-4-cd-dvd-iso-images/ Download of the day: Ubuntu Linux 14.04 LTS CD / DVD ISO by NIXCRAFT on APRIL 17, 2014 5 COMMENTS LAST UPDATED APRIL 17, 2014 in LINUX NEWS, OPEN SOURCE Ubuntu…

Linux内核模块编程入门

针对2.6内核的Linux系统&#xff0c;需要你的机器上已经安装了kernel-devel这个包&#xff0c;也就是编译模块所必须的东西&#xff1a;内核的头文件和一些Makefile。 一&#xff0c;Hello World程序&#xff1a; [code:1:fbc83fc10a]/*file: hello.c*/ #ifndef __KERNEL__ #…

2021中国国际消费电子博览会和青岛国际软件融合创新博览会盛大开幕

9月24日&#xff0c;备受瞩目的2021中国国际消费电子博览会(简称“电博会”)和青岛国际软件融合创新博览会(简称“软博会”)在青岛国际会展中心盛大开幕。国家工信部原副部长杨学山&#xff0c;国家工信部信息技术发展司副司长江明涛&#xff0c;中国机电产品进出口商会秘书长郭…

oracle 11g wm_concat 、 listagg 函数的使用(合并数据)

方法一 wn_concat() 函数 1、把以下图中Name一样的数据合并为一条&#xff0c;而且NO的值要这样显示如 C.1,C.2 2、实现这种效果的操作如下&#xff0c;先把Name的值进行分组&#xff08;group by&#xff09;&#xff0c;再把NO的值用 wm_concat()函数合并起来&#xff08;注意…

使用Cacti监控你的网络Cacti的安装

声明&#xff1a;本系列文档出自石头记&#xff0c;如若转载请注明出处&#xff0c;本人保留文档的所有权&#xff0c;并欢迎转载。本系列文档的其他部分链接如下&#xff1a;一、概述及Cacti的工作流程二、Cacti的安装三、Cacti的使用四、Cacti脚本及模板五、Cacti插件六、Cac…

AI 被当做炒作工具?

编译 | 禾木木 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; 上班路上由于高峰期&#xff0c;眼看就要迟到了&#xff0c;这个时候会想“如果汽车能自动完成这种高度重复的动作&#xff0c;我就可以在路上参加我的会议了”。但是你必须每几秒踩一次油门&#xff0…

毕业五年后差距

毕业五年后差距正如"打工皇帝"唐骏说&#xff1a;"我觉得有两种人不要跟别人争利益和价值回报。第一种人就是刚刚进入企业的人&#xff0c;头5年千万不要说你能不能多给我一点儿工资&#xff0c;最重要的是能在企业里学到什么&#xff0c;对发展是不是有利……&…

我的新技术博客

我是一个技术小白&#xff0c;我开启一片新的空间转载于:https://blog.51cto.com/13526168/2048988

Varnish使用小结

文章原始出处和作者信息及 本声明http://iyubo.blogbus.com/logs/35085709.html此日志会随时更新&#xff0c;当然&#xff0c;是随着我的应用积累:) 实现静态文件压缩 Varnish itself does not compress or decompress objects, although that has been on our wish list fo…

EF 通用数据层类

EF 通用数据层父类方法小结 转载&#xff1a;http://www.cnblogs.com/yq-Hua/p/4165344.html MSSql 数据库 数据层 父类 增删改查&#xff1a; using System; using System.Collections.Generic; using System.Data; using System.Data.Entity; using System.Data.Entity.Infra…

最新的B站弹幕和评论爬虫,你们要的冰冰来啦!

作者 | 周萝卜 来源 | 萝卜大杂烩 最近想爬下B站的弹幕和评论&#xff0c;发现网上找到的教程基本都失效了&#xff0c;毕竟爬虫和反爬是属于魔高一尺、道高一丈的双方&#xff0c;程序员小哥哥们在网络的两端斗智斗勇&#xff0c;也是精彩纷呈。 当然了&#xff0c;对于爬虫…

K:java中的序列化与反序列化

Java序列化与反序列化是什么&#xff1f;为什么需要序列化与反序列化&#xff1f;如何实现Java序列化与反序列化&#xff1f;以下内容将围绕这些问题进行展开讨论。 Java序列化与反序列化 简单来说Java序列化是指把Java对象转换为字节序列的过程&#xff1b;而Java反序列化是指…

千万级并发HAproxy均衡负载系统介绍

Haproxy介绍及其定位 HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理&#xff0c;支持虚拟主机&#xff0c;它是免费、快速并且可靠的一种解决方案。根据官方数据&#xff0c;其最高极限支持10G的并发。 HAProxy特别适用于那些负载特大的web站点&#xff0c; 这些…