您的位置:首页 > 移动开发

人脸识别(一)A Discriminative Feature Learning Approach for Deep Face Recognition

2016-12-20 15:54 961 查看
本篇是人脸识别的第一篇文章:

人脸识别第一篇:Center Loss

人脸识别第二篇:SphereFace

人脸识别第三篇:CosFace

人脸识别第四篇:ArcFace

人脸识别第五篇:CCL

这篇文章为了最小化类内差距,在softmax loss上添加一项center loss,即每个样本和它对应的类别的特征向量的中心的距离。我觉得这个做法跟线性判别分析LDA设计目标函数的时候有点类似,只不过LDA是把特征投影到直线上,然后令类内协方差最小,类中心距离最大,以满足类内差异小类间差异大的要求。

概述

在通常的物体检测、场景分类和动作识别中,测试样本的类别事先是知道的,这种问题叫闭集问题(close-set problem)。预测出来的label对算法性能有决定性的影响,直接应用softmax loss就可以处理这类问题。这种情况下,深度神经网络中最后的全连接层就是一个线性分类器。而学习到的深层特征倾向于是可分的。

但是对人脸识别来说,特征不仅要求可分,同时还应该是判别性的。人脸识别中,测试集中的人可能在训练集中是没有出现过的,所以特征需要有判别性和泛化能力。这种判别性特征要求它类内的分布紧凑,类间相互分隔。

softmax loss的缺点是它只会使得类间特征分离,并不会使属于同一类的特征积聚。这样的特征对于人脸识别来说不够有效。

Center loss

每个类学习一个特征中心。训练的时候,同时更新这个中心并最小化特征与类中心的距离。CNN用softmax loss和center loss联合训练,然后用一个超参数来平衡这两个监督信号。其中:

softmax loss最大化类间差异

center loss最小化类内差异

Center loss函数:

Lc=12∑i=1m||xi−Cyi||22Lc=12∑i=1m||xi−Cyi||22

其中,xixi是样本i的特征, CyiCyi是第yiyi类的特征中心。

总的loss函数就是softmax loss和Center loss加权:

L=Ls+λLcL=Ls+λLc

在每个mini batch的过程中,更新对应类的特征中心,有些类别的特征中心是没有更新的.

一些错误的样本可能会引起扰动,所以用αα控制center的学习率:

Ct+1j=Ctj−αΔCtjCjt+1=Cjt−αΔCjt



在MNIST上的测试



实验

MNIST可视化

人脸识别

在Webface上按照作者设置训练, 得到的LFW准确率为98.5%

contrastive loss

Hadsell R, Chopra S, LeCun Y. Dimensionality reduction by learning an invariant mapping[C]//2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR’06). IEEE, 2006, 2: 1735-1742.

Sun Y, Chen Y, Wang X, et al. Deep learning face representation by joint identification-verification[C]//Advances in Neural Information Processing Systems. 2014: 1988-1996.

triplet loss

Schroff F, Kalenichenko D, Philbin J. Facenet: A unified embedding for face recognition and clustering[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015: 815-823.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