CompreFace Version 0.5 is Live! Here’s What’s New

Share article


We are happy to announce that we have released CompreFace version 0.5! The new version is available on our GitHub; try it out now!

We added lots of new features, improved scalability, and InsightFace and GPU support. Let’s take a closer look.

JavaScript SDK

Integration with face recognition is even easier thanks to CompreFace JavaScript SDK. It can be used on any JavaScript project. The development kit supports all of CompreFace’s face recognition functionality, including the new ones we introduced in the 0.5 version. Find more information in the SDK repository.

New Services

Before the 0.5 version, our facial recognition software worked in two modes: face identification and face verification through images in the face collection.

We added more services to cover even more situations. Now instead of creating a new face collection, you create a new face service. Face services come in three types:

  • Face recognition — this is what we used to call the face collection, so all of your face collections will be automatically migrated to Face recognition services. The idea is the same — you upload known faces to the face recognition service and then determine whether a particular person’s face is known or unknown.
  • Face verification — this is a new service with new verification functionality. Unlike with the face recognition service, there is no face collection in the face verification service. Instead, you upload two faces simultaneously in a single request and determine how similar they are. This case could be useful if someone shows you their ID and you need to verify this person’s identity without saving face data in the database.
  • Face detection — this is a new service to find all faces in the image. This is useful when you don’t need to recognize the faces; as detection is a simpler operation, it will use fewer hardware resources.

Face Plug-ins

Face plug-ins are a great new feature supported by all face services. By default, face services return only bounding boxes and a similarity if applicable. To add more information in response you can add face plug-ins to your request. To add a plug-in, you need to list each plug-in you want, separated by commas, in the query face_plugins parameter. Supported plug-ins are:

  • Age – returns the estimated range of a person’s age in format [min, max]
  • Gender
  • Landmarks – supported by all configurations and returns five points showing eyes, nose, and mouth
  • Calculator – returns face embeddings

Added Scalability

Join us!

Exadel provides cutting-edge products and services.

Check out our open positions here.

Reach Out

By default, CompreFace is delivered as a docker-compose file, so you can easily start it with one command. However, starting with the 0.5 version, CompreFace can be scaled up to distribute computations on different servers with high availability.

The synchronization between nodes is done via database and allows users to add new face examples and recognize faces simultaneously, without stopping the service.

Clone Face Recognition Service

The clone face recognition service feature is useful for when your system is in production, and you want to see what will change if you add new faces without affecting your application. To clone your face recognition service (formerly face collection), just click on the three dots near it, choose the clone option, and fill the new name in the popup.

Update User Info and Password

We added the ability to update your user information and password. All you need to do is click on the profile image in the right top corner and choose the “change profile” or “change password” option.

Support for Insightface Face Recognition Models

Insightface is a popular face recognition library with state-of-the-art models. By default, CompreFace uses the FaceNet model, which is both accurate and fast. But if you need an even more accurate system, you can run CompreFace from the custom build with other face recognition models that you can find in the release archive. As most Insightface models require more powerful resources, we recommend using them on systems with GPU.

GPU Support

Face recognition speed can be significantly improved by using GPU acceleration. By default, we deliver a CompreFace config that can be used in old systems without GPU, which we did so that as many people as possible could use it. But if you need to increase system speed, you can use one of the custom builds found in the release archive. Right now we only support Insightface models for use with GPU.