Facial detection and recognition are increasingly offered by video surveillance manufacturers.
Facial detection detects faces in an image/video but not whose face it is. However, even facial recognition (where the system attempts to determine the identity of each face) depends on facial detection first. That is, the system cannot attempt to recognize a face until it detects that an object is a face. As such, facial detection is a pre-requisite for facial recognition systems.
3 fundamental approaches exist to performing facial detection:
- HAAR Cascades
- CNN / Deep Learning
Performance varies on 3 fundamental metrics:
- Accuracy of detecting faces - while it is 'easy' to detect a face looking directly at the camera in a well-lit scene, performance can vary significantly depending on how a person tilts their head (down, left, right, etc.) and the lighting conditions of the scene (shadows, darkness, noise, etc.).
- Computing load to detect faces - Finding and determining what objects are in a scene and whether those objects are a face (instead of a tree, a car, a cat, a bowling ball, etc.) can be very computationally intensive while many video surveillance devices (e.g., IP cameras, NVRs) have significant constraints of processing power
- Chip / hardware used - Intel (i5/i7, Movidius 2 & X, FPGA); Nvidia GPUs, etc.
This is the first of a new series of machine learning / video analytic testing that IPVM will be doing.