While artificial intelligence has been solving problems for decades, it is now on the verge of permeating every major industry. Many of these new AI applications, however, require the use of computer vision techniques to process and understand large amounts of visual data. That’s why Intel is helping developers apply AI to the visual world.
Airports, trains and bus stations are already deploying AI to identify potential security threats, creating intellectual systems that can function as an intuitive ‘robotic’ eye for real-time detection of unattended baggage. Additional AI applications that use computer vision include:
Facial recognition systems are also becoming popular in commercial applications, such as payment authentication and the monitoring of commercial fishing vessels to prevent illegal fishing.
Coding facial recognition is similar to the steps our brains follow to process and recognise the many faces we see each day. This involves both:
A computer program that tests images based upon features is a classifier. Classifiers are trained on thousands of positive (face region) images or negative (non-face background) images to learn how to classify a new image correctly.
One of the most widely used libraries to help detection and matching, motion estimation and tracking, is OpenCV (Open Source Computer Vision Library). OpenCV is a free, cross-platform library of programming functions aimed at real-time computer vision with several built-in pretrained classifiers for face, eye and smile detection, among others.
For example, using a video stream such as a surveillance camera, start by ensuring OpenCV is correctly configured to read and process the video frame by frame. Next, developers can use methods such as the frontal face Haar-Cascade classifier, a machine learning based approach, for the detection process. Using a Python script with a ‘detect’ function, the script opens the video stream and runs in an infinite loop, identifying each beginning and end of frame. Then, the frame is converted to gray to serve as input to the detect function. Finally, if a face is identified within the frame, the script saves a JPEG file – either as the whole frame or only the detected faces.
If you’re a developer, data scientist, analyst or domain expert, Intel® Distribution for Python* provides accelerate compute-intensive Python computational packages, production-ready algorithms, and access to immediate optimised performance. Any package included in the Intel® Distribution for Python* as the deep learning framework can be used to make facial recognition software.
For a detailed introduction to video pre-processing techniques for facial detection and a working example of an OpenCV application, one of the packages that ships with Intel® Distribution for Python*, visit the Intel® AI Academy.
Some other things we think you might find interesting
Our series explores the different variants of dementia from both a scientific and carers viewpoint. Professor Michael Hornberger explains in layman terms, what's happening in the brain to help our understanding of the disease. Fascinating and awful in equal measure.
We also hear from c