AvPicFaceXmpTagger

This program was written because of the new Google Picasa 3.5 face recognition feature. Due to the fact that Picasa 3.5 doesn't store the face recognition data inside JPEG pictures, this program fetches that data and stores it as XMP-MP meta tags inside the JPEG pictures.

The Picasa 3.5 face recognition feature stores the face data inside the Picasa database. As a consequence this data is lost when you give away your pics and this data cannot be shared with other users or with other Picasa instances running on different computers. Lukily Picasa stores the face recognition data (persons & faces) in quite simple text files so reading that data is not a big clue.

There is already a method available how to store face recognition data inside JPEG pictures. This method uses XMP tag system created by Adobe with the addition of Microsoft XMP namespace Microsoft Photo Region Schema and is used by Windows Live Photo Gallery.

Right at the start this program reads the Picasa text file holding the persons (contacs). Each person has assigned an unique person ID. For every file of for all files in a directory which is added to the list of files or directories the picasa.ini file is searched for face definition. If face definitions are found for a file, they are added as XMP tags. Optionally, the person names are also added as IPTC Keyword tags.

The actual tagging of the JPEG files is done using ExifTool - a great and widely accepted/trusted tagging program which is known for its good makernotes handling (to leave them intact).

Feature list for AvPicFaceXmpTagger:

  • Read Picasa 3.5 face definitions for a given list of pictures and write them as XMP metadata tags inside the picture files.
  • Optionally add the person names as XMP keywords and/or IPTC keywords
  • The tagging work is actually done using exiftool
  • Show detailed information for a picture file:
    • Picasa and XMP defined faces
    • XMP and IPTC keywords
    • Complete XMP data tree with file export facility
    • Complete EXIF, IPTC, JPEG tag tree with XML file export facility

System Requirements

Installation

This program doesn't need any installation. It's just plain .NET executable and can be even run from USB stick or CD/DVD.

The Windows registry isn't used in any way. At program start the current directory is searched for the optional file AvPicFaceXmpTagger.ini which holds some program options. This file will be written/updated when the program terminates and if the current directory is writable.

Note about exiftool: The program comes with exiftool included in the executable. So you don't need to download exiftool yourself. But when you download and unpack exiftool you'll find an executable named “exiftool(-k).exe”. You need then to rename this file to “exiftool.exe”.

Command Line Arguments

Usage: AvPicFaceXmpTagger.exe [-c <inifile>] [-r|-R] [ <file> [<file> …]]

Option Description
-c <inifile> Load the specified options file <inifile> at startup.
-r When scanning a directory for pic files, also scan all subdirectories too.
-R Don't scan subdirectories.
<file> One or more JPEG files.

Program Manual

Menu: File

Add Directory...

Choosing this menu item a directory selection dialog box will open. Choose a directory to be added to the Files/Directory selection list.

Add Files...

Choosing this menu item a file selection dialog box will open. Choose one or more JPEG file(s) to be added the Files/Directory selection list.

Exit

Terminate the program. If the current directory is writable, the .ini file holding the program option is written/updated prior exit.

Menu: Extras

Options...

Choosing this menu item the options dialog will open.

Group Box: ExifTool

This program needs ExifTool for tagging the JPEG files. With this option you can specify where to find the exiftool executable.

* Search exiftool in search path * Use this path for exiftool:

Group Box: Picasa Contacs File

As a default this program uses the standard path to the Picasa contacts file. But you can define another path if some reason this standard path is not correct.

Menu: Help

Changelog...

This dialog box shows the change log for the different versions of this program.

About...

Information about this program and copyright notice.

Tab: Tagging

Group Box: Picasa Contacts

At the start of the program or whenever the path to the Picasa contacs file was changed in the program options dialog, the Piacasa contacs file is read in. If the contacts file cannot be found, read or if there any contacts defined, an error message is displayed here and tagging will not be possible at all.

Group Box: Files/Directories Selection

In this tab the directories or files to be tagged are specified. Either use the File→Add Directory… or File→Add Files… menu items or just add files or directories by drag&drop from a explorer window.

The checkbox “Include subdirectories” controls if for directories also subdirectories are scanned for pictures with Picasa face definitions.

Just for your information and for curious people interested in statistics, the number of directories, files, persons and faces which belongs to the current selection is displayed.

Group Box: Options

The option “Create backup files” controls if exiftool is required to create a backup file of the JPEG picture before doing the tagging. As a default this option is turned off as it will create a lot of files in normal operation when turned on. So this option is here mainly for testing and evaluation purposes.

The “IPTC:Keyword tags” and the “XMP-DC:Subject tags” options controls what to do with IPTC Keyword and XMP Subject tags. Both tags are string list tags - they can hold an arbitrary number of strings as it's value.

The IPTC:Keyword is used by Picasa. The XMP-DC:Subject tag is used by Microsoft. Basically it's a good idea to add the people names as tags.

There are following possibilities:

  • Don't touch: don't touch this tag. Nothing will be deleted or added to this tag.
  • Delete all: this tag is deleted entirely.
  • Delete persons: only the person names or the person hash IDs are deleted from the tag. All other tag members remain.
  • Add persons: the persons are added to the tag. Duplicates are avoided.
    • When you check the checkbox “and add. keywords” the keywords defined in the keyword list in the “Add. Keywords” tabs are added additionally during the tagging operation. This checkbox can only be checked if there are additional keywords defined.

Starting the tagging process

The tagging process is started by pressing the START button. All directories given in the directory selection list are scanned for picasa.ini files and the corresponding picture files. All files in the selection list are searched in the picasa.ini file in order to find a face definition.

For each picture file with face definitions found the program creates/deletes the tags according to the options settings.

The tagging process can be cancelled by pressing the Cancel button.

Tab: Logging

