Summary: | digiKam face detection finds no faces | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Jens <jens-bugs.kde.org> |
Component: | Faces-Detection | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | caulier.gilles |
Priority: | NOR | ||
Version: | 4.6.0 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 4.7.0 | |
Sentry Crash Report: |
Description
Jens
2014-09-03 18:50:58 UTC
Jens, I use MACOSX here with macports, and all work fine about face detection. Sound like something is missing on your computer from OpenCV library. Please turn on libkface debug space using kdebugdialog as explained here : https://www.digikam.org/contrib ...and run digiKam from a console to get debug trace when you run face detection. Report trace here... Gilles Caulier I did as you said: - turned on KFACE debug (51005 or something) - started digicam from a console - went to the faces sidebar - clicked on "Search for faces" - selected "detect and recognize" and "delete old training data" in the options - clicked OK - At once I got a small popup window saying the operation is completed and took 00:00:00 seconds. - Also in the "My Tags" sidebar below the face detection button there are no tags, although my photos have lots of tags already. Here is the console output. I don't see anything suspicious except for " digikam(1098)/KIPI (general): Current image collection is not valid. ". What does that mean? jens@linuxkiste:~$ digikam Object::connect: No such signal org::freedesktop::UPower::DeviceAdded(QDBusObjectPath) Object::connect: No such signal org::freedesktop::UPower::DeviceRemoved(QDBusObjectPath) QSqlDatabasePrivate::removeDatabase: connection 'ConnectionTest' is still in use, all queries will cease to work. digikam(1098)/KFACE KFaceIface::SchemaUpdater::startUpdates: Have a database structure version "2" digikam(1098)/KIPI (general): Current image collection is not valid. digikam(1098)/digikam (core): Untreated temporary search type 0 digikam(1098)/digikam (core): Untreated temporary search type 0 digikam(1098)/digikam (core): Untreated temporary search type 0 digikam(1098)/digikam (core): Untreated temporary search type 0 digikam(1098)/digikam (core): Untreated temporary search type 0 digikam(1098)/digikam (core): Untreated temporary search type 0 digikam(1098)/digikam (core): Untreated temporary search type 0 digikam(1098)/digikam (core): Untreated temporary search type 0 digikam(1098)/digikam (core): Untreated temporary search type 0 digikam(1098)/digikam (core): Untreated temporary search type 0 digikam(1098)/digikam (core): Untreated temporary search type 0 digikam(1098)/digikam (core): Untreated temporary search type 0 digikam(1098)/digikam (core): Untreated temporary search type 0 digikam(1098)/digikam (core): Untreated temporary search type 0 digikam(1098)/digikam (core) Digikam::DatabaseCoreBackendPrivate::checkRetrySQLiteLockError: Detected locked database file. There is an active transaction. Waited but giving up now. digikam(1098)/digikam (core) Digikam::DatabaseCoreBackendPrivate::checkRetrySQLiteLockError: Detected locked database file. There is an active transaction. Waited but giving up now. digikam(1098)/digikam (core) Digikam::DatabaseCoreBackendPrivate::checkRetrySQLiteLockError: Detected locked database file. There is an active transaction. Waited but giving up now. digikam(1098)/digikam (core) Digikam::DatabaseCoreBackendPrivate::checkRetrySQLiteLockError: Detected locked database file. There is an active transaction. Waited but giving up now. digikam(1098)/digikam (core) Digikam::DatabaseCoreBackendPrivate::checkRetrySQLiteLockError: Detected locked database file. There is an active transaction. Waited but giving up now. digikam(1098)/digikam (core) Digikam::DatabaseCoreBackendPrivate::checkRetrySQLiteLockError: Detected locked database file. There is an active transaction. Waited but giving up now. digikam(1098)/digikam (core) Digikam::DatabaseCoreBackendPrivate::checkRetrySQLiteLockError: Detected locked database file. There is an active transaction. Waited but giving up now. digikam(1098)/digikam (core) Digikam::DatabaseCoreBackendPrivate::checkRetrySQLiteLockError: Detected locked database file. There is an active transaction. Waited but giving up now. digikam(1098)/digikam (core) Digikam::DatabaseCoreBackendPrivate::checkRetrySQLiteLockError: Detected locked database file. There is an active transaction. Waited but giving up now. digikam(1098)/digikam (core) Digikam::DatabaseCoreBackendPrivate::checkRetrySQLiteLockError: Detected locked database file. There is an active transaction. Waited but giving up now. digikam(1098)/digikam (core) Digikam::DatabaseCoreBackendPrivate::checkRetrySQLiteLockError: Detected locked database file. There is an active transaction. Waited but giving up now. digikam(1098)/KIPI (general): Current image collection is not valid. digikam(1098)/digikam (core) Digikam::ThumbnailCreator::createThumbnail: Cannot create thumbnail for "/run/user/1000/gvfs/smb-share:server=..../2014-06-09 IMG_4756.mp4" digikam(1098)/digikam (core) Digikam::ThumbnailCreator::load: Thumbnail is null for "/run/user/1000/gvfs/smb-share:server=..../2014-06-09 IMG_4756.mp4" digikam(1098)/digikam (core) Digikam::ThumbnailCreator::createThumbnail: Cannot create thumbnail for "/run/user/1000/gvfs/smb-share:server=..../2014-09-06 P1110766.mp4" digikam(1098)/digikam (core) Digikam::ThumbnailCreator::load: Thumbnail is null for "/run/user/1000/gvfs/smb-share:server=..../2014-09-06 P1110766.mp4" ..... Digikam::DatabaseCoreBackendPrivate::checkRetrySQLiteLockError: Detected locked database file. There is an active transaction. Waited but giving up now. ==> your database is locked. Why ? Did you have 2 digiKam instance started. Did you have anther process which open digiKam DB file before digiKam instance (there are few DLNA tool which do it automatically). digikam(1098)/digikam (core) Digikam::ThumbnailCreator::load: Thumbnail is null for "/run/user/1000/gvfs/smb-share:server=..../2014-06-09 IMG_4756.mp4" ==> you use a shared collection through Samba FS. Please try first with a local collection " digikam(1098)/KIPI (general): Current image collection is not valid. ". What does that mean? ==> Don't care. It's not relevant of face management. Gilles Caulier I just installed digikam using the Ubuntu 14.04 PPA, no additional tools that use the digikam db. I also tried with local pictures (actually I have a local images directory added as album in addition to the remote one), same result. What else can I try? The face detection is relevant of OPenCV library. Are you sure that all components are installed on your computer ? In your first trace i can see : digikam(1098)/digikam (core) Digikam::DatabaseCoreBackendPrivate::checkRetrySQLiteLockError: Detected locked database file. There is an active transaction. Waited but giving up now. It's clear here that database file is locked. By what ? I don't know... I remember in a past, an application which share through UPNP digiKam collection on the network. This stand alone application (a service, i sdon't remeber the name) open digiKam DB file. In this case digiKam cannot write something in... File is in read only. Gilles Caulier Jens, Look if this file is not relevant of this bug https://bugs.kde.org/show_bug.cgi?id=337507 ... where Pino Toscano has found a problem with OpenCV Haar cascade files path. Gilles Caulier Hi, I just installed KDE 4.14 with digikam 4.5.0 and still have the same problem. During face detection there is no debug output of KFACE (51005) at all. I have used a local library (some local images) and the database is not locked (no lock error message). I installed "opencv-data" to get the haarcascade files, symlinked the haarcascade directory into "$HOME/.kde/share/apps/libkface/" and restarted digikam with debugging for "digikam" enabled too. When running the face detection I get this in the console: digikam(21591)/digikam (core) Digikam::FaceDetector::slotContinueAlbumListing: false true digikam(21591)/digikam (core) Digikam::FacePipeline::Private::checkFinished: Check for finish: 0 packages, 0 infos to filter, hasFinished() true digikam(21591)/digikam (core) Digikam::FaceDetector::slotContinueAlbumListing: false false digikam(21591)/digikam (core) Digikam::FaceDetector::slotContinueAlbumListing: false true digikam(21591)/digikam (core) Digikam::FacePipeline::Private::checkFinished: Check for finish: 0 packages, 0 infos to filter, hasFinished() true digikam(21591)/digikam (core) Digikam::FaceDetector::slotContinueAlbumListing: false false digikam(21591)/digikam (core) Digikam::FaceDetector::slotContinueAlbumListing: false true digikam(21591)/digikam (core) Digikam::FacePipeline::Private::checkFinished: Check for finish: 0 packages, 0 infos to filter, hasFinished() true digikam(21591)/digikam (core) Digikam::FaceDetector::slotContinueAlbumListing: false false digikam(21591)/digikam (core) Digikam::FaceDetector::slotContinueAlbumListing: false true Still no faces are found and the process finishes in one second. I'm out of ideas. Anything I missed? Thanks! Go to help/Components Info dialog to check : - libkface version. - OpenCV version. Libkface is not integrated with KDEGraphics/libs (it's done for next releases) I seen libkface is compiled and installed as separated package by default on my distro (Mageia). This version is an older one, and do not include all recent fixes done since recent digiKam release (4.3, 4.4, 4.5). Gilles Caulier libkface according to dpkg is "1.0-digikam4.5.0-trusty-ppa1kde414" (from digikam 4.5 Ubuntu PPA). libkface according to Digikam is "3.5.0" (is this the API version?) libopencv according to dpkg is 2.4.8+dfsg1-2ubuntu1. libopencv according to Digikam is 2.4.9 (probably updated by ubuntu). this is the PPA: https://launchpad.net/~philip5/+archive/ubuntu/extra This was solved by reinstalling Ubuntu (without KDE) and installing the `libopencv-photo2.4` package which provides `libopencv_photo.so`. After this, faces on **local** pictures are detected. Unfortunately, the digikam package does not depend on `libopencv-photo2.4`, so this wasn't solved automatically. However, faces on remote albums (SMB share in my case) aren't detected although the share is mounted and the images are accessible. Is this intentional, not yet implemented or can it also be considered a bug? PS: I'm on digikam 4.6, in the mean time. >This was solved by reinstalling Ubuntu (without KDE) and installing the `libopencv->photo2.4` package which provides `libopencv_photo.so`. After this, faces on **local** >pictures are detected. Unfortunately, the digikam package does not depend on >`libopencv-photo2.4`, so this wasn't solved automatically. This is typically a packager problem, not a digiKam/libkface problem. Please report this problem to your distro team. Note : OpenCV is a big puzzle (weird puzzle). Packager must take a care about packaging a linking rules set on client system. >However, faces on remote albums (SMB share in my case) aren't detected although the >share is mounted and the images are accessible. Is this intentional, not yet implemented >or can it also be considered a bug? We have never tested with remote collection through the network. If device is mounted in local on your system with good access right, this must work as expected. Gilles Caulier > We have never tested with remote collection through the network.
Please do. It is weird, sometimes it works, sometimes no images are found. Also there are strange delays when viewing images (sometimes digikam freezes completely for 20 seconds with no network activity).
|