XMP::iptcExt\PersonInImage

Started by Uwe, March 12, 2024, 02:54:37 PM

Previous topic - Next topic

Uwe

Hallo,
ich habe mir vor ein paar Tagen die Trial Version installiert. In meinem bestehenden DAM werden die Personen im Tag PersonInImage in Hierarchieform (Name|Vorname) gespeichert. Ich habe in IMatch eine neue Kategorie Personen angelegt und unter "Datengestütze Eigenschaften..."->Ebene1->->Grundeinstellungen->Tag->XMP::iptcExt\PersonInImage\PersonInImage\0 zugewiesen, sowie die Hierarchie = Ja. Allerdings werden von den 267 Beispieldateien in 249 Dateien die Personen Tags nicht aus den Metadaten gelesen. Alle Fotos haben einen Personen Tag, da ich in meinem jetzigen DAM entweder die Person durch ihren Namen zuweise oder z.B. bei Landschaftsfotos ohne Personen den Personentag "ohne_person" vergebe um fehlendes Tagging zu vermeiden. Auch im Metadatenfenster wird der PersonInImage Tag bei den 249 Dateien nicht unter XMP IPTC Extension angezeigt.
Habe ich hier ein grundsätzliches Verständnisproblem oder fehlerhaft parametriert?
Viele Grüße, Uwe

Hello,
I installed the trial version a few days ago. In my existing DAM, the persons are stored in the PersonInImage tag in hierarchical form (Name|FirstName). I have created a new category Persons in IMatch and assigned it under "Data-driven properties..."->Level1->->Basic settings->Tag->XMP::iptcExt\PersonInImage\PersonInImage\0 and the hierarchy = Yes. However, of the 267 sample files in 249 files, the person tags are not read from the metadata. All photos have a person tag, because in my current DAM I either assign the person by name or, for example, assign the person tag "without_person" to landscape photos without people to avoid missing tagging. The PersonInImage tag is also not displayed in the metadata window for the 249 files under XMP IPTC Extension.
Do I have a basic understanding problem here or have I parameterised it incorrectly?
Best regards, Uwe

Translated with DeepL.com (free version)

Mario

#1
IMatch füllt PersonsInImage beim Rückschreiben automatisch aus den bestehenden Gesichtsanmerkungen und deren Tags. Was Du als Tag verwendest, bleibt Dir überlassen. Eine Hierarchie für PersonsInImage habe ich aber noch nie gesehen, dass ist eher ungewöhnlich. IMatch organisiert Bilder ja automatisch nach Personen, Familien und Gruppen in der Personenansicht. Eine datengestützte Kategorie ist daher eher redundant. Aber natürlich möglich.


QuoteAllerdings werden von den 267 Beispieldateien in 249 Dateien die Personen Tags nicht aus den Metadaten gelesen.
Werden für das Tag für diese Dateien Inhalte im Metadaten-Panel angezeigt? Wenn ja, wie unterscheiden sich die Daten von den Daten der Bilder, wo es funktioniert? Wenn Du mehrere Personen in einem Bild hast, welches Trennzeichen hat deine Software verwendet? Hast Du das entsprechend bei der Konfiguration der DD-Kategorie berücksichtigt (Separator)?

Ohne ein paar Beispieldateien zum Runterladen und Testen und deine genauen Einstellungen für die DD-Kategorie (screen shot) ist Hilfe schwierig. Einfach auf Deinen Cloud-Speicher hochladen und hier einen Link posten.

Du kannst Die Bilder auch (mit einem Link zu diesem Post!) an support email address senden. Ich bekomme viele E-Mails pro Tag, und so weiß ich, was was ist.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Uwe

Hallo Mario,
danke für die schnelle Antwort. Eine E-Mail mit Downloadlink zu den Beispieldateien ist auf dem Weg.
Viele Grüße, Uwe

Mario

Kannst Du bitte auch meine Fragen beantworten?
Ich muss sehen, wie du deine Kategorie aufgesetzt hast (screen shot) und ob die Dateien in deiner Datenbank Daten enthalten und welche. Damit ich eine Basis für die Analyse habe.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Uwe

Hallo Mario, ich hatte gehofft, dass in den screenshots in der ZIP Datei die Infos enthalten sind.
Da mir momentan noch einiges an Verständnis bzgl. der Funktionen von IMatch fehlt, hoffe ich, dass die folgenden Infos passen.
Quote from: Mario on March 12, 2024, 03:26:33 PMWenn Du mehrere Personen in einem Bild hast, welches Trennzeichen hat deine Software verwendet?
So sieht der Tag in den Metadaten aus:
Person In Image                  Muster|Lisa, Muster|Lars
Quote from: Mario on March 12, 2024, 05:21:56 PMIch muss sehen, wie du deine Kategorie aufgesetzt hast (screen shot)
Meinst du diese Infos (s. Anhang)?
Quote from: Mario on March 12, 2024, 05:21:56 PMob die Dateien in deiner Datenbank Daten enthalten und welche
Welche DB meinst du? Da jede externe Änderung am Foto durch IMatch erkannt wird (aktualisieren Info wird angezeigt) nehme ich an, dass alle Dateien auch in der SqLite-DB existieren. Ausgeschaltet hatte ich das sofortige Rückschreiben in die Datei.
Ich habe festgestellt, dass, wenn ich auf ein Foto die Gesichtserkennung anwende, die Person in meiner neuen Kategorie "Personen" zugeordnet ist - leider ohne Hierarchie, weil ich die Person nur als "Muster Lisa" auswählen konnte und nicht "Lisa" als Subtag von "Muster". So erscheinen also alle Personen gleichen Nachnamens gleichberechtigt untereinander:
Muster Lisa
Muster Lars
und nicht wie erhofft:
Muster
    Lisa
    Lars
Vielleicht eine falsche Schlußfolgerung: heißt das, dass, wenn ich einen bestehenden Fotobestand habe (150000) in dem der Tag PersonInImage existiert, den in eine IMatchDB importieren will, dieser Tag nicht gelesen wird und alle Fotos über die Gesichtserkennung laufen müssen?
Viele Grüße, Uwe

Mario

Wenn das Tag mehrere durch Komma getrennte Werte enthält, solltest Du Werte aufteilen aktivieren und , als Separator einsetzen. Dadurch wird eine Kategorie pro Person erzeugt, und nicht eine Kategorie für jede eindeutige Kombination von Personen. Du solltest sofort sehr viel mehr Personen in Deiner DD-Kategorie sehen.

Wenn Du als Tag für eine Person "Muster Lisa" statt "Muster|Lisa" eingibst (beim Anlegen der Person im Person-Editor) kann Deine Kategorie auch keine Hierarchy aus "PersonInImage" ziehen. IMatch nimmt das Tag, wie von Dir eingegeben und schreibt es in PersonsInImage.

Setze im Personen-Editor das Tag auf "Muster|Lisa". Dann sollte es klappen.
Ich weiß aber nicht, wie andere IPTC-Anwendungen mit Regionen, die ein | im Tag enthalten, umgehen. Das ist meines Wissens im Standard nicht definiert. IMatch kann aber damit umgehen.

Tipp: Du kannst auch DD-Kategorien auf der Basis von Variablen erstellen.

Wenn Du  Lisa und Lars der Familie "Muster" zuweist, kannst Du Deine DD-Kategorie auf der ersten Ebene auf der File.Persons.Families.Name-Variablen aufbauen, und auf der 2. Ebene auf File.Persons.Label und Du hast die Personen nicht nur in der Personenansicht sauber in Familien geordnet, sondern auch in Deiner DD-Kategorie. Geht auch mit Mix mit anderen Metadaten.


QuoteVielleicht eine falsche Schlußfolgerung: heißt das, dass, wenn ich einen bestehenden Fotobestand habe (150000) in dem der Tag PersonInImage existiert, den in eine IMatchDB importieren will, dieser Tag nicht gelesen wird und alle Fotos über die Gesichtserkennung laufen müssen?

IMatch erstellt Gesichtsanmerkungen und Personen automatisch aus bestehenden XMP-Regionen in Deinen Dateien, wenn Dein anderes DAM oder Software diese geschrieben hat. Siehe Working with XMP Face Regions.
Das PersonInImage-Tag hat in diesem Zusammenhang für IMatch keine Bedeutung. IMatch wertet es nicht aus und erstellt keine Personen aus den Tag-Werten und auch keine Personen-Links. Ich habe darüber mal nachgedachtr, aber es gab nie Bedarf. "Richtige" Gesichtsanmerkungen sind viel leistungsfähiger und der zentrale Punkt von allen Personen-Features in IMatch.

Wenn Dein anderes DAM keine Gesichtserkennung kann oder keine standardisierten XMP Face Regions geschrieben hat, musst Du in IMatch einmal die Face Recognition laufen lassen, die Personen anlegen und zuweisen. Siehe People
IMatch speichert dann alles in der Datenbank und schreibt beim Rückschreiben die Gesichtsanmerkungen samt Tags in die XMP-Daten und aktualisiert auch das IPTC PersonInImage-Tag mit den Tags der Personen im Bild, vollautomatisch.

Die Daten stehen dann in der Datei (unabhängig von IMatch) und andere XMP-kompatible Anwendungen können die von IMatch geschriebenen Gesichtsanmerkungen lesen und anwenden.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Uwe

Hallo Mario,
danke für die ausführliche Antwort. Ich werde mich Stück für Stück vortasten. Allerdings klappt dein Hinweis bzgl. der Angabe im Personen Tag nicht: Muster|Lisa wird abgelehnt mit der Begründung, dass nur alphanumerische Eingabewerte erlaubt sind, "_" geht allderdings auch.
Viele Grüße, Uwe

thrinn

Nur als Zusatzinfo: Tag Validation dokumentiert, welche Zeichen im Person Tag nicht erlaubt sind. Ich verstehe das so, dass du "Muster|Lisa" nach dem Import im Full Name der Person finden solltest, "Muster Lisa" dagegen im Person Tag. So zumindest mein Verständnis der grauen Theorie...
Thorsten
Win 10 / 64, IMatch 2018, IMA

Mario

Ich habe die Dateien heruntergeladen. Nach dem Import zeigt keine der Dateien Werte im PersonInImage tag an.

Wenn die die ARW-Datei mittels Shift+Ctrl+F5 > Reload Metadata neu einlese, zeigt IMatch Werte in PersonInImage an, ebenso für die JPG-Datei. Aber nicht für die CR2-Datei, obwohl die CR2-Datei Daten in der XMP-Beiwagendatei enthält.

Sehr merkwürdig. Ich muss mir in den nächsten Tagen mal anschauen, was ExifTool an Daten liefert und wo der Inhalt für PersonInImage verloren geht. Das ist ja kein eigenständiges Tag sondern Bestandteil einen strukturierten Tags und ExifTool "verflacht" die Strukturdaten für den Import.

Ich poste, wenn ich mehr weiß und vielleicht sogar einen Bug gefunden habe.

Um Missverständnissen vorzubeugen (so wie ich Posts oben interpretiere):

Für IMatch hat der Inhalt dieses Tags keinerlei Bedeutung. Es importiert die Inhalte wie für jedes andere Tag.

Es werden nicht "magisch" Personen erzeugt oder Familien oder sonstwas. IMatch interpretiert nur die Standard-XMP Regionen für Gesichter entsprechend und erzeugt daraus Gesichtsanmerkungen und Links.
Die Beispielbilder enthalten keine Gesichtsregionen.

Beim Rückschreiben füllt IMatch dieses Tag aus den bestehenden Gesichtsanmerkungen (sofern vorhanden) und schreibt die Namen der Personen im Bild in das Tag.

Bei der Einführung von Personen-Links vor einiger Zeit habe ich mit dem Gedanken gespielt, dieses Tag auszuwerten und Personen / Familien zu erzeugen und Dateien mittels Links mit den so "gewonnenen" Personen zu verbinden.

Das wäre elegant und würde Anwendern, die keine richtigen Gesichtsanmerkungen in Ihren Dateien haben, aber irgendwie händisch Personen in dieses Strukturtag eingetragen haben, die Migration zu IMatch erleichtern.
Es gab aber keine entsprechenden Feature Requests, es ist niemals genug Zeit usw. bla-bla etc.

Das Feature steht immer noch auf meiner mid-term to-do Liste und vielleicht investiere ich mal einen Arbeitstag in die Implementierung. Es sollte nicht zu komplex sein.

Sobald ich Tickets, die vorher angelegt wurden, abgearbeitet habe, schaue ich erst mal, warum IMatch keine Daten aus diesem Tag importiert. Das ist sehr merkwürdig. Vermutlich ein Seiteneffekt der Gesichtserkennung oder Metadaten-Mapping beim Import. Ich melde mich.


PS: Bei Posts in deutscher Sprache bitte immer ein [GERMAN] im Betreff voranstellen. Dann öffnen die nicht-deutschsprachigen Anwender nicht unnötigerweise den Post.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Uwe

