运动生成学习周报(2)

本周总结

  1. 这周精读了两篇论文,「LivelySpeaker: Towards Semantic-Aware Co-Speech Gesture Generation」和「GestureDiffuCLIP: Gesture Diffusion Model with CLIP Latents」,粗读了两篇论文,「Avatars Grow Legs: Generating Smooth Human Motion from Sparse Tracking Inputs with Diffusion Model」和「Back to MLP: A Simple Baseline for Human Motion Prediction」

  2. 复现论文「Generating Holistic 3D Human Motion from Speech」

本周收获

1. 论文阅读方法探究

        意识到我读论文的效率太低了,读的越多浪费的时间也越多。因此决定学习一些儿高效读论文的方法。

        https://web.stanford.edu/class/ee384m/Handouts/HowtoReadPaper.pdf (体验很有用的三遍阅读法)

        具体内容参照 PDF 中的描述,就不介绍了。不过目前我还做不到第三遍阅读,即给定与论文相同的假设条件下,自己该如何实现?还得多读论文,构建一下高视野。

2. 复现论文过程中学到的知识点

SMPL 模型定义的 24 个关节点及其位置

3. 论文阅读收获

        意识到像之前那样事无巨细地记录论文阅读中的细节可能不太必要(也花费太多时间),因此之后我将尝试论文笔记的重点转移到:

  • 简要概括论文

  • 对论文的疑问、探究和解决

  • 方法缺点和可能改进的方向

  • 论文对比

  • 启发

  • ……

(1) LivelySpeaker: Towards Semantic-Aware Co-Speech Gesture Generation

        如上图所示,方法框架分为两个阶段:

  1. 第一阶段:给定一段文本脚本,通过 CLIP 预训练模型,生成一段语义协同的动作

  2. 第二阶段:给定说话人的音频和身份 ID,训练 Diffusion 模型来学习音频中的节奏

  3. 推理阶段:给定脚本,生成语义一致的动作,加噪后再送入训练好的 Diffusion 模型中去噪,从而为动作赋上节奏特性

        这种把动作的语义特性和节奏特性拆开来分别赋予的方式还挺有意思的。结果在分布、节奏性、多样性的综合表现也胜过其他方法。(很好奇为什么没有评估语义一致性,这也是为什么后来我会去读 GestureDiffuCLIP 这篇文章的原因)

        论文中让我学习(惊讶)的一点是,Diffusion 去噪网络的学习不是传统的 UNet 网络或新兴的 DiT 模块,而是使用多个 MLP 去进行噪声预测,生成的结果的节奏更好,也更平滑。消融实验中使用 transformer 预测噪声的性能反而会更差。

        我很好奇为什么会这样,因此追根溯源,粗读了 Diffusion 部分的引用论文「Avatars Grow Legs: Generating Smooth Human Motion from Sparse Tracking Inputs with Diffusion Model」,和 Avatars Grow Legs 相关部分的引用论文「Back to MLP: A Simple Baseline for Human Motion Prediction」。但是两篇论文中都没有解释原因,就像是实验意外试出来的一样。(练到好丹了)以下是两篇论文的方法框架,就当扩展视野了。

(2) GestureDiffuCLIP: Gesture Diffusion Model with CLIP Latents

        方法框架分为三个阶段

  1. 第一阶段:使用 VQ-VAE 对动作空间进行建模,降低动作表示冗余

  2. 第二阶段:通过对比学习的方法,训练两个编码器,融合动作和文本的表示空间

      3. 第三阶段:给定当前音频特征和脚本,训练 Diffusion 模型在 VQ-VAE 空间中去预测当前的动作表示。同时,采用自回归的方式,每一帧的动作预测中还会考虑到前一帧的动作。

        这论文就很有意思了,使用自回归的方式生成动作序列,使用扩散模型的方式生成每一帧的动作。生成结果从定性和定量的角度来看都很不错。

        这篇论文的代码因为商业关系没有开源,我觉得是有比较大的复现意义的。其中脚本--动作的两个编码器可以用来衡量动作的语义一致性。

        和 LivelySpeaker 相比,GestureDiffCLIP 则是将脚本和音频作为条件同时注入到 Diffusion 模型,将语义和节奏特征融入到动作中。不能说哪种特征融入方式更好,但是 GestureDiffCLIP 这种对不同模态空间的处理方式是值得学习的。

        在论文的补充材料中,作者也提到可是使用 GPT 对脚本进行细化,从而可以更好地去指导动作生成。(可恶,在没看补充材料之前我也是这么想的。)在 OpenAI DALL-E 3 中也有类似的操作。但因为 GestureDiffCLIP 是逐帧生成的,因此不需要像 DALLE-3 一样,因为文本细节的增多,需要对模型捕捉文字的能力进行一个重训练。

下周计划

  • 精读两篇以上的论文,粗读待定

  • 复现论文「LivelySpeaker: Towards Semantic-Aware Co-Speech Gesture Generation」或「ConvoFusion: Multi-Modal Conversational Diffusion for Co-Speech Gesture Synthesis」

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值