The logging tab shows the exiftool command lines which were executed by the last tagging run. This output is mainly used for debugging and by curious people who wanna know how exiftool is called.

Tab: Picasa Contacs

In this tab a simple list with all loaded Picasa contacts is shown. This list is currently just for information and of no real use.

Screenshots

Main Window

This screenshot shows the main window of AvPicFaceXmpTagger.

Additional keyword definitions

In this list box you can define additional keywords to be added while tagging the pictures. The keywords are sorted alphabetically in the list. You can delete a keyword by selecting it and then pressing the <DEL> key. By pressing the “Clear” button, all list entries are deleted.

It is possible to save the keyword list to as text file (just a simple text file with one keyword on each line) with the “Save to file…” button. And of course a text file can be loaded into the keyword list withe the “Load from file…” button. When loading from file, all existing keywords are deleted.

Options Dialog

This screenshot shows the options dialog for AvPicFaceXmpTagger.

Picture Information Display

This dialog box can be opened either by double-clicking on a filename in the file selection list or by selecting a filename and activating the “File Props…” button.

Pic Info Display: Main Display

In the main view you can see the picture on the left side. On the right side some basic information fields are shown in the upper half. In the lower half you can see the defined faces and the defined keywords.

Pic Info Display: Main with Face 1

Whenever you move with your mouse on a defined face you'll see it's name below the face box.

Pic Info Display: Main with Face 2

Whenever you select a person, the picture will be dimmed and only the persons face remains bright. When no person is selected the whole picture will be shown normal again.

Pic Info Display: Google Maps Display

Pic Info Display: XMP Tree View

The XMP data is an XML structure. You can see here the complete XMP data structure as a tree. The XMP data can be exported to a text file by pressing the “Write XML file…” button.

Pic Info Display: IPTC Tags

You can see here all defined IPTC tags.

Pic Info Display: EXIF Tags

You can see here all defined EXIF tags.

Pic Info Display: JPEG Tags

You can see here all defined JPEG tags.

Pic Info Display: All Tags

You can see here all defined tags (without the XMP data) as a tree. By pressing the “Write XML file…” button you can save the complete tag tree as an XML file. This XML file even contains the DTD.

Links

  • After my first experiences with Picasa 3.5 and when I decided to find/program a workaround for the missing tagging feature, I found this article How to Back up Name Tags and copy to an another computer in the Picasa Help forum which gave me the inspiration and the motivation to make my program available to the community.
  • This article People Tagging Overview at the Microsoft Developer Network site explains and defines XMP-MP (Microsoft Photo 1.2) schema.
  • A free tool provided by Microsoft named WICExplorer is able to show (not only) the XMP tags in a JPEG file.
  • The Windows Live Photo Gallery which is part of the Microsoft Windows Live Essentials software suite uses and shows the XMP-MP face region tags.

Tips and Tricks

ExifTool: some command line invocation examples
Show value of IPTC:Keywords and XMP:Subject tag
exiftool -s -iptc:keywords -xmp:subject file.jpg
Delete complete IPTC:Keywords tag
exiftool -iptc:keywords= file.jpg
Copy all IPTC:Keywords to XMP:Subject
exiftool "-xmp:subject<$iptc:keywords" file.jpg
Copy all XMP:Subject to IPTC:Keywords
exiftool "-iptc:keywords<$xmp:subject" file.jpg
Show all XMP tags
exiftool -b -s -xmp file.jpg
Copy EXIF GPS data to XMP GPS dataexiftool ”-xmp:all<gps:all”
”-xmp:gpslatitude<gpslatitude”
”-xmp:gpslongitude<gpslongitude”
”-gpsdatetime” file.jpg

Download

Version 1.4

  • Release Date: 14.10.2009
  • Download: AvPicFaceXmpTagger Version 1.4 (2.59 MiB, 846 downloads)
  • Changes:
    • Starting with this version “exiftool” is included in the executable. When configured in the options to use the internal exiftool version, the internal exiftool is unpacked in the current directory or, if this is not possible, in the systems temp directory. Upon completion the executable will be deleted.
    • Bug fix: an error where an exception occured when a tag was found more than once.
    • Bug fix: the scrollbar in the contacts list is now shown.
    • Bug fix: the GPS latitude and longitude fields are now shown in full length.
    • It's now possible to start the tagging even though no face definitions are available for the pics in order to be able to just tag files with the additional keywords.
    • Bug fix: the additional keywords list dialog elements were not positioned correctly on resize.
    • Bug fix: the auto orientation handling for the pics has been corrected.
    • It's now possible to select multiple persons. All persons selected will be shown in a highlighted rectangle. All persons can be simply selected by pressing CTRL-A.
    • When the mouse hovers a face the name tags for all faces are shown.
    • Bug fix: XMP keywords are now written and read as UTF8.
    • Bug fix: IPTC keywords are now written and read as UTF8.
    • Now all JPEG files (with extension .jpg and .jpeg) are processed for tagging. Previously only files having a definition in picasa.ini were processed. Non JPEG files are silently ignored when trying to add them to the file selection list.
    • Added command line flag ”-c <inifile>” with which the inifile can be specified.
    • Added command line flag ”-r” which enables recursive subdir scanning when scanning for files in a directory.
    • Added command line flag ”-R” which disables recursive subdir scanning.
    • All non-options (words not starting with a hyphen) are used as JPEG files or directories and will be added to the file selection list. With this option you can easily create a SendTo link in Windows.
    • You can now configure the Windows Explorer context menu in the options dialog box. Whenever you right-click on a JPEG file or a folder you can select AvPicFaceXmpTagger from the contect menu. This feature is disabled by default.

