Bug 415566 - Use existing face rectangles to improve recognition
Summary: Use existing face rectangles to improve recognition
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Faces-Recognition (show other bugs)
Version: 7.0.0
Platform: Appimage Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-12-25 23:41 UTC by MarcP
Modified: 2019-12-31 20:07 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 7.0.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description MarcP 2019-12-25 23:41:36 UTC
SUMMARY

I have been testing the new face recognition capabilities from the last 7.0 beta. I know that a few faces need to be manually identified for each person before the recognition can work, but I have noticed that only faces which have manually identified after the installation of the 7.0.0 version are used for recognition. All other existing people are ignored.

It would be optimal if the algorithm would also used pre-tagged face rectangles to train each person's dataset. That way, it would benefit from faces tagged in previous digikam versions and faces tagged in other picture software.


STEPS TO REPRODUCE
1. Start from a digikam library where people are already tagged with faces.
2. Detect new faces. Make sure it detects faces of already existing people.
3. Recognize new faces.

OBSERVED RESULT
No faces could be recognized.

EXPECTED RESULT
Existing face rectangles should be used for training face recognition.

SOFTWARE/OS VERSIONS
Ubuntu 18.04LTS with Digikam 7.0.0Beta1 (appimage)
Comment 1 Simon 2019-12-29 20:10:24 UTC
I can confirm this. I previously wrote on the user mailing list that I thought it was fixed on master, however it was just a regression such that the error message did not display anymore (for fix see https://invent.kde.org/kde/digikam/merge_requests/10).

I believe this should be addressed for the final v7.0.0 release, either by incorporating existing faces into the new algorithm (ideal) or at least as a notice with a clear path forward in the release announcement. Someone with a large face collection (which can take quite some time to curate, as I can attest personally :) ) won't be pleasantly surprised if he is told to start over training the model when getting the new release.
Comment 2 Maik Qualmann 2019-12-29 20:34:54 UTC
Hi Simon,

Your access should still be valid. You can execute the merge.

Maik
Comment 3 Maik Qualmann 2019-12-29 21:39:02 UTC
Ok, if you use the current git/master version and enable the checkbox "Delete training data and rebuild" and execute, it should work now.

Maik
Comment 4 Maik Qualmann 2019-12-31 20:07:37 UTC
Git commit 7825abf662ba6257da8a5d680f21d1cb21f607f1 by Maik Qualmann.
Committed on 31/12/2019 at 20:05.
Pushed by mqualmann into branch 'master'.

clear identities, a clean trainings data rebuild is now possible
FIXED-IN: 7.0.0

M  +2    -1    NEWS
M  +3    -0    core/libs/facesengine/facedb/facedb.h
M  +6    -1    core/libs/facesengine/facedb/facedb_identity.cpp
M  +2    -0    core/libs/facesengine/recognition/recognitiondatabase_training.cpp

https://invent.kde.org/kde/digikam/commit/7825abf662ba6257da8a5d680f21d1cb21f607f1