人臉檢測器:對DSFD的理解

2020-08-04 AI公園

作者:Bastien

編譯:ronghuaiyang

導讀

通過回顧兩個著名的檢測算法:Faster R-CNN和Single Shot檢測器來深入Dual Shot人臉檢測器DSFD的算法。

人臉檢測器:對DSFD的理解

物體檢測中的SOTA

人臉檢測是許多應用的基礎步驟,從識別到圖像處理。這是一項具有挑戰性的任務,因為在現實世界的圖像中,人臉在尺度、姿勢、遮擋、表情、外觀和光照方面呈現出非常高的可變性。模糊、化妝和反光就是多變性的好例子,這解釋了為什麼人臉檢測仍然被廣泛研究。

到目前為止,能夠產生最佳性能的方法大致可以分為兩類:

  • 基於region proposal的方法,更具體的是Region Proposal Network。
  • Single-shot 方法,如 Single Shot Detector。

這兩種架構在更廣泛的目標檢測算法領域中都是著名和經典的算法。讓我們更深入地研究一下這兩種方法。目標檢測的目的是預測圖像或視頻幀中一組包圍目標的框,以及它們各自的類別。

人臉檢測器:對DSFD的理解

注意,在人臉檢測這個特定領域中,只有兩個類:facesnot-faces(或background).

基於Region-proposal的方法

2014年,在R-CNN文章中首次引入了使用region proposal來執行物體分類的想法。它是基於對輸入圖像不同區域的檢測任務與分類任務相似的觀察。

人臉檢測器:對DSFD的理解

這是基region-proposal的方法背後的一個簡單表達。

「region-proposal網絡」一詞是2015年由Faster R-CNN網絡的作者創造的,是這種架構的核心組件。這些方法作為兩階段檢測方案:

  • region-proposal網絡假設出圖像中可能的目標位置。
  • 這個region-proposal是類無關的:它檢測可能包含物體的區域,而不是背景。
  • 基於區域的卷積網絡執行特定類的檢測:它對位於建議區域的物體進行分類,並細化其bounding-box坐標。
人臉檢測器:對DSFD的理解

Faster R-CNN架構的主要組件。Region Proposal 網絡輸出粗略的感興趣的區域,這些區域被隨後的架構層考慮以進行檢測。在這裡,基於區域的檢測是由Fast R-CNN網絡進行的,它與RPN共享部分卷積層。

注意,兩個組件可能都不是完全斷開連接的網絡。Faster R-CNN通過在RPN和特定類別的檢測網絡上共享全卷積層,確實在計算時間上有了很大的提高。

人臉檢測器:對DSFD的理解

Region Proposal網絡的細節,如原始論文中描述的那樣。帶有256個3x3濾波器的卷積層在feature map的每個位置輸出一個256維向量。然後用後者將對應的感受野分類為k個可能的參考框的目標或背景,稱為錨,並預測每一個錨點的坐標偏移量。cls是一個分類層。reg是一個回歸層。

Faster R-CNN架構中的一個關鍵概念是錨框的使用。錨是具有各種形狀和尺度的參考框,它將參數化feature map上每一點的「k」的建議區域。在卷積特徵圖上滑動窗口的每個位置,為每個錨點建議一個區域:

  • 回歸層輸出錨的一個refined版本的坐標。
  • 分類器層輸出錨的二分類的物體/背景分類任務的置信值。

常見的配置是有9個預先定義的錨,涉及三種不同的比例和三種不同的高寬比(通常為1:1、2:1和1:2)。在特徵圖上的每一個點的每個錨框上都給出了一個建議區域,這一步的輸出是k⨉(number of points in the feature map)。最後,過濾建議區域,只保留最好的(例如最高的目標分類分數)。

為了訓練RPN,我們需要在預測的邊界框和ground truth邊界框之間確定匹配策略。在Faster R-CNN中,預測的邊界框被指定為:

  • 與所有的ground truth邊界框中的IOU最高的那個預測框
  • 所有與ground truth邊界框的IOU重疊高於0.7的的預測框