Version 1.3

  • Release Date: 12.10.2009
  • Download: AvPicFaceXmpTagger Version 1.3 (105.25 KiB, 67 downloads)
  • Changes:
    • The picture information display dialog box is not modal for the main window anymore. The tagging process can be only started when no picture information dialog boxes are open though.
    • A new keyword list box holding additional keyword entries is available now. These keywords can be added to the IPTC/XMP keywords during the tagging process optionally. The keyword list can be saved to or read from a simple text file.
    • Now every EXIF meta data directory has a corresponding tab entry in the tab control (i.e. the GPS or the maker notes directories.
    • If the GPS location is available in the EXIF GPS directory, this location will be displayed on Google Maps.
    • Pictures are auto-rotated due tue the EXIF orientation tags (if available).

Version 1.2

  • Release Date: 10.10.2009
  • Download: AvPicFaceXmpTagger Version 1.2 (101.51 KiB, 67 downloads)
  • Changes:
    • A new picture information display dialog box is available. This dialog box can be opened by either double-clicking on a picture filename in the file selection list or by selecting a file and then pressing the “File Props…” button. In this dialog box you can see the Picasa/XMP face definitions, all EXIF, IPTC, XMP and JPEG tags and you can export the XMP and all other tags as a XML file.

Version 1.1

  • Release Date: 7.10.2009
  • Download: AvPicFaceXmpTagger Version 1.1 (23.18 KiB, 48 downloads)
  • Changes:
    • Added a Changelog dialog window showing the change history. The changelog window is available under “Help”→“Changelog…”.
    • The situation where “alias” names are used in contacts.xml and picasa.ini files are handled now. The picasa.ini files might contain a ”[Contacts]” section with alias names definitions and the contacts.xml file has a ”<subject></subject>” entry then.
    • A new statistic counter showing the number of unknown faces was added. A unknown face is a face where its hash key couldn't be resolved to a person name.
    • There are now more possibilities to specify what to do with the IPTC and XMP Keyword tags: “Don't touch”, “Delete all”, “Delete persons” or “Add persons”.

Version 1.0

Discussion

Michael Hagedorn, 2009/10/06 02:21

Great work Andreas. It works fine in my initial test.

The only thing that I could find was that the IPTC keyword which should be the persons name is in my case the contact hash key.

The field in the xmp part RegionPersonDisplayName is the hash key as well. Is this how it should be?

How does the program behave when it is run twice on the same image? The log indicates it overwrites some xmp data, is that all the xmp or only the people tagging part?

Thanks a lot again for this fine work.

Cheers Mike

Andreas Vogel, 2009/10/06 10:23

Hi Mike,

Whenever a hash key is used instead of the persons name, this means the hash key couldn't be found in the Picasa contacts list. Dunno know why this is the case for you and how it happens. Any suggestion what to do in this case? I'm open to improve my program.

When this program is run twice on the same image (just multiple times) the following will be performed:

  1. All XMP-MP tags are deleted.
  2. All persons recognized by Picasa are added as XMP-MP tags.
  3. If this option is enabled, all person names are added as IPTC keyword tags. The program ensures that each person name appears only once as a keyword tag.
chaospir8, 2009/10/06 16:21

Hello Andreas,

you should mention in the installation description that the ExifTool should be renamed to exiftool.exe else it doesn't function (f.e. if it's file name is exiftool(-k).exe link in the actual ExifTool-download)

Andreas Vogel, 2009/10/06 17:34

Done! It's mentioned in the exiftool installation instructions. Anyway, I mention it here too with compliments. ;-)

Michael Hagedorn, 2009/10/06 21:20

Hi Andreas

That makes sense to use the hash key if it can't be found in picasas contacts file.

My contacts files hash keys seems to be different from the ones in the Picasa.ini file. This could be because I brought the photos and the Picasa.ini files from home and had picasa rescan everything at work. The names however show up correctly. Maybe there is different sets of hash keys, online and offline ones.

In my Picasa.ini file is a short [Contacts] section which seems to relate the hash keys to my google account contacts in my case:

[Contacts]
ab24c59a6f4e6480=hagedorn.michael_lh,10
4fc3d7827ac87f3c=hagedorn.michael_lh,e
edf8d7c1e21b043a=hagedorn.michael_lh,13
a7455a587de40913=hagedorn.michael_lh,f

And in my contacts.xml my entry is:

 <contact id="2a6a10dd98380ba9" name="Michael Hagedorn" display="Michael" modified_time="2009-09-23T07:45:04+13:00" sync_enabled="1" email0="bla@blabla.net.nz">
  <subject user="hagedorn.michael_lh" id="13"/>
 </contact>

As you can see <subject user> field relates to the correct name while the hash keys are different.

So I guess the lookup should be done by the <subject user> field if it exists. What do you think?

On a side note, is there any software that displays the XMP MP Tags in the image (box around the face and name)?

Again, thanks for the great program. Would you be willing to share the source code? I do a bit of .net myself and am always willing to learn something.

Thanks a lot Viele gruesse von den Antipoden Mike

Andreas Vogel, 2009/10/06 23:32

Hi Michael,

I haven't seen yet the scenario you describe so I need your input and help to get it solved. Let me summarize:

  • It is possible that the .picasa.ini or picasa.ini files contain a [Contacts] section with the data you already described. The format is: <hash key> ”=” <subject user> ”,” <id>
  • The contacts.xml file contact entry might contain <subject></subject> nodes which define some kind of alias names for the given contact.
  • The person hash keys in the .ini file might refer to one of the hash keys defined in the .ini file itself. In this case the real person name can be retrieved by searching the contacts.xml file using the <subject user> and the <id> field in the list of alias names defined in the contacts.xml file.

OK, I'll try to add this functionality (actually without the possibility to test it myself).

I've added two links at the link section meant as a answer for your question what software can show the XMP tags. Microsoft Windows Live Photo Gallery shows you the pics with the face rectangles and the names according to the XMP tags.

