'基於深度學習的人臉檢測和識別方法介紹'

"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

人臉識別分人臉驗證(face verification)和人臉確認(face identification);前者是指兩個人是不是同一個人,即1-to-1 mapping,而後者是確定一個人是一群人中的某個,即1-to-many mapping。

人臉作為一種特殊的目標,如同人體(行人檢測)一樣,前面討論的目標檢測/識別算法可以直接採用,但也會有其特殊的設計考慮,比如其剛體(rigid body)特徵和特有的人臉模版(由眼睛、鼻子和嘴巴等顯著部分構成)。一個完整的人臉識別系統包括人臉的檢測、校準和分類三部分,下面分別討論深度學習的應用方法。

如圖所示,(a)使用面部檢測來定位面部;(b)與歸一化規範座標對齊;(c)實施FR。在FR模塊中,面部反欺騙(anti-spoofing)可判斷面部是否有效或有欺騙性; 在訓練和測試之前面部處理降低識別難度; 在訓練時,使用不同的網絡結構和損失函數來提取深層特徵; 當提取測試數據的深層特徵時,面部匹配進行特徵分類。

"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

人臉識別分人臉驗證(face verification)和人臉確認(face identification);前者是指兩個人是不是同一個人,即1-to-1 mapping,而後者是確定一個人是一群人中的某個,即1-to-many mapping。

人臉作為一種特殊的目標,如同人體(行人檢測)一樣,前面討論的目標檢測/識別算法可以直接採用,但也會有其特殊的設計考慮,比如其剛體(rigid body)特徵和特有的人臉模版(由眼睛、鼻子和嘴巴等顯著部分構成)。一個完整的人臉識別系統包括人臉的檢測、校準和分類三部分,下面分別討論深度學習的應用方法。

如圖所示,(a)使用面部檢測來定位面部;(b)與歸一化規範座標對齊;(c)實施FR。在FR模塊中,面部反欺騙(anti-spoofing)可判斷面部是否有效或有欺騙性; 在訓練和測試之前面部處理降低識別難度; 在訓練時,使用不同的網絡結構和損失函數來提取深層特徵; 當提取測試數據的深層特徵時,面部匹配進行特徵分類。

基於深度學習的人臉檢測和識別方法介紹


檢測

人臉檢測大致分為兩種方案:一是剛性模板(rigid templates)法,主要通過基於增強的方法(boosting based methods)或深度學習神經網絡,二是通過部件描述面部的可變形模型(deformable models)。

這裡以RetinaFace為例介紹一下基於深度學習的算法。

RetinaFace是一個單步人臉檢測器,利用聯合監督和自我監督的多任務學習,在各種尺度人臉圖像上執行逐像素的人臉定位。當在WIDER FACE數據集上手動標註五個面部關鍵點(眼角,嘴角和鼻子頂部)之後,藉助這個額外的監督信號,比較難的人面檢測例子性能上顯著改進。添加一個自監督網格解碼器分支(mesh decoder branch),包括網格卷積和上採樣,並與監督分支並行地預測逐像素的三維形狀面部信息。

下圖是該方法的直觀圖,每個正樣本錨框定輸出(1)面部得分,(2)面部框,(3)五個面部關鍵點,(4)投影在圖像平面上的密集面部3D模型頂點。

"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

人臉識別分人臉驗證(face verification)和人臉確認(face identification);前者是指兩個人是不是同一個人,即1-to-1 mapping,而後者是確定一個人是一群人中的某個,即1-to-many mapping。

人臉作為一種特殊的目標,如同人體(行人檢測)一樣,前面討論的目標檢測/識別算法可以直接採用,但也會有其特殊的設計考慮,比如其剛體(rigid body)特徵和特有的人臉模版(由眼睛、鼻子和嘴巴等顯著部分構成)。一個完整的人臉識別系統包括人臉的檢測、校準和分類三部分,下面分別討論深度學習的應用方法。

如圖所示,(a)使用面部檢測來定位面部;(b)與歸一化規範座標對齊;(c)實施FR。在FR模塊中,面部反欺騙(anti-spoofing)可判斷面部是否有效或有欺騙性; 在訓練和測試之前面部處理降低識別難度; 在訓練時,使用不同的網絡結構和損失函數來提取深層特徵; 當提取測試數據的深層特徵時,面部匹配進行特徵分類。

基於深度學習的人臉檢測和識別方法介紹


檢測

人臉檢測大致分為兩種方案:一是剛性模板(rigid templates)法,主要通過基於增強的方法(boosting based methods)或深度學習神經網絡,二是通過部件描述面部的可變形模型(deformable models)。

這裡以RetinaFace為例介紹一下基於深度學習的算法。

RetinaFace是一個單步人臉檢測器,利用聯合監督和自我監督的多任務學習,在各種尺度人臉圖像上執行逐像素的人臉定位。當在WIDER FACE數據集上手動標註五個面部關鍵點(眼角,嘴角和鼻子頂部)之後,藉助這個額外的監督信號,比較難的人面檢測例子性能上顯著改進。添加一個自監督網格解碼器分支(mesh decoder branch),包括網格卷積和上採樣,並與監督分支並行地預測逐像素的三維形狀面部信息。

下圖是該方法的直觀圖,每個正樣本錨框定輸出(1)面部得分,(2)面部框,(3)五個面部關鍵點,(4)投影在圖像平面上的密集面部3D模型頂點。

基於深度學習的人臉檢測和識別方法介紹

如圖是單步密集人臉定位方法。RetinaFace設計的思想來自於具有獨立上下文模塊的特徵金字塔。在上下文模塊之後,計算每個錨框的多任務損失函數。

"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

人臉識別分人臉驗證(face verification)和人臉確認(face identification);前者是指兩個人是不是同一個人,即1-to-1 mapping,而後者是確定一個人是一群人中的某個,即1-to-many mapping。

人臉作為一種特殊的目標,如同人體(行人檢測)一樣,前面討論的目標檢測/識別算法可以直接採用,但也會有其特殊的設計考慮,比如其剛體(rigid body)特徵和特有的人臉模版(由眼睛、鼻子和嘴巴等顯著部分構成)。一個完整的人臉識別系統包括人臉的檢測、校準和分類三部分,下面分別討論深度學習的應用方法。

如圖所示,(a)使用面部檢測來定位面部;(b)與歸一化規範座標對齊;(c)實施FR。在FR模塊中,面部反欺騙(anti-spoofing)可判斷面部是否有效或有欺騙性; 在訓練和測試之前面部處理降低識別難度; 在訓練時,使用不同的網絡結構和損失函數來提取深層特徵; 當提取測試數據的深層特徵時,面部匹配進行特徵分類。

基於深度學習的人臉檢測和識別方法介紹


檢測

人臉檢測大致分為兩種方案:一是剛性模板(rigid templates)法,主要通過基於增強的方法(boosting based methods)或深度學習神經網絡,二是通過部件描述面部的可變形模型(deformable models)。

這裡以RetinaFace為例介紹一下基於深度學習的算法。

RetinaFace是一個單步人臉檢測器,利用聯合監督和自我監督的多任務學習,在各種尺度人臉圖像上執行逐像素的人臉定位。當在WIDER FACE數據集上手動標註五個面部關鍵點(眼角,嘴角和鼻子頂部)之後,藉助這個額外的監督信號,比較難的人面檢測例子性能上顯著改進。添加一個自監督網格解碼器分支(mesh decoder branch),包括網格卷積和上採樣,並與監督分支並行地預測逐像素的三維形狀面部信息。

下圖是該方法的直觀圖,每個正樣本錨框定輸出(1)面部得分,(2)面部框,(3)五個面部關鍵點,(4)投影在圖像平面上的密集面部3D模型頂點。

基於深度學習的人臉檢測和識別方法介紹

如圖是單步密集人臉定位方法。RetinaFace設計的思想來自於具有獨立上下文模塊的特徵金字塔。在上下文模塊之後,計算每個錨框的多任務損失函數。

基於深度學習的人臉檢測和識別方法介紹

網格解碼器是基於快速局部譜濾波(spectral filter)的圖卷積(graph convolution)方法。如圖所示,(a)2D卷積是歐幾里德網格感受域(receptive field)內的鄰域核加權和。(b)圖卷積也採用鄰域核加權和的形式,但以連接兩個頂點的最小邊數來計算鄰域距離。具有內核gθ的圖卷積可以表示為截斷K階的遞歸Chebyshev多項式,即

"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

人臉識別分人臉驗證(face verification)和人臉確認(face identification);前者是指兩個人是不是同一個人,即1-to-1 mapping,而後者是確定一個人是一群人中的某個,即1-to-many mapping。

人臉作為一種特殊的目標,如同人體(行人檢測)一樣,前面討論的目標檢測/識別算法可以直接採用,但也會有其特殊的設計考慮,比如其剛體(rigid body)特徵和特有的人臉模版(由眼睛、鼻子和嘴巴等顯著部分構成)。一個完整的人臉識別系統包括人臉的檢測、校準和分類三部分,下面分別討論深度學習的應用方法。

