Bailando 音乐生成舞蹈网络学习

2024-08-23 16:44

本文主要是介绍Bailando 音乐生成舞蹈网络学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、代码/论文

二、Bailando: 3D Dance Generation by Actor-Critic GPTwith Choreographic Memory

        Bailando :演员评论家GPT与编舞记忆的3D舞蹈生成

三、论文学习:

1、现阶段音乐生成舞蹈的挑战:现有CNN等直接音乐特征映射舞蹈特征的方法无法给舞蹈施加空间约束。裁剪、拼接舞蹈动作块方法,很难对齐节奏和节拍。

1)空间约束:由音乐生成的舞蹈根据编舞规范需要施加空间约束,并非所有物理上可行的3D人体姿势都适用于舞蹈。舞蹈式姿态的子空间对身体有更严格的位置标准,并根据编舞规范选择性地具有视觉表现力和情感感染力。

2)与音乐的时间一致性:生成的舞蹈需要与不同的音乐流派保持时间上的一致性,生成的舞蹈序列在各种类型的节拍上应与音乐节奏保持一致,同时保持整个动作流畅。

2、本文方法解决上述问题:

 1)空间约束:通过总结舞蹈风格子空间动作的基本和可重用部分,本文建立了一个量化舞蹈单元的有限字典,及舞蹈记忆,本文使用 VQ-VAE 无监督的方式将3D关节序列编码和量化到代码本中,,其中每个学习到的代码都显示为代表独特的舞蹈姿势。为了进一步扩大编排记忆可以表示的范围,将3D姿势划分为组成的上半身和下半身,并分别学习半身体的vq-vae,这样任何一段舞蹈都可以表示为成对的姿势代码序列。

2)时间一致性:为了生成时间和谐的舞蹈序列,引入了一种名为运动GPT的类似GPT的网络,将音乐和源姿态代码转换为目标的未来姿态代码。由于三维姿态在编舞记忆中被划分为组合半体,我们提出了交叉条件因果注意层来增强运动GPT,以保持生成体的连贯性。此外,为了实现不同运动节奏和音乐节拍之间的精确时间同步,我们应用了一种策略强化学习方案,通过演actor-critic GPT 微调和新设计的节拍对齐奖励函数来进一步提高运动GPT。

3)本文贡献:(1)创建了一个编码记忆网络VQ-VAE,编码和量化舞蹈3d姿势(2)创建了一个结合编舞记忆和交叉条件因果注意的 actor-critic GPT网络

3、本文方法:与其他基于学习的方法不同,我们不会学习从音频特征到 3D 关节序列连续域的直接映射。相反,我们首先将空间标准舞蹈动作编码并量化为有限码本 Z 作为编舞记忆,每个代码 zi 都表示具有上下文语义信息的舞蹈姿势。具体来说,我们分别在上半身和下半身学习 VQ-VAE,并将舞蹈动作表示为一系列组合的上下姿势代码对 p = [pu; pl]。然后,我们引入运动 GPT 将音乐特征和源姿势代码转换为未来的姿势代码。此外,为了实现生成的动作节奏和音乐节拍之间的同步对齐,我们在提出了在动作 GPT 上使用我们新设计的节拍对齐奖励强化学习进行演员评论家学习。生成的姿势代码序列最终由 VQ-VAE 解码器解码并组合成流畅的 3D 舞蹈。

1)舞蹈记忆网络:VQ-VAE 网络修改为3d动作编码量化网络

(1)把动作转为 J×3 3D世界坐标系点位、并分成上下两部分分别做以下步骤

(2)经过 E 进行编码,把帧数×节点上×位置信息(T,J,3)-> e动作特征矩阵 (T,C=512)

(3)经过编码记忆密码本 Choreographic Memory Codebook, 他的作用可以输入 e (T,C)编码成(T,1)维数组,然后把这个一维数组解码成 eq(T,C)矩阵。

(4)通过两个解码器分别解码,Dp解码(T,2 到 J,3)的节点位置数据 P,Dv解吗(T,1,3)的节点位置数据V,最后拼接 [V , 上P ,下P] 成完整 (T,J,3)动作数据

(5)训练时先训练Dp,然后固定Dp参数固定,添加Dv层只预测V进行微调训练 

2)交叉条件运动GPT: actor-critic GPT 修改GPT 网络使用编码记忆密码本 Choreographic Memory Codebook 通过把e编码的一维数组数据,去训练预测下一个一维数组数字,组成一串动作数组,通过 Choreographic Memory Codebook解码成 eq ,然后舞蹈记忆网络解码成真正的动作数据

(1)通过舞蹈记忆网络将真实的3d舞蹈动作数据编码成编码记忆密码本的Pup、Plow

(2)将音乐信息和经过特征提取的 P 拼接,然后经过 Transformer 层 fs + fa输出预测未来的姿势数组 aup,alow 

(3)通过 Choreographic Memory Codebook解码、通过 舞蹈记忆网络解码成真正的动作数据

3)强化学习:加强舞蹈节拍一致性

(4)增加另一个单独三层Transformers fv 作为 评论家模型,原模型为演员模型

(5)TD-error 得分为 评论家得分 + 身体一致性得分 和 节奏对齐得分(3.3公式没看懂,有大佬看懂这部分可以留个言😄)

4、实验

这篇关于Bailando 音乐生成舞蹈网络学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1099937

相关文章

使用python生成固定格式序号的方法详解

《使用python生成固定格式序号的方法详解》这篇文章主要为大家详细介绍了如何使用python生成固定格式序号,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录生成结果验证完整生成代码扩展说明1. 保存到文本文件2. 转换为jsON格式3. 处理特殊序号格式(如带圈数字)4

Java使用Swing生成一个最大公约数计算器

《Java使用Swing生成一个最大公约数计算器》这篇文章主要为大家详细介绍了Java使用Swing生成一个最大公约数计算器的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下... 目录第一步:利用欧几里得算法计算最大公约数欧几里得算法的证明情形 1:b=0情形 2:b>0完成相关代码第二步:加

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

Python实现简单封装网络请求的示例详解

《Python实现简单封装网络请求的示例详解》这篇文章主要为大家详细介绍了Python实现简单封装网络请求的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装依赖核心功能说明1. 类与方法概览2.NetHelper类初始化参数3.ApiResponse类属性与方法使用实

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