HEIC face and "regionname" issue

Started by ratounade, November 04, 2024, 01:49:25 PM

Previous topic - Next topic

ratounade

Hi,
I have an iPhone 15 and then have many HEIC files. Where as everything is ok with exiftool on my HEIC, there is a specific issue whenever I want to set "regionname" for face recognition, but ONLY on HEIC that I have adjusted on my phone.

So in short, I do a photo, HEIC. I use DigiKam & Exiftool, FaceRecognition : It is GREAT and SMOOTH
But if I adjust the size of my photo on my iPhone and then process similarly, it does not work ;-( "RegionName" are not changed.
Find attached an example.
Thanks for your help

StarGeek

What exactly doesn't work? What error does exiftool return?

I was able to set RegionName in your sample image using exiftool without a problem.
"It didn't work" isn't helpful. What was the exact command used and the output.
Read FAQ #3 and use that cmd
Please use the Code button for exiftool output

Please include your OS/Exiftool version/filetype

ratounade

Thanks StarGeek for your answer and huge work.
1) If you don't mind could you please let me know how you had set 'RegionName' directly via exiftool commande line, I will test it.
2) I am currently using DigiKam which is leveraging (optionally) the fantastic exiftool engine to manage Metadatas. Definitely I strongly recommend to use efixtool in DigiKam as the native DigiKam features are not so powerful. So in short considering your test it seems "my" RegioName' issue is more in DigiKam and not in exiftool. I will double check thanks to 1) and then report to DigiKam
Thanks

StarGeek

Quote from: ratounade on November 08, 2024, 02:49:09 AM1) If you don't mind could you please let me know how you had set 'RegionName' directly via exiftool commande line, I will test it.

To set RegionName (or any tag), you use the -TAG=VALUE format
exiftool -RegionName="Indiana Jones" 20241102 142245 IMG_4860.heic

Example:
C:\>exiftool -P -overwrite_original -RegionName="Indiana Jones" "Y:\!temp\x\y\20241102 142245 IMG_4860.heic"
    1 image files updated

C:\>exiftool -G1 -a -s -RegionName "Y:\!temp\x\y\20241102 142245 IMG_4860.heic"
[XMP-mwg-rs]    RegionName                      : Indiana Jones

But regions are more than just a name. They are a complex structure of related data (see the Structured Information page). There also needs to be a height and width of the region and the center point of the region, which is an X/Y offset from the top left corner of the image. There are also a couple other pieces of data, but these four plus the name are the most important. And this is repeated for each region in the image.

I suspect that you are looking at the data in another program (DigiKam?, as you mentioned) and you're not seeing it. I you check with exiftool, you will see the data is there, but RegionName isn't the tag you're actually looking for. That would make this a FAQ #3. Find an image that includes the data in DigiKam and run the FAQ #3 command on it. Then look through the output to find the data.

I additionally suspect that the tag you are looking for is actually the PersonInImage tag.

QuoteSo in short considering your test it seems "my" RegionName' issue is more in DigiKam and not in exiftool. I will double check thanks to 1) and then report to DigiKam

If you describe the problem in detail, I can double-check before you resort to that. While I don't use DigiKam, I do have it installed.
"It didn't work" isn't helpful. What was the exact command used and the output.
Read FAQ #3 and use that cmd
Please use the Code button for exiftool output

Please include your OS/Exiftool version/filetype

ratounade

Hi again
I describe here my problem in detail.

context :
using last versions of both DigiKam 8.4.0 and Exiftool 13.0.2 on Windows.
I have about +40K photos, all with Face recognition and it is fully OK.
Based on different bad experiences, I decided years ago to set the DigiKam option "Write MetaData -> Delegate to ExifTool".


My issue :
While for most of the photos it is ok,
I recently observed that only on some photos (I cannot say ALL) with "HEIC format + which have been directly croped on my phone 15", the fact that I set a Face in DigiKam on such a photo does not work; concretely it does not change the MetaData accordingly. I provided an example in my very initial mail.

Thanks

StarGeek

Can you provide a before crop example?

Can you find out what version of exiftool DigiKam is using?

