1. 程式人生 > >5_人臉檢測和人臉識別綜述(調研)(20181211)

5_人臉檢測和人臉識別綜述(調研)(20181211)

5_人臉檢測和人臉識別綜述(調研)(20181211)

一、人臉檢測

人臉檢測人臉識別和人臉跟蹤的基礎:


在這裡插入圖片描述

1、基於知識的方法

  1. 知識的方法:

基於知識的方法的具體含義就是編寫各種規則,這些規則的編寫根據就是人臉模式的先於經驗的知識,之後再進行下一步的人臉檢測。


簡而言之:就是根據需要提取人臉的基本特徵,然後再根據規則研究它們之間的關係

  1. 知識方法提取人臉基本特徵

灰度分佈特徵、結構特徵、紋理特徵、膚色特徵、形狀和輪廓特徵等


  1. 灰度分佈特徵
    灰度值是反應人臉影象亮度資訊的一個變數,不同的人臉器官分佈一般不同,從而導致人臉面部各區域的灰度分佈特徵也不同。所以,可以考慮從灰度分佈特徵入手,建立一些規則,利用這些規則在人臉影象當中的呈現狀態來確定影象當中有無人臉。
  2. 結構特徵
    結構特徵對於我們人臉來說是比較明顯的,首先對稱性就是一個很明顯的結構特徵
  3. 紋理特徵
    由於人臉紋理特徵的特殊性,可以用來進行人臉檢測,但有一定缺陷:於處理多視角問題比較有難度。
  4. 膚色特徵
    膚色相對於人臉的其他特徵來講是一種比較可靠和穩定的人臉特徵,人臉的膚色特徵是與非人臉相區分的一個顯著特徵。
    人臉的膚色不同主要還是亮度不同,人臉出現旋轉、表情、姿態等變化時,膚色特徵還是比較穩定的,而且它還能很容易地區別於大多數背景物體相區別,總體來說比較可靠穩定,比較常用。
  5. 形狀和輪廓特徵
    人臉的邊緣特徵比較典型,可以利用他們進行特徵提取。特徵提取的第一步就是進行邊緣檢測,邊緣檢測有許多運算元,比 如:Sobel 算 子、Prewitt 算 子、Canny 算 子、Roberts Cross 運算元等

2、基於模板匹配的方法

  1. 模板匹配的方法

模板和影象之間存在一定的自相關性,自相關性的強弱就可以反映該影象是否有可能為人臉影象。


主要方法:固定模板匹配、可變模板匹配

  1. 該方法有以下兩種分類:
  • 固定模板匹配:
    固定模板匹配是指預先設定一個閾值,將人臉五官位置的比例關係做成固定模板,用該模板逐點掃描匹配候選人臉影象,並計算該模板與輸入影象的各區域在人臉的各個區域如人臉邊界、眼睛、鼻子和嘴等部位的相關程度,由相關程度的大小來決定該影象是否為人臉影象,若計算出的相關程度超出了預先設定的閾值,說明檢測到人臉,否則為非人臉 影象 。
  • 可變模板匹配:
    可變模板的構成要素是一個引數可調的器官模板和與之相應的能量函式,此器官模板是根據被測物體形狀設計而成的,能量函式設計的主要依據就是影象的灰度資訊,同時,一些先驗知識也需要用到,比如被測物體的輪廓等。

3、基於統計模型的方法

  1. 統計模型的方法

主要方法:本徵臉、基於人工神經網路的方法 、 隱馬爾可夫模型 、 基於支援向量機的方法 、基於 AdaBoost 演算法的方法

  1. 主要方法介紹:
  1. 本徵臉 :
    通過代數運算的降維方法在人臉影象的特徵空間進行降維,以便於計算人臉影象的特徵值和特徵向量。通過觀察影象的代數特徵資訊,尋找人臉和非人臉這兩種模式在所得的低維特徵空間的分佈規律。常用的降維方法主要是PCA(主成分分析法)
  2. 基於人工神經網路的方法 :
    人工神經網路具有自適應、自組織、和實時性等優點,可以對複雜的、難以顯示描述的模式識別進行很好的處理。
  3. 隱馬爾可夫模型
  4. 基於支援向量機的方法 :
    支援向量機方法有效地將較少的樣本資訊、複雜的模型及較強的學習能力三者融合,以獲得最好的推廣能力。支援向量機的關鍵之處就是:超平面的有效建立,在這個超平面當中使正樣本和負樣本的分隔邊界最大化。用於人臉檢測的速度也很快。
  5. 基於 AdaBoost 演算法的方法
    Adaboost 是一種迭代演算法,其核心思想是針對同一訓練集訓練不同的分類器(弱分類器),然後把這些弱分類器集合起來,構成一個更強的最終分類器(強分器), 其演算法本身是通過改變資料分佈來實現的,它根據每次訓練集之中每個樣本的分類是否正確,以及上次總體分類的準確率,來確定每個樣本的權值。將修改過權值的新資料集送給下層分類器進行訓練,最後將每次訓練得到的分類器融合起來,作為最後的決策分類器。使用 Adaboost 分類器可以排除一些不 必要的訓練資料特徵並將重心放在關鍵的技術上 [20]。運用 Adaboost 演算法訓練所得的最終強分類器錯誤率很低,效率也比較高,得到了廣泛的應用。

