[digiKam-users] Digikam keeps ignoring my ignored tags

Pierre Kerff pierre.kerff at outlook.com
Wed Sep 29 11:45:37 BST 2021


I think I am facing the same issues and wish here.
In my case I consider using explicit Tags for People/region I will name like “~IGNORE_REGION” in order just to not have to browse and reject/remove them again in case I rescan for faces or recognize faces again. This is obviously just a workaround, and I understand it may disrupt the face-recognition engine as it will use those “~IGNORE_REGION”  Tags like it is a specific person.
Maybe this kind of information/tags should be managed as system/internal to the DB in order not to detect/recognise those faces/regions next time.
I welcome the expert if a design/implementation solution would be possible, and Thanks again for this wonderful digiKam software.

Pierre.

From: Digikam-users <digikam-users-bounces at kde.org> On Behalf Of Ronald Orenstein
Sent: 26 September 2021 19:10
To: digiKam - Home Manage your photographs as a professional with the power of open source <digikam-users at kde.org>; Gilles Caulier <caulier.gilles at gmail.com>
Subject: Re: [digiKam-users] Digikam keeps ignoring my ignored tags

I am having a similar sort of problem, and it is very frustrating.  What I want to do is be able to tell the program, not simply to ignore a face for now, but not to present it to me again the next time I run "Recognize faces".  I would also like to be able to instruct the program that when I tell it that the face does not belong to person X, it does not keep presenting it to me over and over again.

Also, when I go to the list of unknown faces and click on the minus sign in the upper left corner of the thumbnail, I would like it to transfer that face from "Unknown" to "Ignored".  At the moment clicking on this seems to have no effect whatsoever.

Basically what I would like is this:

1. For a face that belongs to someone I do not know (eg in a crowd) I would like to be able to mark that face as 'ignored' and have it ignored not just for now but forever, no matter how often I rerun 'Recognize faces' or retrain the database.

2. For a face that is identified incorrectly (ie with a yellow border), but belongs to a person whose name I do not recall but hope to identify later, I would like to be able to tell the program to put it in the 'unknown' pile until I name it and NOT to make the same incorrect identification the next time I run 'Recognize faces'.

3. For an object that is not a face I would again like to have it eliminated forever and not return the next time I scan.

Can any of these things be done?

Many thanks to all -

Ron

Ronald Orenstein
1825 Shady Creek Court
Mississauga, ON L5L 3W2
Canada
ronorenstein.blogspot.com
ronorensteinwriter.blogspot.com


On Sunday, August 22, 2021, 03:55:20 p.m. EDT, Thomas D <sdktda at gmail.com<mailto:sdktda at gmail.com>> wrote:


So maybe I misunderstood.
Are you saying that pressing "-" on a face causes it to be ignored?
I thought that mean that "this face does not belong to the matched person". Meaning that this face will now be put into the "Unknown" pile. So the user will then have to go into the Unknown pile and find this  person once again and click "-".

Am I wrong in this understanding?

Because I read your most recent reply as it being enough to click "-" once. But if this is the case, then how do you mark a matched face as "this match is wrong. The person is or might be interesting (so not to be  put in Ignored) but this match is not right"?



Den søn. 22. aug. 2021 kl. 21.48 skrev Maik Qualmann <metzpinguin at gmail.com<mailto:metzpinguin at gmail.com>>:
The tags "Unconfirmed", "Unknown" and "Ignored" are tags of the face engine in
order to filter / display the faces in the People View accordingly. See these
tags as placeholders in the People Treeview, they are automatically sorted
upwards. So these tags are "virtual", why would anyone want to add these tags
to their images in real life? It is of course possible.
Ignoring a face in the People View with the "-" button is the quick and easy
way.

Maik

