With recent technological advances, the complicated deep learning problem of face recognition has become mainstream. At the same time, because of its complexity, facial ID isn’t built into the technology. Instead, we see them being used with API providers. So many companies want in on face recognition, it is becoming easier to implement it into your projects. This article will help you decide the best SDK/API for your needs.
SDK or API?
Let’s take a closer look at the two common solutions, Face Recognition SDKs and Face Recognition APIs.
Face Recognition API Pros:
- It is cloud-hosted and can be used on a subscription basis
- It can be accessed from any platform or device
- It is straightforward integrating it into a current codebase
- Simple to change services
- Develop and deploy cross-platform apps
Face Recognition API Cons:
- There is a limit to the number of queries
- There is limited storage capacity for face databases
- You need a reliable network connection
- Dynamic pricing
Face Recognition SDK Pros:
- Come as pre-built libraries or with source code to integrate into an app
- They work offline
- They form one unit with face detection and recognition algorithm
- There is no restriction on the number of queries
- They are suitable for real-time apps
Face Recognition SDK Cons:
- You have to manage the hardware resources
- Licensing fees are pricey
- It’s hard to change services
Now, you can find a summary of some of the most popular Facial Recognitions APIs and SDKs.
Facial Recognition APIs
It will recognise human faces and faces on a picture or video. It comes with great features such as gender, emotion, and ethnicity detection, attention measurement and finding a facial match. With this, comes a high monthly price.
It is a young API, released in 2017. Its advantage is the spoof detection, understanding the difference between a human face and one from a picture. It also provides reusable pieces of code.
Amazon AWS REKOGNITION
Obviously, this is an ideal solution for developers who work with Amazon Web Services. It will analyse images for any type of suspicious content, detect and even select text in images, compare tow faces, and it can scan for emotions.
Face Recognition and Face Detection by Lambada Labs
This is one of the best value APIs so it is a good choice if you want to see if you will benefit from face recognition. You can copy a URL into it and it will tell you which celebrities are present. It will also analyse a picture URL and locate the main facial features.
It only requires a few lines of code for facial recognition and facial detection. It can detect faces from uploaded images and URLs. This is a solid option is you want to use face matching as a password on your app.
Microsoft Face API
On top of detecting and comparing similar faces, this API will organise faces into similar groups. It will identify faces that have already been tagged, provide a score on facial similarity. It can detect one or more human faces and 27 landmarks for a single face. It will also detect a range of emotions.
Animetrics Face Recognition
This API will turn a 2D picture into a 3D model. It will recognise a face by comparing it to a set of faces that already exist until a match is completed.
Face++ recognises, detects, and analyses faces using 2 subsets of 23 and 81 points. It will also recognise age, gender, race, even features like glasses. It uses REST calls and returns JSON. You will need an account but it is worth it if you want to group faces, manipulate faces, create face sets and more.
Google Cloud Vision
As part of the Google Cloud Platform, it is easy to integrate this API if you use Google Cloud Platform products and services. It will detect multiple faces in an image, detect emotions, and other features like headbands. AutoML is available.
IBM Watson Visual Recognition
This is a great API for more than just faces, including objects, food, and colours. It will understand the content of an image, determine age and gender, and find similarities with other photos that have been analysed. You can train it to use classifiers.
Technically, this is not an API, however, it should still be listed. It is a library for computer vision, first written in C/C++, and now offers bindings for Python. With its machine learning algorithms, it will search for faces in an image. There is a huge array of options for developers with more than 3,000 optimized computer vision algorithms.
Facial Recognition SDKs
Developers can build 32-bit and 64-bit apps with Microsoft Visual C++. C#, Objective C, VB, Java, and Delphi. Apps can be developed for the web, Windows, Linus, MacOS, iOS, and Android. Along with facial recognition, there is face-based biometric identification.
We saw it as an API but there is also an offline SDK for iOS and Android. While offline, it won’t offer face recognition, but it does allow for face detection, comparison, tracking, and landmarks, even when the phone has no coverage.
FindFace Enterprise Server SDK by NtechLab
No biometric data is transferred or saved by NtechLab. It can detect faces in live video streams and videos. Using a cross-platform REST API, it can be integrated into any web, mobile, or desktop app.
Kairos Human Analytics SDK
This SDK has been developed for biometric systems and it ensures performance and reliability when used with live face detection. You can also use it for multiple face recognition at the same time, and fast face matching (1-1 and 1-many). It can be stand-alone or implied with web-based solutions, on Windows, Linux, Mac OS X, iOS, and Android.
Insight SDK by Sightcorp
Dedicated to a single-user analysis in controlled environments, Insight SDK detects facial expressions, age, gender, head position and even where the eye is focused. Information can be grouped based on age or gender. It is wise to have knowledge of C++ and Windows OS X, Linux, iOS, and Android are all supported.
There are 3 packages from visageSDK. FaceTrack for 3D head poses facial features, and eye gaze in videos from the camera or other files. FaceAnalysis estimates age, gender, and emotions and will work alongside FaceTrack. FaceRecognition will identify or verify people from images and videos from the face database.
Allowing for real-time emotion detection on iOS, Android, Web, Windows, Linux, MacOS, Unity, and Raspberry PI platforms. It can recognise 7 emotions, 20 expressions, and even 13 emojis. It is able to classify based on age, gender, and ethnicity.
DeepSight by BaseApp Systems
This SDK will detect and recognise faces landmarks and demographics. It can extract 68-point facial landmarks which then carry out pose estimation and face alignment. It will classify age and gender. Recognition and detection can be performed in real-time.
As the popularity of facial recognition grows, so will the number of APIs and SDKs. Each will have its advantages and disadvantages, but you should decide on one that best meets the needs of your project. If you are unsure, take advantage of the free trials that many solutions offer.