Clustering human faces from a video

I launched the face detection algorithm built into opencv to extract faces in each frame of the video (1 fps sampling). I also resized the image of each face to the same size, and I cropped part of the image to remove background noise and hair. Now the problem is that I have to group these facial images - each cluster corresponding to a person. I implemented the algorithm described here http://bitsearch.blogspot.in/2013/02/unsupervised-face-clustering-with-opencv.html

Basically, the above algorithm uses OpenCV LBPH face recognition iteratively to cluster images. In the description of the page itself, the results are not satisfactory. In my implementation, the results are worse. Can anyone suggest a better way to group faces? Some other function and some other clustering algorithm may be used. The number of clusters is unknown.

+4
source share
1 answer

I suggest taking a look at

FaceNet: Unified Attachment for Face Recognition and Clustering

My ( , ):

FaceNet $\ mathbb {R} ^ {128} $, . . ( A, A, , A). (, , ).

LMNN. , .

LMNN

(LMNN)

$$ d (x, y) = (x -y) M (x -y) ^ T $$

$M $- . , $d (x, y) = 0\Leftrightarrow x = y $ .

:

, . .

, . , . , .

$$ || f (x_i ^ a) - f (x_i ^ p) || _2 ^ 2 +\alpha < || f (x_i ^ a) - f (x_i ^ n) || _2 ^ 2 $$

$\ alpha $- , $x_i ^ a $- , $x_i ^ p $- , $x_i ^ n $- . $\ alpha $ . , $f $ $\ mathbb {R} ^ {128} $, . $\ alpha $, $f '= 2\cdot f $.

  • : ?
  • : ?

Datasets

  • 99,63% (LFW)
  • 95.12% Faces YouTube

: Zeiler Fergus , .

.

.

0

All Articles