本文主要是介绍Face Recognition Loss Evolution,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题:
人脸识别的框架一般是这样的(图来自center loss):
这个框架的有一个问题在于,用原始softmax学习到的特征,仅仅是separable的,而不够discriminative。在最后的分类层上,不同输出节点对应的权重可以看做类中心,用softmax分类的过程可以看成使样本尽量靠近本类中心,并远离其他类中心的过程。这个过程本身是希望类间距离尽量大、类内距离尽量小的,但是并没有将这点显示地突出出来,故最后的特征仅仅是可分的。因此,改进人脸识别的一个方法是在loss上突出这一点,从而得到更大的类间距离与更小的类内距离,使特征更具有区分性,从而提升识别的性能。
1. 欧式距离
1)Contrastive loss
论文:Chen, Yuheng , et al. “Deep learning face representation by joint identification-verification.” International Conference on Neural Information Processing Systems MIT Press, 2014.
①思想:softmax做identification 的基础上,同时增加 verification的loss,从而达到减小类内距离的目的。
②模型:
③具体实现:
原来的loss:
新加的loss可以有三种(后面做了对比实验):
m代表margin,即希望不同人的人脸特征的距离大于m。d为两个特征的余弦相似度,yij为binary的值,表明两个特征是否属于同一个人,当属于同一个人的时候,我们希望d尽量大,去拟合1;当为不同人的时候,我们希望d尽量小,
这篇关于Face Recognition Loss Evolution的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!