Trueface Visionbox: faster, more accurate, and more secure

Mason Allen
Feb 12 · 4 min read

We’re particularly excited to announce the latest release of Trueface Visionbox, our containerized computer vision solution that can be easily accessed by anyone who knows how to make a REST API call.

Red rectangles are images detected with our old face detector, the green ones are using the new face detector.

A New Core

The improvements to the latest release of the Visionbox laid out in detail below can be attributed to a change at the very core of the dockerized container. Previous Visionbox releases were built around Python which is technically accessible but drags in speed. The new release (Version 0.7.6) is built around our standard commercial C++ SDK, featuring improved AI models, resulting in faster and more accurate results.

Better Face Detection

Our latest face detection model performs significantly better at detecting faces which means we can detect more faces in a number of challenging conditions such as low light, low contrast, and small face sizes. This improvement broadens the scope of cameras suitable for performing face detection. As you see in the screenshot above, the latest version is detecting more than twice as many faces in compromised lighting conditions.

Better Face Recognition

Our face recognition model has seen significant improvements as well. The graph below is a Detection Error Tradeoff (DET) plot and visualizes the overall performance of a model by plotting the false-negative rate against the false positive rate. A lower curve on the DET plot indicates better performance because it means that at the operating threshold used to obtain the specified false positive rate (x-axis), there are fewer false negatives (y-axis). As can be seen below, the new TFV4 model outperforms TFV2 at all operating thresholds (be mindful that the axis scales are logarithmic).

The box-and-whisker plot below shows the distribution of false non-match rates of all competing NIST (National Institute of Standards and Technology) FRVT 11 (Face Recognition Vendor Test) algorithms at the specified false match rates. Lower is better, red is the previous submission, teal the most recent one.

Documented improvements in several NIST FRVT 11 categories. Dotted teal lines represent our latest submission to the NIST FRVT 11 competition. Dotted red lines represent the previous submission.

Faster Runtime Speeds

Through a number of improvements in the matching algorithm as well as compression and changes in data storage, we were able to significantly reduce our runtime for the different aspects of the SDK including face recognition and 1:N search across large datasets.

To put this in perspective, the latest release can identify one face out of 1M in 10 milliseconds on an x86 CPU.

Usability Features

Opt-in User Authentication

The Visionbox now has a user management system. It is now possible to register and log in as new users and receive authentication and refresh tokens for all further requests. This authentication mechanism is entirely optional. As long as no users are registered, no restrictions apply. As soon as the first user is registered, only registered and authorized users will be allowed to make requests to Visionbox endpoints.

Opt-in IP whitelists

We now also support restricting access based on IP and subnet addresses. This is also an opt-in feature. As long as no IP address or subnet range is defined in the whitelist, we allow unrestricted access. The moment the first IP or address range is defined, only requests from addresses matching that list are allowed access.

Automatic saving of the user database

The user database is periodically written to a mapped directory for easy backup and reload if a container needs to be restarted.

Other Improvements

AVX2 optional

We now support running the Visionbox on CPUs that do not have the AVX2 instruction set. Although you will see significant speed improvements using a CPU that does support AVX2 (about 3 times faster with AVX2 vs AVX).

In Summary… TL;DR

Built as a dockerized container, Trueface Visionbox has always been easy to get started with and integrate into existing products and solutions. In this latest release, we changed the core SDK engine from Python to C++, which has also benefited from upgrade AI models. This has resulted in faster, more accurate face detection and recognition. We’ve also made the Visionbox more secure with opt-in authentication and IP whitelists. Current users can download the latest release here. If you’re interested in building Trueface Visionbox into your product or solution, please drop us a line.

Special thanks to Trueface engineers Manuel Seelaus and Cyrus Behroozi.

Trueface

For a safer and smarter world.