Face detection with Docker/Machinebox

Can you clarify the performance issue?

I have a hard time accessing the synology nas. Takes like 5 minutes to edit one text file. If i remove the component in the yaml file performance gets better but way off like its normally is. Tomorrow i will try to only install the face recognition and leave out my other components. See if performance improves.

How much RAM do you have? Min 2GB required for Facebox.
I’m running on a Synology with 8GB RAM

A full writeup on using the component is now online:

1 Like

Rob thank you very much. Really few people do the full ‘package’ programming and a good tutorial, I appreciate it! And i only have 2 mb ram problem solved :wink:. I ll upgrade it and let it know.

1 Like

A simple guide to deploying Facebox on a cloud server (not tried myself yet):

Setup was a breeze and working well on my Synology 918+ (more RAM needed maybe). Based on the free subscription do we have to ‘teach’ faces each time Facebox is restarted? Anyway to store them?

Also for a test trying to toggle a light based on state change face matched:

From:

"matched_faces": {}

To:

"matched_faces": {"Ade Thompson"}

But although FaceBox is picking me up its not triggering. What am I doing wrong?

Hi @apt how much RAM does your synology have?
On free tier faces must be taugh each time Facebox is restarted, but a solution to this limitation is provided in the Hackster article. Currently it’s a bit complicated so I may add a service to enable teaching to be performed via a simple automation.

Whats the full config of your automation?
Cheers

Its a 4GB model but based on the amount of dockers I have running (HA, Homebridge etc) I’m at 79% utilisation. I wanted to upgrade to 8GB anyway and now I have an excuse. I limited Facebox to 1GB RAM in docker GUI.

This is the simple test I put together, prob wrong but couldn’t find docs.

- id: '1527497797358'
  alias: FaceID Test
  trigger:
  - entity_id: image_processing.faceid
    from: '  "matched_faces": {}'
    platform: state
    to: '  "matched_faces": {"Ade Thompson"}'
  condition: []
  action:
  - data:
      entity_id: light.shelf_lamp
    service: light.toggle

I expect the problem is white spaces in your strings, and I recommend breaking out the matched face using a template sensor as described on Hackster.

Btw min recommended RAM is 2GB, and any less results in reduced performance.

1 Like

That makes sense, so I added this:

  facebox_detection:
    friendly_name: 'Facebox Detection'
    value_template: '{{ states.image_processing.faceid.attributes.faces[0]["name"].title}}'

but the template is displaying this when detected:

OK did you use the developer template tool to check the data?

erm nope, I’ve never even used that before :frowning:

I guess I just paste in the template? if so I received:

Error rendering template: UndefinedError: list object has no element 0

Check what you see with states.image_processing.faceid.attributes
Probably you have no face data.
This is a very important tool to be familiar with

Sorry not 100% sure what you mean regarding check states.image_processing.faceid.attributes just pasting that into the templates brings the same thing back. Newbie here :slight_smile:

Ah ok. So I get this:

image_processing.faceid being what I setup for Facebox, output doesn’t look anything like yours however.

it’s identical but you have no matched faces

Mmmmm… I assumed matched faces are only present when they detect a face? Even when Facebox does detect a face and I can see it it I the frontend (by name) the template still doesn’t see it and gives the previous error.

Matched faces are recognised faces, so you must have taught them already. Theres an error in your template then