Matching is a comparison of two biometric templates. The result of the comparison is a matching score. The matching score of the two biometric templates represents a degree of similarity between these templates. In SmartFace Platform, matching is performed when a detected face is being identified against people registered in a watchlist.

SmartFace Platform allows you to create multiple watchlists and easily register people (watchlist members) in them. You can register watchlist members by uploading their face image together with their name and other information. During the registration of a member in a watchlist, SmartFace Platform automatically generates a biometric template from the provided image. This template is used for identification in the matching process.

Templates are also automatically generated from faces detected on live video streams and uploaded videos. These generated templates are automatically compared (matched) against all templates previously registered in all your watchlists. SmartFace Platform can perform thousands of comparisons within few milliseconds. Therefore, you can register thousands of watchlist members and the identification will still take just a few milliseconds.

Matching explained

Matching is automatically executed on live video streams and uploaded videos. By default, matching isn’t executed on images. However, it is possible to manually perform matching on uploaded images through the REST API.

Matching score

During matching, a detected person is automatically compared with all persons already registered in watchlists. The result of the face template comparison (matching) is a matching score ─ the higher the score, the higher the similarity of the two compared faces. In SmartFace Platform, the matching score can have a value between 0-100.

ℹ️ The matching score isn't represented as a percentage. The number represents the aggregated comparison of more than 500 facial features. The correlation between the score and similarity has a logarithmic course.

Matching threshold

SmartFace decides whether the compared persons are matched or not based on a user-defined threshold for the matching score. The matching score that is equal or above the defined threshold is considered a match. Any matching score below the matching threshold value is considered a no-match. In case when a person matches with multiple watchlist members only the highest score is considered as a match. The default value for the threshold in SmartFace Platform is 40.

In the following example, SmartFace compares face templates of detected persons with templates from the watchlist. The decision if these pairs are a match or a no-match, depends on the value of the matching threshold. In this case the user chose the threshold value 40. Compared face templates with the matching scores 85 and 78 are considered as matches. Compared face templates with the matching scores 38 and 12 are considered as no-matches.

Finding the right value for threshold can vary case to case, as it depends on several aspects like size of the watchlist, quality of the detected faces, size of the detected faces, etc. Therefore, we recommend performing some fine-tuning to set the right value for your use case.

Please consider these factors when setting a value for the matching threshold:

Treshold valueProsCons
HigherHigher security, because of the lower rate of false match.Can cause too strict security, as only high quality images will be matched. As a result, SmartFace may conclude that a person doesn't match their enrolled image in the watchlist even if they actually do.
LowerHigher convenience, because of the lower rate of false reject.Can cause lower security, because of a higher rate of falsely matched persons. As a result, SmartFace may conclude that a person matches an enrolled image in the watchlist even if they actually don't match.