【TensorFlow】_002_人脸识别算法

人脸识别算法的三个流程
  • 人脸 检测 (Face Detection)
  • 人脸 对齐 (Face Alignment)
  • 人脸 特征表征 (Feature Representation)
线性降维
  • 在研究早期,人们使用 子空间算法:将人脸图像当做一个 高维向量,将其投影到 低维空间 后,期望得到的 低维向量 对不同的人具有 区分度
  • Matthew 等使用 PCA 降维得到 特征脸 (Eigenface)
  • Peter 等使用 LDA 降维得到 Fisherface 来实现人脸识别
  • 但是,PCALDA 都是 线性降维技术,显然人脸在高维空间中的分布式 非线性 的。因此,我们可以进一步使用 非线性降维算法。如 流形核方法
非线性降维 - 流形
  • 流形 假设 向量点 在高维空间中的分布具有某些 几何形状,然后在 保持 这些几何形状的前提下,将向量 投影 到低维空间中,这种投影是通过 非线性变换 完成的。如下所示,我们将 3维空间 中的瑞士卷 (Swiss Roll) 数据集非线性降维到 2维空间,并尽可能 降低 对数据分布的影响
    在这里插入图片描述
  • 但是,这些通过 直接降维 来进行人脸识别的早期算法,只是将数据进行了 投影,普遍都存在 严重依赖 训练集和测试集场景的问题,且对 光照,人脸的 表情姿态 敏感,泛化 能力不足,不具有太多的实用价值
人工特征 + 分类器
  • 第二阶段的人脸识别算法普遍采用了 人工特征 + 分类器 的模式
  • 分类器 比较成熟,如 逻辑回归贝叶斯支持向量机神经网络
  • 因此,算法的关键是 特征工程,即如何设计出 有效区分 不同人的特征
  • 于是,计算机视觉领域很多描述 图像 的特征都被先后用于人脸识别问题,包括 HOGSIFTGaborLBP等。典型的代表是简单高效的 LBP (局部二值模式) 特征。LBP 部分解决了 光照敏感 问题
  • 联合贝叶斯 是对 贝叶斯人脸 的改进方法,选用 LBPLE 作为基础特征,将人脸图像的差异表示为:相同人因 姿态表情 等导致的差异和 不同人 间的差异两个因素,用潜在变量组成的 斜方差,建立两张人脸的关联。在 LFW 中取得 92.4% 准确率
  • 2013年,MSRADong Chen 等继续发力,发表了一篇关于如何使用 高维度特征人脸验证 中的文章,作者主要以 LBP 为例,论述了 高纬特征验证性能正相关,即人脸纬度越高,验证的准确度就越高。文中最好的方法在 LFW上的准确率达到了 95.17%
    在这里插入图片描述
深度学习 - Facebook DeepFace
  • DeepFace深度卷积神经网络 在人脸识别领域的奠基之作。他们使用 3D 模型来解决 人脸对齐 问题,同时又使用了 9 层深度神经网络来做 人脸特征 表示。
  • 损失函数 使用了 Softmax Loss,最后通过 特征嵌入 (Feature Embedding) 得到固定长度的 人脸特征向量
  • DeepFaceLFW 上取得 97.35% 的准确率,已经接近人类的水平
    在这里插入图片描述
深度学习 - Google FaceNet
  • Google 创新的提出了使用 三元组损失函数 (Triplet Loss) 替换 Softmax Loss。在一个 超球空间 上进行优化使 类内距离 更紧凑,类间距离 更远,最后得到了一个紧凑的 128维人脸特征,其网络使用 GoogleNetInception 模型,模型 参数量较小精度更高
  • FaceNetLWF 上取得了 99.63% 的准确率
    在这里插入图片描述


    感谢:极客时间
    感谢:《深入理解TensorFlow》作者:彭靖田
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值