首页 > 其他分享 >基于深度神经网络的人脸识别相关问题

基于深度神经网络的人脸识别相关问题

时间:2024-05-30 23:54:52浏览次数:24  
标签:人脸识别 卷积 神经网络 人脸 深度 CNN 关键点

基于深度神经网络的人脸识别相关问题

1、DNN与CNN的关系
CNN可以看作是一种特殊的DNN,它们之间的关系是包含和被包含的关系。CNN 的核心是卷积层,该层可以有效地识别图像中的局部模式,并使用池化层来减少特征映射的维度。此外,CNN 还包括其他类型的层,例如全连接层和激活函数层,用于将卷积层输出的特征映射转换为最终的分类结果。

2、DNN与SSD的关系
在DNN中使用单次多框检测器SSD来实现目标检测的功能
虽然DNN本身可以用于许多任务,包括图像分类和人脸识别,但当涉及到需要同时检测图像中多个目标位置和类别时,SSD更加适合
将SSD集成到DNN中,可以使DNN在处理需要目标检测的任务时更加高效。在人脸识别系统中,使用DNN提取人脸特征的同时,可以使用SSD来检测图像中的人脸位置,从而实现更全面的人脸识别功能

3、深度神经网络人脸识别的原理
人脸识别主要通过人脸检测模型和人脸识别模型实现
首先,输入层接收人脸图像,人脸检测模型会检测到人脸的部位,并把人脸的部位截取出来
然后,通过卷积层对输入图像进行卷积运算,提取特征,激活函数建立卷积层内相邻层节点之间的函数关系,使模型更加灵活,随着卷积层的加深,提取的特征从最初的低级特征发展到复杂的特征
然后,通过池化层用单个点替换特征值的邻域,进一步提取和过滤卷积得到的特征,完成人脸关键点检测,得到人脸的眼睛、鼻子、嘴角共5个关键点,进行人脸的对齐。人脸对齐之后,通过人脸识别模型得到128位的特征向量,即128个数
然后,通过全连接层进行分类,损失函数估计模型预测值和真实值之间的差值
最后,输出层给出最终准确的结果。基于深度神经网络人脸识别的流程图如图3.5所示。

人脸识别主要通过人脸检测模型和人脸识别模型实现。通过FaceDetectorYN函数建立人脸检测模型,以便实现人脸检测。人脸检测模型会检测到人脸的部位,并把人脸的部位截取出来。然后进行关键点检测与对齐,对人脸眼睛、鼻子、嘴角共5个点进行提取,进行人脸的对齐。人脸对齐之后,通过人脸识别模型得到128位的特征向量,即128个数。基于深度神经网络人脸识别的流程图如图1所示。

图1 基于深度神经网络人脸识别的流程图
在得到128个特征向量后,进行特征向量的比对。到预先准备好的人脸识别数据库当中进行搜索,数据库中也是128位的特征向量,利用欧氏距离方法和余弦距离方法来计算两组特征向量之间的相似度,可以用这两种度量的方法来进行比较,如果检测到的人脸和数据库里面的人脸一致,则查找到对应的人脸。基于深度神经网络人脸识别的原理如图2所示。

图2 基于深度神经网络人脸识别的原理图

4、各个层的作用是什么?
输入层,接收原始数据
隐藏层,进行非线性变换
输出层,则给出最终结果
卷积层,对输入图像进行卷积运算,提取特征
激活函数,建立卷积层内相邻层节点之间的函数关系,使模型更加灵活
池化层,用单个点替换特征值的邻域,进一步提取和过滤卷积得到的特征
全连接层,进行分类
损失函数,估计模型预测值和真实值之间的差值

人脸检测模型,会检测到人脸的部位
人脸识别模型,得到128位的特征向量

