深度學習之視頻人臉識別系列三:人臉表徵

2020-12-04 人工智慧遇見磐創

一、人臉表徵

把人臉圖像通過神經網絡,得到一個特定維數的特徵向量,該向量可以很好地表徵人臉數據,使得不同人臉的兩個特徵向量距離儘可能大,同一張人臉的兩個特徵向量儘可能小,這樣就可以通過特徵向量來進行人臉識別。

二、論文綜述

1.DeepFace

2014年論文DeepFace: Closing the Gap toHuman-Level Performance in Face Verification提出了DeepFace算法,第一個真正將大數據和深度學習神經網絡結合應用於人臉識別與驗證。在該人臉識別模型中分為四個階段:人臉檢測 => 人臉對齊 => 人臉表徵 => 人臉分類,在LFW數據集中可以達到97.00%的準確率。

(1)人臉檢測與對齊:該模型使用3D模型來將人臉對齊,該方法過於繁瑣,在實際應用中很少使用,經過3D對齊以後,形成的圖像都是152×152的圖像,具體步驟如下圖。

分為如下幾步:

a. 人臉檢測,使用6個基點 b. 二維剪切,將人臉部分裁剪出來 c. 67個基點,然後Delaunay三角化,在輪廓處添加三角形來避免不連續 d. 將三角化後的人臉轉換成3D形狀 e. 三角化後的人臉變為有深度的3D三角網 f. 將三角網做偏轉,使人臉的正面朝前。 g. 最後放正的人臉 h. 一個新角度的人臉(在論文中沒有用到)

(2)人臉表徵:人臉表徵使用了5個卷積層和1個最大池化層、1個全連接層,如下圖所示。前三層的目的在於提取低層次的特徵,為了網絡保留更多圖像信息只使用了一層池化層;後面三層都是使用參數不共享的卷積核,因為主要是因為人臉不同的區域的特徵是不一樣的,具有很大的區分性,比如鼻子和眼睛所表示的特徵是不一樣的,但是使用參數不共享的卷積核也增加了模型計算量以及需要更多的訓練數據。最後輸出的4096維向量進行L2歸一化。

a. Conv:32個11×11×3的卷積核

b. max-pooling: 3×3, stride=2

c. Conv: 16個9×9的卷積核

d. Local-Conv: 16個9×9的卷積核,Local的意思是卷積核的參數不共享

e. Local-Conv: 16個7×7的卷積核,參數不共享

f. Local-Conv: 16個5×5的卷積核,參數不共享

g. Fully-connected: 4096維

h. Softmax: 4030維

(3)分類:論文介紹了兩種方法進行分類,加權的卡方距離和使用Siamese網絡結構,設f1和f2為特徵向量,上一個步驟的輸出,則有:

①加權卡方距離:計算公式如下,加權參數由線性SVM計算得到:

②Siamese網絡:網絡結構是成對進行訓練,得到的特徵表示再使用如下公式進行計算距離:

2.DeepID1

Deep Representation from Predicting 10,000 Classes一文提出的,是DeepID三部曲的第一篇。DeepID1 使用softmax多分類訓練,主要思想第一個是數據集的增大,包括訓練集使用celebface,包含87628張圖片,5436個人臉,增大了訓練集;使用多尺寸輸入,通過5個landmarks將每張人臉劃分成10regions,每張圖片提取60patches=10regions*3scales*2(RGB orgray),第二個是網絡結構,DeepID提取的人臉特徵就是一個由連接第三層與第四層組成的全連接層特徵,如下圖所示,每個patches經過這個cnn網絡,第四層的特徵更加全局化(global),第三層的特徵更加細節,因此DeepID連接了兩者,以求同時包含全局,細節信息。

60個patches使用60個CNN,每個CNN提取2*160=320維特徵(與水平翻轉一起輸入),總網絡模型如下圖所示,最後分別使用聯合貝葉斯算法與神經網絡進行分類,並比較結果。

模型最終以CelebFaces+中202,599圖像作為訓練集, patch數提升為100(10r*10s*2) ,特徵數提升為100*160*2=32000 然後使用PCA降為150維 ,使用聯合貝葉斯算法進行驗證, 最終在LFW上達到97.20%的驗證準確率。

3.DeepID2

