How to Build a Proper IPC for Facial Recognition
FaceMe®
< All Articles

How to Build a Proper IPC for Facial Recognition

2021/02/02

In this article, we will detail key considerations for building an industrial PC (x86 based), or IPC, to best equip it for facial recognition at the edge.

What is an Industrial PC?

First, let’s start by defining industrial PC (IPC). An IPC is a rugged, durable computer that is resilient to extreme working environments. They are protected from dust, liquids, high and low temperatures and more, and can handle 24/7 usage. IPCs are designed to be extensible and customizable to meet requirements for different verticals or use cases. This means they can easily perform new capabilities and functions. They also have rich interfaces, compatible with HDMI, D Sub, USB, Serial IO, GPIO.

* Source: Advantech

IPCs and Facial Recognition

IPCs are commonly turned to for facial recognition tasks across industries. In all scenarios, there is constant communication between one or multiple cameras – webcams or IP cams – and the IPC, which runs the software and algorithm for managing facial recognition and operational rules. Below are some of the most prevalent use cases today.

Industrial plants, factories and warehouses

Facial recognition brings multiple benefits to operations, security and safety across the manufacturing industry. With cameras stationed at staff entrances, it can automatically clock employees in and out. It can also make sure they comply with mask wearing directives or send message to security in case someone unidentified or unauthorized enters the facilities. The technology can also be used for access to machinery, only allowing those with permission to operate certain equipment and keeping a detailed log. With various facial recognition applications like these throughout a warehouse or factory floor, IPCs are best equipped because they are always-on and can manage immense data logs.

Industrial panel PC, or self-service kiosks

Panel PCs or self-service kiosks equipped for facial recognition can be found in a number of business settings. Examples include a touchscreen kiosk in a department store that enables opt-in customers to use facial recognition for personalized item recommendations. Another is for fast food or fast casual ordering with digital menus, where facial recognition is able to identify opt-in customers, connect into their loyalty memberships points and benefits, and check them out instantly, if their payment info is saved.

Retail

For retailers, IPCs with facial recognition are beneficial to authenticate employees that manage checkout stations. When an employee is ready to open a checkout counter, they can log into the device via facial recognition.

Financial services and banking

Biometric technologies like eKYC (Know Your Customer) are growing in popularity for financial services across use cases, one of which is ATM authentication. Here’s how it works. A pre-enrolled customer can walk up to an ATM, have their live face capture, ID and PIN verified and matched to a database managed by the IPC, and then be granted access to perform a transaction.

For a full overview of facial recognition and IPC use cases, please check out Edge-based Facial Recognition - The Ultimate Guide.

Considerations when Designing IPCs for Facial Recognition

Now that we’ve reviewed key use cases, it is important to discuss the top considerations when building an IPC for facial recognition. IPCs are completely customizable, and factors such as performance needs, cost, power consumption and more should all be taken into account.

Computing Performance

To understand the required computing performance for a facial recognition IPC, you must first know how many faces will need to be detected and recognized within a given time interval, and how quickly you want the process to be completed. If you only require a handful of facial detection and recognition tasks every minute, you can look to lower performance IPCs. If you need multiple faces detected and recognized every second, a high performing computer will be required. NVIDIA GPU chipsets are good for high performance needs.

Cost

Next item to consider is cost. Higher performance will likely require expensive processors, such as NVIDIA GPU chipsets. Other solutions, like Intel Movidius, are more reasonable in price and still offer good performance.

Power Consumption

As you likely expect, the higher computing performance needed, the more power a device will consume. The NVIDIA GPU, while a great chipset on so many levels, is one of the more power-consuming processors.

Form Factor

Another way to think about form factor is shape and size. Take into consideration where you want the IPC to be stationed and any size requirements of the location.

Scalability

Next important consideration is scalability. If you envision the need to expand single-use solutions to multichannel and multi-use, you will need a more scalable solution, potentially a more powerful IPC, or a modular deployment architecture.

Flexibility

The final consideration is flexibility. If the IPC will be running other software and applications, beyond facial recognition, a higher and more flexible CPU will be required. The Intel Core is a strong, flexible solution.

The Five Most Popular Facial Recognition IPC Configurations

