Advertisement

SphereFace: Deep Hypersphere Embedding for Face Recognition(人脸识别论文笔记)

阅读量:

这篇文章由2017年CVPR发表,并在针对开放集人脸识别领域实现了突破性进展。

文章下载:https://pan.baidu.com/s/1rwyD1UUIHBhRzr7nA6v9Sw 密码:naur

Github:https://github.com/wy1iu/sphereface

通读整篇论文后发现,其主要贡献在于构建了一个新的损失函数(A-Softmax),并基于几何学理论进行了深入分析

文章首先从人脸识别的一些基础概念开始介绍:

从识别的角度出发,在实际应用中通常将Face Recognition分为两大类:一种用于身份验证(Face Authentication),另一种用于身份识别(Face Identification)。具体而言,在Identity Identification模式下(即所谓的"1-to-n"模式),系统会基于人脸特征分析系统能够确定当前测试者的身份并匹配至数据库中的相应记录;而Authenticity Check模式下(即"1-to-1"模式),系统将输入待测图像后会与数据库中的所有面部图像进行比对以确认是否属于同一人。

基于testing protocol的角度来看,在人脸识别领域通常会将问题划分为两类:即close-set和open-set两种类型。在open-set场景下,默认假设待测样本属于训练集中已有的类别。相反,在close-set问题中,则关注那些不属于预先定义类别的情况。判断测试者属于哪个训练集中个体的问题实际上就是一个分类任务。其核心目标与度量学习密切相关,在这种情况下要求同一类别的样本间距离最小化的同时还必须保证不同类别之间的距离最大化。为了确保系统稳定性和准确性,在这种情况下要求同一类别的样本间距离最小化的同时还必须保证不同类别之间的距离最大化(即最大的intra class distance要小于最小的inter class distance)。这一原则对于后续提出的各种优化方法具有决定性作用

我们最经典的Softmax损失函数是这样的:(以二分类为例)

设x为特征向量,则该模型的最后一层全连接层由参数矩阵W及其对应的偏置项b构成。对于每个输出类别i来说,Wi表示该类别对应的权重矩阵中的某一行。模型通过比较W_1 x + bW_2 x + b之间的关系来确定决策边界

根据向量点乘的公式,如果令||Wi||=1且令b=0,这个决策边界也可以写成:

∥x∥使得余弦值之差等于零;其中θi表示输入特征与权重向量Wi之间的夹角。这种损失函数被称为modified softmax.

经过一项特定的转换操作后,在这一项转换下我们观察到该方法在将度量从欧氏距离转变为角度距离(angular margin)的过程中实现了目标特征空间的变化。然而这并未提升特征间的区分度但也有其优势在于由于面部数据实际上分布于某种流形结构中因此经过这一项转换后输出的特征会集中于一个超球面流形上

在此基础上,在优化类间距离的过程中,本文引入参数m用于优化类间距离,并得到新损失函数A-softmax:

对比三个损失函数:

m值增大时(如上所示),类间区域范围扩大而类内区域范围缩小。因此必须设定一个最低限度来确保分类效果。对于多分类问题而言,研究结果表明最小可取值为3。

随后就是实验环节,输入是MTCNN检测出的人脸,网络结构如下:

当然,对比各个方法,结果是非常不错的:

全部评论 (0)

还没有任何评论哟~