Big data is leading to massive changes in our daily lives. The University of Minnesota has published a study on the advances in facial recognition technology, which are being used in law enforcement and other fields.
Role of Big Data and AI in Facial Recognition Technology
Data analytics has played a fundamental role in scientific, technological and business development in recent years. It is commonly used in advanced security systems, computer assistants for decision making, event prediction, anomaly detection, among others. One of these applications is face identification or facial recognition. The term face identification is used to describe the process in which a computer application verifies the identity of a person. Nowadays it is common to find this utility not only in security systems, but also in social networks and even smartphones.
The human face is an invaluable source of information. By means of a detailed analysis it is possible to determine the identity, approximate age, sex, mood, health and even what a person really wants to express. It all comes down to finding similarities in expressions, classifying them and developing systems that identify a face in one of the classified groups.
The common scheme called “automatic learning” consists of “training” an agent (program) with some data structure, which detects similarities and differences and groups (classifies) the related elements. This agent will be the one who later identifies an element in one of the detected groups.
The agent we will deal with in this article, for the case of face recognition, is the heuristic known as affinity propagation. This is an iterative clustering method that has been successful in the treatment of complex images (see this comparison chart with other methods, this article where they show a similar example of face classification and this article where they use affinity propagation to read handwritten documents).
Implementing a Face Identification Program
Initially it requires an extensive database with images of faces, with which to train an agent that will learn to distinguish different faces and group similar faces. On the website of researcher Libor Spacek of the University of Essex we can find sample databases to follow the exercise. The affinity propagation method requires a metric or measure of similarity between each of the images. Such a measure must be invariant under different transformations of light, colors, gestures, etc. to achieve a classification that is robust to such changes. In the implementation example presented in this article, the spatial correlation metric is used, which is invariant to luminosity changes and translation movements.
To train the agent we will use the version of Affinity Propagation implemented in Python’s scikit library. For scientific computing projects (like the one discussed in this article), Python is one of the most widely used programming languages, due to the flexibility and robustness it provides in the rapid prototyping of exploratory and scientific applications.
The example illustrates a basic process of automatic identification of people, however, if you require personalized advice and need additional information on the execution of technology implementation projects and data analysis can contact directly with Math Decision.
The classification made by the algorithm is presented in a list where the entry i is the group to which the image i should belong according to the agent.
For this example the faces94.zip database contained in the Libor Spacek web described above was chosen. The result when applying the previous algorithm, was a classification of a total of 133 different faces recognized from the database. To test if the classification was correct, groups were taken as representative samples of the classification and these are the results:
The agent correctly classified in various groups the related faces (similar) even though their facial expression is different and is now able to distinguish the classified subjects.
This procedure can be carried out on a large scale. With a database containing images of the faces of a country’s population, an agent can be trained to identify the individuals in the population. Each group classified by this agent uniquely corresponds to a person who has an identification. This agent can then be used to identify people in the classification groups according to their faces.