What is the Face API service?

The Face API service is a cloud-based service that provides algorithms for analyzing human faces in images and video. The Face API has two main functions: face detection with attributes and face recognition.

Face detection

The Face API can detect up to 64 human faces with high-precision face location in an image. The image can be specified by file (a byte stream) or with a valid URL.

Overview - Face Detection

The face rectangle (left, top, width, and height) indicating the face location in the image is returned along with each detected face. Optionally, face detection extracts a series of face-related attributes such as pose, gender, age, head pose, facial hair, and glasses. For more information, see Face - Detect.

Face recognition

The ability to identify human faces is important in many scenarios including security, natural user interface, image content analysis and management, mobile apps, and robotics. The Face API service provides four face recognition functions: face verification, finding similar faces, face grouping, and person identification.

Face verification

Face verification performs an authentication against two detected faces or from one detected face to one person object. For more detailed information, see Face - Verify.

Finding similar faces

Given a target detected face and a set of candidate faces to search with, the service finds a small set of faces that look most similar to the target face. Two working modes, matchFace and matchPerson are supported. matchPerson mode returns similar faces after applying a same-person threshold derived from Face - Verify. matchFace mode ignores the same-person threshold and returns top similar candidate faces. In the following example, candidate faces are listed. Overview - Face Find Similar The query face is this. Overview - Face Find Similar

To find four similar faces, matchPerson mode would return (a) and (b), which depict the same person as the query face. matchFace mode returns (a), (b), (c) and (d), exactly four candidates even if some have low similarity. For more information, see Face - Find Similar.

Face grouping

Given one set of unknown faces, the face grouping API automatically divides them into several groups based on similarity. Each group is a disjointed proper subset of the original unknown face set and contains similar faces. All the faces in the same group can be considered to belong to the same person. For more information, see Face - Group.

Person identification

The Face API can be used to identify people based on a detected face and a people database. You create this database in advance, and it can be edited over time.

The following figure is an example of a database named "myfriends." Each group may contain up to 1,000,000/10,000 different person objects. Each person object can have up to 248 faces registered.

Overview - LargePersonGroup/PersonGroup

After a database has been created and trained, identification can be performed against the group with a new detected face. If the face is identified as a person in the group, the person object is returned.

For more information about person identification, see the following API guides:

Face - Identify
PersonGroup - Create
PersonGroup Person - Create
PersonGroup - Train
LargePersonGroup - Create
LargePersonGroup Person - Create
LargePersonGroup - Train

Face storage and pricing

Face Storage allows a Standard subscription to store additional persisted faces when using LargePersonGroup/PersonGroup Person objects (PersonGroup Person - Add Face/LargePersonGroup Person - Add Face) or LargeFaceLists/FaceLists (FaceList - Add Face/LargeFaceList - Add Face) for identification or similarity matching with the Face API. The stored images are charged at $0.50 per 1000 faces and this rate is prorated on a daily basis. Free tier subscriptions are limited to 1,000 total persons.

For example, if your account used 10,000 persisted faces each day for the first half of the month and none the second half, you would be billed only for the 10,000 faces for the days stored. Alternatively, if each day during the month you persist 1,000 faces for a few hours and then delete them each night, you would still be billed for 1,000 persisted faces each day.

Sample apps

Take a look at these sample applications that make use of Face API.

Tutorials

The following tutorials demonstrate the Face API's basic functionalities and subscriptions processes:

Next steps

Try a quickstart to implement a simple Face API scenario.