如圖所示,(a)使用面部檢測來定位面部;(b)與歸一化規範座標對齊;(c)實施FR。在FR模塊中,面部反欺騙(anti-spoofing)可判斷面部是否有效或有欺騙性; 在訓練和測試之前面部處理降低識別難度; 在訓練時,使用不同的網絡結構和損失函數來提取深層特徵; 當提取測試數據的深層特徵時,面部匹配進行特徵分類。

基於深度學習的人臉檢測和識別方法介紹


檢測

人臉檢測大致分為兩種方案:一是剛性模板(rigid templates)法,主要通過基於增強的方法(boosting based methods)或深度學習神經網絡,二是通過部件描述面部的可變形模型(deformable models)。

這裡以RetinaFace為例介紹一下基於深度學習的算法。

RetinaFace是一個單步人臉檢測器,利用聯合監督和自我監督的多任務學習,在各種尺度人臉圖像上執行逐像素的人臉定位。當在WIDER FACE數據集上手動標註五個面部關鍵點(眼角,嘴角和鼻子頂部)之後,藉助這個額外的監督信號,比較難的人面檢測例子性能上顯著改進。添加一個自監督網格解碼器分支(mesh decoder branch),包括網格卷積和上採樣,並與監督分支並行地預測逐像素的三維形狀面部信息。

下圖是該方法的直觀圖,每個正樣本錨框定輸出(1)面部得分,(2)面部框,(3)五個面部關鍵點,(4)投影在圖像平面上的密集面部3D模型頂點。

基於深度學習的人臉檢測和識別方法介紹

如圖是單步密集人臉定位方法。RetinaFace設計的思想來自於具有獨立上下文模塊的特徵金字塔。在上下文模塊之後,計算每個錨框的多任務損失函數。

基於深度學習的人臉檢測和識別方法介紹

網格解碼器是基於快速局部譜濾波(spectral filter)的圖卷積(graph convolution)方法。如圖所示,(a)2D卷積是歐幾里德網格感受域(receptive field)內的鄰域核加權和。(b)圖卷積也採用鄰域核加權和的形式,但以連接兩個頂點的最小邊數來計算鄰域距離。具有內核gθ的圖卷積可以表示為截斷K階的遞歸Chebyshev多項式,即

基於深度學習的人臉檢測和識別方法介紹

"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

人臉識別分人臉驗證(face verification)和人臉確認(face identification);前者是指兩個人是不是同一個人,即1-to-1 mapping,而後者是確定一個人是一群人中的某個,即1-to-many mapping。

人臉作為一種特殊的目標,如同人體(行人檢測)一樣,前面討論的目標檢測/識別算法可以直接採用,但也會有其特殊的設計考慮,比如其剛體(rigid body)特徵和特有的人臉模版(由眼睛、鼻子和嘴巴等顯著部分構成)。一個完整的人臉識別系統包括人臉的檢測、校準和分類三部分,下面分別討論深度學習的應用方法。

如圖所示,(a)使用面部檢測來定位面部;(b)與歸一化規範座標對齊;(c)實施FR。在FR模塊中,面部反欺騙(anti-spoofing)可判斷面部是否有效或有欺騙性; 在訓練和測試之前面部處理降低識別難度; 在訓練時,使用不同的網絡結構和損失函數來提取深層特徵; 當提取測試數據的深層特徵時,面部匹配進行特徵分類。

基於深度學習的人臉檢測和識別方法介紹


檢測

人臉檢測大致分為兩種方案:一是剛性模板(rigid templates)法,主要通過基於增強的方法(boosting based methods)或深度學習神經網絡,二是通過部件描述面部的可變形模型(deformable models)。

這裡以RetinaFace為例介紹一下基於深度學習的算法。

RetinaFace是一個單步人臉檢測器,利用聯合監督和自我監督的多任務學習,在各種尺度人臉圖像上執行逐像素的人臉定位。當在WIDER FACE數據集上手動標註五個面部關鍵點(眼角,嘴角和鼻子頂部)之後,藉助這個額外的監督信號,比較難的人面檢測例子性能上顯著改進。添加一個自監督網格解碼器分支(mesh decoder branch),包括網格卷積和上採樣,並與監督分支並行地預測逐像素的三維形狀面部信息。

下圖是該方法的直觀圖,每個正樣本錨框定輸出(1)面部得分,(2)面部框,(3)五個面部關鍵點,(4)投影在圖像平面上的密集面部3D模型頂點。

基於深度學習的人臉檢測和識別方法介紹

如圖是單步密集人臉定位方法。RetinaFace設計的思想來自於具有獨立上下文模塊的特徵金字塔。在上下文模塊之後,計算每個錨框的多任務損失函數。

基於深度學習的人臉檢測和識別方法介紹

網格解碼器是基於快速局部譜濾波(spectral filter)的圖卷積(graph convolution)方法。如圖所示,(a)2D卷積是歐幾里德網格感受域(receptive field)內的鄰域核加權和。(b)圖卷積也採用鄰域核加權和的形式,但以連接兩個頂點的最小邊數來計算鄰域距離。具有內核gθ的圖卷積可以表示為截斷K階的遞歸Chebyshev多項式,即

基於深度學習的人臉檢測和識別方法介紹

基於深度學習的人臉檢測和識別方法介紹

在預測形狀和紋理參數之後,採用一種有效的可微分3D網格渲染器,基於相機參數(即相機位置、相機姿勢和焦距)和照明參數(即位置 點光源,顏色值和環境照明的顏色)將圖像網格投影2D圖像平面上。

一旦得到渲染的2D面部圖像,採用以下函數比較渲染和原始2D面部的像素差異作為損失:

"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

人臉識別分人臉驗證(face verification)和人臉確認(face identification);前者是指兩個人是不是同一個人,即1-to-1 mapping,而後者是確定一個人是一群人中的某個,即1-to-many mapping。

人臉作為一種特殊的目標,如同人體(行人檢測)一樣,前面討論的目標檢測/識別算法可以直接採用,但也會有其特殊的設計考慮,比如其剛體(rigid body)特徵和特有的人臉模版(由眼睛、鼻子和嘴巴等顯著部分構成)。一個完整的人臉識別系統包括人臉的檢測、校準和分類三部分,下面分別討論深度學習的應用方法。

如圖所示,(a)使用面部檢測來定位面部;(b)與歸一化規範座標對齊;(c)實施FR。在FR模塊中,面部反欺騙(anti-spoofing)可判斷面部是否有效或有欺騙性; 在訓練和測試之前面部處理降低識別難度; 在訓練時,使用不同的網絡結構和損失函數來提取深層特徵; 當提取測試數據的深層特徵時,面部匹配進行特徵分類。

基於深度學習的人臉檢測和識別方法介紹


檢測

人臉檢測大致分為兩種方案:一是剛性模板(rigid templates)法,主要通過基於增強的方法(boosting based methods)或深度學習神經網絡,二是通過部件描述面部的可變形模型(deformable models)。

這裡以RetinaFace為例介紹一下基於深度學習的算法。

RetinaFace是一個單步人臉檢測器,利用聯合監督和自我監督的多任務學習,在各種尺度人臉圖像上執行逐像素的人臉定位。當在WIDER FACE數據集上手動標註五個面部關鍵點(眼角,嘴角和鼻子頂部)之後,藉助這個額外的監督信號,比較難的人面檢測例子性能上顯著改進。添加一個自監督網格解碼器分支(mesh decoder branch),包括網格卷積和上採樣,並與監督分支並行地預測逐像素的三維形狀面部信息。

下圖是該方法的直觀圖,每個正樣本錨框定輸出(1)面部得分,(2)面部框,(3)五個面部關鍵點,(4)投影在圖像平面上的密集面部3D模型頂點。

基於深度學習的人臉檢測和識別方法介紹

如圖是單步密集人臉定位方法。RetinaFace設計的思想來自於具有獨立上下文模塊的特徵金字塔。在上下文模塊之後,計算每個錨框的多任務損失函數。

基於深度學習的人臉檢測和識別方法介紹

網格解碼器是基於快速局部譜濾波(spectral filter)的圖卷積(graph convolution)方法。如圖所示,(a)2D卷積是歐幾里德網格感受域(receptive field)內的鄰域核加權和。(b)圖卷積也採用鄰域核加權和的形式,但以連接兩個頂點的最小邊數來計算鄰域距離。具有內核gθ的圖卷積可以表示為截斷K階的遞歸Chebyshev多項式,即

基於深度學習的人臉檢測和識別方法介紹

基於深度學習的人臉檢測和識別方法介紹

在預測形狀和紋理參數之後,採用一種有效的可微分3D網格渲染器,基於相機參數(即相機位置、相機姿勢和焦距)和照明參數(即位置 點光源,顏色值和環境照明的顏色)將圖像網格投影2D圖像平面上。

一旦得到渲染的2D面部圖像,採用以下函數比較渲染和原始2D面部的像素差異作為損失:

基於深度學習的人臉檢測和識別方法介紹


校準

