五分鐘技術趣談 | 人臉識別知多少?
Part 01 臉識別技術概述
人臉識別技術屬于生物特征識別技術,是一種依據人人臉的若干特征(如眼睛、鼻子、嘴巴、眉毛等)自動進行身份識別的技術,又被稱為面像識別、人像識別、相貌識別、面孔識別、面部識別等。其主要利用攝像機或攝像頭采集含有人臉的圖像或視頻流,通過人臉檢測技術分析其是否存在人臉,存在則給出人臉所在位置、大小和面部關鍵器官的位置信息;再根據這些信息提取所蘊涵的身份特征,并將其與已知的人臉特征進行對比,從而識別每個人臉的身份。
圖片
Part 02 人臉檢測
人臉檢測是人臉識別和人臉分析系統的關鍵第一步,主要用于解決“人臉在哪里”的問題,在圖像中準確標定出人臉的位置和大小,并提供給后續的人臉特征分析和識別。早期的人臉檢測工作主要基于人工精心設計的局部描述子進行特征提取,主要可分為4類基于知識的人臉檢測方法、基于模型的人臉檢測方法、基于特征的人臉檢測方法、基于外觀的人臉檢測方法,其中比較比較經典的作品有haar cascades分類器、HOG(Histogram of Oriented Gridients)特征檢測算法。但傳統的檢測對于多種變異因素的具有挑戰性的圖像,人臉檢測精度有限。
圖片
圖 WIDER FACE: A Face Detection Benchmark
隨著深度學習的蓬勃發展,逐漸演變出許多基于不同深度學習架構的人臉檢測方法,主要有基于級聯cnn模型、基于R-CNN模型、單發探測器模型、基于特征金字塔網絡模型、基于變形金剛模型等,極大的改善了傳統人臉檢測、識別在特征提取、精確度、可擴展性方面均有諸多不足。MTCNN是其中一個比較優秀的人臉檢測模型,該模型通過三個階段的深度卷積網絡,以粗到細的方式預測人臉和地標位置,具體步驟為:第一階段:通過淺層CNN快速生成候選窗口;第二階段:通過更復雜的CNN拒絕大量非面部窗口來細化窗口;第三階段:使用更強大的CNN再次細化結果并輸出五個面部標志位置。
Part 03 人臉特征
人臉特征也稱人臉表征,是人臉的某些特征,比如臉的長度、臉的寬度、唇部寬度、鼻子長度等,人臉特征提取就是對人臉進行特征建模得到向量化人臉特征的過程。人臉特征提取按照技術特點大致可分為三類:基于全局信息的Holistic方法、基于局部信息的Local特征方法、基于深度學習的方法。基于深度學習的人臉特征可以從數據集中自動學習特征,如果數據集能夠覆蓋足夠的魯棒性數據(如光照、姿態、表情等),則算法能適應各種挑戰,也是當前的主流人臉特征提取方法。
圖片
Part 04 人臉識別
人臉識別是人臉比對的過程,通過比對提取的人臉特征獲兩個人臉的相似度,判斷方法為比較兩個特征間的歐式距離(L2距離)或者余弦距離(cosine距離):L2距離越小,相似度越高;cos距離夾角越小,cos距離越大相似度越高。根據比對的數量不同,又可分為1:1和1:N。1:1最常見的場景就是人證比對,比如我們在乘高鐵時所遇到的這種設備。1:N是1張人臉和底庫中的N張人臉進行比對,比如在考勤機中,我們的人臉底庫中包含全公司的所有人臉照片。