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

这一生的挚爱 提交于 2020-03-06 03:29:36

一个小实验

作者为了说明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得分
这里写图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!