校準(alignment)需要人臉關鍵點(facial landmarks)的檢測。

面部關鍵點檢測算法分為三大類:整體(holistic)方法,約束局部模型(CLM)方法和基於迴歸的方法。整體方法明確地建立模型以代表全局面部外觀和形狀信息。CLM明確利用全局形狀模型,但構建局部外觀模型(local appearance models)。基於迴歸的方法隱含地捕獲面部形狀和外觀信息。下面討論基於深度學習的人臉關鍵點檢測算法。

在早期的工作中,深度玻爾茲曼機器模型(DBM)作為概率深度模型,捕獲面部形狀變化。最近,CNN模型成為典型關鍵點檢測的主導模型,其中大多數遵循全球(global)直接回歸框架或級聯(cascaded)迴歸框架。這些方法可以廣泛地分為純學習(pure learning)方法和混合(hybrid)法。純學習方法直接預測面部關鍵點位置,而混合法結合深度學習方法和計算機視覺投影模型進行預測。

以下以ODN為例介紹深度學習的關鍵點檢測具體方法。

遮擋自適應深度網絡(ODN,Occlusion-Adaptive Deep Networks),旨在解決面部關鍵點檢測的遮擋問題。在該模型中,高層特徵在每個位置的遮擋概率由一個可以自動學習面部外觀和麵部形狀之間關係的蒸餾模塊(distillation module)推斷。遮擋概率當作高層特徵的自適應權重,減少遮擋的影響並獲得清晰的特徵表示。

由於缺少語義特徵,乾淨的特徵表示不能代表整體(holistic)面部。要獲得詳盡而完整的特徵表示,必須利用低階(low-rank)學習模塊來恢復丟失的特徵。面部幾何特徵有助於低階模塊重新覆蓋丟失的特徵,ODN提出了一種幾何覺察模塊來挖掘不同面部組件之間的幾何關係。

如圖所示,ODN框架主要由三個緊密結合的模塊組成:幾何覺察模塊,蒸餾模塊和低階學習模塊。首先,先前殘差學習塊的特徵圖Z輸入到幾何覺察模塊和蒸餾模塊中,分別捕獲幾何信息並獲得乾淨的特徵表示。然後,組合這兩個模塊的輸出作為低階學習模塊的輸入,對面部的特徵相關性建模來恢復缺失的特徵。

"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

人臉識別分人臉驗證(face verification)和人臉確認(face identification);前者是指兩個人是不是同一個人,即1-to-1 mapping,而後者是確定一個人是一群人中的某個,即1-to-many mapping。

人臉作為一種特殊的目標,如同人體(行人檢測)一樣,前面討論的目標檢測/識別算法可以直接採用,但也會有其特殊的設計考慮,比如其剛體(rigid body)特徵和特有的人臉模版(由眼睛、鼻子和嘴巴等顯著部分構成)。一個完整的人臉識別系統包括人臉的檢測、校準和分類三部分,下面分別討論深度學習的應用方法。

如圖所示,(a)使用面部檢測來定位面部;(b)與歸一化規範座標對齊;(c)實施FR。在FR模塊中,面部反欺騙(anti-spoofing)可判斷面部是否有效或有欺騙性; 在訓練和測試之前面部處理降低識別難度; 在訓練時,使用不同的網絡結構和損失函數來提取深層特徵; 當提取測試數據的深層特徵時,面部匹配進行特徵分類。

基於深度學習的人臉檢測和識別方法介紹


檢測

人臉檢測大致分為兩種方案:一是剛性模板(rigid templates)法,主要通過基於增強的方法(boosting based methods)或深度學習神經網絡,二是通過部件描述面部的可變形模型(deformable models)。

這裡以RetinaFace為例介紹一下基於深度學習的算法。

RetinaFace是一個單步人臉檢測器,利用聯合監督和自我監督的多任務學習,在各種尺度人臉圖像上執行逐像素的人臉定位。當在WIDER FACE數據集上手動標註五個面部關鍵點(眼角,嘴角和鼻子頂部)之後,藉助這個額外的監督信號,比較難的人面檢測例子性能上顯著改進。添加一個自監督網格解碼器分支(mesh decoder branch),包括網格卷積和上採樣,並與監督分支並行地預測逐像素的三維形狀面部信息。

下圖是該方法的直觀圖,每個正樣本錨框定輸出(1)面部得分,(2)面部框,(3)五個面部關鍵點,(4)投影在圖像平面上的密集面部3D模型頂點。

基於深度學習的人臉檢測和識別方法介紹

如圖是單步密集人臉定位方法。RetinaFace設計的思想來自於具有獨立上下文模塊的特徵金字塔。在上下文模塊之後,計算每個錨框的多任務損失函數。

基於深度學習的人臉檢測和識別方法介紹

網格解碼器是基於快速局部譜濾波(spectral filter)的圖卷積(graph convolution)方法。如圖所示,(a)2D卷積是歐幾里德網格感受域(receptive field)內的鄰域核加權和。(b)圖卷積也採用鄰域核加權和的形式,但以連接兩個頂點的最小邊數來計算鄰域距離。具有內核gθ的圖卷積可以表示為截斷K階的遞歸Chebyshev多項式,即

基於深度學習的人臉檢測和識別方法介紹

基於深度學習的人臉檢測和識別方法介紹

在預測形狀和紋理參數之後,採用一種有效的可微分3D網格渲染器,基於相機參數(即相機位置、相機姿勢和焦距)和照明參數(即位置 點光源,顏色值和環境照明的顏色)將圖像網格投影2D圖像平面上。

一旦得到渲染的2D面部圖像,採用以下函數比較渲染和原始2D面部的像素差異作為損失:

基於深度學習的人臉檢測和識別方法介紹


校準

校準(alignment)需要人臉關鍵點(facial landmarks)的檢測。

面部關鍵點檢測算法分為三大類:整體(holistic)方法,約束局部模型(CLM)方法和基於迴歸的方法。整體方法明確地建立模型以代表全局面部外觀和形狀信息。CLM明確利用全局形狀模型,但構建局部外觀模型(local appearance models)。基於迴歸的方法隱含地捕獲面部形狀和外觀信息。下面討論基於深度學習的人臉關鍵點檢測算法。

在早期的工作中,深度玻爾茲曼機器模型(DBM)作為概率深度模型,捕獲面部形狀變化。最近,CNN模型成為典型關鍵點檢測的主導模型,其中大多數遵循全球(global)直接回歸框架或級聯(cascaded)迴歸框架。這些方法可以廣泛地分為純學習(pure learning)方法和混合(hybrid)法。純學習方法直接預測面部關鍵點位置,而混合法結合深度學習方法和計算機視覺投影模型進行預測。

以下以ODN為例介紹深度學習的關鍵點檢測具體方法。

遮擋自適應深度網絡(ODN,Occlusion-Adaptive Deep Networks),旨在解決面部關鍵點檢測的遮擋問題。在該模型中,高層特徵在每個位置的遮擋概率由一個可以自動學習面部外觀和麵部形狀之間關係的蒸餾模塊(distillation module)推斷。遮擋概率當作高層特徵的自適應權重,減少遮擋的影響並獲得清晰的特徵表示。

由於缺少語義特徵,乾淨的特徵表示不能代表整體(holistic)面部。要獲得詳盡而完整的特徵表示,必須利用低階(low-rank)學習模塊來恢復丟失的特徵。面部幾何特徵有助於低階模塊重新覆蓋丟失的特徵,ODN提出了一種幾何覺察模塊來挖掘不同面部組件之間的幾何關係。

如圖所示,ODN框架主要由三個緊密結合的模塊組成:幾何覺察模塊,蒸餾模塊和低階學習模塊。首先,先前殘差學習塊的特徵圖Z輸入到幾何覺察模塊和蒸餾模塊中,分別捕獲幾何信息並獲得乾淨的特徵表示。然後,組合這兩個模塊的輸出作為低階學習模塊的輸入,對面部的特徵相關性建模來恢復缺失的特徵。

基於深度學習的人臉檢測和識別方法介紹

下圖是幾何覺察模塊的結構圖,比較局部感受野和幾何覺察模塊如何捕捉面部幾何關係。⊗表示矩陣外積(outer product)。

"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

人臉識別分人臉驗證(face verification)和人臉確認(face identification);前者是指兩個人是不是同一個人,即1-to-1 mapping,而後者是確定一個人是一群人中的某個,即1-to-many mapping。

人臉作為一種特殊的目標,如同人體(行人檢測)一樣,前面討論的目標檢測/識別算法可以直接採用,但也會有其特殊的設計考慮,比如其剛體(rigid body)特徵和特有的人臉模版(由眼睛、鼻子和嘴巴等顯著部分構成)。一個完整的人臉識別系統包括人臉的檢測、校準和分類三部分,下面分別討論深度學習的應用方法。

如圖所示,(a)使用面部檢測來定位面部;(b)與歸一化規範座標對齊;(c)實施FR。在FR模塊中,面部反欺騙(anti-spoofing)可判斷面部是否有效或有欺騙性; 在訓練和測試之前面部處理降低識別難度; 在訓練時,使用不同的網絡結構和損失函數來提取深層特徵; 當提取測試數據的深層特徵時,面部匹配進行特徵分類。

