"Who" tags are incorrectly excluded from "Keywords"

Problem

PhotoStructure treats Who & Keywords as exclusionary, so you can’t get a single view of all photos with a person’s keyword or a person’s face tag, because the photos are unexpectedly split between Who and Keywords.

Expected Behavior

I expect that when I browse to “elon musk” in my library using Keywords, anything with that keyword is shown, either face tagged or not.

Current Behavior

In PhotoStructure, unexpectedly it differentiates between:

  • Photos with facial recognition and a keyword → “Who”
  • Photos without facial recognition and a keyword → “Keyword”

If I go to “Keywords” > “elon musk”, it will only show those photos with the Keyword, not the ones with the facial recognition.
Vice versa, going to “Who” > “elon musk”, will only show those with the facial recognition, not the keyword.

I expect in PhotoStructure:

  • “Keywords” > “person” - shows all photos with that keyword, regardless of whether there is a face.
  • “Who” > “person” - shows all photos with that person’s keyword, regardless of whether there is a face, if the keyword is used for faces already.

Steps to Reproduce

Here’s a test Lightroom and PhotoStructure library to illustrate how PS doesn’t include all photos.

I have 3 photos:

  • 2 of Elon Musk facing the camera
  • 1 of Elon looking away.

The 2 facing the camera will have his face detected, but the 3rd is also Elon, so I want that keyworded.

All 3 have the “elon musk” keyword:

Only two have had a face detected and confirmed as “elon musk”:

Face detected:

In PhotoStructure, we can see the problem quickly. Two of the images with the face confirmed appear in “Who”, but “Keywords” only shows one image.

This means if I want to find all the photos with the keyword “elon musk”, I can’t. If I navigate Keywords > “elon musk” I only get one photo, “elon3.jpg”:
image
I should get three photos here.

To dig a little deeper - in the EXIF data, it looks like “elon3.jpg” has the same keyword as “elon1.jpg” or “elon2.jpg”:

Of course, “elon1.jpg” has the “Person In Image” and “Region Type” of Face, which “elon3.jpg” doesn’t have. which is expected:

In summary -

  1. Because “elon1.jpg” and “elon2.jpg” (with the faces) have the “elon musk” keyword, I would expect them to appear in PhotoStructure > Keywords.

  2. Ideally I’d expect the “elon musk” Who tag to also show “elon3.jpg” because it has the same keyword, but that’s probably more subjective. This is useful because then I can navigate through Who to find people.

Environment

Operating system and version: Windows 10

PhotoStructure edition: PhotoStructure for Node 1.0.0b5

1 Like

Oooh, neat usecase. Thanks for taking the time to explain it so well.

Searching for “elon” (now that search is fixed in beta.7) should show all three images.

When PhotoStructure sees a keyword that’s also in a “People” tag, it tries to be clever and only keep the “people” tag, as you saw.

What I could do is add a setting that keeps both. The “Who” tag is subsequently parsed (if you set tagNamesFormatter to family/given), so for elon1 and elon2, you’d end up with

Keywords/elon musk
Who/elon musk

and for elon3,

Keywords/elon musk

Does that suffice? FWIW, this sort of “keyword parenting” setting is also related to Prefix for keywords Tag - #6 by mnaoumov

Yes, instead of just keeping the People tag it should also keep the Keyword.
Although the search finds everything, in the use-case is that you are browsing Keywords, this would solve the problem of not seeing everything keyworded.

Thanks!

1 Like