I do see this warning, but since I can edit the region name directly, I'm not sure if that is real problem.
C:\>exiftool -g1 -a -s -warning -validate "Y:\!temp\x\y\20241102 142245 IMG_4860.heic"
---- ExifTool ----
Warning                         : Duplicate tag 'auxl' at MOV-Meta-ItemReference
Validate                        : 1 Warning

I also tried writing a complete set of data to the file.
C:\>exiftool -P -overwrite_original -regioninfo="{AppliedToDimensions={H=4928,Unit=pixel,W=3264},RegionList=[{Area={H=0.2863203,Unit=normalized,W=0.3593805,X=0.43826965,Y=0.19003587},Name=Indiana Jones,Type=Face}]}" "Y:\!temp\x\y\20241102 142245 IMG_4860.heic"
    1 image files updated

C:\>exiftool -g1 -s -a -XMP-mwg-rs:all "Y:\!temp\x\y\20241102 142245 IMG_4860.heic"
---- XMP-mwg-rs ----
RegionAppliedToDimensionsH      : 4928
RegionAppliedToDimensionsUnit   : pixel
RegionAppliedToDimensionsW      : 3264
RegionAreaH                     : 0.2863203
RegionAreaUnit                  : normalized
RegionAreaW                     : 0.3593805
RegionAreaX                     : 0.43826965
RegionAreaY                     : 0.19003587
RegionName                      : Indiana Jones
RegionType                      : Face
"It didn't work" isn't helpful. What was the exact command used and the output.
Read FAQ #3 and use that cmd
Please use the Code button for exiftool output

Please include your OS/Exiftool version/filetype

StarGeek

Ok, open up the DigiKam directory and see how big the exiftool.exe file is.

I just removed and reinstalled DigiKam and noticed that the exiftool.exe file is only 38K. This means it installed only the exiftool launcher for version 12.88+. The exiftool_files directory is missing. See if this is the case for you.

It looks like DigiKam doesn't realize that exiftool is no longer the single file, at least for a fresh install.

With luck, the only thing you would need to do would be to download the Windows zip file and extract the exiftool_files directory into the DigiKam directory.

edit: Go into the DigiKam settings→Metadata→exiftool tab and see if there is a checkmark next to exiftool in the binary column. If there isn't, and you have exiftool installed elsewhere on the computer, change the path to that copy.
"It didn't work" isn't helpful. What was the exact command used and the output.
Read FAQ #3 and use that cmd
Please use the Code button for exiftool output

Please include your OS/Exiftool version/filetype

Phil Harvey

Quote from: StarGeek on November 08, 2024, 05:04:23 PMIt looks like DigiKam doesn't realize that exiftool is no longer the single file

Somehow they realized that the file name changed, but didn't read the release notes.  I specifically changed the name of the release .zip files to purposely break automatic updaters to avoid situations like this.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

StarGeek

Upon further thought, this can't be the problem, since it only happens with some images.

But my re-installation still didn't have the complete exiftool. So I'm at a loss as to the problem.

"It didn't work" isn't helpful. What was the exact command used and the output.
Read FAQ #3 and use that cmd
Please use the Code button for exiftool output

Please include your OS/Exiftool version/filetype

dkdeveloper

The problem with the ExifTool package in digiKam-8.4.0 is known. Shortly before the release, the problem unfortunately slipped into the release due to a "quick" update. It has of course been fixed and digiKam-8.5.0 will be released shortly.

digiKam is based internally on Exiv2 (even though we already have native ExifTool functions). We work with ExifTool via an EXV container.

In this sample image, a face region is written correctly, but Exiv2 cannot read the XMP metadata. However, reading with ExifTool is now also available as an option in digiKam-8.5.0 and then the XMP metadata can also be seen correctly.

StarGeek

Quote from: dkdeveloper on November 14, 2024, 08:06:30 AMThe problem with the ExifTool package in digiKam-8.4.0 is known.

Thanks for the update.
"It didn't work" isn't helpful. What was the exact command used and the output.
Read FAQ #3 and use that cmd
Please use the Code button for exiftool output

Please include your OS/Exiftool version/filetype

ratounade

thanks to all of you @Stargeek, @dkdeveloper and cosmoplanetary guru @Phil Harvey who created Exiftool
Will check DigiKam 8.5.0 whenever it is released
Ratounade, from Geneva, Switzerland

ratounade

I confirm that it works with Digikam 8.5.0, so definitely it was not related to exitool thanks