Am Sonntag, 22. August 2021, 21:34:07 CEST schrieb Thomas D:
> One more thing: If the virtual tag "ignored" does nothing, why is it there?
>
> I mean, this seems to be something that is handled in a certain way by DK
> differently from the other tags.
> For example, it has different types of actions in DK as can be seen from
> this screenshot:
> [image: image.png]
>
> If this is not a special tag with a special meaning that DK should ignore
> it, why does it exist at all?
>
> I am sorry if I misunderstood your original reply.
>
> Den søn. 22. aug. 2021 kl. 21.29 skrev Thomas D <sdktda at gmail.com<mailto:sdktda at gmail.com>>:
> > To add to my reply: I think the key point here is: If the user has deemed
> > a face to belong to someone who is ignored. Then the user should have a
> > quick way of marking this face for as Ignored directly. The user should
> > not
> > have to spend time looking at that face again.
> >
> > Den søn. 22. aug. 2021 kl. 21.27 skrev Thomas D <sdktda at gmail.com<mailto:sdktda at gmail.com>>:
> >> I am a bit confused here.
> >>
> >> Does this mean, that if I go to some Person X and find hundreds of faces
> >> matched incorrectly to this person. Then I deem all these being people I
> >> want to ignore. Then I  have to first 1) click Minus here to unmatch them
> >> to Person X; this will put these faces into the Unknown virtual tag. Then
> >> I
> >> have to 2) go into the Unknown category and find the same hundreds of
> >> faces
> >> (which are not scattered all over the place) and mark them once again and
> >> then click Minus?
> >>
> >> Is this really the intended workflow?
> >>
> >> If it is, I think it is wasting precious user time and work here in the
> >> the user has to first spend time finding, deciding and marking the face
> >> twice.
> >>
> >> Also, I currently have around 1500 photos tagged with "Ignored". How can
> >> I mark all these as something I want to DK to ignore in one go? If I
> >> select
> >> all 1500 faces and click Minus. Then they will all go into the big bucket
> >> of Unknown together with almost 10,000 faces of which many are not to be
> >> ignored. Tagging the 1500 faces as ignored was a huge amount of work. I
> >> hope there is a way this is not all lost.
> >>
> >>
> >>
> >>
> >>
> >>
> >> Den søn. 22. aug. 2021 kl. 14.08 skrev Maik Qualmann <
> >>
> >> metzpinguin at gmail.com<mailto:metzpinguin at gmail.com>>:
> >>> Adding the virtual tag "Ignored" does nothing. To ignore a face, you
> >>> have to
> >>> click on the "-" button in the face thumbnail under "Unknown" in the
> >>> People
> >>> view.
> >>>
> >>> Maik
> >>>
> >>> Am Sonntag, 22. August 2021, 13:12:27 CEST schrieb Thomas D:
> >>> > For some reason Digikam seems to not honor my "ignored" tags.
> >>> >
> >>> > When I select a face that I do not care about (for example some member
> >>>
> >>> of a
> >>>
> >>> > crowd at a concert, etc.) then I assign it the tag "Ignored".
> >>> > What happens then is the the face immediately disappears from the
> >>>
> >>> view. But
> >>>
> >>> > the amount of items in the "Ignored" group does NOT increase.
> >>> >
> >>> > Next time I run a "Recognize faces" operation the ignored face is back
> >>> > again matched to some bogus person.
> >>> >
> >>> > Below is the debug output from when I am marking a single face as
> >>>
> >>> Ignored.
> >>>
> >>> > One thing that jumps out is that there are several "SELECT" SQL
> >>>
> >>> statements,
> >>>
> >>> > however, there are zero INSERT or UPDATE statements. I would expect
> >>>
> >>> digikam
> >>>
> >>> > to do at least some write operations to the database in order to store
> >>>
> >>> my
> >>>
> >>> > tag. But it does not seem to do that.
> >>> > Is anyone else experiencing something similar?
> >>> > How can I fix this?
> >>> > Could this in some weird way be related to my locale issues?
> >>> >
> >>> >
> >>> > 00000001 0.00000000 [19168] digikam.general: Check for finish:  0
> >>>
> >>> packages,
> >>>
> >>> > 0 infos to filter, hasFinished() true
> >>> > 00000002 0.10719850 [19168] digikam.general: Using  12  CPU core to
> >>> > run
> >>> > threads
> >>> > 00000003 0.10781470 [19168] digikam.general: Action Thread run  1  new
> >>>
> >>> jobs
> >>>
> >>> > 00000004 0.10841530 [19168] digikam.database: " ( (
> >>> > (ImageTagProperties.tagid=? OR ImageTagProperties.tagid IN (SELECT id
> >>>
> >>> FROM
> >>>
> >>> > TagsTree WHERE pid=?)) AND ImageTagProperties.property=?  ) OR (
> >>> > (ImageTagProperties.tagid=? OR ImageTagProperties.tagid IN (SELECT id
> >>>
> >>> FROM
> >>>
> >>> > TagsTree WHERE pid=?)) AND ImageTagProperties.property=?  ) OR (
> >>> > (ImageTagProperties.tagid=? OR ImageTagProperties.tagid IN (SELECT id
> >>>
> >>> FROM
> >>>
> >>> > TagsTree WHERE pid=?)) AND ImageTagProperties.property=?  ) OR (
> >>> > (ImageTagProperties.tagid=? OR ImageTagProperties.tagid IN (SELECT id
> >>>
> >>> FROM
> >>>
> >>> > TagsTree WHERE pid=?)) AND ImageTagProperties.property=?  ) ) "
> >>> > 00000005 0.10849400 [19168] digikam.database: Search query:
> >>> > 00000006 0.10849400 [19168]  "SELECT DISTINCT Images.id, Images.name,
> >>> > Images.album,        Albums.albumRoot,        ImageInformation.rating,
> >>> > Images.category,        ImageInformation.format,
> >>> > ImageInformation.creationDate,        Images.modificationDate,
> >>> > Images.fileSize,        ImageInformation.width,
> >>>
> >>> ImageInformation.height,
> >>>
> >>> >      ImageTagProperties.value, ImageTagProperties.property,
> >>> >
> >>> > ImageTagProperties.tagid  FROM Images        INNER JOIN
> >>>
> >>> ImageTagProperties
> >>>
> >>> > ON ImageTagProperties.imageid=Images.id        LEFT JOIN
> >>>
> >>> ImageInformation
> >>>
> >>> > ON Images.id=ImageInformation.imageid        INNER JOIN Albums
> >>> >
> >>>    ON
> >>> >
> >>> > Albums.id=Images.album WHERE Images.status=1 AND (  ( (
> >>> > (ImageTagProperties.tagid=? OR ImageTagProperties.tagid IN (SELECT id
> >>>
> >>> FROM
> >>>
> >>> > TagsTree WHERE pid=?)) AND ImageTagProperties.property=?  ) OR (
> >>> > (ImageTagProperties.tagid=? OR ImageTagProperties.tagid IN (SELECT id
> >>>
> >>> FROM
> >>>
> >>> > TagsTree WHERE pid=?)) AND ImageTagProperties.property=?  ) OR (
> >>> > (ImageTagProperties.tagid=? OR ImageTagProperties.tagid IN (SELECT id
> >>>
> >>> FROM
> >>>
> >>> > TagsTree WHERE pid=?)) AND ImageTagProperties.property=?  ) OR (
> >>> > (ImageTagProperties.tagid=? OR ImageTagProperties.tagid IN (SELECT id
> >>>
> >>> FROM
> >>>
> >>> > TagsTree WHERE pid=?)) AND ImageTagProperties.property=?  ) )  );"
> >>> > 00000007 0.10849400 [19168]  (QVariant(int, 90), QVariant(int, 90),
> >>> > QVariant(QString, "autodetectedPerson"), QVariant(int, 90),
> >>>
> >>> QVariant(int,
> >>>
> >>> > 90), QVariant(QString, "autodetectedFace"), QVariant(int, 90),
> >>> > QVariant(int, 90), QVariant(QString, "ignoredFace"), QVariant(int,
> >>> > 90),
> >>> > QVariant(int, 90), QVariant(QString, "tagRegion"))
> >>> > 00000008 0.14773540 [19168] digikam.database: Search result: 4367
> >>> > 00000009 0.17476331 [19168] digikam.general: Cancel Main Thread
> >>> > 00000010 0.18000311 [19168] digikam.general: One job is done
> >>> > 00000011 0.18014900 [19168] digikam.general: Cancel Main Thread
> >>> > 00000012 2.50488997 [19168] digikam.general: Using  12  CPU core to
> >>> > run
> >>> > threads
> >>> > 00000013 2.50501394 [19168] digikam.general: Using  12  CPU core to
> >>> > run
> >>> > threads
> >>> > 00000014 2.50549006 [19168] digikam.general: Action Thread run  1  new
> >>>
> >>> jobs
> >>>
> >>> > 00000015 2.50572968 [19168] digikam.general: Action Thread run  1  new
> >>>
> >>> jobs
> >>>
> >>> > 00000016 2.55105042 [19168] digikam.general: One job is done
> >>> > 00000017 2.55105996 [19168] digikam.general: Cancel Main Thread
> >>> > 00000018 2.62769842 [19168] digikam.general: One job is done
> >>> > 00000019 2.63544178 [19168] digikam.general: Cancel Main Thread
> >>> >
> >>> > Den man. 12. apr. 2021 kl. 12.05 skrev Thomas D <sdktda at gmail.com<mailto:sdktda at gmail.com>>:
> >>> > > Follow-up:
> >>> > > I just tried setting the language to Danish.
> >>> > > Then restart DK. Then set it back to EN_us. The tags are still named
> >>>
> >>> with
> >>>
> >>> > > way and Ignored images still seems to end up in Ukendt/Unknown.
> >>> > >
> >>> > > Den man. 12. apr. 2021 kl. 09.45 skrev Thomas D <sdktda at gmail.com<mailto:sdktda at gmail.com>>:
> >>> > >> Hello,
> >>> > >>
> >>> > >> I just noticed that when I mark a face as "Ignored", for some
> >>>
> >>> reason it
> >>>
> >>> > >> ends up in the "Unknown" tag.
> >>> > >>
> >>> > >> I am guessing that this might somehow be related to
> >>> > >> translation/localization of tag names. Is this possible?
> >>> > >>
> >>> > >> The reason I think this is that some of the built-in tag names are
> >>>
> >>> in
> >>>
> >>> > >> English and others are in Danish  (my local language). But I have
> >>> > >> configured DK to use English UI language. This is rather strange.
> >>> > >>
> >>> > >> Below is screenshot from the People tag list. The two red circles
> >>>
> >>> are
> >>>
> >>> > >> Danish words (Personer=People or Persons; and Ukendt = Unknown)
> >>> > >>
> >>> > >> [image: image.png]
> >>> > >>
> >>> > >> Is there any way to fix this?
> >>> > >>
> >>> > >> I have 1.3k in Ignored so at some point it must have worked. Maybe
> >>>
> >>> before
> >>>
> >>> > >> upgrade to DK 7.2?
> >>> > >>
> >>> > >> Den ons. 7. apr. 2021 kl. 10.09 skrev Thomas D <sdktda at gmail.com<mailto:sdktda at gmail.com>>:
> >>> > >>> Hi,
> >>> > >>>
> >>> > >>> I am still playing around with DK 7.2 image recognition. It is
> >>>
> >>> great
> >>>
> >>> > >>> fun.
> >>> > >>> However, I do experience one really annoying problem: DK keeps
> >>> > >>> recognizing some random person (that I do not know) as a specific
> >>>
> >>> person
> >>>
> >>> > >>> that I do know and have tagged. So this random person shows up in
> >>> > >>> Unconfirmed suggested as the known person.
> >>> > >>> I then tag the random person as "Ignored" and I would then expect
> >>> > >>> *never* to see this particular image suggested as the known person
> >>> > >>> again (or any other known person for that matter).
> >>> > >>>
> >>> > >>> However, every time I rescan my collection with "Recognize faces",
> >>>
> >>> it
> >>>
> >>> > >>> keeps adding this random person - and the same exact image - as
> >>> > >>> the
> >>> > >>> known
> >>> > >>> person.
> >>> > >>>
> >>> > >>> In fact, this problem occurs with many different persons.
> >>> > >>>
> >>> > >>> Is this a bug in DK - or am I doing something wrong? How do I
> >>>
> >>> ignore a
> >>>
> >>> > >>> detected face so that it will never be suggested again?



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/digikam-users/attachments/20210929/bcd14aa8/attachment-0001.htm>


More information about the Digikam-users mailing list