从美术角度了解 MotionMatching(后悔篇T^T)

Xsens动作捕捉 2022-10-24 13338

写在前面的话:继第一篇研究MotionMatching后,本打算简单了解一下从几篇GDC、SIGGRAPH的视频,看看行业大佬在研究什么,但没想到各种专业名词、各种不懂,于是开始翻阅资料,从YouTube视频到知乎大佬们的翻译,从搜索动作捕捉技术到搜索深度学习、强化学习在游戏中的应用,觉得自己这个坑已经越挖越大,短时间内填不平...... 但是Flag已经立下,而且距离上次发文已经快一周,所以本文就作为学习记录。

一、天坑开始第一步:无知无畏的立了个Flag

还记得MotionMatching第一篇介绍最后,提到了该技术的最大的问题,就是庞大的动作数据,所以对内存的要求很高。为了解决这个问题,育碧大佬Simon在2020GDC上分享了 Machine Learning Summit:Ragdoll Motion Matching(自己立的flag就是想搞懂这篇分享)

第一篇MotionMatching的分享传送门

安心做条咸鱼:从美术角度了解 MotionMatching (启动篇)


GDC 大佬分享原视频链接:

【2020 GDC】Machine Learning Summit: Ragdoll Motion Matching

https://www.youtube.com/watch?v=lN9pXZzR3Ys&t=207s

从美术角度了解 MotionMatching(后悔篇T^T)  第1张
远远看看大佬


从美术角度了解 MotionMatching(后悔篇T^T)  第2张
大佬头像

该分享的大致内容就是在MotionMatching的核心基础上,增加了AI领域的知识,使得游戏中的角色通过mocap的数据,结合人工智能技术(公式、算法)进行自我训练,从而做到有限的动画数据量,适应无限可能性的动画情景

而Simon在分享中重点提到的名词就是“强化学习”(Reinforcement Learning/RL)


---------------- 华丽分割线,为了搞懂强化学习,研究了几天 ( T^T ) ---------------


下面将进入人工智能领域的名词解释时间(依旧不打算照抄网上的解释,依旧使用自己的语言做解释)


名词解释一:人工智能

AI(Artificial Intelligence), 起源1956年,计算机学科的一个分支,在AlphaGo打败围棋高手之前,公认是个浪费时间、浪费金钱、浪费生命的学科。

但是现在生活中,图像识别(换脸、扫描指纹、车牌识别、温度扫描)、自然语言处理(语音和文字互转、自动翻译)、机器人等等等等都算是AI,而且无形的深入我们的生活。

说白了就是一些人不想做、懒得做、甚至做不了的事情,发明人工智能,让机器来做。(所以我们长开玩笑的一键Key动画功能,也算是一种AI,hhh)


名词解释二:机器学习(Machine Learning)

简称ML,实现人工智能的重要方法。最初提出这个概念,是想做到“不需要特定性编程,就可以赋予机器某项技能”

核心:“喂”大量数据、学习、找规律、输出结果

一句话总结机器学习:好的ML,就是扔给对方所有高中教材课本,还你一个高考状元


名词解释三:深度学习(Deep Learning)

简称DL,机器学习ML的一个分支。最初的机器学习在发展中,算法不足以支持解决一些更复杂的问题,所以就给机器学习增加了维度,出现深度学习

深度学习一定跟“神经网络”(Neural Network / NN)这个名词在一起

因为它参考了生物神经网络系统,出现的人工神经网络算法(坑越来越大,生物科学的知识都出来了,神经元、树突、轴突、突触...... 吐血)


简单点解释神经网络、神经元、数据传导:

下面是自己做的一个动图,来模拟神经元数据传导数据

从美术角度了解 MotionMatching(后悔篇T^T)  第3张


所以深度学习中,几个关键点:


  1. 阈值对比:信息只有达到一定的阈值才能被激活,所以阈值怎样设定很关键
从美术角度了解 MotionMatching(后悔篇T^T)  第4张
阈值怎样设定很关键

2. 带有特殊信息的数据继续传到:传递给下一个神经元的数据,以什么格式传导、分别代表什么意思,也很重要

从美术角度了解 MotionMatching(后悔篇T^T)  第5张
传递给下一个神经元的数据,以什么格式传导、分别代表什么意思,也很重要

3. 神经网络 = N个神经元 = N个阈值条件 ,每个神经元的重要性还不一样,所以增加一个权值Weight 的概念(结果乘以系数,或者偏移值Bias,然后再相加计算总数)

(等等,这段有点眼熟!!前面MotionMatching中,不就是对比pose、速度的差值,再乘以一个系数再相加??/恍然大悟状)

从美术角度了解 MotionMatching(后悔篇T^T)  第6张
MotionMatching系列的第一篇文章,传送门在文章最开始处


4. 最终,利用多层神经网络系统,让机器人”脑子“发达起来 (科学家真会”搞事情“)

从美术角度了解 MotionMatching(后悔篇T^T)  第7张
庞杂的系统、多层神经网络


但是,在深度学习实际操作层面,会发现很多问题,翻阅了网上的解释,翻译成“人话”:

大佬们想要让计算机自己学习,自我培养,就像人类的成长一样,但是大脑的形成哪那么容易可以模拟的出来,所以只能在某些特别的关键环节,进行人为参与,增加一些条件限定,让机器在有限的范围内,达到一定深度学习的能力

而且事实证明,这个方法可行:AlphaGO就是最好的例子

从另一个角度说,深度学习的出现,AI这个领域才真的站起来了!


在这部分,又会发现很多新的名词:(又到了增加奇怪知识点的时候了,可惜我也不打算做解释)
无监督学习(Unsupervised Learning)
有监督学习(SupervisedLearning)
隐藏层(HiddenLayer)
半监督式学习(Semi-supervised Learning)
集成学习(Ensemble Learning)
......
这些名词没有做过多研究,但是能有一个大致的理解,也就是机器学习领域,其实很非常多的算法、公式、方法,每个方法都有自己的优点、缺点,也有很多是随着时代技术的变化而变得”更重要“或者变得”过时“。 大佬们在研究自己的领域时,可以借鉴、参考这些算法、公式,从而有选择的结合某些功能,找到新的突破口。
个人觉得,这些知识暂时没有细究的必要,等到真的需要用的时候,再去仔细了解就好,没必要浪费太多时间。


名词解释四:强化学习(Reinforcement Learning)

终于到了强化学习,终于到了最开始Simon大佬分享的知识点,,,
(感谢能坚持看到这里的小伙伴,佩服大家的毅力)


简称RL,机器学习(ML)的另一个分支,其本质是在实践中成长,试错中成长。所以对场景、多次实验的依赖性很高,而在现实生活中,真实场景的“试错”是很难实现的,比如自动驾驶,如果从零开始训练,汽车需要经历无数次装车才能学会,这个成本太高了。

但是游戏这个虚拟世界中,就可以建立一套仿真的虚拟环境,让AI在这个世界中不断的“是错”成长。

所以现在越来越多的游戏领域,加入“强化学习”的概念来做研究。


目的:适应不同环境

方式:模仿一个人或动物的学习过程,通过感知、行为、奖励的循环,来训练自己。

关键词:奖励系统 + 自我学习 + 快速反应

特点:学习速度非常快,每一次行动,都会对下一次的行动产生影响


名词解释五:深度强化学习(Deep Reinforcement Learning)

简称DRL,结合深度学习强化学习两方面的特点

深度学习 —— 多层神经网络的概念(一个厉害的大脑)

强化学习 —— 在环境中不断的试错、训练、快速反馈(敏捷的四肢)

从而训练游戏中的Character!


其实Simon的GDC分享中,最终就是用到了深度强化学习这个概念,在强化学习中,加入深度学习中的神经网络概念,解决了一些细节问题,从而得到一系列公式。


最后放上人工智能领域中,以上几种学习的关系图:

从美术角度了解 MotionMatching(后悔篇T^T)  第8张

到这里, 本篇告一段落,虽然中途后悔、自我怀疑为什么开这么一个坑,但是此时此刻写完,还是觉得有很大收获,这个过程有点痛苦,收集资料收集了很多,并且花了大部分时间进行阅读、消化、整理,但这些都是值得的!

总结

本篇对MotionMatching几乎没什么关系,主要就对人工智能AI领域做了一个小小的入门级介绍,希望对大家有点点帮助(至少看到一个名词,可以知道怎样搜索相关信息)

个人感想

AI这个领域太过庞大,也是百家争鸣,从最开始这个概念出现,最大的问题就是”落地“,任何技术能真正应用到工业化阶段都需要一个漫长的过程,也需要很多人多年的努力。不过站在现在这个时间点上看过去,大佬们的坚持是值得的。

那反观游戏行业,人工智能的加入,是不是也会在很多年后对游戏行业产生一个从量变到质变的影响?我愿拭目以待!

Flag不倒:

下一篇会正式介绍Simon大佬的GDC分享,从美术的角度讲解Learning MotionMatching到底是个什么玩应儿!敬请期待!



参考链接:

(同样感谢知乎中的大佬们,给很多视频做了翻译讲解)

第一部分 —— GDC 原文参考:

【2020 GDC】Machine Learning Summit: Ragdoll Motion Matching


第二部分:发现很多SIGGRAPH的相关分享,都是基于深度学习、强化学习做的分享(按时间排序)

【2016 SIGGRAPH】 A Deep Learning Framework for Character Motion Synthesis and Editing

【2017 SIGGRAPH】 Phase-Functioned Neural Networks for Character Control

简称PFNN,当时取得了轰动性的展示效果,目前基本是该领域的benchmark

【2018 SIGGRAPH】 Mode-Adaptive Neural Networks for Quadruped Motion Control

做四足动物动作生成

【2019 SIGGRAPH】 Neural State Machine for Character-Scene Interactions

开始尝试解决交互问题

【2020 SIGGRAPH】 Local Motion Phases for Learning Multi-Contact Character Movements

更加复杂的篮球问题


第三部分 —— 太多英文了,看不懂,于是知乎搜索相关文章

翻译篇一:GDC 2020技术导览-Ragdoll Motion Matching


翻译篇二:Siggraph Asia 2019技术导读-用于角色与场景交互动画的神经状态机

翻译篇合集:图形学论文泛读

以上两位大佬作为专业的学术研究,在知乎上翻译了很多SIGGRAPH文章,很赞!在这里感谢大佬们


第四部分 —— 自己的整理(信息收集、整理、加工)

从美术角度了解 MotionMatching(后悔篇T^T)  第12张
印象笔记中 MotionMatching中的记录
从美术角度了解 MotionMatching(后悔篇T^T)  第13张
印象笔记中 关于AI的记录

The End