人臉識別演算法是任何人臉檢測和識別系統或軟體的基礎元件。專家將這些演算法分為兩種核心方法:幾何方法側重於區分特徵,光度統計方法用於從影象中提取值。 然後將這些值與模板進行比較以消除差異。 這些演算法還可以分為兩個更一般的類別——基於特徵的模型和整體模型。前者側重於面部標誌並分析它們的空間引數和與其他特徵的相關性,而整體方法將人臉視為一個整體。
人工神經網路是影象識別中最流行和最成功的方法。人臉識別演算法基於數學計算,神經網路同時執行大量數學運算。
這些演算法執行三個主要任務:檢測影象、影片或實時流中的人臉;計算人臉的數學模型;將模型與訓練集或資料庫進行比較以識別或驗證一個人。
本文涵蓋了最著名的人臉識別演算法和關鍵特徵。 由於每種方法都有其特定任務的優勢,研究人員積極嘗試組合方法和開發新技術。
卷積神經網路 (CNN)
卷積神經網路(CNN)是人工神經網路(ANN)和人工智慧發展的突破之一。它是深度學習中最流行的演算法之一,深度學習是一種機器學習,模型學習直接對影象、影片、文字或聲音執行分類任務。該模型在多個領域顯示出令人印象深刻的結果:計算機視覺、自然語言處理 (NLP) 和最大的影象分類資料集 (Image Net)。CNN 是一個普通的神經網路,帶有新的層——卷積層和池化層。CNN 可以有幾十個和幾百個這樣的層,每個層都學會檢測不同的成像特徵。
特徵臉
Eigenfaces 是一種人臉檢測和識別方法,用於確定影象資料集中的人臉方差。它使用這些差異透過機器學習對人臉進行編碼和解碼。一組特徵臉是透過對大量人臉影象的統計分析確定的“標準化人臉成分”的集合。面部特徵被分配了數學值,因為這種方法不使用數字圖片,而是使用統計資料庫。任何人臉都是這些值以不同百分比的組合。
Fisherfaces
Fisherfaces 是最流行的面部識別演算法之一;它被認為優於它的許多替代品。作為 Eeigenfaces 演算法的改進,它經常與 Eigenfaces 進行比較,並被認為在訓練過程中的類別區分方面更成功。該演算法的主要優勢在於它能夠對光照和麵部表情變化進行內插和外推。有報告稱,在預處理階段與 PCA 方法結合時,Fisherfaces 演算法的準確度為 93%。
核心方法:PCA 和 SVM
主成分分析(PCA)是一種具有許多實際應用的通用統計方法。當在人臉識別過程中使用時,PCA 旨在減少源資料的大小,同時保留最相關的資訊。它生成一組加權特徵向量,這些特徵向量依次構建特徵臉——大量不同的人臉影象。特徵臉的線性組合代表訓練集中的每個影象。 PCA 用於從訓練影象集的協方差矩陣中接收這些特徵向量。對於每張影象,計算其主要成分(從 5 到 200)。其他元件編碼面部和噪聲之間的細微差異。識別過程包括將未知影象的主要成分與所有其他影象的成分進行比較。
支援向量機 (SVM) 是一種機器學習演算法,它使用兩組分類原則來區分人臉和“非人臉”。對於每個類別,SVM 模型都會接收一個標記的訓練資料集來對新的測試資料進行分類。研究人員將線性和非線性 SVM 訓練模型應用於人臉識別。最近的結果表明,非線性訓練機具有更大的餘量和更好的識別和分類結果。
Haar Cascade
Haar Cascade 是一種用於在影象上定位物件的物件檢測方法。該演算法從大量正樣本和負樣本中學習——前者包含感興趣的物件,而後者包含除您要查詢的物件之外的任何內容。訓練後,分類器可以在新影象上找到感興趣的物件。該方法結合區域性二值模式演算法進行人臉識別,用於刑事鑑定。 Haar 級聯分類器使用 200 個(共 6000 個)特徵,即使表情變化也能確保 85-95% 的識別率。
三維識別
3D人臉識別技術的基本思想是人類頭骨的獨特結構。每個人的頭骨結構都是獨一無二的,可以用幾十個引數來描述。這種面部識別方法基於將 3D 面部掃描與資料庫模式進行比較。它有一個重要的優勢——化妝、面部毛髮、眼鏡和類似因素不會影響檢測和識別過程。最新研究使用了將 3D 幾何資訊對映到規則 2D 網格上的技術。它允許將 3D 資料的描述性與 2D 資料的計算效率相結合,並顯示出 FRGC v2(人臉識別大挑戰 3D 面部資料庫)報告的最高效能。
面板紋理分析
面板識別技術有很多應用——人臉檢測演算法、不良影象過濾、手勢分析等。它通常使用高解析度影象。面板紋理分析的特殊情況使用不同的獨特引數,如痣、膚色、膚色等。最近基於紋理特徵和膚色組合的研究顯示了有趣的結果。研究人員使用神經網路來開發和測試面板識別系統。專案中使用的前饋神經網路將輸入紋理影象分類為“面板”和“非面板”,並表現出令人印象深刻的效能。
熱像儀
熱像儀是一種用於監測被檢表面溫度分佈的裝置。溫度分佈以不同顏色對應溫度的彩色圖片顯示。該技術已經有幾個適應全球變化的實際應用——基於智慧手機的免疫證書、遠端發燒檢測和熱面部識別。熱像儀人臉識別模型基於人臉的獨特溫度模式。人類一致的溫度“特徵”是用熱紅外 (IR) 虛部測量的。在人臉識別中使用熱敏方法有一個不可否認的好處——化妝、鬍鬚、帽子和眼鏡不會影響其準確性。此外,它可以區分雙胞胎兄弟姐妹。
ANFIS
自適應神經模糊干擾系統 (ANFIS) 是一種人工神經網路。該方法將神經網路原理與模糊邏輯原理相結合,將它們的優點結合在一個單一的結構中。ANFIS 用於在預處理階段對從資料集中提取的影象特徵進行分類。資料科學家將這種方法與各種特徵提取演算法相結合。因此,一些研究報告稱,在使用二維主成分分析進行特徵提取後,ANFIS 分類準確度達到了令人難以置信的 97.1%。
區域性二元模式直方圖 (LBPH)
該方法使用區域性二進位制模式 (LBP),這是計算機視覺中一種簡單有效的紋理運算元,它透過設定每個畫素的鄰域閾值並將結果視為二進位制數來標記影象中的畫素。在學習階段,LBPH 演算法為每個標記和分類的影象建立直方圖。每個直方圖代表訓練集中的每個影象。這樣,實際的識別過程意味著比較任意兩幅影象的直方圖。
FaceNet
Google研究人員於 2015 年開發的人臉識別系統 FaceNet 基於人臉識別基準資料集。可用的預訓練模型和各種開源第三方實現使該系統非常廣泛。與早期開發的其他演算法相比,FaceNet 在研究調查、測試效能和準確性方面顯示出出色的結果。FaceNet 準確提取人臉嵌入,高質量特徵用於後期訓練人臉識別系統。
NEC
日本科技公司 NEC 開發的解決方案可以在識別年齡變化的同時高度準確地識別人。該解決方案使用自適應區域混合匹配,這是一種專注於高度相似的段進行對映的模型。 NEC 技術將輸入和註冊的影象分成小片段,並且只關注相似度較大的片段。它可以讓系統顯示出更高的識別準確率,即使是在面部戴著口罩或眼鏡的情況下。作為其底層演算法,NEC 解決方案使用廣義學習向量量化 (GLVQ)。
曠視 (FACE++)
曠視演算法基於影象檢測和模糊影象搜尋技術。該技術解決方案使用該公司基於大資料構建的專有深度學習框架 MegEngine。該公司的技術成功地進行了人臉資訊提取,包括幾個關鍵功能:人臉和人體檢測和跟蹤、人臉識別和聚類、關鍵點檢測、人臉屬性估計和人臉搜尋引擎。
面部識別:結合不同的技術
每種面部識別技術都有其有效的特點。然而,最近的研究證明,最好的結果是透過不同演算法和方法的組合來實現的。這些組合旨在解決面部識別過程中的許多常規問題——面部表情、姿勢、光照條件、影象噪聲等方面的差異。最新的實驗將 LBP 演算法與先進的影象處理技術相結合:雙邊濾波、直方圖均衡、對比度調整、和影象混合。這樣的技術顯示了對 LBP 程式碼的顯著改進,並且對於進一步研究看起來非常有希望。
總結
有多種人臉識別演算法和方法。儘管它們都有一個主要目標,但它們可以是針對特定任務和問題的。 根據使用目的和實施情況,它們的範圍從神經網路和數學模型到私營公司的技術解決方案。
本文涵蓋了最廣泛的演算法和方法。然而,更多的研究和科學實驗表明,在面部識別過程中結合不同的演算法以獲得更好的結果是不可否認的好處。 它導致新技術和特定用途方法的出現。
人臉識別演算法常見問題
人臉檢測演算法是如何工作的?
通常,訓練特定的神經網路來檢測人臉地標並將人臉與影象中的其他物件區分開來。 地標是通用的人類面部特徵,如眼睛、鼻子、嘴巴、眉毛等。實際實現的方式因演算法而異。
什麼是人臉識別演算法?
人臉識別演算法是一種建立生物特徵人臉模型以供進一步分析和人臉識別過程的方法。
如何在 OpenCV 中進行人臉檢測?
開源計算機視覺庫 (OpenCV) 是一個流行的計算機視覺演算法、影象處理和數值開源通用演算法庫。使用OpenCV,可以分三步進行人臉識別過程:
- 人臉檢測
- 使用人臉嵌入進行特徵提取
- 面部識別
如何訓練人臉識別演算法?
在面部識別演算法準備好執行必要的任務之前,它們需要處理大量資料——精確標記的影象集。 這些集合用於開發機器學習模型。
拓展閱讀
人臉識別技術是一種高精度、易於使用、穩定性高、難仿冒的生物識別技術,具有極其廣闊的市場應用前景。在公安、國防、海關、交通、金融、社保、醫療及其他民用安全控制等行業和部門存在著廣泛的需求。
我們TSINGSEE青犀影片的研發人員近期也在積極開發人臉檢測、人臉識別、人流量統計、安全帽檢測等AI技術,並積極融入到現有的影片平臺中。典型的示例如EasyCVR影片融合雲服務,具有AI人臉識別、車牌識別、語音對講、雲臺控制、聲光告警、監控影片分析與資料彙總的能力,廣泛應用在小區、樓宇的智慧門禁,周界可疑人員徘徊檢測、景區人流量統計等場景中。