Bug 502924

Summary: Don't suggest a rejected face match again
Product: [Applications] digikam Reporter: HubMiner <cal030>
Component: Faces-WorkflowAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles, michael_miller
Priority: NOR    
Version First Reported In: 8.6.0   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed/Implemented In: 8.7.0
Sentry Crash Report:

Description HubMiner 2025-04-17 11:21:17 UTC
While in People mode - Unconfirmed or Unknown mode, 

if a match was previously rejected against specific faces (so need to keep track),
that should not be a suggested match for that face again.
Comment 1 caulier.gilles 2025-04-17 12:26:01 UTC
Hi Michael,

I think your current work is about this topic. Right?

Gilles
Comment 2 Michael Miller 2025-04-17 12:56:38 UTC
(In reply to caulier.gilles from comment #1)
> Hi Michael,
> 
> I think your current work is about this topic. Right?
> 
> Gilles

Hi Gilles,
Yes, this code is complete. It will be ready for user testing once it is merged.

Cheers,
Mike
Comment 3 Michael Miller 2025-04-18 10:55:16 UTC
Git commit 499d41cee5f7422e9951ed9c097d898568f7046d by Michael Miller.
Committed on 18/04/2025 at 10:55.
Pushed by michmill into branch 'master'.

Save rejected face data

Save rejected face tags and exclude the tags from being used during face classification (matching).

This MR does not include code to write the rejected face tags to the item metadata.  That will be a different MR in the next several days.

This MR does not include the ability to clear the reject face data. That will be a different MR in the next several days.
Related: bug 502219, bug 444394, bug 432207, bug 415783

M  +5    -0    core/libs/database/coredb/coredbconstants.cpp
M  +1    -0    core/libs/database/coredb/coredbconstants.h
M  +137  -13   core/libs/database/tags/facetagseditor.cpp
M  +15   -3    core/libs/database/tags/facetagseditor.h
M  +135  -28   core/libs/database/tags/facetagsiface.cpp
M  +52   -6    core/libs/database/tags/facetagsiface.h
M  +29   -28   core/libs/facesengine/recognition/faceclassifier.cpp
M  +17   -11   core/libs/facesengine/recognition/faceclassifier.h
M  +2    -0    core/libs/facesengine/recognition/faceclassifierbase.cpp
M  +2    -0    core/libs/facesengine/recognition/faceclassifierbase.h
M  +35   -36   core/libs/facesengine/recognition/identityprovider.cpp
M  +4    -1    core/libs/facesengine/widgets/facescansettings.cpp
M  +8    -6    core/libs/mlfoundation/mlclassifierfoundation.h
M  +4    -3    core/libs/tags/autoassignment/classifiers/minmax/autotagsclassifierminmax.cpp
M  +10   -8    core/libs/tags/autoassignment/classifiers/minmax/autotagsclassifierminmax.h
M  +9    -5    core/libs/tags/autoassignment/classifiers/multiclassyolo/autotagsclassifiermultiyolo.h
M  +5    -3    core/libs/tags/autoassignment/classifiers/softmax/autotagsclassifiersoftmax.cpp
M  +10   -8    core/libs/tags/autoassignment/classifiers/softmax/autotagsclassifiersoftmax.h
M  +25   -0    core/utilities/facemanagement/database/faceutils.cpp
M  +10   -1    core/utilities/facemanagement/database/faceutils.h
M  +44   -20   core/utilities/facemanagement/pipelines/detectrecognize/facepipelinedetectrecognize.cpp
M  +73   -39   core/utilities/facemanagement/pipelines/edit/facepipelineedit.cpp
M  +7    -0    core/utilities/facemanagement/pipelines/edit/facepipelineedit.h
M  +15   -0    core/utilities/facemanagement/pipelines/facepipelinebase.cpp
M  +1    -0    core/utilities/facemanagement/pipelines/facepipelinepackagebase.h
M  +27   -29   core/utilities/facemanagement/pipelines/recognize/facepipelinerecognize.cpp
M  +1    -0    project/bundles/homebrew/02-build-extralibs.sh
M  +2    -0    project/bundles/homebrew/03-build-digikam.sh
M  +11   -8    project/bundles/homebrew/config.sh

https://invent.kde.org/graphics/digikam/-/commit/499d41cee5f7422e9951ed9c097d898568f7046d