Here are the five most common IPC configurations for facial recognition, in order of lowest performance and cost to highest.

  1. Intel Atom CPU x6000E

    Performance: Baseline
    Cost: Medium Low

    This is one of the most affordable and durable configurations. The Atom CPU is compatible with Windows OS, as well as a rich set of x64-based software applications, or sub-systems. The 11th generation Atom CPU (x6000E) is equipped with OpenVINO DLBoost and VNNI to enable deep learning algorithms, like facial recognition, to operate at acceptable performance levels. It performs face authentication tasks twice as fast. If you require the IPC to run other applications beyond facial recognition, you will need a more powerful CPU that can handle greater computing power. The Atom doesn’t generate much heat and can run on a fan-less system, which reduces power consumption and eliminates vibrations.

  2. Intel Celeron CPU

    Performance: Medium
    Cost: Medium

    The Intel Celeron CPU is a good middle-ground solution, both in terms of performance and cost. Like the Atom, it is also fanless. It can handle higher performance requirements than the Atom, but not as much as the Core i3 (detailed below). For facial recognition tasks, the Celeron can process more facial recognition frames per second than the Atom. It can also handle other software and applications you might want to run, whereas the Atom cannot. For example, a digital display solution requires a content management application and media player to run the ads. An interactive kiosk’s user interface will likely require a decent amount of processing power to display embedded video, photos and animation effects.

  3. Intel Core i3 CPU

    Performance: Medium High
    Cost: Medium High

    Core i3 CPUs can handle much greater computing and performance requirements than Celerons and Atoms. Because of this, they require more power, generate more heat and can be more expensive. If you need an IPC that can run multiple applications smoothly, the Core i3 is a robust solution and is well worth its price.

  4. Intel Celeron with Movidius VPU acceleration cards

    Performance: Medium High
    Cost: Medium High

    With the addition of the Movidius VPU to the Celeron, AI algorithms are given a dedicated processing unit on which to run. This combination allows seamlessly running multiple applications, including video inputs for facial recognition, without taking up too much processing power. This VPU is well known for its ultra-low power consumption. Even though the Movidius VPU is an additional component on top of the Intel Celeron chipset, it is very small (8mm x 9mm). Therefore, it does not greatly impact the final form factor of the IPC.

    We tested our leading AI-based facial recognition algorithm FaceMe® on the Intel Celeron J3355 CPU and Intel Movidius Myriad X VPU, running with the ultra-high (UH) model. The UH model demands high computation power. We found the facial recognition engine to run 17x faster on the VPU, compared to the CPU. This is because the AI algorithm is running entirely on the VPU, without crowding the CPU.

  5. Intel Core i with NVIDIA Quadro RTX 4000/5000 GPU

    Performance: Very High
    Cost: very High

    The Intel Core i and NV Quadro GPU together make up one of the highest performing IPC solutions. The GPU chipset enables it to run multiple applications right alongside multiple video channels, all simultaneously. In our testing, it supported more than 20 video channels, each capturing more than 500 people walking by per hour. Because of its high performance, it requires more power and is more expensive. It also has a larger form factor. However, if you need a solution that can run efficiently in larger environments and scenarios, this is a great solution.

    There are several IPCs on the market that support NVIDIA graphic cards, including the Advantech Air 300 with Core i or Xeon CPUs, which supports the NVIDIA Quadro RTX 4000/5000 series.

Facial Recognition Performance with FaceMe®

FaceMe® is one of the best rated and most flexible facial recognition tools on the market. It offers the industry’s most comprehensive chipsets support, including the configurations outlined above, with optimized system architecture for best performance. Below, we will use the VH (Very High) model of FaceMe® to examine facial recognition performance on key configuration components (CPU, GPU, VPU). See section 3.4 of our article, Facial Recognition at the Edge - The Ultimate Guide, to learn about our precision models.

Name
Performance
Intel Atom CPU
While FaceMe® has not yet been tested on the Atom x6000E, we estimate that it can run on a 720p reduced resolution with a frame rate of about 10fps for FaceMe® VH Model and one single face per image.
Intel Celeron CPU
FaceMe® was tested on the Celeron G4920 and it supports 24fps for FaceMe VH model. Tested images are in 720p resolution and each image file includes a single face.
Intel Core i3 CPU
The Core i3 enables twice as much computing power, compared to the Celeron. With FaceMe®, this results in a higher resolution of 1080p with the same processing frame rate of 24fps for VH Model
Intel Celeron and 1x Movidius VPU
With the VPU added in this combination, the FaceMe® VH model can be executed with a frame rate of 18-20fps. Tested images are in 1080p resolution and each image file includes a single face.
NVIDIA Quadro GPU
The Quadro 5000 GPU is the most powerful option. It supports 270fps for VH. Tested images are in 1080p resolution and each image file includes a single face. In addition, Quadro GPUs have dedicated video decoding engines, enabling multiple 1080p streams to run without affecting the AI processing performance.

Operating Systems for IPCs and Facial Recognition

The two main operating systems that are compatible with IPCs for facial recognition are Windows and Linux (Ubuntu). When selecting which OS is right for you, it will be important to consider the needs of your specific use case. FaceMe® is one of the most versatile facial recognition engines, supporting both Windows and Linux, as well as a wide range of CPU, VPU and GPU chipsets. A few key differences between Windows and Linux are:

  • Windows: Offers richer extensibility. It also supports more commercial applications than Linux. The Microsoft ecosystem provides a trove of tools and GUI frameworks, which makes it easier to develop new software applications.

  • Linux: Very stable OS, more so than Windows, and requires less computing power. Linux is open source, making it friendlier to developers who want to configure the OS to specific needs and remove elements that are not needed. Linux comes at no extra cost, which is another key benefit.

Building the Right IPC for You

There are many IPC configurations available to engineers and developers when building systems for facial recognition, but it does not need to be daunting or complicated. When evaluating options, it is absolutely crucial to first understand your use case. Then think about the requirements for performance, form factor, extensibility, scalability and budget.

Once you think you have the right build and design for your use case, we recommend conducting proof of concept (POC) projects before the application is installed for real-time and real-life use. This way you can understand any improvements that need to be made and adjust before launching fully.

For a full overview of facial recognition, how it works and how it can be deployed, read Edge-based Facial Recognition - The Ultimate Guide.

For how is facial recognition used in 2021, read Facial Recognition – How is It Used in 2021?

For further information on CyberLink FaceMe® engine