目前最強效能的人臉檢測演算法(Wider Face Dataset)
今天我們不說計算機視覺基礎知識,接下來說說AAAI2019一篇比較新穎的Paper,其是中科院自動化所和京東AI研究院聯合的結果,在Wider Face資料集中達到了較高的水準,比arxiv2019_VIM-FD的更好一些。今天要說的就是“Improved SRN”,現在開始一起學習吧!
Improved SRN
人臉檢測作為計算機視覺中的一個長期存在的問題,由於其實際應用,近幾十年來一直受到人們的關注。
隨著人臉檢測基準資料集的廣泛應用,近年來各種演算法都取得了很大的進展。其中,Selective Refinement Network(SRN)人臉檢測器有選擇地將分類和迴歸操作引入到anchor-based的人臉檢測器中,以減少假陽性同時提高定位精度。此外,它還設計了一個感受野增強塊,以提供更多樣化的感受野。
深度學習——感受野,如果進一步瞭解感受野,可以進入連結學習!
為了進一步提高SRN的效能,透過大量的實驗,開發了現有的一些技術,包括新的資料增強策略、改進的backbone network、MS COCO預訓練、解耦分類模組(decoupled classification module)、分割分支和壓縮激勵塊(Squeeze-and-Excitation block)。
其中,一些技術帶來了效能改進,因此,將這些有用的技術結合在一起,提出了一種改進的SRN人臉檢測器,並在廣泛使用的人臉檢測基準的人臉資料集上獲得了最佳的效能。
人臉檢測其實比較簡單,就是將影像輸入演算法框架中,最終返回輸入影像中目標人臉的bounding box。
Review of Baseline
接下來,我們先簡要回顧Selective Refinement Network(SRN)。如下圖1所示,它包括選擇性兩步分類(STC)、選擇性兩步迴歸(STR)和感受野增強(RFE),這三個模組的詳細說明如下。
圖1 SRN。它包括選擇性兩步分類(STC)、選擇性兩步迴歸(STR)和感受野增強(RFE)。
S T C
對於單級檢測器,大量的正負樣本比的anchor(例如,大約有300k個anchor,SRN中的正/負比約為0.006%)導致了相當多的假陽性。因此,它需要另一個階段,如RPN過濾掉一些負樣本。選擇性兩步分類是從RefineDet繼承而來的,有效地拒絕了大量的負樣本anchor,緩解了類不平衡問題。
STC作用於淺層Feature Map上,來過濾掉大部分比驕傲容易區分的負樣本,來減少搜尋空間。
S T R
像Cascade RCNN這樣的多步迴歸可以提高Bounding Box位置的準確性,特別是在一些具有挑戰性的場景中,例如MS COCO風格的評估指標。然而,將多步迴歸應用於人臉檢測任務中,如果不仔細考慮,可能會影響檢測結果。
STR作用於高層Feature Map上,用來粗略調整anchor的尺度、位置(類似於RefineDet中ARM的迴歸任務),並進一步為高層Feature Map上的迴歸器提供refined後的anchor位置初始化(類似於RefineDet中ODM的迴歸任務)。
R F E
當前網路通常都具有square感受野,這影響了對不同高寬比目標的檢測。為了解決這個問題,SRN設計了一個感受野增強(RFE),在預測類和位置之前,將特徵的感受野多樣化,這有助於在某些極端姿勢中很好地捕捉到人臉。
改 進 說 明
Improved SRN基於SRN的改進,如資料增強、特徵提取、訓練策略等。
資料增廣
使用SRN的原始資料增強策略,包括光照扭曲、透過零填充操作進行隨機擴充套件、從影像中隨機裁剪塊,並調整塊的大小到1024×1024。另外,在機率為0.5的情況下,利用PyramidBox中的data-anchor-sampling,隨機選擇影像中的一個人臉,並基於子影像進行定位。這些資料增強方法對於防止過度擬合和構造魯棒模型至關重要。
特徵提取
Wider Face內小尺度人臉特別多,SRN的主幹網為:ResNet-50-FPN,可以進一步提升;ScratchDet提出了Root-ResNet,用於檢測小尺度目標,但訓練速度比原生態ResNet慢。
那麼為了保證主幹網效能好,訓練速度快,Improved SRN融合了Root-ResNet+DRN的思路。
具體地,ResNet中第一個stride = 2的7 x 7 conv,丟失了很多影像的細節資訊,對小尺度人臉檢測不利,本次的改進如下圖2,第一階段的conv整體上stride = 1,channel = 16,而非64,並新增了2個residual blocks,一方面增強特徵的表達能力,另一方面做下采樣,通道數也少了很多;整體上就是,提特徵能力強了,額外的計算開銷也減少。
圖2 網路結構圖 (a)ResNet-18:原始結構,(b)Root-ResNet-18:用三層疊置的3×3卷積層取代7×7卷積層,並將步長2改為1,(c)New-ResNet-18:將DRN與Root-ResNet-18相結合,為SRN建立一個訓練速度/精度折衷的網路骨幹。
訓練策略
由於RESNET-50-FPN主幹網已經被修改,所以不能使用ImageNet預訓練模型。一種解決方案是DRN,它在ImageNet資料集上訓練修改後的主幹,然後在更寬的面上進行細化。
然而,有人證明了ImageNet的預訓練是不必要的。因此,將訓練epoch翻了一番,達到260次,並從零開始用改進的骨幹網路訓練模型。從零開始訓練的關鍵因素之一是標準化,由於輸入量大(1024×1024),一個24G GPU只能輸入5幅影像,導致批次歸一化從零開始訓練時效果不佳。為此,利用group=16的組規範化(Group Normalization )從零開始訓練這個改進的ResNet-50骨幹網。
此外,最近的FA-RPN證明,人臉檢測模型若先在MS COCO上訓練一波,再在Wider Face上進一步訓練,效能會更好,Improved SRN也使用了該方案。
總結:Improved SRN中,圖2(c)中修改的主幹網,不在ImageNet上預訓練,而是直接把整個檢測網路先在MS COCO上訓練,再在Wider Face上進一步訓練即可。
為什麼MS COCO上訓練後,效果會更好呢?
文中認為是MS COCO包含了people類,而且有特別多的小尺度目標,對模型效能提升是有幫助的。
圖3 實驗結果
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31562045/viewspace-2656040/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 重磅!目前最強效能的人臉檢測演算法(Wider Face Dataset)演算法IDE
- 人臉檢測榜單WIDER FACE最新排名:創新奇智AInnoFace演算法奪冠IDEAI演算法
- 重新整理WIDER Face多項記錄!創新奇智提出高效能精確人臉檢測演算法IDE演算法
- win10 下的YOLOv3 訓練 wider_face 資料集檢測人臉Win10YOLOIDE
- Android API 人臉檢測(Face Detect)AndroidAPI
- 優圖開源的人臉檢測演算法 DSFD演算法
- canvas+face-api人臉實時檢測CanvasAPI
- 基於Emgu CV的人臉檢測程式碼
- 基於Python的人臉檢測與分類Python
- 人臉檢測工具face_recognition的安裝與應用
- 面向企業的人臉屬性檢測技術方案
- 超越微軟!曠視科技奪獲人工智慧頂賽Wider Challenge人臉檢測冠軍微軟人工智慧IDE
- 人臉檢測中的AdaBoost演算法演算法
- 人臉檢測識別,人臉檢測,人臉識別,離線檢測,C#原始碼C#原始碼
- OpenCV檢測篇(一)——貓臉檢測OpenCV
- 腦門貼張紙,騙過最強人臉識別系統!華為出品,Face ID已陣亡
- 黑人人臉檢測
- 人臉檢測 二
- [計算機視覺]人臉應用:人臉檢測、人臉對比、五官檢測、眨眼檢測、活體檢測、疲勞檢測計算機視覺
- 基於Javascript的人臉探測技術JavaScript
- 人臉檢測的harr檢測函式函式
- 人臉活體檢測
- 前端人臉檢測指南前端
- .NET 開源的功能強大的人臉識別 APIAPI
- opencv視訊人臉檢測OpenCV
- OpenCV 人臉檢測自學(3)OpenCV
- 一種採用隨機動作指令的人臉活體檢測技術,有效避免人臉識別唄破解隨機
- 目前微信域名檢測的最新 知識
- 人臉識別之人臉檢測的重要性
- 人臉檢測(detection)與人臉校準(alignment)
- wider face資料集轉化為VOC資料集(matlab實現)IDEMatlab
- PFLD:簡單、快速、超高精度人臉特徵點檢測演算法特徵演算法
- PFLD:簡單高效的實用人臉關鍵點檢測演算法演算法
- iOS 人臉關鍵點檢測iOS
- Android人臉檢測介紹Android
- FaceDetector 人臉檢測追蹤demo
- 一種基於隨機動作指令的人臉活體檢測技術,有效避免人臉識別系統被破解隨機
- 人臉活體檢測人臉識別:眨眼+張口