This article details key considerations for building an industrial PC (x86 based), or IPC, that is equipped for facial recognition at the edge. For specific IPC use cases and applications read Top 7 Use Cases for Facial Recognition in 2022.
An IPC is a rugged, durable computer that is resilient to extreme working environments and can handle 24/7 usage. IPCs are designed to be extensible and customizable for different verticals or use cases, which means they can easily perform new capabilities and functions. They also have rich interfaces, and are compatible with HDMI, D Sub, USB, Serial IO, and GPIO.
* Source: Advantech
IPCs are customized for each specific use case: factors such as performance needs, cost, and power consumption should be taken into consideration in the design phase.
To understand the required computing performance for a facial recognition IPC, you must determine how many faces need to be detected and recognized, and how quickly you want the process to be completed. If you only require a few facial detection and recognition tasks each minute, you can look to lower-performaning IPCs. If you need multiple faces detected and recognized every second, a higher-performing computer will be required. NVIDIA GPU chipsets are good for high performance needs.
The next item to consider is cost. High-performing computers require expensive processors, such as NVIDIA GPU chipsets. However, other solutions are available, like Intel Movidius, which are more reasonably priced and still offer good performance.
It is understandable that the higher the computing performance the more power it will consume. While a great chipset on so many levels, the NVIDIA GPU is one of the more power-consuming processors.
Another way to think about form factor is shape and size. Consider where you want the IPC to be stationed and note any size constraints of the location.
The 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.
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.
For other factors to consider in building your AIoT device, check out our article on 7 Success Factors for Facial Recognition Solution.
The five most common IPC configurations for facial recognition, from lowest to highest in terms of performance and cost:
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 subsystems. Atom CPU is equipped with OpenVINO DLBoost and VNNI to enable deep learning algorithms, like facial recognition, to operate at acceptable performance levels. However, 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 fanless system, reducing power consumption and eliminating vibrations.
The Intel Celeron CPU is a good middle-ground solution in terms of both performance and cost. It handles 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 frames per second than the Atom and is also fanless. It can 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 ads. As such, the user interface of an interactive kiosk will likely require a decent amount of processing power to display embedded video, photos, and animation effects on top of facial recognition.
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 that is well worth the price.
The Intel Core i and NV GPU make up one of the highest performing IPC solutions. The GPU chipset enables multiple applications to run alongside multiple video channels simultaneously. In our testing it supported more than 20 video channels, each capturing more than 500 people per hour. Because of its high performance it does require more power, is more expensive, and has a larger form factor. However, if you need a solution that can run efficiently in large environments this is a great solution.
There are several IPCs on the market that support NVIDIA graphic cards, including Advantech and SuperMicro.
FaceMe is one of the top-rated and most flexible facial recognition tools on the market. It offers the industry’s most comprehensive chipset support, including the configurations outlined above, with optimized system architecture for best performance. We used the VH (Very High) model of FaceMe to examine facial recognition performance on key configuration components (CPU, GPU, VPU). See section 3.5 of our article, Facial Recognition at the Edge - The Ultimate Guide to learn more about our precision models.
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, consider the needs of your specific use case. FaceMe is one of the most versatile facial recognition engines on the market, 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, making it easier to develop new software applications.
Linux: More stable OS than Windows, requiring less computing power. Linux is open source, making it friendlier to developers who want to configure the OS to specific needs and remove unnecessary elements. Linux comes at no extra cost which is another key benefit.
There are many IPC configurations available to engineers and developers when building systems for facial recognition, but the process does not need to be daunting or complicated. When evaluating options it is crucial to first understand your use case, then think about your performance, form factor, extensibility, scalability, and budget requirements.
Once you think you have the right build and design for your use case, we recommend conducting proof-of-concept (POC) projects before installing the application for use. This way you can make improvements and adjustments before fully launching.