基于深度学习的人脸识别算法

本文深入探讨了基于深度学习的人脸识别任务,重点介绍了对比损失(Contrastive Loss)、三元组损失(Triplet Loss)、中心损失(Center Loss)和A-Softmax损失。这些损失函数旨在最小化同类别的内部距离,同时最大化不同类别的间隔,以提升人脸识别的准确性。通过对各种损失函数的分析,展示了它们在人脸识别领域的应用和优势。
摘要由CSDN通过智能技术生成

简介

我们经常能从电影中看到各种神奇的人脸识别技术,例如图1。人脸识别技术是基于面部特征信息进行身份识别的一种生物识别技术。该技术在图片/视频中,从人脸的角度入手,识别出画面中的人物是谁。如图2所示,严格来讲,这个过程包括人脸检测 (face detection) ,人脸对齐(face alignment) ,人脸识别 (face recognition) 三个部分。人脸检测目的是从图片/视频中,找到人脸,并确定人脸的位置; 人脸对齐目的是找到人的面部特征点(鼻子,眼睛,嘴巴等),解决人脸的角度变化问题;人脸识别目的是识别人脸,确定身份。本文我们只关注人脸识别这部分工作。

人脸识别是一个历史悠久的任务,从20世纪50年代开始,研究人员已经开始关注人脸识别这个领域。从最早基于人脸几何结构特征,到基于建模方法,局部特征描述子(Gabor, LBP),目前主流的方法是基于深度学习的方法。自从2012年,AlexNet [1] 以巨大领先优势获得ImageNet第一名以后,研究人员来开始思考是否能够用深度学习方法来做人脸识别的任务。高性能计算机 (CPU, GPU) 出现,大规模人脸数据集出现 (LFW [2] ,CISIA-WebFace [3] , MS-Celeb-1M [4]) ,加上对人脸识别问题的深刻理解,基于深度学习的人脸识别算法将人脸识别精度提高了一个新的台阶。损失函数是CNN (卷积神经网络) 重要组成部分,它指导了网络的优化目标。本文从损失函数入手,简单介绍基于CNN的人脸识别的损失函数的原理以及发展过程。
在人脸识别中,每个人都可以看做一类,直观的想法可以用分类算法来做。但是,不同于分类算法,人脸数据集一般个人(类别)较多,每个人的样本却不多,并且样本不能覆盖所有人,测试的时候很多情况会出现训练集中不存在的样本。基于此,通用的方法把人脸识别看做一个距离度量的问题,通过学习样本的特征,然后计算样本之间的距离,来确定人物身份。本文主要介绍以下四种常用的损失函数:Contrastive Loss[5],Triplet Loss [6], Center loss [7]和 A-Softmax loss [8]。

Contrastive Loss

早在2005年,Chopra[5]就提出了Contrastive loss就用来解决人脸验证/识别问题。首先,作者从人脸数据集,选出若干对人脸,构成人脸二元组。这样的人脸二元组包括两种情况:属于同一个人;属于不同的人,见图3。如果一个人脸对属于同一个人,标记这种人脸对的标签Y=0,如果一对人脸中,属于不同的人,那么标记这种人脸对的标签Y=1。这样做还有一个好处,能够扩充数据集,支持CNN的训练。以论文中的AT&T Database of Faces [9] 为例,一共400张图片,40个人,每个人10张图片。同一个人的人脸二元组有4000个,不同人的人脸二元组有156000个,一定程度上更满足CNN大规模训练数据要求。

为了方便阐述,我把论文中的网络结构也放到这里,如图4所示:

Contrastive loss 定义如下:
l ( W ) = ∑ i = 1 P L ( W , ( Y , X 1 , X 2 ) i ) l(W)=∑_{i=1}^P L(W,(Y,X_1,X_2 )^i) l(W)=i=1PL(W,(Y,X1,X2)i)

L ( W , ( Y , X 1 , X 2 ) i ) = ( 1 − Y ) L G ( E W ( X 1 , X 2 ) i ) + Y L I ( E W ( X 1 , X 2 ) i ) L(W,(Y,X_1,X_2 )^i )=(1-Y) L_G (E_W (X_1,X_2 )^i )+YL_I (E_W (X_1,X_2 )^i) L(W,(Y,X1,X2)i)=(1Y)LG(EW(X1,X2)i)+YLI(EW(X1,X2)i)

这里W表示网络的参数, ( Y , X 1 , X 2 ) (Y,X_1,X_2) (Y,X1,X2) 表示第i个人脸二元组, L G L_G LG表示属于同一类的部分损失函数, L I L_I LI表示属于不同人脸的损失函数, P是训练的人脸二元组的数目。 L G L_G </

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值