本書從虛擬偶像的發(fā)展歷程和制作流程入手,通過通俗的語言和多方位的視角,介紹了2D\3D建模工具和深度學(xué)習(xí)框架TensorFlow與Pytorch在虛擬偶像制作中的應(yīng)用,原理與實踐并重,同時結(jié)合大量實際范例講解如何建模、AI表情動作遷移以及人機(jī)交互等制作虛擬偶像的完整流程。從擬真人的人物建模到表情動作的實時捕捉,再到傳輸?shù)絼幼饕嬷序?qū)動人物動作,向讀者展現(xiàn)了人工智能技術(shù)的強(qiáng)大與魅力。
本書深入淺出,實操性和系統(tǒng)性強(qiáng),適合有一定IT背景并對虛擬產(chǎn)業(yè)關(guān)注的廣大讀者使用。
早在20世紀(jì)90年代日本就出現(xiàn)了虛擬偶像并進(jìn)行專輯發(fā)售,后來基于音樂軟件制作的3DCG的初音未來被稱為虛擬偶像的成功典范。近年來,隨著短視頻平臺和直播帶貨行業(yè)的興起,通過繪畫、3D建模等結(jié)合動作捕捉或人工智能的方式建立起來的虛擬偶像和網(wǎng)紅越來越多地出現(xiàn)在人們的視野,吸引著越來越多的人參與虛擬偶像網(wǎng)紅的追捧和制作。目前虛擬偶像實現(xiàn)方式上主要有兩大流派,基于動作捕捉的實現(xiàn)和基于人工智能的方式。由于傳統(tǒng)的基于動作捕捉的方式硬件成本昂貴,入門門檻較高,普通人難以企及,所以越來越多的人和團(tuán)隊開始采用人工智能的實現(xiàn)方法。
遺憾的是,國內(nèi)虛擬人物\偶像書籍的短缺限制了廣大普通讀者的創(chuàng)作,網(wǎng)絡(luò)上雖然能夠找到一些資料,但大多是一些碎片化的信息,對讀者的幫助十分有限;诖,本書從基本的概念入手,原理結(jié)合實踐,對虛擬人物\偶像制作流程及其用到的建模工具和人工智能技術(shù)進(jìn)行詳細(xì)介紹,包括3D建模的基本方式、基于TensorFlow和PyTorch的人工智能框架以及通過視頻和實時視頻流輸入生成表情遷移后的虛擬人物,結(jié)合語音識別、人機(jī)對話引擎和口型匹配算法等生成自己專屬的帶有互動屬性的虛擬人物和偶像,旨在達(dá)到降低學(xué)習(xí)門檻、人人都可以上手的效果。
本書主要包含三部分:部分是基礎(chǔ)理論部分,從行業(yè)現(xiàn)狀和發(fā)展趨勢的角度來介紹什么是虛擬偶像以及應(yīng)用的行業(yè),同時對目前業(yè)界主流的虛擬偶像實現(xiàn)方式進(jìn)行概述,讓讀者對此有一個清晰全面的認(rèn)識;第二部分是應(yīng)用實踐,介紹基于Python的TensorFlow和PyTorch的機(jī)器學(xué)習(xí)框架的算法實現(xiàn)部分,從動作同步、表情遷移以及口型同步等方法介紹作為基礎(chǔ)的框架技術(shù);第三部分是項目實踐,介紹2D和3D虛擬偶像的實現(xiàn)方式,完整展示從零到一的制作流程。
本書深入淺出,實操性和系統(tǒng)性強(qiáng),適合有一定IT背景并對虛擬產(chǎn)業(yè)關(guān)注的廣大讀者使用。
限于編者水平所限,書中難免存在不當(dāng)之處,敬請業(yè)界專家和廣大讀者批評指正。
后特別感謝王金柱編輯給予的幫助和指導(dǎo),以及好友的支持和鼓勵。
馬健健
2022年1月10日
馬健健,上海交通大學(xué)軟件工程碩士,先后供職于平安、惠普、美國強(qiáng)生等國內(nèi)外公司,擔(dān)任軟件架構(gòu)和數(shù)據(jù)分析技術(shù)經(jīng)理,擁有14年軟件開發(fā)架構(gòu)和技術(shù)管理經(jīng)驗;目前就職于上海某知名汽車公司擔(dān)任數(shù)據(jù)平臺技術(shù)經(jīng)理,從事大數(shù)據(jù)處理、挖掘等研究和實施工作。
張 翔,上海交通大學(xué)軟件工程碩士,從業(yè)十余年,先后就職于巨人網(wǎng)絡(luò)、諾亞財富、愛奇藝等互聯(lián)網(wǎng)公司,主要從事移動端開發(fā)工作,擁有豐富的軟件開發(fā)經(jīng)驗。
第1章 虛擬偶像概述 1
1.1 什么是虛擬偶像 1
1.2 虛擬偶像的發(fā)展歷程 3
1.3 虛擬偶像的現(xiàn)狀和行業(yè)應(yīng)用 5
1.4 小結(jié) 5
第2章 Python基礎(chǔ)入門 7
2.1 搭建Python編程環(huán)境 7
2.1.1 Python軟件的安裝 8
2.1.2 編寫個Python程序 9
2.1.3 Python命名規(guī)范 10
2.1.4 Python關(guān)鍵字 11
2.2 Python數(shù)據(jù)類型 11
2.2.1 數(shù)字類型 12
2.2.2 運算符 16
2.2.3 字符串 18
2.2.4 容器 19
2.3 Python控制結(jié)構(gòu) 21
2.3.1 選擇結(jié)構(gòu) 22
2.3.2 循環(huán)結(jié)構(gòu) 23
2.4 Python函數(shù) 25
2.4.1 函數(shù)定義 25
2.4.2 函數(shù)調(diào)用 26
2.4.3 匿名函數(shù) 27
2.5 Python模塊 27
2.5.1 導(dǎo)入模塊 28
2.5.2 模塊的搜索路徑 29
2.6 Python面向?qū)ο缶幊?30
2.6.1 Python類創(chuàng)建和實例 30
2.6.2 Python內(nèi)置類屬性 32
2.6.3 類的繼承 33
2.7 小結(jié) 35
第3章 常用的機(jī)器學(xué)習(xí)框架介紹 36
3.1 TensorFlow基礎(chǔ)及應(yīng)用 37
3.1.1 TensorFlow概述 37
3.1.2 TensorFlow的安裝 38
3.1.3 TensorFlow的使用 41
3.1.4 人臉檢測算法 42
3.2 PyTorch基礎(chǔ)及應(yīng)用 55
3.2.1 PyTorch概述 55
3.2.2 PyTorch的安裝 56
3.2.3 PyTorch的使用 57
3.2.4 基于PyTorch的動作同步算法 67
3.3 小結(jié) 70
第4章 虛擬偶像模型創(chuàng)建工具 71
4.1 Live2D建模 71
4.1.1 Live2D安裝 72
4.1.2 Live2D人物建模 75
4.1.3 使用模板功能 87
4.1.4 Live2D Cubism Viewer簡介 90
4.2 三維建模 93
4.2.1 三維模型制作流程 94
4.2.2 三維制作軟件 94
4.2.3 Blender角色建模流程 95
4.3 小結(jié) 100
第5章 如何創(chuàng)造虛擬偶像 101
5.1 虛擬偶像運動和交互的實現(xiàn)方式 101
5.2 基于付費的商業(yè)化解決方案 102
5.2.1 建立人物3D模型 103
5.2.2 選擇3D動畫工具 104
5.2.3 全身動作捕捉系統(tǒng)(硬件) 105
5.2.4 采用iPhone X的面部識別方式 106
5.3 免費的人工智能方案 117
5.3.1 機(jī)器學(xué)習(xí)驅(qū)動3D模型人體動作 117
5.3.2 機(jī)器學(xué)習(xí)驅(qū)動圖片面部表情 140
5.4 小結(jié) 142
第6章 基于2D的虛擬偶像實現(xiàn)方案 143
6.1 動作捕捉技術(shù) 144
6.1.1 ARKit框架面部追蹤 146
6.1.2 人臉面部識別 153
6.2 Live2D模型接入 154
6.2.1 Live2D Cubism SDK 155
6.2.2 Live2D模型文件 157
6.2.3 CubismFramework 165
6.3 Cubism SDK ARKit實現(xiàn) 170
6.3.1 Cubism SDK集成 171
6.3.2 ARKit人臉追蹤添加 173
6.3.3 Live2D模型添加 176
6.4 Live2D FaceRig方案實現(xiàn) 194
6.4.1 FaceRig概述 194
6.4.2 FaceRig的基本功能 196
6.4.3 導(dǎo)入Live2D模型 198
6.5 小結(jié) 199
第7章 基于3D的虛擬偶像實現(xiàn)方案 200
7.1 3D虛擬偶像項目簡介 201
7.2 建立人物3D模型 201
7.3 虛擬偶像擬人化預(yù)制表情和動作集 207
7.4 實現(xiàn)和用戶交互構(gòu)建語音對話機(jī)器人 209
7.5 口型對齊算法應(yīng)用 211
7.6 模型部署 213
7.7 服務(wù)調(diào)用和測試 225
7.8 小結(jié) 226
參考文獻(xiàn) 227