4、人臉檢測的評價指標

評價指標

評價一個人臉檢測演算法(detector)好壞,常用三個指標

  1. 召回率(recall):

detector能檢測出來的人臉數量越多越好,由於每個影象中包含人臉的數量不一定,所以用檢測出來的比例來衡量,這個指標就是召回率recall。detector檢測出來的矩形框越接近人工標註的矩形框,說明檢測結果越好,通常交併比IoU大於0.5就認為是檢測出來了,所以 recall = 檢測出來的人臉數量/影象中總人臉數量。detector能檢測出來的人臉數量越多越好,由於每個影象中包含人臉的數量不一定,所以用檢測出來的比例來衡量,這個指標就是召回率recall。detector檢測出來的矩形框越接近人工標註的矩形框,說明檢測結果越好。
通常交併比IoU大於0.5就認為是檢測出來了,
所以 recall = 檢測出來的人臉數量 / 影象中總人臉數量。


  • IoU > 0.5 檢測出人臉 I o U = > 0.5 IoU = \frac{方框交集大小}{方框並集大小} > 0.5

  • x = x=\frac{檢測出來的人臉數量}{影象中總人臉數量}
  1. 誤檢數(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 沒有檢測出人臉 I o U = < 0.5 IoU = \frac{方框交集大小}{方框並集大小} < 0.5
  1. 檢測速度(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. 人臉檢測準確率

1、最新人臉檢測準確率排名:
在這裡插入圖片描述

2、深度學習的人臉檢測演算法比較:
在這裡插入圖片描述

誤檢數對應的召回率——資料來源FDDB馬薩諸塞大學
在這裡插入圖片描述

  1. 人臉檢測演算法對比
人臉檢測 優勢 劣勢
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)適用於不同的人臉方向
會出現一些把非人臉預測為人臉的情況;
  1. 召回率(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、人臉識別的

  1. 人臉識別:

人臉識別也叫面部識別,是一種基於人的臉部特徵資訊進行身份識別的生物識別技術。它用攝像機或攝像頭採集含有人臉的影象或視訊流,並自動在影象中檢測和跟蹤人臉,進而對檢測到的人臉進行臉部的一系列相關技術。

  1. 人臉識別的基本流程

r人臉識別

2、人臉識別的應用和優劣分析:

人臉識別應用:
在保險、金融、安防、教育、娛樂等行業發展迅速。例如常見的場景:如:樓宇人臉門禁、 人臉考勤系統;亙聯網移動支付終端、交友、相親終端APP系統。


人臉識別優勢:
與其他身份識別技術相比,人 臉 識 別 具 有以下優越性:非接觸性;直觀性突出;可跟蹤性好、防偽性好 ;價效比高精度高 、速度快 。


人臉識別缺陷:
但是人臉識別容易受到表情、背景、裝飾物、年齡跨度等諸多因素的干擾,從而加大了精準識別的難度。

3、當前人臉識別技術改進路線

基於特徵的人臉檢測技術——通過採用顏色、輪廓、紋理、結構或者直方圖特徵等進行人臉檢測。


基於模板匹配人臉檢測技術——從資料庫當中提取人臉模板,接著採取一定模板匹配策略,使抓取人臉影象與從模板庫提取圖片相匹配,由相關性的高低和所匹配的模板大小確定人臉大小以及位置資訊。


基於統計的人臉檢測技術——通過對於“人臉”和“非人臉”的影象大量蒐集構成的人臉正、負樣本庫,採用統計方法強化訓練該系統,從而實現對人臉和非人臉的模式進行檢測和分類。


4、人臉識別主要的研究方向及發展前景

  1. 未來研究方向

未來人臉識別的主要研究方向將圍繞目前面臨的一些問題,如人臉面部結構的相似性、人臉的姿態、年齡變化、複雜環境的光照變化、人臉的飾物遮擋等。

  1. 發展前景

依託於物聯網與人工智慧的快速推進,人臉識別應用場景會越來越廣泛。隨著國家科研機構的研發投入、企業對技術的鑽研、市場的推廣等,這些都將是人臉識別美好前景的徵兆。未來人臉識別或成為有效身份識別主流。

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多種人臉屬性 人臉屬性識別 獲取方法

知乎上還有一些相關總結:知乎