Deep Joint Identification-Verification一文提出的,對DeepID1進行了進一步的改進,提出了contrastive loss,在分類任務,我們需要的是減少類內差距(同一人臉),增加類間差距(不同人臉),softmax loss分類的監督信號可以增大類間差距,但是卻對類內差距影響不大,所以DeepID2加入了另一個loss,contrastive loss,從而增加驗證的監督信號,就可以減少類內差距。

網絡結構類似DeepID1,不同之處在於使用了兩種不同的損失函數,網絡結構如下圖所示。

損失函數:

①分類信號,Softmax loss。

②驗證信號,contrastiveloss,使用l2範數距離表示,m為閾值不參與訓練,括號內的θve={m},該損失函數可以讓類間的距離給定一個限制margin,即m大小的距離。

兩loss的組合方式: 首先使用2個輸入,計算Softmax loss和contrastive loss,總損失為二者通過λ加權求和,通過總損失來執行梯度下降更新卷積參數,通過Softmax loss來更新softmax層的參數。

整個模型使用celebrate+數據集訓練,每張圖片使用了21 facial landmarks,分成200patches(20regions*5scales*2RGB&Gray),水平翻轉後變為400patches,使用了200個卷積神經網絡,提取400(200*2)個Deepid2特徵,使用貪婪算法降為25個Deepid2特徵,使用PCA將25*160Deepid2特徵降為180維,最後使用聯合貝葉斯算法進行驗證,最終在LFW上得到的最終準確率是98.97%,使用7組25個Deepid2特徵,SVM融合可得到準確率為99.15% 。Deep 的浪潮。

4.DeepID2+

Deep are sparse, selective, and robust,DeepID2+是對DeepID2的改進。①卷積層在原來基礎上再增加128維,第四層全連接層從160增加到512,訓練數據增加了CelebFaces+ dataset,WDRef等,有12000個人臉的大約290,000張圖片; ②每個卷積層的後面都加了一個512為的全連接層,並添加contrastive loss監督信號,而不僅在第四層全連接層上有 。網絡結構如下圖所示。

最終在LFW數據集上準確率為99.47%。

5.DeepID3

DeepID3源於2015年的Deepid3:Face recognition with very deep neural networks論文,該論文探究了複雜神經網絡對人臉識別的作用。論文研究VGG與GoogleNet用於人臉識別的效果,論文在VGG和GooLeNet的基礎上進行構建合適的結構,使得方便人臉識別。結果發現DeepID3的結果和DeepID2+相當,可能是由於數據集的瓶頸,需要更大的數據才能有更好的提升,兩個網絡結構如下圖所示。

網絡輸出使用PCA降維到300維的向量,使用聯合貝葉斯算法進行驗證,最終在LFW上得到的最終準確率是99.53%。

6.FaceNet

FaceNet由論文Facenet: A unified embedding forface recognition and clustering提出,這篇 2015 年來自 Google 的 論文同樣具有非常大的影響力,不僅僅成功應用了 TripletLoss 在 benchmark 上取得state-of-art 的結果,更因為他們提出了一個絕大部分人臉問題的統一解決框架,即:識別、驗證、搜索等問題都可以放到特徵空間裡做,需要專註解決的僅僅是如何將人臉更好的映射到特徵空間。FaceNet在Deep 改進為 Triplet Loss,去掉softmaxloss。FaceNet實驗了ZFNet類型網絡和Inception類型網絡,最終Inception類型網絡效果更好,網絡結構如下圖所示。

FaceNet沒有使用PCA降維,而是在網絡中直接訓練輸出128維的向量,用全連接層來完成降維,最後的128維的向量經過Triplet Loss。

Triplet Loss輸入不再是 Image Pair,而是三張圖片(Triplet),分別為 Anchor Face(xa),Negative Face(xn)和 Positive Face(xp)。Anchor 與 Positive Face 為同一人,與 Negative Face 為不同人,在特徵空間裡 Anchor 與 Positive 的距離要小於 Anchor 與 Negative 的距離,且相差超過一個 Margin Alpha。

loss的目標為:

總loss公式為:

Contrastive Loss與Triplet Loss的比較, Contrastive Loss目標是減少類內差距(兩個藍點),增加類間差距(藍點與紅點);Triplet Loss則是輸入三張圖片,Anchor 與 Positive 的距離要小於 Anchor 與 Negative 的距離,且相差超過一個 Margin Alpha,即Triplet Loss同時約束了兩個距離。