基於深度學習的人臉檢測和識別方法介紹


檢測

人臉檢測大致分為兩種方案:一是剛性模板(rigid templates)法,主要通過基於增強的方法(boosting based methods)或深度學習神經網絡,二是通過部件描述面部的可變形模型(deformable models)。

這裡以RetinaFace為例介紹一下基於深度學習的算法。

RetinaFace是一個單步人臉檢測器,利用聯合監督和自我監督的多任務學習,在各種尺度人臉圖像上執行逐像素的人臉定位。當在WIDER FACE數據集上手動標註五個面部關鍵點(眼角,嘴角和鼻子頂部)之後,藉助這個額外的監督信號,比較難的人面檢測例子性能上顯著改進。添加一個自監督網格解碼器分支(mesh decoder branch),包括網格卷積和上採樣,並與監督分支並行地預測逐像素的三維形狀面部信息。

下圖是該方法的直觀圖,每個正樣本錨框定輸出(1)面部得分,(2)面部框,(3)五個面部關鍵點,(4)投影在圖像平面上的密集面部3D模型頂點。

基於深度學習的人臉檢測和識別方法介紹

如圖是單步密集人臉定位方法。RetinaFace設計的思想來自於具有獨立上下文模塊的特徵金字塔。在上下文模塊之後,計算每個錨框的多任務損失函數。

基於深度學習的人臉檢測和識別方法介紹

網格解碼器是基於快速局部譜濾波(spectral filter)的圖卷積(graph convolution)方法。如圖所示,(a)2D卷積是歐幾里德網格感受域(receptive field)內的鄰域核加權和。(b)圖卷積也採用鄰域核加權和的形式,但以連接兩個頂點的最小邊數來計算鄰域距離。具有內核gθ的圖卷積可以表示為截斷K階的遞歸Chebyshev多項式,即

基於深度學習的人臉檢測和識別方法介紹

基於深度學習的人臉檢測和識別方法介紹

在預測形狀和紋理參數之後,採用一種有效的可微分3D網格渲染器,基於相機參數(即相機位置、相機姿勢和焦距)和照明參數(即位置 點光源,顏色值和環境照明的顏色)將圖像網格投影2D圖像平面上。

一旦得到渲染的2D面部圖像,採用以下函數比較渲染和原始2D面部的像素差異作為損失:

基於深度學習的人臉檢測和識別方法介紹


校準

校準(alignment)需要人臉關鍵點(facial landmarks)的檢測。

面部關鍵點檢測算法分為三大類:整體(holistic)方法,約束局部模型(CLM)方法和基於迴歸的方法。整體方法明確地建立模型以代表全局面部外觀和形狀信息。CLM明確利用全局形狀模型,但構建局部外觀模型(local appearance models)。基於迴歸的方法隱含地捕獲面部形狀和外觀信息。下面討論基於深度學習的人臉關鍵點檢測算法。

在早期的工作中,深度玻爾茲曼機器模型(DBM)作為概率深度模型,捕獲面部形狀變化。最近,CNN模型成為典型關鍵點檢測的主導模型,其中大多數遵循全球(global)直接回歸框架或級聯(cascaded)迴歸框架。這些方法可以廣泛地分為純學習(pure learning)方法和混合(hybrid)法。純學習方法直接預測面部關鍵點位置,而混合法結合深度學習方法和計算機視覺投影模型進行預測。

以下以ODN為例介紹深度學習的關鍵點檢測具體方法。

遮擋自適應深度網絡(ODN,Occlusion-Adaptive Deep Networks),旨在解決面部關鍵點檢測的遮擋問題。在該模型中,高層特徵在每個位置的遮擋概率由一個可以自動學習面部外觀和麵部形狀之間關係的蒸餾模塊(distillation module)推斷。遮擋概率當作高層特徵的自適應權重,減少遮擋的影響並獲得清晰的特徵表示。

由於缺少語義特徵,乾淨的特徵表示不能代表整體(holistic)面部。要獲得詳盡而完整的特徵表示,必須利用低階(low-rank)學習模塊來恢復丟失的特徵。面部幾何特徵有助於低階模塊重新覆蓋丟失的特徵,ODN提出了一種幾何覺察模塊來挖掘不同面部組件之間的幾何關係。

如圖所示,ODN框架主要由三個緊密結合的模塊組成:幾何覺察模塊,蒸餾模塊和低階學習模塊。首先,先前殘差學習塊的特徵圖Z輸入到幾何覺察模塊和蒸餾模塊中,分別捕獲幾何信息並獲得乾淨的特徵表示。然後,組合這兩個模塊的輸出作為低階學習模塊的輸入,對面部的特徵相關性建模來恢復缺失的特徵。

基於深度學習的人臉檢測和識別方法介紹

下圖是幾何覺察模塊的結構圖,比較局部感受野和幾何覺察模塊如何捕捉面部幾何關係。⊗表示矩陣外積(outer product)。

基於深度學習的人臉檢測和識別方法介紹

從ODN框架圖可見,低階學習模塊主要是學習共享結構矩陣,該矩陣對特徵間/屬性相關性明確編碼,以便恢復缺失的特徵並去除冗餘特徵。


識別

自2014年以來,深度學習重塑了人臉識別(FR)的研究領域,最早的突破從Deepface方法開始。從那時起,深度FR技術利用分層架構將像素拼接成具有不變性的面部表示,極大地改善了性能並促進實際產品成功。

在深度學習的人臉識別系統中,損失函數分為幾種:基於歐幾里德距離、基於角/餘弦餘量和softmax等。基於深度學習的面部圖像處理方法(例如姿勢變化)分為兩類:““一對多增強(one-to- many augmentation)”型和“多對一歸一化(many-to-one normalization)”型。

訓練深度學習模型進行人臉識別有兩個主要研究方向:1)有些人訓練了一個多類別分類器,在訓練集中分離不同個體,例如使用softmax分類器,2)直接學習嵌入關係,例如三體損失(Triplet Loss)。

對於softmax的損失:線性變換矩陣大小隨著個體數而線性增加,學習的特徵對於閉集分類問題是可分離的,但對於開集人臉識別問題則不具有足夠判別能力。而對於三體的損失:面部三體的數量存在組合爆炸,特別是對於大規模數據集,導致迭代步數顯著增加;另外,半難度樣本的挖掘是有效模型訓練中一個相當難的問題。

這裡以ArcFace為例介紹具體的深度學習人臉識別算法。

如圖是ArcFace如何識別人臉的框架。DCNN特徵與最後一個全連接層之間的點積等於特徵和權重歸一化後的餘弦距離。利用反餘弦函數計算當前特徵與目標權重之間的角度。然後,在目標角度添加一個附加角度邊緣(additive angular margin),再通過餘弦函數再次得到目標邏輯模型。這樣通過固定的特徵規範重新尺度化所有邏輯模型,那麼以後的步驟與softmax損失完全相同。

"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

人臉識別分人臉驗證(face verification)和人臉確認(face identification);前者是指兩個人是不是同一個人,即1-to-1 mapping,而後者是確定一個人是一群人中的某個,即1-to-many mapping。

人臉作為一種特殊的目標,如同人體(行人檢測)一樣,前面討論的目標檢測/識別算法可以直接採用,但也會有其特殊的設計考慮,比如其剛體(rigid body)特徵和特有的人臉模版(由眼睛、鼻子和嘴巴等顯著部分構成)。一個完整的人臉識別系統包括人臉的檢測、校準和分類三部分,下面分別討論深度學習的應用方法。

如圖所示,(a)使用面部檢測來定位面部;(b)與歸一化規範座標對齊;(c)實施FR。在FR模塊中,面部反欺騙(anti-spoofing)可判斷面部是否有效或有欺騙性; 在訓練和測試之前面部處理降低識別難度; 在訓練時,使用不同的網絡結構和損失函數來提取深層特徵; 當提取測試數據的深層特徵時,面部匹配進行特徵分類。

基於深度學習的人臉檢測和識別方法介紹


檢測

人臉檢測大致分為兩種方案:一是剛性模板(rigid templates)法,主要通過基於增強的方法(boosting based methods)或深度學習神經網絡,二是通過部件描述面部的可變形模型(deformable models)。

這裡以RetinaFace為例介紹一下基於深度學習的算法。

RetinaFace是一個單步人臉檢測器,利用聯合監督和自我監督的多任務學習,在各種尺度人臉圖像上執行逐像素的人臉定位。當在WIDER FACE數據集上手動標註五個面部關鍵點(眼角,嘴角和鼻子頂部)之後,藉助這個額外的監督信號,比較難的人面檢測例子性能上顯著改進。添加一個自監督網格解碼器分支(mesh decoder branch),包括網格卷積和上採樣,並與監督分支並行地預測逐像素的三維形狀面部信息。

下圖是該方法的直觀圖,每個正樣本錨框定輸出(1)面部得分,(2)面部框,(3)五個面部關鍵點,(4)投影在圖像平面上的密集面部3D模型頂點。

基於深度學習的人臉檢測和識別方法介紹

如圖是單步密集人臉定位方法。RetinaFace設計的思想來自於具有獨立上下文模塊的特徵金字塔。在上下文模塊之後,計算每個錨框的多任務損失函數。

基於深度學習的人臉檢測和識別方法介紹

網格解碼器是基於快速局部譜濾波(spectral filter)的圖卷積(graph convolution)方法。如圖所示,(a)2D卷積是歐幾里德網格感受域(receptive field)內的鄰域核加權和。(b)圖卷積也採用鄰域核加權和的形式,但以連接兩個頂點的最小邊數來計算鄰域距離。具有內核gθ的圖卷積可以表示為截斷K階的遞歸Chebyshev多項式,即

基於深度學習的人臉檢測和識別方法介紹

基於深度學習的人臉檢測和識別方法介紹

在預測形狀和紋理參數之後,採用一種有效的可微分3D網格渲染器,基於相機參數(即相機位置、相機姿勢和焦距)和照明參數(即位置 點光源,顏色值和環境照明的顏色)將圖像網格投影2D圖像平面上。

一旦得到渲染的2D面部圖像,採用以下函數比較渲染和原始2D面部的像素差異作為損失:

基於深度學習的人臉檢測和識別方法介紹


校準

校準(alignment)需要人臉關鍵點(facial landmarks)的檢測。

面部關鍵點檢測算法分為三大類:整體(holistic)方法,約束局部模型(CLM)方法和基於迴歸的方法。整體方法明確地建立模型以代表全局面部外觀和形狀信息。CLM明確利用全局形狀模型,但構建局部外觀模型(local appearance models)。基於迴歸的方法隱含地捕獲面部形狀和外觀信息。下面討論基於深度學習的人臉關鍵點檢測算法。

在早期的工作中,深度玻爾茲曼機器模型(DBM)作為概率深度模型,捕獲面部形狀變化。最近,CNN模型成為典型關鍵點檢測的主導模型,其中大多數遵循全球(global)直接回歸框架或級聯(cascaded)迴歸框架。這些方法可以廣泛地分為純學習(pure learning)方法和混合(hybrid)法。純學習方法直接預測面部關鍵點位置,而混合法結合深度學習方法和計算機視覺投影模型進行預測。

以下以ODN為例介紹深度學習的關鍵點檢測具體方法。

遮擋自適應深度網絡(ODN,Occlusion-Adaptive Deep Networks),旨在解決面部關鍵點檢測的遮擋問題。在該模型中,高層特徵在每個位置的遮擋概率由一個可以自動學習面部外觀和麵部形狀之間關係的蒸餾模塊(distillation module)推斷。遮擋概率當作高層特徵的自適應權重,減少遮擋的影響並獲得清晰的特徵表示。

由於缺少語義特徵,乾淨的特徵表示不能代表整體(holistic)面部。要獲得詳盡而完整的特徵表示,必須利用低階(low-rank)學習模塊來恢復丟失的特徵。面部幾何特徵有助於低階模塊重新覆蓋丟失的特徵,ODN提出了一種幾何覺察模塊來挖掘不同面部組件之間的幾何關係。

如圖所示,ODN框架主要由三個緊密結合的模塊組成:幾何覺察模塊,蒸餾模塊和低階學習模塊。首先,先前殘差學習塊的特徵圖Z輸入到幾何覺察模塊和蒸餾模塊中,分別捕獲幾何信息並獲得乾淨的特徵表示。然後,組合這兩個模塊的輸出作為低階學習模塊的輸入,對面部的特徵相關性建模來恢復缺失的特徵。

基於深度學習的人臉檢測和識別方法介紹

下圖是幾何覺察模塊的結構圖,比較局部感受野和幾何覺察模塊如何捕捉面部幾何關係。⊗表示矩陣外積(outer product)。

基於深度學習的人臉檢測和識別方法介紹

從ODN框架圖可見,低階學習模塊主要是學習共享結構矩陣,該矩陣對特徵間/屬性相關性明確編碼,以便恢復缺失的特徵並去除冗餘特徵。


識別

自2014年以來,深度學習重塑了人臉識別(FR)的研究領域,最早的突破從Deepface方法開始。從那時起,深度FR技術利用分層架構將像素拼接成具有不變性的面部表示,極大地改善了性能並促進實際產品成功。

在深度學習的人臉識別系統中,損失函數分為幾種:基於歐幾里德距離、基於角/餘弦餘量和softmax等。基於深度學習的面部圖像處理方法(例如姿勢變化)分為兩類:““一對多增強(one-to- many augmentation)”型和“多對一歸一化(many-to-one normalization)”型。

訓練深度學習模型進行人臉識別有兩個主要研究方向:1)有些人訓練了一個多類別分類器,在訓練集中分離不同個體,例如使用softmax分類器,2)直接學習嵌入關係,例如三體損失(Triplet Loss)。

對於softmax的損失:線性變換矩陣大小隨著個體數而線性增加,學習的特徵對於閉集分類問題是可分離的,但對於開集人臉識別問題則不具有足夠判別能力。而對於三體的損失:面部三體的數量存在組合爆炸,特別是對於大規模數據集,導致迭代步數顯著增加;另外,半難度樣本的挖掘是有效模型訓練中一個相當難的問題。

這裡以ArcFace為例介紹具體的深度學習人臉識別算法。

如圖是ArcFace如何識別人臉的框架。DCNN特徵與最後一個全連接層之間的點積等於特徵和權重歸一化後的餘弦距離。利用反餘弦函數計算當前特徵與目標權重之間的角度。然後,在目標角度添加一個附加角度邊緣(additive angular margin),再通過餘弦函數再次得到目標邏輯模型。這樣通過固定的特徵規範重新尺度化所有邏輯模型,那麼以後的步驟與softmax損失完全相同。

基於深度學習的人臉檢測和識別方法介紹

如圖是ArcFace各種損失函數的對比。基於中心和特徵歸一化,所有個體都分佈在超球面上。為了增強類內緊湊性和類間差異,考慮四種測地距離(Geodesic Distance,GDis)約束。(a)邊緣化損失(Margin Loss):在樣本和中心之間插入測地距離邊界。(b)類內損失:減少樣本與相應中心之間的測地距離。(c)類間損失:增加不同中心之間的測地距離。(d)三體(Triplet)損失:在三體樣本之間插入測地距離邊界。這裡是一個ArcFace提出的附加角度邊緣化損失(Additive Angular Margin Loss),它與(a)中的測地距離(Arc)邊界罰分完全對應,以增強人臉識別模型的判別力。

"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

人臉識別分人臉驗證(face verification)和人臉確認(face identification);前者是指兩個人是不是同一個人,即1-to-1 mapping,而後者是確定一個人是一群人中的某個,即1-to-many mapping。

人臉作為一種特殊的目標,如同人體(行人檢測)一樣,前面討論的目標檢測/識別算法可以直接採用,但也會有其特殊的設計考慮,比如其剛體(rigid body)特徵和特有的人臉模版(由眼睛、鼻子和嘴巴等顯著部分構成)。一個完整的人臉識別系統包括人臉的檢測、校準和分類三部分,下面分別討論深度學習的應用方法。

如圖所示,(a)使用面部檢測來定位面部;(b)與歸一化規範座標對齊;(c)實施FR。在FR模塊中,面部反欺騙(anti-spoofing)可判斷面部是否有效或有欺騙性; 在訓練和測試之前面部處理降低識別難度; 在訓練時,使用不同的網絡結構和損失函數來提取深層特徵; 當提取測試數據的深層特徵時,面部匹配進行特徵分類。

基於深度學習的人臉檢測和識別方法介紹


檢測

人臉檢測大致分為兩種方案:一是剛性模板(rigid templates)法,主要通過基於增強的方法(boosting based methods)或深度學習神經網絡,二是通過部件描述面部的可變形模型(deformable models)。

這裡以RetinaFace為例介紹一下基於深度學習的算法。

RetinaFace是一個單步人臉檢測器,利用聯合監督和自我監督的多任務學習,在各種尺度人臉圖像上執行逐像素的人臉定位。當在WIDER FACE數據集上手動標註五個面部關鍵點(眼角,嘴角和鼻子頂部)之後,藉助這個額外的監督信號,比較難的人面檢測例子性能上顯著改進。添加一個自監督網格解碼器分支(mesh decoder branch),包括網格卷積和上採樣,並與監督分支並行地預測逐像素的三維形狀面部信息。

下圖是該方法的直觀圖,每個正樣本錨框定輸出(1)面部得分,(2)面部框,(3)五個面部關鍵點,(4)投影在圖像平面上的密集面部3D模型頂點。

基於深度學習的人臉檢測和識別方法介紹

如圖是單步密集人臉定位方法。RetinaFace設計的思想來自於具有獨立上下文模塊的特徵金字塔。在上下文模塊之後,計算每個錨框的多任務損失函數。

