FaceNet使用深度卷积网络进行人脸识别,该方法中最重要的部分在于整个系统的端到端学习。
算法:三元组损失,输入是三张图片(Triplet),分别为 固定影像 A(Anchor Face),反例图像 N(Negative Face )和 正例图像 P(Positive Face)。A与 P为同一人,与 N 为不同人。那么 Triplet Loss 的损失即可表示为:
也就是说,我们要让同一个人的图片更加相互接近,而不同人的照片要互相远离。三重损失将固定影像 A 与正例 P 之间的距离最小化了,这两者具有同样的身份,同时将固定影像 A 与反例 N 之间的距离最大化了。如下图所示:
除此之外,只要对深度神经网络有一定了解就能够很快的了解Facenet的结构,该网络由批量输入层和深度CNN组成,然后进行L2归一化,从而实现面部数据嵌入。如下图所示:
具体细节:人脸识别:FaceNet详解 - 简书