Michael Hagedorn, 2009/10/07 00:08

Hi Andreas

Yes, you have summed it up correctly. I think this type of behavior has to do with the online synchronization of the contacts. If you want I could create a small sample for you to test on. Otherwise I will test it as soon as you update it, or maybe you want to mail me that version first for testing.

For some odd reason I can't download the wictools_v1.0.exe from the mircosoft site at the moment (get a socket error).

Kind regards Mike

Michael Hagedorn, 2009/10/08 00:22

Hi Andreas

Your version 1.1 fixes the above problems I had. Great works thanks a lot.

Cheers Mike

Paul Wright, 2009/10/06 21:50

I've installed the program and ran it on a single folder of 12 pictures. Had some trouble getting it to run but it turned out the be the (-k) thing in exiftool. Thank you for noting that on your site. With that fixed it seems to run fine. One anomaly I found was that for a single picture in the group, Picasa had 3 faces identified but your program only created 2 names in keywords. Duplicate run created same result. The missing name is one where there is no entry in Contacts to relate it to. While this explains it, it is not a desirable loss. Picasa retains the name so I would want any data plan to do so also.

Wonderful program, though. Thank you.

Andreas Vogel, 2009/10/06 23:35

Hi Paul,

in order to understand and solve that problem I need your input or some more details. For the missing face the hash key for that person should have been written as XMP tag. Is this the case? Is it possible that your case is similar to Michaels case?

Paul Sims Wright, 2009/10/08 22:38

Had some difficulty finding a viewer to show me the XMP tags. Thank God for Xnview. Then I finally figured out the problem. My fault, not yours. I tested your program on a backup folder that apparently had been created before I manually identified the third person. When I ran it on the main folder, it properly labeled and coded all three.

Sorry for the confusion.

—–Paul—–

Michael Hagedorn, 2009/10/08 00:54

Hi

On a side note regarding exif tags. I like and use pisasa a lot, the face tagging feature is great. However when it comes to handling exif it fails. For example if you tag and image in picasa, this will add this tag to the IPTC keywords in the image metadata. This happens without a backup of the file being made. However this will as well remove the Nikon manufacturer exif information from the image file (I know this to be the case for at least the Nikon D200 and the Nikon D300s) which carries a lot of information I don't like to lose (for example lens used, focus point).

ExifTool does not corrupt the exif data in anyway (at least I have never seen it or heard about it). And it is the correct tool to use here. I don't know why picasa still has not address this issue, it has been raised long ago.

It would be great to have a program just like AvPicFaceXmpTagger were you can drag a selection of images from picasa onto it and then add IPTC keywords to these using the exifTool in the background. This would be a nice workaround for the picasa tagging feature which corrupts some exif metadata.

I guess this is a feature request or could be seen as a separate program. The drag and drop would make it very easy to use.

Let me know what you think

Cheers Mike

Geoff Coupe, 2009/10/08 19:22

@Michael Hagedorn - it sounds as though you're describing Microsoft's (free) Pro Photo Tools. Have you tried it? See http://www.microsoft.com/prophoto/downloads/tools.aspx

Michael Hagedorn, 2009/10/08 22:33

@Geoff Coupe

Hi Yes that does the trick. I have checked with exifTool and it seems to preserve all the exif data. Thanks for the link.

I would still like an ExifTool based tool. ExifTool if being maintained very actively.

Cheers Mike

Daniel Matos, 2009/10/09 13:10

Hello

What about the other way around? AvPicFaceXmpTagger helps adding Picasa's People info into XMP tags but I have a slightly different need: I have most of my photos already people tagged (using Windows Live Photo Gallery). I need to import that info into Picasa's contact structure.

Does anybody have an idea on how could this be possible?

Andreas Vogel, 2009/10/09 13:14

Hi Daniel,

as long as Picasa doesn't give us any API to access the database or any helper tools to add or retrieve information from it, we have no chance. Sorry for that and believe me, Googles attitude in this case makes me really upset.

Allan, 2009/12/24 19:51

To import images with face rectangles it should be possible to create a .picase.ini file from the tags in the images and the picasa contacts.xml file. I have done this manually and it seems to work fine. You do not need to include contact info in the .picasa.ini file. The folowing will import face rectangles for 2 people, no other info required in the .picas.ini file.

[S-0726.jpg] faces=rect64(70890d05b26d4bb),0000000000000001;rect64(89b28f82c364be34),0000000000000002 [S-0729.jpg] faces=rect64(4b3961a693949d5c),0000000000000002

The person ID's do not match contacts.xml so the will be marked as unknown and could be moved manually. To attribute to the correct person replace the dummy person IDs with the correct ID from contacts.xml

Process as I see it:

extract required tags from images (ImageName,RegionRectangle,RegionPersonDisplayName) for each unique Person assign a sequential ID provide a way for the user to cross-reference Person to contact.xml (maybe suggest matches) replace dummy person ID with matched value from contact.xml write the .picasa.ini file

Import the folder into Picasa complete with name tags

Michael Hagedorn, 2009/10/11 22:41

Hi Andreas

I have tested the 1.2 version on my system and it works perfect.

Great work.

Thanks a lot.

The new image display form at the moment locks the main form (it has to be closed ). This is just being picky though.

Maybe a field where you can add your own custom keywords (see exif corruption when tagging in picasa post above)?

Cheers Mike

Michael Hagedorn, 2009/10/11 22:55

Hi Andreas

Some minor notes:

The exif information doesn't show all the exif data (GPS, Maker notes etc). These are shown in the ALL TAGS AS XML (I think).

The image is not automatically rotated (I am aware that this might be difficult one since different makes and models have different tags for the orientation, I think).

Great program.

Would you be inclined to share the source code? I fully understand if you don't want to.

