"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

This is now in beta.10. Set keywordReparenting to copy.

1 Like

Woop! That’s awesome, thanks!

Tried this and no change :frowning:

I added the following to start.sh:
export PS_KEYWORD_REPARENTING=“copy”
Started PS and did a library rebuild. No difference to the keywords.

export PS_KEYWORD_REPARENTING=“copy” “move” or “retain” all look the same, no point doing three different screenshots because they’re all the same:

My expectation is that when setting the flag to “Copy”, the Keywords section should have all three images of Elon Musk, since it’s the same Keyword for the third Elon Musk photo as for the two Who photos:

1.0.0beta11, PhotoStructure for Node

Start up script below:

That test setup looks reasonable to me. I’ll verify that I didn’t accidentally revert the commit.

This isn’t expected to be fixed in beta 15 is it?
I’ve retested on beta 15, still not working for me (unless I’m not understanding how to configure it properly)

Have tested again in 1.1.0 and no improvement, still carving off photos of people into “Who” and “Keywords” so no single view :frowning:

I’ve ended up removing the “Who” top-level folder on one of my libraries (which took a lot more config than I expected!) because it was confusing for the users of this library that not all expected photo showed up there or under the Keyword for the person.

I suspect I’ve misunderstood what you were asking for, then. Can you email me an example image (or several) each with what the final tags you want PhotoStructure to resolve?

Dang: it should have been as simple as adding Who to your excludedRootTags library setting. How did you do it?

Have messaged you privately so I can give you real examples

These are the changes I had to make. I did this twice, and it was only this combination of settings that hid the “Who” folder for me, perhaps I overdid it but I did try just making gradual changes and doing rebuilds each time…

If I try just that, I still get a Who folder:

But I’m not really worried about that, the issue I care about is not having photos of people split between two different folders…