人脸识别系列(七):百度的人脸识别

原文连接:Targeting Ultimate Accuracy: Face Recognition via Deep Embeddingweb

网络结构:

这里写图片描述

输入的是对齐好了的人脸图像,将人脸图像经过面部标记点切分为多个相互之间有重叠部分的Patch,分别输入相同结构的网络,每一个网络都在不一样的GPU上训练。网络

网络结构包含9个卷积层,某些卷积层的后面有池化层,标准化层,论文中与图中都没有详细说明,大体知道网络是什么样子的就能够了。机器学习

训练时用softmax训练,进行验证时将全部FC层的特征相接,构成一个高维的面部特征。svg

验证方法–Metric Learning度量学习:

经过以triplet loss 为监督信号的度量学习方法来学习一种128维的特征,用特征之间的距离来进行验证任务。学习

所谓度量学习,就是在特征空间中学习某种合适的距离度量方法,也就至关于去寻找特征空间中的某一子空间,将特征变换到该子空间上以后,能够很容易的度量各特征之间的距离(参考《机器学习》-周志华)。.net

经过这个度量学习,能够作到减少类内的l2距离,增长类间的l2距离的效果。3d

度量学习示意图:
这里写图片描述
关于triplet loss的详细描述能够参考个人博客:人脸识别系列(六):FaceNetxml

实验:

训练数据量对错误率的影响:
这里写图片描述blog

patch量对错误率的影响图片

这里写图片描述

最优结果:

使用7个patches,每一个patch最终提取128维特征,而后还混合了一些其余模型一块儿判断(具体是哪些文中没说)

达到了LFW上99.85%的准确率

论文中还展现了全部的验证出错的图片对:
这里写图片描述

图中分为三类:
a.错误标记。

b.假阴性,由化妆、带眼镜、人物造型变化比较大或是遮挡等缘由形成。

c.假阳性,五官很是类似的人。