face recognition

ke, 21 July 2018

[ deep_learning  ]
  • face recognition

face verification:
Input image, name/ID
Output whether the input image is that of the claimed person
1:1

face recognition:
Has a database of K persons
Get an input image
Output ID if the image is any of the K persons ( or “not recognized”)
1:K

  • One-shot learning

Learning a “similarity” function
d(img1, img2) = degree of difference between images
if d(img1, img2) <= t “same”
else >t “different”

  • Siamese network


Goal of learning
Parameters of NN define an encoding f(x(i))
Learn parameters so that:
If x(i),x(j) are the same person, ||f(x(i)-f(x(j)))||^2 is small
[Taigman et. al., 2014. DeepFace closing the gap to human level performance]

  • Triplet loss

learning_objective

want: ||f(A) - f(P)||^2 <= ||f(A) - f(N)||^2
||f(A) - f(P)||^2 - ||f(A) - f(N)||^2 <= 0
||f(A) - f(P)||^2 - ||f(A) - f(N)||^2 + alpha <= 0

Loss function:
L(A,P,N) = max(||f(A) - f(P)||^2 - ||f(A) - f(N)||^2 + alpha, 0)
J = E(i=1,m) L(A(i), P(i), N(i))

choose triplets that’re “hard” to train on.

  • Face verification and binary classification



[Taigman et. al., 2014. DeepFace closing the gap to human level performance]