Unwritten Metadata & Face Annotations

Started by erichaas, March 19, 2020, 02:02:21 AM

Previous topic - Next topic

erichaas

I have about 200 photos that keep showing that they have unwritten metadata. If I select Metadata Write-back for all pending files, all of the pencil icons disappear, but the next time I load IMatch, they're all back again. They all say "List of tags to write: XMP::iptcExt\PersonInImage". All of these are photos to which I have recently added face annotations.

If I delete the face annotations, the photos once again behave as expected, i.e., once the metadata changes have been written, the pencil icon does not return the next time I load IMatch.

Mario

1. Always include an IMatch log file (log file) when you reporting issues like this.
The log file must be from the same IMatch session where you noticed this problem.

2. Show us the metadata contained in one of these files. You can use the "List Metadata" in the ExifTool Command Processor and attach (!) the result as a text file.

3. Run the Metadata Analyst app on the same file. Does it show any errors or warnings?

4. Run a database diagnosis. If it reports errors or warnings, attach the diagnosis log file to your reply.

The PersonInImage tag is updated when a person is confirmed or removed from an image.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Stefan

I think the problem could be under this scenario:
Automatic face detection is on. As long as the faces are not confirmed, it will not be written to the file. But IMatch suggests to write back meta data.
If I recall correctly I had the problem after fresh imported pictures and IMatch claimed they were unwritten metadata. But as long as there are unconfirmed faces those annotations will not be written to the file.
It could be called a feature ... on the other hand it is a little bit confusing as well. Maybe solution is that the icon for unwritten meta data should not be enabled with unconfirmed faces because those faces will not be written back.

Mario

When you import a file, IMatch will create many "new" metadata tags in the XMP record, by mapping legacy IPTC, EXIF and GPS from the native data to XMP. This is normal.

IMatch only assigns keywords, files and person metadata when faces are confirmed.
Else every time you assign a person to a face and IMatch scans the database for matching faces, dozens or hundreds of files would need to be updated.

But I'm still not sure what happens.

With "Automatic face detection is on" do you mean you let IMatch do face recognition when it indexes files (this is off by default).
This will detect faces and even may confirm faces (aka modifying metadata) when persons are found with a high confidence.

For the 200 files in question, do these contain confirmed face annotations?
What you look at the PersonInImage tag in the Metadata Panel (switch to the Browser layout to see all data) does the tag contain data? Is it marked as pending (pen icon)?

As far as I can see in the code, this tag is only set when a person is linked to a face and confirmed (manually by you or by the AI).
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

spiff

#4
I do have the same behavior of imatch with that difference: the unwritten "List of tags to write: XMP::iptcExt\PersonInImage" does not appear after each fresh load of imatch but after running database diagnostics. After each database diagnostic it gives multiple warnings about it which i can not show again because my database is maintained now like "... face removed". Always affected from 1/5 to 1/3 of bundle of  images i gave face annotiations in my whole database with about 21.000 elements.

I found a way to get rid off it, but do not like it because it slows down the efficienzy:
(1) Got to collection "pending meta data write back" and check if there is no picture listed (be shure that everything is written to xmp).
(2) rund database diagnostic or in your case exit imatch and load again.
(3) go to collection "pending meta data write back" and check if all picures have just "List of tags to write: XMP::iptcExt\PersonInImage" and mark them
(4) commands --> Image --> Face annotations an people --> re-create face annotations frome xmp data
(5) commands --> metadata-write back --> for all pending files
(6) do (2) and check the result, there should be no image left with "List of tags to write: XMP::iptcExt\PersonInImage"

Again, i hav no idea what is the reason. I also uninstalled 2020 and installed it again but the bug is still there. I also see it on a fresh test database. I supposed it only affects when using RAW + jpg images, but it also appears when just RAW, or jpg are in database.

If i have time i will do a short video so Mario can see it.

Automatic face detection is disabled, so this is not the reason.

Mario

Please attach your diagnosis logfile, in zipped form.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

erichaas

Log file and metadata attached.

Metadata Analyst shows the following:

SYSTEM
  File has unwritten metadata (pending write-back).
  The metadata loaded from the image and the data in the database may not match.
GPS
  Date missing.
  Time missing.
  Altitude missing.
  Altitude Ref missing.
XMP
  [ExifIFD]:UserComment and [XMP-dc]:Description (embedded) mismatch.
  [XMP-iptcExt]:LocationShownGPSLatitude and [XMP-exif]:GPSLatitude (embedded) mismatch.
  [XMP-iptcExt]:LocationShownGPSLongitude and [XMP-exif]:GPSLongitude (embedded) mismatch.

Database diagnosis reported the following:
Checking Metabase:
      Warning: 13 files marked as pending for write-back which have no data to write-back. Fixed.
Completed.

All 200 photos contain confirmed face annotations.

The Person In Image tag contains data, and it is marked as pending.


spiff

Please add the log file from database diagnostics also.

erichaas

Spiff,

I did a Metadata Write-back for all pending files, and then did a database diagnostic, and the unwritten metadata icons are back again.

erichaas


spiff

Quote from: erichaas on March 19, 2020, 09:25:12 PM
Spiff,

I did a Metadata Write-back for all pending files, and then did a database diagnostic, and the unwritten metadata icons are back again.

Did you go according my instruction expecially:
(4) commands --> Image --> Face annotations an people --> re-create face annotations frome xmp data
?

I can not find any warning in database diagnostics, this differs to my case.

erichaas

Spiff,

I followed your instructions. When I ran the diagnostics again, it found 23 invalid face annotation links. Unfortunately, I managed to somehow not save the log file.

Also, now most of my 200 photos are now missing their face annotations.

spiff

i can't explain why imatch lost face annotiation notes. Because it was ensured everything was written to xmp before running "re-create face annotations frome xmp data". In my case i never lost a face annotation doing so - as expected.

erichaas

Possibly another clue: Every time I shut IMatch down, I use Pack & Go to make a back-up. I have the database diagnosis box checked in Pack & Go.

spiff

So deactivate pack and go once and see what happens after loading imatch again.

erichaas

If I do not use Pack & Go, the problem does not occur.

spiff

So it is the database diagnostics, run it during an imatch session and the problem is there. Just like it is with me.

erichaas

Quote from: spiff on March 20, 2020, 12:05:09 AM
i can't explain why imatch lost face annotiation notes. Because it was ensured everything was written to xmp before running "re-create face annotations frome xmp data". In my case i never lost a face annotation doing so - as expected.

I went into Preferences / Metadata 2 / Annotations and set Manage faces in XMP regions to Yes. Now using Re-create Face Annotations from XMP data no longer removes the face annotations.