Digikam: face recognition won't work

Hi all,
I’m a longtime Digikam user, with a collection of several tens of thousands of (family) pictures. Since my upgrade to TW, and Digikam 5.5.0 I gave face detection & face recognition a try.
Face detection is working well: when there is a face in the picture DK can see it is ‘a’ face.
But DK should be able to do face recognition as well: after tagging some pics with my name when my face is on it, DK should be able to find specifically my face in the collection of ‘unknown’ faces.
However, when a start a proces ‘recognise faces’, it runs for less then a second, then exits without results.
I’ve tried rebuilding the training database (translated from Dutch, so maybe not literally the name), but that doesn’t change a thing.
CLI says:

digikam.general: "Face Detection Dialog"
digikam.general: "Face Detection Dialog"
digikam.facesengine: Face database ready for use
digikam.general: Face PipeLine: add recognition worker
digikam.general: Face PipeLine: add database writer
digikam.general: Total is 1
digikam.general: false false
digikam.general: Using  4  CPU core to run threads
digikam.general: Action Thread run  1  new jobs
digikam.general: false true
digikam.general: One job is done
digikam.general: Check for finish:  0 packages, 0 infos to filter, hasFinished() true
digikam.general: false false
digikam.general: Event is dispatched to desktop notifier through DBUS

So, no error or leads.
Does anyone have a clue?

Digikam 5.5.0
KDE Frameworks 5.34.0

  • Qt 5.9.0 (build against 5.9.0)
  • xcb
    windowsystem - libopencv

Could you first explain how you let DK do face recognition. I’d love to help out, but can’t find the way to do this.

Sorry for my late reaction; apparently the mailnotification upon an answer doesn’t work…

I could explain in words, but better is to have a look at this youtube video:
Ignore the kdevelop-window, and pay attention from 01:00, here the part face detection is demonstrated.
You see how DK detects faces and how the user adds 2 names to 2 faces.
Then at 02:20 the face recognition is started (and this doesn’t work for me):
DK scans the (previous) unknown faces, and tags them with the right names.
Great feature, give it a try.
(and when you find a clue that can help me, please let me know)

AFAIK, the face recognition does indeed not work very well currently because of limitations in the current implementation in libkface.
At least the kphotoalbum developers disabled it by default for that reason:

KPhotoAlbum 5.1 released20 Dec 2016 18:14 +0000
We are very pleased to announce the new release KPhotoAlbum 5.1. The following things are new:
Changes on the face managementUsing the face detection and face recognition ourselves, we sadly had to realize that the current state of the implementation is not really suitable for productive use. The detector finds some faces, but only the straight-up front ones, and some not. The recognizer recognizes some person, but in most of the cases, it’s not correct.
In our defense, it’s not our code that doesn’t do the job really good, it Digikam’s libkface that we use. What we wrote is just what’s necessary to use it. We can’t rant about libkface though, because we can’t do it better.
However, there does not seem to be an Open Source face detection and face recognition library that works really good. So we reluctantly decided that, at this time, the whole face thing is simply not suited for public consumption, yet. We really hope that this will change in the future.

We did not remove the code, but we did “hide” it behind a cmake flag. The default build will not compile the face management code anymore. If you want it, you have to set the ENABLE_PLAYGROUND flag. So either, it’s up to you to decide if you want it or not (if you use a distribution like Gentoo), or it’s up to your distributor.

(taken from News | KPhotoAlbum)

I think you are better off to discuss this on the digikam mailinglist though: