专栏首页深度学习计算机视觉【CVPR 2018】腾讯AI lab提出深度人脸识别中的大间隔余弦损失

【CVPR 2018】腾讯AI lab提出深度人脸识别中的大间隔余弦损失

【论文导读】 深度卷积神经网络(DCNN)在人脸识别中已经取得了巨大的进展,通常的人脸识别的核心任务都包括人脸验证与人脸识别,涉及到特征判别。很多模型都是使用Softmax损失函数去监督模型的训练,但是现在已经有资料证明,Softmax loss缺乏足够的在分类任务上的判别力,所以取得的效果也不是最好的。针对这个问题,本文设计了一个新的损失函数,我们称之为大间隔余弦损失。

Figure 1

图 1:我们提出的 CosFace 框架。在训练阶段,带有大间隔(large margin)的具有判别性的面部特征是在不同类别之间学习而来的。在测试阶段,首先将测试数据输入 CosFace 来提取人脸特征,然后再将这些特征用于计算余弦相似度分数以执行人脸验证和人脸辨识。基于 LMCL我们研发了深度模型CosFace。

摘要:针对上诉问题,近期也有多种损失函数被提出来了,包括center loss,、large margin softmax loss和angular softmax loss,其核心思想都是增强类间差异并且减小类内差异。本文设计了一种新的损失称之为大边缘余弦损失(LMCL),希望从一个新的角度去实现它。更具体地说,我们将Softmax损失重新表示为余弦损失,或者说把 softmax 损失函数转化为余弦损失函数,通过L2范式对特征和权重向量进行归一化,以消除径向(方向)的变化。在此基础上引入余弦边缘项m进一步最大化所学习到的特征在角度空间中的决策边缘。因此,通过归一化和增强决策边界的方法,得到了最小类内差异和最大类间差异,并且在公开的人脸数据集中的测试,取得了优异的表现,证明了新方法(LMCL)的作用。

核心思想:增强类间差异并且减小类内差异、归一化、增强决策边界

相关内容 深度人脸识别:在DeepFace和DeepID中,人脸识别被看作是一个多类分类问题,首先引入深度CNN模型来学习大型多身份数据集上的特征。其它著名的结构还有DeepID2、DeepID3等等。

损失函数:损失函数在深度特征提取中扮演着非常重要的角色,有Contrastive loss、triplet loss、L-Softmax和A-Softmax等等。

正则化:正则化一直也是人脸识别中的热点研究问题之一,在此不详述。 LMCL的提出 从余弦的角度出发思考构造softmax loss,新的 loss是这样构造的:

公式1

公式2

其中,N是训练的样本数量,C是类别数目,yi是标签,x是特征向量,W是权重向量,其中,cos代表权重向量和特征向量的角度余弦值。。

在测试阶段,测试人脸对的人脸识别分数通常是根据两个特征向量之间的余弦相似度计算的。这表明,特征向量x的范数是对评分功能没有贡献,于是,通过L2归一化范式将||Wj||设定为1,将||xj|| 设定为s,于是loss公式变成了如下:

公式3

但是,因为我们通过修正来消除径向生成的模型学习的特性是角空间可分的。我们将这种损失称为SoftMax公司损失标准版(NSL)。但是特征学习的NSL是不充分有效判别,因为其只强调正确的分类。为了解决这个问题,我们把余弦边缘项m引入到分类边界中。所以,最后定义的LMCL如下:

公式4

归一化方案的目的是推导余弦损失函数的形式和消除半径方向上的变化,我们的方法是同时归一化权重向量和特征向量。因此,其特征会分布在一个超球面上,其中缩放参数(scaling parameter)s 控制着半径大小。

实验: 理论分析:不同损失函数在 8 个带有 2D 特征的身份上的简化实验。第一行是将 2D 特征映射到欧几里德空间上,而第二行是将 2D 特征投射到角空间上。随着边缘值 m 增大,间隙变得越来越明显。

结果

不同边缘大小的效果:

结果

与人脸识别社区当前最佳的损失函数的比较:

结果

在 LFW 和 YTF 数据集上的人脸验证表现:

结果

在 Megaface Challenge 1 (MF1) 上的人脸辨识和人脸验证评估:

结果

在 Megaface Challenge 2 (MF2) 上的人脸辨识和人脸验证评估:

结果

原文题目:CosFace: Large Margin Cosine Loss for Deep Face Recognition 论文地址:https://arxiv.org//pdf/1801.09414.pdf

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 第二课课堂笔记(软件需求分析设计)

    软件开发生命周期 建模方法(开发技术) 开发阶段 开发模式 ---- 1、面向过程(结构化) 2、面相对象 (功能分析) 3、面向数据(信息,概念分析)...

    张俊怡
  • 操作系统知识梳理共9次缺页

    第一章:概述 什么是操作系统? 是一段一直运行在计算机上的程序 是资源的分配者 向上管理软件向下管理硬件 为用户提供良好接口 中断的概念? 中断指当出现需要时,...

    张俊怡
  • 第三课课堂笔记(软件需求分析设计)

    一、系统获取的重要性 1、需求获取是通过与客户,系统用户和其他与系统开发相关的人员交流发现系统需求的过程。 四个最 1:最困难 2:最关键 3:最易出...

    张俊怡
  • 每日前端基础——数组的map方法和parseInt搭配使用

    在你刷算法题刷的太无聊之后,可以试着去看看别的基础知识,选几个自己感兴趣的语言,把基础知识巩固好,今天给大家分享一个比较有意思的前端题目:

    用户2802329
  • 【猫狗数据集】利用tensorboard可视化训练和测试过程

    链接:https://pan.baidu.com/s/1l1AnBgkAAEhh0vI5_loWKw 提取码:2xq4

    绝命生
  • 界面设计中如何增强CTA按钮召唤力?

    以下内容由Mockplus(摹客)团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具。

    奔跑的小鹿
  • 界面设计中如何增强CTA按钮召唤力?

    ? 网页和软件应用之类数字产品的有效交互系统一般是由拥有各种任务和功能的小元素构成。而为创建更加完整流畅的交互系统,Web和软件应用的每一个细节都应该被重视。...

    奔跑的小鹿
  • 交互设计流程思考范围层结构层框架层

    霖酱
  • 新玩法,CentOS7中LVM通过扩展逻辑卷扩展swap空间

    版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

    耕耘实录
  • 你正在用却不知道它们让微信比其它社交App更强大的6大功能

      微信二维码、摇一摇、微信雷达、语音对讲、漂流瓶、微信红包,这些功能大伙玩得不爱玩了,但正是这六大功能让微信比其它社交App更强大!   1、二维码(QR C...

    ytkah

扫码关注云+社区

领取腾讯云代金券