Persistent Facial Recognition Management for Immich

Edit: Looks like the immich devs are also making chnages to get to a point where the facial data is not lost. So this feature request can be closed I suppose - refer to this PR: https://github.com/immich-app/immich/pull/12335

This might sound like a weird or niche request. There could definitely be better ways to do it.

Problem:

If the face detection model in Immich is changed, the entire job needs to be rerun. But the problem is, all the information we added (Name, DOB) is lost in that process. We need to restart that whole time consuming work.

Solution:

Say Immich-power-tools has a GUI for us to easily upload/add the following information - which is then stores in its own database or something

  • Name of an individual

  • A collection of curated images that belong to that individual (option to select it from what we have on immich currently OR upload it via the browser).

    • I also thought about using .vcf (contact cards), but the issues I see is -> we cant have more than one image in that contact card. I was thinking that adding a couple of images, and even some that a span course of years (childhood, teenage, adulthood etc.) might make sure all the images of that individual are captured.

    • The requirement can be that the images should only have one face -> If not the GUI can ask them to crop the image.

    • Note: Power tools will need to copy these images into its own database - because if a user starts Immich fresh, power tools need not have a dependency there.

  • Date of birth (DOB) of that individual.

Now, immich power tool needs to:

  • Get the clip embeddings of these curated images from Immich

  • Then compare it against all the other images in Immich's database -> to create all the individuals automatically.