Use snapshots from a camera connected to Homey, and let Face++ do AI based face recognition. For every face the app detects, a flow will be triggered. Homey will automatically try to match the faces to a set of known faces that you can upload yourself. The app will also estimate gender, age, emotion, and whether the person is wearing (sun)glasses or a mask.
Use cases
Presence detection
Security
Face based access control
Fun
Privacy
The Homey app uses a cloud based face recognition service called Face++. Using the Face++ service has severe privacy implications. Use at own risk. Read and understand your local privacy legislation, and the terms of use from Face++.
Performance
The results depend very much on the quality of the snapshots. A face will be best recognized if the lighting is good and when the face is frontal with a width of at least 75 pixels. In practice it means you need to have good control over when the snapshot is taken in a videostream. The free Face++ service allows you to upload around 1 or 2 images per second. The face detection usually is ready within 1 to 3 seconds from uploading an image (via an action flowcard).
Test image
To make testing your flow easier, a test image is available as global image token. It has five faces in it.
By choosing a picture from my iPhone for âadding a new faceâ. Select the pic from the library and this pops.
App version 1.0.2.
Pic is 312x406, 20KB
I have tested it myself on the Ring Pro, a Foscam FI9900P, and a Maginon IPC-1a (aldi). For all cameraâs the tricky part is making the snapshot at exactly the right moment.
The setup that works pretty good for me is this:
Use my Ring Pro to do motion detection just outside my front door
This triggers face detection from a second camera (Aldi Maginon) that is mounted inside, looking through the window right next to my front door
I make snapshots at 0, 1, 2, 3 and 5 seconds interval
Iâm using UniFi cameraâs with the Protect app. You can use almost any camera which has a public JPG snap function. Just create a virtual ip camera device and point the url to its public JPG
1st - When -> Motion sensor is triggered -> Enable flow 2 -> Disable flow 2 after 2 minutes
2nd - When -> Every 2 seconds -> Try to find face from camera
3rd - When -> Face detected -> Run wanted actions and disable flow 2
This way you give the detection a starting and end point. It will try for a maximum of 2 minutes to find a face. Seems to work fine.