5、人脸遮挡起来之后为什么还会显示出关键点?
因为人脸关键点检测是通过深度神经网络级联回归的方法进行的,该方法级联了三层卷积神经网络,通过第一层卷积神经网络后,会预测出人脸部位5个关键点的大致区域,然后通过第二、三层卷积神经网络后会进一步确定关键点的区域,每通过一层都会对关键点的预测位置进行调整,以得到精细的关键点定位,所以即便是被遮挡了也会显示出预测的大致位置的关键点。
检测到人脸就会进行关键点的预测,如果遮挡了,依然能够进行关键点的预测,只是无法准确预测。

图3 DNN级联回归方法
为什么遮挡了之后还是会显示人脸关键点,可以从DNN级联回归的方法进行关键点检测与对齐方面的解释,但是要把原理说清楚
(1)Level-1分为3个CNN,分别是Deep CNN F1(Face1)、Deep CNN EN1(Eye,Nose)、Deep CNN NM1(Nose,Mouth);Deep CNN F1输入尺寸为39×39,输出5个关键点的坐标;Deep CNN EN1和Deep CNN NM1输入尺寸均为39×31,输出均是3个关键点的坐标。Level-1的输出由三个CNN输出取平均得到。
(2)Level-2由10个CNN构成,输入尺寸均为15×15,每两个组成一对,一对CNN对一个关键点进行预测,预测结果同样是采取平均。
(3)Level-3与Level-2一样,由10个CNN构成,输入尺寸均为15×15,每两个组成一对, Level-3是在Level-2得到预测点位置的基础上,重新进行裁剪。由Level-2的网络,可以进一步得到5个关键点的位置,离正确的点越近了,然后利用Level-2的预测位置,重新进行裁剪,然后再重新进行预测。Level-2和Level-3是对Level-1得到的粗定位进行微调,得到精细的关键点定位。

6、人脸识别人脸部位的5个关键点(landmark)是怎么取的,跟识别的关系是什么,五个点之间的距离跟不同的人的关系是什么?
关键点检测与对齐。把人脸部位截取出来,进行关键点检测与定位,即对人脸眼睛、鼻子、嘴角共5个点进行提取,进行人脸的对齐。
通过深度神经网络级联回归的方法进行人脸的关键点检测,级联了三个层级,该方法可以自动识别人脸图像中的关键点位置。
首先,它们可以用来表示人脸的形状和结构信息,从而帮助识别算法更好地理解和区分不同的人脸。
其次,这些关键点可以用于计算不同人脸之间的距离和相似度,从而实现人脸比对和识别的功能。
五个关键点之间的距离与不同的人之间存在一定的关系。每个人的面部结构都是独特的,因此不同人之间的五个关键点之间的距离也会有所差异。这些距离信息可以用于构建人脸特征向量或者模型,进而用于人脸识别任务中的比对和匹配。
从对齐后的人脸图像中提取出具有区分性的特征,使用深度卷积神经网络模型,通过多层卷积和池化操作,提取人脸图像中的高级特征表示。这些特征可以捕捉到人脸的细节、纹理和结构等信息。

7、创新点在哪里?
(1)与传统的人脸识别算法相比,本文采用基于深度神经网络的人脸识别方法,具有较高的准确性和鲁棒性
(2)本文将VS2017,OpenCV和Qt相结合,实现了人脸识别门禁仿真系统的图形界面的可视化开发

8、看算法里面的函数具体用的是什么人脸识别数据库
基于深度神经网络的人脸识别在实践中需要大规模的人脸数据集来进行训练和评估,本文使用的人脸识别数据库是LFW,因为LFW具有真实性,多样性,标注质量好,图像清晰度高和数据格式简单明了等特点,所以本文选用LFW的人脸识别数据库。

标签:人脸识别,卷积,神经网络,人脸,深度,CNN,关键点
From: https://www.cnblogs.com/bujidao1128/p/18223498

