Find similar call with "matchPerson" mode is not actually matching person anymore.

Roshan Giri 0 Reputation points
2025-09-18T08:41:45.94+00:00

I used to get great results with Find SImilar call with "matchPerson" mode.

It was as good as identify call on Person Group, and I need not check the confidence of result as well, as the internal threshold for this mode was enough.

But on some instances I have found it to return extremely poor response with "matchPerson" mode returning completely different person, of different gender, different age and also different race. I would have understood minor errors, but the results were very shocking. Do we now need to filter out based on condifence even with "matchPerson" mode, and if so, why do we even need matchPerson, would not matchFace be enough.

Or has anything changed with how these work recently?

Azure Face
Azure Face
An Azure service that provides artificial intelligence algorithms that detect, recognize, and analyze human faces in images.
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Alex Burlachenko 18,570 Reputation points Volunteer Moderator
    2025-09-18T10:39:21.9633333+00:00

    Hi,

    I'm pretty shocking to hear. when a 'matchPerson' mode returns someone of a completely different gender and race, something is definitely off. that should not be happening...

    first, let's clarify the modes. 'matchFace' just looks for visually similar faces, ignoring identity. 'matchPerson' is supposed to be smarter. it uses a person model to understand the actual identity, filtering out faces that might look similar but belong to different people. it's meant to have that internal threshold you trusted.

    the fact that it's failing so badly suggests something might have changed on the backend. microsoft occasionally updates its underlying ai models to improve accuracy, but sometimes these updates can introduce regressions for specific use cases.

    your immediate fix is to absolutely start checking the confidence score. even with 'matchPerson', you should never treat the top result as absolute without verifying its confidence. set a threshold for your application. what's acceptable? 0.7? 0.8? you will need to test to find the right balance for your data.

    to troubleshoot, try running the same face against your person group using the 'identify' call. does it also return the wrong person with high confidence? if yes, the issue might be with the quality of the faces registered in your person group. if 'identify' works correctly but 'find similar' does not, then the issue is likely isolated to the 'find similar' api.

    finally, please report this behavior to azure support. provide them with example request ids and the specific faces that are causing the poor matches. they can investigate if there's a service side issue or a bug in the current model. your feedback could help them fix it for everyone.

    really hope you get back to those great results soon. that kind of accuracy is why we use these services.

    Best regards,

    Alex

    and "yes" if you would follow me at Q&A - personaly thx.
    P.S. If my answer help to you, please Accept my answer
    

    https://ctrlaltdel.blog/


  2. SRILAKSHMI C 10,805 Reputation points Microsoft External Staff Moderator
    2025-09-18T10:58:32.28+00:00

    Hello Roshan Giri,

    Welcome to Microsoft Q&A and thank you for reaching out.

    Let me clarify how the Find Similar API works with the matchPerson mode, and why you may be seeing different results than before.

    The matchPerson option is designed to return results that the service determines to be the same individual as the query face, based on an internal threshold. In the past, this threshold often allowed customers to rely on the output without additional filtering, as it was comparable in accuracy to using the Identify API with a Person Group.

    That said, there are scenarios where matchPerson may return false positives for example, matching a different gender, age group, or even race. This can happen due to factors like poor image quality (lighting, pose, occlusion), mismatched or outdated recognition models, noisy candidate data, or updates to the underlying service that change how thresholds are applied.

    Because of these factors, we now recommend that customers apply a confidence threshold to the results even when using matchPerson. Doing so ensures you maintain control over what qualifies as an acceptable match for your specific scenario. A common approach is to only accept matches with confidence above 0.7–0.8, but the exact value should be tuned to your business requirements.

    It’s also important to remember the distinction between the two modes:

    matchFace is best if you want visually similar faces, regardless of identity.

    matchPerson is best if you want to detect the same person, but it should now be combined with confidence filtering to ensure accuracy.

    Next steps we recommend:

    Ensure that both query and candidate faces are processed using the same recognition model (e.g., recognition_04).

    Apply a confidence filter to screen out false positives.

    Periodically review your candidate dataset for quality and consistency.

    Test with the Identify API in parallel to validate whether the issue is with your dataset or specific to Find Similar.

    Please refer this Find Similar interface,

    Find Similar Match Mode Enum.

    I Hope this helps. Do let me know if you have any further queries.


    If this answers your query, please do click Accept Answer and Yes for was this answer helpful.

    Thank you!


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.