5_人臉檢測和人臉識別綜述(調研)(20181211)
5_人臉檢測和人臉識別綜述(調研)(20181211)
一、人臉檢測
人臉檢測人臉識別和人臉跟蹤的基礎:
1、基於知識的方法
- 知識的方法:
基於知識的方法的具體含義就是編寫各種規則,這些規則的編寫根據就是人臉模式的先於經驗的知識,之後再進行下一步的人臉檢測。
簡而言之:就是根據需要提取人臉的基本特徵,然後再根據規則研究它們之間的關係
- 知識方法提取人臉基本特徵
灰度分佈特徵、結構特徵、紋理特徵、膚色特徵、形狀和輪廓特徵等
- 灰度分佈特徵
灰度值
是反應人臉影象亮度資訊的一個變數,不同的人臉器官分佈一般不同,從而導致人臉面部各區域的灰度分佈特徵也不同。所以,可以考慮從灰度分佈特徵入手,建立一些規則,利用這些規則在人臉影象當中的呈現狀態來確定影象當中有無人臉。- 結構特徵
結構特徵對於我們人臉來說是比較明顯的,首先對稱性就是一個很明顯的結構特徵- 紋理特徵
由於人臉紋理特徵的特殊性,可以用來進行人臉檢測,但有一定缺陷:於處理多視角問題比較有難度。- 膚色特徵
膚色相對於人臉的其他特徵來講是一種比較可靠和穩定的人臉特徵,人臉的膚色特徵是與非人臉相區分的一個顯著特徵。
人臉的膚色不同主要還是亮度不同,人臉出現旋轉、表情、姿態等變化時,膚色特徵還是比較穩定的,而且它還能很容易地區別於大多數背景物體相區別,總體來說比較可靠穩定,比較常用。- 形狀和輪廓特徵
人臉的邊緣特徵比較典型,可以利用他們進行特徵提取。特徵提取的第一步就是進行邊緣檢測,邊緣檢測有許多運算元,比 如:Sobel 算 子、Prewitt 算 子、Canny 算 子、Roberts Cross 運算元等
2、基於模板匹配的方法
- 模板匹配的方法
模板和影象之間存在一定的自相關性,自相關性的強弱就可以反映該影象是否有可能為人臉影象。
主要方法:固定模板匹配、可變模板匹配
- 該方法有以下兩種分類:
- 固定模板匹配:
固定模板匹配是指預先設定一個閾值,將人臉五官位置的比例關係
做成固定模板,用該模板逐點掃描匹配候選人臉影象,並計算該模板與輸入影象的各區域在人臉的各個區域如人臉邊界、眼睛、鼻子和嘴等部位的相關程度,由相關程度的大小來決定該影象是否為人臉影象,若計算出的相關程度超出了預先設定的閾值,說明檢測到人臉,否則為非人臉 影象 。- 可變模板匹配:
可變模板的構成要素是一個引數可調的器官模板
和與之相應的能量函式,此器官模板是根據被測物體形狀設計而成的,能量函式設計的主要依據就是影象的灰度資訊,同時,一些先驗知識也需要用到,比如被測物體的輪廓等。
3、基於統計模型的方法
- 統計模型的方法
主要方法:本徵臉、基於人工神經網路的方法 、 隱馬爾可夫模型 、 基於支援向量機的方法 、基於 AdaBoost 演算法的方法
- 主要方法介紹:
- 本徵臉 :
通過代數運算的降維方法在人臉影象的特徵空間進行降維,以便於計算人臉影象的特徵值和特徵向量。通過觀察影象的代數特徵資訊,尋找人臉和非人臉這兩種模式在所得的低維特徵空間的分佈規律。常用的降維方法主要是PCA(主成分分析法)- 基於人工神經網路的方法 :
人工神經網路具有自適應、自組織、和實時性等優點,可以對複雜的、難以顯示描述的模式識別進行很好的處理。- 隱馬爾可夫模型
- 基於支援向量機的方法 :
支援向量機方法有效地將較少的樣本資訊、複雜的模型及較強的學習能力
三者融合,以獲得最好的推廣能力。支援向量機的關鍵之處就是:超平面的有效建立,在這個超平面當中使正樣本和負樣本的分隔邊界最大化。用於人臉檢測的速度也很快。- 基於 AdaBoost 演算法的方法
Adaboost 是一種迭代演算法,其核心思想是針對同一訓練集訓練不同的分類器(弱分類器),然後把這些弱分類器集合起來,構成一個更強的最終分類器(強分器), 其演算法本身是通過改變資料分佈來實現的,它根據每次訓練集之中每個樣本的分類是否正確,以及上次總體分類的準確率,來確定每個樣本的權值。將修改過權值的新資料集送給下層分類器進行訓練,最後將每次訓練得到的分類器融合起來,作為最後的決策分類器。使用 Adaboost 分類器可以排除一些不 必要的訓練資料特徵並將重心放在關鍵的技術上 [20]。運用 Adaboost 演算法訓練所得的最終強分類器錯誤率很低,效率也比較高,得到了廣泛的應用。
4、人臉檢測的評價指標
評價指標
評價一個人臉檢測演算法(detector)好壞,常用三個指標:
- 召回率(recall):
detector能檢測出來的人臉數量越多越好,由於每個影象中包含人臉的數量不一定,所以用檢測出來的比例來衡量,這個指標就是召回率recall。detector檢測出來的矩形框越接近人工標註的矩形框,說明檢測結果越好,通常交併比IoU大於0.5就認為是檢測出來了,所以 recall = 檢測出來的人臉數量/影象中總人臉數量。detector能檢測出來的人臉數量越多越好,由於每個影象中包含人臉的數量不一定,所以用檢測出來的比例來衡量,這個指標就是召回率recall。detector檢測出來的矩形框越接近人工標註的矩形框,說明檢測結果越好。
通常交併比IoU大於0.5
就認為是檢測出來了,
所以recall = 檢測出來的人臉數量 / 影象中總人臉數量。
- IoU > 0.5 檢測出人臉
- 誤檢數(false positives):
detector也會犯錯,可能會把其他東西認為是人臉,這種情況越少越好,我們用檢測錯誤的絕對數量來表示,這個指標就是誤檢數false positives。
與recall相對,detector檢測出來的矩形框與任何人工標註框的IoU都小於0.5
,則認為這個檢測結果是誤檢
,誤檢越少越好,比如FDDB上,論文中一般比較1000個或2000個誤檢時的召回率情況,工業應用中通常比較100或200個誤檢的召回率情況。detector也會犯錯,可能會把其他東西認為是人臉,這種情況越少越好,我們用檢測錯誤的絕對數量來表示,這個指標就是誤檢數false positives。與recall相對,detector檢測出來的矩形框與任何人工標註框的IoU都小於0.5,則認為這個檢測結果是誤檢,誤檢越少越好,比如FDDB上,論文中一般比較1000個或2000個誤檢時的召回率
情況,工業應用中通常比較100或200個誤檢的召回率情況。
- IoU > 0.5 沒有檢測出人臉
- 檢測速度(speed):
detector檢測一幅影象所用的時間越少越好,通常用幀率(frame-per-second,FPS)來表示。不 過這裡有點小問題,很多detector都是影象越小、影象中人臉越少、檢測最小人臉越大,檢測速度越快,需要注意不同論文的測試環境和測試影象可能不一樣:測試影象,最常用的配置是VGA(640480)影象檢測最小人臉8080給出速度,但都沒有表明測試影象背景是否複雜,影象中有幾個人臉(甚至是白底一人臉的影象測速度);測試環境,差別就更大了,CPU有不同型號和主頻,有多核多執行緒差異,GPU也有不同型號,等等。是個演算法都要比速度,人臉檢測更不用說,detector檢測一幅影象所用的時間越少越好,通常用幀率(frame-per-second,FPS)來表示。不過這裡有點小問題,很多detector都是影象越小、影象中人臉越少、檢測最小人臉越大,檢測速度越快,需要注意不同論文的測試環境和測試影象可能不一樣:測試影象,最常用的配置是VGA(640480)影象檢測最小人臉8080給出速度,但都沒有表明測試影象背景是否複雜,影象中有幾個人臉(甚至是白底一人臉的影象測速度);測試環境,差別就更大了,CPU有不同型號和主頻,有多核多執行緒差異,GPU也有不同型號,等等。
4、人臉識別方法的對比
- 人臉檢測準確率
1、最新人臉檢測準確率排名:
2、深度學習的人臉檢測演算法比較:
誤檢數對應的召回率——資料來源FDDB馬薩諸塞大學
- 人臉檢測演算法對比
人臉檢測 | 優勢 | 劣勢 |
---|---|---|
OpenCV Haar Cascade | 1) 幾乎可以在CPU上實時工作; 2) 簡單的架構; 3)可以檢測不同比例的人臉。 |
1)會出現大量的把非人臉預測為人臉的情況; 2)不適用於非正面人臉影象; 3)不抗遮擋。 |
OpenCV DNN | 1)準確率高; 2)在CPU上能夠實時執行; 3)適用於不同的人臉方向:上,下,左,右,側面等。 4)甚至在嚴重遮擋下仍能工作; 5)可以檢測各種尺度的人臉。 |
不能使用NVIDIA GPU |
Dlib HoG | 1)CPU上最快的方法; 2)適用於正面和略微非正面的人臉; 3)與其他三個相比模型很小; 4)在小的遮擋下仍可工作。 |
1)不能檢測小臉,因為它訓練資料的最小人臉尺寸為80×80,但是使用者可以用較小尺寸的人臉資料自己訓練檢測器; 2)邊界框通常排除前額的一部分甚至下巴的一部分; 3)在嚴重遮擋下不能很好地工作; 4)不適用於側面和極端非正面,如俯視或仰視。 |
Dlib CNN | 1)適用於不同的人臉方向; 2)對遮擋魯棒; 3)在GPU上工作得非常快; 4)非常簡單的訓練過程。 |
1)CPU速度很慢; 2)不能檢測小臉,因為它訓練資料的最小人臉尺寸為80×80,但是使用者可以用較小尺寸的人臉資料自己訓練檢測器; 3)人臉包圍框甚至小於DLib HoG人臉檢測器。 |
MTCNN | 1)適用於不同的人臉方向; 2)GPU和CPU執行速度都很快 3)適用於不同的人臉方向 |
會出現一些把非人臉預測為人臉的情況; |
- 召回率(recall)對比
可以看到三種方法中MTCNN檢測準確率是最好的
github上MTCNN演算法實現:連結
5、人臉檢測目前和未來的研究方向和趨勢
參考:
https://blog.csdn.net/App_12062011/article/details/51474928
https://blog.csdn.net/App_12062011/article/details/80537518
https://blog.csdn.net/wfei101/article/details/80542903
https://blog.csdn.net/Julialove102123/article/details/80455600
https://blog.csdn.net/App_12062011/article/details/52537133
二、人臉識別
1、人臉識別的
- 人臉識別:
人臉識別也叫面部識別,是一種基於人的
臉部特徵
資訊進行身份識別的生物識別技術。它用攝像機或攝像頭採集含有人臉的影象或視訊流,並自動在影象中檢測和跟蹤人臉,進而對檢測到的人臉進行臉部的一系列相關技術。
- 人臉識別的基本流程
2、人臉識別的應用和優劣分析:
人臉識別應用:
在保險、金融、安防、教育、娛樂等行業發展迅速。例如常見的場景:如:樓宇人臉門禁、 人臉考勤系統;亙聯網移動支付終端、交友、相親終端APP系統。
人臉識別優勢:
與其他身份識別技術相比,人 臉 識 別 具 有以下優越性:非接觸性;直觀性突出;可跟蹤性好、防偽性好 ;價效比高精度高 、速度快 。
人臉識別缺陷:
但是人臉識別容易受到表情、背景、裝飾物、年齡跨度等諸多因素的干擾,從而加大了精準識別的難度。
3、當前人臉識別技術改進路線
基於特徵的人臉檢測技術——通過採用顏色、輪廓、紋理、結構或者直方圖特徵等進行人臉檢測。
基於模板匹配人臉檢測技術——從資料庫當中提取人臉模板,接著採取一定模板匹配策略,使抓取人臉影象與從模板庫提取圖片相匹配,由相關性的高低和所匹配的模板大小確定人臉大小以及位置資訊。
基於統計的人臉檢測技術——通過對於“人臉”和“非人臉”的影象大量蒐集構成的人臉正、負樣本庫,採用統計方法強化訓練該系統,從而實現對人臉和非人臉的模式進行檢測和分類。
4、人臉識別主要的研究方向及發展前景
- 未來研究方向:
未來人臉識別的主要研究方向將圍繞目前面臨的一些問題,如人臉面部結構的相似性、人臉的姿態、年齡變化、複雜環境的光照變化、人臉的飾物遮擋等。
- 發展前景
依託於物聯網與人工智慧的快速推進,人臉識別應用場景會越來越廣泛。隨著國家科研機構的研發投入、企業對技術的鑽研、市場的推廣等,這些都將是人臉識別美好前景的徵兆。未來人臉識別或成為有效身份識別主流。
3、公開的人臉識別資料集
公開人臉資料集
人臉識別
資料庫 | 描述 | 用途 | 獲取方法 |
---|---|---|---|
WebFace | 10k+人,約500K張圖片 | 非限制場景 | 連結 |
FaceScrub | 530人,約100k張圖片 | 非限制場景 | 連結 |
YouTube Face | 1,595個人 3,425段視訊 | 非限制場景、視訊 | 連結 |
LFW | 5k+人臉,超過10K張圖片 | 標準的人臉識別資料集 | 連結 |
MultiPIE | 337個人的不同姿態、表情、光照的人臉影象,共750k+人臉影象 | 限制場景人臉識別 | 連結 需購買 |
MegaFace | 690k不同的人的1000k人臉影象 | 新的人臉識別評測集合 | 連結 |
IJB-A | 人臉識別,人臉檢測 | 連結 | |
CAS-PEAL | 1040個人的30k+張人臉影象,主要包含姿態、表情、光照變化 | 限制場景下人臉識別 | 連結 |
Pubfig | 200個人的58k+人臉影象 | 非限制場景下的人臉識別 | 連結 |
人臉檢測
資料庫 | 描述 | 用途 | 獲取方法 |
---|---|---|---|
FDDB | 2845張圖片中的5171張臉 | 標準人臉檢測評測集 | 連結 |
IJB-A | 人臉識別,人臉檢測 | 連結 | |
Caltech10k Web Faces | 10k+人臉,提供雙眼和嘴巴的座標位置 | 人臉點檢測 | 連結 |
WIDER FACE | 總共32203影象,393703標註人臉,目前難度最大,各種難點比較全面:尺度,姿態,遮擋,表情,化妝,光照等。 | 人臉檢測 | 連結 |
人臉表情
資料庫 | 描述 | 用途 | 獲取方法 |
---|---|---|---|
CK+ | 137個人的不同人臉表情視訊幀 | 正面人臉表情識別 | 連結 |
人臉年齡
資料庫 | 描述 | 用途 | 獲取方法 |
---|---|---|---|
IMDB-WIKI | 包含:IMDb中20k+個名人的460k+張圖片 和維基百科62k+張圖片, 總共: 523k+張圖片 | 名人年齡、性別 | 連結 |
Adience | 包含2k+個人的26k+張人臉影象 | 人臉性別,人臉年齡段(8組) | 連結 |
CACD2000 | 2k名人160k張人臉圖片 | 人臉年齡 | 連結 |
人臉性別
資料庫 | 描述 | 用途 | 獲取方法 |
---|---|---|---|
IMDB-WIKI | 包含:IMDb中20k+個名人的460k+張圖片 和維基百科62k+張圖片, 總共: 523k+張圖片 | 名人年齡、性別 | 連結 |
Adience | 包含2k+個人的26k+張人臉影象 | 人臉性別,人臉年齡段(8組) | 連結 |
人臉關鍵點檢測
資料庫 | 描述 | 用途 | 獲取方法 |
---|---|---|---|
資料庫 | 描述 | 用途 | 獲取方法 |
人臉其它
資料庫 | 描述 | 用途 | 獲取方法 |
---|---|---|---|
CeleBrayA | 200k張人臉影象40多種人臉屬性 | 人臉屬性識別 | 獲取方法 |
知乎上還有一些相關總結:知乎