Bug 498603 - Face detection feature stopped working.
Summary: Face detection feature stopped working.
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Maintenance-Faces (show other bugs)
Version: 8.5.0
Platform: Neon Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-01-13 13:19 UTC by Horacio Sanson
Modified: 2025-01-13 20:43 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 8.6.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Horacio Sanson 2025-01-13 13:19:43 UTC
***
If you're not sure this is actually a bug, instead post about it at https://discuss.kde.org

If you're reporting a crash, attach a backtrace with debug symbols; see https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports

Please remove this comment after reading and before submitting - thanks!
***

SUMMARY

Running detect faces on any collection returns zero faces even for photos where faces are close and clear. This used to work perfectly before.

STEPS TO REPRODUCE
1. Use scan for faces in any collection.
2.
3. 

OBSERVED RESULT

 See there is always zero faces detected.

EXPECTED RESULT

Some faces should be detected.

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
(available in the Info Center app, or by running `kinfo` in a terminal window)
Operating System: KDE neon 6.2
KDE Plasma Version: 6.2.5
KDE Frameworks Version: 6.10.0
Qt Version: 6.8.1
Kernel Version: 6.8.0-51-generic (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 8745HS w/ Radeon 780M Graphics
Memory: 19.3 GiB of RAM
Graphics Processor: AMD Radeon Graphics


ADDITIONAL INFORMATION

I ensured the required binary files are downloaded in `$HOME/.local/share/digikam/facesengine` and in Digikam settings the download button is disabled with a message saying all files on the selected features were found.

Running digikam from a terminal I can see these errors show whenever I run face detect tool on any collection:

```
runner plugins: QList(Marble::CachePlugin(0x57b9c03f6890), Marble::GpsbabelPlugin(0x57b9c03f5d40), Marble::GpxPlugin(0x57b9c03fa250), Marble::JsonPlugin(0x57b9c04fbd60), Marble::KmlPlugin(0x57b9c03fe250), Marble::OsmPlugin(0x57b9c0535a80), Marble::Pn2Plugin(0x57b9c040b2d0), Marble::PntPlugin(0x57b9c0411040))
[ERROR:0@126.286] global ./modules/dnn/src/net_impl.cpp (1168) getLayerShapesRecursively OPENCV/DNN: [Eltwise]:(onnx_node!Add_44): getMemoryShapes() throws exception. inputs=2 outputs=1/1 blobs=0
[ERROR:0@126.286] global ./modules/dnn/src/net_impl.cpp (1174) getLayerShapesRecursively     input[0] = [ 1 64 38 29 ]
[ERROR:0@126.286] global ./modules/dnn/src/net_impl.cpp (1174) getLayerShapesRecursively     input[1] = [ 1 64 38 28 ]
[ERROR:0@126.286] global ./modules/dnn/src/net_impl.cpp (1178) getLayerShapesRecursively     output[0] = [ 1 64 38 29 ]
[ERROR:0@126.286] global ./modules/dnn/src/net_impl.cpp (1184) getLayerShapesRecursively Exception message: OpenCV(4.6.0) ./modules/dnn/src/layers/eltwise_layer.cpp:251: error: (-215:Assertion failed) inputs[vecIdx][j] == inputs[i][j] in function 'getMemoryShapes'

kf.notifications: No event config could be found for event id "FacesDetector" under notifyrc file for app "digikam"
kf.notifications: No event config could be found for event id "FacesDetector" under notifyrc file for app "digikam"
[ERROR:1@143.961] global ./modules/dnn/src/net_impl.cpp (1168) getLayerShapesRecursively OPENCV/DNN: [Eltwise]:(onnx_node!Add_44): getMemoryShapes() throws exception. inputs=2 outputs=1/1 blobs=0
[ERROR:1@143.961] global ./modules/dnn/src/net_impl.cpp (1174) getLayerShapesRecursively     input[0] = [ 1 64 38 29 ]
[ERROR:1@143.961] global ./modules/dnn/src/net_impl.cpp (1174) getLayerShapesRecursively     input[1] = [ 1 64 38 28 ]
[ERROR:1@143.961] global ./modules/dnn/src/net_impl.cpp (1178) getLayerShapesRecursively     output[0] = [ 1 64 38 29 ]
[ERROR:1@143.961] global ./modules/dnn/src/net_impl.cpp (1184) getLayerShapesRecursively Exception message: OpenCV(4.6.0) ./modules/dnn/src/layers/eltwise_layer.cpp:251: error: (-215:Assertion failed) inputs[vecIdx][j] == inputs[i][j] in function 'getMemoryShapes'

kf.notifications: No event config could be found for event id "FacesDetector" under notifyrc file for app "digikam"

```
Comment 1 Michael Miller 2025-01-13 13:41:04 UTC
This is a duplicate of https://bugs.kde.org/show_bug.cgi?id=498281

Hi Horatio,
The issue is caused by an older version of OpenCV on your system.  Please upgrade OpenCV to at least version 4.8.0.  OpenCV Version 4.10.0 is preferred.

Cheers,
Mike

*** This bug has been marked as a duplicate of bug 498281 ***
Comment 2 caulier.gilles 2025-01-13 20:43:51 UTC
Fixed with bug 498281