Rejected face used as trained face

Started by Carbo69, May 13, 2022, 10:34:55 AM

Previous topic - Next topic

Carbo69

I have a strange behavior on the trained faces:
- When I go to the people manager for one person and I display the trained faces, I see that for several people it shows me rejected photos.
- I try to toggle the trained faces and save,but after a while the photo reappears ! It's impossible to remove it from the train faces.

Another behavior that surprises me is that a photo remains in the rejected list of a person "A" even when it has been confirmed that it was person "B".
I would have expected the list of rejected faces to contain only photos of people unconfirmed or unrecognized.

Guillaume

Mario

I suggest you run a database diagnosis as a first step. The Database Diagnosis
Switch IMatch to debug logging and keep the log files of IMatch sessions where you encounter this problem.
See The IMatch Log file for more information.
If IMatch has logged warnings (lines in the log file containing W> or errors (lines containing E>) ZIP and attach the log file to your reply.

I don't recall any user ever having reported a similar issue.

Were the face annotations created in IMatch or imported from some other software?
How and where do you reject faces? There are many ways to do this, so any detail matters.

If you can give me step-by-step instructions for reproducing this, and I can reproduce it here, I can fix it.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Carbo69

The database diagnosis returned no error.
The face annotations are created by IMatch.

I've reproduced the steps with the debug activated, the log is attached:
- go to people view
- select the person in the left list
- open the face manager
- select "show trained faces"
- select the rejected trained face
- click on train (the blue icon disappear)
- click on save
The list is refreshed without the file at first and shortly after another refresh happens and the file is back !

Mario

But under which conditions becomes a rejected face a trained face?
Was the face trained by IMatch, automatically, or did you train it?
Was it trained when you rejected it? Where did you reject it? In the Viewer? Face Manager? Keyboard shortcut or menu?
Rejected faces are usually automatically removed from the person, including being de-trained.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Carbo69

Hard to reply to all these questions, I've just witnessed this behaviour now  ;)

Was the face trained by IMatch, automatically, or did you train it?
- by IMatch

Was it trained when you rejected it?
-don't know for sure. I would say no

Where did you reject it ?
- I reject 90% of faces in the face manager

Rejected faces are usually automatically removed from the person
- It doesn't seem to be the case for me. from the face manager I've selected an unconfirmed face and reject it from person A. It correctly appears as rejected in the list. Now i open the picture in the viewer and confirm the person B. If i go back to the face manager of person A, the picture is still listed as rejected



Carbo69

#5
Ok I've done additionnal tests and it seems clearer to me now.

The only problem, I think, is that rejected faces for person A are not removed when confirmed for person B on my computer.

the file that appears on the "trained list" of the person A was actually trained for person B.
When I go to the face manager of person B it s displayed as trained and i can remove it correctly.
When I go back to person A, it s still displayed in the rejected list but not anymore in the trained list.


Mario

I cannot reproduce this and I'm not sure that I understand what you do, where, and in which order.

A face can only be associated with one person in the database.

I tried to reproduce this as follows:

In the Viewer, I assign and train a face for person A. I check in the Face Manager that the face is shown as confirmed and trained for that person.
I close the Face Manager.
In the Viewer, I assign a person B to the same face.
I open the Face Manager for person B. The face is shown as confirmed and trained.
I open the Face Manager for person A. The face is no longer shown.

In the Viewer, I assign person A to three faces.
I open the Face Manager for person A and see the faces. All confirmed and trained.
In the Face Manager, I assign one of the trained faces to person B. The face is removed from the Face Manager for person A.
I close the Face Manager and open it again for person B. The face is shown as confirmed and trained.
I open the Face Manager again for person A. The face is not shown.

Since I cannot reproduce this, and this was not reported ever before, can you please give me step-by-step instructions what you do to produce this effect?
Be as detailed as possible (see my example above).

If I can reproduce this problem, i can fix it.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Carbo69

ok, let's try again to be clearer  ;)

In the viewer I create a new person A from a face detected by imatch. I check in the face manager that the face is shown as confirmed and trained for that person.
I close the Face Manager.
IMatch detect some unconfirmed faces for person A.
I choose one that is incorrect and reject it from the face manager.
I check that it is correctly displayed in the rejected list of person A
I open the image in the viewer that contains the face and assign it to the correct person B
I go to the face manager of person A. The face is still shown in the rejected list of person A (with "Faces in current scope only" disabled)
I go to the face manager of person B and set this face as trained.
If I go back to person A the file is displayed in the list of "trained faces"

So this behaviour is probably explained by the "faces in current scope only" option but from your previous messages I would have imagined that confirmed faces would be removed from rejected lists of other people to make them cleaner. I assume reject lists are only helpful to prevent IMatch to suggest again previously unconfirmed faces.

Probably not a big deal then but it was a little confusing at first ;)