基於深度學習的人臉檢測和識別方法介紹

網格解碼器是基於快速局部譜濾波(spectral filter)的圖卷積(graph convolution)方法。如圖所示,(a)2D卷積是歐幾里德網格感受域(receptive field)內的鄰域核加權和。(b)圖卷積也採用鄰域核加權和的形式,但以連接兩個頂點的最小邊數來計算鄰域距離。具有內核gθ的圖卷積可以表示為截斷K階的遞歸Chebyshev多項式,即

基於深度學習的人臉檢測和識別方法介紹

基於深度學習的人臉檢測和識別方法介紹

在預測形狀和紋理參數之後,採用一種有效的可微分3D網格渲染器,基於相機參數(即相機位置、相機姿勢和焦距)和照明參數(即位置 點光源,顏色值和環境照明的顏色)將圖像網格投影2D圖像平面上。

一旦得到渲染的2D面部圖像,採用以下函數比較渲染和原始2D面部的像素差異作為損失:

基於深度學習的人臉檢測和識別方法介紹


校準

校準(alignment)需要人臉關鍵點(facial landmarks)的檢測。

面部關鍵點檢測算法分為三大類:整體(holistic)方法,約束局部模型(CLM)方法和基於迴歸的方法。整體方法明確地建立模型以代表全局面部外觀和形狀信息。CLM明確利用全局形狀模型,但構建局部外觀模型(local appearance models)。基於迴歸的方法隱含地捕獲面部形狀和外觀信息。下面討論基於深度學習的人臉關鍵點檢測算法。

在早期的工作中,深度玻爾茲曼機器模型(DBM)作為概率深度模型,捕獲面部形狀變化。最近,CNN模型成為典型關鍵點檢測的主導模型,其中大多數遵循全球(global)直接回歸框架或級聯(cascaded)迴歸框架。這些方法可以廣泛地分為純學習(pure learning)方法和混合(hybrid)法。純學習方法直接預測面部關鍵點位置,而混合法結合深度學習方法和計算機視覺投影模型進行預測。

以下以ODN為例介紹深度學習的關鍵點檢測具體方法。

遮擋自適應深度網絡(ODN,Occlusion-Adaptive Deep Networks),旨在解決面部關鍵點檢測的遮擋問題。在該模型中,高層特徵在每個位置的遮擋概率由一個可以自動學習面部外觀和麵部形狀之間關係的蒸餾模塊(distillation module)推斷。遮擋概率當作高層特徵的自適應權重,減少遮擋的影響並獲得清晰的特徵表示。

由於缺少語義特徵,乾淨的特徵表示不能代表整體(holistic)面部。要獲得詳盡而完整的特徵表示,必須利用低階(low-rank)學習模塊來恢復丟失的特徵。面部幾何特徵有助於低階模塊重新覆蓋丟失的特徵,ODN提出了一種幾何覺察模塊來挖掘不同面部組件之間的幾何關係。

如圖所示,ODN框架主要由三個緊密結合的模塊組成:幾何覺察模塊,蒸餾模塊和低階學習模塊。首先,先前殘差學習塊的特徵圖Z輸入到幾何覺察模塊和蒸餾模塊中,分別捕獲幾何信息並獲得乾淨的特徵表示。然後,組合這兩個模塊的輸出作為低階學習模塊的輸入,對面部的特徵相關性建模來恢復缺失的特徵。

基於深度學習的人臉檢測和識別方法介紹

下圖是幾何覺察模塊的結構圖,比較局部感受野和幾何覺察模塊如何捕捉面部幾何關係。⊗表示矩陣外積(outer product)。

基於深度學習的人臉檢測和識別方法介紹

從ODN框架圖可見,低階學習模塊主要是學習共享結構矩陣,該矩陣對特徵間/屬性相關性明確編碼,以便恢復缺失的特徵並去除冗餘特徵。


識別

自2014年以來,深度學習重塑了人臉識別(FR)的研究領域,最早的突破從Deepface方法開始。從那時起,深度FR技術利用分層架構將像素拼接成具有不變性的面部表示,極大地改善了性能並促進實際產品成功。

在深度學習的人臉識別系統中,損失函數分為幾種:基於歐幾里德距離、基於角/餘弦餘量和softmax等。基於深度學習的面部圖像處理方法(例如姿勢變化)分為兩類:““一對多增強(one-to- many augmentation)”型和“多對一歸一化(many-to-one normalization)”型。

訓練深度學習模型進行人臉識別有兩個主要研究方向:1)有些人訓練了一個多類別分類器,在訓練集中分離不同個體,例如使用softmax分類器,2)直接學習嵌入關係,例如三體損失(Triplet Loss)。

對於softmax的損失:線性變換矩陣大小隨著個體數而線性增加,學習的特徵對於閉集分類問題是可分離的,但對於開集人臉識別問題則不具有足夠判別能力。而對於三體的損失:面部三體的數量存在組合爆炸,特別是對於大規模數據集,導致迭代步數顯著增加;另外,半難度樣本的挖掘是有效模型訓練中一個相當難的問題。

這裡以ArcFace為例介紹具體的深度學習人臉識別算法。

如圖是ArcFace如何識別人臉的框架。DCNN特徵與最後一個全連接層之間的點積等於特徵和權重歸一化後的餘弦距離。利用反餘弦函數計算當前特徵與目標權重之間的角度。然後,在目標角度添加一個附加角度邊緣(additive angular margin),再通過餘弦函數再次得到目標邏輯模型。這樣通過固定的特徵規範重新尺度化所有邏輯模型,那麼以後的步驟與softmax損失完全相同。

基於深度學習的人臉檢測和識別方法介紹

如圖是ArcFace各種損失函數的對比。基於中心和特徵歸一化,所有個體都分佈在超球面上。為了增強類內緊湊性和類間差異,考慮四種測地距離(Geodesic Distance,GDis)約束。(a)邊緣化損失(Margin Loss):在樣本和中心之間插入測地距離邊界。(b)類內損失:減少樣本與相應中心之間的測地距離。(c)類間損失:增加不同中心之間的測地距離。(d)三體(Triplet)損失:在三體樣本之間插入測地距離邊界。這裡是一個ArcFace提出的附加角度邊緣化損失(Additive Angular Margin Loss),它與(a)中的測地距離(Arc)邊界罰分完全對應,以增強人臉識別模型的判別力。

基於深度學習的人臉檢測和識別方法介紹


參考文獻

【1】S Zafeiriou, C Zhang, Z Zhang,“A Survey on Face Detection in the wild: past, present and future”,CVIU,2015
【2】J Deng et al., “RetinaFace: Single-stage Dense Face Localisation in the Wild”,arXiv 1905.00641,2019
【3】M Wang, W Deng,“Deep face recognition: survey”, arXiv 1804.06655, 2018
【4】J Deng et al. “ArcFace: Additive Angular Margin Loss for Deep Face Recognition”. CVPR 2019
【5】Y Wu,Q Ji,“Facial Landmark Detection: a Literature Survey”,arXiv 1805.05563,2018
【6】M Zhu et al. “Robust Facial Landmark Detection via Occlusion-Adaptive Deep Networks”,CVPR 2019


作者 | 黃浴 - 知乎

版權聲明

本文版權歸《黃浴》,轉載請自行聯繫

點擊下方“瞭解更多”,瞭解CCAI 2019大會信息
"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

人臉識別分人臉驗證(face verification)和人臉確認(face identification);前者是指兩個人是不是同一個人,即1-to-1 mapping,而後者是確定一個人是一群人中的某個,即1-to-many mapping。

人臉作為一種特殊的目標,如同人體(行人檢測)一樣,前面討論的目標檢測/識別算法可以直接採用,但也會有其特殊的設計考慮,比如其剛體(rigid body)特徵和特有的人臉模版(由眼睛、鼻子和嘴巴等顯著部分構成)。一個完整的人臉識別系統包括人臉的檢測、校準和分類三部分,下面分別討論深度學習的應用方法。

如圖所示,(a)使用面部檢測來定位面部;(b)與歸一化規範座標對齊;(c)實施FR。在FR模塊中,面部反欺騙(anti-spoofing)可判斷面部是否有效或有欺騙性; 在訓練和測試之前面部處理降低識別難度; 在訓練時,使用不同的網絡結構和損失函數來提取深層特徵; 當提取測試數據的深層特徵時,面部匹配進行特徵分類。

基於深度學習的人臉檢測和識別方法介紹


檢測

人臉檢測大致分為兩種方案:一是剛性模板(rigid templates)法,主要通過基於增強的方法(boosting based methods)或深度學習神經網絡,二是通過部件描述面部的可變形模型(deformable models)。

這裡以RetinaFace為例介紹一下基於深度學習的算法。

RetinaFace是一個單步人臉檢測器,利用聯合監督和自我監督的多任務學習,在各種尺度人臉圖像上執行逐像素的人臉定位。當在WIDER FACE數據集上手動標註五個面部關鍵點(眼角,嘴角和鼻子頂部)之後,藉助這個額外的監督信號,比較難的人面檢測例子性能上顯著改進。添加一個自監督網格解碼器分支(mesh decoder branch),包括網格卷積和上採樣,並與監督分支並行地預測逐像素的三維形狀面部信息。

