This module lets you match a face from an image against a database of faces. You can create and manage such a database with identities, upload photos and associate them with names. So, when you show the system a photo, it can search for a match in the database.
The main module entities are:
- Person. Identity with a name, a set of images and metadata. Metadata is a regular json object specified by the end app. See API docs.
- Image. Photo of Person.
- Group. A set of Persons. You can create any number of Groups, add or remove Persons from them at any time. By default, Person doesn't belong to any Group. Each Person can be a member of many Groups. See API docs.
While searching, you can use the Similarity threshold: The more a person in a database photo looks similar to the person who is being looked for, the higher the similarity will be. By indicating the similarity level, you can cut off obviously dissimilar results or, on the contrary, expand the search area.
In the search result, the similarity score is used for ranking: the higher the similarity level, the more similar the resulting photo is to the one submitted for the search.
You can Group photos in the database and then search by the Group you need. For example, create a "fraudsters" group and look for scammers in it.
Moreover, the horizontal scaling is supported. This means that the search time is guaranteed regardless of the size of the database and the flow of incoming requests. Just make sure to provide the computing power.