Finding Tiny Faces in the Wild with Generative Adversarial Network 論文學習
Finding Tiny Faces in the Wild with Generative Adversarial Network
2018年的cvpr
論文地址:http://openaccess.thecvf.com/content_cvpr_2018/papers/Bai_Finding_Tiny_Faces_CVPR_2018_paper.pdf
Abstract
挑戰:在無限制條件尋找低解析度的人臉
方法:採用GAN從低解析度人臉生成高解析度人臉
一. Introduction
低解析度面臨的挑戰:
1. 缺乏細節用於區分
2. 目前CNN模型卷積核步長太長,對於低解析度人臉識別容易丟失大部分資訊
本文做出的貢獻:
1. 提出了一種新的人臉檢測的統一端到端卷積神經網路結構,採用超解析度和細化網路生成真實清晰的高解析度影象,並引入判別網路對人臉與非人臉進行分類。
2. 引入新的判別器loss
二. Related Work
2.1 face detection
介紹了下過去人臉識別的發展,從手工構建特徵人臉識別,到RCNN,再到本文。
2.2 Super-resolution and Refinement Network
2.3. Generative Adversarial Networks
三. Proposed Method
3.1 GAN
其中y是標籤(區分是臉or不是臉)
3.2. Network Architecture
簡介:生成器包含兩個子網路:超解析度 和 細化網路
判別器中加入分支網路,用於區分人臉非人臉 和 生成圖片和真實圖片
Generator network:
Discriminator network:
可以看到右邊有兩個分支
3.3. Loss Function
Pixel-wise loss:
其中G1是上取樣子網,G2是細化網路
Adversarial loss:
Classification loss:
yn=1或yn=0表示影象是人臉還是非人臉
聯合起來
G_loss:
包含
畫素loss+GAN_loss+分類loss
D_loss:
包含GAN_loss+分類loss
四. Experiments
4.1. Training and Validation Datasets
有兩個資料集,包括WIDER FACE dataset和FDDB,用WINDER FACE訓練GAN
4.2. Implementation Details
α = 0.001 and β = 0.01,用β1=0.9的Adam優化器
從零開始,對生成器網路進行訓練,用標準偏差為0.02的零均值高斯分佈初始化各層的權重,用0初始化偏差。
為了避免不希望的區域性最優,首先訓練一個基於MSE的SR網路去初始化生成網路
採用在ImageNet上預先訓練的VGG19模型作為骨幹網路,用兩個並行的f c層替換所有的fc層。用標準偏差為0.1的零均值高斯分佈對f c層進行初始化,所有偏置用0初始化。
作者的基線MB-FCN檢測器基於RESNET50網路,它是對ImageNet進行預訓練的
通過它從WINDER FACE中獲取人臉與非人臉,通過使用因子為4的雙三次插值對高解析度影象進行下采樣來生成相應的低解析度影象。
所有GAN變異體均以10^-4的學習速率訓練前3個階段,以10^-5的較低學習速率訓練後3個階段。
4.3. Ablation Studies
(消融研究通常指去除模型或演算法的一些“特徵”,並觀察這些特徵如何影響效能)
refinement network的效果圖(可以減少光照和模糊的影響)
4.4. Comparison with the State-of-the-Art
Evaluation on WIDER FACE.:
提升效果的原因:
(1)上取樣子網
(2)細化網路
(3)GAN的分類損失
Evaluation on FDDB
4.5. Qualitative Results
5. Conclusion
就到總結了,結尾作者說了下本文的貢獻,基本都是重複內容。
p.s. 還有點疑問啊,到底是怎麼檢測圖片中人臉的呢??用判別器?