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.