转载请注明出处 https://blog.csdn.net/Fire_Light_/article/details/79589926
原文链接:Targeting Ultimate Accuracy: Face Recognition via Deep Embedding
网络结构:
输入的是对齐好了的人脸图像,将人脸图像通过面部标记点切分为多个相互之间有重叠部分的Patch,分别输入相同结构的网络,每个网络都在不同的GPU上训练。
网络结构包含9个卷积层,某些卷积层的后面有池化层,标准化层,论文中与图中都没有详细说明,大致知道网络是什么样子的就可以了。
训练时用softmax训练,进行验证时将所有FC层的特征相接,构成一个高维的面部特征。
验证方法–Metric Learning度量学习:
通过以triplet loss 为监督信号的度量学习方法来学习一种128维的特征,用特征之间的距离来进行验证任务。
所谓度量学习,就是在特征空间中学习某种合适的距离度量方法,也就相当于去寻找特征空间中的某一子空间,将特征变换到该子空间上之后,可以很容易的度量各特征之间的距离(参考《机器学习》-周志华)。
通过这个度量学习,可以做到减小类内的l2距离,增加类间的l2距离的效果。
度量学习示意图:
关于triplet loss的详细描述可以参考我的博客:人脸识别系列(六):FaceNet
实验:
训练数据量对错误率的影响:
patch量对错误率的影响
最优结果:
使用7个patches,每个patch最终提取128维特征,然后还混合了一些其他模型一起判断(具体是哪些文中没说)
达到了LFW上99.85%的准确率
论文中还展示了所有的验证出错的图片对:
图中分为三类:
a.错误标记。
b.假阴性,由化妆、带眼镜、人物造型变化比较大或是遮挡等原因造成。
c.假阳性,五官非常相似的人。