DEV Community

Cover image for Which Face Detection API to choose for your project?
Eden AI
Eden AI

Posted on • Originally published at edenai.co

Which Face Detection API to choose for your project?

This article is brought to you by the Eden AI team. We allow you to test and use in production a large number of AI engines from different providers directly through our API and platform. You are a solution provider and want to integrate Eden AI, contact us at: contact@edenai.co

In this article, we are going to see how we can easily integrate a Face Detection engine in your project and how to choose and access the right engine according to your data.

Definition:

Face detection is AI-based computer technology that is used to extract and identify human faces from digital images. Face detection technology uses machine learning and algorithms in order to extract human faces from larger images; such images typically contain plenty of non-face objects, such as buildings, landscapes, and various body parts.

History:

The earliest pioneers of facial recognition were Woody Bledsoe, Helen Chan Wolf and Charles Bisson. In 1964 and 1965, Bledsoe, along with Wolf and Bisson began work using computers to recognise the human face.

It wasn’t until the late 1980s that we saw further progress with the development of Facial Recognition software as a viable biometric for businesses. In 1988, Sirovich and Kirby began applying linear algebra to the problem of facial recognition.

In 1991, Turk and Pentland carried on the work of Sirovich and Kirby by discovering how to detect faces within an image which led to the earliest instances of automatic facial recognition.

Face Recognition Grand Challenge (FRGC) was launched in 2006 in order to promote and advance face recognition technology designed to support existing face recognition efforts in the U.S. Government. The FRGC evaluated that the new algorithms were 10 times more accurate than the face recognition algorithms of 2002 and 100 times more accurate than those of 1995, showing the advancements of facial recognition technology over the past decade.

Since the 2010s, Facebook, Apple, Amazon, Google, and other big tech companies developed their own Face detection engines, and face detection is democratized in numerous fields.

Use cases:

You can use Face Detection in numerous fields, here are some examples of common use cases:

  • advertising: face detection has the ability to make advertising more targeted by making educated guesses at people’s age and gender
  • healthcare: face detection can be used to diagnose diseases that cause detectable changes in appearance
  • marketing: face detection can be used to count the number of people (affluency) and see if people are smiling or not, young or old, male or female, etc.
  • other facial extraction: analyze crowds face features like: eyes color, nose, mouth, skin color, hair style and color, etc.

The Multi cloud approach

When you need a Face Detection engine, you have 2 options:

  • First option: multiple open source Face Detection engines exist, they are free to use. Some of them can be performant but it can be complex to set up and use. Using an open source AI library requires data science expertise. Moreover, you will need to set up a server internally to run open source engines.
  • Second option: you can use engines from your cloud provider. Actually, cloud providers like Google Cloud, AWS, Microsoft Azure, Alibaba Cloud or IBM Watson are all providing multiple AI engines often including Face Detection. This option looks very easy because you can stay in a known environment where you might have abilities in your company and the engine is ready-to-use.

The only way you have to select the right provider is to benchmark different providers’ engines with your data and choose the best OR combine different providers’ engines results. You can also compare prices if the price is one of your priorities, as well as you can do for rapidity.

This method is the best in terms of performance and optimization but it presents many inconveniences:

  • you may not know every performant providers on the market
  • you need to subscribe and contract with all providers
  • you need to master each providers API documentation
  • you need to check their pricings
  • You need to process data in each engine to realize the benchmark

Here is where Eden AI becomes very useful. You just have to subscribe and create an Eden AI account, and you have access to many providers engines for many technologies including Face Detection. The platform allows you to benchmark and visualize results from different engines, and also allows you to have centralized cost for the use of different providers.

Eden AI provides the same easy to use API with the same documentation for every technology. You can use the Eden AI API to call Face Detection engines with a provider as a simple parameter. With only a few lines, you can set up your project in production:

Test and API:

Here is the code in Python (GitHub repo) that allows to test Eden AI for face detection:

Image description
Eden AI SDK for Face Detection

Image description
Eden AI SDK for Face Detection

Platform:

Eden AI also allows you to compare these engines directly on the web interface without having to code:

Image description
Eden AI Platform for Face Detection

Image description
Eden AI Platform for Face Detection

Conclusion:

There are numerous NER engines available on the market: it’s impossible to know all of them, to know those who provide good performance. The best way you have to integrate NER technology is the multi-cloud approach that guarantees you to reach the best performance and prices depending on your data and project. This approach seems to be complex but we simplify this for you with Eden AI which centralizes best providers APIs.

Top comments (0)