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

    文章

    4844

    浏览量

    108218
  • 网络结构
    +关注

    关注

    0

    文章

    48

    浏览量

    12442
  • 深度学习
    +关注

    关注

    73

    文章

    5611

    浏览量

    124665
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瑞芯微(EASY EAI)RV1126B AI算法开发流程

    的神经网络结构各有不同,这些结构的差异化优化了各个子算法在其功能上的实现效果。以下我们列出组成例子:例子a:人脸识别
    的头像 发表于 04-29 14:18 788次阅读
    瑞芯微(EASY EAI)RV1126B AI<b class='flag-5'>算法</b>开发流程

    瑞芯微(EASY EAI)RV1126B 人脸98关键点算法识别

    的影响,人脸关键点定位也是一个赋有挑战性的任务工作。人脸关键点的检测有许多重要的应用场景。l人脸姿态对齐:人脸识别
    的头像 发表于 04-03 10:39 163次阅读
    瑞芯微(EASY EAI)RV1126B <b class='flag-5'>人脸</b>98关键点<b class='flag-5'>算法</b><b class='flag-5'>识别</b>

    基于AIK-RA8D1的人脸识别的应用演示

    与Aizip人脸识别技术结合,实现高效且低功耗的人脸识别应用。人脸识别的优势传统的密码验证方式存
    的头像 发表于 12-02 14:29 5684次阅读
    基于AIK-RA8D1<b class='flag-5'>的人脸</b><b class='flag-5'>识别</b>的应用演示

    人脸识别门禁终端哪家做的比较好

    在智能化管理浪潮下,人脸识别门禁终端已成为企业、高校、政府机关等场景的刚需设备,其便捷性与安全性彻底改变了传统门禁的管理模式。面对市场上众多品牌,选择一款靠谱的人脸识别门禁终端至关重要
    的头像 发表于 11-20 16:18 571次阅读
    <b class='flag-5'>人脸</b><b class='flag-5'>识别</b>门禁终端哪家做的比较好

    门禁人脸识别:打造高效智能的人脸识别门禁考勤解决方案

    在物联网与人工智能技术深度融合的今天,门禁管理与考勤统计作为场所安全与效率管理的核心环节,正经历着从传统模式向智能化的全面升级。门禁人脸识别技术的崛起,让人脸
    的头像 发表于 11-18 15:28 566次阅读
    门禁<b class='flag-5'>人脸</b><b class='flag-5'>识别</b>:打造高效智能<b class='flag-5'>的人脸</b><b class='flag-5'>识别</b>门禁考勤解决方案

    基于级联分类器的人脸检测基本原理

    本次分享的内容是基于级联分类器的人脸检测基本原理 1) 人脸检测概述 关于人脸检测算法,目前主流方法分为两类,一类是基于知识,主要方法包括模板匹配,
    发表于 10-30 06:14

    如何挑选人脸识别终端?人脸识别一体机品牌排行榜

    考虑这些人脸识别终端的具体应用场景在哪里。下面,小编就总结了2025年最新的人脸识别一体机品牌排行榜:一、海康威视人脸门禁一体机优势:采用先
    的头像 发表于 08-18 10:44 2445次阅读
    如何挑选<b class='flag-5'>人脸</b><b class='flag-5'>识别</b>终端?<b class='flag-5'>人脸</b><b class='flag-5'>识别</b>一体机品牌排行榜

    【Milk-V Duo S 开发板免费体验】基于Duo S 使用 TDL SDK(V1版本)

    地将各种深度学习技术应用于自己的产品和服务中。无论开发者是否是深度学习领域的专家,有了TDL SDK作为助手,都能轻松构建智能应用。 目前 TDL SDK 包含 移动侦测,
    发表于 08-10 22:09

    【Milk-V Duo S 开发板免费体验】人脸检测

    ; 打开 VLC 软件,依次选择 文件 - 打开网络串流设备 ; 输入 RTSP 推流地址,点击播放按钮; 获取和显示摄像头采集的画面。 单张人脸识别 将摄像头对准人脸,当画面采集
    发表于 07-27 16:53

    人脸方向识别算法

    人脸识别
    深蕾半导体
    发布于 :2025年07月22日 09:58:29

    【EASY EAI Orin Nano开发板试用体验】EASY-EAI-Toolkit人脸识别

    本篇使用算法组件实现人脸检测。 一.准备工作 1.首先使用到EASY-EAI-Toolkit组件,ubuntu挂载目录下克隆git clone https://github.com/EASY-EAI
    发表于 07-20 14:40

    基于LockAI视觉识别模块:C++人脸识别

    是实现人脸识别的常用方法: 深度学习方法:现代的人脸识别系统大多采用
    发表于 07-01 12:01

    基于LockAI视觉识别模块:C++人脸识别

    本文基于RV1106做成的LockAI视觉识别模块,采用LZ-Picodet模型训练的人脸检测模型LZ-Face,以及ArcFace人脸识别模型,实现
    的头像 发表于 07-01 10:09 1110次阅读
    基于LockAI视觉<b class='flag-5'>识别</b>模块:C++<b class='flag-5'>人脸</b><b class='flag-5'>识别</b>

    选择户外场景的人脸识别门禁一体机,需要具备哪些条件?

    我们常用于企业打卡或单位校园门禁的人脸识别身份核验终端、刷脸核验一体机、人脸识别门禁考勤机或人脸识别
    的头像 发表于 06-09 10:26 1189次阅读
    选择户外场景<b class='flag-5'>的人脸</b><b class='flag-5'>识别</b>门禁一体机,需要具备哪些条件?

    人脸识别解决方案:智能安防与高效管理的创新之选

    人脸识别门禁系统在智慧城市、园区管理、社区安防、企业考勤等领域得到广泛应用。本方案聚焦于高效稳定的人脸识别系统架构设计,通过硬件设备与网络
    的头像 发表于 05-13 15:43 1400次阅读
    <b class='flag-5'>人脸</b><b class='flag-5'>识别</b>解决方案:智能安防与高效管理的创新之选