最近读了《DeepVisage: Making face recognition simple yet with powerful generalization skills》这篇文章。
从作者的abstract来说,本文利用残差学习框架,利用归一化之后的特征计算损失的方法。在提出自己的网络之前,作者首先分析了近几年的人脸识别的常见的几种方法:
- CNN learning with different loss functions
- fine-tuning on target
- dataset metric learning
- concatenate features from multiple CNNs.
作者指出这些方法都是在特定的条件下的工作,泛化能力不强。并且从上述的四个方面阐述了该类方法的缺陷。另外,作者还指出,近几年ImageNet挑战赛的结果来看,deeper的CNN能够有更加好的表现。所以,作者想能不能仅仅利用简单的label训练一个简单的CNN网络并且能够取得比较好的结果。
Can we achieve state-of-art results with a signle CNN model which is trained only once with the identity labels?
首先作者从当前不同的常见的网络框架分析入手,表明本文将采用ResNet来作为深度CNN的框架。考虑到训练多个CNN网络能够提高最后的结果,但是本文仅仅采用单一的CNN网络。接着本文将采用softmax loss,而且只采用这一个损失函数。
本文所选取的框架是残差网络,如下图所示:
本文共有27个卷积层,4个池化层和1个全连接层。每一个卷积核的大小为3*3,每一个卷积层后面紧跟一个PReLU。池化层选用2*2的最大池化。最后的全连接层输出维度为512,最后一层FN是一个归一化层。
作者在四个人脸数据库上进行了实验,从作者的实验结果可以看出实验结果还是比较好的。
1.LFW
2.VGG-Face
3.Youtube Face
4.CACD