【FaceNet】人脸识别模型之FaceNet框架

论文:FaceNet: A Unified Embedding for Face Recognition and Clustering

来源:CVPR 2015

4.1 摘要

我们的方法使用一个经过训练的深度卷积网络来直接优化嵌入本身,而不是像以前的深度学习方法那样使用一个中间的瓶颈层。其网络结构灵活性较大可以使22层的Zelier&Fergus的网络,也可以使用现在在物体识别里面效果比较好的inception网络。其主要特点采用三元对之间的距离构建损失函数,每一个人脸输出为128维度,作为表征特征。

 

4.2 方法

 

  • Batch:是指输入的人脸图像样本;
  • Deep Architecture:作者使用了两种模型
    1. 22层的Zelier&Fergus的网络
    2. Inception网络
  • L2:是指特征归一化(使其特征的|fx|2=1。这样所有图像的特征都会被映射到一个超球面上)
  • Embeddings:就是前面经过深度学习网络,L2归一化后生成的特征向量;
  • Triplet Loss:就是有三张图片输入的Loss;

Triplet loss原理

 

 

上述式子可以写成损失函数:L =

 

Triplet Selection(generate)

论文中指出,如果我们按照上述损失函数计算的话,那么我们穷举的这个三元组集合是非常大的。例如:person sum =100,每人20张照片,那么三元组集合大小为:总图片数*每个图片类内组合*每个图片类间组合,即:

T =(100*20)*19*(20*99)

这样的复杂度是:O(T)=N^2。如果类别继续增大,训练起来会更加困难。因此作者解释可以选择那些最困难的图片来组成三元组,具体的来说,选出同一个人中最不像他的那张(hard positive∈19图像),在其他的认重选出最像他的那张(hard negative∈20*99图像)的两张图片组成三元组。

    那么如何进行挑选呢?在整个训练集上寻找argmax和argmin是困难的。如果找不到,会使训练变得困难,难以收敛,例如错误的打标签和差劲的反映人脸。因此需要采取两种显而易见的方法避免这个问题:offline和online方法,具体的差别只是在训练上。

  Offline: 每隔n步离线生成三元组,使用最新的网络模型的检查点并计算数据子集上的argmin和argmax。参考这样理解训练网络之前把样本分成 N 份,分别计算每一份样本的最大值和最小值(anchor 与 positive 欧式距离最大值,与negative 欧式距离最小值,选出 hard-positive/negative,下文的最大值、最小值都是这个意思),然后依次用这些数据训练网络,比如从第一份数据开始,训练完成后保持模型的参数,然后这些参数作为第二份数据训练模型时的初始化参数,依次类推。

  Online: 在mini-batch上,选择不好的正(类内)/负(类间)训练模型(一个mini-batch可以训练出一个子模型)。论文中选择Sample people为1800张照片数。

       在具体的代码中设置参数如下:

 

 

 

Deep Convolutional Networks

NN1

ZF-Net(Zeiler&Fergus)

在前几个卷积层加入了1*1*d的卷积层,有效的减小了参数的个数,140M个参数,1.6B次浮点计算

NN2

GooleNet

1.使用的是L2池化而不是max池化。

2.池化的卷积核大小一般是3*3(除了最后那个平均池化),并且并行于每个输入模块里的卷积模块。

如果在1*1,3*3,5*5池化后有维度下降,那么把它们连接起来作为最后的输出。7.5M个参数,1.6B次浮点计算

NN3

GooleNet

与NN2结构一样,但输入图片大小只有160*160。这样极大幅度的降低了对CPU的需求

NN4

GooleNet

与NN2结构一样,但输入图片大小只有96*96。这样极大幅度的降低了对CPU的需求,285M次浮点运算

NNS1

剪裁后GooleNet

26M个参数,220M次浮点计算

NNS2

剪裁后GooleNet

4.3M的参数和20M的浮点运算量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值