最後FaceNet在LFW數據集上達到了99.63%的準確率。

基於 ContrastiveLoss 和 Triplet Loss 的 MetricLearning 符合人的認知規律,在實際應用中也取得了不錯的效果,但同時也有很多問題,由於ContrastiveLoss 和 Triplet Loss 的訓練樣本都基於pair 或者 triplet 的,可能的樣本數是 O(N2) 或者 O (N3) 的,所以模型需要很久的計算才能擬合併且訓練集需要足夠大。

三、總結

本期文章主要介紹人臉表徵相關算法和論文綜述,主要是2014年到2016年的研究成果, ContrastiveLoss 和 Triplet Loss在實際應用中也取得了很好的效果,但是也有很多問題,由於Contrastive Loss 和 Triplet Loss 的訓練樣本都基於 pair 或者 triplet 的,可能的樣本數是 O (N2) 或者 O (N3) 的,所以模型需要很久的計算才能擬合併且訓練集要足夠大,所以在之後的人臉識別研究中,大部分在於loss函數的研究,這部分將會在下一期給大家介紹。

參考文獻:

【1】 Taigman Y, Yang M, Ranzato M A, et al.Deepface: Closing the gap to human-level performance in faceverification[C]//Proceedings of the IEEE conference on computer vision andpattern recognition. 2014: 1701-1708.

【2】Sun Y, Wang X, Tang X. Deep learning facerepresentation from predicting 10,000 classes[C]//Proceedings of the IEEEconference on computer vision and pattern recognition. 2014: 1891-1898.

【3】Sun Y, Chen Y, Wang X, et al. Deeplearning face representation by joint identification-verification[C]//Advancesin neural information processing systems. 2014: 1988-1996.

【4】Sun Y, Liang D, Wang X, et al. Deepid3:Face recognition with very deep neural networks[J]. arXiv preprintarXiv:1502.00873, 2015.

【5】Simonyan K, Zisserman A. Very deepconvolutional networks for large-scale image recognition[J]. arXiv preprintarXiv:1409.1556, 2014.

【6】Szegedy C, Liu W, Jia Y, et al. Goingdeeper with convolutions[C]//Proceedings of the IEEE conference on computervision and pattern recognition. 2015: 1-9.

【7】Sun Y, Wang X, Tang X. Deeply learned facerepresentations are sparse, selective, and robust[C]//Proceedings of the IEEEconference on computer vision and pattern recognition. 2015: 2892-2900.

【8】Schroff F, Kalenichenko D, Philbin J.Facenet: A unified embedding for face recognition andclustering[C]//Proceedings of the IEEE conference on computer vision andpattern recognition. 2015: 815-823.

你也許還想

● 推薦 | 身邊的程式設計師朋友99.9%都關注了...

● 深度學習之視頻人臉識別系列(一):簡介

● 深度學習之視頻人臉識別系列(二):人臉檢測與對齊

歡迎掃碼關注:

