SUMMARY When running face detection on an album with photos with people’s faces visible, no faces are detected. This error is logged: [ERROR:0@14,429] 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' STEPS TO REPRODUCE 1. Start digikam from a terminal 2. Right-click on an album and select “Scan for Faces” OBSERVED RESULT No faces are detected. Face detection appears to be starting. The progress bar shows that photos are processed one by one. In the end a popup appears: Items scanned for faces: 4 Faces processed: 0 Where “4” is the number of photos in the album and “Faces processed” is always 0. These messages are logged once for every photo: [ERROR:0@15.822] 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@15.822] global ./modules/dnn/src/net_impl.cpp (1174) getLayerShapesRecursively input[0] = [ 1 64 29 38 ] [ERROR:0@15.822] global ./modules/dnn/src/net_impl.cpp (1174) getLayerShapesRecursively input[1] = [ 1 64 28 38 ] [ERROR:0@15.822] global ./modules/dnn/src/net_impl.cpp (1178) getLayerShapesRecursively output[0] = [ 1 64 29 38 ] [ERROR:0@15.822] 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' EXPECTED RESULT Faces should be detected and known persons should be recognized if possible. SOFTWARE/OS VERSIONS Digikam: 4:8.5.0-1+b1 Linux: Debian testing “trixie” KDE Plasma Version: 6.8.0-1 KDE Frameworks Version: 6.8.0-1 Qt Version: 6.7.2+dfsg-5 OpenCV (packages libopencv-core406t64 libopencv-dnn406t64 libopencv-imgcodecs406t64 libopencv-imgproc406t64 libopencv-ml406t64 libopencv-objdetect406t64): 4.6.0+dfsg-14+b2
The OpenCV version 4.6 used in Debian is too old. The new SFace face recognition used in digiKam-8.5.0 requires at least OpenCV-4.8. Maik
Git commit 4d754e1416bd18641a667cf24c2e9b36856497d5 by Maik Qualmann. Committed on 05/01/2025 at 15:37. Pushed by mqualmann into branch 'master'. set OpenCV-4.8.0 as minimum version FIXED-IN: 8.6.0 M +1 -1 core/CMakeLists.txt https://invent.kde.org/graphics/digikam/-/commit/4d754e1416bd18641a667cf24c2e9b36856497d5
*** Bug 498603 has been marked as a duplicate of this bug. ***
Thank you! This got fixed in the Debian package version 4:8.5.0-3 (currently experimental) by increasing the OpenCV dependency to 4.10.