Support von Excire Foto xml tag

Started by I_MatchUser, February 28, 2021, 02:20:19 PM

Previous topic - Next topic

I_MatchUser

Hi,
Excire Foto stores the results in the xml file related to the foto as below example shows.
Will imatch read out this information within one of the next releases?
Right now I don't see the tagging in imatch.
Maybe I'm doing something wrong.

Thanks



<rdf:Description rdf:about=''
  xmlns:excire='http://ns.excire.com/foto/1.0/'>
  <excire:hierarchicalSubject>
   <rdf:Bag>
    <rdf:li>excire|photography|high_contrast</rdf:li>
    <rdf:li>excire|content|nature|field</rdf:li>
    <rdf:li>excire|content|nature</rdf:li>
    <rdf:li>excire|content|other|agriculture</rdf:li>
    <rdf:li>excire|content|architecture|building|house</rdf:li>
    <rdf:li>excire|content|architecture|building</rdf:li>
    <rdf:li>excire|content|architecture</rdf:li>
   </rdf:Bag>
  </excire:hierarchicalSubject>
</rdf:Description

Mario

#1
There is a standard for storing keywords in legacy IPTC, XMP and hierarchical XMP keywords. Part of the XMP standard and the IPTC standard for metadata.
This standard is fully supported by IMatch, Adobe software and all proper DAM applications out there.

As you can already tell from the names used in your example, Excire is not using this established standard for keywords.
Apparently they are storing keywords in their own proprietary namespace. I have no idea why they would do such a thing. Except for customer retention or lock-in maybe?

Using a proprietary metadata schema for something as common as keywords is not a really smart thing to do, IMHO.
Really bad for interoperability and locks you into a product.

Tip: You can see all XMP data Excire has written when you switch the Metadata Panel to the Browser layout.
You can access these proprietary Excire metadata tags in all metadata features in IMatch, from searching to sorting to variables.
You can also create your own Metadata Panel layout to show Excire-specific metadata alongside standard metadata, if you like.

IMatch will not support these proprietary keyword storage schema in addition to the 3 established XMP and IPTC keyword storage schemas.
You can copy these proprietary tags into proper XMP keywords in IMatch via a Metadata Template, if you want.

Maybe you can configure Excire software to use the proper metadata fields for keywords? This would make this data not only immediately usable in IMatch, but also in all other standard software used out there.
When I recall correctly, Excire does some automatic keywording, right?

Are you aware of the IMatch AutoTagger which can also automatically tag your keywords? With many options, proper metadata support and free choice of AI services. IMatch supports Google, Azure, Clarifai and imagga for automatic keywording.
And the keywords produced by the Auto Tagger in IMatch are properly synchronized into XMP and legacy IPTC (if needed), can be mapped via the IMatch thesaurus for synonym support, pluralization, translation etc...
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

I_MatchUser

Thanks for the good support.

You're totally right - it's not a good behavior to store the metadata in "proprietary" section.
I'm aware of the imatch auto tagger with AI support - the idea was to use Excire because you  have to pay only once for the licence.
I'll check the proposals; maybe the  "Metadata Template" one is the right one.

Mario

#3
Quotethe idea was to use Excire because you  have to pay only once for the licence.

This is correct. The cost for the 3rd party AI services may be more or less than an Excire license, depending on your usage pattern.
I would still give the AutoTagger a try. Just to see how it compares.

Two years back I've worked with the Excire team to see if I can incorporate their software into IMatch (as an optional paid feature).
After pondering this and working with the AI-based services, I decided to create the Auto Tagger as it is, with support for the four most popular AI services.
This gives users a choice and allows IMatch to integrate the latest top-notch AI services from the leaders in the field.

All AI vendors offer between 1,000 and 2,000 free monthly keyword lookups.
Unless you exceed this, the usage is free. This allows you to try them out with AutoTagger, without risk or cost.
For normal people, Clarifai and imagga are easiest to setup. Google excels in many categories and together with Azure has very good recognition rates for popular travel locations, buildings, sights etc.

Most people get by without auto tagging, because of all the advanced keywording features in IMatch which make adding keywords to masses of images a breeze. And 100% correct, all the time.
See The Keywords Panel, The @Keywords Category, The Universal Thesaurus and the corresponding videos in the IMatch Learning Center for more info.

For commercial users who need to keyword a large image volumes initially without sufficient human resources, the Auto Tagger is a big help.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

bekesizl

