photoprism / photoprism

AI-Powered Photos App for the Decentralized Web 🌈💎✨
https://www.photoprism.app
Other
35.3k stars 1.96k forks source link

Labels: Option to automatically create labels for keywords coming from photo metadata (Exif/IPTC/XMP) #1143

Open dominikholler opened 3 years ago

dominikholler commented 3 years ago

I like to switch from photo management software based on manual tagging (Shotwell) to PhotoPrism, without losing the tags. One among many other reasons is, that most cameras except smartphones did not support storing the location in the metadata of the photos. It would be helpful if PhotoPrism would interpret the semantics of Exif/IPTC keywords and present them in an appropriate manner to the user.

Every keyword in Exif/IPTC should be mapped to a label in PhotoPrism during import, maybe like this https://github.com/dominikholler/photoprism-python-sdk/blob/main/examples/create_labels_by_tags.py

A similar feature called Album by tags in Lychee could be mimicked in PhotoPrism by https://github.com/dominikholler/photoprism-python-sdk/blob/main/examples/create_albums_from_tags.py

In comparison to #747 this approach would loose the hierarchy in the Exif/IPTC keywords.

graciousgrey commented 3 years ago

We already use exiftool (https://exiftool.org/) to extract metadata like keywords from EXIF/IPTC. Of course it is an ongoing process to support more and more metadata fields. Do you know what fields exactly are written by shotwell? Maybe this discussion is helpful for you as well as a workaround to create labels from keywords: https://github.com/photoprism/photoprism/discussions/998.

dominikholler commented 3 years ago

We already use exiftool (https://exiftool.org/) to extract metadata like keywords from EXIF/IPTC. Of course it is an ongoing process to support more and more metadata fields. Do you know what fields exactly are written by shotwell?

This step worked fine for my photos tagged by shotwell. The shotwell tags are recognized as Subject in Details in the REST API ( usable in create_labels_by_tags.py), shown in the UI and the sidecar yaml files.

Maybe this discussion is helpful for you as well as a workaround to create labels from keywords: #998.

Yes, it is quite similar. I think it would be comfortable for users migrating to photoprism if a new label for every EXIF keyword would be created automatically during importing or indexing.

graciousgrey commented 3 years ago

We don't want to automatically create labels for all keywords a photo has, as PhotoPrism extracts those from various sources. But we could add an option to create labels from keywords coming from exif.

dominikholler commented 3 years ago

We don't want to automatically create labels for all keywords a photo has, as PhotoPrism extracts those from various sources.

I see.

But we could add an option to create labels from keywords coming from exif.

Nice idea, I guess this would be helpful for users who migrates to PhotoPrism. I don't get the difference in the between the "Keywords" or "Subject"; for the migration from Shotwell both should be the same.

lastzero commented 3 years ago

Apps commonly use the same fields in different ways and formats, there is no one size fits all. XMP is a nightmare as a standard. We do our best to make everyone happy eventually :)

See also https://docs.photoprism.org/user-guide/faq/#whats-the-difference-between-keywords-and-labels

gerard6110 commented 3 years ago

Hi, starting to use photoprism as a docker on unraid. in itself a nice app, however, I really would like my (windows) tags (like event, detail, location - because not always imported as I remembered the manual location of the old photo; without camera GPS data) to be imported in the keywords section and not necessarily in the subject field as it seems I cannot use it to find my photos (unless I remember those tags). Furthermore, why is there a label created when the confidence is like only 11%. In my view this is useless. With 50 test photos, 10 labels are created of which 2 can be considered OK, 2 more or less OK and the others ??? I would suggest to only create a label in case the confidence is like 50% +

Furthermore, when deleting all photos from a previous test (to start fresh), all kinds of void info remains, like moments, places, countries, calendar entries ...

Hopefully being able to use one's own tags as a dropdown search criteria I think would be a big improvement. Particularly against Synology Photos, which handles tags perfectly.

lastzero commented 3 years ago

With 50 test photos, 10 labels are created of which 2 can be considered OK, 2 more or less OK and the others ??? I would suggest to only create a label in case the confidence is like 50% +

The threshold actually depends on the label, we've optimized this with 100k+ photos for over two years - even Nextcloud copied the result. Of course it would be great to throw more time and money at it. That's what we have in store right now. Many apps we've tested had (way) worse results, so we've decided to work on other features like facial recognition.

Furthermore, when deleting all photos from a previous test (to start fresh), all kinds of void info remains, like moments, places, countries, calendar entries ...

Use the reset command instead of manually deleting every single photo in the UI (it's in fact a soft delete as we don't want users to lose important metadata because of a mistake):

docker-compose exec photoprism photoprism reset

Hopefully being able to use one's own tags as a dropdown search criteria I think would be a big improvement. Particularly against Synology Photos, which handles tags perfectly.

Search is improved continuously. The new release (see demo and development preview) comes with new, more advanced search filters incl. AND / OR support via & and |. Category labels are visible in a dropdown when expanding the search form.

Our next major feature will be multi-user support. Depending on our resources, we can then continue working on search e.g. by adding autocomplete and multi & native language support.

wonx commented 2 years ago

I would add that not only keywords are stored in Exif and IPTC, but also in XMP metadata.

heitorPB commented 12 months ago

Related: #2075