Dan Syring Posted June 4, 2020 Report Share Posted June 4, 2020 Wanted to share a solution I created using AWS or facial recognition and tagging. This is just the spark notes on my flow - let me know if interested in code snippets or a more detailed write-up. There are a couple solutions using lightroom and the old picasa. When testing AWS rekognition worked WAYYYY better. I am using daminion server for home - use case is photos from family members phones, gopro, drone in one place easy to access. Process Create Database of Faces in AWS 1 time step, or multiple times when adding new faces/people AWS requires an index of faces that it uses to match. I took individual pictures of people I wanted to tag cropped them to only have the subject's face and indexed them using aws's boto3 module in python. Here I specified the 'external parameter id' field as '[lastname]|[firstname]'. That way when there is a match I have the exact tag that will be added to the photo and recognizable by daminion Match Photo The process for a single photo is as follows: Index faces in the photo (the faces will be indexed with the collection created prior) (python boto3) loop through the faces and find matches (python boto3) Matches are returned as %match. If 95% or higher save tag and move onto the next photo, if less then 95-80% tag all matched faces. Here I error'd on the side of more false positives vs more false negatives Use exiftool to add all the tags saved in step 3 Automation I have a SMB drop box. All users drop photos into the box either manually or automatically with owncloud or nextcloud. Every hour a scheduled task is run that: adds create_date to photo name if not included (iphone for example does not have a unique timestamp in file name) if file does not exist in catalog continue, otherwise delete search and tag faces in photo with python script above move photo to proper picture storage location Daminion file watching service adds it to the catalog This is for all new photos, for historical photos I used a python script to scan and tag all of them. I also add a tag of face_detected if a face was detected but no match was found. This allows for re-scanning in the event you update your face index and want to rescan. 1 Quote Link to comment Share on other sites More sharing options...
deanable Posted June 6, 2020 Report Share Posted June 6, 2020 Hi Dan Would you be open to sharing your source repo? I, for one, would love to take a look. Quote Link to comment Share on other sites More sharing options...
rene Posted June 13, 2020 Report Share Posted June 13, 2020 this sounds very interesting, thanks for sharing Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.