人臉檢測器:對DSFD的理解

預測框(黑色)和ground truth框(彩色)之間的匹配策略。

這些預測框被分配為正標籤,也就是說,它們的ground truth被認為是物體類。如果預測的框不符合這兩個標準之一,且IoU低於0.3,這些框都被分配負標籤。他們的ground truth被認為是背景類。其餘的預測框被忽略。

一旦每個預測框被分配好標籤,RPN網絡通過最小化所有預測框的以下損失函數的平均值來訓練:

人臉檢測器:對DSFD的理解

這個損失函數是另外兩個損失函數的和,用「模型」表示:

  • 預測框的分類損失。
  • 預測框的回歸損失。注意,這種回歸損失只對正錨計算(對負錨p = 0),因為負錨不與任何ground truth框匹配。

檢測器使用類似的損失函數進行訓練。主要區別在於分類。實際上,檢測器組件執行多類分類任務,而不是二分類任務。

Single Shot 人臉檢測

DSFD架構主要基於2016年的SSD: Single Shot MultiBox Detector架構,來自Wei Liu 等人,該架構不同於基於rpn的網絡,因為它沒有區域建議步驟。

利用feature map直接預測邊界框的坐標和內容,從而得到網絡的名稱,預測時間也更短。

此外,分類器和回歸器不是使用單一的特徵圖進行檢測,而是在位於核心網絡不同深度的多個特徵圖上運行,如下圖所示。這個核心網絡由VGG-16網絡的層(在分類層之前的層)和額外的卷積層組成。VGG-16層可以用其他全卷積網絡(如resnet)來替換。

人臉檢測器:對DSFD的理解

SSD網絡的體系結構。Point-wise分類器和回歸器在不同深度的特徵圖上運行。每個點的分類器預測特性映射一個向量的大小84 = (20類+背景)⨉4錨。同樣的,回歸器為每個點預測的向量的大小為16 = 4坐標⨉4錨。因此在feature map中每個位置預測4個box。例如,在最淺層的特徵圖上,有38⨉38⨉4 = 5776個框,在最深的特徵圖上,只有1⨉1⨉4 = 4個。

每個特徵圖對應不同的感受野的大小。特徵圖的感受野是指輸入圖像中像素參與特徵圖各點計算的區域。特徵圖越深,感受野越寬。

直觀上,這意味著深度feature map能夠檢測到較大的物體(在輸入圖像中佔據較大的區域),而淺層feature map能夠檢測到較小的物體。

在基於RPN的架構中,參考框(錨)用於參數化檢測。這些錨框也被稱為先驗,因為它們的坐標是由回歸量細化的。在SSD架構中,需要較少數量的錨點,只是為了考慮到邊界框的各種可能形狀(寬高比),因為檢測已經在不同的尺度上進行了。因此,錨的比例對於每個特徵圖都是固定的,並取決於我們執行檢測的深度。

最後,基於分類器的置信度,利用非最大抑制方法來減少正包圍框的數量,即分類器不與背景相關聯的包圍框的數量。這裡我們不討論這個問題。

如果預測框與所有的ground truth框都只有一個小的IoU,則使用匹配策略將預測框與ground truth框匹配,或與背景類匹配。然後使用與Faster R-CNN結構類似的損失函數來訓練網絡。但是請注意,這裡沒有必要使用區域建議損失函數。

既然我們已經回顧了這兩個著名的物體檢測的基線,不過DSFD人臉檢測器才是我們感興趣的架構。現在是深入研究作者提出的新觀點的時候了。

DSFD的貢獻

本文介紹了對以前SSD架構的三種新的改變:

  • 一種計算特徵圖的新方法,以便進行分類和回歸。
  • 在構建訓練過程中最小化損失函數的一種變體。
  • 一種改進的策略,將預測結果匹配到圖像中的人臉上。

特徵增強模塊

DSFD的框架如下圖所示。它使用與SSD網絡相同的骨幹網絡。這裡的一個關鍵區別是,不同深度的6個特徵圖通過一個被作者稱為feature Enhance module的模塊轉換為6個「增強」的特徵圖。此模塊的目標(下文將說明)是為物體分類器和邊界框回歸器提供更靈活和健壯的特特徵。

人臉檢測器:對DSFD的理解

DSFD體系結構。就像在SSD架構中一樣,每個輸入圖像都要計算6個特徵圖。它們被稱為原始Feature Shot。這裡的不同之處在於,使用feature Enhance模塊,這些feature map被增強為增強的feature Shot,如下圖所示。分類器和回歸器都經過訓練並應用於原始的和增強的特徵圖,但這裡沒有給出。First Shot PAL和Second Shot PAL是在學習過程中優化的兩個損失函數。

人臉檢測器:對DSFD的理解

來自DSFD的特徵增強模塊。計算在給定深度的核心架構上增強的feature map需要在這個深度層次上的feature map和在下一個層次上的feature map(「向上的feature map」,它更小)。

如上圖所示,FEM模塊從當前級別feature map的和下一個深度級別的feature map的上採樣版本進行element-wise乘積開始。生成的特徵圖被分為三個部分。每一個都要經過一系列比例從1到3的dilated卷積,然後被連接回一個與當前輸入相同大小的完整的特徵圖上。dilated卷積是指核函數不應用於相鄰像素,而是應用於由卷積的比例參數分隔的像素的卷積。

原始的和增強的特徵圖都被輸入到分類器和回歸器中,類似於SSD體系結構中的那些。在訓練時,利用兩個shot的分類器和回歸器的結果計算損失函數,優化:

  • 第一個shot的漸進錨點損失(PAL)的原始特徵shot。
  • 增強特徵shot的第二shot的PAL。

在測試時,只用增強特徵shot的分類器和回歸器作為檢測的輸出。

漸進錨損失

如上節所述,在架構的訓練過程中,網絡的最小化的目標為錨集合的兩個損失函數的加權和:

人臉檢測器:對DSFD的理解

該目標函數的每一項都類似於基於rpn的檢測架構章節中所介紹的檢測損失函數。但是這裡使用了兩組不同的錨:

  • 錨的集合a用於計算Second Shot的損失(右項)。
  • 較小的錨集sa用於計算First Shot的損失(左項)。

實際上,由於每個增強的feature map都是使用相應的原始feature map和一層更深的原始feature map來計算的,feature map的感受野在增強的feature shot (second shot)中比在原始的feature shot中更寬。平均而言,原始shot能檢測到的人臉要小一些。為了解釋這一差異,作者在計算First Shot的損失時使用了較小的錨的集合。記住,只有從second shot的特徵被用於預測/測試。

就像在SSD中一樣,每個特徵圖使用不同的尺度的錨。增強shot的錨比原始的shot的錨大兩倍。基於人臉的統計,所有錨只使用一個形狀,1:5 .5。

升級的錨匹配

目標檢測與人臉檢測的一個主要問題是錨點的選擇不能很好地覆蓋目標或人臉可能的形狀和尺度空間。這導致了訓練中檢測到的正邊界框和負邊界框數量的顯著不平衡(負邊界框更多),導致每個特徵圖上的回歸器和分類器的不穩定和較慢的優化。

為了解決這個問題,使模型對各種形狀和大小更健壯,SSD和RPN-based方法實現了各種解決方案,從固定正負樣本比例採樣預測框,到數據增強策略,到多尺度圖像輸入。

