Developers

Applying AI to create facial recognition software

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:

  • Advanced driver assistance systems (ADAS) and autonomous cars
  • Image recognition, object detection and tracking, and automatic document analysis
  • Face detection and recognition, normally used for security issues
  • Medical image processing
  • Internet of Things (IoT) applications

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.

Computer coding facial recognition

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:

  • Face detection – identifying the pixels which represent the face in a given image, also referred to as the pre-processing phase
  • Face recognition – associating the detected face to a reference from the database, or identifying a face match

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.

Start coding today

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.

Click to comment

You must be logged in to post a comment Login

Leave a Reply

To Top

Privacy Preference Center

We are using cookies on our website

We use cookies to personalise content and ads, to provide social media features, and to analyse our traffic. Please confirm if you accept our tracking cookies. You are free to decline the tracking so you can continue to visit our website without any data sent to third-party services. All personal data can be deleted by visiting the Contact Us > Privacy Tools area of the website.