The recognition threshold can be adjusted by changing the value of header X-RPC-FACES-GROUPING-THRESHOLD. The bigger the value of the threshold the more differences (the distance between faces) SAFR tolerates when considering whether 2 faces belong to the same individual. The smaller the value of the threshold the less differences SAFR tolerates and the more probable that those images belong to the same individual.

By increasing the threshold value, while False Non Match Rate (FNMR) will be decreased, you should also expect the increase in the False Match Rate (FMR). FMR is expected to increase as follows on each value of X-RPC-FACES-GROUPING-THRESHOLD:


By default, X-RPC-FACES-GROUPING-THRESHOLD is set to 0.54.


similarityScore is the match percentage. Range is from zero to above one. Value at or larger than 1.0 means that its a certain match.

Here is how to interpret similarityScore at default threshold of 0.54:

>= 1.00      : Certain match (values > 1.00 are possible indicating even greater certainty)
[0.93 1.00> : Close match but not certain enough to unlock the door
[0.86 0.93> : Possible match with low confidence
[0.82 0.86> : Similar face with no confidence of match
[0.00 0.82> : Different face

Note that changing X-RPC-FACES-GROUPING-THRESHOLD, changes the interpretation of what similarityScore means.

The lower bound for similarityScore is 0 and upper bound is 2 / (2 – sqrt(X-RPC-FACES-GROUPING-THRESHOLD)).  With the default setting of X-RPC-FACES-GROUPING-THRESHOLD at 0.54; the upper bound is 1.581.

Normally changing the value of the X-RPC-FACES-GROUPING-THRESHOLD is not required. If you are using SAFR Desktop, you can use Proximity Threshold Allowance if you want SAFR to return a match at less certainty.