Bug 432537

Summary: Improve face-recognition accuracy by visually de-selecting "bad faces" to be used within the faces-engine
Product: [Applications] digikam Reporter: cellipo
Component: Faces-WorkflowAssignee: Digikam Developers <digikam-bugs-null>
Status: REPORTED ---    
Severity: wishlist CC: antonio.petricca, caulier.gilles, chrisc.gigamail, iwannaberich, jan.waldhorn, metzpinguin, neoderhacker
Priority: NOR    
Version: 7.2.0   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description cellipo 2021-02-05 14:28:34 UTC
SUMMARY
Tagging people within photos does not always means strictly tagging "faces", furhtermore when it comes to faces, not always the face i would like to tag is "good for recognition" (even thoug it has been detected by the face-detection algorithm) and generally speaking the fact that the section within digikam for people is named "people" means that the tagging action is an act of marking the presence of someone within a photo and not only its face.

When dealing with this kind of tagging at the same time with face-recognition process, the latter is "damaged" (garbage in - garbage out).
Searching within the digikam forums i found that face recognition happens by using only the last 100 confirmed people tags to avoid slowing the face enigne.

It could be really helpful for the common user to know which are the "last 100" tags, i mean visually speaking, and to be able to select/deselect which tags are actually to be ignored within the face-engine (small checkbox in a corner of the face thumbnail?).
With checkboxes also the possibility to "change the 100 limit" could be a bonus (it could become a user choice based on its own hardware capabilities)


STEPS TO REPRODUCE
To be more specific i could do 2 examples:
1) I would like to manually tag someone even though if it is turned back with respect to the camera.
2) I would like to manually tag someone even though the face is completely out of focus, blurred, really dark etc (example old phones)

And then i launch a face recognition process.

As bonus consideration, similar problems arise when child and adult version of same person exist within the images dataset.

OBSERVED RESULT
When doing as above, the result is that the "face-recognition" process will use within its algorithm some "faces" that are "not faces" or such bad quality faces that the final suggestions results become quite poor. 

EXPECTED RESULT
Improve face-recognition accuracy.


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Maik Qualmann 2021-02-05 14:32:32 UTC
The fact that only the last 100 assigned faces are used is no longer available in the current version. We already have the wish to filter for blurred faces.

Maik
Comment 2 cellipo 2021-02-05 14:50:14 UTC
Thanks for the quick reply :)

About the 100 limit: Even if it is not anymore a "limit", still the concept is that a certain number of tagged portions are used to identify a person.
Filtering out the blurred faces still does not solve situations like tagging someone hairs/nape (people turned backwards).

i mean, ok the previous wish you are mentioning is pretty similar in the underlining desire to improve face-recognition but let's keep in mind that I am broadening the concept not only to blurred faces but everything that could make damage to the recognition process.

Francesco
Comment 3 Maik Qualmann 2021-02-05 14:53:58 UTC
There is the possibility to ignore faces with a click on "-" in the "Unknown" tag view of the people view.

Maik
Comment 4 cellipo 2021-02-05 15:03:40 UTC
Maik,
my wish is about people that "I know", and has nothing to do with unknown people.

If i know the tagged guy who is turned on its back what i am supposed to do? i would like to tag it anyway and not ignore the fact that he is turend on its back. I would like to tag it because he as a person is in the photo and not its face.
Comment 5 Maik Qualmann 2022-06-02 17:05:25 UTC
Git commit 5258bccf8eca4ae28ae5075438c1a85bf895d4c5 by Maik Qualmann.
Committed on 02/06/2022 at 17:03.
Pushed by mqualmann into branch 'qt5-maintenance'.

fix wrong accuracy value in face recognition from maintenance dialog
Related: bug 436544, bug 431797, bug 436727, bug 444160

M  +1    -1    core/utilities/facemanagement/database/facescansettings.cpp
M  +3    -1    core/utilities/maintenance/maintenancemngr.cpp

https://invent.kde.org/graphics/digikam/commit/5258bccf8eca4ae28ae5075438c1a85bf895d4c5
Comment 6 Chris 2023-10-17 08:23:06 UTC
(In reply to Maik Qualmann from comment #1)
> The fact that only the last 100 assigned faces are used is no longer
> available in the current version. We already have the wish to filter for
> blurred faces.
> 
> Maik

This is interesting.

I'm tagging a large library from scratch and, like cellipo.at.hotmail.com, I also like to tag people with blurred face and people with their backs turned.

Instead of using the last 100 tags, would it be possible to pick the 100 best tags manually? Should I make this a new feature request?