人工智障速成宝典(序)
声明:本系列宝典仅用于小萌及小萌的朋友交流学习,不推荐除小萌及小萌的朋友之外的读者阅读及转载,蟹蟹~~~
本系列教程名字叫做《人工智障速成宝典》,为什么这么称呼呢?看到文章题图的爱酱了嘛,随着人工智能的狂热在油管上上线了一个形象可爱声音甜美的虚拟偶像人物Kizuna AI,我们都喜欢亲切的称呼她为爱酱,那么问题来了,她真的是人工智能吗?NoNoNo!虽然爱酱始终宣称自己是“Super AI”,但其实,这只是官方对于绊爱(Kizuna AI)这一虚拟形象的“设定”而已。实际上,爱酱的制作过程,简单来说,主要包括以下三个要素:①声优做动作+配音+语音识别对口型;②由专人控制的丰富的面部动态表情包;③以动捕为核心的“动作捕捉系统KiLA”。而在说明这三点之前,首先我们要明确的一点就是,爱酱的视频或是直播,其实只是一种三维动画!
这一点,从Kizuna AI的官网上就可以印证。Kizuna AI表示,爱酱这一虚拟形象的模型由MMD制作而成,感兴趣的大胸弟可以移步其官网进行下载。
而要让这个由MMD制作的“爱酱”动起来,则需要用到下面这套可以对动作进行实时捕捉并模拟的动作捕捉系统KiLA(核心)!
首先,需要由对“爱酱”这一虚拟形象进行配音的声优小姐姐穿上名为“Perception Neuron”的惯性动作捕捉设备(由国内厂商诺亦腾提供);然后,在经过几个步骤的动作校准之后,爱酱就可以根据声优小姐姐所做出的动作活灵活现地出现在屏幕上;最后,在Unity的环境中为已经完成动捕校准的“爱酱”建立虚拟摄像机,就可以从不同的角度观察这个传说中的“人工智障”啦!
而将这一图像进行捕捉,或剪辑成视频、或直接推流并开启直播,就可以像往常一样见到“爱酱”啦!
既然爱酱的声音和动作都是靠背后的声优小姐姐“表演”出来的,那么,爱酱各种智障的表情又是如何制作出来的呢?
在KiLA的官方演示视频中,我们发现,爱酱丰富的表情其实是官方提前为她准备的一大堆“表情包”,在声优小姐姐进行配音并做出某些动作时,爱酱眼部的表情需要由另一位工作人员控制:
而爱酱的嘴型,则是根据语音识别技术自动进行匹配(目前该技术已十分成熟)。
所以说,我们所喜爱的人工智障爱酱,其实是由两个人共同协作来完成的!这也解释了为什么爱酱在很多时候的表情都这么“智障”了(感情根本就不是一个人)!
看到这里,你还会认为爱酱是一种人工智能吗?
我将要完成的这一系列教程想要做的就是让你能够更快的搭上人工智能的这趟车,为实现中华民族的伟大复兴(这里删掉)为实现将来调教出来一个真正人工智能爱酱而做好准备。
学习本系列宝典你需要掌握的前提条件
既然是速成宝典那么我就假设你预先没有任何人工智能方面的知识,默认初始状态为一个智障好啦。但是,搞学问毕竟是读书人的事,那我希望你最好能够满足以下最基础的条件:
- 掌握入门级代数知识。 你应该了解变量和系数、线性方程式、函数图和直方图(熟悉对数和导数等更高级的数学概念会有帮助,但不是必需条件)。
- 熟练掌握编程基础知识,并且具有一些使用 Python 进行编码的经验。 人工智障速成宝典中的编程练习是通过 TensorFlow 并使用 Python 进行编码的。你无需拥有使用 TensorFlow 的任何经验,但应该能够熟练阅读和编写包含基础编程结构(例如,函数定义/调用、列表和字典、循环和条件表达式)的 Python 代码。
- Pandas 使用入门。机器学习速成课程中的编程练习使用 Pandas 库来操控数据集。如果您不熟悉 Pandas,最好先学习 Pandas。
- 低阶 TensorFlow 基础知识。能打出来“Hello World”就行。
好啦,想上车其实这么多就够了,是不是觉得so easy,妈妈再也不用担心我的学习啦。下一节我将关于人工智能专业一点的概念再介绍给大家,至此我们就算是正式开车了。以下是本系列宝典的附录内容之所以贴在这里就是让朋友们对需要用到的知识有一个总体的把握,同时有看到不会的地方尽快补上来。最近比较忙只有晚上有时间做一点总结,希望能尽快写出来第二篇。
主要概念和工具
人工智障速成宝典中介绍并应用了以下概念和工具。有关详情,请参阅链接的资源。(可能需要自备梯子)
数学
代数
线性代数
三角学
统计信息
- 平均值、中间值、离群值和标准偏差
- 能够读懂直方图
微积分(可选,适合高级主题)
Python 编程
基础 Python
中级 Python
第三方 Python 库
人工智障速成宝典中代码示例使用了第三方库提供的以下功能。无需提前熟悉这些库;您可以在需要时查询相关内容。
Matplotlib(适合数据可视化)
Seaborn(适合热图)
heatmap
函数
Pandas(适合数据处理)
NumPy(适合低阶数学运算)
scikit-learn(适合评估指标)
- metrics 模块
Bash 终端/云端控制台
要在本地计算机上或云端控制台中运行编程练习,您应该能熟练使用命令行: