深度学习之人脸识别——2020.2.9

一、人脸识别流程

(一)对齐

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

(二)仿射变换

原理

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


        其中,平移——\(c_1\)\(c_2\)为平移量;缩放——\(a_1\)\(b_2\)为缩放量;旋转——θ是旋转角度。
(三)回归

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

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

论文:Deep Convolutional Network Cascade for Facial Point Detection

(四)特征学习
1. 分类模型
  • Deepface
  • DeepID
  • VGG
  • ResNet
2. 度量学习模型——FaceNet为例

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

论文:FaceNet- A Unified Embedding for Face Recognition and Clustering
    距离计算公式(前半部分为与同类positive之间的距离,后半部分计算与不同类negative的距离。):

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

二、人脸识别

(一)人脸验证

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

1. 欧氏距离:

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

\[\begin{Vmatrix} \overrightarrow{x_j}-\overrightarrow{x_k} \end{Vmatrix} \]
2. 余弦距离

\[\cos\theta =\frac { \overrightarrow{x_j} \cdot \overrightarrow{x_k}}{\begin{Vmatrix} \overrightarrow{x_j} \end{Vmatrix} \cdot \begin{Vmatrix} \overrightarrow{x_k} \end{Vmatrix}} \]
3. Joint Bayesian 方法

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

(二)人脸搜索

    深度网络 + hashing [Deep Learning of Binary Hash Codes for Fast Image Retrieval]

    在预训练好的网络倒数第二层和最终的任务层中间,插入一个新的全连接层,这个层使用sigmoid激活函数来提供范围约束,节点数即为目标二值码的码长。通过端到端的finetune,可以将语义信息嵌入到这个新加入的全连接层输出之中。

(三)人脸识别数据集

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值