Bug 395501 - Cannot define top level Tag name for faces
Summary: Cannot define top level Tag name for faces
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Faces-Workflow (show other bugs)
Version: 7.0.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-06-16 19:36 UTC by Milan Knížek
Modified: 2022-01-08 15:09 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 7.5.0


Attachments
3 Pictures manually tagged as "Benjamin" (278.13 KB, image/png)
2018-11-15 10:05 UTC, Tobias Philipp
Details
face tagging (512.15 KB, image/png)
2018-11-15 10:05 UTC, Tobias Philipp
Details
face tag created (196.71 KB, image/png)
2018-11-15 10:05 UTC, Tobias Philipp
Details
picture added to orginal tag (384.41 KB, image/png)
2018-11-15 10:06 UTC, Tobias Philipp
Details
Example of duplicated "People" tag in different languages (87.24 KB, image/png)
2020-08-28 10:28 UTC, MarcP
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Milan Knížek 2018-06-16 19:36:46 UTC
Hi,

There does not seem to be a method how to define the top level tag name for faces.
The standard behaviour is to use language equivalent of "People" (not very good for those switching app language).

It would be preferrable to let the user choose the top level folder, where the new (manually) created name tags would be assigned to.

P.S. I temporarily succeeded by renaming "People" to "Regions", but that was not persistent.
Comment 1 Maik Qualmann 2018-06-18 17:37:26 UTC
I have looked into the source code and this functionality was previously unknown to me. It is possible to easily rename the top level tag "People". Prerequisite The tree contains most of the faces. So if "People" does not exist anymore, it searches for the top level tag that contains most of the faces. If none exists, "People" will be created.

Maik
Comment 2 Milan Knížek 2018-06-19 18:16:16 UTC
That sounds like a good approach and I may like it.

After a few more tests: you are right, my problem is that digikam occassionally creates an empty /People tag (a left-over in some image(s) which appears to survive the tag deletion, although I have 'write metadata to image & sidecar' active - I will have to solve that separately).

But anyway, would it make sense to modify the behaviour to create new face tags under the tree where the most faces are? That is to ignore /People if it is not used at all (or even not so much)?
Comment 3 Tobias Philipp 2018-11-15 07:15:36 UTC
Hi,

Im using the German Version of digikam and if i tag a person it creates a new tag under the tag "Personen".

My Problem: I already have a Tag called "Personen" since years with ~13 000 sub-tags.

If i choose "Create Personname" when i tag a Person, digikam is adding the picture also to my self created older tag "Personname".

If i would face-tag all my pictures, the (old self created) Tag Personen->Personname will contain all pictures with this face and my former selection with special pictures of this person will be lost.

It would be better for me, if i could choose where digikam is crating the new Person Tags from face detection, "Personen" is in use for my collection.

Also i think, the Facetags should be separated from the normal tags in the Picture thumbnail view. If i tag 5-6 persons in a picture my additional tags e.g. "Landscape" could not be seen in the list (Text to long). The facetags in another color in a line above/below would solve that problem.
Comment 4 Tobias Philipp 2018-11-15 10:04:28 UTC
Another Problem:
If a Top Level Tag withe the Name of a (new created) face tag exists, digikam will add the face-tagged pictures also to the top level tag and not inside the "People" ("Personen") tree.

I've made a few screenshots from a test setup.
Pic 1: 3 Pictures manually tagged as "Benjamin"
Pic 2: face tagged as "Benjamin"
Pic 3: Face Tag created at top level and not inside People
Pic 4: Face tagged picture added to the (manual) top level Tag "Benjamin"
Comment 5 Tobias Philipp 2018-11-15 10:05:02 UTC
Created attachment 116321 [details]
3 Pictures manually tagged as "Benjamin"
Comment 6 Tobias Philipp 2018-11-15 10:05:26 UTC
Created attachment 116322 [details]
face tagging
Comment 7 Tobias Philipp 2018-11-15 10:05:52 UTC
Created attachment 116323 [details]
face tag created
Comment 8 Tobias Philipp 2018-11-15 10:06:41 UTC
Created attachment 116324 [details]
picture added to orginal tag
Comment 9 Maik Qualmann 2018-11-15 11:37:32 UTC
Which version of digiKam do you use exactly? Remember that manual drawn tags do not always have to be faces. There are users who maybe mark flowers, animals or cars etc. You can specify when tagging whether the new name should be created under People or not. Different when tagging in the facial engine, this is always about faces.

Maik
Comment 10 Maik Qualmann 2018-11-15 11:40:13 UTC
The problem that creates a face tag in the face engine in the root and not in the person tree is already fixed in the digiKam-6.0.0-beta3.

Maik
Comment 11 Tobias Philipp 2018-11-15 12:21:54 UTC
Hi,

i'm testing in dk 6.0 beta 2.

Yes, i know, i have also tags like Flowers, Landscape etc.
But tagging in the people pane will add the pictures also in my manual created tags with the same name.
Comment 12 Tobias Philipp 2018-11-15 12:25:06 UTC
I was wrong, i  was testing with the file digikam-6.0.0-beta3-20181111T182317-x86-64.appimage. --> beta 3

In this Version the tag is still created in the root, probably because i have already a tag with the same name in the tag root
Comment 13 Maik Qualmann 2018-11-15 13:27:10 UTC
Right, the tag already exists and is now becoming a face tag internally and therefore visible. Of course he stays in the old place, you can if you want to move him into the persons tree. It is also possible to make normal tags via the right mouse button menu to face tags. Facial tags are nothing special, they only allow that in the facial engine only facial tags can be displayed.

Maik
Comment 14 Tobias Philipp 2018-11-15 13:36:51 UTC
Ok, that explain the reuse of the tag, but this is not the desired behavior for my collection.

with the old tag i have tagged *spezial* pictures of the person, i don't want all pictures with that face in this tag.

for my collection it would be better if tags and face tags would be completely separated.

The only solution is see, is to have the old tag with the person name under "personen" and a face tag with a prefix like "face_personname" for the face to prevent the mixing.

also it remains a problem, that i cannot choose the root for face tags and i have to move them out of my already used "Personen" tree.
Comment 15 Maik Qualmann 2018-11-15 14:53:54 UTC
I do not understand exactly where the problem is. It does not matter if you've tagged a image with "Benjamin" or assigned it a facial area. DigiKam does not distinguish between the tags. The face flag is only for display in the facial engine. They can also rename the people tree. It is only created if there is no tree with facial tags. And the tag "Benjamin" can also be outside of people.

Maik
Comment 16 Tobias Philipp 2018-11-15 15:11:01 UTC
Hi,

the Problem is only when i want to keep my current person tags for *spezial* pictures (~13 000 tags) and have a face tag with the _same name_. that is not possible. i have to give the face tag a different name to keep them separated (all pictures with that person <-> special pictures of this person).

I will do it so and will prefix the face tags.

i understand now that i can have the face tags under another root.

Thanks for your patience.
Comment 17 caulier.gilles 2019-12-23 15:11:38 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 18 caulier.gilles 2020-01-02 19:32:06 UTC
*** Bug 279948 has been marked as a duplicate of this bug. ***
Comment 19 Tobias Philipp 2020-08-20 20:49:47 UTC
Hi,

i tested face detection/recognition in digikam 7.0.0-2 (Manjaro Linux) with a new database under a different login.

I created an empty Tag "_Faces" an selected "use as Face Tag". New created Face Tags will still be rooted under the "People" Tag.

For my integration of Face Tags with my current Tags, a complete separation of both would be better, but i understand that's not possible/requested.

Also Unfortunately, my test with a few hundred pictures shows so many wrong face recognitions and so many clearly visible faces were not assigned to the face tag that it make no sense to tag further. (Many pictures with small children, possible a problem for OpenCV.

greetings
Tobias
Comment 20 MarcP 2020-08-28 09:39:55 UTC
I can confirm this is still an issue in the stable 7.0.0 version under MacOS Catalina.

Since the "People" pseudotag gets written in the pictures' metadata, digikam will recreate the hierarchy with the translation that was used when tagging those pictures, and will also create a second "People" using the current user's locale.
Comment 21 MarcP 2020-08-28 10:28:05 UTC
Created attachment 131233 [details]
Example of duplicated "People" tag in different languages
Comment 22 caulier.gilles 2020-08-28 11:50:25 UTC
Mark,

Later 7.1.0 release, we will merge back all students branches including improvement for the faces management GUI and the Engine.

We will double check all fixes, new features, improvements introduced by students, and we will try to hack new entries in bugzilla.

All are targeted for next 7.2.0.

Gilles
Comment 23 MarcP 2020-08-28 14:39:35 UTC
That is great to hear. I can't wait to try the new improvements.
Comment 24 Maik Qualmann 2022-01-08 15:09:46 UTC
Git commit bf167894ccd12a406b9560b635640a923dc101d2 by Maik Qualmann.
Committed on 08/01/2022 at 15:08.
Pushed by mqualmann into branch 'master'.

fix get most used people parent tag
Related: bug 448071
FIXED-IN: 7.5.0

M  +2    -2    NEWS
M  +24   -8    core/libs/database/tags/facetags.cpp

https://invent.kde.org/graphics/digikam/commit/bf167894ccd12a406b9560b635640a923dc101d2