FaceId's when indexing multiple face images of same person


Hi there,

I am not understanding how Rekognition deals with multiple images for the same face, I need help!


  • I have 3 years worth of school classroom photos and need to create yearbook of 5 of the students
  • I need to identify which photos have only the 5 students in them, and ignore all others.

To enhance the accuracy, I was reading the documentation that recommends to use multiple images of the same face when using IndexFaces.

When creating a collection using IndexFaces, use multiple face images of an individual with different pitches and yaws (within the recommended range of angles). We recommend that at least five images of the person are indexed—straight on, face turned left with a yaw of 45 degrees or less, face turned right with a yaw of 45 degrees or less, face tilted down with a pitch of 30 degrees or less, and face tilted up with a pitch of 45 degrees or less

I think I get this by default as I will be indexing all images, which will contain many many images of the students, from all angles. This is correct, no? Or do I need to do something specific to tie the photos of the same student to the one FaceId?

I noted that if I use 5 images of the same person, using IndexFaces, I get 5 different FaceIds returned. I thought (perhaps incorrectly) that Rekognition would recognise that it's the same face and just update it's internal data about the FaceId, and return the same FaceId for each of the subsequent 4 images (after the first one is indexed) that are of the same face.

So, can anyone help me:

  1. Should indexing multiple images of the same person result in multiple FaceIds?

  2. Internally, does Rekognition group all those FaceIds together, so it does not matter which FaceId I use in the future to search on - it will still benefit from the multiple images I uploaded for that face?

  3. Is there any difference in performance if I search by SearchFaces or by SearchFacesByImage

  4. Is my approach of indexing all the images I have, then searching on a single known FaceId a the student the way to go?

sorry for multiple questions :)

hope you can help, hive mind!

asked 8 months ago70 views
1 Answer

Code snippets are available in the following URLs At a very high level you would need to: a) https://docs.aws.amazon.com/rekognition/latest/dg/create-collection-procedure.html (create the collection) b) https://docs.aws.amazon.com/rekognition/latest/dg/add-faces-to-collection-procedure.html (add your 3 years worth of photos to the collection) c) https://docs.aws.amazon.com/rekognition/latest/dg/search-face-with-image-procedure.html (to search for photos that has at least student 1 .. 5) Note: You would need to have a good reference face image for each of the Students 1 .. 5 d) Persist the image URLs and tag with the matched student ID to a DynamoDB table e) You can find the images where any combination of the students appear.

Hope this helps.

answered 8 months ago
  • this is the bit I'm struggling with: you would need to have a good reference face image for each of the Students - this is what I am attempting to do, and really the purpose of my question. How do I tell Rekognition that it is a reference image? can you elaborate on that point please? Apart from uploading multiple images of the same person (which I am doing by uploading all the photos), what special thing do I need to do, to tell Rekognition these are 'reference images'? thanks !

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions