人脸识别基础关键技术
人臉識別基礎關鍵技術
這是一個「看臉」的時代,一談人臉技術,大家最為熟知就是人臉識別。該技術在金融、社保、零售、安防等領域表現活躍,成為人工智能技術領域的明星。本文主要介紹一些背后默默支持人臉識別的技術。
一般而言,一個完整的人臉識別系統包含四個主要組成部分,即人臉檢測、人臉對齊、人臉特征提取以及人臉識別。
四部分流水線操作:
1、人臉檢測(Face Detection)
檢測出圖像中人臉所在位置的一項技術
人臉檢測算法的輸入是一張圖片,輸出是人臉框坐標序列(0個人臉框或1個人臉框或多個人臉框)。一般情況下,輸出的人臉坐標框為一個正朝上的正方形,但也有一些人臉檢測技術輸出的是正朝上的矩形,或者是帶旋轉方向的矩形。
常見的人臉檢測算法基本是一個“掃描”加“判別”的過程,即算法在圖像范圍內掃描,再逐個判定候選區域是否是人臉的過程。因此人臉檢測算法的計算速度會跟圖像尺寸、圖像內容相關。開發過程中,我們可以通過設置“輸入圖像尺寸”、或“最小臉尺寸限制”、或“人臉數量上限”的方式來加速算法。
人臉檢測結果示例:
2、人臉對齊(Face Alignment)
根據輸入的人臉圖像,自動定位出人臉上五官關鍵點坐標的一項技術
人臉對齊算法的輸入是“一張人臉圖片”加“人臉坐標框”,輸出五官關鍵點的坐標序列。五官關鍵點的數量是預先設定好的一個固定數值,可以根據不同的語義來定義(常見的有5點、68點、90點等等)。
這項技術的應用很廣泛,比如自動人臉識別,表情識別以及人臉動畫自動合成等。由于不同的姿態、表情、光照以及遮擋等因素的影響,準確地定位出各個關鍵特征點看似很困難。我們簡單地分析一下這個問題,不難發現這個任務其實可以拆分出三個子問題:
1. 如何對人臉表觀圖像(輸入)建模
2. 如何對人臉形狀(輸出)建模
3.如何建立人臉表觀圖像(模型)與人臉形狀(模型)的關聯
對人臉圖像進行特征點定位,將得到的特征點利用仿射變換進行人臉矯正,若不矯正,非正面人臉進行識別準確率不高,最后將矯正的人臉送入人臉識別網絡,此時的人臉識別網絡可以是一個分類網絡,我們只需要提取分類網絡中的某個層作為人臉的特征層,此時的特征才是人臉的特征。
人臉對齊結果示例(右圖中的藍點點位為人臉配準結果):
3、人臉特征提取(Face Feature Extraction)
將一張人臉圖像轉化為一串固定長度的數值的過程
具有表征某個人臉特點能力的數值串被稱為“人臉特征(Face Feature)”。
人臉特征提取過程的輸入也是 “一張人臉圖”和“人臉五官關鍵點坐標”,輸出是人臉相應的一個數值串(特征)。人臉提特征算法都會根據人臉五官關鍵點坐標將人臉對齊預定模式,然后計算特征。
近幾年來,深度學習方法基本統治了人臉提特征算法,這些算法都是固定時長的算法。早前的人臉提特征模型都較大,速度慢,僅使用于后臺服務。但最新的一些研究,可以在基本保證算法效果的前提下,將模型大小和運算速度優化到移動端可用的狀態。
人臉特征提取過程(最右側數值串為“人臉特征”)
4、人臉識別(Face Recognition)
識別出輸入人臉圖對應身份的算法
輸入一個人臉特征,通過和注冊在庫中N個身份對應的特征進行逐個比對,找出“一個”與輸入特征相似度最高的特征。將這個最高相似度值和預設的閾值相比較,如果大于閾值,則返回該特征對應的身份,否則返回“不在庫中”。
人臉識別過程:
5、人臉活體檢測(Face Vivo Detection)
判斷人臉圖像是來自真人還是來自攻擊假體(照片、視頻等)的方法
計算機判別檢測的人臉是真實的人臉,還是偽造的人臉攻擊,比如合法用戶圖片、提前拍攝的視頻等。
和前面所提到的人臉技術相比,人臉活體不是一個單純算法,而是一個問題的解法。這個解法將用戶交互和算法緊密結合,不同的交互方式對應于完全不同的算法。
解決人臉活體檢測這個問題,不光是需要通過各種反欺騙算法,還有需要通過一系列的硬件設備配合,如靜默活體檢測、紅外活體檢測、獲取生物信號(心率等)、光流場、深度攝像頭、語音指令配合等。
傳統方法將其視為一個“活體”VS“假體”的二分類問題,當然也可看成多分類問題,如真人、圖片攻擊、視頻回放攻擊、面具攻擊等)。
衍生技術
1、人臉屬性識別(Face Attribute)
識別出人臉的性別、年齡、姿態、表情等屬性值的一項技術
一般的人臉屬性識別算法的輸入是“一張人臉圖”和“人臉五官關鍵點坐標”,輸出是人臉相應的屬性值。人臉屬性識別算法一般會根據人臉五官關鍵點坐標將人臉對齊(旋轉、縮放、扣取等操作后,將人臉調整到預定的大小和形態),然后進行屬性分析。
常規的人臉屬性識別算法識別每一個人臉屬性時都是一個獨立的過程,即人臉屬性識別只是對一類算法的統稱,性別識別、年齡估計、姿態估計、表情識別都是相互獨立的算法。但最新的一些基于深度學習的人臉屬性識別也具有一個算法同時輸入性別、年齡、姿態等屬性值的能力。
2、 人臉比對(Face Compare)
衡量兩個人臉之間相似度的算法
人臉比對算法的輸入是兩個人臉特征(注:人臉特征由前面的人臉提特征算法獲得),輸出是兩個特征之間的相似度。人臉驗證、人臉識別、人臉檢索都是在人臉比對的基礎上加一些策略來實現。相對人臉提特征過程,單次的人臉比對耗時極短,幾乎可以忽略。
3、人臉驗證(Face Verification)
判定兩個人臉圖是否為同一人的算法
它的輸入是兩個人臉特征,通過人臉比對獲得兩個人臉特征的相似度,通過與預設的閾值比較來驗證這兩個人臉特征是否屬于同一人(即相似度大于閾值,為同一人;小于閾值為不同)。
人臉驗證過程就是人臉識別過程。
4、人臉檢索(Face Retrieve)
查找和輸入人臉相似人臉的算法
人臉檢索通過根據人臉特征的數值,在大量的數據庫里檢索,找出最相似的人。
將輸入的人臉和一個人臉庫中的人臉進行比對,根據比對后的相似度對人臉庫中的人臉進行排序。根據相似度從高到低排序的人臉序列即使人臉檢索的結果。
人臉檢索過程:
總結
以上是生活随笔為你收集整理的人脸识别基础关键技术的全部內容,希望文章能夠幫你解決所遇到的問題。

- 上一篇: 5 个流行的用于远程工作和在线会议的开源
- 下一篇: Uuntu 20.04 install