Embedded Face Recognition

Embedded Face Recognition is brings the power of the SmartFace’s facial recognition on embedded devices and various platforms. Whether as a easy-to-integrate low level toolkit or a standalone application.


There are two different products under the Embedded Face Recognition use case:

  1. SmartFace Embedded Toolkit

  1. SmartFace Embedded Stream Processor

The SmartFace Embedded Toolkit is a low level SDK bringing facial recognition capabilities, ready for implementation by developers, who can integrate it into their own software as they find fit. This includes various environments for integration, such as cameras, access control terminals, door locks or other OEM hardware.

It is suggested for a system being developed from grounds up. The processing pipeline and the logic of the developed system is in the hands of the developers.

The SmartFace Embedded Stream Processor is an application bringing facial recognition capabilities, that is ready to be used as a standalone application and can also be applied as a module into existing environments and systems.

On top of the facial recognition capabilities it brings optimized pipeline, defined strategies, result streaming messages, watchlist management and other features available right away. Pipeline consists of camera input processing, tracking, face detection, face landmarks detection, face template extraction, face template identification, and sending MQTT messages (notifications) including the metadata, crop images and facial templates to a local or server application.

Inputs and Outputs

Processing the device’s vision as an input is the first step. We are supporting two-way communication between embedded devices and server applications - including the SmartFace. MQTT (MQ Telemetry Transport) protocol is used for communication between a software running on an embedded device (such as a camera or an AI box) and SmartFace Platform running on server/cloud sending face recognition results and metadata (FrameData). It is possible to use the data by custom tools by using a custom MQTT broker. If you don’t want to use MQTT, we support sending the FrameData also using the Websocket protocol in the formats: Protobuf (default), Json, and Yaml. In the case of using the SDK you can write you own data communication system within your own environment, whether the SmartFace is used or not.

Typical Use

Our embedded software is used across several use cases in the embedded world in various markets. Allowing you to easily incorporate powerful facial recognition features into your own custom systems - whether cameras or AI boxes, enabling you to extend your existing systems with cutting-edge facial recognition technology. By leveraging the Embedded Face Recognition, you can enhance your smart cameras and AI boxes with advanced facial recognition capabilities while preserving their existing smart features. This ensures smooth functionality and adaptability, regardless of the setup and environment. It is designed to seamlessly integrate with various platforms, granting you the freedom to optimize your existing systems according to your unique needs.

Another prevalent use case for our software is the concept of bringing computation to “the edge.” By doing so, the processing power of each smart device becomes instrumental in alleviating the burden on central servers. This strategic approach leads to significant enhancements in the architecture of distributed systems, allowing for a more efficient utilization of existing devices. As a result, you can accomplish more with fewer devices, optimizing resource consumption and promoting a cost-effective solution.

Implementing computation at the edge minimizes network requirements, eliminating the need to transmit resource-intensive RTSP streams across networks. Instead, only a small amount of processed data is transmitted over the network, reducing bandwidth consumption and streamlining data flow. This results in a more streamlined and responsive system, offering enhanced performance and improved user experiences.