後一種方法是DSFD採用的方法。在訓練時,以40%的概率對輸入圖像進行基於錨點的採樣:

  • 圖像中其中一個ground-truth人臉是隨機選擇的。
  • 在第二個shot中隨機選擇一個可能的錨尺度(增強特徵shot的錨尺度為16、32、64、128、256、512)。
  • 該圖像被裁剪成包含所選人臉的子圖像。選擇裁剪的大小,使子圖像與所選人臉的大小比為640/S,其中S為所選尺度。

對於剩餘的概率,對輸入應用一種類似於SSD中使用的數據增強策略,即:

  • 隨機裁剪輸入圖像(最終得到和物體的最小重疊)。如果存在一個物體,裁剪就以它為中心。
  • 縮放到固定大小。
  • 隨機水平翻轉。
  • Photo-metric畸變。

結果

DSFD架構在兩個主要的人臉數據集WIDER和FDDB上實現了高精度。正如你在下圖中看到的,它克服了人臉檢測任務中的許多挑戰:遮擋、化妝、反射、模糊、姿勢……

人臉檢測器:對DSFD的理解

用繪圖的方式說明了DSFD在人臉檢測中的各種挑戰的性能。只有當檢測器(分類器)置信度大於0.8時,才會繪製藍色邊框。

在這篇文章中,作者聲稱在兩個數據集上都是排第一的,並進行了消融研究,以顯示他們的三個貢獻各自的相對影響。在所有三個版本的更廣泛的數據集(簡單,中等和困難)中,每個貢獻都帶來了平均精度的提高:

  • 特徵增強模塊帶來了0.4%(easy WIDER)和5.5%(hard WIDER)的提升
  • 漸進錨損失帶來了0.3%到0.6%的提升
  • 錨匹配帶來了0.1%到0.3%的提升


英文原文:https://www.sicara.ai/blog/2019-09-26-face-detectors-dsfd-state-of-the-art-algorithms