下圖是該方法的直觀圖,每個正樣本錨框定輸出(1)面部得分,(2)面部框,(3)五個面部關鍵點,(4)投影在圖像平面上的密集面部3D模型頂點。

基於深度學習的人臉檢測和識別方法介紹

如圖是單步密集人臉定位方法。RetinaFace設計的思想來自於具有獨立上下文模塊的特徵金字塔。在上下文模塊之後,計算每個錨框的多任務損失函數。

基於深度學習的人臉檢測和識別方法介紹

網格解碼器是基於快速局部譜濾波(spectral filter)的圖卷積(graph convolution)方法。如圖所示,(a)2D卷積是歐幾里德網格感受域(receptive field)內的鄰域核加權和。(b)圖卷積也採用鄰域核加權和的形式,但以連接兩個頂點的最小邊數來計算鄰域距離。具有內核gθ的圖卷積可以表示為截斷K階的遞歸Chebyshev多項式,即

基於深度學習的人臉檢測和識別方法介紹

基於深度學習的人臉檢測和識別方法介紹

在預測形狀和紋理參數之後,採用一種有效的可微分3D網格渲染器,基於相機參數(即相機位置、相機姿勢和焦距)和照明參數(即位置 點光源,顏色值和環境照明的顏色)將圖像網格投影2D圖像平面上。

一旦得到渲染的2D面部圖像,採用以下函數比較渲染和原始2D面部的像素差異作為損失:

基於深度學習的人臉檢測和識別方法介紹


校準

校準(alignment)需要人臉關鍵點(facial landmarks)的檢測。

面部關鍵點檢測算法分為三大類:整體(holistic)方法,約束局部模型(CLM)方法和基於迴歸的方法。整體方法明確地建立模型以代表全局面部外觀和形狀信息。CLM明確利用全局形狀模型,但構建局部外觀模型(local appearance models)。基於迴歸的方法隱含地捕獲面部形狀和外觀信息。下面討論基於深度學習的人臉關鍵點檢測算法。

在早期的工作中,深度玻爾茲曼機器模型(DBM)作為概率深度模型,捕獲面部形狀變化。最近,CNN模型成為典型關鍵點檢測的主導模型,其中大多數遵循全球(global)直接回歸框架或級聯(cascaded)迴歸框架。這些方法可以廣泛地分為純學習(pure learning)方法和混合(hybrid)法。純學習方法直接預測面部關鍵點位置,而混合法結合深度學習方法和計算機視覺投影模型進行預測。

以下以ODN為例介紹深度學習的關鍵點檢測具體方法。

遮擋自適應深度網絡(ODN,Occlusion-Adaptive Deep Networks),旨在解決面部關鍵點檢測的遮擋問題。在該模型中,高層特徵在每個位置的遮擋概率由一個可以自動學習面部外觀和麵部形狀之間關係的蒸餾模塊(distillation module)推斷。遮擋概率當作高層特徵的自適應權重,減少遮擋的影響並獲得清晰的特徵表示。

由於缺少語義特徵,乾淨的特徵表示不能代表整體(holistic)面部。要獲得詳盡而完整的特徵表示,必須利用低階(low-rank)學習模塊來恢復丟失的特徵。面部幾何特徵有助於低階模塊重新覆蓋丟失的特徵,ODN提出了一種幾何覺察模塊來挖掘不同面部組件之間的幾何關係。

如圖所示,ODN框架主要由三個緊密結合的模塊組成:幾何覺察模塊,蒸餾模塊和低階學習模塊。首先,先前殘差學習塊的特徵圖Z輸入到幾何覺察模塊和蒸餾模塊中,分別捕獲幾何信息並獲得乾淨的特徵表示。然後,組合這兩個模塊的輸出作為低階學習模塊的輸入,對面部的特徵相關性建模來恢復缺失的特徵。

基於深度學習的人臉檢測和識別方法介紹

下圖是幾何覺察模塊的結構圖,比較局部感受野和幾何覺察模塊如何捕捉面部幾何關係。⊗表示矩陣外積(outer product)。

基於深度學習的人臉檢測和識別方法介紹

從ODN框架圖可見,低階學習模塊主要是學習共享結構矩陣,該矩陣對特徵間/屬性相關性明確編碼,以便恢復缺失的特徵並去除冗餘特徵。


識別

自2014年以來,深度學習重塑了人臉識別(FR)的研究領域,最早的突破從Deepface方法開始。從那時起,深度FR技術利用分層架構將像素拼接成具有不變性的面部表示,極大地改善了性能並促進實際產品成功。

在深度學習的人臉識別系統中,損失函數分為幾種:基於歐幾里德距離、基於角/餘弦餘量和softmax等。基於深度學習的面部圖像處理方法(例如姿勢變化)分為兩類:““一對多增強(one-to- many augmentation)”型和“多對一歸一化(many-to-one normalization)”型。

訓練深度學習模型進行人臉識別有兩個主要研究方向:1)有些人訓練了一個多類別分類器,在訓練集中分離不同個體,例如使用softmax分類器,2)直接學習嵌入關係,例如三體損失(Triplet Loss)。

對於softmax的損失:線性變換矩陣大小隨著個體數而線性增加,學習的特徵對於閉集分類問題是可分離的,但對於開集人臉識別問題則不具有足夠判別能力。而對於三體的損失:面部三體的數量存在組合爆炸,特別是對於大規模數據集,導致迭代步數顯著增加;另外,半難度樣本的挖掘是有效模型訓練中一個相當難的問題。

這裡以ArcFace為例介紹具體的深度學習人臉識別算法。

如圖是ArcFace如何識別人臉的框架。DCNN特徵與最後一個全連接層之間的點積等於特徵和權重歸一化後的餘弦距離。利用反餘弦函數計算當前特徵與目標權重之間的角度。然後,在目標角度添加一個附加角度邊緣(additive angular margin),再通過餘弦函數再次得到目標邏輯模型。這樣通過固定的特徵規範重新尺度化所有邏輯模型,那麼以後的步驟與softmax損失完全相同。

基於深度學習的人臉檢測和識別方法介紹

如圖是ArcFace各種損失函數的對比。基於中心和特徵歸一化,所有個體都分佈在超球面上。為了增強類內緊湊性和類間差異,考慮四種測地距離(Geodesic Distance,GDis)約束。(a)邊緣化損失(Margin Loss):在樣本和中心之間插入測地距離邊界。(b)類內損失:減少樣本與相應中心之間的測地距離。(c)類間損失:增加不同中心之間的測地距離。(d)三體(Triplet)損失:在三體樣本之間插入測地距離邊界。這裡是一個ArcFace提出的附加角度邊緣化損失(Additive Angular Margin Loss),它與(a)中的測地距離(Arc)邊界罰分完全對應,以增強人臉識別模型的判別力。

基於深度學習的人臉檢測和識別方法介紹


參考文獻

【1】S Zafeiriou, C Zhang, Z Zhang,“A Survey on Face Detection in the wild: past, present and future”,CVIU,2015
【2】J Deng et al., “RetinaFace: Single-stage Dense Face Localisation in the Wild”,arXiv 1905.00641,2019
【3】M Wang, W Deng,“Deep face recognition: survey”, arXiv 1804.06655, 2018
【4】J Deng et al. “ArcFace: Additive Angular Margin Loss for Deep Face Recognition”. CVPR 2019
【5】Y Wu,Q Ji,“Facial Landmark Detection: a Literature Survey”,arXiv 1805.05563,2018
【6】M Zhu et al. “Robust Facial Landmark Detection via Occlusion-Adaptive Deep Networks”,CVPR 2019


作者 | 黃浴 - 知乎

版權聲明

本文版權歸《黃浴》,轉載請自行聯繫

點擊下方“瞭解更多”,瞭解CCAI 2019大會信息
基於深度學習的人臉檢測和識別方法介紹

點擊下方“瞭解更多”,瞭解CCAI 2019大會信息

"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

人臉識別分人臉驗證(face verification)和人臉確認(face identification);前者是指兩個人是不是同一個人,即1-to-1 mapping,而後者是確定一個人是一群人中的某個,即1-to-many mapping。

人臉作為一種特殊的目標,如同人體(行人檢測)一樣,前面討論的目標檢測/識別算法可以直接採用,但也會有其特殊的設計考慮,比如其剛體(rigid body)特徵和特有的人臉模版(由眼睛、鼻子和嘴巴等顯著部分構成)。一個完整的人臉識別系統包括人臉的檢測、校準和分類三部分,下面分別討論深度學習的應用方法。

如圖所示,(a)使用面部檢測來定位面部;(b)與歸一化規範座標對齊;(c)實施FR。在FR模塊中,面部反欺騙(anti-spoofing)可判斷面部是否有效或有欺騙性; 在訓練和測試之前面部處理降低識別難度; 在訓練時,使用不同的網絡結構和損失函數來提取深層特徵; 當提取測試數據的深層特徵時,面部匹配進行特徵分類。