相關焦點

  • 基於深度學習的人臉識別技術全解
    深度學習在人臉識別上有 7 個方面的典型應用:基於卷積神經網絡(CNN)的人臉識別方法,深度非線性人臉形狀提取方法,基於深度學習的人臉姿態魯棒性建模,有約束環境中的全自動人臉識別,基於深度學習的視頻監控下的人臉識別,基於深度學習的低解析度人臉識別及其他基於深度學習的人臉相關信息的識別。
  • 應用層下的人臉識別(三):人臉比對
    本文作者根據多年人臉識別項目經驗,總結了人臉識別技術在安防、商業領域應用及產品設計細節,匯總成應用層下的人臉識別系列文章。本文為系列文章的第三篇——介紹人臉比對相關內容。全文圍繞人類比對類型、人臉比對要素展開介紹。
  • 推薦算法系統/人臉識別/深度學習對話機器人高級實戰課
    包含了推薦算法系統實戰、深度學習人臉識別實戰、深度學習對話機器人實戰等高級前沿的精品課程,下面分別介紹下各個實戰項目:1、推薦算法系統實戰首先推薦系統不等於推薦算法,更不等於協同過濾。用攝像機或攝像頭採集含有人臉的圖像或視頻流,並自動在圖像中檢測和跟蹤人臉,進而對檢測到的人臉進行臉部識別的一系列相關技術,通常也叫做人像識別、面部識別。一般來說,人臉識別系統包括圖像攝取、人臉定位、圖像預處理、以及人臉識別(身份確認或者身份查找)。
  • 人臉識別真的安全嗎?關於人臉識別技術發展的瞻望
    該技術的發展主要是依靠深度學習、三維人臉識別、超低解析度人臉三個方面,」蘇教授介紹道。深度學習被認為是新世紀十大突破性技術之首,在人工智慧領域佔有極高地位,它不僅應用於人臉識別,還廣泛應用於指紋識別、語音識別、文字識別等,識別準確率相當高,達到99.7%,深度學習作為一項具有突破性進展技術,把人工智慧提升至一個新的高度。
  • 人臉識別系統的幾個過程淺析
    「人臉識別系統」集成了人工智慧、機器識別、機器學習、模型理論、專家系統、視頻圖像處理等多種專業技術,是綜合性比較強的系統工程技術。人臉識別系統可使用的特徵通常分為視覺特徵、像素統計特徵、人臉圖像變換係數特徵、人臉圖像代數特徵等。人臉特徵提取就是針對人臉的某些特徵進行的。人臉特徵提取,也稱人臉表徵,它是對人臉進行特徵建模的過程。人臉特徵提取的方法歸納起來分為兩大類:一種是基於知識的表徵方法;另外一種是基於代數特徵或統計學習的表徵方法。   人臉規整(預處理)。
  • 人臉識別技術介紹和表情識別最新研究
    2D人臉指的是RGB,灰度和紅外圖像,是確定視角下表徵顏色或紋理的圖像,不包括深度信息。2.5D是在某一視角下拍攝獲取的人臉深度數據,但是曲面信息不連續,沒有被遮擋部分的深度數據信息。3D人臉由多張不同角度的深度圖像合成,具有完整連續的曲面信息,包含深度信息。2D圖像人臉識別的研究時間較長,軟硬體技術較為完備,得到了廣泛的應用。
  • 人臉識別行業分析
    人臉識別技術原理簡單來講主要是三大步驟:一是建立一個包含大批量人臉圖像的資料庫;二是通過各種方式來獲得當前要進行識別的目標人臉圖像;三是將目標人臉圖像與資料庫中既有的人臉圖像進行比對和篩選。根據人臉識別技術原理具體實施起來的技術流程則主要包含以下四個部分,即人臉圖像的採集與預處理、人臉檢測、人臉特徵提取、人臉識別和活體鑑別。1.
  • 紅外人臉識別和3D結構光人臉識別有什麼區別
    導讀 人臉識別技術有靜態和動態人臉識別之分,也有2D和3D人臉識別之分,還有可見光和紅外光人臉識別之分。其中紅外人臉識別和3D人臉識別的結構光人臉識別的媒介是紅外光。
  • 人臉識別技術理論
    人臉識別,是基於人的臉部特徵信息進行身份識別的一種生物識別技術。用攝像機或攝像頭採集含有人臉的圖像或視頻流,並自動在圖像中檢測和跟蹤人臉,進而對檢測到的人臉進行臉部識別的一系列相關技術,通常也叫做人像識別、面部識別。
  • 最近火爆的3D人臉識別,你想要了解的都在這
    fNUesmc主要包括以下四個方面的研究:1)提出不同的人臉空間模型,包括以線性判別分析為代表的線性建模方法,以Kernel方法為代表的非線性建模方法和基於3D信息的3D人臉識別方法。2)深入分析和研究影響人臉識別的因素,包括光照不變人臉識別、姿態不變人臉識別和表情不變人臉識別等。3)利用新的特徵表示,包括局部描述子(Gabor Face, LBP Face等)和深度學習方法。
  • 人臉識別布控系統方案,讓視頻監控變得更加智能
    微模式動態人臉識別布控系統,智能視頻監控在原有的視頻監控基礎上增加智能視頻分析功能,系統能夠根據設置的布控方案自動判斷每一路監控場景是否存在異常情況,當產生異常情況後系統將自動產生告警。 1、人臉檢測 「人臉檢測(Face Detection)」是檢測出圖像中人臉所在位置的一項技術。
  • 每周AI應用精選:虹膜識別解決方案;基於深度學習人臉識別方案等
    解決方案均選自機器之心Pro行業資料庫。方案1:虹膜識別解決方案解決方案簡介:虹膜識別技術是基於眼睛中的虹膜進行身份精準識別,應用於對身份認證安全強需求或高度保密需求的場所。2.中科虹霸提供虹膜識別算法級SDK、虹膜採集、識別儀、虹膜考勤、門禁、虹膜移動端產品。產品名稱:嵌入式虹膜識別儀 IKEMB-1000、礦用隔爆型虹膜識別儀 YBSH127、可攜式虹膜識別儀、虹膜識別手機、平板、接觸式虹膜識別儀、虹膜識別門禁、考勤一體機 、遠距離虹膜識別儀、防爆式虹膜識別儀、虹膜識別雲平臺。
  • 人臉識別最全知識圖譜—清華大學出品
    深度學習在人臉識別上有 7 個方面的典型應用:基於卷積神經網絡(CNN)的人臉識別方法,深度非線性人臉形狀提取方法,基於深度學習的人臉姿態魯棒性建模,有約束環境中的全自動人臉識別,基於深度學習的視頻監控下的人臉識別,基於深度學習的低解析度人臉識別及其他基於深度學習的人臉相關信息的識別。
  • 我國人臉識別上市公司匯總
    人臉識別,是基於人的臉部特徵信息進行身份識別攝像機或攝像頭採集含有人臉的圖像或視頻流,並自動在圖像中檢測和跟蹤人臉,進而對檢測到的人臉進行臉部的一系列相關技術,通常也叫做人像識別、面部識別。人臉識別技術是人工智慧的典型應用。
  • 人臉識別技術原理與實現方式
    本文將為大家從人臉檢測、人臉定位、人臉校準以及人臉對比等方面詳細闡述人臉識別的原理與實現方式。   隨著計算機技術以及光學成像技術的發展,集成了人工智慧、機器學習、視頻圖像處理等技術的人臉識別技術也逐漸成熟。未來五年,我國人臉識別市場規模平均複合增長率將達到25%,到2021年人臉識別市場規模將達到51億元左右,具有巨大的市場需求與前景。
  • 人臉識別技術原理與工程實踐(10個月人臉識別領域實戰總結)
    OpenCV和DLIB各自也有他們自己的基於深度學習的人臉檢測方法,使用起來非常簡單。從這幾種方法都可以做到CPU實時或GPU實時;經典的檢測方法對正臉的檢測效果比較好,深度學習的方法適應性更強,可以檢測各種角度的人臉。
  • 人臉識別開發技巧揭秘
    虹軟視覺開放平臺推出的「從零學習人臉識別」技術公開課第七期——《人臉識別應用方案(PC和設備端)》對此做了詳細闡述(完整課程可搜索「從零學習人臉識別」),將主要從人臉追蹤、雙目活體對齊、圖像質量檢測和特徵值提取技巧等進行系統性介紹。
  • 深度人臉識別中不同損失函數的性能對比
    選自arXiv作者:Y Srivastava、V Murali、S R Dubey機器之心編譯參與:路、淑婷人臉識別是當前手機設備中使用最廣泛的生物識別特徵之一。而損失函數在訓練用於人臉識別的 CNN 過程中有重要作用。因此,本文對用於人臉識別的多種損失函數進行了性能對比。
  • 【乾貨】中國人臉識別產業鏈全景圖!
    人臉識別技術在中國的發展起步於上世紀九十年代末,經歷了技術引進-專業市場導入-技術完善-技術應用-各行業領域使用等五個階段。其中,2014年是深度學習應用於人臉識別的關鍵一年,該年FaceBook發表一篇名為「Deep Face系統:達到肉眼級別的人臉識別系統」的文章,之後Face++(曠視科技)創始人印奇團隊以及香港中文大學湯曉鷗團隊均在深度學習結合人臉識別領域取得優異效果。
  • 身份識別之人臉活體檢測
    隨著科技的不斷發展,人臉識別技術越發的成熟,在金融、門禁、考勤、人證合一等領域中廣泛應用,而活體檢測是人臉識別中的重要環節,在近年來也得到了越來越多的關注。  一、活體檢測的常用方法  1、普通攝像頭活體檢測  二、雖然沒有配合指令的動作響應,但真實的人臉也不是絕對靜止的,總有一些微表情的存在,比如眼皮和眼球的律動、眨眼、嘴唇及其周邊面頰的伸縮等。