相關焦點

  • 實時旋轉魯棒人臉檢測算法
    在人臉識別領域,由於真實場景的複雜多變,受人體姿態和取景角度的影響,採集到的人臉圖像,時常會存在平面內旋轉角度不確定等問題,這為人臉檢測以及基於人臉的視覺任務帶來了極大的挑戰。下面將為大家介紹如何利用級聯矯正網絡,來實現實時、旋轉自適應的人臉檢測。
  • 氣相色譜儀檢測器之熱導檢測器
    氣相色譜儀檢測器之熱導檢測器是深圳市億鑫儀器設備有限公司提供。氣相色譜儀氣相色譜是現代分析實驗室常用的檢測儀器,檢測器是色譜儀的重要部件,本文介紹一下氣相色譜儀檢測器之熱導檢測器。一、氣相色譜儀常用的幾種檢測器1、熱導檢測器(TCD)2、氫火焰離子化檢測器(FID)3、電子捕獲檢測器(ECD)4、火焰光度檢測器(FPD)5、氮磷檢測器(NPD)也稱熱離子檢測器(TID)6、原子發射檢測器(AED)7、硫螢光檢測器(SCD)熱導檢測器是根據不同物質具有不同熱導係數原理製成。
  • 氣相色譜檢測器(一):熱導檢測器(TCD)
    檢測器是色譜儀的重要構件。氣相色譜常用的幾種檢測器:(1)熱導檢測器(TCD);(2)氫火焰離子化檢測器(FID);(3) 電子捕獲檢測器(ECD);(4)火焰光度檢測器(FPD);(5) 氮磷檢測器(NPD)也稱熱離子檢測器(TID);6. 原子發射檢測器(AED);(7) 硫螢光檢測器(SCD)。氣相色譜檢測器是把載氣裡被分離的各組分的濃度或質量轉換成電信號的裝置。
  • 無需人臉檢測,即可實時,6自由度3維人臉姿態估計方法 | 代碼剛開源
    摘要我們提出了實時、六自由度(6DoF)、三維人臉姿態估計,無需人臉檢測或關鍵點定位。我們發現估計人臉的6自由度剛性變換比人臉關鍵點檢測更簡單,人臉關鍵點檢測通常用於三維人臉對齊。此外,6DoF提供了比人臉框標籤更多的信息。
  • 氣相色譜儀檢測器之火焰光度檢測器
    氣相色譜儀檢測器之火焰光度檢測器是深圳市億鑫儀器設備有限公司提供。氣相色譜儀檢測器之火焰光度檢測器今天和大家一起學習一下氣相色譜儀中電火焰光度檢測器(FPD))的相關基本知識。1、火焰光度檢測器(FPD)FPD 又稱硫、磷檢測器,它是一種對含磷、硫有機化合物具有高選擇性和高靈敏度的質量型檢測器,檢出限可達10-12g.S-1(對P)或10-11g.S-11(對S)。
  • 液相色譜儀常用檢測器之示差折光檢測器
    液相色譜儀常用檢測器之示差折光檢測器液相色譜儀常用檢測器之示差折光檢測器是深圳市億鑫儀器設備有限公司提供。示差折光檢測器和紫外檢測器、蒸發光散射檢測器一樣,也是HPLC常用的檢測器之一,今天就簡單聊一下示差折光檢測器。
  • 液相色譜儀常用檢測器之蒸發光散射檢測器
    蒸發光散射檢測器液相色譜儀常用檢測器之蒸發光散射檢測器是深圳市億鑫儀器設備有限公司提供。蒸發光散射檢測器是液相色譜儀分析過程中比較重要的檢測器,今天就來呵大家分享一下,蒸發光散射檢測器的發展歷史、結構原理以及應用維護。
  • 快速了解環形線圈檢測器
    環形線圈檢測器是一種基於電磁感應原理的車輛檢測器,它的傳感器是一個埋在路面下面、通過一定工作電流的環形線圈。當車輛通過線圈時,車輛引起線圈迴路電感量的變化,檢測器檢測出變化量就可以檢測出車輛的存在,從而達到檢測目的。環形線圈檢測系統包括埋於路面下面的環形線圈、接線盒、傳輸電纜、信號檢測處理單元等。
  • 螢光檢測器原理
    導讀:本文主要介紹的是螢光檢測器的原理,感興趣的童鞋們快來學習一下吧~~很漲姿勢的哦~~本文引用地址:http://www.eepw.com.cn/article/281696.htm1
  • 電池檢測器原理
    電池檢測器原理電池或電池包裝上的一次性小型電池檢測器是綜合技術得以應用的好例子。綜合技術是用全新的方式組合多種現有的技術!電池檢測器依賴兩種特殊墨水:熱敏墨水和導電墨水。熱敏墨水會根據溫度改變顏色。導電墨水能夠導電。
  • 氣相色譜儀檢測器匯總
    檢測器的類型很多,本文就來介紹一下氣相色譜儀檢測器匯總。一、常見氣相色譜儀檢測器及縮寫:TCD-熱導池檢測器FID-火焰離子化檢測器ECD-電子俘獲檢測器FPD-火焰光度檢測器PFPD-脈衝火焰光度檢測器NPD-氮磷檢測器PID-光電離檢測器MSD-質譜檢測器IRD-紅外光譜檢測器FTIRHID-氬電離檢測器
  • 揭秘液相色譜檢測器中的獨門兵器!
    ,電導檢測器等等就屬於這類偏門武器。這類兵刃中,比較有典型代表性的應當屬示差折光檢測器(RID)和螢光檢測器(FLD)了,另外,就是電性檢測器一族。我們來一一說說他們的武功路數吧。RID,簡稱示差,這是武林兵刃中最令人唏噓感慨的一個,本來它是作為第一種被人們使用的兵器出現在武林的,是最早商品化的液相色譜檢測器,可是現在淪落到只能偏居各類檢測器的一隅,滄海桑田的變化,令人感慨萬分。
  • FID檢測器原理及注意事項,這次你終於明白FID檢測器了
    它的原理很簡單,當有機物經過檢測器時,在火焰那裡會產生離子,在極化電壓的作用下,噴嘴和收集極之間的電流會增大,對這個電流信號進行檢測和記錄即可得到相應的譜圖。FID是GC最基本的檢測器。FID雖然是準通用型檢測器,但有些物質在此檢測器上的響應值很小或無響應。這些物質包括永久氣體、滷代矽烷、H2O、NH3、CO、CO2、CS2、CCl4、等等。所以,檢測這些物質時不應使用FID。 fid檢測器由離子座、離子頭、極化線圈、收集極、氣體供應等部分組成,離子頭是檢測器的關鍵部分。
  • 乾貨| 直觀理解GAN背後的原理:以人臉圖像生成為例
    到了那時,生成式對抗網絡只能以 0.5 的概率猜一下哪張是真實的哪張是生成的,因為生成器生成的人臉圖片太真實了。官方 GAN 論文:生成模型可以被看作是一隊偽造者,試圖偽造貨幣,不被人發覺,然而辨別模型可被視作一隊警察,努力監察假的貨幣。遊戲當中的競爭使得這兩隊不斷的改善方法,直到無法從真實的物品中辨別出偽造的。
  • 氣相色譜儀的7種檢測器
    1、氫火焰離子化檢測器(FID)用於微量有機物分析。  2、熱導檢測器(TCD)用於常量、半微量分析,有機、無機物均有響應。  3、電子捕獲檢測器(ECD)用於有機氯農藥殘留分析。
  • 氣相色譜檢測器選擇指南
    經過檢測器將各組分的成分及濃度轉化為電信號並經由放大器放大,最終由記錄儀或微處理機得到色譜圖,就可以對被測試的組分進行定性和定量的分析了。氣相色譜檢測器相當於氣相色譜的「眼睛」,選擇合適的檢測器對於應用氣相色譜檢測目標物質至關重要,儀器信息網編輯對氣相色譜檢測器相關的分類、性能指標以及常用檢測器進行了整理,方便大家在選擇檢測器時進行參考。
  • 化學發光檢測器介紹
    化學發光檢測器是近年來發展起來的一種快速、靈敏的新型檢測器,因其設備簡單、價廉、線性範圍寬等優點。其原理是基於某些物質在常溫下進行化學反應,生成處於激發態勢反應中間體或反應產物,當它們從激發態返回基態時,就發射出光子。由於物質激發態的能量是來自化學反應,故叫作化學發光。
  • 什麼是SeetaFace開源人臉識別引擎?
    )。SeetaFace Detection人臉檢測結果的示例圖3則給出了SeetaFace Detector在FDDB上的離散型得分ROC曲線,並與其它已發表的學術界公開結果(從FDDB官網獲得)進行了對比。不難看出,儘管SeetaFace人臉檢測器並非目前精度最高的,但在學術界公開的結果中仍然具有很強的競爭力,而且可以完全滿足多數人臉識別系統的需求。
  • 電子俘獲檢測器及檢測方法
    電子俘獲檢測器及檢測方法電子俘獲檢測器(ECD)是靈敏度最高的氣相色譜檢測器,同時又是最早出現的選擇性檢測器。它僅對那些能俘獲電子的化合物,如滷代烴、含N、O和S等雜原子的化合物有響應。由於它靈敏度高、選擇性好,多年來已廣泛用於環境樣品中痕量農藥、多氯聯苯等的分析。其應用面僅次於TCD和FID,一直穩居第三位。
  • 一張圖實現3D人臉建模!中科院博士ECCV的新研究 | 開源
    來自中科院模式識別實驗室的博士生郭建珠和他的團隊,提出了一種新的密集人臉對齊(3D Dense Face Alignment)方法。此外,3DDFA_V2集成了快速人臉檢測器FaceBoxes,取代了原來的Dlib,同時還包括由C++和Cython編寫的簡單3D渲染。