人脸识别系列(十二):Center Loss

版权声明:转载请注明出处 https://blog.csdn.net/Fire_Light_/article/details/79598497

论文链接:A Discriminative Feature Learning Approach for Deep Face Recognition(需翻墙)
代码链接:https://github.com/ydwen/caffe-face

一个小实验

作者为了说明Softmax损失函数对特征分布的影响,在Minist上做了一个小的实验,使用了一个比LeNets更深的网络结构LeNets++(如下图)。

LeNets++把网络全连接层的数量调至2,这样就可以得到一个二维的特征输出,以此对全连接层的特征进行可视化

这里写图片描述

试验结果

这里写图片描述

不同颜色代表不同类,从上图可以看出,Softmax函数学习到的特征仍然有很大的类内差距,为了解决这一问题,center loss应运而生。

center loss

这里写图片描述

Cyi表示属于yi类的特征的的中心

这样做是存在问题的

理想情况下,我们每次更新权值都要遍历全部的训练集去获得每个类的中心,这是低效甚至不实际的

为了解决这个问题,作者使用了minbatch中的每个类的中心来更新,(虽然这样可能有些类的中心在一次迭代中无法更新到):
这里写图片描述

总损失函数使用的是Softmax+center Loss联合损失:

这里写图片描述

求导:
这里写图片描述

算法流程类似一般的卷积神经网络,就是多了一个更新中心点的流程
这里写图片描述

效果:
这里写图片描述

人脸识别实验

这里写图片描述

参数:这里写图片描述

三组对比实验:

model A:softmax loss

model B:softmax loss and contrastive loss

model C :softmax loss and center loss

训练集 CASIA-WebFace , CACD2000, Celebrity+ 共0.7M

硬件 2个TitanX

batch size 为 256

learning rate 初始为0.1

A和C 28K次迭代收敛 用时14H

B 48K次迭代收敛 用时22H

测试用的比对算法:

比较简单,就是将每个图片以及它水平翻转的图片经过卷积神经网络,FC层的特征取出并连接成一个高维特征,经过PCA降维后,计算其余弦距离

*注:所谓’constrative loss’,参考: 人脸识别系列(三):DeepID2

结果

LFW得分:·

这里写图片描述

MegaFace得分
这里写图片描述

猜你喜欢

转载自blog.csdn.net/Fire_Light_/article/details/79598497
今日推荐