基於深度學習的人臉檢測和識別方法介紹


檢測

人臉檢測大致分為兩種方案:一是剛性模板(rigid templates)法,主要通過基於增強的方法(boosting based methods)或深度學習神經網絡,二是通過部件描述面部的可變形模型(deformable models)。

這裡以RetinaFace為例介紹一下基於深度學習的算法。

RetinaFace是一個單步人臉檢測器,利用聯合監督和自我監督的多任務學習,在各種尺度人臉圖像上執行逐像素的人臉定位。當在WIDER FACE數據集上手動標註五個面部關鍵點(眼角,嘴角和鼻子頂部)之後,藉助這個額外的監督信號,比較難的人面檢測例子性能上顯著改進。添加一個自監督網格解碼器分支(mesh decoder branch),包括網格卷積和上採樣,並與監督分支並行地預測逐像素的三維形狀面部信息。

下圖是該方法的直觀圖,每個正樣本錨框定輸出(1)面部得分,(2)面部框,(3)五個面部關鍵點,(4)投影在圖像平面上的密集面部3D模型頂點。

基於深度學習的人臉檢測和識別方法介紹

如圖是單步密集人臉定位方法。RetinaFace設計的思想來自於具有獨立上下文模塊的特徵金字塔。在上下文模塊之後,計算每個錨框的多任務損失函數。

基於深度學習的人臉檢測和識別方法介紹

網格解碼器是基於快速局部譜濾波(spectral filter)的圖卷積(graph convolution)方法。如圖所示,(a)2D卷積是歐幾里德網格感受域(receptive field)內的鄰域核加權和。(b)圖卷積也採用鄰域核加權和的形式,但以連接兩個頂點的最小邊數來計算鄰域距離。具有內核gθ的圖卷積可以表示為截斷K階的遞歸Chebyshev多項式,即

基於深度學習的人臉檢測和識別方法介紹

基於深度學習的人臉檢測和識別方法介紹

在預測形狀和紋理參數之後,採用一種有效的可微分3D網格渲染器,基於相機參數(即相機位置、相機姿勢和焦距)和照明參數(即位置 點光源,顏色值和環境照明的顏色)將圖像網格投影2D圖像平面上。

一旦得到渲染的2D面部圖像,採用以下函數比較渲染和原始2D面部的像素差異作為損失:

基於深度學習的人臉檢測和識別方法介紹


校準

校準(alignment)需要人臉關鍵點(facial landmarks)的檢測。

面部關鍵點檢測算法分為三大類:整體(holistic)方法,約束局部模型(CLM)方法和基於迴歸的方法。整體方法明確地建立模型以代表全局面部外觀和形狀信息。CLM明確利用全局形狀模型,但構建局部外觀模型(local appearance models)。基於迴歸的方法隱含地捕獲面部形狀和外觀信息。下面討論基於深度學習的人臉關鍵點檢測算法。

在早期的工作中,深度玻爾茲曼機器模型(DBM)作為概率深度模型,捕獲面部形狀變化。最近,CNN模型成為典型關鍵點檢測的主導模型,其中大多數遵循全球(global)直接回歸框架或級聯(cascaded)迴歸框架。這些方法可以廣泛地分為純學習(pure learning)方法和混合(hybrid)法。純學習方法直接預測面部關鍵點位置,而混合法結合深度學習方法和計算機視覺投影模型進行預測。

以下以ODN為例介紹深度學習的關鍵點檢測具體方法。

遮擋自適應深度網絡(ODN,Occlusion-Adaptive Deep Networks),旨在解決面部關鍵點檢測的遮擋問題。在該模型中,高層特徵在每個位置的遮擋概率由一個可以自動學習面部外觀和麵部形狀之間關係的蒸餾模塊(distillation module)推斷。遮擋概率當作高層特徵的自適應權重,減少遮擋的影響並獲得清晰的特徵表示。

由於缺少語義特徵,乾淨的特徵表示不能代表整體(holistic)面部。要獲得詳盡而完整的特徵表示,必須利用低階(low-rank)學習模塊來恢復丟失的特徵。面部幾何特徵有助於低階模塊重新覆蓋丟失的特徵,ODN提出了一種幾何覺察模塊來挖掘不同面部組件之間的幾何關係。

如圖所示,ODN框架主要由三個緊密結合的模塊組成:幾何覺察模塊,蒸餾模塊和低階學習模塊。首先,先前殘差學習塊的特徵圖Z輸入到幾何覺察模塊和蒸餾模塊中,分別捕獲幾何信息並獲得乾淨的特徵表示。然後,組合這兩個模塊的輸出作為低階學習模塊的輸入,對面部的特徵相關性建模來恢復缺失的特徵。

基於深度學習的人臉檢測和識別方法介紹

下圖是幾何覺察模塊的結構圖,比較局部感受野和幾何覺察模塊如何捕捉面部幾何關係。⊗表示矩陣外積(outer product)。

基於深度學習的人臉檢測和識別方法介紹

從ODN框架圖可見,低階學習模塊主要是學習共享結構矩陣,該矩陣對特徵間/屬性相關性明確編碼,以便恢復缺失的特徵並去除冗餘特徵。


識別

自2014年以來,深度學習重塑了人臉識別(FR)的研究領域,最早的突破從Deepface方法開始。從那時起,深度FR技術利用分層架構將像素拼接成具有不變性的面部表示,極大地改善了性能並促進實際產品成功。

在深度學習的人臉識別系統中,損失函數分為幾種:基於歐幾里德距離、基於角/餘弦餘量和softmax等。基於深度學習的面部圖像處理方法(例如姿勢變化)分為兩類:““一對多增強(one-to- many augmentation)”型和“多對一歸一化(many-to-one normalization)”型。

訓練深度學習模型進行人臉識別有兩個主要研究方向:1)有些人訓練了一個多類別分類器,在訓練集中分離不同個體,例如使用softmax分類器,2)直接學習嵌入關係,例如三體損失(Triplet Loss)。

對於softmax的損失:線性變換矩陣大小隨著個體數而線性增加,學習的特徵對於閉集分類問題是可分離的,但對於開集人臉識別問題則不具有足夠判別能力。而對於三體的損失:面部三體的數量存在組合爆炸,特別是對於大規模數據集,導致迭代步數顯著增加;另外,半難度樣本的挖掘是有效模型訓練中一個相當難的問題。

這裡以ArcFace為例介紹具體的深度學習人臉識別算法。

如圖是ArcFace如何識別人臉的框架。DCNN特徵與最後一個全連接層之間的點積等於特徵和權重歸一化後的餘弦距離。利用反餘弦函數計算當前特徵與目標權重之間的角度。然後,在目標角度添加一個附加角度邊緣(additive angular margin),再通過餘弦函數再次得到目標邏輯模型。這樣通過固定的特徵規範重新尺度化所有邏輯模型,那麼以後的步驟與softmax損失完全相同。

基於深度學習的人臉檢測和識別方法介紹

如圖是ArcFace各種損失函數的對比。基於中心和特徵歸一化,所有個體都分佈在超球面上。為了增強類內緊湊性和類間差異,考慮四種測地距離(Geodesic Distance,GDis)約束。(a)邊緣化損失(Margin Loss):在樣本和中心之間插入測地距離邊界。(b)類內損失:減少樣本與相應中心之間的測地距離。(c)類間損失:增加不同中心之間的測地距離。(d)三體(Triplet)損失:在三體樣本之間插入測地距離邊界。這裡是一個ArcFace提出的附加角度邊緣化損失(Additive Angular Margin Loss),它與(a)中的測地距離(Arc)邊界罰分完全對應,以增強人臉識別模型的判別力。

基於深度學習的人臉檢測和識別方法介紹


參考文獻

【1】S Zafeiriou, C Zhang, Z Zhang,“A Survey on Face Detection in the wild: past, present and future”,CVIU,2015
【2】J Deng et al., “RetinaFace: Single-stage Dense Face Localisation in the Wild”,arXiv 1905.00641,2019
【3】M Wang, W Deng,“Deep face recognition: survey”, arXiv 1804.06655, 2018
【4】J Deng et al. “ArcFace: Additive Angular Margin Loss for Deep Face Recognition”. CVPR 2019
【5】Y Wu,Q Ji,“Facial Landmark Detection: a Literature Survey”,arXiv 1805.05563,2018
【6】M Zhu et al. “Robust Facial Landmark Detection via Occlusion-Adaptive Deep Networks”,CVPR 2019


作者 | 黃浴 - 知乎

版權聲明

本文版權歸《黃浴》,轉載請自行聯繫

點擊下方“瞭解更多”,瞭解CCAI 2019大會信息
基於深度學習的人臉檢測和識別方法介紹

點擊下方“瞭解更多”,瞭解CCAI 2019大會信息

基於深度學習的人臉檢測和識別方法介紹

"

相關推薦

推薦中...