Monday, 29 Apr 2024
blog

What is the Best Facial Recognition Software to Use in 2022?

What is the Best Facial Recognition Software to Use in 2022?

I checked dozens of free and paid facial recognition services. Here’s what I learned

Original Photo by Andrea Piacquadio from Pexels

After extensively researching the best software for face recognition, I came to the conclusion that almost all the articles currently published are just copied and pasted from advertisements. Even worse, most of these articles recommend outdated libraries and services that are not supported anymore. Some of their suggested solutions can’t even run on modern operating systems!

I promise, this is not one of those articles. I’ve done my best to make a comprehensive list of all the modern face recognition solutions on the market. Surprisingly, half of the promising free solutions only started their active development in 2020! I found it somewhat difficult to adequately study paid solutions for enterprises as they don’t give much information for ordinary people, so I imagine this article will be most useful for small and medium-sized companies, and of course DIY enthusiasts.

Types of Facial Recognition Solutions Available on the Market

The first thing you should know is that there’s a huge variety of facial recognition solutions. Some of them are ready to use without machine learning skills, and others need much more time and expertise.

I would split facial recognition services into three types, each with its own advantages and disadvantages. Let’s take a look:

  1. Software as a Service (SaaS)-based facial recognition engines. In this case, a face recognition service provider handles everything from keeping up with machine learning technology to managing and supporting high-load servers. All you have to do is to integrate the software with your IT systems via an API. Despite their many advantages, these solutions also have lots of downsides. First of all, this is the most expensive option, as everything is handled by the provider. You also need a stable Internet connection, as you will need to send heavy images to a server somewhere on the Internet. There could also be security issues since you have to send your photos to a third-party company and can’t control what they do with them.
  2. Self-hosted REST API solutions. Such systems can be deployed both on premises and in the cloud. They don’t have the same problems as SaaS products. You store data on your own servers (or in your private cloud), so you can control where it goes, and you can even create a system that works offline. Of course, in exchange, you will have to manage the servers on your own, too. But in most cases, servers are delivered as docker containers, so it’s quite easy to orchestrate them. Self-hosted solutions, while not as expensive as their SaaS counterparts, are still pretty pricey. Fortunately, free and open-source self-hosted REST API solutions are beginning to appear. They are not as mature as other solutions, but they are very promising.
  3. Open-source frameworks and libraries. These are typically free, as many researchers are happy to publish the code from their state-of-the-art approaches. Of course, you will need at least some experience with machine learning to use this kind of software. You will also need to spend some time to RESTify it if you want to integrate these solutions with your custom apps. The upside is that you will get a state-of-the-art solution that you know inside and out.

As you can see, it’s important to know your resources. Face recognition used to be very expensive for ordinary people. There are some services that can start at $86.40 per day or go up to $30,000 per year per camera for facial recognition from streaming video (see prices for individual solutions below). This is probably why we only hear about face recognition when the government or big companies make use of it.

But this is less of an issue than it used to be, as there is an increasing number of free options. They are at various stages of maturity, but they’re not just for niche enthusiasts; they’re ready for use at small and mid-sized businesses.

Before we get down to comparing the best facial recognition software, I want to clarify that I’ve chosen accuracy as a key parameter for my research. There are plenty of benchmarks that solutions can use to demonstrate their high standards. Just as there are new face recognition solutions coming to the market every year, the performance benchmarks are constantly changing too. So it’s often difficult to compare even two-year-old solutions with new ones. However, there is one very old, but still popular benchmark: Labeled Faces in the Wild (LFW). Fortunately, all of the solutions on our list shared results from this benchmark, so I was able to compare their accuracy.

This alphabetical list of free up-and-coming solutions will help you get started.

Best Free Facial Recognition Software Solutions to Use in 2022

This is probably the most popular free face recognition library, as it has 45k stars on GitHub. There are two options for using it; you can either use their Python API or their binary command line tool. There are installation instructions for all main platforms and even a docker image for fast set-up. While there are good reasons for its popularity, there are serious downsides you must consider if you want to use it. For starters, the last release was in 2018 (three years in the AI world is a lot), and there are still commits in the repository, but it looks like there are no big improvements. Second, it uses a pretty outdated face recognition model that’s only 99.38% accurate on LFW (we can do better in 2022). Finally, it’s not as easy to integrate with this solution since it doesn’t have a REST API.

2. CompreFace

This solution was only published on GitHub in July 2020 and has just about 2000 stars, but it looks very promising. CompreFace is one of the few self-hosted REST API face recognition solutions on this list — you can start it using just one docker-compose command. Because it has a REST API, you don’t need to be a machine learning engineer to implement it; it’s very easy to integrate it into your system. The solution is scalable, so you can simultaneously recognize faces on several video streams. CompreFace also has a straightforward UI for managing user roles and face collections. It gives a choice between the two most popular face recognition methods: FaceNet (LFW accuracy 99.65%) and InsightFace (LFW accuracy 99.86%). As of the middle of 2022, the latest version is 1.0.0.

3. DeepFace

This framework was published on GitHub in February 2020 and already has about 4,100 stars, probably because it has the same name as Facebook’s DeepFace face recognition method. This library also supports different face recognition methods like FaceNet and InsightFace (among others, but FaceNet and InsightFace are the most accurate). It also provides a REST API, but it only supports verify methods, so you can’t create face collections and find your face among them. Even though it’s quite easy to start if you are a Python developer, it’s pretty complicated for everyone else. As of the middle of 2022, the latest version is 0.0.75.

4. FaceNet

FaceNet is a face recognition method created by Google researchers and the open-source Python library that implements it. The repository has 12,600 stars, and lots of “how to” articles use it as a base library. Even though this method is quite old, some new researchers still use it (most recently for face recognition in masks). The accuracy of this method is quite high (99.65% on the LFW dataset, which is definitely not bad, but it’s not top of the line). The disadvantages of this solution are that it doesn’t have a REST API and that the repository isn’t supported anymore (the last major update was in April 2018).

5. InsightFace

InsightFace is another open-source Python library with 12,100 stars. It uses one of the most recent and accurate methods for face detection (RetinaFace) and face recognition (SubCenter-ArcFace). As of the middle of 2022, this repository is very active. This solution is also very accurate — 99.86% on the LFW dataset. The only disadvantage is that it’s not easy to use. If you’re looking for solutions that use InsightFace, provide a more convenient REST API, and can run from a docker container, try CompreFace and InsightFace-REST.

6. InsightFace-REST

This is another promising repository created in 2019, although active development only started in October 2020. Like CompreFace, this is a docker-based solution that provides a convenient REST API. The biggest advantage is that the developers sped up InsightFace’s recognition by a factor of three! The downside of this solution is that they only provide face embeddings and don’t give the API for actual face recognition, so you’ll need to have your own classifier. Also, the repository still doesn’t have a license, so you’ll need to ask the author if you can use it. The latest version, as of the middle of 2022, is v0.7.0.0.

Post Comment