Cheers Mike

Andreas Vogel, 2009/10/12 23:06

Hi Mike,

I hope this 1.3 version now has everything you requested - even more. ;-)

At the moment I don't wanna share the source, mainly because it's quite quick and dirty, sorry.

Cheers, Andreas

Vern Crawford, 2009/10/12 13:00

Hi Andreas,

Thanks for your ongoing work on this. Just reading this discussion has been very informative. I look forward to using your program just as soon as Picasa finishes tagging all my many faces, and I label them.

Cheers, Vern

Rolf, 2009/10/13 19:53

Hi Andreas,

I just found “the” thread and this page: it's just what I need! And shame on Google for not supplying the interfaces with their data base.

Unfortunately, although I read all I can not make AvPicFaceXmlTagger (V1.3) find exiftool.exe, no matter if I put it into the path or specify it (it's right in the same dir as the program itself.) Yes, I did rename it, still says 'Error: Exiftool executable doesn't exist in 'C:\Programme\exifTagTools” '. Using “program files” (the English version) does not work either. I am running Win7, and tried it as Administrator, and I removed special privileges. No luck.

What…?

Rolf

Rolf, 2009/10/13 21:35

Hello again, There, I got some success on the matter of not finding the exif tool, and I have a very important suggestion concerning Umlauts.

I juggled a bit with the Path variable and added a .; to it instead of the explicit path. Now, the module exiftool.exe was found; so I thought: obviously it just can not handle the option “use this path for exiftool”.

Then I noticed what I thought was another bug: if you use the ”…” to specify that path, it browses files, not directories (or both).

AHA: the path you were talking about was the file specification, i.e. “c:\abc\exiftool.exe”. Well … I'm a DAU it seems. But maybe you can clarify this in the documentation.

Next: I don't only have jpg's, but also tif's and such. bmp's don't work, their file names are passed to exiftool which can't handle them (yet?). So either the choice of “add directory” does not work in such cases, or you should set a file mask to select only those pics that work. Unfortunately, your program then stops processing the other pictures.

And here's the trouble with Umlauts in some people's names. I get the following message: “warning: malformed UTF-8 character(s)”.

It took me a while to find out what was going on, because AvPicFaceXmlTagger only said “Error: exiftool command: ” (nothing followed this text)

This error message becomes visible only if you take the failing log entry from AvPicFaceXmlTagger and stick it into the command line of exiftool. In other words, the error/warning message is not passed on from exiftool to AvPicFaceXmlTagger.

I checked google on the IPTC/UTF-8 bug, and found this: “http://www.cpanforum.com/posts/5146” which got over 5000 (!!) responses, going back to year 2005. I have not had the time to read all responses. But I found this one:

Posted on Tue May 15 14:31:15 2007 by exiftool in response to 5135 Re: Warning: Malformed UTF-8 character(s) Yes, ExifTool now translates coded characters for IPTC. See FAQ #10 for details. You can use the -L option when writing IPTC if you want to disable translation of special characters.

WOW, the -L option works!

How about adding this into your call to ExifTool?

Thanks, Rolf

Andreas Vogel, 2009/10/14 02:43

Hi Rolf,

sorry, but I thought that it's obvious to specify the path to the exiftool executable itself. ;-)

The upcoming version will process all JPEG files but will silently ignore all other files.

And I have corrected that UTF8 issue. Now the XMP and IPTC tags are all written in UTF8, so the -L flag is not needed. The problem with the error message is that this message doesn't come on stderr but on stdout and that there is no error exit code.

Thanks for your suggestions and your error report.

Phil Harvey, 2009/11/04 16:24

Rolf wrote: ”I checked google on the IPTC/UTF-8 bug, and found this: “http://www.cpanforum.com/posts/5146” which got over 5000 (!!) responses, going back to year 2005.

Luckily, no. Only 10 total posts in this thread:

http://www.cpanforum.com/threads/5133

The 5000+ number was the total number of posts in the entire cpanforum site up to this point.

Patrick, 2009/10/14 18:49

Hi Andreas

Thanks a lot for the really nice work :-) Your tool is just the program I needed. Keep up the good work.

Greetings, Patrick

Michael Hagedorn, 2009/10/14 21:02

Hi Andreas

Great work. I have tested version 1.4 and couldn't find anything wrong with it.

Cheers Mike

Alejandro Ruiz, 2009/10/14 23:31

I Just wanted to say, Great Work!!! I've installed and tested version 1.4 and added face tags to more than 8000 pics without a problem. (well, It haven't finished yet, but its more than 50% done :) :) )

Thx for your work, google should implement this functionality.

Regards Alejandro

Mike D, 2009/10/16 14:08

THIS IS A GREAT TOOL! I would like to thank-you personally and on-behalf of all 'those' who have used the tool to their benefit but for whatever reason(s) were not or have not been able to Thanks personally.

Thanks Again!

Everyday Common-User!

MDunbar

John S, 2009/10/20 14:30

This just great - thank you so much for taking the time and effort to make it available.

When exiftool throws an error (“Multiple photoshop records” in my case) processing stops, as it should. If I then remove the offending file and restart, I get a “can't find file”. The only way to rebuild the file list seems to be to clear it from the list and re-navigate to it, which is tedious! Would it be possible to add a “refresh list lists” button or menu option? or at least add a “continue processing” button?

Thanks! JohnS

Andreas Vogel, 2009/10/20 15:31

JohnS,

you are right, this feature is missing or even more this is something that need to be fixed. I'll try to do this, but right now I'm away for the next 2-3 weeks. Sorry.

@ALL

Thanks for thanking…. I read it and of course it gives me something back. ;-)

Andreas

Gunar, 2009/10/20 23:16

Andreas,

Looks like you have a very cool and powerful program. You should check out the Guidelines for Handling Image Metadata specification and test files at http://www.metadataworkinggroup.com

I'd love to hear feedback - send me an email directly.

Gunar

Todd, 2009/10/20 23:53

This is a fantastic tool; thank you!

Do you know of any way to do the same thing for non-jpeg files? Most of my files are in Adobe's .DNG format, and I'd love to write the face information into them, but I don't see a way to do that for files that aren't jpegs. Any ideas?

Thanks!

Todd

Andreas Vogel, 2009/10/21 11:56

Todd,

how do you get the face information for your DNG files? Is Picasa capable to handle them? Or where is the face information stored and in what format?

Todd, 2009/10/22 21:57

Picasa is able to handle DNG files just fine, as they're just another image format.

In fact, your program works perfectly for me if you just change this line in mainform.cs:

          if (!extension.Equals(".jpg", StringComparison.InvariantCultureIgnoreCase) && !extension.Equals(".jpeg", StringComparison.InvariantCultureIgnoreCase))

to this line:

          if (!extension.Equals(".jpg", StringComparison.InvariantCultureIgnoreCase) && !extension.Equals(".jpeg", StringComparison.InvariantCultureIgnoreCase) && !extension.Equals(".dng", StringComparison.InvariantCultureIgnoreCase))

However, it'd probably be even better in the long-term if you checked for the types of images for which exiftool supports writing tags (http://www.sno.phy.queensu.ca/~phil/exiftool/#supported), at least for the files that Picasa also supports?

Again, thanks for writing such a fantastic tool. You've made my face tagging experience *so much better*.

Todd

Diego Pérez, 2009/12/26 22:13

Andreas, awesome job. You have also made my face tagging experience so much better!! I would like to double Todd´s request. You will see that many photographers keep their pictures in raw format (DNG, CR2, NEF in the case of Nikon, and also supported by exiftool) so it would be great if you can add support for those formats too.

Many thks!!

Diego.

Andreas Vogel, 2010/01/04 00:34

Todd and Diego, I've added all extensions which are known to be writable by exiftool. So whatever is supported by exiftool and Picasa should be processable in the upcoming version.

Chris Wayg, 2010/01/09 10:05

Very nice, that you are adding support for DNG and other raw formats :-D

Could you give us an idea when the new version with raw format support might be available?

Michael, 2009/10/21 16:04

Great program! I am having one slight difficulty though. I noticed that some of my pictures are tagged to the appropriate person in my picasa name list. Yet, when I load the picture into your program to export the name into the metadata it only recognizes 1 of the 4 people. In addition, the same thing seems to occur for the GPS data. This error doesnt occur on every photo, which makes me wonder even more why some work and others dont. Great job though!

thanks a lot for all your efforts.

Andreas Vogel, 2010/01/04 00:32

Michael, it's hard to find a solution without beeing able to reproduce the problem. Can you provide me an example pic?

vinc, 2009/10/22 15:10

This program is great practice.

Just a note to the latest version (v1.4): I find it unfortunate to show all the names at the same time when you put the mouse on a face: the names can overlap …

Sorry for my bad English!

John, 2009/10/23 03:16

Exiftool suports more formats than just jpeg. Could you add support for PNGs as well.

Thank you.

Peter, 2009/10/26 12:20

Fantastic app, but of course you are now in Google's position. You've created a killer app, but people always want more!!

If I tag my files and move them, or move them to another computer I still lose all my tagging info within Picasa. Can you add the ability to update picasa.ini files from the tag info in the pics?

Thanks

Andreas Vogel, 2009/10/27 12:30

Hi Peter,

no problem, I'll try to implement the proposals people give here. But right now I'm far away.

At the moment it's not possible to write face information into Picasa. I can write the picasa.ini file but that's not enough for Picasa. Eeven when I could write the contacts file it will not suffice.

Andreas

Chris, 2009/10/28 01:57

Another person very excited .. patiently waiting for DNG support.

Andreas Vogel, 2010/01/04 00:31

Chris, will be available in the upcoming version. I don't have DNG pics, so I'm not able to test it in advance. Would be nice if someone could provide me some example pics in several raw formats.

Jacob Boles, 2009/10/29 01:32

I'd like to volunteer to test/support a linux/mac version. I'd like it to be commandline so it can be automated via scripts.

Please email me Andreas.

Jacob

Bastien Jacquet, 2009/10/30 18:36

Hi Andreas,

I was exactly looking for this tool to be independent from google. Thank you very much for writing this !

Now, I've 2 ideas in order to export the faces information from xmp to picasa :

  • first, we could write the .picasa file, with an id based on the name (something like the md5 of it). So, for my 40k picture, when importing in picasa, I just have to put a name on those people, or to move all their faces to an already existing person
  • In order to export the 'face recognition data', could we export in one directory per people one new file per face (with xmp info). I mean the face cropped from the original image [at a lower resolution]. This will enable me to share face knowledge with my brother without sharing the pictures themselves (which he already have, untagged, with different names)

Bastien

PS: I'm on linux, but because I use Picasa on a emulated windows (3.5 will not be available on linux) I'm not sure about utility on linux

john, 2009/11/03 19:14

AvPicFaceXMPTagger can't find Persons/Faces in the files.

Picasa is installed. I've scanned the files and found and tagged the faces. I've made sure the picasa.ini file is in each folder. I've made sure that the picasa.ini file contains the face information. I've run AcPic… and the program finds the contacts but not any faces in the faces.

I'm baffled…

john, 2009/11/03 20:15

More information:

The program finds the info if the pictures were tagged in Picasa on the computer hard drive but not if they were tagged on an external hard drive.

Furthermore AvPicFace… adds a ini to every folder if I use it through the shell extension.

danckel, 2010/01/12 23:18

I seem to have a similar problem. Any Workaround?

But apart from that this is a really excellent program - Thanks!

Danckel

Ernst Wiedenmann, 2009/11/11 10:15

Great tool!

Peter, 2009/11/14 21:04

Following error occurs when clicking FILE PROPS in this tool version 1.4 after tagging a picture with this tool that has a person identified from Picasa (added IPTC tag and XMP) that was also identified earlier in Windows Live PhotoGalery Tool and when I opened it in Windows Live PhotoGalery Tool to tag further and then went back to this tool to see the tags. When I rerun the tool the info is displayed, so seems it is not correctly parsing info added by the Windows Live PhotoGalery Tool. (using Windows xp SP3)

See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box.

System.NullReferenceException: Object reference not set to an instance of an object.
 at AvPicFaceXmpTagger.XMP.get_Faces()
 at AvPicFaceXmpTagger.ShowPicForm.ShowXmpEntry()
 at AvPicFaceXmpTagger.ShowPicForm.RefreshScreen()
 at AvPicFaceXmpTagger.ShowPicForm.set_Filename(String value)
 at AvPicFaceXmpTagger.MainForm.ShowPicInfoDialog(String picFilename)
 at AvPicFaceXmpTagger.MainForm.lvFiles_DoubleClick(Object sender, EventArgs e)
 at System.Windows.Forms.Control.OnDoubleClick(EventArgs e)
 at System.Windows.Forms.ListView.WndProc(Message& m)
 at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
 at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
 at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

[… deleted the rest of the dump … (Andreas Vogel)]

Andreas Vogel, 2010/01/04 00:28

Peter, I fixed the NULL pointer dereference in the upcoming version. So this exception will not come again. But I'm interested why I cannot read that XMP data. Can you provide me at least one example pic?

Ronald Orenstein, 2009/11/23 05:52

Hi Andras - I haven't tried your program yet. Should I wait until Picasa has finished all its scanning and I have assigned all tags, or can you run it repeatedly to update information if you make changes in Picasa? Thanks!

Andreas Vogel, 2010/01/04 00:26

Ronald, you can run my program repeatedly, the XMP and IPTC tags that would be created are deleted first.

Shawn, 2009/11/23 14:45

First of all Andras: you rock! this is a great idea and I wish Google were on board

Similar questions to above, can I use MSFT (Windows Live PhotoGalery Tool) or adobe tools (photoshop elements 8) that tag names in addition to this utility - can they coexist or will they overwrite the tags.

Andreas Vogel, 2010/01/04 00:25

Shawn, they don't coexist, they are just used by all of these programs. The XMP tags you create with AvPicFaceXmpTagger can be used and modified by all these other programs by any means.

Bruno, 2009/11/29 00:31

Hi,

If nof sharing the code could you please just post the exiftool command line you're using in order to insert the metadata ?

Thanks !

grovel, 2009/12/02 11:35

Thanks a lot for this great tool.

I know that you cannot possibly answer this question, but I'll ask it nevertheless. How big are the chances for the big ones (i.e. Adobe Lightroom and Apple Aperture) to support this meta-data standard in the future? In other words, do you think that this meta-data will become official (esp. seeing that MS is using, supporting it) or do you think that eventually something altogether different will transpire?

Thanks, grovel

Andreas Vogel, 2010/01/04 00:22

Grovel, in my opinion the XMP tags have a good chance to become a widely accepted standard as these tags were introduced by Adobe and are used by Microsoft. These should be enough power to establish them as an widely accepted industry standard. Just my 2 cents.

grovel, 2010/01/05 20:16

Sorry, I realize I wasn't specific enough. Obviously XMP is already the standard for meta-data. I was wondering about the Microsoft Photo Region Schema. Thanks anyway, this is a great tool and it immensely reduces the risk of format lock-in.

Magnus Österlund, 2009/12/04 21:55

I have some corrupt images and each time AvPicFaceXmpTagger try to add Xmp to that image, it don't contunue. I want a option that it continue to update other images if it find a corrupt image.

Andreas Vogel, 2010/01/04 00:19

Magnus, in the upcoming version the program will silently ignore exiftool failures and continue operation for the remaining files. The errors are logged in the LOG windows though.

Glenda Hayes, 2009/12/17 17:51

Great tool!! I'd like to use the command-line tool (as part of an application workflow), but the commands that are listed above pull up the windows interface (or perhaps I'm missing something). Are there arguments for the command-line tool that execute without the UI? Many thanks and Happy Holidays! Glenda

Thomas Hummel, 2009/12/19 18:12

Hey,

great tool… I'd rather wanted to write it myself but I doubt it would have been that good.

I want to mention only three additional points: 1) the people tags in the IPTC are very nice and I didn't find any standad for it, but I tag persons in IPTC with “person/Thomas Hummel” or “face/Thomas Hummel” oder something like that. So I can kind of categorize my tags. And for example the WLPG supports this system and shows only the last part (e.g. Thomas Hummel) Would it be possible to include some kind of extended configuration where you can define how tags are written in the IPTC?

2) Is there any reverse direction of converting the XMP-MP-Data to a picasa.ini? This is the big thing that misses.

3) You probably followed the discussion about unique numbers or sharing photos with the same people but different ids (http://www.google.com/support/forum/p/Picasa/thread?tid=4408273cd09909dc#all) - do you plan to save somehow the picasa-id in the xmp-data as well?

4) At least - don't forget a donation button ;-)

Nice work! Go on… Thomas

David Lewis, 2009/12/20 13:18

Great program! But I found that, for some of my pictures, the program stopped with an exiftool error that was actually only a warning or a minor error.

The solution for me was to rename the exiftool executable to be “exiftool(-q -m).exe” and tell AvPicFaceXmpTagger to use that exiftool instead of the built-in one. This works because exiftool cleverly uses options from its own executable filename, and -q means “quiet mode” and -m means “ignore minor errors”.

Hope this is useful for other people too!

David

Andreas Vogel, 2010/01/03 12:30

Dave, I've just added the ”-m” to the exiftool command line args. I'm not sure if I really need the ”-q” flag. BTW, I've upgraded the internal exiftool exe to version 8.03.

Anupam, 2009/12/23 05:01

I am getting an error while trying to parse a file that contains following (jpeg) comments: “Germany - Munich - Schloß Nymphenburg - Nymphenburg castle”. So, it has something to do with non-english characters. Unfortunately it aborts the process. The error message is “Error exiftool error: Warning [minor] Duplicate XMP property: dc:subject /rdf:Bag/rdf:li 11- P:/My Pictures/….”

Will be nice if we can make it ignore errors by default. I am now gonna try David Lewis' trick to try and work with other files

Andreas Vogel, 2010/01/03 19:26

Will be fixed/included in the upcoming version. I've added the ”-m” flag.

Theresa, 2009/12/23 14:33

Just wanted to say thank you for developing this amazing software! I have been searching for weeks to try to find a way to utilize Picasa's great facial recognition feature as I use Windows Live Photo Gallery and this was exactly what I was looking for! I happened to find it as I was doing research as I was considering writing a program to do this so you have just saved me hours of programming. I will be spreading the news, THANKS!!!

David Kandasamy, 2009/12/27 19:21

This may be a bit far afield, but while we're modigying the metadata…

I've been getting around Picasa's lack of a 5-star rating capability by adding the tags “1star”, “2star” etc. to the tags.

Would it be possible to modify your app to look for the tags and set the JPG star rating directly. Maybe vice versa too - in case we're importing to Picasa from iPhoto, Lightroom or any of the other photo organizers.

Thank you so much for writing your app. Even though you don't charge for it, you might want to have a link for leaving donations.

Andreas Vogel, 2010/01/03 19:24

David, it's not clear to me what you exactly mean. In Picasa you can only “star” pictures. Please make an small, more detailed example. Thanks.

Jeremy, 2010/01/08 04:51

Thanks for this software. Could you tell me what license you are distributing the software?

Andreas Vogel, 2010/01/08 11:12

Jeremy, this software is free for personal, non-commercial use.

Daniel Lennox, 2010/01/08 13:58

I have been using the tool and find it very useful, one question would be about high res TIFF support is planned for futue versions? If i drag a folder containing TIFF files it does not appear?

Thnak you so much for developing the software, its great.

Eric, 2010/01/10 19:10

Thanks, great soft. Now waiting for a version with png support!

eric, 2010/01/10 19:12

I meant dng, but png is good as well :)

Craig, 2010/01/11 19:14

This seems to be easily repeatable. The first image I tested crashed. The image had two of four faces identified in picasa. Ran avpicfacexmptagger to get picasa tags (worked fine). Then I face tagged a third in Windows Live Photo Gallery. Then attempted to go back to avpicfacexmptagger (clicked Properties button)–and the application crashed.

Zéalynn, 2010/01/13 16:53

Thank you for this amazing tool! Brilliant!

greenup, 2010/01/27 02:09

Any progress on the improved version that ignores corrupted images? I am working through my images slowly, but I appear to have across time acquired about .1% corrupted images, which means every thousand images or so, it breaks, and I have to go find the broken image, move it out of the way, and restart from the beginning. I guess I should be trying smaller subdirectories at a time, but it would be a lot easier to let it run overnight. Especially since I have to do this periodically, as I wade through more names in picasa.

It is also too bad there is no way to move information (faces) the other way, INto picasa… I misnamed a bunch of images and will have to correct them someday (can't do it in picasa), but I don't relish redoing the faces for them. I know you don't have any power over google's closed proprietary db, but I keep hoping that they will see comments like this and do as one developer said they were going to: improve picasa to put the face data in the images.

Thank YOU so much for producing THIS useful tool, so we can take advantage of Picasa's good facial recognition, without being completely Locked In.

LóQuercynol, 2010/01/27 07:25

Hello, I've tested it under Linux (ubuntu karmic). A prerequisite is “libmono-winforms2.0-cil” library. Picasa 3.6 contacts file may not be automatically found at launch (quite normal, Picasa works on wine on Linux). Extra / Options menu causes crash (System.Security.SecurityException: No access to the given key …). So it's necessary, after first launch, to edit “AVPicFace2XMP.ini” file and to write the ”/path/to/picasa/contact.xml” location (something like ”/home/somebody/.wine/drive_c/windows/profiles/somebody/Local Settings/Application Data/Google/Picasa2/contacts/contacts.xml”… ouf !, or same thing under ”/opt/google/picasa/3.0/wine/…”) and ExifToolPath (usually ”<option Name=“ExifToolPath” Value=”/usr/bin/exiftool” />”. And then… it seems to work fine ! I will use it to see if everything works.

Frank, 2010/01/31 11:48

Great job in designing this software!

Only downside is that, right now, it is quite useless since I only shoot in RAW.

Still: thanks for the superb work!

Guillaume, 2010/02/02 18:16

Hi Andreas,

sorry for my bad english : it's terrible, I'm french. ;)

Thank you for your software but I have a question.

1) I made a back up of the “names” attached at the photos and tranformed them to tags, thanks your softaware.

2) now I'm re-installing Picasa and I'm asking if it's possible to convert the tags (names of the people) of my photos to real names in Picasa?

It is exactly the opposite procedure of your software : “names to tags” and now “tags to names”

I hope you're understanding me…

Anyway, thank you for your time and sorry if I'm disturbing,

Guillaume

Enter your comment
 
avpicfacexmptagger/main.txt · Last modified: 2009/10/15 01:24 by andreas_vogel
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0