Hallo Mario,
nochmals danke für die ausführliche Erklärung und dann von meiner Seite aus ein +1 für den Request. Ich nutze seit mehr als 12 Jahren ein anderes DAM und bis vor kurzem (ca. 2-3 Jahre) gab es die Funktion der Gesichtserkennung nicht. Also habe ich die meiste Zeit den Personen Tag manuell gefüllt. Jetzt muss ich schauen, wie sich die bisherigen manuellen Einträge im PersonInImage Tag mit den Tags vertragen, die durch die Gesichtserkennung erzeugt werden, also alle neuen Metadataen und den daraus generierten PersonInImage Tag.
Passt zwar nicht hier her aber da ich schon mal am Schreiben bin: Habe auch mal testweise ein paar Audiodateien importiert. Kein Problem mit den ID3 Tags der MP3 Dateien. Allerdings beim FLAC Format bin ich nicht weitergekommen (VORBIS tags) bzw. habe es nicht geschafft die Kombination aller Audiodateien der Formate ".mp3; .flac" unter einer Kategorie "Audio" mit den Hierarchien Artist und darunter Titel zu erstellen. Daher vielleicht etwas grundsätzlicher: Hast du vor IMatch so auszubauen, dass im Prinzip beliebige Formate "importiert" werden können?
Viele Grüße, Uwe 

Mario

#10
Sei vorsichtig mit dem Import von Dateien. Wenn IMatch beim Import PersonInImage leert und Du anschließend rückschreibst, sind die Daten futsch! Das wäre sehr ärgerlich.

UPDATE:

Bitte erstmal die Option Bearbeiten > Metadaten 2: XMP Gesichtsregionen importieren deaktivieren.
Diese Option löst das Leeren von PersonInImage aus, weil in Deinen Dateien keine XMP-Gesichtsregionen vorhanden sind und daher PersonInImage auch leer seit muss (bezogen auf diese Option).

Danach die Dateien auswählen und mit Umsch+Strg+F5 > Metadaten neu laden erneut einlesen, damit das PersonInImage-Tag wieder aus der Datei gelesen wird.

Ich werde mich in den nächsten Tagen damit beschäftigen und sehen, ob IMatch das besser machen kann.
Da bisher noch keine ähnlichen Reports eingegangen sind und der XMP-Import seit Version 2020 so funktioniert, ist das ein eher seltenes Problem.


QuoteDaher vielleicht etwas grundsätzlicher: Hast du vor IMatch so auszubauen, dass im Prinzip beliebige Formate "importiert" werden können?
IMatch unterstützt von Hause aus mehr als 100 Formate. Falls mal ein super-exotisches Format vorkommt, kannst Du es als benutzerdefiniertes Format hinzufügen (File Formats).
IMatch nutzt zum Lesen und Schreiben von Metadaten ExifTool. Wenn ExifTool keine Metadaten aus Deinen Audiodateien lesen kann, kann IMatch es auch nicht.
Alles was Du an Metadaten im Metadaten-Panel im "Browser"-Layout siehst, kannst Du auch für DD-Kategorien verwenden. Ich wüsste nicht, warum das mit deinen Daten nicht geht.

Quote(...) eschafft die Kombination aller Audiodateien der Formate ".mp3; .flac" unter einer Kategorie "Audio" mit den Hierarchien Artist und darunter Titel zu erstellen.

Eröffne bitte einen neuen Thread, weil das Erstellen einer DD-Kategorie aus Audio-Metadaten nichts mit PersonInImage zu tun hat. Das Mischen völlig verschiedener Dinge in einem Thread macht keinen Sinn.
Füge mehr Details hinzu. Welche Daten haben die Dateien, wie hast Du die Kategorie aufgebaut. Ansonsten können wir nur raten.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Mario

#11
OK, I gave this some thought and looked at my to-list entries related to this.

The next IMatch release includes two changes related to this:

1. When the option to import face regions from XMP is enabled, but no face regions are found, the PersonInImage tag is no longer emptied, despite no faces in the file. I think this is OK for users.

2. When a file has no face annotations and no XMP face regions, IMatch now looks at the PersonInImage tag.
For each entry in this tag it produces a corresponding person using the sanitized version of the PersonInImage value as the person's tag and the non-sanitized value as the person's full name.

It also adds a manual link for each person to the file. This automatically integrates the files into the normal IMatch person-related features. Very neat.

3. If the tag value contains the hierarchy separator |, IMatch splits the value into a family name and person name and not only creates the person, but also the family (unless they already exist) and assigns the person to that family.

I've pondered this functionality when introducing manual links. And again when introducing families. And, finally, I've implemented it :)

There are some new options under Edit > Preferences > Metadata 2 which control this new feature (you can also disable if so desired).

-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook