讀古今文學網 > 刷臉背後:人臉檢測 人臉識別 人臉檢索 > 6.5 小結 >

6.5 小結

人臉識別包括三個基本步驟,具體如下。

第一個步驟是從圖像中檢測人臉邊框,所用的是人臉檢測技術。而人臉檢測技術有多種,可以是基於膚色的,也可以是基於人臉特徵點(如眼睛)的方法,等等。這一部分內容在本書第3章和第4章已經給出。

人臉識別的第二個步驟是人臉區域的特徵提取。根據算法原理和關注點的不同,人臉的特徵可以有很多種。深度學習特徵是一種特徵;還有Gabor、SIFT、HOG等多種特徵提取方法(將在後續章節中講述),用於提取人臉的特徵;通過PCA、LDA等特徵降維的方法得到的特徵,也可以作為人臉的特徵;人臉面部的特徵點信息,可以選取5個面部特徵點(雙眼中心、鼻子、兩個嘴角),或20個特徵點(包括眉梢、鼻端、下巴、雙眼中心、鼻子、兩個嘴角等信息),或30個乃至更多的特徵點,每個特徵點的位置和像素信息都可以用於表徵人臉的特徵。學術界已有人臉特徵點自動定位算法。另外,人臉的輪廓也是一種重要特徵。人臉特徵提取的方法,以及最後所使用的特徵,對人臉識別的準確度具有關鍵作用。

人臉識別的第三個步驟是訓練識別人臉特徵與人的標籤對應關係的分類模型。經過第二步,訓練圖像集中的每個圖像都可以用一個特徵向量來表示(如一個4096維的特徵向量),最後再加上該圖像的標籤(表示是哪個人的人臉)。一個圖像對應一行類似於上面所屬的記錄,如果有m個訓練圖像,就得到m行這樣的記錄矩陣。然後,在該矩陣上,使用SVM、KNN、Softmax Regression、Logistic Regression等方法訓練分類模型。利用最後得到的模型,預測測試圖像集中每個圖像對應的人的標籤。

在上述三個步驟中,第二個步驟是最為重要的,也是決定人臉識別準確度的關鍵。近年來,隨著大數據、深度學習技術的發展,人們越來越多地使用深度學習來提取人臉特徵。例如,本章6.1節和6.2節中的DeepID和VGG Face Descriptor人臉識別算法,都代表當今世界上最新的人臉識別技術。但這並不表明深度學習就可以完全替代其他特徵提取方法。事實上,最新的研究表明,將深度特徵與「傳統」特徵(如Gabor、LBP、HOG等)恰當地結合起來,可以取得更佳的識別準確度;而在一些應用中,不使用深度特徵也許能取得更高的識別準確度。深度學習技術通常是以大數據為前提的,即需要海量的、有標注(標籤)的數據,才能取得優於「傳統」特徵提取方法的識別準確度;對於小規模的數據集,使用深度學習技術得到的特徵,未必能取得最高的識別準確度。作者認為,在實際應用中,人們迫切需要一個自動的「特徵提取方法工廠」。該「工廠」中集成了所有重要、常見的特徵提取方法,並結合具體的圖像數據,自動驗證、測試不同的特徵提取方法,自動選擇一種或多種特徵提取方法的結合,以達到最佳的分類準確度。目前,尚沒有類似自動的「特徵提取方法工廠」。目前常見的做法是,人們基於手動測試,手動地嘗試、驗證若干種不同的特徵提取方法或一些方法的結合。很明顯,這一過程有相當的主觀性和偶然因素,即並不能確保人們最後使用的一個或多個方法能取得最優的識別準確度。而自動的「特徵提取方法工廠」面臨的主要挑戰之一是計算能力,例如,對於一個普通的圖像數據集,如果使用深度學習方法,測試一組參數可能需要運行24小時甚至更長的時間。因此,進行大規模的測試以求解最優參數將耗費大量的計算和時間。在很多情況下,這是計算條件或時間不允許的。譬如,據本書作者瞭解,為了進行深度學習方面的研究和開發,通常需要不少於40塊Nvidia Tesla K40的GPU集群,以減少深度學習調參所需的時間。而窮舉地將深度學習方法與其他「傳統」特徵提取方法結合起來以尋找最適合給定圖像集的、能取得最佳識別準確度的一個或多個特徵提取方法,也將耗費更多的時間,可能是數周,甚至是數月的時間。儘管如此,本書所述的自動的「特徵提取方法工廠」一定是未來人臉識別、圖像處理研究和開發的重點發展方向。