相关文章

  • 深度神经网络详解
    一、引言随着人工智能和机器学习的发展,深度神经网络(DeepNeuralNetworks,DNNs)已经成为解决许多复杂问题的关键技术。从图像识别到自然语言处理,深度神经网络在各个领域的应用都取得了显著的成果。本篇博客将详细介绍深度神经网络的基本概念、结构、训练过程以及一些常见的应用......
  • 深度学习(二)
    深度学习(二)4.前馈全连接神经网络(Sequential模型)importtensorflowastffromtensorflowimportkerasmodel=keras.models.Sequential([    keras.layers.Flatten(input_shape=[784]),    keras.layers.Dense(300,activation="relu"),    keras.laye......
  • 神经网络应用场景——语音识别
    神经网络在语音识别领域的应用场景非常广泛,以下是几个典型的应用场景,结合相关数字和信息进行阐述:智能助手:语音助手如苹果的Siri、亚马逊的Alexa和谷歌的GoogleAssistant等,都广泛使用了基于神经网络的语音识别技术。这些智能助手能够理解用户的语音命令,并提供相应的服务,如......
  • 神经网络应用场景——自然语言处理
    神经网络在自然语言处理(NLP)领域的应用场景非常丰富多样,以下是几个典型的应用场景:文本分类:神经网络模型,如卷积神经网络(CNN)和循环神经网络(RNN)及其变体(如LSTM、GRU),被广泛用于文本分类任务,如情感分析、垃圾邮件过滤、新闻分类等。这些模型能够自动学习文本中的特征,并准确地将......
  • 基于深度学习的鸟类声音识别系统
    鸟叫声识别在鸟类保护中具有重要意义。通过适当的声音分类,研究可以自动预测该地区的生活质量。如今,深度学习模型被用于对鸟类声音数据进行高精度的分类。然而,现有的大多数鸟类声音识别模型的泛化能力较差,并且采用复杂的算法来提取鸟类声音特征。为了解决这些问题,本文构建了一个包......
  • 神经网络常见参数解释:epoch、batch、batch size、step、iteration
      本文介绍在机器学习、深度学习的神经网络模型中,epoch、batch、batchsize、step与iteration等名词的具体含义。  epoch:表示将训练数据集中的所有样本都过一遍(且仅过一遍)的训练过程。在一个epoch中,训练算法会按照设定的顺序将所有样本输入模型进行前向传播、计算损失、反向......
  • STM32WB55 BLE双核flash擦写程序深度解析
    简介STM32WB55的flash擦除有两种机制,一种是只有单核运行下的flash擦除,这种模式下,flash擦除的步骤同其他STM32的flash擦除一样,直接调用HAL库中flash擦除的库函数即可;另一种是双核运行下的flash擦除,这种模式下,因为两颗CPU内核都会访问地址总线,可能会有访问冲突,为了解决这个问题,ST引......
  • 知其然,更知其所以然:探寻知识深度与广度的四个境界
            在知识的海洋中,我们时常被各种信息和概念所包围。然而,真正的学习并非仅仅停留在表面的了解,而是需要深入挖掘其背后的原理和意义。在这个过程中,我们逐渐从“知其然”迈向“知其所以然”,再到“知其所以必然”,最终实现“一通百通”的境界。        首先,......
  • OpenCv之简单的人脸识别项目(人脸识别页面以及人脸比对页面)
    人脸识别准备三、人脸识别页面1.导入所需的包2.设置窗口2.1定义窗口外观和大小2.2设置窗口背景2.2.1设置背景图片2.2.2创建label控件3.定义两个全局变量4.定义选择并显示图片的函数4.1声明全局变量4.2设置文件选择对话框4.3设置条件语句4.4创建一个标签显示图像5.定义......
  • 基于 MATLAB 的麻雀算法 (SSA) 优化注意力机制卷积神经网络结合门控循环单元 (SSA-Att
    鱼弦:公众号【红尘灯塔】,CSDN博客专家、内容合伙人、新星导师、全栈领域优质创作者、51CTO(Top红人+专家博主)、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen)基于MATLAB的麻雀算法(SSA)优化注意力机制卷积神经网络结合门控循环单元......