0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于深度学习的人脸识别算法与其网络结构

新机器视觉 来源:CSDN技术社区 作者:weixin_39667398 2021-03-12 11:13 次阅读

度量学习

基于深度学习的人脸识别算法,如何让神经网络从训练数据中学习到有效、鲁棒的生物特征是至关重要的。在这个过程中,一个良好的学习向导是不可或缺的。因此,在模型训练的过程中,通常使用度量学习的方式,将人物面部特征间的距离,作为神经网络特征学习的向导,来实现区分不同人物的目的。

为了让神经网络能够更加有效的学习,合理的设计损失函数来度量和映射人物特征之间的距离,成为了提高人脸识别精度的主要研究方向之一。许多在分类任务中常用的损失函数,如Softmax Loss,在经过一系列的改进之后,更好的适应了人脸识别的任务。像Arcface这样的损失函数(下图),利用了一种附加角度对cos值进行加法约束,使得模型能够在学习过程中合理的压缩相同人物特征间的余弦距离的同时增大不同人物特征间的余弦距离,以此达到精准区分人物的目的。

图示展示在利用损失函数arcface训练一个深度卷积神经网络过程中的计算流程。其中的改进在于,给角度加入了加性间隔m作为惩罚项来减小类间间距,并对其余弦值加入放缩s进行放缩,让网络变得易于训练。

另一些损失函数,如Triplet Loss(下图),则是通过以特定规则从训练集中选择样例,提取特征,比较这些特征之间的距离,来达到聚类相同人物特征和离散不同人物特征的目的。可以看到,这种方法因为要逐次比对选择样例特征之间的距离并基于此来优化模型参数,所以会延长模型训练的周期。但对于解决一些特殊场景下的困难样例,会有较好的效果。

图示为最初版本的Triplet Loss原理示意图。训练过程中需要从训练集中选择一个Anchor样本以及与Anchor样本同类的Positive样本和与Anchor样本异类的Negative样本,在训练过程中不断的拉近同类样本的距离并远离异类样本。

选择不同的损失函数,会对模型进行识别任务时选用的距离公式(相似度计算方法)产生影响。例如,Triplet Loss在早期优化的是欧氏距离,所以在后期进行特征比对时,利用欧式距离来计算特征之间相似度就是更加自然的。此外,通过对这些损失函数进行变形,来统一各损失函数的优化距离,从而使不同的损失函数能够运用在训练模型的不同阶段,或将不同损失函数对不同的样例分配进行结合,从而达到更高效的训练效率,也是目前的工作方向之一。

网络结构

根据使用场景和计算设备的不同,通常需要选择不同规模的神经网络结构。随着人脸识别在移动端的普及以及识别规模的增大,选用计算量更小、更高效的网络结构成为了重要的研究方向。

标准的卷积神经网络结构,以VGG16为例,通常由卷积层,池化层,全连接层和激活函数组成。该网络通过反复堆叠3*3的小型卷积核和2*2的最大池化层,不断加深网络结构来提升性能。

但随着网络结构的进一步加深,网络参数会随之增多,运算开销会变得很大,增加运算成本。同时,网络结构的加深也会让网络发生退化现象,以至于在进一步训练时无法达到预期的精度。

为解决这些问题,设计出参数少,深度深,运算快,易于训练的轻量级网络网络,各种卷积结构和模块被逐步引入到了卷积神经网络的基础构架中。

残差模块:为解决加深网络后的网络退化问题,使深度网络变得可训练而提出的结构(见下图)。这种跳跃连接的结构让网络有能力在需要的时候拟合一个潜在的恒等映射函数,从而避免了在极深网络中出现的难以训练的问题。

分组卷积:在标准的卷积操作中,其参数量与输入特征图通道数,卷积核尺寸和输出特征图通道数有关。如图,若输入特征图尺寸为H*W*c1,卷积核尺寸为h1*w1*c1,输出特征图尺寸为H*W*c2,标准卷几层的参数量则为:h1*w1*c1*c2。

若使用分组卷积(见下图),事先将输入的特征图按照通道数分为g组,分组卷积的参数量为则会变成标准卷积参数量的1/g:h1*w1*c1*c2/g。

分组卷积能够在一定程度上降低卷积的参数量,但也会减弱各通道之间的相关性。

深度可分离卷积:深度可分离卷积操作是将普通卷积拆解成深度卷积和逐点卷积。深度卷积负责滤波,逐点卷积负责转换通道。

如图(a),对于标准卷积,其参数量为Dk*Dk*M*N。如图(b),对于深度卷积,其参数量为:Dk*Dk*1*M。 如图(c),对于逐点卷积,其参数量为:1*1*M*N。将两项操作合并,可知深度可分离卷积参数量 是标准卷积的:(1/N)+(1/Dk**2)。

cafaa5e6-82ca-11eb-8b86-12bb97331649.png

弃用池化层:池化层分为平均池化和最大池化,通过制定规则对池化核覆盖范围内的像素进行运算,达到学习图像边缘及纹理结构,同时压缩特征图的效果。但池化层常常会导致较多的信息损失,因此,通常使用控制卷积核在特征图上的滑动步长(如设定stride=2),来达到压缩特征图,提取图像特征的目的。

减少全连接层:因为全连接层需要将每个神经元节点与其前后层的神经元分别连接,其通常会占据卷积神经网络的大部分参数。为了减少模型的参数,会尽量减少全连接层的使用,通常利用全剧平均池化或大尺寸卷积核取代全连接层,来融合学到的特征。

同时,为了让模型能够更好的提取人物面部的特征,专门的人脸识别网络在这些方面进行了优化,例如mobilefacenet在卷积网络的尾部加入7*7卷积核压缩特征图,直接将特征图转化成相应维度的面部特征并送入全连接层这样的操作。对于一些特殊场景下的识别任务,则会根据需求,定制出相应的结构模块。例如,在面对面部遮挡的任务中,融入空间注意力机制,实现事先为特征热力图的空间分布的加权,就变得相对重要。
编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4572

    浏览量

    98748
  • 网络结构
    +关注

    关注

    0

    文章

    48

    浏览量

    10935
  • 深度学习
    +关注

    关注

    73

    文章

    5237

    浏览量

    119908
收藏 人收藏

    评论

    相关推荐

    深度学习在语音识别中的应用及挑战

    的挑战。 二、深度学习在语音识别中的应用 1.基于深度神经网络的语音识别
    的头像 发表于 10-10 18:14 498次阅读

    卷积神经网络结构

    卷积神经网络结构 卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,常用于图像处理、自然语言处理等领域中。它是一种深度
    的头像 发表于 08-17 16:30 882次阅读

    深度学习框架和深度学习算法教程

    了基于神经网络的机器学习方法。 深度学习算法可以分为两大类:监督学习和无监督
    的头像 发表于 08-17 16:11 719次阅读

    深度学习算法mlp介绍

    深度学习算法mlp介绍  深度学习算法是人工智能领域的热门话题。在这个领域中,多层感知机(mul
    的头像 发表于 08-17 16:11 2690次阅读

    什么是深度学习算法深度学习算法的应用

    。 在深度学习中,使用了一些快速的算法,比如卷积神经网络以及深度神经网络,这些
    的头像 发表于 08-17 16:03 1482次阅读

    深度学习算法简介 深度学习算法是什么 深度学习算法有哪些

    深度学习算法作为其中的重要组成部分,不仅可以为诸如人工智能、图像识别以及自然语言处理等领域提供支持,同时也受到了越来越多的关注和研究。在本文中,我们将着重介绍
    的头像 发表于 08-17 16:02 6815次阅读

    使用LabVIEW 实现物体识别、图像分割、文字识别人脸识别深度视觉

    LabVIEW可以实现深度学习嘛,今天我们一起来看看使用LabVIEW 实现物体识别、图像分割、文字识别人脸
    的头像 发表于 08-11 16:02 907次阅读
    使用LabVIEW 实现物体<b class='flag-5'>识别</b>、图像分割、文字<b class='flag-5'>识别</b>、<b class='flag-5'>人脸</b><b class='flag-5'>识别</b>等<b class='flag-5'>深度</b>视觉

    人脸识别算法有哪些

    人脸识别算法有哪些 人脸识别算法现在已经广泛应用于各个领域,如安防、商业、医疗等。
    的头像 发表于 08-09 18:34 3555次阅读

    基于粒神经网络与遗传算法优化的人脸识别算法

      摘要:针对非限条件下人脸识别准确率较低的问题,提出一种基于粒神经网络(MNN)与遗传算法优化的人脸
    发表于 07-20 15:38 0次下载

    使用局部线性嵌入极限学习的人脸识别方法

      摘要  针对人脸图片数量多、容易受噪声干扰,致使人脸识别识别速度慢、准确率低的问题,提出一种基于 局部线性嵌入极限学习
    发表于 07-20 15:14 0次下载

    DCNN网络结构 DCNN的人脸特征点检测

    问题的方法。通过添加更多的卷积层稳定地增加网络深度,并且在所有层中使用3×3的卷积滤波器,有效减小参数,更好地解决了人脸特征点检测问题。然后计算双眼角与嘴角所成平面与正视时此平面的单应性矩阵,最后利用等效
    发表于 07-20 14:30 0次下载

    人脸识别技术的精度提高及其应用

    识别领域取得了很好的效果。通过训练大量的图像数据,深度学习模型可以自动提取图像中的特征,并且具有很强的泛化能力,可以识别不同角度、不同光照条件、不同表情
    的头像 发表于 07-05 14:13 495次阅读

    卷积神经网络结构组成与解释

    来源:机器学习算法那些事卷积神经网络是以卷积层为主的深度网路结构网络结构包括有卷积层、激活层、
    的头像 发表于 06-28 10:05 2093次阅读
    卷积神经<b class='flag-5'>网络结构</b>组成与解释

    一文看懂人脸识别技术

    广义的人脸识别实际包括构建人脸识别系统的一系列相关技术 , 包括人脸视图采集 、 人脸定位 、
    的头像 发表于 05-22 09:26 1768次阅读

    国产工业级RK3568核心板-AI人脸识别产品方案

    实际情况进行定制化开发, 例如: 深度学习算法优化:通过对RK3568处理器内置的NPU(神经网络处理器)进行深度
    发表于 05-06 14:30