Are Annotations stored in the Metadata of an Image?

Started by voronwe, March 17, 2021, 08:00:38 PM

Previous topic - Next topic

voronwe

Hi
I see that IMatch is writing the Face Recognition areas into the Metadata of a file. I included now also other Annotations, but they seems not to be stored.
Did I miss only the setting of a Flag or does IMatch does not store them by design?

Second thing: When setting an Annotation with e.g. a square, is there a way to make it transparent? So far I can see that I can change the color, but I did not find a way to change the Alpa-Channel (see attached picture)

From the pictures in the help-system (https://www.photools.com/help/imatch/#anno_basics.htm) it seems to be possible, but I could not find out how.



Mario

XMP has no place to store IMatch annotations. The annotations in IMatch go way beyond what simple XMP metadata can do. There is no metadata standard for something like IMatch annotations.

IMatch makes a special exception for face regions.
Converting face annotations into simple XMP face regions during export and importing existing face regions in XMP on import and converting them on-the-fly into face annotations.

To make an annotation object transparent, just clear the fill color. Same for text or borders. See attachment below.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

voronwe

#2
Quote from: Mario on March 17, 2021, 08:20:58 PM
XMP has no place to store IMatch annotations. The annotations in IMatch go way beyond what simple XMP metadata can do. There is no metadata standard for something like IMatch annotations.

I expected something like this. Is there a way to export the annotations to a sidechar as Json or XMP so that they do not get lost (I'm thinking here especially about your Idea of getting all data somehow out off the Database so it will not be lost in the (hopefully unlikely) event that IMatch will die.


Quote from: Mario on March 17, 2021, 08:20:58 PM
To make an annotation object transparent, just clear the fill color. Same for text or borders. See attachment below.

Thanks, that was the information I missed  :D

BTW: Face Reconision: As far as I can see, for connecting an Image to a person, I have to do a face recognision. Can it be also connected when writing the Name of the person into the XMP IPTC Extension\Person in Image?
I'm thinking here especially about shootings with only one Person, where all the images can be tagged in one step with this.


EDIT: Regarding the transparency: With the first Image in the help-system it seems that the transparency can be set also to 50%. When looking at the image, there is an Alpha-Value in the ColorCode which I can not find or set in my Imatch)
I'm talking about this Image: https://www.photools.com/help/imatch/content/images/en/app_00200.gif

Mario

No annotation expect.
Unless you damage your database and you don't have a backup, your annotations are save.
Use standard metadata for data you want to store in the image itself.

QuoteCan it be also connected when writing the Name of the person into the XMP IPTC Extension\Person in Image?

No. Add a face annotation. IMatch then fills in this special metadata field with the person's tag. Not the other way round. IMatch cannot create face annotations from plain text.


Quotemage, there is an Alpha-Value in the ColorCode which I

Look in the Basic group for visibility.
You can only control the visibility of the entire annotation, not individual border, text or fill colors.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

voronwe

Quote from: Mario on March 17, 2021, 09:46:14 PM
No annotation expect.
Unless you damage your database and you don't have a backup, your annotations are save.
Use standard metadata for data you want to store in the image itself.

QuoteCan it be also connected when writing the Name of the person into the XMP IPTC Extension\Person in Image?

No. Add a face annotation. IMatch then fills in this special metadata field with the person's tag. Not the other way round. IMatch cannot create face annotations from plain text.


What will happen in this case when I get Images from other sources (<- means the wild, outside world), which have allready the persons included?. How can I get this persons into the persons DB with less efford as possible?

Mario

Please read this topic in the IMatch help which explains how IMatch does exactly that, automatically: Working with XMP Face Regions

The IMatch help system is extensive and covers everything in great detail. I can only recommend using it.
The simple search term face import already shows the correct match on position 1 in the results...
If you have not read the People help topic, you may miss a lot of functionality that may save you time or allow you to do things you don't even know you want  ;)
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

voronwe

#6
Quote from: Mario on March 19, 2021, 01:51:29 PM
Please read this topic in the IMatch help which explains how IMatch does exactly that, automatically: Working with XMP Face Regions

The IMatch help system is extensive and covers everything in great detail. I can only recommend using it.
The simple search term face import already shows the correct match on position 1 in the results...
If you have not read the People help topic, you may miss a lot of functionality that may save you time or allow you to do things you don't even know you want  ;)

Ok, I had some time to try it again...
I read it and I did not found the answer to my question, sorry.

As far as I understand your link, this is about XMP Face regions, namely "XMP face tag (label)". I tried to add this to the metadate field (CoreData), but could not find it in the "Feldauswahl"

The question is: I have images which contain a person in "IPTC Extension\Person in Image". How do I get these Images connected to the Person DB without running the face recognition, because this one gives me often false results and has to be checked manually.
Example: I have a shooting with one person. This will lead to - lets say - 200 pictures, for all the pictures I know exactly who is on this picture. So the easiest way for me is to mark them all and and set in "IPTC Extension\Person in Image" the name of the person. Takes about 10sec.
When I go now to the person DB, these Images are not connected to a person. How can I connect them in a very simple and fast way. Face recogintion in my opinion is not fast, becaue I have to check all images whether it was connected correctly (which could take up to 30min)

For me, the person DB is about persons and the Face recognition should be only a helping tool to fill it with data (but not the only one). But so far as I understand it is the only one

My point is: So far I did not found a way to add a person annotation to a bunch of pictures in a fast way without running the face recognition.



Mario

I'm not sure I can follow, sorry.

You do not add XMP face regions manually. This is a very complex structured XMP tag and you cannot edit in the Metadata Panel.

If an application creates XMP face regions, it can (optionally) store the labels of these regions in the IPTCExt\Persons in Image tag. IMatch does that by default when you work with face recognition and it creates the XMP face region during write-back.

IMatch has no feature which just looks at the persons in image tag and then somehow magically produces persons from it and links these persons to the images.
IMatch uses face recognition to place face annotations in images, links these face annotations to persons in your database etc.
When you later write-back the metadata of such an image, IMatch uses the face and person data in the database to create the XMP face regions and also fill the persons in image tag.

If your files have XMP face regions, IMatch will automatically import them, create face annotations and link these annotations to persons.
Just the "persons in image" tag is not sufficient.

If you don't face to use IMatch face recognition, you can place face annotations manually in images and link them to a person.
You can use the annotation gallery and copy & paste to make this process faster.
I recommend using the automatic face recognition in IMatch, however.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

voronwe

#8
Quote from: Mario on April 02, 2021, 01:03:03 PM

IMatch has no feature which just looks at the persons in image tag and then somehow magically produces persons from it and links these persons to the images.

And here we go, that's exactly what I'm searching for. You have a Name it the  persons in image tag, just check whether this name is in the Person-DB and then link the images to it. If not, make a new person or ask the user what to do.

I think there is no much magic behind it, for me this looks like a normal Database operation. I'm not sure how the PersonDB is organised, but normally I would think that a person has n Links to the image-DB, so it is just adding another image.

All working with the FaceRecognition (even copy/paste) sounds to me like workarounds which takes time.

EDIT:
I tried the copy/paste in the gallery (Is "annotation gallery" the normal gallery or is it a special which I did not found so far?). Unfortunatly I have to do this for every file seperatly, because I did not found a way to select more than one file (at least not with the normal Windows keys or Strg+A). -> So this is time consuming.

So far I did not find a way in IMatch to add a bunch of pictures to a person in a fast way.



Mario

Quoteg, just check whether this name is in the Person-DB and then link the images to it. If not, make a new person or ask the user what to do.

IMatch links persons to face annotations in the image, not to the image itself.
IMatch would need a feature which creates a face annotation from the name and places it at an arbitrarily position and site somewhere in the image.
And then produce useless face regions during export, potentially confusing or breaking other applications. Not good.

Which application have you used which just fills persons in image but does not produce XMP face regions?
Or did you manually filed this tag somehow?

Why don't you just use the face recognition in IMatch? It works generally very good and requires a lot less manual efforts on your part.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

voronwe

#10
Quote from: Mario on April 02, 2021, 01:59:34 PM

Which application have you used which just fills persons in image but does not produce XMP face regions?
Or did you manually filed this tag somehow?

Why don't you just use the face recognition in IMatch? It works generally very good and requires a lot less manual efforts on your part.

Ok, again: I have added the "Person in Image" to the MetaData Display, and there I can add the name of a Person.

I have here a test with 350 images from a shooting: Selecting them all with Strg+A and entering a Name into the field takes about 10-15seconds.
That's it, done, no more manual effort needed

Now I do the same with the face recognition: Running it took 4 mins (maybe faster on better hardware, but that is not the point)

Out of them 150 alone where not recognised as having persons, so I have to add the faces manually. They definetly have a person, it is a portrait, but there is no annotation mark

What will happen with images with persons where you can not see the face (Photographed from the backside, body-parts only etc...) - How to handle such pictures? How to add them into the Person DB?

Face recognition is a nice way, but not the only one and definitly not the fastes one. And for me it takes a lot of manual efford, because the regognition is often wrong - for me it seems that it has problems especially with children.

So what I'm asking for is please think about a manual way of adding pictures to the Person-DB without face-recognition (in the end the Tab is called "Persons" not "Faces")

Mario

As I explained above, persons are linked to face annotations in an image. Not metadata.
Placing face annotations "randomly" based on a metadata like (like persons in image) would be theoretically possible. But it would work against the face recognition in IMatch, would require another special case to not export these randomly produced face annotations into the metadata (IMatch cannot link persons to files, only to face annotations), but still using them to update persons in image during write-back. A lot of effort, for one user.

Feel free to add a feature request in the feature request board. If possible, include details on how you would see this integrated with the rest of the IMatch persons concept.
If your request is supported by a substantial number of users, I will look into it.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

voronwe

Quote from: Mario on April 02, 2021, 09:30:52 PM
Feel free to add a feature request in the feature request board. If possible, include details on how you would see this integrated with the rest of the IMatch persons concept.
If your request is supported by a substantial number of users, I will look into it.

Done