It might help to understand how face detection works: https://www.pyimagesearch.com/2015/0...on-and-opencv/ (on a camera it's implemented in C/C++ and/or custom hardware (and/or GPU-like array processors- e.g. Intel Movidius as used in drones)).

The 'face box' sub image is processed and (effectively) multiplied against a kind of mask (e.g. Eigenface: https://en.wikipedia.org/wiki/Eigenface ) to get a score, and when the score passes a threshold, reports a face has been found (depending on the implementation, it's a bit more complicated, but the idea is the same: pattern recognition via weighted sums of values). So you can see that if the input image is too dark, too light, too much or too little contrast, face is altered (glasses, beard, hat, hair-on-face, extreme shape), or too close too far, the score will be too low and no face found.

For those with a background in video and stills compression and the DCT (discrete cosine transform), you'll find the Viola-Jones AdaBoost method to look familiar as summed frequency component classifiers: https://cs.gmu.edu/~kosecka/cs682/le...-detection.pdf .

Basic face recognition (FR) is pretty old in the AI/machine learning world, and there's even decent implementations in Javascript! https://medium.com/@muehler.v/node-j...ing-ea5ba8e852 . For the coders out there (or not), Javascript is a relatively slow, interpreted language that runs in a browser (and now on the backend e.g. node.js). Also note that once a face has been found, finding the eyes, nose, mouth is much easier, because it's known approximately where those features typically exist. From my tests, Canon knows where the eyes are, just doesn't draw them.

In 2019 we have ResNet et al "Deep Face" deep learning based methods (from MS, Facebook, Baidu etc.) which are vastly more powerful/accurate: https://arxiv.org/pdf/1804.06655.pdf . Sony will soon release advanced AF / FR not just for humans, but also for animals! That's a much bigger database, yet still not a big deal in 2019 in terms of memory and computing power, even for a camera/drone/embedded system.

The Sony A6400 is supposed to have this new AF system, and the A7 III and A9 will get an upgrade around April. From the demos online, this puts Sony way ahead of everyone else for AF / FR, and it's going to get much better, even in low light, with glasses etc. and other problem cases.

Canon could release firmware updates to fail more gracefully with AF, and possibly even improve quality (not clear how much of their system is programmable vs. fixed functions in hardware ASICs). If not their next gen cameras will certainly have updated hardware to compete with Sony (and even Fuji and Nikon: not having good FR is only a cost reduction issue- the tech is well known now for pretty good results). When adding infrared and 3D sensors, the quality gets even better (e.g. for latest iPhones as a security feature).

In the near future, I'd expect camera companies to allow you to train the database to recognize specific people (and animals and other objects!), and even program the camera to do focus pulls between known faces/objects. All easily doable already in 2019.