I only have the trial from Excire Foto and it can't write back as a demo limitation.
But this behaviour might be intentional from Excire not wanting to "pollute" the keywords with false positives.
They are handled separately in the app, too.

Try to filter for a keyword in Excire, add a similar keyword to the files in Excire. If they have done it right, this you should be able to see in IMatch.

I_MatchUser

The tag data is also stored in dc section.

Any idea how to access the data?
Somehow {File.MD.XMP::dc\subject\Subject\0} is not correct.
(typing in a normal string in the field is addded to the keywords -  so in principle I'm on the right way)


<dc:subject>
            <rdf:Bag>
               <rdf:li>Gesicht</rdf:li>
               <rdf:li>Person</rdf:li>
               <rdf:li>Ein Gesicht</rdf:li>
               <rdf:li>Frontalansicht</rdf:li>
               <rdf:li>Weiblich</rdf:li>
               <rdf:li>Erwachsener</rdf:li>
               <rdf:li>Augen geschlossen</rdf:li>
               <rdf:li>Lächeln</rdf:li>
               <rdf:li>Brille</rdf:li>
            </rdf:Bag>
         </dc:subject>

Mario

These are standard XMP keywords and IMatch will import them and map them to hierarchical XMP keywords automatically.
IMatch also maps hierarchical keywords back to the dc:subject during write-back.

It would help much if you could just provide a sample image file for analysis.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

I_MatchUser

inside the zip you can find the original xmp (Kopie), the xmp after excire export and the downsized jpg file.
(the raw  (cr2) file is too big to post here - in case you have an exchange folder for such files please let me know)

Mario

Just upload the files to your cloud space (Dropbox, OneDrive, Google Drive, ...) and post a link.
Or send it to support email address with a link back to this post (I get 50 emails per day...!).
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

I_MatchUser


Mario

OK, let's see

The CR2 file has an embedded XMP record which only contains "rating=none".
IMatch by default ignores this.

The XMP file (not the "Kopie" XMP file) contains the following keywords:

[XMP-dc]        Subject                         : Rüdesheim, Gebäude, Architektur, Gesicht, Person, Zwei Gesichter, Ruine, Wand, Frontalansicht
[XMP-lr]        Hierarchical Subject            : Rüdesheim
[XMP-excire]    Hierarchical Subject            : excire|content|architecture|building, excire|content|architecture, excire|content|people|face, excire|content|people, excire|content|people|category_person_count|duo, excire|content|architecture|ruin, excire|content|architecture|wall, excire|content|people|face|frontal_face


There is already a bit of a mess here. Only one of the flat keywords has been written to hierarchical keywords. And all Excire keywords are not in the correct keyword tags.
IMatch produces these hierarchical keywords on import by merging flat and existing hierarchical keywords:

Rüdesheim; Architektur; Frontalansicht; Gebäude; Gesicht; Person; Ruine; Wand; Zwei Gesichter

which is correct.

When I run the Metadata Analyst on this CR2 file, ExifTool finds quite a number of problems in the XMP and CR2 file:

Warning: [Metadata] Warnings: '[minor] Missing 2 entries in CanonCustom2 group 4 directory'
Warning: [GPS] Date missing.
Warning: [GPS] Time missing.
Warning: [GPS] Latitude missing.
Warning: [GPS] Latitude Ref missing.
Warning: [GPS] Longitude missing.
Warning: [GPS] Longitude Ref missing.
Warning: [GPS] Altitude missing.
Warning: [XMP] Embedded XMP record (Unknown) and XMP sidecar file (XMP Core 6.0.0) found.
Warning: [XMP] Embedded XMP rating is 0.
Warning: [XMP] [ExifIFD]:DateTimeOriginal not mapped to [XMP-exif]:DateTimeOriginal (embedded).
Warning: [XMP] [ExifIFD]:CreateDate not mapped to [XMP-xmp]:CreateDate (embedded).
Warning: [XMP] [ExifIFD]:DateTimeOriginal not mapped to [XMP-photoshop]:DateCreated (embedded).
Warning: [XMP] [IFD0]:Copyright not mapped to [XMP-dc]:Rights (embedded).
Warning: [XMP] [IFD0]:Copyright and [XMP-dc]:Rights (sidecar) mismatch.
Warning: [XMP] [IFD0]:Artist not mapped to [XMP-dc]:Creator (embedded).
Warning: [XMP] [IFD0]:Artist not mapped to [XMP-tiff]:Artist (embedded).
Warning: [XMP] [IFD0]:Artist not mapped to [XMP-tiff]:Artist (sidecar).
Warning: [XMP] [IFD0]:Orientation not mapped to [XMP-tiff]:Orientation (embedded).
Warning: [XMP] [ExifIFD]:UserComment not mapped to [XMP-dc]:Description (embedded).
Warning: [XMP] [ExifIFD]:UserComment and [XMP-dc]:Description (sidecar) mismatch.
Error: [Keywords] Flattened hierarchical XMP (sidecar) keywords don't match XMP keywords.
Warning: [Detailed Validation] [minor] Missing 2 entries in CanonCustom2 group 4 directory
Warning: [Detailed Validation] Possibly corrupted CanonCustom2 data


There seems to be a problem with the Canon maker notes, not sure, keywords are not properly mapped between flat and hierarchical, many relevant EXIF fields have not been copied to the corresponding tags in XMP when the XMP record was produced etc.
The warnings about the missing GPS data is because the file has a GPS record (with a version number) but no other GPS data. Strange.

There is also an issue with the orientation of the embedded preview in the CR2. IMatch by default assumes that the embedded preview has been rotated correctly (normal orientation) and does not rotate it, even if the RAW EXIF orientation indicates otherwise. For this CR2, the embedded preview is in the same orientation as the RAW and hence IMatch displays it wrong. This can be solved by enabling the "Rotate embedded preview (WIC)" under Edit > Preferences > Application. Or by applying a virtual transformation in IMatch.

When I replace the default XMP file with the "Kopie" file, the keywords look like this:

[XMP-dc]        Subject                         : Rüdesheim
[XMP-lr]        Hierarchical Subject            : Rüdesheim


(only one keyword in this XMP file).

and the Metadata Analyst reports

Warning: [Metadata] Warnings: '[minor] Missing 2 entries in CanonCustom2 group 4 directory'
Warning: [GPS] Date missing.
Warning: [GPS] Time missing.
Warning: [GPS] Latitude missing.
Warning: [GPS] Latitude Ref missing.
Warning: [GPS] Longitude missing.
Warning: [GPS] Longitude Ref missing.
Warning: [GPS] Altitude missing.
Warning: [XMP] Embedded XMP record (Unknown) and XMP sidecar file (Adobe XMP Core 5.6-c140 79.160451, 2017/05/06-01:08:21        ) found.
Warning: [XMP] Embedded XMP rating is 0.
Warning: [XMP] [ExifIFD]:DateTimeOriginal not mapped to [XMP-exif]:DateTimeOriginal (embedded).
Warning: [XMP] [ExifIFD]:CreateDate not mapped to [XMP-xmp]:CreateDate (embedded).
Warning: [XMP] [ExifIFD]:DateTimeOriginal not mapped to [XMP-photoshop]:DateCreated (embedded).
Warning: [XMP] [IFD0]:Copyright not mapped to [XMP-dc]:Rights (embedded).
Warning: [XMP] [IFD0]:Copyright and [XMP-dc]:Rights (sidecar) mismatch.
Warning: [XMP] [IFD0]:Artist not mapped to [XMP-dc]:Creator (embedded).
Warning: [XMP] [IFD0]:Artist not mapped to [XMP-tiff]:Artist (embedded).
Warning: [XMP] [IFD0]:Artist not mapped to [XMP-tiff]:Artist (sidecar).
Warning: [XMP] [IFD0]:Orientation not mapped to [XMP-tiff]:Orientation (embedded).
Warning: [XMP] [ExifIFD]:UserComment not mapped to [XMP-dc]:Description (embedded).
Warning: [XMP] [ExifIFD]:UserComment not mapped to [XMP-dc]:Description (sidecar).
Warning: [Detailed Validation] [minor] Missing 2 entries in CanonCustom2 group 4 directory
Warning: [Detailed Validation] Possibly corrupted CanonCustom2 data
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

I_MatchUser

Thanks for the analysis.
After some further investigations in a new fresh tiny database (much faster than my "big" one) I found the root cause.
When deselecting the checkbox for "keep existing hierarchical keywords" within "metadata/keyword import" preferences iMatch imports the keywords.
So I can use Excire as as an easy and cheap way for auto tagging.

Mario

This option exists to protect existing hierarchical keywords (which are considered the most important keywords) from accidentally being overwritten when IMatch re-imports (!) a file which has incomplete flat keywords in either legacy IPTC data or XMP metadata.

Usually you never need to turn this off because IMatch (as I showed above) automatically imports flat keywords into hierarchical keywords and performs the mapping according to your thesaurus.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook