Bug 291514

Summary: Suggestions for improving face recognition performance.
Product: digikam Reporter: Duarte Bruno <duartix>
Component: Faces-RecognitionAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: wishlist CC: caulier.gilles
Priority: NOR    
Version: 3.0.0   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In: 7.0.0

Description Duarte Bruno 2012-01-14 13:43:36 UTC
Version:           unspecified (using Devel) 
OS:                Linux

Digikam's face recognition performance is reported to be well below Picasa's implementation.
Since this is a 2 part problem (face detection + face recognition) I would like to focus on the second one: Recognition.
This is typically a Supervised Machine Learning problem than can benefit a lot from as many information as it can gather or has already gathered before. One source is the image itself (and I've read that it uses OpenCV to extract face characteristics so in this field I have nothing to comment). 
What I would like to suggest is (in case it's not done already) that:
* People already identified on a training set should have their probability boosted for recognition if the date of the test set is very close (I mean we know they were there in the shoot)
* People whose photos are in the same folder as the training set (already identified ones) should have their probability boosted for recognition (because we already manually organize them that way)
* People who tend to cluster in the training set should have their probability boosted for recognition (if there is an unidentified person on a picture where I  already identified my father there is a big chance that it is my mother)
* People whose photos are geographically clustered should have their probability boosted for recognition if the photo is taken in a close location (if the picture was taken in my hometown my parents are mre likely to be in it)

Reproducible: Didn't try

Steps to Reproduce:
NA

Actual Results:  
NA

Expected Results:  
NA

NA
Comment 1 caulier.gilles 2014-08-24 11:58:09 UTC
Since digiKam 3.3.0, Face Recognition algorithm have been fully re-written.

With 4.x serie Face Recognition code have been more stabilized.

Please try with last stable 4.2.0 to see if this file still valid.

Gilles Caulier
Comment 2 caulier.gilles 2015-05-12 13:43:16 UTC
Bruno,

Did you tried  face management from last digiKam 4.9.0 ?

Gilles Caulier
Comment 3 caulier.gilles 2018-01-04 22:59:16 UTC
Git commit 300aa8b31de59661c0f66179abbb50b9f6580d76 by Gilles Caulier.
Committed on 04/01/2018 at 22:51.
Pushed by cgilles into branch 'development/6.0.0'.

turn off option to select the recognition algorithm for faces management.
The default one is DNN always used is Deep learning using Neural Network.
The selection combo box still visible but disabled, in case of users feedback look wrong.
Remove unsused code.

M  +16   -71   utilities/facemanagement/facescandialog.cpp
M  +3    -3    utilities/facemanagement/facescandialog.h
M  +7    -6    utilities/facemanagement/facescansettings.h
M  +1    -1    utilities/maintenance/facesdetector.cpp
M  +3    -3    utilities/maintenance/facesdetector.h
M  +1    -0    utilities/maintenance/maintenancesettings.cpp
M  +3    -3    utilities/maintenance/maintenancesettings.h

https://commits.kde.org/digikam/300aa8b31de59661c0f66179abbb50b9f6580d76
Comment 4 caulier.gilles 2019-12-23 14:54:15 UTC
7.0.0-beta1 is out with new Face Recognition algorithm based on Deep Learning/Neural Network API from OpenCV

https://download.kde.org/unstable/digikam/

Please test and give us a feedback

Thanks in advance
Gilles Caulier
Comment 5 caulier.gilles 2019-12-25 11:03:04 UTC
All point listed in this file description are mostly outdated or implemented with the new deep learning neural network based on opencv and available with 7.0.0-beta1.

I close this file now as it a very old one. If after to test 7.0.0-beta1 new feedbacks must be reported, please open a new file in bugzilla...

Merry Christmas

Gilles Caulier