內(nèi)容簡介
這是一本面向初學(xué)者的人臉識別工具書,不僅適合零基礎(chǔ)的讀者快速入門,而且適合有一定基礎(chǔ)的讀者迅速達(dá)到可以進(jìn)行工程實(shí)踐的水平。
作者就職于某世界100強(qiáng)企業(yè),在人臉識別方面積累了豐富的工程實(shí)踐經(jīng)驗(yàn),本書不僅詳細(xì)介紹了機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、計(jì)算機(jī)視覺、人臉識別等方面的原理、技術(shù)和算法,而且還通過相關(guān)的實(shí)戰(zhàn)案例講解了如何進(jìn)行人臉識別方面的實(shí)踐,以及如何將做好的模型用于工程實(shí)踐中。同時(shí),本書還提供了大量簡潔、精煉的代碼,能幫助讀者從零開始實(shí)現(xiàn)一個(gè)工程級別的人臉識別引擎。
全書一共8章:
第1章介紹了人臉識別的基礎(chǔ)和必備常識;
第2-4章詳細(xì)講解了與人臉識別相關(guān)的數(shù)學(xué)、機(jī)器學(xué)習(xí)、計(jì)算機(jī)視覺、OpenCV相關(guān)的基礎(chǔ)和算法;
第5章講解了深度學(xué)習(xí)的原理以及使用Keras實(shí)現(xiàn)深度學(xué)習(xí)模型的方法;
第6章介紹了常用的人臉識別算法;
第7~8章詳細(xì)講解了人臉識別引擎的實(shí)現(xiàn)方法以及如何將做好的模型進(jìn)行工程化。
前言
第1章 人臉識別入門1
1.1 人臉識別概況1
1.1.1 何為人臉識別1
1.1.2 人臉識別的應(yīng)用2
1.1.3 人臉識別的目標(biāo)4
1.1.4 人臉識別的一般方法5
1.2 人臉識別發(fā)展?fàn)顩r8
1.2.1 人臉識別歷史沿革8
1.2.2 DT時(shí)代的呼喚10
1.2.3 計(jì)算機(jī)視覺的新起點(diǎn)10
1.3 本章小結(jié)12
第2章 數(shù)學(xué)與機(jī)器學(xué)習(xí)基礎(chǔ)13
2.1 矩陣13
2.1.1 矩陣的形式13
2.1.2 行列式14
2.1.3 轉(zhuǎn)置15
2.1.4 矩陣的一般運(yùn)算15
2.2 向量17
2.2.1 向量的形式18
2.2.2 向量的點(diǎn)乘18
2.2.3 向量的范數(shù)19
2.3 距離度量19
2.3.1 歐式距離19
2.3.2 曼哈頓距離20
2.3.3 余弦距離20
2.3.4 漢明距離21
2.4 卷積22
2.4.1 一維卷積22
2.4.2 二維卷積23
2.5 機(jī)器學(xué)習(xí)基礎(chǔ)25
2.5.1 機(jī)器學(xué)習(xí)類別25
2.5.2 分類算法26
2.6 本章小結(jié)38
第3章 計(jì)算機(jī)視覺原理與應(yīng)用39
3.1 計(jì)算機(jī)視覺介紹39
3.2 顏色模型40
3.2.1 彩色圖像40
3.2.2 灰度圖像與二值圖像42
3.3 信號與噪聲44
3.3.1 信號44
3.3.2 噪聲45
3.4 圖像濾波45
3.4.1 均值濾波45
3.4.2 中值濾波47
3.5 圖像的幾何變換47
3.5.1 平移48
3.5.2 旋轉(zhuǎn)49
3.5.3 縮放50
3.6 圖像特征50
3.6.1 灰度直方圖50
3.6.2 LBP特征51
3.6.3 Haar特征52
3.6.4 HOG特征54
3.7 本章小結(jié)56
第4章 OpenCV基礎(chǔ)與應(yīng)用58
4.1 OpenCV介紹58
4.2 科學(xué)計(jì)算庫Numpy59
4.2.1 array類型60
4.2.2 線性代數(shù)相關(guān)62
4.2.3 矩陣的高級函數(shù)64
4.3 OpenCV基本操作70
4.4 圖像的基本變換72
4.4.1 顏色變換72
4.4.2 幾何變換80
4.4.3 圖像噪聲處理83
4.5 本章小結(jié)86
第5章 深度學(xué)習(xí)與Keras工程實(shí)踐87
5.1 深度學(xué)習(xí)介紹87
5.2 Keras框架簡介89
5.3 Keras的使用方法91
5.3.1 深度學(xué)習(xí)的原理91
5.3.2 Keras神經(jīng)網(wǎng)絡(luò)堆疊的兩種方法92
5.4 常用的神經(jīng)網(wǎng)絡(luò)層96
5.4.1 全連接層96
5.4.2 二維卷積層98
5.4.3 池化層100
5.4.4 BN層103
5.4.5 dropout層105
5.4.6 flatten層106
5.5 激活函數(shù)108
5.5.1 Sigmoid激活函數(shù)108
5.5.2 Softmax激活函數(shù)109
5.5.3 ReLU激活函數(shù)110
5.5.4 Keras中激活函數(shù)的使用111
5.6 優(yōu)化器112
5.6.1 SGD優(yōu)化器113
5.6.2 Adadelta優(yōu)化器116
5.7 損失函數(shù)117
5.7.1 均方誤差117
5.7.2 交叉熵?fù)p失函數(shù)118
5.7.3 Keras提供的損失函數(shù)120
5.8 模型評估方法122
5.8.1 交叉驗(yàn)證122
5.8.2 分類器性能評估124
5.9 數(shù)據(jù)增強(qiáng)127
5.9.1 數(shù)據(jù)增強(qiáng)概述128
5.9.2 Keras實(shí)現(xiàn)數(shù)據(jù)增強(qiáng)129
5.9.3 自己實(shí)現(xiàn)數(shù)據(jù)增強(qiáng)133
5.10 Keras的工程實(shí)踐134
5.10.1 訓(xùn)練時(shí)的回調(diào)函數(shù)135
5.10.2 打印網(wǎng)絡(luò)信息137
5.10.3 輸出網(wǎng)絡(luò)結(jié)構(gòu)圖139
5.10.4 獲取某層的輸出140
5.11 本章小結(jié)142
第6章 常用人臉識別算法143
6.1 特征臉法143
6.2 OpenCV的方法146
6.2.1 人臉檢測方法147
6.2.2 人臉識別方法149
6.3 Dlib的人臉檢測方法151
6.4 基于深度學(xué)習(xí)的圖片特征提取152
6.4.1 AlexNet152
6.4.2 VGGNet155
6.4.3 GoogLeNet157
6.4.4 ResNet160
6.5 基于深度學(xué)習(xí)的人臉檢測161
6.5.1 基于深度學(xué)習(xí)的目標(biāo)檢測162
6.5.2 MTCNN164
6.6 基于深度學(xué)習(xí)的人臉識別167
6.6.1 基于度量學(xué)習(xí)的方法168
6.6.2 基于邊界分類的方法171
6.7 本章小結(jié)177
第7章 人臉識別項(xiàng)目實(shí)戰(zhàn)178
7.1 人臉圖片數(shù)據(jù)集178
7.1.1 Olivetti Faces人臉數(shù)據(jù)集178
7.1.2 LFW人臉數(shù)據(jù)集180
7.1.3 YouTube Faces人臉數(shù)據(jù)集181
7.1.4 IMDB WIKI人臉數(shù)據(jù)集181
7.1.5 FDDB人臉數(shù)據(jù)集182
7.2 使用OpenCV的人臉檢測182
7.2.1 Haar級聯(lián)分類器182
7.2.2 OpenCV的SSD人臉檢測器184
7.3 使用Dlib的人臉檢測186
7.3.1 基于Hog-SVM的人臉檢測186
7.3.2 基于最大邊界的對象檢測器187
7.4 深度學(xué)習(xí)實(shí)踐188
7.4.1 卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)189
7.4.2 數(shù)據(jù)增強(qiáng)207
7.4.3 自定義損失函數(shù)211
7.4.4 數(shù)據(jù)預(yù)處理213
7.4.5 模型訓(xùn)練214
7.4.6 實(shí)現(xiàn)Web接口216
7.4.7 模型調(diào)優(yōu)與總結(jié)218
7.5 人臉識別的拓展應(yīng)用219
7.6 本章小結(jié)220
第8章 人臉識別工程化221
8.1 云平臺實(shí)踐221
8.1.1 云計(jì)算介紹221
8.1.2 云服務(wù)的形式223
8.1.3 云平臺架構(gòu)設(shè)計(jì)224
8.2 服務(wù)API設(shè)計(jì)229
8.2.1 人臉檢測229
8.2.2 人臉對比239
8.3 人臉圖片存儲241
8.4 人臉圖片檢索243
8.5 本章小結(jié)244
附錄 參考文獻(xiàn)245