Facial Recognition Write-up

UelleeUellee Registered Users Posts: 2 Beginner grinner
So I am just starting to upload all of my personal and family pictures to SmugMug. At first I figured it would be a fairly simple process aside from the huge draw on my internet connection. I soon realized that if I wanted to keep my massive picture collection organized and easy for others to view I would have so put a fairly significant amount of work into the project compared to what I originally thought.

I would like to share what I have found under the subject of tagging pictures with peoples faces who appear in them and being able to view that information in SmugMug.

Software versions:
Windows 8.1, Picasa 3 (3.9.138 Build 151 if anybody really cares), "The New SmugMug" (2014)

I used Picasa for all of the heavy lifting when it came to identifying the faces in pictures and pairing them with names. The process is not perfect but it is the simplest easiest way that I have found. I also just let Picasa keep all of the information for each picture in the ".picasa.ini" file they insert into every folder. This is what the tagging program I used reads in order to tag each individual picture.

There is a significant gap between Picasa and actually getting the keywords to show up after uploading to SmugMug. SmugMug says, "SmugMug will recognize any metadata in the standard EXIF/IPTC caption/keyword/title fields."

Here is my solution:

Download the latest version (1.7 at time of writing) of the simple executable progrm "AvPicFaceXmpTagger" here: http://www.anvo-it.de/wiki/avpicfacexmptagger:main

Open the program, make sure you are on the "Tagging" tab, under "Tagging Options" make sure the only single box that is checked is in the "IPTC-Keyword Tags" section under "Step 2: Add tags" called "Picasa face name". This will write the face names you set in Picasa to the IPTC medadata for each picture. Next you will add the files to the list by either going through the "File" menu or dragging and dropping into the appropriate area. For the sake of keeping things simple and organized I only process one folder at a time. Now you can "START Tagging".

This is not quite the end though. I did have a significant bit of trouble in getting my face tags to show up in the SmugMug keywords even though they showed up perfectly fine in windows explorer in the details pane under "Tags:". At this point after you have tagged the pictures I have found that for some reason they aren't always completely saved to the actual IPTC metadata yet, or at least they are not recognized by SmugMug after uploading.

The final step before uploading is to select all of the individual pictures at once in the folder you are working with through windows explorer and in the "Tags:" field either add a tag and save or remove a tag and save or both, you just have to do something that requires saving. This will cause the name tags added from Picasa to be written in a way that SmugMug will recognize.

I know this seems pretty long and involved and I would bet some people may have better methods based on their workflow but it really isn't too bad after you go through a couple iterations. I would definitely suggest this method for adding keywords prior to uploading to SmugMug if you don't already have a defined workflow and want to start face tagging.

I would welcome any suggestions or shortcuts anybody might come across.

Comments

  • rrlymanrrlyman Registered Users Posts: 8 Big grins
    edited November 13, 2014
    Windows Live Photo Gallery Facial Recognition
    I use Windows Live Photo Gallery to do the Facial Recognition. This puts a PersonDisplayName and Rectangle entries in the XMP embedded data. To get this to be keywords, I use the program Send To Smug from www.shahine.com/omar. This program converts all the person names to keywords and uploads them to Smugmug.

    However, Smugmug does not seem to recognize the metadata or keyword changes unless the photo is deleted and then replaced. After doing someone random face recognition on the 10,000 photo data base, I don't know which photos need to be uploaded. I have not uncovered a way to compare the Smugmug database with the date modified on the PC, in order to do a batch delete of only those files on Smugmug that need to be deleted and restored. The easiest way seems to be to delete each gallery that had changes and then upload the entire gallery. In other words, if I change the spelling on someone's name, changing only a few bytes in the metadata, I have to re-upload 10,000 photos. Let's say that I change 1% of the photos, then I am uploading 100 times as many photos as actually need to be changed. But out of a 1 megabyte photo, maybe 50 bytes change. Therefore, by uploading the whole photo, about 50 X 20,000 bytes are uploaded. So the actual traffic to replace the photos that have changed is 20,000 x 100 = 2 million times more data uploaded than is really needed.

    However, in practice, I probably upload each photo about 10 times. Since Smugmug, if they are using the Amazon cloud, actually pays for the traffic, eventually someone in accounting will reallize that they can save 90% in upload traffic if they fix this problem. That will justify hiring engineers to write this API function. They need a program both on the server and client that figures out which part of a file changed and then uploads only that portion, updating their database if the metadata changes and updating the images if the image has changed.

    I like the fact that this problem becomes a money problem instead of a feature request that they have chosen to ignore for years.
  • rrlymanrrlyman Registered Users Posts: 8 Big grins
    edited February 17, 2015
    Here is another way to move the face recognition PersonDisplayName tags, that are added by the face recognition in Windows Live Photo Gallery, to the tags that Smugmug will display. The philosophy is to modify the original file so that Smugmug will keyword it and display it correctly.

    Using the program exiftool and running it in the top folder of my photos;

    exiftool -r -Tagsfromfile @ '-xmp:Subject+<RegionPersonDisplayName' *
    exiftool -r -Tagsfromfile @ '-xmp:Description<RegionPersonDisplayName' *

    The first command line of exiftool puts the list of people in the photograph into the keywords that smugmug will use. The command recursively (-r) goes through this and all child folders processing all files image files(*), gathering the RegionPersonDisplayName tag that contiains a list of all the people tagged in the image, moves that multiple person tag to the Subject tag in the jpg file. It does this modifying the file in place (@). It makes a backup copy with the name filename.jpg_original.

    The second command line puts the people in the captions and seems to pop any previous caption up into the title field in Smugmug.

    The normal Smugmug uploader may then be used to upload the photos.
    The result is;
    previous caption is in the title
    caption is the list of people
    keywords are the list of people

    The reason for putting the list of people into the caption is that Smugmug, if the photos have a viewing password, will not display the keywords except in the owner log in mode. I wanted viewers to see the list of the people in the photo.
  • rrlymanrrlyman Registered Users Posts: 8 Big grins
    edited February 17, 2015
    On Windows, the single quotes must be replaced by double quotes.
    I was running Linux.
Sign In or Register to comment.