Bug 402322

Summary: During face detection, the "People" / "Unconfirmed" (or "Unknown") tab content keeps jumping around
Product: [Applications] digikam Reporter: Jens <jens-bugs.kde.org>
Component: Faces-WorkflowAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: bugs.kde, caulier.gilles, dirk.varding, el_schalo, griffiths_andy, iwannaberich, joseph, kamu, kde, martin.tlustos, metzpinguin, sven.burmeister, yohan.farouz_digikam
Priority: NOR Keywords: efficiency
Version: 7.0.0   
Target Milestone: ---   
Platform: Appimage   
OS: Linux   
Latest Commit: Version Fixed In: 8.0.0
Sentry Crash Report:

Description Jens 2018-12-18 19:55:53 UTC
SUMMARY
see $subject

STEPS TO REPRODUCE
1. Start face detection, watch new faces appear in the "unknown" (or "unconfirmed") area.
2. try to confirm or change face names while detection is running

OBSERVED RESULT
When a new face is detected, the screen scrolls suddenly or the content jumps around.

EXPECTED RESULT
The content should not move, at least while the mouse cursor is inside the main area, or the user is editing a name field. Otherwise users run the risk of deleting or modifying the wrong face, and it is very hard to find it again and correct the mistake (usability hell).

Running most current KDE 5.14.4 Plasma on KDE Neon, with Digikam 6.0-beta3 appimage as of 20181215.
Comment 1 caulier.gilles 2019-03-20 15:15:55 UTC
After 3 weeks of work, i finally completed the compilation of AppImage using Qt
5.11.3 + QWebkit 5.212.

New 6.1.0 pre-release AppImage bundle can be found here (64 bits only for the
moment) :

https://files.kde.org/digikam/

Please check if this bugzilla entry still valid.

Thanks in advance

Gilles Caulier
Comment 2 caulier.gilles 2019-12-23 15:20:12 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 3 MarcP 2019-12-25 22:02:04 UTC
I can confirm this bug is still present in 7.0.0beta1. While digikam is working detecting or recognising faces, the face list moves constantly (I guess faces are being added or removed), and it is impossible to type a name, since the text box loses focus every second or so. This sometimes leads to accidentally tagging the wrong face.
Comment 4 MarcP 2019-12-25 23:52:26 UTC
I have narrowed it down a bit.

When tagging people in the Unknown category, it is fine unless digikam is actively writing metadata to files. For instance, when you select a few faces and enter their name, it will write the changes to these files, which takes a few seconds. If meanwhile you try to select and write someone else's name, digikam will move the selected face around and it will lose the focus, so you cannot finish entering its name.

But it's much more pronounced while face recognition is in process. Either in the Unknown or Unconfirmed categories, it is impossible to type any name. Faces flicker and they are selected and deselected very fast (several times a second).
Comment 5 MarcP 2020-01-06 18:36:13 UTC
I have found another weird behavior related to this topic, so I'll try to report it here before I forget.

Sometimes, while digikam is in process of detecting or recognizing faces (not sure which one), and you select several faces in the People panel ("unknown" category), some of the selected faces "jump", so another face gets selected.

e.g. let's say you have 10 faces: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. And you select the odd numbered ones: 1, 3, 5, 7, 9. When those "jumps" happen, some faces in the selection change, so you might end up with a selection like: 1, 3, 4, 7, 9.
Comment 6 Maik Qualmann 2020-01-06 18:52:31 UTC
It is quite clear that if new items are added to the view before the selection, the position at which I am trying to select items changes. What options do we have? No update of the view - not good. Unsorted and always add at the end - possible. Or are you just waiting, face recognition is complete?

Maik
Comment 7 MarcP 2020-01-06 18:57:29 UTC
No, but I am not talking about the position. I mean the actual items that you have selected change. Like, if you selected DSC0234.JPG, it suddenly switches and is now DSC0235.JPG that is selected (without clicking or doing anything, of course). 

I will make a video the next time I see that behavior.
Comment 8 Maik Qualmann 2020-01-06 19:11:32 UTC
yes, if an item is added at the same time as you select, the index shifts. There is the same with Gewenview e.g. if you have a folder from whichimages will be added outside. Selection is no longer possible in this moment.

Maik
Comment 9 MarcP 2020-01-06 20:18:11 UTC
I still think we are not talking about the same thing. Of course, if new items are found/detected before the one I am selecting, they will be displaced. But the selected items should still be the same.

Don't worry, I'll record the screen and show you.
Comment 10 Maik Qualmann 2020-01-06 20:50:15 UTC
I do not need a video, I know what you mean, The Selection Model gets confused. I mean we have code somewhere where we save the selection before adding new itms, maybe an error there. I'll watch it when it's time. At the moment I want to fix the roatations problem.

Maik
Comment 11 MarcP 2020-01-06 22:08:50 UTC
Sure, no problem, it's not a big deal.
Comment 12 caulier.gilles 2020-08-04 08:06:15 UTC
digiKam 7.0.0 stable release is now published:

