【论文阅读笔记 + 思考 + 总结】MoMask: Generative Masked Modeling of 3D Human Motions

news2024/9/22 13:45:01

创新点:

  1. VQ-VAE 👉 Residual VQ-VAE,对每个 motion sequence 输出一组 base motion tokens 和 v 组 residual motion tokens
  2. bidirectional 的 Masked transformer 用来生成 base motion tokens
  3. Residual Transformer 对 residual motion tokens 进行建模

 

1. Residual VQ-VAE

VQ 0:就是和 T2M-GPT 一样的 codebook(T2M-GPT 的 VQ-VAE 只有这一级) 👉 base motion tokens

VQ 1:就是把 Encoder 的 output - VQ 0 codebook 的 embedding,对 residual(差值)的结果建立一个 codebook 👉 residual motion tokens

VQ V:(以此类推) 👉 residual motion tokens

decode 的时候,把每个层级的 token embedding 加起来,得到一个 embedding,送入 Decoder 里。

训练

这里和 T2M-GPT 的 VQ-VAE (下面这个公式)有一点区别:

T2M-GPT 的 loss 由三部分组成,对比 MoMask 里 RVQ 只有 T2M-GPT 里 VQ 的 commit loss,不包含 embed loss

MoMask 里 RVQ 的 b 是编码过后,codebook 里的 embedding;T2M-GPT 的 Z 是进入 codebook 前的 embedding

sg 里的是 codebook 里的 embedding

效果

这个是 T2M-GPT 里 VQ 的结果,FID 在 0.07 左右

这个是 MoMask 里 RVQ 的结果:

1. 不用 Residual(w/o RQ)就是单层级的 VQ(和 T2M-GPT 里 VQ 类似),FID 在 0.091 左右,比 T2M-GPT 里 VQ 稍微差一点(估计的 reconstruction loss 少了那一部分的原因?)

2. 用了多层级 motion tokens 后,也就是 with residual(MoMask)后,FID 是 0.019,提升蛮多。说明 residual 多层级 motion tokens 影响还蛮大的。

注意

作者不希望 residual motion tokens 削弱 base motion tokens 的表达能力,还是希望 base motion tokens 能存储尽可能多的信息。所以在训练的时候还提出了一个 Quantization Dropout 的策略,即 randomly disables the last 0 to V layers with probability q ∈ [0, 1] during training.

Implementation Details

q = 0.2;V = 5

 

2. Masked transformer

1. 随机替换掉序列中占比 mask ratio 这么多的 motion tokens,替换为 a special [MASK] token

2. 在给定 text embedding(用 CLIP 提取)和 the sequence after masking 的情况下,去预测 masked tokens

注意

训练时,mask ratio 是变化的,取值范围在 0-1.

训练过程中用了 BERT 的 remasking 策略:如果某个 token 要被 mask,那它有:(1)80% 的可能被替换为 [MASK] token;(2)10% 的可能被随机替换为其他 tokens;(3)10% 的可能不变。

预测

First,所有的 tokens 都是被 mask 的。给定 text embedding,预测所有 tokens.

Next,保留置信度大的 tokens,mask 住置信度小的 tokens,预测被 mask 的 tokens.

让 Masked transformer 预测 L 次(L = 10),得到最终的 base motion tokens

 

3. Residual transformer

结构和 Mask Transformer 类似,区别在 Residual transformer 有 V 个不同的 token embedding layers

训练时,随机选择一个层级 j 进行学习:该层级之前所有层级(0 到 j-1)的 tokens 会经过各自的 token embedding layers,得到对应的 embedding,然后相加,作为当前层级的 input token embedding。

那么,当前层级 j 的学习任务就为:给定(1)当前层级的 input token embedding、(2)text embedding,和 (3)层级 id,目标是去预测(predict)当前层级 j 的 residual motion tokens

注意:为了高效训练,第 j 个层级的 token predicting layers 和 第 j+1 个层级的 token embedding layers 共享参数。

整体推理流程

此外,他们还采用了 classifier-free guidance (CFG),即

在训练时,10% 的时候,不给 text embedding

推理时,推理两遍:一遍不给 text embedding,一遍给 text embedding。两遍的 final linear projection layer before softmax 的输出值按如下公式加和,得到最终的 logits.

 

limitations

  1. diversity 不高。
  2. 生成 motion 的时候,需要 motion 的序列长度。
  3. 面对这类 fast-changing root motions, such as spinning 的动作,生成还是会有一些问题(VQ 普遍存在的问题)。

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

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

相关文章

机器学习 | 分类算法原理——似然函数

Hi,大家好,我是半亩花海。接着上次的逻辑回归继续更新《白话机器学习的数学》这本书的学习笔记,在此分享似然函数这一分类算法原理。本章的分类算法原理基于《基于图像大小进行分类》项目,欢迎大家交流学习! 目录 一、…

个性化你的生产力工具:待办事项App定制指南

国内外主流的10款待办事项软件对比:PingCode、Worktile、滴答清单、番茄ToDo、Teambition、Todoist、Microsoft To Do、TickTick、Any.do、Trello。 在寻找合适的待办事项软件时,你是否感到选择众多、难以决断?一个好的待办事项工具可以大大提…

stl-algorithm【1】

#include《algorithm》 交换两数swap(x,y) 不只可以交换两个“数”(数据类型) 翻转【借助迭代器】reverse(it1,it2) 仍是左闭右开

国产开源夜莺部署

使用二进制方式部署夜莺 - 快猫星云 (flashcat.cloud) # install mysql yum -y install mariadb* systemctl enable mariadb systemctl restart mariadb mysql -e "SET PASSWORD FOR rootlocalhost PASSWORD(1234);"# install redis yum install -y redis systemctl…

