jmathai / elodie

An EXIF-based photo assistant, organizer and workflow automation tool.
https://bit.ly/introducing-elodie
Apache License 2.0
1.26k stars 139 forks source link

Face recognition? #416

Open walking-octopus opened 2 years ago

walking-octopus commented 2 years ago

I feel this project sorts photos perfectly but misses this one feature. I don't know how feasible this is, but it sounds like a cool feature.

jmathai commented 2 years ago

Thanks for the feature request. A face recognition plugin may be how facial recognition could be added. However, I think it's mostly useful within apps that let you search for photos of people. There's no standard that I'm aware of that Elodie could leverage to add person information to photos in a portable way that would work with other apps.

I rely heavily on Google Photos as my photo viewing app and its face recognition feature. The data isn't portable but I assume whatever app I use next to view photos will scan for faces and keep its own database to provide similar capabilities.

datatalking commented 2 years ago

@jmathai this is a feature i've wanted for your app as well, if we were to add in where within your code would or could add it? There are a few packages I explored a few years ago for a client we were building a trial evidence organizational tool but the need has come up again, I'll look for what we used and get back to you.

jmathai commented 2 years ago

It would make sense as a plugin. Unfortunately, plugins are not well documented (or documented at all). But the framework is pretty simple and provides a few hooks where it will call out to your code.

Here's an example plugin. Face detection would go into the before hook. https://github.com/jmathai/elodie/blob/master/elodie/plugins/googlephotos/googlephotos.py

Most importantly, what would you like to happen once faces are detected?

datatalking commented 2 years ago

@jmathai thank you for the quick reply. I've had challenges in the past with google photos and am seeing more adoption for iOs cloud photos since their phones are ubiquitous. What would be a way to use Elodie with the iOS cloud?

jmathai commented 2 years ago

Could you elaborate on what you're trying to accomplish? For example, leverage face detection in Apple Photos or store a copy in Apple Photos.

The Google Photos plugin will simply add any imported photo to your Google Photos library. It does not perform any actions afterwards. For example, if location data is added via elodie the plugin does not update Google Photos.

I had looked at iCloud a few years ago and I recall limited APIs. Feel free to share any APIs or capabilities that you're considering utilizing.

walking-octopus commented 2 years ago

I guess with things like Coral AI Accelerator and some open-source models, face and object recognition could be done locally.