https://www.digikam.org/news/2020-07-19-7.0.0_release_announcement/

We need a fresh feedback on this file using this version.

Best Regards

Gilles Caulier
Comment 13 kamu 2020-08-28 20:30:46 UTC
I can confirm this behavior (jumping around, selecting wrong image) both with and without face detection running in the background.  The version I tried is Linux digikam-7.0.0-x86-64.appimage  (http://commits.kde.org/digikam/6d5a0089cd5a4b81ddd09ade8a6f5dc347eebd07).

Sometimes, the image I added a people tag to, vanishes and it re-appears after some seconds(!) while the view seems to just hang.  During that hang, the just typed name gets displayed under the next image that has been shifted to the location of the vanished one (where the mouse is),  If I then accidentally click, I seem to tag that next/wrong image with the old tag.  If the image would not vanish, this would probably not happen.  The long time it hangs might be a separate issue perhaps, or it is caused by that unnecessary view update and is the same issue.
Comment 14 Dirk 2021-02-09 19:03:11 UTC
I observed this too (Version 7.2.0 RC for Linux).
Quite clear that the focus jumps to new thumbs while face detection is running.
But the focus jumps also if face detection isn't running. This is the case if there in one image with several faces for confirmation. If you confirm a face the focus jumps to the next face on the same image. This is nice in "Preview" view, but when in Thumbnail view the focus jumps to the other person. This is very confusing.
Proposal: the focus should not junp to another face within thumbnail view.
Comment 15 griffiths_andy 2021-02-12 11:52:55 UTC
Can confirm also with http://commits.kde.org/digikam/4c6b84b15cd6111aa9d3dfb430635a754f40ccba

Face detection has finished for me though. Scroll to the top of the unconfirmed list and start Yes / No faces. occasionally the display scrolls down nearly to the bottom of the list.
Comment 16 Maik Qualmann 2021-03-04 14:01:23 UTC
*** Bug 433952 has been marked as a duplicate of this bug. ***
Comment 17 Maik Qualmann 2021-04-20 05:49:16 UTC
*** Bug 435925 has been marked as a duplicate of this bug. ***
Comment 18 Maik Qualmann 2021-05-07 04:13:02 UTC
*** Bug 436711 has been marked as a duplicate of this bug. ***
Comment 19 Maik Qualmann 2021-05-07 12:07:02 UTC
*** Bug 436726 has been marked as a duplicate of this bug. ***
Comment 20 Maik Qualmann 2021-06-21 16:38:17 UTC
*** Bug 438988 has been marked as a duplicate of this bug. ***
Comment 21 Maik Qualmann 2022-01-07 22:14:57 UTC
Possibly  fixed with this merge request from Philip Gouverneur:

https://invent.kde.org/graphics/digikam/-/commit/6836a0f4399de081f1bd42f01da94a5220ca9086

Maik
Comment 22 Jens 2022-10-15 09:08:04 UTC
See also Bug 460463.
Comment 23 Maik Qualmann 2022-10-15 09:26:21 UTC
*** Bug 460463 has been marked as a duplicate of this bug. ***
Comment 24 Jens 2022-10-15 17:28:56 UTC
This is not completely solved in Digikam-7.9.0 (appimage 2022-10-12).
While face detection and reconition is running, the face thumbnail views still jump around seemingly randomly.

Adding and/or removing items from the various faces views should not change the scroll position of the view, this causes a lot of confusion for users. Can we update the thumbnails without the scrollbar moving back and forth?
Comment 25 Maik Qualmann 2022-10-15 19:39:01 UTC
Ok, looking at the source code brings back memories. Scrolling of the view is only prevented if you start face detection/recognition via the button at the bottom of the People sidebar.

Maik
Comment 26 Maik Qualmann 2022-10-15 20:24:16 UTC
Git commit 08368fa3b249577945d71084497ac9495eb35916 by Maik Qualmann.
Committed on 15/10/2022 at 20:21.
Pushed by mqualmann into branch 'master'.

recognize running face engine by progress manager
Fixed-IN: 8.0.0

M  +1    -1    NEWS
M  +4    -6    core/app/items/views/digikamitemview.cpp
M  +0    -1    core/app/items/views/digikamitemview.h
M  +0    -1    core/app/items/views/digikamitemview_p.cpp
M  +0    -1    core/app/items/views/digikamitemview_p.h
M  +0    -4    core/app/views/sidebar/peoplesidebarwidget.cpp
M  +0    -1    core/app/views/sidebar/peoplesidebarwidget.h
M  +0    -3    core/app/views/stack/itemiconview.cpp

https://invent.kde.org/graphics/digikam/commit/08368fa3b249577945d71084497ac9495eb35916
Comment 27 Jens 2022-11-24 08:29:29 UTC
Thank you! :-)
 I will test this with the next Appimage.