navicat 17 下载安装

百度网盘 通过网盘分享的文件:Navicat17 链接: https://pan.baidu.com/s/1nFFQzWhjxRUM_X6bVlWNGw?pwd8888 提取码: 8888 1.双击运行安装包 2.点击下一步 2.勾选我同意,点击下一步 3.自定义安装路径,点击下一步 4.注意勾选桌面快捷方式&a…

编程新手指南:从入门到精通

编程小白如何成为大神?大学新生的最佳入门攻略 编程已成为当代大学生的必备技能,但面对众多编程语言和学习资源,新生们常常感到迷茫。如何选择适合自己的编程语言?如何制定有效的学习计划?如何避免常见的学习陷阱&…

基于YOLOv8的高压输电线路异物检测系统

基于YOLOv8的高压输电线路异物检测系统 (价格88) 包含 【“鸟窝”,“风筝”,“气球”,“垃圾”】 4个类 通过PYQT构建UI界面,包含图片检测,视频检测,摄像头实时检测。 (该系统可以根据数…

众人帮蚂蚁帮任务平台修复版源码,含搭建教程。

全修复运营版本的任务平台,支持垂直领域细分,定向导流,带有排行榜功能,任务发布上传审核,用户信用等级,充值接口等等均完美可用。支付对接Z支付免签接口,环境配置及安装教程都已经打包。 搭建环…

ARM学习(31)编译器对overlay方式的支持

ARM学习(31)编译器对overlay方式的支持 1、overlay介绍 overlay:重叠得意思,就是可以重复利用得空间,一般在内存上使用这种空间。比如以Windows操作系统为例,其存储空间(ROM/FLASH)…

springboot垂钓服务系统-计算机毕业设计源码17434

摘要 本文旨在针对垂钓爱好者的需求,基于微信小程序平台,设计并实现一套垂钓服务系统。首先,通过对用户需求进行调研和分析,确定了系统的基本功能模块,包括垂钓点信息展示、用户预约和支付、钓具租赁信息等。接着&…

WebView加载数据的几种方式

之前客户端加载H5时遇到了一些问题,我为了方便解决问题,所以将对应场景复刻到了Demo中,从之前的网络加载模拟为了本地加载Html的方式,但是没想到无意被一个基础知识点卡了一些时间,翻看往昔笔记发现未曾记录这种基础场…

【MATLAB源码】机器视觉与图像识别技术(7)续---BP神经网络

系列文章目录在最后面,各位同仁感兴趣可以看看! BP神经网络 第一节、BP网络定义第二节、BP网络结构及其特点第三节、信息传播方式 信息的正向传播:实质是计算网络的输出误差的反向传播:实质是学习过程第四节、 BP网络的算法流程…

python:plotly 网页交互式数据可视化工具

pip install plotly plotly-5.22.0-py3-none-any.whl pip install plotly_express 包含:GDP数据、餐厅的订单流水数据、鸢尾花 Iris数据集 等等 pip show plotly Name: plotly Version: 5.22.0 Summary: An open-source, interactive data visualization librar…

每日OJ_牛客HJ60 查找组成一个偶数最接近的两个素数

目录 牛客HJ60 查找组成一个偶数最接近的两个素数 解析代码 牛客HJ60 查找组成一个偶数最接近的两个素数 查找组成一个偶数最接近的两个素数_牛客题霸_牛客网 解析代码 首先需要判断素数,素数表示除过1和本身,不能被其它数整除。通过循环遍历来判断一…

飞致云开源社区月度动态报告(2024年7月)

自2023年6月起,中国领先的开源软件公司FIT2CLOUD飞致云以月度为单位发布《飞致云开源社区月度动态报告》,旨在向广大社区用户同步飞致云旗下系列开源软件的发展情况,以及当月主要的产品新版本发布、社区运营成果等相关信息。 飞致云开源大屏…

pycharm怎么使用Anaconda和配置

打开Anaconda Prompt 要删除 Conda 环境 yolov5sconda,你可以使用以下命令: conda remove --name yolov5sconda --all这个命令会删除名为 yolov5sconda 的整个环境,包括其中安装的所有包和依赖项。请在命令提示符或终端中运行此命令。执行此…

Java线程池的设计与使用

Java线程池的设计与使用 多线程情景引入 情景分析 请求积压的情况 系统资源受限: 当大量用户请求同时到来时,服务器受限于内存、CPU、和网络带宽等资源,导致用户长时间等待。后端处理能力限制: 如频率限制措施(每秒或每几秒的访问限制&…

嵌入式day15

数组指针 能够指向整个数组 一维数组: &a,考察a的数据类型 int(*p)[10]:表示一个指向长度为10的一维整型数组的指针 二维数组: 指向函数的指针 函数的函数名,即为函数的入口地址&#x…

亲测推荐!PixPin便捷高效,让你的截图工作轻松搞定,还在等什么?

前言 如果你经常使用电脑,是不是也经常遇到这样的烦恼:需要频繁地截图、标注、编辑图片,可是手里的截图工具却总是那么不给力?要么功能单一,要么操作复杂,让人头疼不已;今天咱们的小江湖就要给大…

企业邮箱收发垃圾邮件拦截吗?

企业邮箱如何拦截垃圾邮件呢?企业邮箱拦截垃圾邮件是采用用户定制化和多层防御机制,确保信息安全。用户参与改进系统,提供技术支持。本文详细介绍了企业邮箱过滤垃圾邮件的机制以及企业邮箱的注册流程。 一、企业邮箱面临的垃圾邮件挑战 1、…