我們正處于“刷臉”的時代,越來越多的“刷臉”應用開始出現。例如,北京西站的刷臉檢票、廈門景點的刷臉驗票、余額寶的刷臉認證等。初學者如果想進行人臉識別相關的研究和開發,那么他們應該閱讀什么書籍呢?
“刷臉”背后的技術,不僅僅是人臉識別,亦需要人臉檢測和人臉檢索等技術提供支撐。目前,市場上有少部分人臉識別的書籍,而專門講解人臉檢測和人臉檢索技術的書籍則更少。近年來,筆者及其團隊在從事人臉檢測、人臉識別、人臉檢索相關的研究時,查閱了很多國內外的參考資料,到目前為止,尚未見到一本能夠全面涵蓋“刷臉”應用所涉及的人臉檢測、人臉識別和人臉檢索相關技術且有實戰參考價值的書籍。其中的一個主要原因可能是刷臉技術的商業價值高。
本書按照“刷臉”應用開發時所需技術的先后順序,通過原理、例子、實戰的方式,分別講解了“刷臉”應用需要掌握的三大技術:人臉檢測、人臉識別和人臉檢索。更為重要的是,本書高度注重實戰應用,每一個算法都通過具體程序講解算法的使用、實驗設計,以及實驗結果。讀者不但能夠了解每個算法的原理,而且能夠掌握應用開發的實戰技能。
本書的目標是作為通用、普及性強、可操作性強的人臉識別的書籍,方便研究人員、工程師、研究生、計算機專業的高年級本科生,快速上手并全面、深入理解,扎實掌握“刷臉”應用相關的理論和算法,幫助讀者快速入門,理解“刷臉”應用背后的核心技術與算法,并切實掌握“刷臉”應用開發所需的實戰技術。
本書主編為張重生,副主編為王彎彎、王朋友、趙冬冬。于珂珂、彭國雯、裴宸平等研究生對本書的編寫、實驗部分的驗證提供了一定的幫助,在此致謝。
筆者自知才疏學淺,僅略知人臉檢測、人臉識別、人臉檢索之皮毛。書中錯謬之處在所難免,如蒙讀者不吝告知(郵箱:chongsheng.zhang@yahoo.com,微信號:A13938613173),將不勝感激。
張重生
2017年4月
張重生,男,博士,教授,碩士生導師,河南大學大數據研究中心、大數據團隊帶頭人。研究領域為大數據分析、深度學習、數據挖掘、數據庫、數據流(實時數據分析)。博士畢業于 INRIA,France(法國國家信息與自動化研究所),獲得優秀博士論文榮譽。2010年08月至2011年3月,在美國加州大學洛杉磯分校(UCLA),計算機系,師從著名的數據庫專家Carlo Zaniolo教授,從事數據挖掘領域的合作研究。 2012-2013,挪威科技大學,ERCIM/Marie-Curie Fellow。
第1章 人臉檢測、人臉識別與人臉檢索概述 1
1.1 人臉檢測、人臉識別與人臉檢索的應用場景 2
1.1.1 當前應用 3
1.1.2 未來應用 5
1.2 人臉檢測、人臉識別與人臉檢索常用的數據集 5
1.2.1 LFW數據集 5
1.2.2 FDDB數據集 6
1.2.3 Wanwan1數據集 7
1.2.4 Wanwan2數據集 8
1.3 OpenCV的簡介、安裝與使用 8
參考文獻 15
第2章 圖像處理基礎 16
2.1 數字圖像處理的基本概念 16
2.1.1 像素 17
2.1.2 分辨率 17
2.1.3 圖像的色調、亮度和飽和度 19
2.1.4 圖像的對比度 22
2.1.5 圖像的紋理 23
2.2 顏色空間 26
2.2.1 RGB顏色空間 26
2.2.2 HSV顏色空間 27
2.2.3 YUV顏色空間 27
2.2.4 顏色空間的轉換 28
2.3 數字圖像處理的基本操作 32
2.3.1 圖像的讀取 32
2.3.2 圖像的顯示 34
2.3.3 圖像的修改 35
2.3.4 圖像的保存 36
2.3.5 獲取圖像的基本信息 37
2.4 圖像類型及轉換 38
2.4.1 圖像類型 39
2.4.2 圖像類型的轉換 39
2.5 圖像變換處理 48
2.5.1 圖像的平移 48
2.5.2 圖像的旋轉 51
2.5.3 圖像的縮放 52
2.5.4 圖像的剪切 55
2.5.5 圖像的翻轉 58
2.6 圖像的噪聲和濾波 60
2.6.1 常見的噪聲模型 60
2.6.2 經典的去噪算法 64
第3章 人臉檢測實戰 67
3.1 DPM人臉檢測算法 67
3.1.1 DPM人臉檢測算法的使用 68
3.1.2 DPM人臉檢測算法的原理 69
3.1.3 DPM人臉檢測算法的檢測結果 73
3.2 LAEO人臉檢測算法 74
3.2.1 LAEO人臉檢測算法的使用 74
3.2.2 LAEO人臉檢測算法的原理 75
3.2.3 LAEO人臉檢測算法的檢測結果 77
3.3 Viola&Jones人臉檢測算法 79
3.3.1 Viola&Jones人臉檢測算法的使用 79
3.3.2 Viola&Jones人臉檢測算法的原理 79
3.3.3 Viola&Jones人臉檢測算法的檢測結果 82
參考文獻 83
第4章 基于深度學習的人臉檢測算法 84
4.1 CNN Facial Point Detection人臉檢測算法 84
4.1.1 CNN Facial Point Detection人臉檢測算法的使用 85
4.1.2 CNN Facial Point Detection人臉檢測算法的原理 85
4.1.3 CNN Facial Point Detection人臉檢測算法的檢測結果 86
4.2 DDFD人臉檢測算法 87
4.2.1 DDFD人臉檢測算法的使用 87
4.2.2 DDFD人臉檢測算法的原理 88
4.2.3 DDFD人臉檢測算法的檢測結果 89
4.3 人臉檢測算法融合 90
參考文獻 92
第5章 基于Fast R-CNN的人臉檢測 94
5.1 Fast R-CNN簡介 94
5.2 Fast R-CNN的特點和結構 95
5.3 Fast R-CNN的使用 96
5.4 數據集的預處理 97
5.5 EdgeBoxes的使用 98
5.6 使用EdgeBoxes提取object proposal 99
5.7 基于Fast R-CNN訓練人臉檢測網絡模型和測試 100
5.7.1 訓練階段 100
5.7.2 測試階段 106
5.7.3 評估階段 108
5.7.4 優化階段 111
參考文獻 112
第6章 人臉識別實戰 113
6.1 DeepID算法 114
6.1.1 DeepID算法的原理 114
6.1.2 DeepID算法的流程 116
6.1.3 DeepID算法的結果 126
6.2 VGG Face Descriptor算法 128
6.2.1 VGG Face Descriptor算法的原理 128
6.2.2 VGG Face Descriptor算法的實現 129
6.2.3 VGG Face Descriptor算法的結果 131
6.3 OpenCV中的3種人臉識別算法 132
6.3.1 Eigenfaces 132
6.3.2 Fisherfaces 140
6.3.3 Local Binary Patterns Histograms 148
6.4 人臉識別算法對比分析 152
6.5 小結 153
參考文獻 155
第7章 人臉檢索實踐 157
7.1 人臉檢索簡介 157
7.2 計算人臉相似度的方法 158
7.2.1 歐氏距離 159
7.2.2 余弦相似度 159
7.3 查詢處理算法 161
7.4 評價人臉檢索結果的標準 161
7.5 PHash算法 161
7.5.1 PHash算法的使用 162
7.5.2 PHash算法原理 162
7.5.3 PHash算法實現 162
7.5.4 PHash算法的實驗數據、實驗結果及分析 164
7.6 DHash算法 168
7.6.1 DHash算法的使用 168
7.6.2 DHash算法原理 168
7.6.3 DHash算法實現 169
7.6.4 DHash算法的實驗數據、實驗結果及分析 170
7.7 PCA算法 173
7.7.1 PCA算法的使用 173
7.7.2 PCA算法原理 174
7.7.3 PCA算法實現 175
7.7.4 PCA算法的實驗數據、實驗結果及分析 177
7.8 BoF特征 181
7.8.1 BoF-SIFT算法的使用 182
7.8.2 BoF-SIFT算法原理 182
7.8.3 BoF-SIFT算法實現 182
7.8.4 BoF-SIFT算法的實驗數據、實驗結果及分析 188
7.9 用于圖像快速檢索的KD-Tree索引 190
7.9.1 FLANN算法的使用 191
7.9.2 KD-Tree的創建與查詢處理 191
7.9.3 FLANN中KD-Tree的算法實現 192
7.9.4 FLANN算法的實驗數據、實驗結果及分析 194
7.10 Gabor算法 195
7.10.1 Gabor算法的使用 196
7.10.2 Gabor算法原理 196
7.10.3 Gabor算法實現 199
7.10.4 Gabor算法的實驗數據、實驗結果及分析 204
7.11 HOG算法 208
7.11.1 HOG算法的使用 209
7.11.2 HOG算法原理 209
7.11.3 HOG算法實現 210
7.11.4 HOG算法的實驗數據、實驗結果及分析 212
7.12 深度學習特征 215
7.12.1 深度學習算法的使用 215
7.12.2 深度學習算法原理 215
7.12.3 深度學習算法實現 216
7.12.4 深度學習算法的實驗數據、實驗結果及分析 216
參考文獻 220
第8章 人臉檢測商業軟件及其應用示例 222
8.1 人臉檢測商業軟件之VeriLook 222
8.2 人臉檢測商業軟件之Face++ 226
8.3 各種人臉檢測算法的對比分析 229
8.4 視頻中的人臉檢測與追蹤 231
參考文獻 234