Deep Face Recognition
O. M. Parkhi, A. Vedaldi, A. Zisserman, Deep Face Recognition[C], British Machine Vision Conference, 2015
摘要
面部识别进展:(1)端到端学习(end to end learning);(2)大规模训练集(very large scale training datasets)
本文内容:(1)260万张面部图像、2600+用户数据集创建;(2)深度网络训练和面部识别
1 引言
Google的FaceNet训练数据集比公开面部数据集大三个数量级(three orders of magnitude larger than)
本文提出:
(1)创建仅需有限人力标注的大规模面部数据集的过程;
(2)利用该训练集,考查用于面部识别及验证的CNN网络结构,包括面部对齐和度量学习。
2 相关工作
-
DeepFace
孪生网络结构(siamese network architecture)、欧氏距离(Euclidean distance)、度量学习(metric learning)、3D面部对齐 -
DeepID
CNN、贝叶斯学习框架(Bayesian learning framework)训练测度(metric)、分类&验证(classification and verification)多任务学习(multi-task learning)、2D面部对齐(2D affine alignment) -
FaceNet
三元组损失(“triplet-based” loss)
三元组:同一用户面部图像(congruous) ( a , b ) (a, b) (a,b)和其他用户面部图像 c c c
目标:使 a a a、 b b b间距小于 a a a、 c c c间距(make a a a closer to b b b than c c c), a a a为中心脸(a “pivot” face)
3 数据集采集
- 步骤1:收集过滤候选用户列表,共2,622位明星
- 步骤2:为每个用户收集面部图像,每个用户2000张
- 步骤3:用Fisher面部描述符(Fisher Vector Faces descriptor)训练SVM(a one-vs-rest linear SVM),评价面部图像,每个用户保留1000张面部图像
- 步骤4:删除相似(near duplicate)图像
- 步骤5:人工过滤(manual filtering),最终面部图像982,803张,95%为正脸(frontal),5%为侧脸(profile)
4 网络结构和训练
4.1 学习面部分类器
N N N元分类问题( N N N-ways classification problem), N = 2622 N = 2622 N=2622
深度网络(deep architectures) ϕ \phi ϕ
训练图像(training image) l t l_t lt, t = 1 , 2 , … , T t = 1, 2, \dots, T t=1,2,…,T
得分向量(score vector) x t = W ϕ ( l t ) + b ∈ R N \mathbf{x}_t = \mathbf{W} \phi (l_t) + b \in \mathbb{R}^{N} xt=Wϕ(lt