Best aapproach to re-running Face detection

Started by PierreC, May 03, 2020, 12:55:30 PM

Previous topic - Next topic

PierreC

Hello
I have a number of pictures, most  of them recent and taken with iPhone's, where the initial part of the face solution did not  identify either some faces on the photos (while some faces are) either did not identify any.

To be precised, by "Identify", I mean "Set a green frame around the faces3 (I am not talking about the AI processing then), and I will continue to use this term for this later in the post.

So now, I have (as ex) my 2018 directory (where I have stored all my pictures taken in 2018), approx 3000 pictures. And in it, I have
-pictures where the all faces have been correctly identified
-pictures where some faces have not been identified
-pictures where no faces have been identified while there are faces
-pictures where there is no faces

Considering that the AI has already run for the identified faces, and persons have been assigned, what would you recommend as the best way to fix the situation, while trying to keep as much as possible the face assignments already done.

Thanks

Pierre

Mario

You can run face detection in two modes:

Ignore images with existing face annotations or process all images. There are no other options. Simple is good.
If you have images with mixed results, use manual face annotations in the Viewer. Use the Face Manager to quickly confirm and train. Use the People Filter to find images with potential issues.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

PierreC

Mario
Do you have prebuilt filters for "Pictures with no face annotation"? (so that I can start focusing on those ones)

Mario

People Filter: Filter by State and use the files without faces option.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

claudermilk

I'm implementing the new face features on my database. I have a couple of decades worth of images to chew through, so am getting fairly efficient at this tool now (if I do say so myself).

What I am doing is running face detection on a batch of images--I think the worst has been about 2000. Since I'm adding specific people and am going by category, so far I've been able to then pull the images into the viewer and grab a couple of good examples to train IMatch. From there, I open the face manager on the person I'm working on and confirm as many as possible from those thumbnails. I've also finally figured out opening the source quickly on the questionable ones.

After that, I go back to the viewer and cycle through the images to verify I'm happy with the annotations. With a lot of the faces already detected and confirmed, it's a second to look the move on. I'll focus an annotation square and copy it for later images. On the ones that missed, I'll paste the copied (and pre-defined) box and place it where it needs to be. You can even do this with multiple annotations.

It still takes time and can get tedious. I'm taking it in batches. The almost-daily updates to IMatch are making the tool better and better. For example, now if you have an annotation focused, then move to the next image, the first annotation (or multiples if you had many selected!) are automatically focused. That eliminates the Tab press on many images. I get to the point that I'm having to wait on the RAM cache to refill as often as not.

PierreC


nacho02

Quote from: PierreC on May 03, 2020, 06:01:00 PM
Mario
Do you have prebuilt filters for "Pictures with no face annotation"? (so that I can start focusing on those ones)

I use a filter that checks for an XMP Label (person in image) . If there is something in the label, there are recognized faces. Detected faces do not write anything in the label. So what I do is use a regular expression which negates /*

Detected faces, but not recognized, I deal with from the people manager.

Having said this, I'm only starting to play around with this cool feature, so there probably are better ways of doing this.

Best regards,
Ignacio

Ignacio

Mario

And the filter panel is not working for you why...?
You can find unassigned faces (faces without a person, aka "no label") with the corresponding option.

People Filter
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

PierreC

So trying to summarize how I will work for re-running faces detection
-I will identify all the photos where I have no detected faces (using filter, People, Files without faces)
-I will re-run the face detection on those using the set up "Small Faces" (which from what I read in a post is the set up used when you do it from the viewer)

Now, if I have some pictures where there are faces, where only some have been detected, and where persons have been already assigned, what should I do to detect the other faces while not destroying what has already been done in term of faces detection and person assigned?

Thanks

Mario

-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

PierreC

Due to the amount of such pictures I have, and to avoid going one by one, I was thinking about a possibility to re-run face detection, with "small faces" option, on top of pictures where some faces have been already detected, without overwritting those. It would be the exact function which is available in the viewer, but for a batch (when you are in viewer, with a picture where you have already faces detected, then runing the "detect faces" pops up a message about  "Do you want to add new faces or to redo the whole face detection"

Pierre



Mario

#11
As I explained already above, running a face detection replaces all face annotations in the image. There is no additive 'add more faces' to this image option. This is not how the AI analyzes images to detect faces. It would be technically challenging to do otherwise and would produce many false results.

Either let IMatch re-create all face annotations in the images or process them manually.
There is no other option or workflow.

This is usually not a problem users will face often.
You let IMatch detect faces in images. If the initial step does not find faces because the faces in your images are very small, re-run the initial detection with "optimize for small faces".
Before putting any additional work in, like assigning persons to faces.
The assign persons, maybe add manual face annotations if faces have been missed.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

PierreC

You  are right Mario, I just made a quick check in the viewer. From a picture dislayed in the viewer, if you click "Detect faces",then it proposes you to re-detect from scratch or to add. If you choose add, then it just adds a green rectangle that you have to position and assign (I tought it was different)

Pierre

claudermilk

I'm going through tons of files, and the viewer is still my primary tool. I am running initial detection from the file window using small faces. Then in each batch, I'll try to go into the face manager and confirm as much as i can there. Finally, I'll go into the viewer and run through the files. Many will be a quick look and move on with all faces detected and confirmed. Others will take some more time manually fixing mis-matched faces, unmatched faces, and missed faces (usually obscured, profile, etc). That is as much of a shortcut that I can see with this.

I've resolved myself to the fact that this is a big project and it will take some (a lot of) time. I'm doing bite-sized batches each evening.

Mario

A small (or big) enhancement for this in the next release.

The Viewer no longer automatically triggers face detection when you move, resize or rotate face annotations.
Instead it adds a new button the annotation. You click that button when you're done moving/resizing the annotation. Then face detection for the annotation is performed.

When you have such 'pending' annotations and you close the Viewer or move to another image, the detection is done automatically.

See the corresponding release note: https://www.photools.com/release-notes/
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Tveloso

Nice!

This will make adding, and manipulating manual Face Annotations so much quicker!

Thank you so much Mario!
--Tony

claudermilk

That's great! Because, yes, the automatic re-run of detection can bog the flow down. A question: would there be a way to trigger image-wide detection instead of just the one annotation? Also, a hotkey?

Mario

Not sure what you mean.
To trigger face detection for all pending (moved/resized/rotated) images you only need to switch to another image.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

claudermilk

I mean instead of moving to another image and back after adding or moving multiple face annotations. I guess I'll wait to update and see how this change works.

Mario

When you move/resize/rotate a face annotation manually in the Viewer, it shows a blue check box button.
Click it to re-run face recognition for that face.
If you don't do it, IMatch will when you move to the next time or close the Viewer.

Or do you want an extra feature which allows you to move/resize/rotate any number of face annotations and than run a face detection for all of these?
I doubt that this will ever be needed.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook