Copy link to clipboard
Copied
I'm planning to import my Apple Photos library (~20k photos) to LrC on an iMac.
I understand that there are ways to transfer the face recognition data from Apple Photos when doing the import (e.g. using Avalanche), but my question is whether this is a good idea.
It seems like an obviously good thing to do, given how much effort I have expended in making my Apple faces data complete and accurate. Also, I have around 500 unique, named faces in Apple Photos, so at a minimum it would save me from having to name them all again in LrC.
On the other hand, I'm not sure how LrC will use the imported Apple faces. Will LrC effectively treat them as manual face detections and hence as "truth"? Or might LrC try to modify the imported faces based on results from LrC's own face detection/recognition algorithm? I assume that LrC will at least use the imported faces to train its algorithm when looking for new faces in existing and new photos.
Other info that may be relevant: I have made sure that all faces in my Apple library are mirrored as keywords embedded in my photo files, so even if I don't import the actual faces data I will still be able to search the files by a person's name. Also, there are very few manual face detections in my Apple Photos library, so I'm guessing that the LrC automated face detection algorithm will probably detect most of the same faces that the Apple algorithm has.
Copy link to clipboard
Copied
Lightroom Classic will not import an Apple Photos library at all. The import function it still has is for Apple iPhoto, the predecessor of Apple Photos. So you would have to use Avalanche to have any chance of success.
Copy link to clipboard
Copied
The other way would be to export all the photos to a folder and then import them into LrC. Osxphotos can be used to write the metadata, including face data, to sidecar files. It can also embed the face data in the exported photos via Exiftool. I haven't tried Osxphotos but there is at least one significant bug in its handling of faces, so I'm wary of going down this path.
Copy link to clipboard
Copied
I'm the author of osxphotos. This issue only affects the mouth and eye coordinates which are not part of the standard metadata that is exported. When exporting faces to XMP metadata, only the coordinates of the rectangle containing the face and the name of the person associated with the face are exported and osxphotos handles these correctly.
Copy link to clipboard
Copied
Thanks for the clarification. I'll try exporting using osxphotos.
Copy link to clipboard
Copied
Very impressed with osxphotos so far.
One problem: I used osxphotos to export some photos from Apple Photos, embedding all the metadata in the photos. When I import the photos into LrC, all the face rectangles are perfect, but many of them are unnamed (maybe 30%). This is weird because in the metatdata field "Person Shown" in LrC, everything is correct for each photo i.e. all the people are there but only some of them are associated with the rectangles in the photos. In a given photo, sometimes all of the people are correctly associated with the rectangles, sometimes none and sometimes a mixture of the two. I can't see any pattern and I can't tell if this is an osxphotos issue or a LrC issue.
Copy link to clipboard
Copied
When I import images into LrC after embedding face data in them using osxphotos and exiftool, I get one of two results depending on the image:
1. All face data in the image is imported and displayed perfectly, or
2. All face names get imported correctly and all face rectangles appear in the correct location, but only one of the face rectangles is named. All the other face rectangles have a question mark for the name.
For an image of the first type the face data (extracted using exiftool) typically looks like this:
---- XMP-mwg-rs ----
Region Applied To Dimensions H : 2304
Region Applied To Dimensions Unit: pixel
Region Applied To Dimensions W : 3135
Region Area H : 0.08658855231794206, 0.08186849784736838, 0.20019436345966957
Region Area Unit : normalized, normalized, normalized
Region Area W : 0.0636363714642866, 0.060167470188305185, 0.14712848912634088
Region Area X : 0.4811185834711543, 0.8871892739931159, 0.14998535299287175
Region Area Y : 0.5934245110540887, 0.532226586943482, 0.5306122448979592
Region Name : John Smith1, John Smith2, John Smith3
Region Type : Face, Face, Face
For an image of the second type, it looks like this:
---- XMP-mwg-rs ----
Region Applied To Dimensions H : 2286
Region Applied To Dimensions Unit: pixel
Region Applied To Dimensions W : 3212
Region Area H : 0.17016599719594871, 0.16959637051880103, 0.13004557518760892
Region Area Unit : normalized, normalized, normalized
Region Area W : 0.1211081785771914, 0.12070277179513672, 0.09255422941434432
Region Area X : 0.9194444041069295, 0.30555554590939327, 0.6532407304814951
Region Area Y : 0.27262374031546366, 0.2792969197439752, 0.45377602070516065
Region Extensions Angle Info Roll: 0
Region Extensions Angle Info Yaw: 270
Region Extensions Confidence Level: 1000
Region Extensions Face ID : 36
Region Extensions Time Stamp : 2147483647
Region Name : John Smith1, John Smith2, John Smith3
Region Type : Face, Face, Face
Region Extensions Angle Info Roll: 0
Region Extensions Angle Info Yaw: 0
Region Extensions Confidence Level: 1000
Region Extensions Face ID : 37
Region Extensions Time Stamp : 2147483647
==========================
It may be coincidental but it does appear that the roll and yaw data is being embedded into some images and is causing a problem with the display of face names .
Do you have any suggestions for how to get around this issue?
Copy link to clipboard
Copied
I removed the regionextensions tag from the offending image file using exiftool, but it made no difference when reimported into LrC.
So maybe I'm barking up the wrong tree...?
Copy link to clipboard
Copied
Though in years past questions have arisen about how to import face data from other apps (typically Google Picasa), I don't think your particular questions have been asked. Have you verified that Avalanche will indeed migrate face data? It has a free trial. In general, Avalanche has a very good reputation for migrating photos to LR, based on many reports in the forums.
If Avalanche does migrate the face data, my guess is that it will be treated the same as if you manually applied names to face rectangles. But that's just a guess based on my long experience with LR metadata, and I don't have high confidence in its correctness.
Copy link to clipboard
Copied
It's encouraging to hear that Avalanche has a good reputation. I will probably give the free trial a go, but my gut feeling is that a fresh start is the best option, as painful as that will be.
That is, export photos to folder from Apple Photos, with basic metadata (incl. keywords) embedded in files. Then import photos into LrC and let it do its own face recognition from scratch. I figure this gives the LrC face algorithms the best chance of doing a good job.
The alternatives (Avalanche, Osxphotos) would probably save a lot of pain in the short term, but it will be difficult to confirm that they have accurately exported the face data, so there could be a much longer tail of pain going down this path.
If go down the fresh start path first and it turns out that the LrC face algorithms are greatly inferior to the Apple Photos ones (which I doubt), I can then resort to Avalanche/Osxphotos.
Copy link to clipboard
Copied
I tried the Avalanche free trial - it was easy to use, quick and seemed to do a pretty good job. It appeared to import all the face data but a significant percentage of the face rectangles (maybe 30%) were offset from where they should be. In itself this is is not a big problem as the rectangles could be manually corrected while still saving a huge amount of time compared to starting the faces from scratch. However, the issue for me is whether there might be other less apparent bugs lurking in there.