Search code examples
azure-cognitive-servicesface-api

Using Face API To Identify Users


I am trying to create the ability to take a picture of a person and locate their user account based on a picture of them. I have 1MM users and each will have a photo which is only of them and will be associate to their user account via the creation of a PersonFace which is added to a Person which is in a PersonGroup. So with 10K persons per Person Group I need about 100 person Groups for me 1MM users.

So once all this is setup I am not clear on how I detect a face given a supplied photo. That is, I know I pass the photo via 'Detect' call however what is returned is an array of Face[] each which include a FaceId and to get from FaceId to a person I must call 'Identify', however that call requires I pass a Person Group Id, but I have 100 of them.

So given this the only solution I can come up with is to call Identify via loop through all 100 group Ids?


Solution

  • Currently, yes, that is the only way to do it. Which obviously makes scanning 1 million persons a less than ideal scenario given the 10 transactions per second limit.

    There are a couple upcoming features which will improve this scenario, but right now I don't have an ETA for them:

    1. Significantly higher limits of Persons per PersonGroup
    2. Additional tiers of the Face API which allow significantly higher transaction per second rate limits.