I'm surprised this works well. If the method is a state-of-the-art convolutional neural network architecture, you generally would need more than 10 images -- even with transfer learning -- for passable accuracy. Algorithms for medical diagnosis, for example, generally require between 100 and 200 images to do well. Though those are generally transfer learned from ImageNet CNNs. So I'm curious as to which dataset this face recognition uses for weight initialization, or it uses another ML method entirely.
I used a convolutional neural net for face recognition on a hobby project, but I kept getting issues where the probability of matching a face was high so long as a face was actually in the image. Unfortunately, this didnt work well with a sliding window algo because Id get a bunch of windows with a high probability of a face with the only difference being a slight shift in increment / size. Would it be better to just use a multi layer perceptron? Also, does anyone else find it amusing when their face recognition systems identify things like toes or gates with high confidence? I end up spending some time zooming in to make sure it's not one of those hidden faces in random images