https://bugs.kde.org/show_bug.cgi?id=518026
--- Comment #3 from Michael Miller <[email protected]> --- (In reply to Ondrej Zizka from comment #2) > Mike, great project to (re-)join. It is extremely useful and very well > designed. I would join too if I had enough C++ skills. > > In the mean time, I have finished my own clustering in Kotlin. I can share > the source code. > > In short, it adds 1 table to the DigiKam DB for the clusters, and then runs > an algorithm revolving around centroids with 2 or more passes and average > vector recomputation until the clusters "look right". It works spectacularly. > > But the need to stop DigiKam, copy the DB (just to be safe), run the > clustering, then apply it to DigiKam's DB (by creating new artificial People > tags under People/clusters/cluster1234) is quite impractical, and also it > seems that DigiKam faces rescan somehow changes the tags from People to just > normal tags. > So, having this directly in DigiKam would be really very helpful, and it > would speed up work with faces a lot and improve dealing with false > negatives which appear now in DigiKam - one could bump up the Accuracy of > the face scan, and handle the "Unknown" people by clusters, so that they > would not appear in other People tags as candidates. > > Thanks a lot to all for the work on this project. Hi Andrej, Yes, sharing your source would be very helpful if you don't mind. I think your clustering idea will solve 2 very frequent requests for digiKam. First, as you suggest, grouping Unknown persons by group to speed up accepting/rejecting new faces. Second, I think we can use it to help the user to find accidental confirmations. By using a variation of the code, we can create clusters per confirmed name/faces, we can then create a single distance metric. If we sort the People view by distance from the center of the cluster, accidentally confirmed faces that are not the actual person should show up as far from the cluster center. -- You are receiving this mail because: You are watching all bug changes.
