毕设 基于深度学习的人脸识别【全网最详细】

0 简介

今天学长向大家介绍一个机器视觉的毕设项目,基于深度学习的人脸识别

:基于深度学习的人脸识别【全网最详细】 - opencv 卷积神经网络

🧿 选题指导, 项目分享:见文末

在这里插入图片描述

1 人脸识别 - 常用实现技术

人脸识别主要研究的是如何获得高效的特征, 并利进行人脸匹配的计算。 至今为止人脸识别的算法已经很多。

1.1 基于几何特征的人脸识别方法

该方法所考虑的特征相对朴。 所谓的几何特征是指人脸图像上各器官等的相对位置或相对距离所组成的矢量, 具体指利用人工方式标出人脸图像特征点位置, 对标定好的特征点计算相对距离; 将所得的多个距离按照预定顺序组成一个矢量, 该矢量即为几何特征。 Nicholas Roeder 和 Xiaobo Li 对几何特征的提取进行了详细研究, 由于几何特征只是粗略的描述的人脸图像, 因此效果并不如人意。

1.2 初级神经网络方法。

Intrato将无监督/监督混合神经网络应用到人脸识别问题上,该方法比传统的 BP 神经网络提取的特征更有效。 Cottrell 应用级联 BP 神经网络较好的解决了人脸遮挡和光照变化的问题。 W.Shiqian Wu 将 RBF 和 DCT 神经网络应用到人脸识别问题上。 E.Osuna 将支持向量机(SVM)应用到人脸识别问题。 Kung 和Lin 结合神经网络和统计学方法, 提出了基于概率决策的神经网络(PDBNN),此方法也获得了很好的结果, 这些方法都取得了较好的效果。 神经网络方法虽然简化了特征提取的工作, 学习到更加有效的特征, 但是神经网络往往有数目众多的神经元组成,因此训练耗时且难于收敛。

1.3 深度学习方法。

其实深度学习早在 20 世纪 90 年代就已经提出, 但是由于当时计算机技术的限制, 深度学习 并没得到很大的重视和发展。 直到 2012 年由 AlexKrizhevsky 提出的 AlexNet 卷积神经网络在 ILSVRC 图像分类竞赛中表示异常突出,从此深度学习尤其是其中的卷积神经网络得到了人们的广泛关注和深入的研究。 除了在香港中文大学的 DeepID 系列, 还有 Google 提出 FaceNet 网络 [25] , 牛津大学提出的VGG 网络等许多不同的网络, 这些网络都取得了很好的效果。深度学习具有特征自动学习, 泛化能力强和所学特征表现里强等优点, 因此深度学习在人脸识别问题上的应用极大的推动的人脸识别的发展。 但是深度学习也具有所需训练数据巨大、 训练耗时长和难于收敛等缺点。

2 人脸识别算法缺陷

(学长在这里推荐大家可以优化这些点,然后作为课题的创新点)

光照是影响人脸识别的重要原因。 现有的数字图像处理技术都是基于图像的像素值进行计算的, 因此即使是同一个人但由于光照变化引起的像素值的差异使的最终计算结果差异很大, 这极大的影响了人脸识别的性能。姿态是左右人脸识别另一个关键点。 在实际问题中人脸数据的采集往往是一种随意行为, 不能保证每次采集到是正脸。 上一节提到的各种方法往往只能适应一种姿态,对于姿态不同的图像识别问题经常是力不从心。 因此找到一种对姿态变化具有很强的鲁棒性的方法也是非常重要的。

数据规模庞大也影响人脸识别性能。 在深度学习应用到人脸识别问题之前, 所提出的方法由于受到计算复杂度限制, 往往在小数据集(包含几十人或几百人)性能良好,但是在大规模数据上性能很差。 深度学习由于其具有较强的泛化能力, 因此在较大规模的数据集上表现比传统方法改善了许多。 但是深度学习的泛化能力也是相对而言较强, 其受训练集的影响很大。 目前世界上有超过 60 亿人, 而且每个地区的人面部差异较大, 在获取训练数据集时无法包含所有人, 这会对最终的泛化能力有很大影响,比如训练数据集中包括的全部是西方人(大部分是这种情况), 训练得到的网络对于东方人的泛化能力就较低, 因此即使利用深度学习也无法区分世界上所有人。

计算复杂度高对人脸识别也有影响。 计算复杂度往往随着人脸识别任务复杂度的提高和训练数据的增加而急速增加。 利用深度学习进行人脸识别, 随着神经网络规模加深, 参数量也逐渐增大, 也增加计算复杂度。 计算复杂度的增加不仅使训练时间增加, 算法难以收敛, 容易出现过拟合问题, 而且也增加了测试阶段所耗时间, 这不利用算法的实际应用。

3 人脸识别流程

3.1 相关数据集

主要有以下几种数据集,其中仅MultiPIE需要购买,其余的申请即可。

在这里插入图片描述

3.2 对齐

通过确定人脸中的标定点(landmark)的位置进行人脸对齐。(找3个点即可,一般找5个点:鼻子、眼睛、嘴角两端)对齐后可以找到一个二维坐标平面,进行下一步仿射变换。

在这里插入图片描述

3.3 仿射变换

原理

  • 二维坐标到二维坐标之间的线性变换
  • 不共线的三对对应点决定了一个唯一的仿射变换

在这里插入图片描述
在这里插入图片描述

3.4 人脸目标检测

使用神经网络(比如使用的DCNN)进行回归对标定点进行检测。

在这里插入图片描述

其中,输入原始画像后,进行4*4卷积后,在进行池化,卷积…最后使用两个全连接得到最终结果。这里面采用了一个级联思想实现CNN组合,级联思想实现细节如下图:

在这里插入图片描述

3.5 人脸特征提取

3.5.1 分类模型有哪些

  • Deepface
  • DeepID
  • VGG
  • ResNet
  • FaceNet

3.5.2 度量学习模型——FaceNet为例

学长以常用的FaceNet为例,下图是FaceNet的简略示意图,例如,输入三张图片:Anchor、与Anchor不同类的Negative、与Anchor同类的Positive,通过一系列学习后实现同类相近,异类相远。

在这里插入图片描述 距离计算公式(前半部分为与同类positive之间的距离,后半部分计算与不同类negative的距离。)

在这里插入图片描述
最终实现效果如下图所示,距离>1.1即可认为相互之间为不同人,即使一个人不同角度也可以被识别为同一人。

在这里插入图片描述

3.6 人脸识别(特征分类)

人脸识别中的人脸验证问题即是验证两张图片是否来自同一个人。主要有以下三种方法,欧氏距离和余弦距离方法是工业中常用的验证方法,Joint Bayesian方法常用在学术研究中。首先假定两张人脸图片提取的特征向量为量为 xj→ 和 xk→ 。

3.6.1 欧氏距离

距离差越大,相似度越小。

在这里插入图片描述

3.6.2 余弦距离

在这里插入图片描述

3.6.3 Joint Bayesian 方法

在这里插入图片描述

其中,𝑆(∆) 是差异 ∆ 的函数,𝑃(H1)为先验概率,𝑃(Δ|H1) 为似然概率,𝑃($𝐻_1|∆)是后验概率,是人脸相似性的度量。

4 实现过程

在这里插入图片描述

数据集来源网络搜索,我选取了几名大家认识的人物,有Biden、chenglo

  • 19
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值